/* ==========================================================================
   ID Chocolates · Loja, Catálogo e página de produto
   ========================================================================== */

/* --------------------------------------------------------------------------
   Cabeçalho das listagens
   ----------------------------------------------------------------------- */
.idp-shop-hero { position: relative; padding: 64px 0 72px; overflow: hidden; }
.idp-shop-hero .idp-wrap { position: relative; z-index: 1; }
.idp-shop-hero h1 { margin: 24px 0 24px; font-size: clamp(42px, 5vw, 72px); max-width: 860px; }
.idp-shop-hero .idp-prose { max-width: 640px; }
.idp-shop-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.idp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 44px; max-width: 1100px; counter-reset: none; }
.idp-steps li { padding-top: 18px; border-top: 1px solid var(--idp-line); font-size: 14px; line-height: 1.6; }
.idp-steps span { display: block; margin-bottom: 10px; font: 800 11px/1 var(--idp-sans); letter-spacing: .12em; color: var(--idp-orange); }
.idp-steps strong { display: block; font: 400 22px/1.15 var(--idp-serif); letter-spacing: -.02em; color: var(--idp-night); margin-bottom: 4px; }

/* --------------------------------------------------------------------------
   Listagem de produtos
   ----------------------------------------------------------------------- */
.idp-shop-list { background: var(--idp-silver); }
.idp-shop-list__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.idp-shop-list__head h2 { margin-top: 20px; font-size: clamp(34px, 3.6vw, 52px); }
.idp-shop-list__count { margin: 6px 0 22px; font-size: 13px; opacity: .8; }
.idp-shop-list__count a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }

.idp-search { position: relative; flex: 0 1 380px; }
.idp-search input[type="search"] { width: 100%; min-height: 50px; padding: 12px 52px 10px 18px; border: 1px solid rgba(63, 44, 38, .3); border-radius: 40px; background: #fff; font: 400 15px/1.2 var(--idp-sans); color: var(--idp-night); }
.idp-search input[type="search"]:focus { outline: 2px solid var(--idp-orange); outline-offset: 2px; border-color: transparent; }
.idp-search button { position: absolute; top: 5px; right: 5px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--idp-brown); color: var(--idp-cream); }
.idp-search button:hover { background: var(--idp-night); }

.idp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.idp-chips a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px 9px; border: 1px solid var(--idp-brown); border-radius: 40px; font: 600 14px/1.1 var(--idp-sans); color: var(--idp-brown); transition: background .2s, color .2s; }
.idp-chips a:hover { background: var(--idp-sand); }
.idp-chips a[aria-current], .idp-chips a[aria-current]:hover { background: var(--idp-brown); color: var(--idp-silver); }
.idp-chips span { min-width: 22px; padding: 3px 6px 1px; border-radius: 12px; background: rgba(63, 44, 38, .1); font-size: 11px; text-align: center; }
.idp-chips a[aria-current] span { background: rgba(225, 227, 229, .2); }

.idp-shop-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.idp-shop-grid .idp-product-card { background: var(--idp-cream); }
.idp-product-card__image { position: relative; }
.idp-product-card__image img { aspect-ratio: 1; }
.idp-product-card__badge { position: absolute; left: 12px; top: 12px; padding: 6px 10px 4px; border-radius: 30px; background: rgba(245, 243, 239, .94); font: 800 10px/1 var(--idp-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--idp-brown); }
.idp-product-card.is-shop .idp-product-card__badge { background: var(--idp-orange); color: var(--idp-night); }
.idp-product-card__cat { margin-bottom: 6px; font: 800 10px/1.3 var(--idp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--idp-orange-dark); }
.idp-product-card h3 a:hover { color: var(--idp-orange-dark); }
.idp-product-card__price .idp-from { font: 400 13px/1 var(--idp-sans); color: var(--idp-brown); }
.idp-product-card__text { flex: 1; margin: 10px 0 20px; font-size: 13px; line-height: 1.6; }

.idp-shop-empty { padding: 48px 32px; text-align: center; background: var(--idp-cream); border-radius: var(--idp-radius); }
.idp-shop-empty p { margin-bottom: 20px; font-size: 16px; }

.idp-pagination { margin-top: 40px; }
.idp-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.idp-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--idp-line); border-radius: 4px; background: #fff; font: 600 14px/1 var(--idp-sans); }
.idp-pagination .page-numbers.current { background: var(--idp-brown); border-color: var(--idp-brown); color: var(--idp-silver); }
.idp-pagination .screen-reader-text { position: absolute; left: -9999px; }

/* Faixa Loja -> Catálogo */
.idp-teaser { padding: 72px 0; }
.idp-teaser__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 44px 48px; border-radius: var(--idp-radius); background: #fff; border: 1px solid var(--idp-line); }
.idp-teaser h2 { margin-top: 16px; font-size: clamp(28px, 2.8vw, 40px); max-width: 640px; }

/* --------------------------------------------------------------------------
   Página de produto
   ----------------------------------------------------------------------- */
.idp-product-hero { padding: 32px 0 96px; }
.idp-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; font-size: 13px; color: var(--idp-brown); }
.idp-breadcrumb a { opacity: .8; }
.idp-breadcrumb a:hover { color: var(--idp-orange-dark); opacity: 1; }
.idp-breadcrumb span[aria-hidden] { opacity: .4; }
.idp-breadcrumb [aria-current] { font-weight: 600; }

.idp-product-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 5vw; align-items: start; }

/* Galeria do WooCommerce (sobrepõe o float/largura do Divi) */
body.idp-shop-page .idp-product div.images,
body.idp-shop-page .idp-product div.summary { float: none !important; width: 100% !important; margin: 0 !important; }
body.idp-shop-page .idp-product .woocommerce-product-gallery { position: relative; }
body.idp-shop-page .idp-product .woocommerce-product-gallery__image img { border-radius: var(--idp-radius); background: #fff; }
body.idp-shop-page .idp-product .flex-viewport { border-radius: var(--idp-radius); overflow: hidden; }
body.idp-shop-page .idp-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0 !important; padding: 0; }
body.idp-shop-page .idp-product .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
body.idp-shop-page .idp-product .flex-control-thumbs img { border-radius: 4px; opacity: .6; transition: opacity .2s; }
body.idp-shop-page .idp-product .flex-control-thumbs img.flex-active, body.idp-shop-page .idp-product .flex-control-thumbs img:hover { opacity: 1; }
body.idp-shop-page .idp-product .woocommerce-product-gallery__trigger { top: 14px; right: 14px; z-index: 5; }
body.idp-shop-page .idp-product span.onsale { display: none; }

/* Resumo */
.idp-product-hero__summary { position: sticky; top: calc(var(--idp-header-top) + 100px); }
body.idp-shop-page .idp-product .product_title { margin: 20px 0 18px; padding: 0; font: 400 clamp(36px, 3.6vw, 54px)/1.08 var(--idp-serif); letter-spacing: -.035em; color: var(--idp-night); }
body.idp-shop-page .idp-product .summary p.price, body.idp-shop-page .idp-product .summary span.price { margin: 0 0 18px; font: 400 26px/1.2 var(--idp-serif); color: var(--idp-brown); }
body.idp-shop-page .idp-product .summary .price .woocommerce-Price-amount { font-weight: 400; }
body.idp-shop-page .idp-product .woocommerce-product-details__short-description { font-size: 15px; line-height: 1.75; }
body.idp-shop-page .idp-product .woocommerce-product-details__short-description p { padding: 0; }
body.idp-shop-page .idp-product .woocommerce-product-details__short-description p + p { margin-top: 10px; }

