/* =====================================================================
   Lu — privacidade, consentimento, páginas legais e apoio à operação.
   Mesma linguagem: vidro claro com grão, linhas finas, pílulas em
   caixa-alta espaçada, títulos em serifa com segunda linha em itálico.
   ===================================================================== */

/* ---------- Banner de consentimento (não bloqueia a navegação) ---------- */
.consent-banner{position:fixed;z-index:60;left:clamp(12px,2.2vw,28px);bottom:clamp(12px,2.2vw,28px);width:min(440px,calc(100vw - 24px));padding:24px 24px 20px;border-radius:26px;color:var(--ink);
  background:var(--glass-noise),var(--glass-sheen),linear-gradient(rgba(250,247,242,.93),rgba(250,247,242,.93));
  -webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%);
  border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 34px 80px -34px rgba(28,20,16,.55);
  animation:consent-in .7s var(--ease,ease) both}
@keyframes consent-in{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.consent-banner .eyebrow{font-size:10px;color:var(--wine)}
.consent-banner h2{font:400 32px/1.02 var(--serif);color:var(--wine-dark);margin:6px 0 10px;letter-spacing:-.01em}
.consent-banner h2 em{font-style:italic}
.consent-banner>p{font-size:13px;line-height:1.7;color:var(--muted)}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
/* Mesmo peso visual para aceitar e recusar (sem padrões enganosos). */
.consent-choice{min-height:46px;padding:0 14px;border-radius:999px;border:1px solid rgba(52,40,37,.32);background:var(--glass-noise),linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.6));
  color:var(--wine-dark);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,border-color .3s,transform .15s}
.consent-choice:hover{border-color:rgba(136,77,73,.6);background:rgba(255,255,255,.9)}
.consent-choice:active{transform:scale(.98)}
.consent-links{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:14px;font-size:12px}
.consent-links a,.consent-links .link-button{color:var(--wine);text-decoration:underline;text-underline-offset:4px;font-size:12px}
@media(max-width:560px){
  .consent-banner{left:10px;right:10px;bottom:10px;width:auto;padding:20px 18px 16px;border-radius:24px}
  .consent-banner h2{font-size:28px}
  .consent-actions{grid-template-columns:1fr}
  body.has-consent-banner .whatsapp-float{opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.consent-banner{animation:none}}

/* ---------- Central de preferências (dentro do pop-up de vidro escuro) ---------- */
.consent-list{list-style:none;margin:6px 0 18px;padding:0;border-top:1px solid rgba(255,244,232,.16)}
.consent-list li{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,244,232,.16)}
.consent-list strong{display:block;font:400 22px/1.1 var(--serif);color:var(--ivory,#fbf9f5)}
.consent-list p{font-size:12px;line-height:1.65;opacity:.78;margin-top:4px}
.consent-switch{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}
.consent-switch input{position:absolute;opacity:0;width:44px;height:26px;margin:0;cursor:pointer}
.consent-switch span{display:block;width:44px;height:26px;border-radius:999px;background:rgba(255,244,232,.18);border:1px solid rgba(255,244,232,.3);position:relative;transition:background .3s}
.consent-switch span:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--ivory,#fbf9f5);transition:transform .35s var(--ease,ease)}
.consent-switch input:checked+span{background:var(--gold);border-color:var(--gold)}
.consent-switch input:checked+span:after{transform:translateX(18px)}
.consent-switch input:disabled+span{opacity:.7}
.consent-switch input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
.consent-switch small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.consent-form .sheet-nav{margin-bottom:10px}
.consent-form .sheet-foot a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ---------- Caixas de seleção nos formulários ---------- */
.check-line,.captcha-mock{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6;margin:14px 0 4px;cursor:pointer}
.check-line input,.captcha-mock input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold);flex-shrink:0}
.captcha-mock small{display:block;font-size:10px;letter-spacing:.06em;opacity:.7}
.captcha-slot{margin:12px 0 2px}
.captcha-slot:empty{display:none}
.captcha-note{font-size:11px;opacity:.75;margin-top:6px}
.dev-mail{margin:6px 0 18px;padding:14px 16px;border-radius:18px;border:1px dashed rgba(205,157,86,.6);background:rgba(205,157,86,.1)}
.dev-mail p{font-size:12px;margin:6px 0 10px;word-break:break-all}
.test-notice{background:rgba(205,157,86,.26)!important}

