/* =========================================================================
   Império do Ovo — telas transacionais (conta, carrinho, checkout).

   Carregado só nas páginas do WooCommerce: a home não paga o custo destes
   ~14 KB. Reaproveita os tokens de app.css; nada de cor solta aqui.
   ========================================================================= */

/* ---------- Cabeçalho das páginas ---------- */
.woo-page{max-width:min(1180px,92vw);padding-top:2.2rem;padding-bottom:4rem}
/* .iptx tem medida de leitura (760px) para textos institucionais; aqui atrapalha. */
.woo-page .iptx{max-width:none;margin-inline:0}
.woo-head{margin-bottom:2rem}
.woo-head .eyebrow{color:var(--ink-3);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.woo-head h1{
  font-family:var(--font-d);text-transform:uppercase;
  font-size:clamp(2.1rem,5.2vw,3.4rem);line-height:1.04;padding-top:.06em;
  margin-top:.5rem;overflow:visible
}
.woo-sub{margin-top:.7rem;color:var(--ink-2);max-width:56ch;font-size:1rem}
.woo-head-linha{margin-top:1.6rem;height:1px;background:var(--line)}

/* ---------- Grade geral da conta ---------- */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:272px minmax(0,1fr);gap:0 2rem;align-items:start
}
/* O core do WooCommerce ainda manda float:left/right e width:30%/68% nesses dois
   blocos. Dentro do grid o float é ignorado, mas a largura % não — por isso a
   posição e a largura são fixadas explicitamente. */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-row:1;grid-column:1/-1}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:not(:empty){margin-bottom:1.5rem}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{grid-row:2;grid-column:1;width:100%;float:none}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-row:2;grid-column:2;width:100%;float:none}
.woocommerce-MyAccount-content{color:var(--ink-2);min-width:0}