/* Variações e botão de compra */
body.idp-shop-page .idp-product form.cart { margin: 28px 0 0; padding: 26px 0 0; border-top: 1px solid var(--idp-line); }
body.idp-shop-page .idp-product table.variations { width: 100%; margin: 0 0 8px; border: 0; border-collapse: collapse; }
body.idp-shop-page .idp-product table.variations tr { display: block; margin-bottom: 16px; }
body.idp-shop-page .idp-product table.variations th, body.idp-shop-page .idp-product table.variations td { display: block; padding: 0 !important; border: 0; text-align: left; line-height: 1.3; }
body.idp-shop-page .idp-product table.variations th.label label { display: block; margin-bottom: 8px; font: 700 14px/1.2 var(--idp-sans); color: var(--idp-night); }
body.idp-shop-page .idp-product table.variations select { -webkit-appearance: none !important; appearance: none !important; width: 100% !important; height: auto !important; min-height: 52px; padding: 13px 46px 11px 16px !important; border: 1.5px solid rgba(63, 44, 38, .45) !important; border-radius: 4px !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F2C26' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 18px !important; font: 600 15px/1.3 var(--idp-sans) !important; color: var(--idp-night) !important; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
body.idp-shop-page .idp-product table.variations select:hover { border-color: var(--idp-brown) !important; }
body.idp-shop-page .idp-product table.variations select:focus { outline: none; border-color: var(--idp-orange) !important; box-shadow: 0 0 0 3px rgba(248, 94, 58, .2); }
body.idp-shop-page .idp-product table.variations td.value span::after { display: none !important; }
body.idp-shop-page .idp-product .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--idp-orange-dark); text-decoration: underline; }
body.idp-shop-page .idp-product .single_variation_wrap .woocommerce-variation { margin: 6px 0 16px; }
body.idp-shop-page .idp-product .woocommerce-variation-price .price { font: 400 32px/1.1 var(--idp-serif) !important; color: var(--idp-night) !important; }
body.idp-shop-page .idp-product .woocommerce-variation-add-to-cart, body.idp-shop-page .idp-product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
body.idp-shop-page .idp-product .quantity { margin: 0 !important; }
body.idp-shop-page .idp-product .quantity input.qty { width: 84px; height: 54px; padding: 0 8px; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px; background: #fff !important; font: 600 16px/1 var(--idp-sans) !important; color: var(--idp-night) !important; }
body.idp-shop-page .idp-product .quantity.hidden { display: none !important; }
body.idp-shop-page .idp-product button.single_add_to_cart_button { flex: 1; min-height: 54px; margin: 0 !important; padding: 14px 24px 12px !important; border: 0 !important; border-radius: 4px !important; background: var(--idp-orange) !important; color: var(--idp-night) !important; font: 700 15px/1.1 var(--idp-sans) !important; letter-spacing: .01em; transition: background .2s, color .2s; }
body.idp-shop-page .idp-product button.single_add_to_cart_button:hover { background: var(--idp-orange-dark) !important; color: #fff !important; }
body.idp-shop-page .idp-product button.single_add_to_cart_button::after { display: none !important; }
body.idp-shop-page .idp-product button.single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; }

.idp-buy-info { display: grid; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--idp-line); font-size: 14px; line-height: 1.5; }
.idp-buy-info li { display: flex; gap: 12px; align-items: flex-start; }
.idp-buy-info .idp-icon { margin-top: 1px; width: 20px; height: 20px; color: var(--idp-orange); }
.idp-buy-info a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }

.idp-quote-box { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--idp-line); }
.idp-quote-box p { font-size: 15px; line-height: 1.7; }
.idp-quote-box__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.idp-quote-box__actions .idp-btn { flex: 1 1 220px; min-height: 52px; }

/* Detalhes e relacionados */
.idp-product-details { background: var(--idp-silver); }
.idp-product-details__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; align-items: start; }
.idp-product-details h2 { margin-top: 20px; font-size: clamp(32px, 3.4vw, 48px); }
.idp-product-details .idp-prose { max-width: 720px; }
.idp-product-details + .idp-related { background: var(--idp-cream); }

/* Notices do WooCommerce dentro do novo layout */
.idp-shop .woocommerce-message, .idp-shop .woocommerce-info, .idp-shop .woocommerce-error,
.idp-product-page .woocommerce-message, .idp-product-page .woocommerce-info, .idp-product-page .woocommerce-error {
	width: var(--idp-wrap); margin: 24px auto 0 !important; padding: 16px 20px !important; border-radius: var(--idp-radius); background: #fff !important; border: 1px solid var(--idp-line) !important; color: var(--idp-night) !important; font-size: 14px; list-style: none;
}
.idp-product-page .woocommerce-message .button, .idp-shop .woocommerce-message .button { float: right; padding: 8px 14px !important; border-radius: 4px; background: var(--idp-brown) !important; color: #fff !important; font-size: 13px !important; }
.idp-product-page .woocommerce-message .button::after { display: none !important; }

/* --------------------------------------------------------------------------
   Responsivo
   ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.idp-shop-grid { grid-template-columns: repeat(3, 1fr); }
	.idp-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1000px) {
	.idp-product-hero__grid, .idp-product-details__grid { grid-template-columns: 1fr; gap: 36px; }
	.idp-product-hero__summary { position: static; }
	.idp-teaser__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 700px) {
	.idp-shop-hero { padding: 30px 0 48px; }
	.idp-shop-hero h1 { font-size: 40px; margin: 18px 0; }
	.idp-shop-hero__actions .idp-btn { flex: 1 1 100%; }
	.idp-steps { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
	.idp-shop-list__head { flex-direction: column; align-items: stretch; }
	.idp-search { flex-basis: auto; }
	.idp-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -5vw; padding: 0 5vw 6px; scrollbar-width: none; }
	.idp-chips a { flex: none; }
	.idp-shop-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.idp-product-card__badge { left: 8px; top: 8px; font-size: 9px; }
	.idp-product-card__text { display: none; }
	.idp-shop-grid .idp-product-card .idp-btn { min-height: 42px; padding: 10px 8px 8px; font-size: 12px; }
	.idp-teaser { padding: 48px 0; }
	.idp-teaser__inner { padding: 30px 24px; }
	.idp-product-hero { padding: 20px 0 64px; }
	.idp-breadcrumb { margin-bottom: 20px; font-size: 12px; }
	body.idp-shop-page .idp-product .product_title { font-size: 34px; }
}

/* Botão de compra: estado "adicionando" */
body.idp-shop-page .idp-product button.single_add_to_cart_button.is-loading { display: inline-flex; align-items: center; justify-content: center; gap: 10px; pointer-events: none; background: var(--idp-orange-dark) !important; color: #fff !important; cursor: progress; }
.idp-spinner { width: 18px; height: 18px; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: idp-spin .7s linear infinite; }
@keyframes idp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .idp-spinner { animation-duration: 2s; } }

/* Botão de orçamento do catálogo: texto maior */
.idp-quote-box__actions .idp-btn { min-height: 58px; font-size: 17px; }
.idp-quote-box__actions .idp-btn .idp-icon { width: 22px; height: 22px; }

/* --------------------------------------------------------------------------
   Carrinho
   ----------------------------------------------------------------------- */
.idp-cart-hero { padding: 56px 0 44px; }
.idp-cart-hero h1 { margin: 20px 0 0; font-size: clamp(40px, 4.4vw, 64px); }
.idp-cart-steps { display: flex; flex-wrap: wrap; gap: 12px 30px; margin: 32px 0 0; padding: 0; list-style: none; font: 600 13px/1.3 var(--idp-sans); color: var(--idp-brown); }
.idp-cart-steps li { display: flex; align-items: center; gap: 10px; opacity: .65; }
.idp-cart-steps li span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; }
.idp-cart-steps li[aria-current] { opacity: 1; color: var(--idp-night); }
.idp-cart-steps li[aria-current] span { background: var(--idp-orange); border-color: var(--idp-orange); }
.idp-cart-body { padding: 0 0 96px; }

.idp-cart { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; }
.idp-cart .woocommerce-cart-form { min-width: 0; margin: 0; }
.idp-cart-list { display: grid; gap: 16px; }

.idp-cart-item { position: relative; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0 24px; align-items: start; padding: 20px 60px 20px 20px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-cart-item__thumb { grid-row: span 2; }
.idp-cart-item__thumb a, .idp-cart-item__thumb img { display: block; }
.idp-cart-item__thumb img { width: 120px; height: 120px; object-fit: cover; border-radius: 4px; }
.idp-cart-item h3 { margin: 0 0 8px; padding: 0; font: 400 22px/1.2 var(--idp-serif); letter-spacing: -.02em; color: var(--idp-night); }
.idp-cart-item h3 a:hover { color: var(--idp-orange-dark); }
.idp-cart-item dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 0; font-size: 13px; line-height: 1.5; }
.idp-cart-item dl.variation dt { float: none; margin: 0; font-weight: 700; color: var(--idp-night); }
.idp-cart-item dl.variation dd { float: none; margin: 0; padding: 0; }
.idp-cart-item dl.variation dd p { margin: 0; padding: 0; }
.idp-cart-item__unit { margin-top: 8px; padding: 0; font-size: 13px; opacity: .85; }
.idp-cart-item__foot { grid-column: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--idp-line); }
.idp-cart-item__label { display: block; margin-bottom: 8px; font: 800 10px/1 var(--idp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--idp-brown); }
.idp-cart-item__subtotal { min-width: 130px; text-align: right; }
.idp-cart-item__subtotal .amount { font: 400 22px/1.2 var(--idp-serif); color: var(--idp-night); white-space: nowrap; }

