/* =========================================================================
   ESTILO DAS PÁGINAS WOOCOMMERCE (loja, produto, carrinho, checkout,
   minha conta) — usa as mesmas variáveis de cor/tipografia do tema.
   Carregado só nessas páginas (ver inc/woocommerce-integration.php).

   Colunas das vitrines: computador 4 · tablet 3 · celular 2.
   ========================================================================= */

.woocommerce-page-wrap{max-width:var(--wrap);}
.loja-conteudo{min-width:0;}

/* ---- trilha de navegação (breadcrumb) ---- */
.woocommerce-breadcrumb{font-size:.82rem;color:var(--ink-faint);margin:0 0 22px;line-height:1.5;}
.woocommerce-breadcrumb a{color:var(--ink-muted);}
.woocommerce-breadcrumb a:hover{color:var(--accent);}
@media (max-width:700px){.woocommerce-breadcrumb{font-size:.76rem;margin-bottom:14px;}}

/* ---- mensagens/avisos ---- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.woocommerce-notice{list-style:none;border-radius:var(--radius-m);padding:14px 18px;margin:0 0 20px;font-size:.9rem;font-weight:600;background:var(--good-soft);color:var(--good);border:none;}
.woocommerce-message,.woocommerce-info{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;}
.woocommerce-error{background:var(--danger-soft);color:var(--danger);}
.woocommerce-error li + li{margin-top:6px;}
.woocommerce-info{background:var(--accent-soft);color:var(--accent-strong);}
.woocommerce-message a.button,.woocommerce-info a.button,.woocommerce-error a.button{order:2;margin-left:auto;padding:8px 16px;font-size:.84rem;}
@media (max-width:560px){
  .woocommerce-message,.woocommerce-info,.woocommerce-error{padding:12px 14px;font-size:.86rem;}
  .woocommerce-message a.button,.woocommerce-info a.button{margin-left:0;width:100%;}
}

/* ---- título da loja ---- */
.woocommerce-products-header__title{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:22px;}

/* ---- faixa com a logo no topo da loja/categoria ---- */
.loja-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;margin:0 0 22px;background:linear-gradient(135deg,var(--bg),var(--surface));border:1px solid var(--border);border-radius:var(--radius-l);}
.loja-banner-logo{flex:none;width:56px;height:56px;}
.loja-banner-logo a{display:block;width:100%;height:100%;}
.loja-banner-logo img,.loja-banner-logo svg{width:100%;height:100%;object-fit:contain;}
.loja-banner-tarja{min-width:0;}
.loja-banner-tarja .eyebrow{margin-bottom:2px;}
.loja-banner-titulo{margin:2px 0 0;font-size:clamp(1.3rem,2.6vw,1.8rem);}
@media (max-width:560px){
  .loja-banner{gap:12px;padding:12px 14px;margin-bottom:16px;border-radius:var(--radius-m);}
  .loja-banner-logo{width:44px;height:44px;}
  .loja-banner-tarja .eyebrow{font-size:.66rem;}
  .loja-banner-titulo{font-size:1.25rem;}
}

/* ---- imagem grande vinda da descrição de uma categoria ---- */
.woocommerce-products-header img,
.term-description img,
.woocommerce-page-wrap .page-header img{max-height:260px;width:100%;object-fit:cover;border-radius:var(--radius-l);margin:0 0 16px;}
.term-description{color:var(--ink-muted);margin-bottom:18px;}
@media (max-width:600px){
  .woocommerce-products-header img,
  .term-description img,
  .woocommerce-page-wrap .page-header img{max-height:170px;border-radius:var(--radius-m);}
}

/* ---- contagem de resultados + ordenação (lado a lado) ---- */
.woocommerce-result-count{float:left;margin:10px 0 18px;font-size:.86rem;color:var(--ink-muted);}
.woocommerce-ordering{float:right;margin:0 0 18px;}
.woocommerce-ordering select{border:1px solid var(--border);border-radius:999px;padding:9px 34px 9px 14px;background:var(--surface);color:var(--ink);font-size:.86rem;max-width:100%;}
.woocommerce ul.products,.woocommerce-pagination{clear:both;}
@media (max-width:560px){
  .woocommerce-result-count{float:none;margin:0 0 8px;font-size:.8rem;}
  .woocommerce-ordering{float:none;margin-bottom:14px;}
  .woocommerce-ordering select{width:100%;}
}