/* ---------- Menu lateral ---------- */
.cnt-nav{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1rem;
  box-shadow:0 12px 34px rgba(27,18,9,.06);position:sticky;top:96px
}
.cnt-user{display:flex;align-items:center;gap:.75rem;padding:.35rem .45rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.7rem}
.cnt-user span.cnt-avatar{
  width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--ink);color:var(--yolk);font-family:var(--font-d);font-size:1.3rem;line-height:1;
  overflow:visible;white-space:normal
}
.cnt-user > div{min-width:0}
.cnt-user strong{display:block;font-size:.95rem;color:var(--ink);line-height:1.25}
.cnt-user > div > span{display:block;font-size:.76rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cnt-nav ul{list-style:none;padding:0;margin:0;display:grid;gap:.18rem}
.cnt-nav li a{
  display:flex;align-items:center;gap:.7rem;padding:.68rem .75rem;border-radius:12px;
  font-weight:600;font-size:.94rem;color:var(--ink-2);transition:background .18s,color .18s
}
.cnt-ic{width:19px;height:19px;flex:none;opacity:.7}
.cnt-nav li a:hover{background:var(--paper-2);color:var(--ink)}
.cnt-nav li.is-active a{background:var(--ink);color:var(--paper)}
.cnt-nav li.is-active .cnt-ic{opacity:1;color:var(--yolk)}
.cnt-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--ink-3);font-weight:500}
.cnt-wa{
  display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.9rem;
  padding:.72rem .9rem;border-radius:12px;background:var(--wa);color:#062B16;
  font-weight:800;font-size:.9rem;transition:background .2s
}
.cnt-wa:hover{background:#2EE374}
.cnt-wa svg{width:18px;height:18px;flex:none}

/* ---------- Cartões ---------- */
.cnt-card{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.4rem;
  box-shadow:0 12px 34px rgba(27,18,9,.05)
}
.cnt-ola{font-size:1.06rem;color:var(--ink);margin-bottom:1.1rem}
.cnt-intro{color:var(--ink-2);margin-bottom:1.2rem;max-width:56ch}
.cnt-lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.cnt-num{font-family:var(--font-d);font-size:1.5rem;line-height:1.1;margin-top:.2rem;color:var(--ink)}
.cnt-meta{font-size:.87rem;color:var(--ink-3);margin-top:.25rem}
.cnt-resumo{font-size:.92rem;color:var(--ink-2);margin:.8rem 0}

/* Etiqueta de status */
.cnt-pill{
  display:inline-flex;align-items:center;gap:.4rem;padding:.36rem .75rem;border-radius:999px;
  font-size:.78rem;font-weight:800;letter-spacing:.01em;white-space:nowrap
}
.cnt-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cnt-pill--ok{background:rgba(37,211,102,.16);color:#12703D}
.cnt-pill--andamento{background:var(--yolk-soft);color:#8A5A00}
.cnt-pill--esperando{background:rgba(232,84,30,.14);color:var(--orange-d)}
.cnt-pill--off{background:rgba(27,18,9,.08);color:var(--ink-3)}

/* Último pedido */
.cnt-ultimo-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.cnt-itens{list-style:none;padding:0;margin:1.1rem 0 0;display:grid;gap:.55rem;border-top:1px solid var(--line);padding-top:1rem}
.cnt-itens li{display:flex;align-items:center;gap:.7rem;font-size:.92rem;color:var(--ink-2)}
.cnt-itens img,.cnt-ph{width:42px;height:42px;border-radius:10px;object-fit:cover;flex:none;background:var(--paper-2)}
.cnt-itens span{flex:1;min-width:0}
.cnt-itens b{color:var(--ink);font-variant-numeric:tabular-nums}
.cnt-acoes{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-2)}
.btn-sm{min-height:42px;padding:.5rem 1.05rem;font-size:.88rem;border-radius:11px}

/* Estado vazio */
.cnt-vazio{text-align:center;padding:2.6rem 1.4rem}
.cnt-vazio-ic{font-size:2.6rem;display:block;margin-bottom:.6rem}
.cnt-vazio h3{font-family:var(--font-b);text-transform:none;font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.3}
.cnt-vazio p{margin:.5rem auto 1.4rem;max-width:44ch;color:var(--ink-2);font-size:.94rem}

/* Grade de atalhos / endereços */
.cnt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.2rem}
.cnt-grid--1{grid-template-columns:minmax(0,1fr)}
.cnt-grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.cnt-atalho{display:block;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
.cnt-atalho:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(27,18,9,.1);border-color:rgba(27,18,9,.22)}
.cnt-atalho svg{width:26px;height:26px;color:var(--orange);margin-bottom:.85rem}
.cnt-atalho h3{font-family:var(--font-b);text-transform:none;font-size:1rem;font-weight:800;color:var(--ink);line-height:1.3}
.cnt-atalho p{font-size:.87rem;color:var(--ink-3);margin-top:.35rem;line-height:1.5}

/* Lista de pedidos */
.cnt-pedidos{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.cnt-pedidos > li{list-style:none;margin:0}
.cnt-pedidos > li::marker{content:none}
.cnt-pedido-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.cnt-pedido-rod{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:.95rem;margin-top:.2rem
}
.cnt-total{font-family:var(--font-d);font-size:1.3rem;color:var(--ink)}
.cnt-total del{opacity:.45;font-size:.8em;margin-right:.3rem}
.cnt-pag{display:flex;gap:.6rem;margin-top:1.4rem}

/* Endereços */
.cnt-end-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem}
.cnt-end h3{font-family:var(--font-b);text-transform:none;font-size:1.02rem;font-weight:800;color:var(--ink);line-height:1.3}
.cnt-editar{font-size:.85rem;font-weight:700;color:var(--orange);border-bottom:1.5px solid currentColor;padding-bottom:1px}
.cnt-editar:hover{color:var(--orange-d)}
.cnt-end address{font-style:normal;color:var(--ink-2);line-height:1.7;font-size:.95rem}
.cnt-end-vazio{color:var(--ink-3);font-size:.92rem}

/* ---------- Formulários dentro da conta ---------- */
.woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
.woocommerce-MyAccount-content form.woocommerce-address-fields,
.woocommerce-MyAccount-content form.edit-account{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.6rem;
  box-shadow:0 12px 34px rgba(27,18,9,.05)
}
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content legend{
  font-family:var(--font-b);text-transform:none;font-size:1.02rem;font-weight:800;color:var(--ink);line-height:1.35
}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--line);border-radius:14px;padding:1.1rem;margin-top:1.4rem}
.woocommerce-MyAccount-content fieldset legend{padding:0 .5rem}
.woocommerce form .form-row{margin-bottom:1rem}
.woocommerce form .form-row label{display:block;font-size:.85rem;font-weight:700;color:var(--ink-2);margin-bottom:.35rem}
.woocommerce form .form-row .required{color:var(--orange);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  width:100%;border:1.5px solid var(--line);border-radius:12px;padding:.78rem .95rem;
  background:#fff;font:inherit;color:var(--ink);transition:border-color .18s,box-shadow .18s
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(27,18,9,.07)
}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce-MyAccount-content .form-row:has(> input[type="submit"]),
.woocommerce-MyAccount-content .form-row button{margin-top:.6rem}
.woocommerce-input-wrapper{display:block}
em.woocommerce-input-wrapper + span,
.woocommerce form .form-row span.description{display:block;font-size:.8rem;color:var(--ink-3);margin-top:.35rem;font-style:normal}