.idp-qty { display: inline-flex; align-items: stretch; overflow: hidden; border: 1.5px solid rgba(63, 44, 38, .35); border-radius: 4px; background: #fff; }
.idp-qty .quantity { margin: 0 !important; float: none !important; }
.idp-cart .idp-qty input.qty { width: 56px !important; height: 46px !important; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0; background: transparent !important; text-align: center; font: 700 16px/1 var(--idp-sans) !important; color: var(--idp-night) !important; -moz-appearance: textfield; }
.idp-qty input.qty::-webkit-inner-spin-button, .idp-qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.idp-qty__btn { display: grid; place-items: center; width: 42px; padding: 0; border: 0; background: transparent; font: 400 22px/1 var(--idp-sans); color: var(--idp-brown); cursor: pointer; transition: background .2s, color .2s; }
.idp-qty__btn:hover { background: var(--idp-sand); color: var(--idp-night); }
.idp-qty__btn:focus-visible { outline: 2px solid var(--idp-orange); outline-offset: -2px; }

.idp-cart-item a.remove { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px !important; height: 34px !important; border-radius: 50%; background: transparent !important; color: var(--idp-brown) !important; font-size: 0 !important; transition: background .2s, color .2s; }
.idp-cart-item a.remove:hover { background: rgba(248, 94, 58, .14) !important; color: var(--idp-orange-dark) !important; }
.idp-cart-item a.remove .idp-icon, .idp-cart-item a.remove svg { width: 18px; height: 18px; }

.idp-cart-actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 8px; padding: 0; border: 0; }
.idp-cart-continue { display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1.2 var(--idp-sans); color: var(--idp-brown); }
.idp-cart-continue:hover { color: var(--idp-orange-dark); }
.idp-cart-actions .coupon { display: flex; gap: 8px; flex: 0 1 400px; }
.idp-cart-actions .coupon .input-text { flex: 1; width: auto !important; min-height: 48px; padding: 10px 14px !important; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px !important; background: #fff !important; font: 400 15px/1.2 var(--idp-sans) !important; color: var(--idp-night) !important; }
.idp-cart button.button, .idp-cart .shipping-calculator-form .button { min-height: 48px; padding: 10px 20px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: transparent !important; color: var(--idp-brown) !important; font: 700 14px/1 var(--idp-sans) !important; letter-spacing: 0; cursor: pointer; }
.idp-cart button.button:hover, .idp-cart .shipping-calculator-form .button:hover { background: var(--idp-brown) !important; color: #fff !important; }
.idp-cart .button::after, .idp-cart .button::before { display: none !important; }
.idp-cart .idp-cart-update { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; overflow: hidden; clip: rect(0 0 0 0); border: 0 !important; }

/* Totais */
.idp-cart .cart-collaterals { position: sticky; top: calc(var(--idp-header-top) + 100px); width: auto; }
.idp-cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; padding: 28px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-cart .cart_totals h2 { margin: 0 0 14px; padding: 0; font: 400 30px/1.1 var(--idp-serif); letter-spacing: -.03em; color: var(--idp-night); }
.idp-cart .cart_totals table.shop_table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; border-radius: 0; }
.idp-cart .cart_totals table tr { display: table-row !important; }
.idp-cart .cart_totals table th, .idp-cart .cart_totals table td { display: table-cell !important; padding: 14px 0 !important; border: 0 !important; border-top: 1px solid var(--idp-line) !important; background: transparent !important; vertical-align: top; font-size: 14px; line-height: 1.5; color: var(--idp-brown); }
.idp-cart .cart_totals table th { width: 36%; text-align: left; font-weight: 700; color: var(--idp-night); }
.idp-cart .cart_totals table td { text-align: right; }
.idp-cart .cart_totals table td::before { display: none !important; }
.idp-cart .cart_totals tr.woocommerce-shipping-totals { display: block !important; border-top: 1px solid var(--idp-line); }
.idp-cart .cart_totals .woocommerce-shipping-totals th, .idp-cart .cart_totals .woocommerce-shipping-totals td { display: block !important; width: 100% !important; text-align: left; border-top: 0 !important; }
.idp-cart .cart_totals .woocommerce-shipping-totals td { padding-top: 0 !important; border-top: 0 !important; }
.idp-cart #shipping_method { margin: 0; padding: 0; list-style: none; }
.idp-cart #shipping_method li { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; padding: 0; text-indent: 0; }
.idp-cart #shipping_method li label { cursor: pointer; }
.idp-cart #shipping_method input[type="radio"] { accent-color: var(--idp-orange); }
.idp-cart .woocommerce-shipping-destination { margin: 8px 0; padding: 0; font-size: 13px; }
.idp-cart .shipping-calculator-button { font-size: 13px; font-weight: 600; color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.idp-cart .shipping-calculator-button::after { display: none !important; }
.idp-cart .shipping-calculator-form { margin-top: 12px; }
.idp-cart .shipping-calculator-form p { margin: 0 0 10px; padding: 0; }
.idp-cart .shipping-calculator-form .input-text, .idp-cart .shipping-calculator-form select, .idp-cart .shipping-calculator-form .select2-selection { width: 100%; min-height: 44px; padding: 8px 12px !important; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px !important; background: #fff !important; font: 400 14px/1.4 var(--idp-sans) !important; color: var(--idp-night) !important; }
.idp-cart .shipping-calculator-form .button { width: 100%; }
.idp-cart .cart_totals .order-total th { padding-top: 20px !important; font-size: 16px; }
.idp-cart .cart_totals .order-total td { padding-top: 16px !important; }
.idp-cart .cart_totals .order-total .amount { font: 400 30px/1.1 var(--idp-serif); color: var(--idp-night); }
.idp-cart .cart_totals .includes_tax { display: block; font-size: 12px; }
.idp-cart .wc-proceed-to-checkout { padding: 20px 0 0; }
.idp-cart .wc-proceed-to-checkout .checkout-button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 58px; margin: 0 !important; padding: 16px 24px 14px !important; border: 0 !important; border-radius: 4px !important; background: var(--idp-orange) !important; color: var(--idp-night) !important; font: 700 17px/1.1 var(--idp-sans) !important; letter-spacing: 0; transition: background .2s, color .2s; }
.idp-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--idp-orange-dark) !important; color: #fff !important; }
.idp-cart .wc-proceed-to-checkout .checkout-button::after { display: none !important; }

.idp-cart-help { display: grid; gap: 12px; margin: 22px 0 0; padding: 20px 0 0; border-top: 1px solid var(--idp-line); list-style: none; font-size: 13px; line-height: 1.5; }
.idp-cart-help li { display: flex; gap: 12px; align-items: flex-start; padding: 0; }
.idp-cart-help .idp-icon { flex: none; width: 18px; height: 18px; margin-top: 1px; color: var(--idp-orange); }
.idp-cart-help a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }

/* Avisos e estado de carregamento */
.idp-cart-page .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 20px; }
.idp-cart-page .woocommerce-message, .idp-cart-page .woocommerce-info, .idp-cart-page .woocommerce-error { margin: 0 0 20px !important; padding: 16px 20px !important; border: 1px solid var(--idp-line) !important; border-left: 4px solid var(--idp-cta) !important; border-radius: var(--idp-radius); background: #fff !important; color: var(--idp-night) !important; font-size: 14px; list-style: none; }
.idp-cart-page .woocommerce-error { border-left-color: var(--idp-orange) !important; }
.idp-cart-page .woocommerce-message::before, .idp-cart-page .woocommerce-info::before, .idp-cart-page .woocommerce-error::before { display: none; }
.idp-cart-page .woocommerce-message a, .idp-cart-page .woocommerce-info a { color: var(--idp-orange-dark); }
.idp-cart .blockUI.blockOverlay { background: rgba(245, 243, 239, .6) !important; border-radius: var(--idp-radius); }

/* Carrinho vazio */
.idp-cart-empty { max-width: 680px; margin: 0 auto; padding: 56px 32px; text-align: center; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-cart-empty__icon { display: inline-grid; place-items: center; width: 72px; height: 72px; margin-bottom: 22px; border-radius: 50%; background: var(--idp-cream); color: var(--idp-orange); }
.idp-cart-empty__icon .idp-icon, .idp-cart-empty__icon svg { width: 30px; height: 30px; }
.idp-cart-empty h2 { margin: 0 0 14px; font-size: clamp(30px, 3vw, 42px); }
.idp-cart-empty p { max-width: 480px; margin: 0 auto 28px; font-size: 15px; line-height: 1.7; }
.idp-cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

@media (max-width: 1100px) {
	.idp-cart { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; }
	.idp-cart-item { grid-template-columns: 96px minmax(0, 1fr); }
	.idp-cart-item__thumb img { width: 96px; height: 96px; }
}
@media (max-width: 1000px) {
	.idp-cart { grid-template-columns: 1fr; }
	.idp-cart .cart-collaterals { position: static; }
}
@media (max-width: 700px) {
	.idp-cart-hero { padding: 28px 0 28px; }
	.idp-cart-steps { gap: 10px 18px; margin-top: 22px; font-size: 12px; }
	.idp-cart-steps li span { width: 24px; height: 24px; }
	.idp-cart-body { padding-bottom: 64px; }
	.idp-cart-item { grid-template-columns: 76px minmax(0, 1fr); gap: 0 16px; padding: 16px 48px 16px 16px; }
	.idp-cart-item__thumb { grid-row: auto; }
	.idp-cart-item__thumb img { width: 76px; height: 76px; }
	.idp-cart-item h3 { font-size: 18px; }
	.idp-cart-item__foot { grid-column: 1 / -1; margin-top: 14px; padding-top: 14px; }
	.idp-cart-item__subtotal { min-width: 0; }
	.idp-cart-item a.remove { top: 8px; right: 8px; }
	.idp-cart-actions { flex-direction: column-reverse; align-items: stretch; }
	.idp-cart-actions .coupon { flex-basis: auto; }
	.idp-cart-continue { justify-content: center; }
	.idp-cart .cart-collaterals .cart_totals { padding: 22px 18px; }
	.idp-cart-empty { padding: 40px 20px; }
}

/* Resumo do carrinho: linhas flexíveis (a linha de envio ocupa a largura toda) */
.idp-cart .cart_totals table.shop_table, .idp-cart .cart_totals table.shop_table tbody { display: block; }
.idp-cart .cart_totals table tr, .idp-cart .cart_totals tr.woocommerce-shipping-totals { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 0 16px; border-top: 1px solid var(--idp-line); }
.idp-cart .cart_totals table th, .idp-cart .cart_totals table td { display: block !important; border-top: 0 !important; }
.idp-cart .cart_totals table th { width: auto; }
.idp-cart .cart_totals table td { flex: 1; }
.idp-cart .cart_totals .woocommerce-shipping-totals th, .idp-cart .cart_totals .woocommerce-shipping-totals td { flex: 0 0 100%; }
.idp-cart .cart_totals .woocommerce-shipping-totals td, .idp-cart .cart_totals .woocommerce-shipping-totals td * { text-align: left !important; }

/* Link "Calcular entrega" com mais destaque */
.idp-cart .shipping-calculator-button { display: inline-block; margin-top: 4px; font: 700 12px/1.4 var(--idp-sans) !important; letter-spacing: .08em; text-transform: uppercase; }

/* Avisos do WooCommerce no novo layout: botão na identidade (substitui o estilo de botões do Divi) */
body.idp-shop-page .woocommerce-message, body.idp-shop-page .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
body.idp-shop-page .woocommerce-message .button, body.idp-shop-page .woocommerce-info .button, body.idp-shop-page .woocommerce-error .button { order: 2; float: none !important; display: inline-flex !important; align-items: center; min-height: 42px; margin: 0 !important; padding: 10px 18px 9px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: transparent !important; color: var(--idp-brown) !important; font: 700 14px/1.1 var(--idp-sans) !important; letter-spacing: 0 !important; text-transform: none; box-shadow: none !important; transition: background .2s, color .2s; }
body.idp-shop-page .woocommerce-message .button:hover, body.idp-shop-page .woocommerce-info .button:hover, body.idp-shop-page .woocommerce-error .button:hover { background: var(--idp-brown) !important; color: #fff !important; }
body.idp-shop-page .woocommerce-message .button::after, body.idp-shop-page .woocommerce-info .button::after, body.idp-shop-page .woocommerce-error .button::after { display: none !important; }
@media (max-width: 700px) {
	body.idp-shop-page .woocommerce-message .button, body.idp-shop-page .woocommerce-info .button { width: 100%; justify-content: center; }
}
/* Vence o "border-width: 0 !important" dos botões no Personalizador do Divi */
#idp-main .woocommerce-message .button, #idp-main .woocommerce-info .button, #idp-main .woocommerce-error .button,
#idp-main .idp-cart button.button, #idp-main .idp-cart .shipping-calculator-form .button { border-width: 1px !important; border-style: solid !important; border-color: var(--idp-brown) !important; border-radius: 4px !important; }

/* Calculadora de frete: CEP e botão na mesma linha, largura total */
.idp-cart .shipping-calculator-form::after { content: ""; display: table; clear: both; }
.idp-cart .shipping-calculator-form #calc_shipping_postcode_field { float: left; width: calc(100% - 128px) !important; margin: 0 !important; }
.idp-cart .shipping-calculator-form #calc_shipping_postcode_field label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.idp-cart .shipping-calculator-form #calc_shipping_postcode_field .input-text { width: 100% !important; height: 48px; min-height: 48px; border-radius: 4px 0 0 4px !important; }
.idp-cart .shipping-calculator-form > p:not(.form-row) { float: right; width: 128px; margin: 0 !important; }
#idp-main .idp-cart .shipping-calculator-form > p:not(.form-row) .button { width: 100%; height: 48px; min-height: 48px; padding: 0 12px !important; margin: 0 !important; border-radius: 0 4px 4px 0 !important; border-left-width: 0 !important; background: var(--idp-brown) !important; color: #fff !important; }
#idp-main .idp-cart .shipping-calculator-form > p:not(.form-row) .button:hover { background: var(--idp-night) !important; }
/* Opções de frete: prazo abaixo do nome (plugin Virtuaria Correios) */
.idp-cart #shipping_method li { display: block; }
.idp-cart #shipping_method li input[type="radio"] { margin: 0 6px 0 0; vertical-align: middle; }
.idp-cart #shipping_method li label { display: inline; font-weight: 600; color: var(--idp-night); }
.idp-cart #shipping_method li .delivery-time { margin: 2px 0 0; padding: 0; font-size: 12px; line-height: 1.4; color: var(--idp-brown); }
.idp-cart .shipping-calculator-form #calc_shipping_postcode_field { float: left !important; padding: 0 !important; box-sizing: border-box; }
.idp-cart .shipping-calculator-form > p:not(.form-row) { float: right !important; padding: 0 !important; box-sizing: border-box; }

/* Cupom: mensagem de erro abaixo do campo */
.idp-cart-actions .coupon { flex-wrap: wrap; align-items: flex-start; }
.idp-cart-actions .coupon .input-text, #idp-main .idp-cart-actions .coupon .button { height: 48px; }
.idp-cart-actions .coupon .coupon-error-notice { flex: 0 0 100%; order: 3; margin: 2px 0 0; padding: 0; font-size: 13px; line-height: 1.4; color: #C23A1C; }
.idp-cart-actions .coupon .input-text.has-error { border-color: #C23A1C !important; box-shadow: 0 0 0 3px rgba(194, 58, 28, .12); }

/* --------------------------------------------------------------------------
   Finalização da compra
   ----------------------------------------------------------------------- */
.idp-cart-steps li.is-done { opacity: 1; color: var(--idp-brown); }
.idp-cart-steps li.is-done span { background: var(--idp-night); border-color: var(--idp-night); color: #fff; }
.idp-cart-steps li a { display: flex; align-items: center; gap: 10px; color: inherit; }
.idp-cart-steps li a:hover { color: var(--idp-orange-dark); }

.idp-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: start; margin: 0; }
.idp-checkout__main { display: grid; gap: 20px; min-width: 0; }
.idp-checkout .col2-set { display: grid; gap: 20px; width: auto; float: none; }
.idp-checkout .col2-set .col-1, .idp-checkout .col2-set .col-2 { float: none !important; width: auto !important; margin: 0; }
.idp-checkout-card { padding: 30px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-checkout-card__title { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; padding: 0; font: 400 28px/1.15 var(--idp-serif); letter-spacing: -.03em; color: var(--idp-night); }
.idp-checkout-card__title span { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--idp-orange); font: 700 15px/1 var(--idp-sans); letter-spacing: 0; color: var(--idp-night); }
.idp-checkout .woocommerce-billing-fields > h3, .idp-checkout .woocommerce-additional-fields > h3 { display: none; }

/* Campos em grade */
.idp-checkout .woocommerce-billing-fields__field-wrapper, .idp-checkout .woocommerce-shipping-fields__field-wrapper, .idp-checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px 16px; }
#idp-main .idp-checkout .form-row { grid-column: span 6; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field,
#billing_person_type_field, #billing_cpf_field, #billing_cnpj_field, #billing_phone_field, #billing_email_field { grid-column: span 3 !important; }
#billing_postcode_field, #shipping_postcode_field, #billing_number_field, #shipping_number_field,
#billing_neighborhood_field, #billing_city_field, #billing_state_field, #shipping_neighborhood_field, #shipping_city_field, #shipping_state_field { grid-column: span 2 !important; }
#billing_address_1_field, #shipping_address_1_field, #billing_address_2_field, #shipping_address_2_field { grid-column: span 4 !important; }

#idp-main .idp-checkout .form-row label { display: block; margin: 0 0 7px; padding: 0; font: 700 13px/1.3 var(--idp-sans); color: var(--idp-night); }
#idp-main .idp-checkout .form-row label .optional { font-weight: 400; color: var(--idp-brown); opacity: .8; }
#idp-main .idp-checkout .form-row .required { color: var(--idp-orange-dark); text-decoration: none; border: 0; }
#idp-main .idp-checkout .form-row .woocommerce-input-wrapper { display: block; width: 100%; }
#idp-main .idp-checkout .form-row .input-text, #idp-main .idp-checkout .form-row select, #idp-main .idp-checkout .form-row textarea,
#idp-main .idp-checkout .select2-container .select2-selection--single { width: 100% !important; min-height: 48px; margin: 0; padding: 12px 14px 10px !important; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px !important; background: #fff !important; box-shadow: none !important; font: 400 15px/1.4 var(--idp-sans) !important; color: var(--idp-night) !important; transition: border-color .2s, box-shadow .2s; }
#idp-main .idp-checkout .form-row textarea { min-height: 110px; resize: vertical; }
#idp-main .idp-checkout .form-row .input-text:focus, #idp-main .idp-checkout .form-row select:focus, #idp-main .idp-checkout .form-row textarea:focus, #idp-main .idp-checkout .select2-container--focus .select2-selection--single, #idp-main .idp-checkout .select2-container--open .select2-selection--single { outline: none; border-color: var(--idp-orange) !important; box-shadow: 0 0 0 3px rgba(248, 94, 58, .18) !important; }
#idp-main .idp-checkout .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 14px !important; }
#idp-main .idp-checkout .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.4 !important; color: var(--idp-night) !important; }
#idp-main .idp-checkout .select2-container .select2-selection__arrow { top: 50% !important; right: 10px !important; transform: translateY(-50%); height: 24px !important; }
#idp-main .idp-checkout .form-row.woocommerce-invalid .input-text, #idp-main .idp-checkout .form-row.woocommerce-invalid select, #idp-main .idp-checkout .form-row.woocommerce-invalid .select2-selection { border-color: #C23A1C !important; }
#idp-main .idp-checkout .form-row.woocommerce-validated .input-text { border-color: rgba(22, 143, 75, .55) !important; }
#idp-main .idp-checkout .form-row .checkout-inline-error-message { margin: 6px 0 0; font-size: 12px; color: #C23A1C; }
.select2-container--open .select2-dropdown { border-color: rgba(63, 44, 38, .3); border-radius: 4px; font-family: var(--idp-sans); }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected] { background: var(--idp-orange) !important; color: var(--idp-night) !important; }

/* Entrega em outro endereço e observações */
.idp-checkout #ship-to-different-address { margin: 0 0 4px; padding: 0; font: 600 15px/1.4 var(--idp-sans); color: var(--idp-night); }
.idp-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.idp-checkout input[type="checkbox"], .idp-checkout input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--idp-orange); cursor: pointer; }
.idp-checkout .shipping_address { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--idp-line); }
.idp-checkout .woocommerce-additional-fields { margin-top: 22px; }
.idp-checkout .woocommerce-account-fields { margin-top: 22px; }