/* ---- grade de produtos ---- */
.woocommerce ul.products{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0;margin:0 0 40px;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
@media (max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}}
@media (max-width:700px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px;}}

.woocommerce ul.products li.product{position:relative;display:flex;flex-direction:column;min-width:0;width:auto;margin:0;float:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow);overflow:hidden;text-align:left;transition:transform .15s,box-shadow .15s;}
@media (hover:hover){.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);}}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;color:var(--ink);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover{text-decoration:none;}
.woocommerce ul.products li.product a img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--surface-3);margin:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title{padding:14px 14px 0;margin:0;font-size:.95rem;font-weight:600;line-height:1.35;font-family:var(--font-body);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.woocommerce ul.products li.product .woocommerce-loop-category__title .count{background:none;color:var(--ink-faint);font-weight:400;}
.woocommerce ul.products li.product .star-rating{margin:6px 14px 0;}
.woocommerce ul.products li.product .price{display:block;margin-top:auto;padding:6px 14px 14px;color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:1.08rem;}
.woocommerce ul.products li.product .price del{color:var(--ink-faint);opacity:.8;font-weight:400;font-size:.85em;margin-right:4px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
/* Botão do card: antes herdava display:block do link do card e ficava com o
   texto encostado à esquerda; agora é um botão de verdade, alinhado no pé. */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button{display:flex;align-items:center;justify-content:center;margin:0 14px 14px;padding:10px 14px;min-height:42px;font-size:.86rem;line-height:1.2;text-align:center;white-space:normal;}
.woocommerce ul.products li.product a.button.loading{opacity:.6;pointer-events:none;}
.woocommerce ul.products li.product a.button.added::after{content:'✓';margin-left:6px;}
.woocommerce ul.products li.product a.added_to_cart{display:block;margin:-6px 14px 14px;text-align:center;font-size:.8rem;font-weight:700;color:var(--accent-strong);}
.woocommerce ul.products li.product .onsale{position:absolute;top:10px;left:10px;z-index:2;background:var(--gold);color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;}
@media (max-width:700px){
  .woocommerce ul.products li.product{border-radius:var(--radius-m);}
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-category__title{padding:10px 10px 0;font-size:.84rem;}
  .woocommerce ul.products li.product .price{padding:4px 10px 10px;font-size:.98rem;}
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .button{margin:0 10px 10px;padding:9px 8px;min-height:40px;font-size:.78rem;}
  .woocommerce ul.products li.product a.added_to_cart{margin:-4px 10px 10px;}
  .woocommerce ul.products li.product .onsale{top:8px;left:8px;font-size:.64rem;padding:3px 8px;}
}

.woocommerce .woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;justify-content:center;}
.woocommerce .woocommerce-pagination a,.woocommerce .woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;border-radius:var(--radius-s);border:1px solid var(--border);color:var(--ink);background:var(--surface);}
.woocommerce .woocommerce-pagination a:hover{text-decoration:none;background:var(--surface-2);}
.woocommerce .woocommerce-pagination .current{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.woocommerce-no-products-found .woocommerce-info{justify-content:center;}

/* ---- botões ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;padding:11px 22px;min-height:44px;font-weight:700;font-size:.9rem;line-height:1.2;background:var(--accent);color:var(--on-accent);cursor:pointer;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:var(--accent-strong);color:var(--on-accent);text-decoration:none;}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--accent);}
.woocommerce button.button:disabled,.woocommerce button.button.disabled,.woocommerce a.button.disabled{opacity:.5;cursor:not-allowed;}
.woocommerce span.onsale{background:var(--gold);}

/* ---- estrelas de avaliação (sem o CSS padrão do WooCommerce) ---- */
.star-rating{position:relative;display:inline-block;overflow:hidden;width:5.4em;height:1.1em;line-height:1;font-size:.9rem;letter-spacing:.1em;color:var(--gold);}
.star-rating::before{content:'☆☆☆☆☆';position:absolute;top:0;left:0;}
.star-rating span{position:absolute;top:0;left:0;overflow:hidden;height:100%;padding-top:1.5em;}
.star-rating span::before{content:'★★★★★';position:absolute;top:0;left:0;}

/* =========================================================================
   PÁGINA DE PRODUTO
   A página é uma grade de 2 colunas (fotos | informações). Abas, produtos
   relacionados e o selo de promoção ocupam a largura toda — antes caíam
   dentro de uma das colunas e bagunçavam o layout. min-width:0 impede a
   galeria de "estourar" a largura da tela no celular.
   ========================================================================= */
.woocommerce div.product{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-bottom:40px;}
.woocommerce div.product > *{min-width:0;}
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells,
.woocommerce div.product > .up-sells,
.woocommerce div.product > section,
.woocommerce div.product > .woocommerce-notices-wrapper{grid-column:1 / -1;}
.woocommerce div.product > .onsale{position:absolute;top:14px;left:14px;z-index:9;color:#fff;font-size:.74rem;font-weight:700;padding:5px 12px;border-radius:999px;}
@media (max-width:800px){.woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:28px;}}

/* galeria */
.woocommerce-product-gallery{position:relative;margin:0;}
.woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce-product-gallery__image a{display:block;}
.woocommerce div.product div.images img{width:100%;border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface-3);}
.woocommerce-product-gallery .flex-viewport{border-radius:var(--radius-l);}
.woocommerce-product-gallery .flex-viewport img{border:none;border-radius:0;}
.woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:10px 0 0;}
.woocommerce-product-gallery .flex-control-thumbs li{margin:0;}
.woocommerce div.product div.images .flex-control-thumbs img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-s);cursor:pointer;opacity:.55;transition:opacity .15s;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;border-color:var(--accent);}
/* Antes do script da galeria carregar (ou sem ele), fotos extras viram miniaturas. */
.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n+2){display:inline-block;width:calc(25% - 6px);margin:8px 8px 0 0;vertical-align:top;}
.woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n+2) img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-s);}
.woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:9;width:42px;height:42px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:var(--ink);}
.woocommerce-product-gallery__trigger:hover{text-decoration:none;}
.woocommerce-product-gallery__trigger img{display:none !important;}
@media (max-width:800px){
  .woocommerce div.product div.images img{border-radius:var(--radius-m);}
  .woocommerce-product-gallery .flex-viewport{border-radius:var(--radius-m);}
  .woocommerce-product-gallery .flex-control-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
  .woocommerce-product-gallery .flex-control-thumbs:has(li:nth-child(6)){display:flex;overflow-x:auto;scroll-snap-type:x proximity;}
  .woocommerce-product-gallery .flex-control-thumbs:has(li:nth-child(6)) li{flex:0 0 19%;scroll-snap-align:start;}
}

