/* Checkout (layout aprovado, artes/2026-09-29-direcao-e-checkout) aplicado ao markup do WooCommerce */
.woocommerce{display:contents}
/* Grade */
.pag{max-width:var(--largura-loja);margin-inline:auto;padding:32px clamp(16px,3vw,32px) 64px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px 40px;align-items:start}
.pag h1{grid-column:1/-1;font-size:1.75rem;font-weight:900;letter-spacing:-.01em}
.pag>.form{grid-column:1}
.pag>.resumo{grid-column:2;grid-row:2/span 2}
@media (max-width:960px){.pag{grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:120px}.pag>.resumo{grid-column:1;grid-row:auto}}
/* Blocos */
.bloco{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra-p);padding:24px}
.bloco+.bloco{margin-top:16px}
.bloco h2{display:flex;align-items:center;gap:12px;font-size:1.1875rem;font-weight:700;margin-bottom:18px}
.bloco h2 .n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tinta);color:#fff;font-size:.875rem;font-weight:700}
.grade2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.grade3{display:grid;grid-template-columns:1.2fr 1fr;gap:14px 16px;margin-top:14px}
@media (max-width:560px){.grade2{grid-template-columns:1fr}.grade3{grid-template-columns:112px minmax(0,1fr)}}
.grade2>*,.grade3>*{min-width:0}
/* Campo (form-row do Woo) */
.form-row.campo{display:grid;gap:6px;align-content:start;margin:0}
.form-row.campo label{font-size:.875rem;font-weight:700;color:var(--tinta)}
.form-row.campo label abbr.required,.form-row.campo label .required{display:none}
.form-row.campo .optional{font-weight:500;color:var(--apoio)}
.woocommerce-input-wrapper{display:grid;gap:6px;min-width:0}
.woocommerce-input-wrapper>*{min-width:0}
.form-row.campo,.woocommerce-input-wrapper{grid-template-columns:minmax(0,1fr)}
.form-row.campo input.input-text,.form-row.campo select,.form-row.campo textarea,.an-cupom input{font:inherit;font-size:1rem;min-height:48px;padding:12px 14px;border:1px solid var(--borda);border-radius:var(--raio-in);background:#fff;color:var(--tinta);width:100%}
.form-row.campo textarea{min-height:88px}
.form-row.campo input:focus,.form-row.campo select:focus,.form-row.campo textarea:focus,.an-cupom input:focus{outline:2px solid var(--terra-dk);outline-offset:1px;border-color:var(--terra-dk)}
.form-row.campo input[readonly]{background:var(--papel);color:var(--apoio)}
.form-row .description,.campo .dica{font-size:.8125rem;color:var(--apoio)}
/* o script do Woo esconde a ajuda até o foco; no desenho ela fica sempre visível */
.form-row .description{display:block!important}
.form-row.woocommerce-invalid input.input-text,.form-row.woocommerce-invalid select{border-color:var(--erro);box-shadow:0 0 0 1px var(--erro)}
.checkout-inline-error-message,.form-row .an-erro{font-size:.8125rem;color:var(--erro);font-weight:500}
.select2-container .select2-selection--single{min-height:48px;border:1px solid var(--borda)!important;border-radius:var(--raio-in)!important;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
/* Avisos do Woo no topo */
.woocommerce-error,.woocommerce-message,.woocommerce-info{list-style:none;margin:0 0 16px;padding:14px 16px;border-radius:var(--raio-in);font-size:.9375rem}
.woocommerce-error{background:#fdecea;color:var(--erro);border:1px solid #f3c7c3}
.woocommerce-message,.woocommerce-info{background:var(--aviso-bg);color:var(--aviso-tx)}
/* Entrega: CEP e endereço */
.an-cep-linha{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.an-cep-linha .form-row{width:200px}
.an-sei-cep{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:500;padding-bottom:2px}
.an-cep-status{font-size:.875rem;color:var(--apoio);margin-top:8px;min-height:1px}
.an-cep-status.erro{color:var(--erro);font-weight:500}
.endereco{margin-top:14px;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--raio-in);background:var(--papel);border:1px solid var(--linha)}
.endereco p{font-size:.9375rem;line-height:1.4}
.endereco b{display:block;font-weight:700}
.endereco svg{color:var(--ok);margin-top:2px}
.an-alterar{margin-left:auto;background:none;border:0;font:inherit;font-size:.875rem;font-weight:700;color:var(--terra-dk);text-decoration:underline;cursor:pointer;min-height:44px;padding:0 4px;align-self:center}
.an-end-campos{margin-top:14px}
.an-num .form-row{margin:0}
.check{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;min-height:44px}
.check input{width:20px;height:20px;accent-color:var(--terra-dk)}
.sub{font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--apoio);margin:22px 0 10px}
.an-frete__vazio,.an-frete__nota{font-size:.9375rem;color:var(--apoio)}
.an-frete__nota{margin-bottom:10px}
.an-frete__nada{display:grid;gap:12px;justify-items:start;font-size:.9375rem}
.an-frete.carregando .opcoes{opacity:.55}
/* Opções (frete e pagamento) */
.opcoes{display:grid;gap:10px;list-style:none}
.opcao{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:14px 16px;border:1px solid var(--borda);border-radius:var(--raio-in);background:#fff;cursor:pointer}
.opcao input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--borda);border-radius:50%;margin-top:1px;grid-row:span 2;display:grid;place-items:center;background:#fff}
.opcao input:checked{border-color:var(--terra-dk)}
.opcao input:checked::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--terra-dk)}
.opcao:has(input:checked){border-color:var(--terra-dk);box-shadow:0 0 0 1px var(--terra-dk)}
.opcao .t{font-weight:700;font-size:1rem}
.opcao .d{font-size:.875rem;color:var(--apoio);grid-column:2/-1}
.opcao .p{font-weight:700;text-align:right;white-space:nowrap}
.opcao[aria-disabled="true"]{background:var(--papel);border-style:dashed;cursor:not-allowed}
.opcao[aria-disabled="true"] .t,.opcao[aria-disabled="true"] .p{color:var(--apoio)}
.opcao[aria-disabled="true"] input{border-color:#cfc3b6;background:#f3ece4}
.wc_payment_method{list-style:none}
/* Pagamento: radio, ícone, nome e valor em colunas fixas. Com uma forma só, o Woo esconde o radio (checkout.js);
   aqui ele continua visível, marcado, e o nome não cai na coluna de 22px */
.opcao.pgto{grid-template-columns:22px 24px minmax(0,1fr) auto;align-items:center}
.opcao.pgto input{display:grid!important;grid-row:auto;margin-top:0}
.opcao.pgto .ic{grid-column:2;width:24px;height:24px;color:var(--terra-dk);stroke-width:1.8}
.opcao.pgto .t{grid-column:3}
.opcao.pgto .p{grid-column:4}
.opcao.pgto .d{grid-column:3/-1}
.payment_box{margin:10px 0 0;padding:14px 16px;border:1px solid var(--linha);border-radius:var(--raio-in);background:var(--papel);font-size:.9375rem}
.payment_box p{margin:0 0 8px}
.payment_box input,.payment_box select{font:inherit;min-height:48px;padding:10px 12px;border:1px solid var(--borda);border-radius:var(--raio-in);width:100%;background:#fff}
.place-order{margin:0}
/* Cartão do Asaas: nome e número na largura toda; mês, ano e CVV lado a lado */
.asaas-cc-form-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin-top:4px}
.asaas-cc-form-wrapper>.form-row{grid-column:1/-1;float:none;width:auto}
.asaas-cc-form-wrapper>#asaas-cc-expiration-month_field,.asaas-cc-form-wrapper>#asaas-cc-expiration-year_field,.asaas-cc-form-wrapper>#asaas-cc-security-code_field{grid-column:auto}
#assas-cc-expiration-label_field{display:none}
#asaas-cc-installments_field{margin-top:14px}
.payment_box .form-row.woocommerce-invalid:not(.an-tocado) input.input-text{border-color:var(--borda);box-shadow:none}
/* Barra do frete grátis */
.gratis{margin-top:12px;padding:14px 16px;border-radius:var(--raio-in);background:#fff7ef;border:1px solid #f1d9c6}
.gratis p{font-size:.9375rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gratis p b{color:var(--terra-dk)}
.gratis .mini{margin-top:8px;font-size:.8125rem;color:var(--apoio)}
.barra{margin-top:10px;height:8px;border-radius:999px;background:#f1e3d6;overflow:hidden}
.barra i{display:block;height:100%;border-radius:inherit;background:var(--terra)}
/* Aviso de refrigerados */
.an-aviso__bts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.an-bt-sec{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--terra-dk);border-radius:var(--raio-in);background:#fff;color:var(--terra-dk);font:inherit;font-size:.9375rem;font-weight:700;text-decoration:none;cursor:pointer}
@media (max-width:560px){.an-aviso__bts{flex-direction:column;align-items:stretch}}
/* PF / PJ */
.seg{display:inline-flex;border:1px solid var(--borda);border-radius:999px;padding:3px;margin-bottom:16px;background:#fff}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:block;padding:8px 18px;border-radius:999px;font-size:.9375rem;font-weight:700;color:var(--apoio);cursor:pointer}
.seg input:checked+span{background:var(--tinta);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--terra-dk);outline-offset:2px}
/* O select do Brazilian Market continua no formulário (sincronizado pelo seletor), mas o JS dele força display:block */
#billing_persontype_field{display:none!important}
/* Extras */
.extras{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px}
.an-link{background:none;border:0;padding:0;font:inherit;font-size:.9375rem;font-weight:700;color:var(--terra-dk);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
#an-obs{margin-top:8px}
.an-cupom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end;margin-top:8px}
.an-cupom .campo{display:grid;gap:6px}
.an-cupom label{font-size:.875rem;font-weight:700}
.an-cupom-msg{grid-column:1/-1;font-size:.875rem}
/* Resumo */
.resumo{position:sticky;top:24px;background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra-m);padding:24px}
.resumo h2{font-size:1.1875rem;font-weight:700;margin-bottom:14px;display:flex;justify-content:space-between;align-items:baseline}
.resumo h2 small{font-size:.875rem;font-weight:500;color:var(--apoio)}
.itens{list-style:none;display:grid;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--linha)}
.item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center}
.item img{width:56px;height:56px;object-fit:contain;border:1px solid var(--linha);border-radius:var(--raio-in);background:#fff}
.item .nm{font-size:.9375rem;font-weight:500;line-height:1.3}
.item .qt{font-size:.8125rem;color:var(--apoio)}
.item .tag{display:inline-block;margin-top:4px;font-size:.75rem;font-weight:700;color:#1d4f7a;background:#e8f1fa;padding:1px 8px;border-radius:999px}
.item .vl{font-weight:700;font-size:.9375rem}
.contas{display:grid;gap:8px;padding:16px 0;border-bottom:1px solid var(--linha);font-size:.9375rem}
.contas p{display:flex;justify-content:space-between;gap:12px}
.contas .ap{color:var(--apoio)}
.contas .woocommerce-remove-coupon{margin-left:8px;font-size:.8125rem}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 18px}
.total>span{font-size:1rem;font-weight:700}
.total b{font-size:1.75rem;font-weight:900;letter-spacing:-.01em}
.total b .woocommerce-Price-amount,.total b bdi{font:inherit;letter-spacing:inherit} /* o valor do Woo vem dentro do b: herda o tamanho dele */
.nota{margin-top:12px;font-size:.8125rem;color:var(--apoio);text-align:center}
.nota{line-height:1.9}
.nota a{display:inline-block;padding-block:9px;margin-block:-9px} /* área de toque alta sem abrir a linha; as áreas não se cobrem (revisão do atacado, A1) */
.nota+.nota{margin-top:6px}
.blockUI.blockOverlay{background:rgba(251,247,241,.6)!important}
/* Celular: resumo recolhido no topo e botão fixo */
.mresumo{display:none}
.barra-fim{display:none}
@media (max-width:960px){
  .resumo{position:static;display:none}
  .mresumo{display:block;background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra-p)}
  .mresumo summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;min-height:56px;font-weight:700;cursor:pointer}
  .mresumo summary::-webkit-details-marker{display:none}
  .mresumo summary>span:first-child{display:flex;align-items:center;gap:8px;color:var(--terra-dk)}
  .mresumo .corpo{padding:0 18px 16px}
  .barra-fim{display:block;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--branco);border-top:1px solid var(--linha);padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(42,29,23,.08)}
}

/* Aviso de refrigerado antes do CEP */
.an-aviso-frio-cep:empty{display:none}
.an-aviso-frio-cep .aviso{margin:0 0 14px}

/* Consentimento de ofertas */
.an-consent{margin-top:18px;font-size:.875rem;line-height:1.5;color:var(--apoio)}
.an-consent .check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.an-consent input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--terra-dk)}
.an-consent a{color:var(--terra-dk);font-weight:700}