/* Pagamento */
#idp-main .idp-checkout #payment { background: transparent !important; border-radius: 0; }
#idp-main .idp-checkout #payment ul.payment_methods { display: grid; gap: 12px; margin: 0; padding: 0 !important; border: 0 !important; list-style: none; }
#idp-main .idp-checkout #payment ul.payment_methods li { margin: 0; padding: 0; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); background: #fff; line-height: 1.4; transition: border-color .2s, box-shadow .2s; }
#idp-main .idp-checkout #payment ul.payment_methods li:has(> input:checked) { border-color: var(--idp-orange); box-shadow: 0 0 0 1px var(--idp-orange); }
#idp-main .idp-checkout #payment ul.payment_methods li > input { margin: 0 0 0 18px; vertical-align: middle; }
#idp-main .idp-checkout #payment ul.payment_methods li > label { display: inline-flex; align-items: center; gap: 10px; width: calc(100% - 50px); margin: 0; padding: 18px 12px; font: 700 15px/1.3 var(--idp-sans); color: var(--idp-night); cursor: pointer; }
#idp-main .idp-checkout #payment ul.payment_methods li > label img { max-height: 26px; width: auto; margin: 0 0 0 auto; }
#idp-main .idp-checkout #payment div.payment_box { margin: 0 !important; padding: 4px 20px 20px !important; background: transparent !important; color: var(--idp-brown); font-size: 14px; line-height: 1.6; }
#idp-main .idp-checkout #payment div.payment_box::before { display: none !important; }
#idp-main .idp-checkout #payment div.form-row.place-order { margin: 22px 0 0 !important; padding: 0 !important; }
.idp-checkout .woocommerce-privacy-policy-text p, .idp-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.6; color: var(--idp-brown); }
.idp-checkout .woocommerce-terms-and-conditions-wrapper a, .idp-checkout .woocommerce-privacy-policy-text a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.idp-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 14px 0 0 !important; }
.idp-checkout .woocommerce-form__label-for-checkbox { display: flex !important; align-items: flex-start; gap: 10px; font: 400 14px/1.5 var(--idp-sans) !important; cursor: pointer; }
#idp-main .idp-checkout #place_order { float: none !important; display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 60px; margin: 18px 0 0 !important; padding: 16px 24px 14px !important; border: 0 !important; border-radius: 4px !important; background: var(--idp-orange) !important; color: var(--idp-night) !important; font: 700 18px/1.1 var(--idp-sans) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; transition: background .2s, color .2s; }
#idp-main .idp-checkout #place_order:hover { background: var(--idp-orange-dark) !important; color: #fff !important; }
#idp-main .idp-checkout #place_order::after { display: none !important; }