/* resumo / compra */
.woocommerce div.product .summary{padding-top:4px;}
.woocommerce div.product .summary h1.product_title{font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.2;margin-bottom:8px;}
.woocommerce div.product .summary .price{font-family:var(--font-display);color:var(--accent);font-size:1.6rem;font-weight:700;margin-bottom:16px;display:block;}
.woocommerce div.product .summary .price del{color:var(--ink-faint);font-size:.7em;font-weight:400;margin-right:6px;}
.woocommerce div.product .summary .price ins{text-decoration:none;}
.woocommerce div.product .summary .woocommerce-product-details__short-description{color:var(--ink-muted);margin-bottom:18px;}
.woocommerce div.product .stock{font-size:.86rem;font-weight:700;color:var(--good);margin:0 0 12px;}
.woocommerce div.product .stock.out-of-stock{color:var(--danger);}
.woocommerce div.product form.cart{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:0 0 20px;}
.woocommerce div.product form.cart .quantity{display:inline-flex;flex:none;}
.woocommerce div.product form.cart .quantity input{width:72px;height:100%;min-height:48px;border:1px solid var(--border);border-radius:999px;padding:10px;text-align:center;background:var(--surface);color:var(--ink);}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 200px;min-height:48px;font-size:1rem;}
.woocommerce div.product .product_meta{font-size:.82rem;color:var(--ink-muted);display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px solid var(--border);}
.woocommerce div.product .product_meta a{color:var(--ink-muted);text-decoration:underline;}
.woocommerce-product-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--gold);font-size:.86rem;}
.woocommerce-product-rating .woocommerce-review-link{color:var(--ink-muted);font-size:.8rem;}