/* ---------- Botões do WooCommerce ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--ink);color:var(--paper);border:none;border-radius:13px;
  padding:.85rem 1.5rem;font-weight:800;font-size:.94rem;line-height:1.2;
  box-shadow:0 12px 26px rgba(27,18,9,.2);transition:background .2s,transform .18s var(--pop),box-shadow .2s
}
.woocommerce .button:hover,.woocommerce button.button:hover,
.woocommerce a.button:hover,.woocommerce input.button:hover{background:#000;color:var(--paper)}
.woocommerce .button:active{transform:scale(.98)}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--orange);color:#fff;box-shadow:0 14px 30px rgba(232,84,30,.32)
}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--orange-d);color:#fff}

/* ---------- Avisos ---------- */
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-notice{
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-top:3px solid var(--yolk);
  border-radius:14px;padding:1rem 1.2rem;margin-bottom:1.4rem;list-style:none;
  color:var(--ink-2);font-size:.94rem;box-shadow:0 8px 24px rgba(27,18,9,.05)
}
.woocommerce-message{border-top-color:var(--wa)}
.woocommerce-error{border-top-color:var(--orange);color:var(--ink)}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-info .button,.woocommerce-message .button{order:2;margin-left:auto;flex:none}

/* ---------- Carrinho ---------- */
.woocommerce table.shop_table{
  width:100%;border:1px solid var(--line);border-radius:18px;border-collapse:separate;
  border-spacing:0;overflow:hidden;background:var(--card)
}
.woocommerce table.shop_table th{background:var(--paper-2);font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:.9rem 1rem;text-align:left}
.woocommerce table.shop_table td{padding:1rem;border-top:1px solid var(--line);vertical-align:middle}
.woocommerce table.shop_table img{width:60px;border-radius:10px}

/* ---------- Checkout ---------- */
/* O formulário tem filhos de largura total antes das colunas (Apple/Google Pay,
   separador, avisos). Eles ficam em linhas automáticas no topo; os dois blocos
   que formam as colunas são fixados numa linha alta, garantindo que dividam a
   mesma faixa qualquer que seja a quantidade de blocos acima. row-gap fica em 0
   (as linhas vazias entre 4 e 50 não podem gerar espaço) e o respiro vem de
   margin-bottom. */
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:minmax(0,1fr) 380px;
  column-gap:2rem;row-gap:0;align-items:start
}
.woocommerce-checkout form.checkout > *{grid-column:1/-1;margin-bottom:1.2rem}
.woocommerce-checkout form.checkout > #customer_details{grid-column:1;grid-row:50;margin-bottom:0}
.woocommerce-checkout form.checkout > #order_review{
  grid-column:2;grid-row:50;margin-bottom:0;position:sticky;top:96px
}
/* O título "Seu pedido" é irmão do resumo, não filho: viraria uma terceira
   célula e desalinharia a coluna. Vira pseudo-elemento do próprio resumo. */
