/* Banner de consentimento: cartão fixo embaixo, sem bloquear a página. "Aceitar" e "Recusar" têm o mesmo peso visual. */
.cap-consent[hidden], .cap-pref[hidden], .cap-bt[hidden] { display: none !important; }
.cap-consent { position: fixed; z-index: 1000; left: 18px; bottom: 18px; width: min(460px, calc(100vw - 36px)); font-family: 'Inter', system-ui, sans-serif; color: #e6ebf2; }
.cap-box { background: #101a2b; border: 1px solid rgba(217, 192, 140, .35); border-radius: 14px; padding: 20px 20px 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.cap-t { margin: 0 0 6px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; font-weight: 600; color: #fff; letter-spacing: .01em; }
.cap-p { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: #c3ccd8; }
.cap-p a { color: #d9c08c; text-decoration: underline; text-underline-offset: 3px; }
.cap-bt { display: flex; gap: 8px; flex-wrap: wrap; }
.cap-b { flex: 1 1 0; min-width: 104px; min-height: 46px; padding: 10px 14px; border-radius: 8px; font: 600 13px/1.2 'Inter', system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; border: 1px solid rgba(217, 192, 140, .6); background: transparent; color: #f1e6cf; transition: background .2s, color .2s; }
.cap-b:hover { background: rgba(217, 192, 140, .14); }
.cap-ok, .cap-no { background: transparent; }             /* mesmo peso: nenhum dos dois é "o botão bonito" */
.cap-cfg { border-color: transparent; color: #c3ccd8; text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: 0; font-weight: 500; }
.cap-salvar { width: 100%; margin-top: 10px; flex: none; }
.cap-pref { display: grid; gap: 10px; margin: 0 0 14px; }
.cap-op { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(255, 255, 255, .04); cursor: pointer; }
.cap-op input { width: 20px; height: 20px; margin-top: 2px; accent-color: #d9c08c; flex: none; }
.cap-op b { display: block; font-size: 14px; color: #fff; font-weight: 600; }
.cap-op small { display: block; font-size: 12.5px; color: #9ba6b7; line-height: 1.45; margin-top: 2px; }
.cap-b:focus-visible, .cap-op input:focus-visible, .cap-p a:focus-visible { outline: 2px solid #d9c08c; outline-offset: 2px; }
.cap-reabrir { background: none; border: 0; padding: 12px 2px; margin: 0; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cap-consent-on .s-float, .cap-consent-on .lp-bar, .cap-consent-on .sticky-bar, .cap-consent-on .sticky-wa { display: none !important; }
@media (max-width: 620px) {
  .cap-consent { left: 0; right: 0; bottom: 0; width: 100%; }
  .cap-box { border-radius: 16px 16px 0 0; border-left: 0; border-right: 0; border-bottom: 0; padding: 18px 18px calc(16px + env(safe-area-inset-bottom)); max-height: 82svh; overflow-y: auto; }
  .cap-b { min-height: 48px; flex-basis: 100%; }
  .cap-cfg { min-height: 44px; }
}
@media (prefers-reduced-motion: no-preference) { .cap-consent:not([hidden]) .cap-box { animation: capSobe .45s cubic-bezier(.2, .7, .2, 1) both; } }
@keyframes capSobe { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