/* produtos com variações (tamanho, cor...) */
.woocommerce div.product form.variations_form{flex-direction:column;align-items:stretch;}
.woocommerce div.product table.variations{width:100%;border-collapse:collapse;margin:0 0 6px;}
.woocommerce div.product table.variations tr{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.woocommerce div.product table.variations th,.woocommerce div.product table.variations td{display:block;padding:0;text-align:left;}
.woocommerce div.product table.variations label{font-size:.82rem;font-weight:700;color:var(--ink-muted);}
.woocommerce div.product table.variations select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:var(--radius-s);padding:10px 12px;background:var(--surface);color:var(--ink);}
.woocommerce div.product .reset_variations{display:inline-block;margin-top:8px;font-size:.8rem;}
.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;gap:12px;flex-wrap:wrap;}
.woocommerce div.product .woocommerce-variation-price .price{font-size:1.3rem;margin:4px 0 10px;}

/* abas (descrição, informações, avaliações) — rolam de lado no celular */
.woocommerce-tabs{margin-top:16px;}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;list-style:none;padding:0;border-bottom:1px solid var(--border);margin:0 0 20px;overflow-x:auto;scrollbar-width:none;}
.woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none;}
.woocommerce-tabs ul.tabs li{flex:none;border-radius:var(--radius-s) var(--radius-s) 0 0;font-weight:700;font-size:.88rem;}
.woocommerce-tabs ul.tabs li a{display:block;padding:11px 16px;color:var(--ink-muted);white-space:nowrap;}
.woocommerce-tabs ul.tabs li a:hover{text-decoration:none;color:var(--ink);}
.woocommerce-tabs ul.tabs li.active{background:var(--accent-soft);}
.woocommerce-tabs ul.tabs li.active a{color:var(--accent-strong);}
.woocommerce-tabs .panel{color:var(--ink);max-width:78ch;}
.woocommerce-tabs .panel > h2:first-child{font-size:1.2rem;}
.woocommerce-tabs .panel img{border-radius:var(--radius-m);}
.woocommerce-tabs .panel ul{list-style:disc;padding-left:1.3em;margin-bottom:1em;}
.woocommerce table.woocommerce-product-attributes{width:100%;border-collapse:collapse;font-size:.9rem;}
.woocommerce table.woocommerce-product-attributes th,.woocommerce table.woocommerce-product-attributes td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
.woocommerce table.woocommerce-product-attributes th{width:34%;color:var(--ink-muted);font-weight:700;}
.woocommerce table.woocommerce-product-attributes td p{margin:0;}
#reviews ol.commentlist{list-style:none;padding:0;margin:0 0 20px;}
#reviews .comment_container{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);}
#reviews .comment_container img.avatar{width:40px;height:40px;border-radius:50%;flex:none;}
#reviews .comment-text{flex:1;min-width:0;}
#review_form textarea,#review_form input[type="text"],#review_form input[type="email"]{width:100%;border:1px solid var(--border);border-radius:var(--radius-s);padding:11px 13px;background:var(--surface);}
#review_form .comment-form-rating .stars a{font-size:1.2rem;}

.related.products,.upsells.products{margin-top:20px;}
.related.products > h2,.upsells.products > h2{font-size:1.3rem;margin-bottom:18px;}
@media (max-width:700px){.related.products > h2,.upsells.products > h2{font-size:1.15rem;margin-bottom:12px;}}

/* =========================================================================
   CAMPOS DE FORMULÁRIO (login, cadastro, endereço, checkout clássico)
   ========================================================================= */