.woocommerce-checkout form.checkout > #order_review_heading{display:none}
.woocommerce-checkout form.checkout > #order_review::before{
  content:"Seu pedido";display:block;font-weight:800;font-size:1.06rem;
  color:var(--ink);line-height:1.35;margin-bottom:1rem
}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none;padding:0}
.woocommerce-checkout .col2-set .col-2{margin-top:1.6rem}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.6rem;
  box-shadow:0 12px 34px rgba(27,18,9,.05)
}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{
  font-family:var(--font-b);text-transform:none;font-size:1.06rem;font-weight:800;
  color:var(--ink);line-height:1.35;margin-bottom:1.1rem
}
.woocommerce-checkout #order_review{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.4rem;
  box-shadow:0 16px 40px rgba(27,18,9,.08);margin-top:.9rem
}
.woocommerce-checkout #order_review table.shop_table{border:none;box-shadow:none;background:none;border-radius:0}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{background:none;padding:.6rem 0;border-top:none;font-size:.93rem}
.woocommerce-checkout #order_review table.shop_table thead th{
  text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;color:var(--ink-3);padding-bottom:.8rem;border-bottom:1px solid var(--line)
}
.woocommerce-checkout #order_review table.shop_table tbody td{border-bottom:1px solid rgba(27,18,9,.06)}
.woocommerce-checkout #order_review table.shop_table td:last-child,
.woocommerce-checkout #order_review table.shop_table th:last-child{text-align:right;white-space:nowrap;width:1%}
.woocommerce-checkout #order_review table.shop_table td.product-name,
.woocommerce-checkout #order_review table.shop_table th.product-name{width:auto;padding-right:.8rem}
.woocommerce-checkout #order_review .product-name{color:var(--ink-2)}
.woocommerce-checkout #order_review .product-quantity{color:var(--ink-3);font-weight:700;white-space:nowrap}
.woocommerce-checkout #order_review .product-name .variation{font-size:.82rem;color:var(--ink-3)}
.woocommerce-checkout #order_review tfoot th{font-weight:700;color:var(--ink-2);text-transform:none;letter-spacing:0;font-size:.93rem}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td{
  padding-top:1rem;border-top:1.5px solid var(--line);font-size:1.05rem
}
.woocommerce-checkout #order_review tfoot .order-total td{font-family:var(--font-d);font-size:1.6rem;color:var(--ink)}
.woocommerce-checkout #payment{background:none;border-radius:0;margin-top:1.2rem}
.woocommerce-checkout #payment ul.payment_methods{
  border:1px solid var(--line);border-radius:14px;padding:1rem;background:var(--paper);list-style:none;margin:0
}
.woocommerce-checkout #payment div.form-row{padding:1rem 0 0}
.woocommerce-checkout #payment #place_order{
  width:100%;background:var(--orange);color:#fff;min-height:56px;font-size:1rem;
  border-radius:14px;box-shadow:0 16px 34px rgba(232,84,30,.34)
}
.woocommerce-checkout #payment #place_order:hover{background:var(--orange-d)}
.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:.78rem;color:var(--ink-3);line-height:1.5;margin-top:.8rem}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:.85rem}

/* Pagamento expresso (Apple Pay / Google Pay) */
.wc-stripe-payment-request-wrapper,
#wc-stripe-express-checkout-element,
.wc-block-components-express-payment{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.1rem;
  margin-bottom:1.2rem;box-shadow:0 12px 30px rgba(27,18,9,.05)
}
.wc-stripe-payment-request-wrapper::before,
#wc-stripe-express-checkout-element::before{
  content:"Pague em um toque";display:block;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:800;color:var(--ink-3);margin-bottom:.75rem
}
.wc-stripe-payment-request-button-separator,
.wc-stripe-express-checkout-button-separator{
  position:relative;text-align:center;margin:1.2rem 0;color:var(--ink-3);font-size:.78rem;
  text-transform:uppercase;letter-spacing:.14em
}

/* Selos de confiança */
.ck-selos{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.6rem;border-top:1px solid var(--line);padding-top:1.1rem}
.ck-selos li{display:flex;align-items:center;gap:.6rem;font-size:.84rem;color:var(--ink-3);line-height:1.4}
.ck-selos svg{width:17px;height:17px;flex:none;color:var(--wa-d)}

/* Cupom */
.woocommerce-form-coupon-toggle .woocommerce-info{border-top-color:var(--orange)}
.woocommerce form.checkout_coupon{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.3rem;margin-bottom:1.6rem
}

/* ---------- Login ---------- */
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:minmax(0,1fr);max-width:460px;margin-inline:auto}
.woocommerce form.login,.woocommerce form.register{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.8rem;
  box-shadow:0 16px 40px rgba(27,18,9,.07)
}
.woocommerce form.login .woocommerce-form-login__submit{width:100%}

