/* Padrão visual único da loja. Carregado por último em cada página do cliente, então vale sobre os estilos locais.
   Público 60+: texto base de 18 px (nunca abaixo de 18 px), alvos de toque de 48 px, contraste alto. */
:root{
  --ink:#1c1a26;--ink-soft:#3f3a52;--muted:#5a5468;
  --paper:#ffffff;--surface:#f6f5fa;--surface-strong:#ece9f5;--line:#dcd7e8;
  --brand:#3d2f80;--brand-hover:#2c2168;--gold:#f0c24b;
  --radius:16px;--shadow:0 1px 2px rgba(28,26,38,.06),0 4px 14px rgba(28,26,38,.05);
  --wrap:1120px;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{font-size:18px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.6}
h1{font-size:2rem;line-height:1.25;margin:.4em 0 .5em;font-weight:800}
h2{font-size:1.4rem;line-height:1.3;margin:1.2em 0 .5em;font-weight:750}
p,li{font-size:1rem;line-height:1.6}
a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--brand-hover)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
button,input,select,textarea{font:inherit;font-size:1rem;min-height:48px}
button{cursor:pointer}
input,select,textarea{border:1px solid #bdb6cc;border-radius:12px;padding:0 14px;background:#fff;color:var(--ink)}
label{font-size:1rem;font-weight:700}
/* Cabeçalho fixo: sempre visível ao rolar. Link da página atual em destaque. */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;padding:12px max(16px,calc((100% - var(--wrap))/2))}
.site-brand{color:var(--ink);font-size:1.6rem;font-weight:800;text-decoration:none;letter-spacing:-.2px;min-height:48px;display:inline-flex;align-items:center}
.site-brand span{color:var(--brand)}
.site-nav{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap}
.site-nav a{color:var(--ink);text-decoration:none;font-size:1.0556rem;font-weight:600;display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:999px}
.site-nav a:hover{background:var(--surface);color:var(--brand)}
.site-nav a[aria-current="page"]{background:var(--surface-strong);color:var(--brand);font-weight:800;box-shadow:inset 0 -3px 0 var(--brand)}
#cart-open{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:0 18px;min-height:48px;font-weight:700;font-size:1.0556rem}
#cart-open:hover{background:var(--brand)}
/* Componentes compartilhados: cartões, botões, resumos, avisos, status e textos auxiliares. */
.card,.panel,.hero,.order-card,.choice,.order-summary,.cart-shipping{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card,.panel,.hero{padding:24px}
.primary,.action,.cart-checkout,.action-review,#confirm-order,#calculate,#logout,#quote,#cart-quote,#cart-add,#pay-pix,#pay-card,.choice button,.pix-actions button{background:var(--brand);color:#fff;border:0;border-radius:14px;min-height:52px;padding:0 22px;font-weight:700;font-size:1.0556rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.primary:hover,.action:hover,.cart-checkout:hover,.action-review:hover,#confirm-order:hover,#calculate:hover,#quote:hover,#cart-quote:hover,#cart-add:hover,#pay-pix:hover,#pay-card:hover,.choice button:hover,.pix-actions button:hover{background:var(--brand-hover);color:#fff}
button:disabled,.primary:disabled,#confirm-order:disabled{background:#c9c4d8;color:#4a4560;cursor:not-allowed}
.secondary,.subtle,.order-dialog-close,.cart-head button,.order-pagination button,.views button{background:var(--surface-strong);color:var(--ink);border:0;border-radius:14px;min-height:48px;min-width:48px;padding:0 16px;font-weight:700}
.total{font-size:1.25rem;font-weight:800}
.summary-line,.line{font-size:1rem}
.notice,.status,.demo-banner,.success{border-radius:var(--radius);padding:16px 18px;font-size:1rem;line-height:1.55;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.notice.warn{background:#fff6dc;border-color:#f0d58a;color:#4d3900}
.notice.ok,.success{background:#eaf7ef;border-color:#a9d8b8;color:#17502c}
.pill,.order-status{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;font-size:1rem;font-weight:700;background:var(--surface-strong);color:var(--brand)}
.note,.muted,.small,.summary-hint,.price-note,.cart-subtitle,.cart-warning,#cart-feedback,.pix-help,.order-meta,.detail span{font-size:1rem;color:var(--muted)}
/* Carrinho: alvos de toque de 48 px. */
.cart-controls button,.cart-remove{min-width:48px;min-height:48px;font-size:1.0556rem}
/* Rodapé: textos e links grandes, com área de toque confortável. */
.site-footer{background:var(--surface);color:var(--ink-soft);border-top:1px solid var(--line);padding:28px 16px;font-size:1rem;line-height:1.7;text-align:center;margin-top:0}
.site-footer{max-width:none;margin-left:0;margin-right:0}
.site-footer p{margin:0 0 8px}
.site-footer a{color:var(--ink);font-weight:600;display:inline-flex;align-items:center;min-height:48px;padding:0 10px}
@media (max-width:600px){
  .site-header{justify-content:space-between}
  .site-brand{font-size:1.5rem}
  .site-nav{width:100%;justify-content:space-between}
  .site-nav a{padding:0 10px}
  .card,.panel,.hero{padding:18px}
}
/* Guia e tabela de medidas: mesmo tamanho de texto do resto da loja. */
table,th,td,[class*="measure"]{font-size:1rem}
table td,table th,.width,.length{font-size:1rem}
.measure-table th,.measure-table td,.measure-key div{font-size:1rem}
.eyebrow,.campaign-banner,.swatch span,.swatch{font-size:1rem}
/* Textos dentro de cartões e links de conteúdo com área de toque de 48 px. */
.card p,.panel p,.hero p,.order-card p,.choice p,.order-summary p,.cart-shipping p,.card strong,.panel strong{font-size:1rem}
main a:not(.site-brand),.card a,.panel a,.hero a,p a,li a{display:inline-flex;align-items:center;min-height:48px}
#message,#order-message,#login-msg,#msg,#feedback{font-size:1rem}

.order-pay-action{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:999px;background:var(--surface-strong);color:var(--brand);font-weight:700;font-size:1rem}

/* Opções de pagamento lado a lado, com a mesma altura e os botões alinhados na base. */
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.choice{display:flex;flex-direction:column;gap:6px;padding:22px}
.choice button{margin-top:auto}
.choice .notice{margin:8px 0}
.choice-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--surface-strong);color:var(--brand);margin-bottom:6px}
@media (max-width:600px){.choices{grid-template-columns:1fr}}
/* Link de pular para o conteúdo: invisível até receber o foco do teclado. */
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