.woocommerce form .form-row{margin:0 0 14px;padding:0;}
.woocommerce form .form-row label{display:block;font-size:.82rem;font-weight:700;color:var(--ink-muted);margin-bottom:5px;}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);}
.woocommerce form .form-row .required{color:var(--danger);text-decoration:none;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection{width:100%;min-height:46px;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-s);padding:11px 13px;}
.woocommerce form .form-row textarea{min-height:100px;}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 7px);display:inline-block;vertical-align:top;}
.woocommerce form .form-row-first{margin-right:10px;}
.woocommerce form .form-row-wide{clear:both;width:100%;}
@media (max-width:560px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-right:0;}}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--danger);}
.select2-container .select2-selection--single{height:auto;display:flex;align-items:center;}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;box-shadow:var(--shadow);margin-bottom:20px;}

/* =========================================================================
   CARRINHO — versão clássica ([woocommerce_cart])
   ========================================================================= */
table.shop_table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;margin-bottom:24px;}
table.shop_table th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);}
table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:.9rem;vertical-align:middle;}
table.shop_table td.product-name a{font-weight:700;color:var(--ink);}
table.shop_table td.product-remove a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--danger-soft);color:var(--danger);font-weight:700;font-size:1.2rem;}
table.shop_table td.product-remove a:hover{text-decoration:none;}
table.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-s);}
.woocommerce-cart-form .quantity input{width:64px;min-height:40px;border:1px solid var(--border);border-radius:var(--radius-s);padding:8px;text-align:center;background:var(--surface);}
table.shop_table td.actions{text-align:right;}
table.shop_table td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;float:left;}
table.shop_table td.actions .coupon input.input-text{min-height:44px;border:1px solid var(--border);border-radius:999px;padding:10px 16px;background:var(--surface);}
.cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;}
@media (min-width:901px){.cart-collaterals .cart_totals{max-width:460px;margin-left:auto;width:100%;}}
.cart_totals{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;box-shadow:var(--shadow);}
.cart_totals h2{font-size:1.05rem;}
.cart_totals table{width:100%;border-collapse:collapse;}
.cart_totals table td,.cart_totals table th{padding:10px 0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
.cart_totals table td{text-align:right;}
.cart_totals .order-total .amount{color:var(--accent);font-weight:700;font-family:var(--font-display);font-size:1.2rem;}
.wc-proceed-to-checkout{padding-top:14px;}
.wc-proceed-to-checkout a{width:100%;min-height:50px;font-size:1rem;}

/* ---- botão "Limpar carrinho" ---- */
.atelie-limpar-carrinho-wrap{display:flex;justify-content:flex-end;margin-bottom:12px;}
.atelie-limpar-carrinho{font-size:.82rem;font-weight:700;color:var(--danger);text-decoration:underline;padding:6px 0;}
.atelie-limpar-carrinho:hover{color:var(--danger);opacity:.8;}

/* ---- aviso "escolha a transportadora na próxima etapa", no carrinho ---- */
.atelie-frete-proxima-etapa{margin:4px 0 0;font-size:.8rem;color:var(--ink-muted);font-style:italic;}

/* ---- calculadora de frete (carrinho e produto) ---- */
.woocommerce-shipping-calculator{margin-top:10px;}
.woocommerce-shipping-calculator .shipping-calculator-button{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 0;font-size:.86rem;font-weight:700;color:var(--accent);cursor:pointer;text-decoration:underline;}
.woocommerce-shipping-calculator .shipping-calculator-button:hover{color:var(--accent-strong);}
.shipping-calculator-form{margin-top:12px;padding:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;text-align:left;}
.shipping-calculator-form p{margin:0;}
.shipping-calculator-form label{display:block;font-size:.8rem;font-weight:700;color:var(--ink-muted);margin-bottom:4px;}
.shipping-calculator-form select,
.shipping-calculator-form input[type="text"]{width:100%;min-height:44px;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-s);padding:10px 12px;}
.shipping-calculator-form .button{width:100%;margin-top:4px;}
.woocommerce-shipping-totals.shipping td,
.woocommerce-shipping-totals.shipping th{vertical-align:top;}
.woocommerce-shipping-totals ul#shipping_method{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.woocommerce-shipping-totals ul#shipping_method li{font-size:.88rem;}
#calc_shipping_country_field,#calc_shipping_state_field,#calc_shipping_postcode_field,#calc_shipping_city_field{margin-bottom:0;}

/* ---- tabelas do carrinho em "cartão empilhado" no celular
   (o WooCommerce já marca cada célula com data-title) ---- */