/* ---------- Responsivo ---------- */
@media (max-width:1000px){
  .woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr)}
  .woocommerce-checkout form.checkout > #customer_details,
  .woocommerce-checkout form.checkout > #order_review{
    grid-column:1/-1;grid-row:auto;position:static
  }
  .woocommerce-checkout form.checkout > #order_review{margin-top:1.5rem}
}
@media (max-width:900px){
  /* Uma coluna só. O menu e o conteúdo estão presos em linhas explícitas para a
     versão de duas colunas; sem soltar aqui, os dois caem na mesma célula e
     ficam um por cima do outro. */
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:0}
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{
    grid-row:2;grid-column:1;margin-bottom:1.5rem
  }
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-row:3;grid-column:1}
  .cnt-nav{position:static}
  .cnt-nav ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}
}
@media (max-width:480px){
  /* Dois botões lado a lado a 390px deixam "Repetir este pedido" em três linhas. */
  .cnt-acoes{flex-direction:column}
  .cnt-acoes .btn{width:100%}
  .cnt-pedido-rod .cnt-acoes{flex-direction:row}
  .cnt-pedido-rod .cnt-acoes .btn{flex:1;width:auto}
}
@media (max-width:560px){
  .woo-page{padding-top:1.4rem}
  .cnt-card{padding:1.15rem;border-radius:17px}
  .cnt-pedido-top{flex-direction:column;gap:.6rem}
  .cnt-pedido-rod{flex-direction:column;align-items:stretch}
  .cnt-pedido-rod .cnt-acoes{margin-top:0}
  .cnt-acoes .btn{flex:1}
  .cnt-nav ul{grid-template-columns:repeat(2,1fr)}
  .cnt-nav li a{font-size:.88rem;padding:.6rem .55rem}
}
@media (prefers-reduced-motion:reduce){
  .cnt-atalho{transition:none}
}

/* Corpo da página (conteúdo do shortcode do WooCommerce) */
.woo-page .ip-body{margin-top:0}
.woo-page .iptx > .woo-head + .ip-body{margin-top:1.6rem}

/* ---------- Página do carrinho ---------- */
.woocommerce-cart .woocommerce{
  display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:2rem;row-gap:0;align-items:start
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:not(:empty){margin-bottom:1.5rem}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .cart-collaterals{
  grid-column:2;width:100%;float:none;position:sticky;top:96px
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:100%;float:none;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:1.4rem;box-shadow:0 16px 40px rgba(27,18,9,.08)
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--font-b);text-transform:none;font-size:1.06rem;font-weight:800;
  color:var(--ink);line-height:1.35;margin-bottom:1rem
}
.woocommerce-cart .cart_totals table.shop_table{border:none;box-shadow:none;background:none;border-radius:0}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  background:none;border-top:none;border-bottom:1px solid rgba(27,18,9,.07);
  padding:.75rem 0;font-size:.93rem;text-transform:none;letter-spacing:0
}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{border-bottom:none;padding-top:1rem;border-top:1.5px solid var(--line)}
.woocommerce-cart .cart_totals .order-total td{font-family:var(--font-d);font-size:1.6rem;color:var(--ink)}
.woocommerce-cart .wc-proceed-to-checkout{padding:1.1rem 0 0}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  width:100%;background:var(--orange);color:#fff;min-height:56px;font-size:1rem;border-radius:14px;
  box-shadow:0 16px 34px rgba(232,84,30,.34)
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{background:var(--orange-d)}
.woocommerce-cart .shipping-calculator-button{color:var(--orange);font-weight:700;border-bottom:1.5px solid currentColor}