/* ---------- Páginas legais (minutas) ---------- */
.legal-wrap{padding:calc(var(--header-height) + 34px) 7.1% 90px;min-height:70vh}
.legal-page{max-width:820px}
.legal-page h1{font:400 clamp(46px,5.4vw,82px)/.98 var(--serif);color:var(--wine-dark);letter-spacing:-.025em;margin:12px 0 20px}
.legal-page h1 em{font-style:italic}
.legal-page h2{font:400 30px/1.1 var(--serif);color:var(--wine-dark);margin:34px 0 10px}
.legal-page p,.legal-page li{font-size:15px;line-height:1.75}
.legal-page ul{padding-left:20px;margin:0}
.legal-page a{color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.legal-page .eyebrow{color:var(--wine)}
.legal-draft{padding:14px 18px;border-radius:18px;border:1px solid rgba(205,157,86,.55);background:rgba(205,157,86,.14);font-size:13px!important;color:var(--wine-dark)}
.legal-version{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.legal-status{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 22px;margin:22px 0}
.legal-status p{font-size:13px!important;margin-top:6px}
.table-scroll{overflow-x:auto;margin-top:12px}
.legal-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
.legal-table th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid rgba(52,40,37,.2)}
.legal-table td{padding:12px;border-bottom:1px solid rgba(52,40,37,.1);vertical-align:top;line-height:1.55}
.legal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.legal-actions .primary-button,.legal-actions .secondary-button{width:auto}
@media(max-width:760px){.legal-wrap{padding:calc(var(--header-height) + 22px) 20px 70px}.legal-status{grid-template-columns:1fr}}

/* ---------- Rodapé: privacidade ---------- */
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 26px;padding:0 0 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.footer-legal a,.footer-legal button{color:inherit;opacity:.85;padding:6px 0;border-bottom:1px solid transparent;transition:opacity .25s,border-color .25s;font-size:inherit;letter-spacing:inherit;text-transform:inherit}
.footer-legal a:hover,.footer-legal button:hover{opacity:1;border-bottom-color:currentColor}

/* ---------- Área da cliente ---------- */
.status-chip.status-test{background:transparent;border:1px solid rgba(205,157,86,.8);color:var(--wine-dark)}
.order-top{gap:8px}
.order-pay-note,.order-tracking{font-size:12px;color:var(--muted);margin:4px 0 8px}
.order-tracking strong{color:var(--wine-dark);letter-spacing:.04em}
.privacy-block{margin-top:26px;padding-top:18px;border-top:1px solid rgba(52,40,37,.12)}
.privacy-block>p{font-size:13px;line-height:1.7;color:var(--muted);margin:6px 0 10px}
.privacy-actions{display:flex;flex-wrap:wrap;gap:8px 18px}
.privacy-actions .link-button{color:var(--wine);text-decoration:underline;text-underline-offset:4px}
.privacy-requests{list-style:none;padding:0;margin:12px 0 0}
.privacy-requests li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(52,40,37,.1);font-size:13px}
.privacy-requests small{color:var(--muted)}

/* ---------- Pagamento simulado (somente desenvolvimento) ---------- */
.mock-pay-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:22px 0}
.mock-pay-actions .primary-button,.mock-pay-actions .secondary-button{width:100%}
.mock-pay-result{min-height:24px;font-size:14px;color:var(--wine-dark);margin-bottom:18px}
.mock-pay code{font-size:12px;word-break:break-all}

/* ---------- Selo de simulação e diagnóstico (somente desenvolvimento / administradora) ---------- */
.dev-badge{position:fixed;z-index:44;left:12px;bottom:12px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:18px;max-width:280px;
  color:var(--paper);font-size:11px;line-height:1.5;background:var(--glass-noise),linear-gradient(rgba(28,19,16,.78),rgba(28,19,16,.78));border:1px solid rgba(255,244,232,.18);box-shadow:0 18px 40px -24px rgba(0,0,0,.6)}
.dev-badge strong{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.dev-badge span{opacity:.85}
.dev-badge-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.dev-badge-actions button,.dev-badge-actions a{font-size:10px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,244,232,.3);color:var(--paper)}
.dev-badge-actions button:hover,.dev-badge-actions a:hover{background:rgba(255,244,232,.12)}
.diag-panel{position:fixed;z-index:58;right:14px;bottom:86px;width:min(420px,calc(100vw - 28px));color:var(--paper);font-size:12px}
.diag-toggle{margin-left:auto;display:block;padding:9px 16px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);
  background:var(--glass-noise),linear-gradient(rgba(28,19,16,.82),rgba(28,19,16,.82));border:1px solid rgba(255,244,232,.2)}
.diag-body{margin-top:8px;max-height:58vh;overflow:auto;padding:14px 16px;border-radius:20px;background:var(--glass-noise),linear-gradient(rgba(28,19,16,.9),rgba(28,19,16,.9));border:1px solid rgba(255,244,232,.18)}
.diag-body details{border-top:1px solid rgba(255,244,232,.12);padding:8px 0}
.diag-body summary{cursor:pointer}
.diag-body em{color:var(--gold);font-style:normal}
.diag-body pre{white-space:pre-wrap;word-break:break-all;font-size:11px;background:rgba(255,255,255,.06);padding:8px;border-radius:10px;margin:6px 0}
.diag-body ul{padding-left:16px;margin:4px 0}
.diag-head{opacity:.8;margin-bottom:6px}
@media(max-width:760px){.dev-badge{bottom:74px;left:10px;max-width:220px;padding:8px 12px}.dev-badge span:not(.dev-badge-actions){display:none}}