@media (max-width:700px){
  table.shop_table.cart{border:none;background:none;}
  table.shop_table.shop_table_responsive thead{display:none;}
  table.shop_table.shop_table_responsive,
  table.shop_table.shop_table_responsive tbody,
  table.shop_table.shop_table_responsive tr{display:block;width:100%;}
  table.shop_table.shop_table_responsive tr.cart_item{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:8px 14px;margin-bottom:12px;}
  table.shop_table.shop_table_responsive td{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 0;border-bottom:1px dashed var(--border);text-align:right;}
  table.shop_table.shop_table_responsive tr.cart_item td:last-child{border-bottom:none;}
  table.shop_table.shop_table_responsive td::before{content:attr(data-title);font-weight:700;color:var(--ink-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;text-align:left;}
  table.shop_table.shop_table_responsive td.product-thumbnail{justify-content:flex-start;border-bottom:none;padding-bottom:0;}
  table.shop_table.shop_table_responsive td.product-thumbnail::before,
  table.shop_table.shop_table_responsive td.product-remove::before,
  table.shop_table.shop_table_responsive td.actions::before{content:none;}
  table.shop_table.shop_table_responsive td.product-remove{position:absolute;top:10px;right:10px;width:auto;padding:0;border:none;}
  table.shop_table.shop_table_responsive td.product-name{text-align:left;flex-direction:column;align-items:flex-start;padding-right:40px;}
  table.shop_table.shop_table_responsive td.product-name::before{margin-bottom:2px;}
  table.shop_table.shop_table_responsive td.actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;border:none;padding:4px 0;}
  table.shop_table td.actions .coupon{float:none;width:100%;}
  table.shop_table td.actions .coupon input.input-text{flex:1 1 150px;}
  table.shop_table td.actions .button{width:100%;}
  .cart_totals{padding:16px;}
}

/* =========================================================================
   FINALIZAÇÃO DO PEDIDO — versão clássica ([woocommerce_checkout])
   Só o <form> do checkout vira grade. Antes a regra valia para
   ".woocommerce-checkout", que também é classe do <body> — e o site
   inteiro (cabeçalho, conteúdo, rodapé) virava duas colunas.
   Computador: dados à esquerda, resumo + pagamento "grudado" à direita.
   Celular/tablet: dados → resumo → pagamento → botão, nessa ordem.
   ========================================================================= */
form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:32px;align-items:start;}
form.woocommerce-checkout:has(> .woocommerce-NoticeGroup){grid-template-rows:auto auto 1fr;}
form.woocommerce-checkout > *{grid-column:1 / -1;min-width:0;}
form.woocommerce-checkout > #customer_details{grid-column:1;grid-row:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;box-shadow:var(--shadow);}
form.woocommerce-checkout #customer_details .col-1,form.woocommerce-checkout #customer_details .col-2{min-width:0;}
form.woocommerce-checkout > #order_review_heading{grid-column:2;margin:0 0 10px;font-size:1.2rem;}
form.woocommerce-checkout > #order_review{grid-column:2;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:20px;box-shadow:var(--shadow);position:sticky;top:96px;}
form.woocommerce-checkout h3{font-size:1.1rem;}
@media (max-width:1024px){form.woocommerce-checkout > #customer_details{grid-template-columns:minmax(0,1fr);}}
@media (max-width:900px){
  form.woocommerce-checkout,form.woocommerce-checkout:has(> .woocommerce-NoticeGroup){grid-template-columns:minmax(0,1fr);grid-template-rows:none;}
  form.woocommerce-checkout > #customer_details,
  form.woocommerce-checkout > #order_review_heading,
  form.woocommerce-checkout > #order_review{grid-column:1;grid-row:auto;}
  form.woocommerce-checkout > #customer_details{margin-bottom:22px;}
  form.woocommerce-checkout > #order_review{position:static;}
}
@media (max-width:560px){
  form.woocommerce-checkout > #customer_details,form.woocommerce-checkout > #order_review{padding:16px;}
}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{font-weight:500;}
form.checkout_coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:16px;margin-bottom:20px;}
form.checkout_coupon p:not(.form-row){flex-basis:100%;margin:0;}
form.checkout_coupon .form-row{flex:1 1 180px;margin:0;}