/* Resumo */
.idp-checkout__side { position: sticky; top: calc(var(--idp-header-top) + 100px); min-width: 0; }
.idp-checkout-summary { padding: 28px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-checkout #order_review_heading { float: none; width: auto; margin: 0 0 14px; padding: 0; font: 400 30px/1.1 var(--idp-serif); letter-spacing: -.03em; color: var(--idp-night); }
.idp-checkout #order_review { float: none !important; width: 100% !important; }
#idp-main .idp-checkout table.woocommerce-checkout-review-order-table { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; border-radius: 0; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table thead { display: none; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table th, #idp-main .idp-checkout .woocommerce-checkout-review-order-table td { padding: 14px 0 !important; border: 0 !important; border-top: 1px solid var(--idp-line) !important; background: transparent !important; vertical-align: top; font-size: 14px; line-height: 1.5; color: var(--idp-brown); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0 !important; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table th { text-align: left; font-weight: 700; color: var(--idp-night); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .product-name { padding-right: 16px !important; font-weight: 600; color: var(--idp-night); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .product-quantity { font-weight: 700; color: var(--idp-orange-dark); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 0 8px; margin: 6px 0 0; font-size: 12px; font-weight: 400; color: var(--idp-brown); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table dl.variation dt, #idp-main .idp-checkout .woocommerce-checkout-review-order-table dl.variation dd { float: none; margin: 0; padding: 0; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table dl.variation dd p { margin: 0; padding: 0; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th, #idp-main .idp-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { display: block; width: 100%; text-align: left !important; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { padding-top: 0 !important; border-top: 0 !important; }
.idp-checkout #shipping_method { margin: 0; padding: 0; list-style: none; }
.idp-checkout #shipping_method li { display: block; margin: 0 0 10px; padding: 0; text-indent: 0; }
.idp-checkout #shipping_method li input[type="radio"] { margin: 0 6px 0 0; vertical-align: middle; }
.idp-checkout #shipping_method li label { display: inline; font-weight: 600; color: var(--idp-night); }
.idp-checkout #shipping_method li .delivery-time { margin: 2px 0 0; padding: 0; font-size: 12px; line-height: 1.4; color: var(--idp-brown); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .order-total th { padding-top: 20px !important; font-size: 16px; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .order-total td { padding-top: 16px !important; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .order-total .amount { font: 400 30px/1.1 var(--idp-serif); color: var(--idp-night); }
.idp-checkout .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* Avisos de login e cupom antes do formulário */
.idp-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info, .idp-checkout-page .woocommerce-form-login-toggle .woocommerce-info { display: block; }
.idp-checkout-page .woocommerce-info a.showcoupon, .idp-checkout-page .woocommerce-info a.showlogin { font-weight: 700; color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.idp-checkout-page form.checkout_coupon, .idp-checkout-page form.woocommerce-form-login { margin: 0 0 20px !important; padding: 22px !important; background: #fff; border: 1px solid var(--idp-line) !important; border-radius: var(--idp-radius) !important; }
.idp-checkout-page form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.idp-checkout-page form.checkout_coupon > p:not(.form-row) { flex: 0 0 100%; margin: 0 0 6px; }
.idp-checkout-page form.checkout_coupon .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.idp-checkout-page form.checkout_coupon .form-row-first { flex: 1 1 220px; }
.idp-checkout-page form.checkout_coupon .input-text { width: 100%; min-height: 48px; padding: 10px 14px !important; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px !important; background: #fff !important; font: 400 15px/1.2 var(--idp-sans) !important; }
#idp-main form.checkout_coupon .button, #idp-main form.woocommerce-form-login .button { min-height: 48px; padding: 10px 20px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: var(--idp-brown) !important; color: #fff !important; font: 700 14px/1 var(--idp-sans) !important; }
#idp-main form.checkout_coupon .button::after, #idp-main form.woocommerce-form-login .button::after { display: none !important; }
.idp-checkout-page .woocommerce-NoticeGroup-checkout { grid-column: 1 / -1; }
.idp-checkout-page .woocommerce-error li { margin: 0 0 4px; }

/* Pedido recebido */
.idp-checkout-page--received .woocommerce-order { display: grid; gap: 24px; }
.idp-checkout-page--received .woocommerce-notice--success { margin: 0; padding: 22px 26px; border-left: 4px solid var(--idp-cta); border-radius: var(--idp-radius); background: #fff; font: 400 20px/1.4 var(--idp-serif); color: var(--idp-night); }
.idp-checkout-page--received ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.idp-checkout-page--received ul.woocommerce-order-overview li { float: none; margin: 0; padding: 18px 20px; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); background: #fff; font: 800 10px/1.4 var(--idp-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--idp-brown); }
.idp-checkout-page--received ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font: 400 18px/1.3 var(--idp-serif); letter-spacing: 0; text-transform: none; color: var(--idp-night); }
.idp-checkout-page--received .woocommerce-order-details, .idp-checkout-page--received .woocommerce-customer-details, .idp-checkout-page--received .woocommerce-order > div:not([class]) { padding: 28px; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); background: #fff; }
.idp-checkout-page--received .woocommerce-order h2 { margin: 0 0 16px; font: 400 26px/1.2 var(--idp-serif); color: var(--idp-night); }
.idp-checkout-page--received table.shop_table { width: 100%; border: 0 !important; border-collapse: collapse; }
.idp-checkout-page--received table.shop_table th, .idp-checkout-page--received table.shop_table td { padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--idp-line) !important; background: transparent !important; text-align: left; font-size: 14px; }
.idp-checkout-page--received table.shop_table td:last-child, .idp-checkout-page--received table.shop_table tfoot td { text-align: right; }
.idp-checkout-page--received address { padding: 0; border: 0; font-style: normal; line-height: 1.7; }
.idp-checkout-page--received .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.idp-checkout-page--received .woocommerce-columns--addresses .woocommerce-column { float: none; width: auto; }

@media (max-width: 1100px) {
	.idp-checkout { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; }
}
@media (max-width: 1000px) {
	.idp-checkout { grid-template-columns: 1fr; }
	.idp-checkout__side { position: static; order: -1; }
}
@media (max-width: 700px) {
	.idp-checkout-card { padding: 22px 18px; }
	.idp-checkout-card__title { font-size: 24px; margin-bottom: 18px; }
	#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field,
	#billing_person_type_field, #billing_cpf_field, #billing_cnpj_field, #billing_phone_field, #billing_email_field,
	#billing_address_1_field, #shipping_address_1_field, #billing_postcode_field, #shipping_postcode_field, #billing_neighborhood_field, #shipping_neighborhood_field { grid-column: span 6 !important; }
	#billing_city_field, #shipping_city_field, #billing_state_field, #shipping_state_field { grid-column: span 3 !important; }
	.idp-checkout-summary { padding: 22px 18px; }
	.idp-checkout-page--received .woocommerce-columns--addresses { grid-template-columns: 1fr; }
}
/* Select oculto do select2: não aplicar o estilo dos campos */
#idp-main .idp-checkout select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
/* Resumo do pedido: linhas flexíveis (a linha de envio ocupa a largura toda) */
#idp-main .idp-checkout table.woocommerce-checkout-review-order-table, #idp-main .idp-checkout .woocommerce-checkout-review-order-table tbody, #idp-main .idp-checkout .woocommerce-checkout-review-order-table tfoot { display: block; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table tr { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 16px; border-top: 1px solid var(--idp-line); }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table tbody tr:first-child { border-top: 0; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table th, #idp-main .idp-checkout .woocommerce-checkout-review-order-table td { display: block; border-top: 0 !important; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table td.product-name { flex: 1; text-align: left !important; }
#idp-main .idp-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th, #idp-main .idp-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { flex: 0 0 100%; }

/* Finalização: campos em 12 colunas (endereço de cobrança e de entrega) */
.idp-checkout .woocommerce-billing-fields__field-wrapper, .idp-checkout .woocommerce-shipping-fields__field-wrapper, .idp-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns: repeat(12, minmax(0, 1fr)); }
#idp-main .idp-checkout .form-row { grid-column: span 12; }
/* Loja só atende o Brasil: o campo continua no formulário (com Brasil), apenas oculto */
#idp-main .idp-checkout #billing_country_field, #idp-main .idp-checkout #shipping_country_field { display: none !important; }
#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field,
#billing_person_type_field, #billing_cpf_field, #billing_cnpj_field, #billing_phone_field, #billing_email_field,
#billing_address_1_field, #shipping_address_1_field,
#billing_neighborhood_field, #shipping_neighborhood_field, #billing_address_2_field, #shipping_address_2_field,
#billing_city_field, #shipping_city_field, #billing_state_field, #shipping_state_field { grid-column: span 6 !important; }
#billing_postcode_field, #shipping_postcode_field, #billing_number_field, #shipping_number_field { grid-column: span 3 !important; }
/* Ordem: CEP | Endereço | Número  /  Bairro | Complemento  /  Cidade | Estado  /  Telefone | E-mail */
#billing_neighborhood_field, #shipping_neighborhood_field { order: 1; }
#billing_address_2_field, #shipping_address_2_field { order: 2; }
#billing_city_field, #shipping_city_field, #billing_state_field, #shipping_state_field { order: 3; }
#billing_phone_field, #billing_email_field, #shipping_phone_field { order: 4; }
@media (max-width: 700px) {
	#billing_first_name_field, #billing_last_name_field, #shipping_first_name_field, #shipping_last_name_field,
	#billing_person_type_field, #billing_cpf_field, #billing_cnpj_field, #billing_phone_field, #billing_email_field,
	#billing_postcode_field, #shipping_postcode_field { grid-column: span 12 !important; }
	#billing_address_1_field, #shipping_address_1_field { grid-column: span 8 !important; }
	#billing_number_field, #shipping_number_field { grid-column: span 4 !important; }
	#billing_neighborhood_field, #shipping_neighborhood_field, #billing_address_2_field, #shipping_address_2_field,
	#billing_city_field, #shipping_city_field, #billing_state_field, #shipping_state_field { grid-column: span 6 !important; }
}

/* Pedido recebido: ajustes */
.idp-checkout-page--received ul.woocommerce-order-overview::before, .idp-checkout-page--received ul.woocommerce-order-overview::after { display: none !important; content: none !important; }
.idp-checkout-page--received ul.woocommerce-order-overview li { min-width: 0; overflow-wrap: anywhere; border-right: 1px solid var(--idp-line) !important; }
#idp-main .idp-checkout-page--received .woocommerce-notice--success, .idp-checkout-page--received p.woocommerce-notice { padding: 22px 26px !important; border: 1px solid var(--idp-line); border-left: 4px solid var(--idp-cta); }
.idp-checkout-page--received .woocommerce-order > .modal-content:has(a[href$="objetos="]) { display: none; }
.idp-next-step { display: flex; gap: 24px; align-items: flex-start; padding: 32px; border-radius: var(--idp-radius); background: #fff; border: 1px solid var(--idp-line); border-top: 4px solid var(--idp-orange); }
.idp-next-step__icon { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 50%; background: var(--idp-cream); color: var(--idp-orange); }
.idp-next-step__icon .idp-icon, .idp-next-step__icon svg { width: 26px; height: 26px; }
.idp-next-step h2 { margin: 14px 0 12px !important; font: 400 clamp(28px, 3vw, 38px)/1.1 var(--idp-serif) !important; letter-spacing: -.03em; color: var(--idp-night); }
.idp-next-step p { max-width: 680px; margin: 0 0 10px; padding: 0; font-size: 15px; line-height: 1.7; }
.idp-next-step a:not(.idp-btn) { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.idp-next-step__note { font-size: 14px !important; color: var(--idp-brown); }
.idp-next-step__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 700px) {
	.idp-next-step { flex-direction: column; padding: 24px 20px; }
	.idp-next-step__actions .idp-btn { flex: 1 1 100%; }
}
.idp-checkout-page--received .woocommerce-columns--addresses::before, .idp-checkout-page--received .woocommerce-columns--addresses::after { display: none !important; content: none !important; }
.idp-checkout-page--received .woocommerce-column__title { margin: 0 0 12px !important; font: 400 22px/1.2 var(--idp-serif) !important; }
.idp-checkout-page--received address { padding: 16px 18px !important; border: 1px solid var(--idp-line) !important; border-radius: 4px; }
#idp-main .woocommerce-order .order-actions-button { display: inline-flex !important; align-items: center; min-height: 40px; margin: 0 0 0 6px !important; padding: 8px 16px 7px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: transparent !important; color: var(--idp-brown) !important; font: 700 13px/1.1 var(--idp-sans) !important; letter-spacing: 0 !important; }
#idp-main .woocommerce-order .order-actions-button.pay { background: var(--idp-orange) !important; border-color: var(--idp-orange) !important; color: var(--idp-night) !important; }
#idp-main .woocommerce-order .order-actions-button:hover { background: var(--idp-brown) !important; border-color: var(--idp-brown) !important; color: #fff !important; }
#idp-main .woocommerce-order .order-actions-button::after { display: none !important; }

/* Pagar pedido */
.idp-checkout--pay > :not(.idp-checkout__main):not(.idp-checkout__side) { grid-column: 1 / -1; }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table td.product-name .product-quantity { margin-left: 4px; font-weight: 700; color: var(--idp-orange-dark); }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table ul.wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12px; font-weight: 400; color: var(--idp-brown); }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table ul.wc-item-meta li { margin: 0; }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table ul.wc-item-meta li p, #idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table ul.wc-item-meta strong { display: inline; margin: 0; padding: 0; }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table .order-total td .amount, #idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table .order-total td { font: 400 28px/1.1 var(--idp-serif); color: var(--idp-night); }
#idp-main .idp-checkout--pay .woocommerce-checkout-review-order-table ul.wc-item-meta strong { margin-right: 4px; }

/* --------------------------------------------------------------------------
   Minha conta
   ----------------------------------------------------------------------- */
.idp-account-page .idp-cart-hero .idp-prose { max-width: 620px; margin-top: 18px; }

/* Campos (login, cadastro, endereços, dados da conta, senha) */
#idp-main.idp-account-page .form-row { float: none !important; width: auto !important; margin: 0 0 18px !important; padding: 0 !important; }
#idp-main.idp-account-page .form-row label { display: block; margin: 0 0 7px; padding: 0; font: 700 13px/1.3 var(--idp-sans); color: var(--idp-night); }
#idp-main.idp-account-page .form-row label .optional { font-weight: 400; opacity: .8; }
#idp-main.idp-account-page .form-row .required { color: var(--idp-orange-dark); text-decoration: none; border: 0; }
#idp-main.idp-account-page .form-row .woocommerce-input-wrapper, #idp-main.idp-account-page .password-input { display: block; position: relative; width: 100%; }
#idp-main.idp-account-page .input-text, #idp-main.idp-account-page .form-row select, #idp-main.idp-account-page .form-row textarea, #idp-main.idp-account-page .select2-container .select2-selection--single { width: 100% !important; min-height: 48px; margin: 0; padding: 12px 14px 10px !important; border: 1px solid rgba(63, 44, 38, .3) !important; border-radius: 4px !important; background: #fff !important; box-shadow: none !important; font: 400 15px/1.4 var(--idp-sans) !important; color: var(--idp-night) !important; transition: border-color .2s, box-shadow .2s; }
#idp-main.idp-account-page .input-text:focus, #idp-main.idp-account-page .form-row select:focus, #idp-main.idp-account-page .select2-container--focus .select2-selection--single, #idp-main.idp-account-page .select2-container--open .select2-selection--single { outline: none; border-color: var(--idp-orange) !important; box-shadow: 0 0 0 3px rgba(248, 94, 58, .18) !important; }
#idp-main.idp-account-page .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 14px !important; }
#idp-main.idp-account-page .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.4 !important; color: var(--idp-night) !important; }
#idp-main.idp-account-page .select2-container .select2-selection__arrow { top: 50% !important; right: 10px !important; transform: translateY(-50%); height: 24px !important; }
#idp-main.idp-account-page select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
#idp-main.idp-account-page .show-password-input { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); margin: 0; padding: 4px; border: 0; background: transparent; color: var(--idp-brown); cursor: pointer; }
#idp-main.idp-account-page .show-password-input::after { color: var(--idp-brown); }
#idp-main.idp-account-page input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--idp-orange); cursor: pointer; }
#idp-main.idp-account-page .woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; font: 400 14px/1.4 var(--idp-sans) !important; cursor: pointer; }
#idp-main.idp-account-page .woocommerce-privacy-policy-text p { font-size: 13px; line-height: 1.6; color: var(--idp-brown); }
#idp-main.idp-account-page .woocommerce-privacy-policy-text a, #idp-main.idp-account-page .lost_password a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }

/* Botões principais (entrar, cadastrar, salvar, redefinir senha) */
#idp-main.idp-account-page form .button[type="submit"], #idp-main.idp-account-page .woocommerce-Button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; margin: 0 !important; padding: 14px 28px 12px !important; border: 0 !important; border-radius: 4px !important; background: var(--idp-orange) !important; color: var(--idp-night) !important; font: 700 16px/1.1 var(--idp-sans) !important; letter-spacing: 0 !important; cursor: pointer; transition: background .2s, color .2s; }
#idp-main.idp-account-page form .button[type="submit"]:hover, #idp-main.idp-account-page .woocommerce-Button:hover { background: var(--idp-orange-dark) !important; color: #fff !important; }
#idp-main.idp-account-page .button::after { display: none !important; }

/* Entrar / Criar conta */
.idp-login { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.idp-login::before, .idp-login::after { display: none !important; content: none !important; }
.idp-login .idp-login__card { float: none !important; width: auto !important; margin: 0 !important; padding: 34px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-login .idp-login__card--register { background: var(--idp-cream); }
.idp-login h2 { margin: 14px 0 22px; padding: 0; font: 400 clamp(30px, 3vw, 40px)/1.1 var(--idp-serif); letter-spacing: -.03em; color: var(--idp-night); }
.idp-login form { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.idp-login__row { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.idp-login__row .lost_password { font-size: 14px; }
#idp-main.idp-account-page .idp-login .button[type="submit"] { width: 100%; }
.idp-login__benefits { display: grid; gap: 8px; margin: -6px 0 24px; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; }
.idp-login__benefits li { position: relative; padding-left: 26px; }
.idp-login__benefits li::before { content: ""; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--idp-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23232022' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") no-repeat center / 10px; }

/* Recuperar / redefinir senha */
.idp-account-page form.lost_reset_password { max-width: 560px; margin: 0 auto !important; padding: 34px !important; background: #fff; border: 1px solid var(--idp-line) !important; border-radius: var(--idp-radius) !important; }
.idp-account-page form.lost_reset_password > p:first-child { margin-bottom: 20px; font-size: 15px; line-height: 1.7; }
.idp-account-page form.lost_reset_password .form-row-first, .idp-account-page form.lost_reset_password .form-row-last { width: 100% !important; }

/* Moldura logada: menu lateral + conteúdo */
.idp-account { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 32px; align-items: start; }
.idp-account__side { position: sticky; top: calc(var(--idp-header-top) + 100px); display: grid; gap: 14px; }
.idp-account__user { display: flex; align-items: center; gap: 14px; padding: 20px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-account__user strong { display: block; font: 700 15px/1.3 var(--idp-sans); color: var(--idp-night); }
.idp-account__user span:not(.idp-account__avatar) { display: block; font-size: 13px; color: var(--idp-brown); overflow-wrap: anywhere; }
.idp-account__avatar { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--idp-orange); font: 400 22px/1 var(--idp-serif); color: var(--idp-night); }
.idp-account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.idp-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
.idp-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; justify-content: space-between; padding: 13px 14px; border-radius: 4px; font: 600 15px/1.2 var(--idp-sans); color: var(--idp-brown); transition: background .2s, color .2s; }
.idp-account .woocommerce-MyAccount-navigation li a::after { content: "\203A"; font-size: 18px; opacity: .45; }
.idp-account .woocommerce-MyAccount-navigation li a:hover { background: var(--idp-cream); color: var(--idp-night); }
.idp-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--idp-cream); color: var(--idp-night); box-shadow: inset 3px 0 0 var(--idp-orange); }
.idp-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid var(--idp-line) !important; }
.idp-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--idp-orange-dark); }
.idp-account__content { float: none !important; width: auto !important; min-width: 0; padding: 32px; background: #fff; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-account__content > p:first-child { font-size: 15px; line-height: 1.7; }
.idp-account__content h2, .idp-account__content h3 { margin: 0 0 16px; padding: 0; font: 400 26px/1.2 var(--idp-serif); letter-spacing: -.02em; color: var(--idp-night); }
.idp-account__content mark { padding: 0 2px; background: transparent; font-weight: 700; color: var(--idp-night); }

/* Painel */
.idp-dashboard { display: grid; gap: 24px; }
.idp-dashboard__last { padding: 24px; border-radius: var(--idp-radius); background: var(--idp-cream); }
.idp-dashboard__last h2 { margin: 12px 0 6px; font-size: 28px; }
.idp-dashboard__last p { margin: 0; font-size: 14px; color: var(--idp-brown); }
.idp-dashboard__order { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; }
.idp-dashboard__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.idp-status { display: inline-block; padding: 7px 12px 5px; border-radius: 30px; background: #fff; border: 1px solid var(--idp-line); font: 800 11px/1 var(--idp-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--idp-brown); }
.idp-status--processing, .idp-status--completed { background: #E6F4EC; border-color: #BFE3CD; color: #0F7039; }
.idp-status--pending, .idp-status--on-hold { background: #FFF3EE; border-color: #FBD3C5; color: #C2401E; }
.idp-status--cancelled, .idp-status--failed, .idp-status--refunded { background: #F3F1F0; color: #6E625E; }
.idp-dashboard__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.idp-dashboard__links a { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; align-items: start; padding: 18px; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); transition: border-color .2s, box-shadow .2s; }
.idp-dashboard__links a:hover { border-color: var(--idp-orange); box-shadow: 0 0 0 1px var(--idp-orange); }
.idp-dashboard__icon { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--idp-cream); color: var(--idp-orange); }
.idp-dashboard__icon .idp-icon, .idp-dashboard__icon svg { width: 18px; height: 18px; }
.idp-dashboard__links strong { font: 700 15px/1.3 var(--idp-sans); color: var(--idp-night); }
.idp-dashboard__links span:not(.idp-dashboard__icon) { font-size: 13px; line-height: 1.5; color: var(--idp-brown); }
.idp-dashboard__help { margin: 0; font-size: 14px; color: var(--idp-brown); }
.idp-dashboard__help a { color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }

/* Tabelas (pedidos, detalhes do pedido) */
#idp-main.idp-account-page table.shop_table { width: 100%; margin: 0 0 20px; border: 0 !important; border-collapse: collapse; border-radius: 0; }
#idp-main.idp-account-page table.shop_table th, #idp-main.idp-account-page table.shop_table td { padding: 14px 12px !important; border: 0 !important; border-top: 1px solid var(--idp-line) !important; background: transparent !important; text-align: left; vertical-align: middle; font-size: 14px; line-height: 1.5; color: var(--idp-brown); }
#idp-main.idp-account-page table.shop_table thead th { border-top: 0 !important; font: 800 11px/1.3 var(--idp-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--idp-brown); }
#idp-main.idp-account-page table.shop_table th:first-child, #idp-main.idp-account-page table.shop_table td:first-child { padding-left: 0 !important; }
#idp-main.idp-account-page table.shop_table th:last-child, #idp-main.idp-account-page table.shop_table td:last-child { padding-right: 0 !important; }
#idp-main.idp-account-page .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--idp-night); }
#idp-main.idp-account-page .woocommerce-orders-table__cell-order-actions { text-align: right !important; }
#idp-main.idp-account-page table.shop_table .button, #idp-main.idp-account-page .woocommerce-pagination .button, #idp-main.idp-account-page .order-again .button { display: inline-flex !important; align-items: center; min-height: 38px; margin: 2px 0 2px 6px !important; padding: 8px 14px 7px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: transparent !important; color: var(--idp-brown) !important; font: 700 13px/1.1 var(--idp-sans) !important; letter-spacing: 0 !important; }
#idp-main.idp-account-page table.shop_table .button.pay { background: var(--idp-orange) !important; border-color: var(--idp-orange) !important; color: var(--idp-night) !important; }
#idp-main.idp-account-page table.shop_table .button:hover { background: var(--idp-brown) !important; border-color: var(--idp-brown) !important; color: #fff !important; }
#idp-main.idp-account-page .woocommerce-table--order-details tfoot th { color: var(--idp-night); }
#idp-main.idp-account-page .woocommerce-table--order-details tfoot td, #idp-main.idp-account-page .woocommerce-table--order-details .product-total { text-align: right; }
#idp-main.idp-account-page .wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12px; }
#idp-main.idp-account-page .wc-item-meta li, #idp-main.idp-account-page .wc-item-meta p { display: inline; margin: 0; padding: 0; }
#idp-main.idp-account-page .wc-item-meta li { display: block; }
#idp-main.idp-account-page .wc-item-meta strong { margin-right: 4px; }
.idp-account__content .woocommerce-order-details, .idp-account__content .woocommerce-customer-details { margin-top: 28px; }
.idp-account__content .woocommerce-columns--addresses, .idp-account__content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.idp-account__content .woocommerce-columns--addresses::before, .idp-account__content .woocommerce-columns--addresses::after, .idp-account__content .woocommerce-Addresses::before, .idp-account__content .woocommerce-Addresses::after { display: none !important; content: none !important; }
.idp-account__content .woocommerce-column, .idp-account__content .woocommerce-Address { float: none !important; width: auto !important; margin: 0 !important; padding: 20px; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-account__content address { margin: 0; padding: 0 !important; border: 0 !important; font-style: normal; line-height: 1.7; }
.idp-account__content .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.idp-account__content .woocommerce-Address-title::before, .idp-account__content .woocommerce-Address-title::after { display: none !important; }
.idp-account__content .woocommerce-Address-title h2, .idp-account__content .woocommerce-column__title { margin: 0 !important; font-size: 22px !important; }
.idp-account__content .woocommerce-Address-title .edit { float: none; font: 700 13px/1 var(--idp-sans); color: var(--idp-orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.idp-account__content .woocommerce-message, .idp-account__content .woocommerce-info, .idp-account__content .woocommerce-error { margin: 0 0 20px !important; }
#idp-main.idp-account-page .woocommerce-info .button, #idp-main.idp-account-page .woocommerce-message .button { order: 2; float: none !important; display: inline-flex !important; align-items: center; min-height: 40px; margin: 0 !important; padding: 8px 16px 7px !important; border: 1px solid var(--idp-brown) !important; border-radius: 4px !important; background: transparent !important; color: var(--idp-brown) !important; font: 700 13px/1.1 var(--idp-sans) !important; }
#idp-main.idp-account-page .woocommerce-info, #idp-main.idp-account-page .woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }

/* Editar endereço: mesma grade da finalização */
.idp-account__content .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 16px; }
.idp-account__content .woocommerce-address-fields__field-wrapper > .form-row { grid-column: span 12; }
#idp-main.idp-account-page #billing_country_field, #idp-main.idp-account-page #shipping_country_field { display: none !important; }

/* Editar conta */
.idp-account__content .woocommerce-EditAccountForm { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.idp-account__content .woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
.idp-account__content .woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
.idp-account__content .woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }
.idp-account__content .woocommerce-EditAccountForm > .clear { display: none; }
.idp-account__content .woocommerce-EditAccountForm em { display: block; margin-top: 6px; font-size: 12px; color: var(--idp-brown); }
.idp-account__content fieldset { margin: 10px 0 18px; padding: 22px 22px 4px; border: 1px solid var(--idp-line); border-radius: var(--idp-radius); }
.idp-account__content legend { padding: 0 8px; font: 400 20px/1.2 var(--idp-serif); color: var(--idp-night); }

@media (max-width: 1000px) {
	.idp-account { grid-template-columns: 1fr; }
	.idp-account__side { position: static; }
	.idp-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; }
	.idp-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
	.idp-account .woocommerce-MyAccount-navigation li a::after { display: none; }
	.idp-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
}
@media (max-width: 700px) {
	.idp-login { grid-template-columns: 1fr; }
	.idp-login .idp-login__card { padding: 24px 20px; }
	.idp-account__content { padding: 22px 18px; }
	.idp-dashboard__links, .idp-account__content .woocommerce-columns--addresses, .idp-account__content .woocommerce-Addresses { grid-template-columns: 1fr; }
	.idp-account__content .woocommerce-EditAccountForm > .form-row-first, .idp-account__content .woocommerce-EditAccountForm > .form-row-last { grid-column: 1 / -1; }
	#idp-main.idp-account-page table.shop_table_responsive tr { display: block; padding: 12px 0; border-top: 1px solid var(--idp-line); }
	#idp-main.idp-account-page table.shop_table_responsive td { display: flex !important; justify-content: space-between; gap: 12px; padding: 6px 0 !important; border: 0 !important; text-align: right !important; }
	#idp-main.idp-account-page table.shop_table_responsive td::before { font-weight: 700; color: var(--idp-night); }
	#idp-main.idp-account-page table.shop_table_responsive thead { display: none; }
}
.idp-login__row::before, .idp-login__row::after, #idp-main.idp-account-page .woocommerce-info::before, #idp-main.idp-account-page .woocommerce-message::before { display: none !important; content: none !important; }
#idp-main.idp-account-page table.shop_table thead th:last-child { text-align: right; }
.idp-account__content .modal-content:has(a[href$="objetos="]) { display: none; }
@media (max-width: 1000px) {
	.idp-account { grid-template-columns: minmax(0, 1fr); }
	.idp-account__side, .idp-account .woocommerce-MyAccount-navigation, .idp-account__content { min-width: 0; max-width: 100%; }
}