/* Itens do carrinho */
.woocommerce-cart table.cart{background:var(--card)}
.woocommerce-cart table.cart td.product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:12px}
.woocommerce-cart table.cart td.product-name a{font-weight:700;color:var(--ink)}
.woocommerce-cart table.cart .quantity input.qty{
  width:72px;text-align:center;border:1.5px solid var(--line);border-radius:10px;padding:.5rem;background:#fff
}
.woocommerce-cart table.cart td.product-remove a.remove{
  display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--paper-2);color:var(--ink-3)!important;font-size:1.1rem;line-height:1;text-decoration:none
}
.woocommerce-cart table.cart td.product-remove a.remove:hover{background:var(--orange);color:#fff!important}
.woocommerce-cart table.cart td.actions{background:var(--paper-2)}
.woocommerce-cart .cart-empty{font-size:1.05rem;color:var(--ink-2)}

/* ---------- Vitrine e produto ---------- */
.woo-loja .woocommerce-breadcrumb{font-size:.82rem;color:var(--ink-3);margin-bottom:1.2rem}
.woo-loja .woocommerce-breadcrumb a{color:var(--ink-2);border-bottom:1px solid var(--line)}
.woo-loja .woocommerce-result-count{font-size:.87rem;color:var(--ink-3)}
.woo-loja .woocommerce-ordering select{
  border:1.5px solid var(--line);border-radius:12px;padding:.6rem .9rem;background:var(--card);font:inherit
}
.woo-loja ul.products{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.4rem;
  list-style:none;margin:1.6rem 0 0;padding:0;float:none
}
.woo-loja ul.products::before,.woo-loja ul.products::after{display:none}
.woo-loja ul.products li.product{
  width:100%!important;float:none!important;margin:0!important;
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1rem;
  box-shadow:0 12px 34px rgba(27,18,9,.05);transition:transform .2s var(--ease),box-shadow .2s
}
.woo-loja ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(27,18,9,.12)}
.woo-loja ul.products li.product img{border-radius:14px;margin-bottom:.9rem;background:var(--paper-2)}
.woo-loja ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-b);text-transform:none;font-size:.98rem;font-weight:800;
  color:var(--ink);line-height:1.3;padding:0
}
.woo-loja ul.products li.product .price{
  display:block;margin:.45rem 0 .9rem;font-family:var(--font-d);font-size:1.35rem;color:var(--ink)
}
.woo-loja ul.products li.product .price del{opacity:.45;font-size:.7em;margin-right:.35rem}
.woo-loja ul.products li.product .button{width:100%}
.woo-loja span.onsale{
  background:var(--yolk);color:var(--ink);border-radius:999px;padding:.3rem .7rem;
  font-weight:800;font-size:.75rem;min-height:0;min-width:0;line-height:1.4
}
.woo-produto div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.woo-produto div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0}
.woo-produto div.product .summary{width:100%!important;float:none!important;margin:0}
.woo-produto div.product .product_title{font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.05;padding-top:.05em}
.woo-produto div.product .summary .price{font-family:var(--font-d);font-size:2rem;color:var(--ink);margin:.8rem 0}
.woo-produto div.product .woocommerce-tabs,
.woo-produto div.product .related{grid-column:1/-1}
@media (max-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-cart .cart-collaterals{grid-column:1;position:static;margin-top:1.8rem}
  .woo-produto div.product{grid-template-columns:minmax(0,1fr);gap:1.6rem}
}

/* Linha de ações do carrinho: cupom à esquerda, atualizar à direita */
.woocommerce-cart table.cart td.actions{padding:1rem;background:var(--paper-2)}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;gap:.6rem;align-items:center;float:none;width:auto
}
.woocommerce-cart table.cart td.actions .coupon input#coupon_code{
  width:auto;min-width:190px;flex:0 1 240px;border:1.5px solid var(--line);
  border-radius:12px;padding:.7rem .9rem;background:#fff;font:inherit
}
.woocommerce-cart table.cart td.actions .coupon .button{white-space:nowrap}
.woocommerce-cart table.cart td.actions > .button[name="update_cart"]{
  float:right;margin-top:-3.05rem;background:transparent;color:var(--ink);
  border:1.5px solid var(--line);box-shadow:none
}
.woocommerce-cart table.cart td.actions > .button[name="update_cart"]:hover:not(:disabled){
  background:var(--card);border-color:var(--ink);color:var(--ink)
}
.woocommerce-cart table.cart td.actions > .button[name="update_cart"]:disabled{
  opacity:.4;cursor:default;color:var(--ink-3)
}
/* Destino do frete: texto de apoio, não número */
.woocommerce-cart .cart_totals .shipping td{text-align:right}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{
  font-size:.8rem;color:var(--ink-3);line-height:1.5;margin-top:.4rem
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong{color:var(--ink-2);font-weight:600}
.woocommerce-cart .cart_totals ul#shipping_method{list-style:none;margin:0;padding:0}
@media (max-width:560px){
  .woocommerce-cart table.cart td.actions .coupon{flex-wrap:wrap}
  .woocommerce-cart table.cart td.actions > .button[name="update_cart"]{float:none;margin-top:.8rem;width:100%}
}