#order_review table.shop_table,
.woocommerce-checkout-review-order-table{border:none;box-shadow:none;background:none;font-size:.88rem;margin-bottom:0;}
#order_review table.shop_table thead th{background:none;padding:0 0 8px;}
#order_review table.shop_table td,
#order_review table.shop_table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th{padding:9px 0;vertical-align:top;}
#order_review table.shop_table tfoot th{background:none;text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:600;color:var(--ink);}
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td{text-align:right;}
.woocommerce-checkout-review-order-table .product-thumbnail,
.woocommerce-checkout-review-order-table .product-thumbnail img{display:none !important;}
.woocommerce-checkout-review-order-table .product-name{font-weight:600;}
.woocommerce-checkout-review-order-table .product-name .product-quantity{color:var(--ink-muted);font-weight:400;}
.woocommerce-checkout-review-order-table .order-total .amount{color:var(--accent);font-family:var(--font-display);font-size:1.15rem;}

/* Pagamento em "sanfona": só o método escolhido mostra seus campos. */
#order_review .woocommerce-checkout-payment{background:var(--surface-2);border-radius:var(--radius-m);padding:6px 16px 16px;margin-top:16px;}
#order_review ul.payment_methods{list-style:none;padding:0;margin:0;}
#order_review ul.payment_methods li{padding:14px 0;border-bottom:1px solid var(--border);}
#order_review ul.payment_methods li:last-child{border-bottom:none;}
#order_review ul.payment_methods li input[type="radio"]{margin-right:8px;width:18px;height:18px;vertical-align:middle;accent-color:var(--accent);}
#order_review ul.payment_methods li label{display:inline;font-weight:700;color:var(--ink);margin:0;cursor:pointer;}
#order_review ul.payment_methods li label img{display:inline-block;max-height:22px;width:auto;vertical-align:middle;margin-left:6px;}
#order_review .payment_box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:14px;margin-top:10px;font-size:.86rem;color:var(--ink-muted);overflow-x:auto;}
#order_review .payment_box::before{display:none;}
#place_order{width:100%;padding:16px;min-height:54px;font-size:1rem;margin-top:16px;}
.woocommerce-terms-and-conditions-wrapper{margin:12px 0;font-size:.84rem;}
.woocommerce-privacy-policy-text{font-size:.8rem;color:var(--ink-muted);}

/* =========================================================================
   CARRINHO E CHECKOUT EM BLOCOS (padrão nas lojas novas do WooCommerce)
   O layout é do próprio WooCommerce; aqui só alinhamos com a identidade.
   ========================================================================= */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--font-body);}
.wp-block-woocommerce-cart.alignwide,.wp-block-woocommerce-checkout.alignwide{max-width:none;margin-left:0;margin-right:0;}
.wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button){border-radius:999px !important;background:var(--accent);color:var(--on-accent);font-weight:700;min-height:50px;}
.wc-block-components-button:not(.is-link):not(.wc-block-components-quantity-selector__button):hover{background:var(--accent-strong);color:var(--on-accent);text-decoration:none;}
.wc-block-components-button.outlined:not(.is-link){background:transparent;color:var(--ink);border:1px solid var(--border);}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{color:var(--accent);font-family:var(--font-display);}
.wc-block-components-product-name{color:var(--ink);font-weight:700;}
.wc-block-cart-item__image img{border-radius:var(--radius-s);}
.wc-block-components-sidebar-layout .wc-block-components-main{min-width:0;}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-components-sidebar .wc-block-components-totals-wrapper{border-color:var(--border);}
.wc-block-components-radio-control__option{border-radius:var(--radius-s);}
.wc-block-components-radio-control__input:checked{border-color:var(--accent);}
.wc-block-components-radio-control__input:checked::before{background:var(--accent);}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);}
.wc-block-cart__submit-container--sticky{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));}

/* =========================================================================
   MINHA CONTA
   Computador: menu à esquerda + conteúdo. Celular: menu vira uma fileira
   de botões que rola de lado, acima do conteúdo.
   ========================================================================= */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;}
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper{grid-column:1 / -1;}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;box-shadow:var(--shadow);}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;color:var(--ink);font-weight:600;font-size:.88rem;}
.woocommerce-MyAccount-navigation a:hover{background:var(--surface-2);text-decoration:none;}
.woocommerce-MyAccount-navigation .is-active a{background:var(--accent-soft);color:var(--accent-strong);}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0;}
.woocommerce-MyAccount-content table.shop_table{display:block;overflow-x:auto;}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.woocommerce-account .woocommerce-Address{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);padding:16px;}
.woocommerce-account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;}
.woocommerce-account .woocommerce-Address-title h2,.woocommerce-account .woocommerce-Address-title h3{font-size:1.05rem;margin:0;}
@media (max-width:800px){
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr);gap:18px;}
  .woocommerce-MyAccount-navigation ul{flex-direction:row;gap:6px;overflow-x:auto;background:none;border:none;box-shadow:none;border-radius:0;padding-bottom:4px;scrollbar-width:none;}
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none;}
  .woocommerce-MyAccount-navigation li{flex:none;}
  .woocommerce-MyAccount-navigation a{padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:.84rem;white-space:nowrap;}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:minmax(0,1fr);}
}
.woocommerce-account .u-columns.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
@media (max-width:800px){.woocommerce-account .u-columns.col2-set{grid-template-columns:minmax(0,1fr);gap:0;}}

/* ---- aviso da busca de CEP no checkout (assets/js/checkout-cep.js) ---- */
#atelie-cep-aviso{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:min(420px,90vw);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:.86rem;text-align:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:9999;}
#atelie-cep-aviso.visivel{opacity:1;}
#atelie-cep-aviso.erro{background:#9B2C2C;color:#fff;border-radius:var(--radius-m);}

/* ---- 1.11.0: botão "Limpar carrinho" agora é um formulário POST (F05) ---- */
button.atelie-limpar-carrinho{background:none;border:0;cursor:pointer;font-family:inherit;}
.atelie-frete-linha td{padding-top:0;border-top:0;}

/* ---- 1.11.1: resumo mínimo na página de rastreio (SEC-02) ---- */
.rastreio-resumo{margin-top:16px;}
.rastreio-resumo-nota{font-size:.82rem;color:var(--ink-muted);margin-top:12px;}

/* ---- 1.11.2: dicas curtas nos campos de endereço (CEP, número, complemento) ---- */
.atelie-com-dica{position:relative;}
.atelie-com-dica::after{content:attr(data-atelie-dica);display:block;margin:4px 2px 0;font-size:.74rem;line-height:1.3;color:var(--ink-muted);}
.rastrear-pedido .atelie-com-dica::after{display:none;}
/* Bloco de rastreio do rodapé */
.footer-rastreio{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-m);background:var(--accent-soft);color:var(--ink);}
.footer-rastreio-texto{display:flex;flex-direction:column;gap:2px;}
.footer-rastreio-texto strong{font-size:.95rem;}
.footer-rastreio-texto span{font-size:.82rem;color:var(--ink-muted);}
.footer-rastreio .btn{display:inline-flex;align-items:center;gap:8px;}
.footer-rastreio .btn svg{width:18px;height:18px;}

/* ---- 1.11.7: arranjo do endereço (País · Nome|Sobrenome · CEP ·
   Endereço|Número · Complemento|Bairro · Cidade|Estado · Telefone).
   As posições e larguras vêm do checkout-cep.js; aqui fica só a grade. ---- */
.atelie-endereco-ordenado{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:12px !important;align-items:start;}
/* grid-row solto (grid-area zeraria a largura em colunas definida no JS). */
.atelie-endereco-ordenado > *{width:auto !important;max-width:none !important;grid-row:auto !important;margin:0 !important;}
@media (max-width:700px){
  /* No celular tudo em uma coluna, menos Cidade|Estado, que cabem juntos. */
  .atelie-endereco-ordenado{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .atelie-endereco-ordenado > *{grid-column:span 2 !important;}
  .atelie-endereco-ordenado > [style*="order: 9"],
  .atelie-endereco-ordenado > [style*="order: 10"]{grid-column:span 1 !important;}
}
