/* Aviso e preferências de cookies da página inicial (consent-ui.js + consent.js).
   Copiado de landing.css (que segue servindo as páginas de SEO), com os tokens da página nova. */
.cookie-banner, .cookie-modal {
  --ink: #0D1524; --slate: #5A6577; --white: #FFFFFF; --cream: #F7F9FC; --paper-2: #EDF0F5;
  --line: #DCE1E9; --line-2: #C9D1DD; --jade: #2747E8; --jade-ink: #1F3BC4; --jade-glow: #2747E8;
  --r-lg: 16px; --shadow-lg: 0 24px 60px -24px rgba(13,21,36,.35), 0 2px 6px rgba(13,21,36,.08); --shadow-sm: 0 1px 2px rgba(13,21,36,.2);
  --font-ui: "Schibsted Grotesk", system-ui, sans-serif; --font-display: "Schibsted Grotesk", system-ui, sans-serif; --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  font-family: var(--font-ui);
}
.cookie-banner p, .cookie-modal p, .cookie-modal h2 { margin: 0; }
/* ---------- Consentimento e cookies ---------- */
.cookie-banner { position: fixed; z-index: 1000; left: 50%; bottom: 20px; width: min(1120px, calc(100% - 40px)); transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 22px; color: var(--ink); background: var(--white); border: 1px solid var(--line-2); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); }
.cookie-banner[hidden], .cookie-modal[hidden] { display: none !important; }
.cookie-banner-copy { max-width: 650px; }
.cookie-banner-copy strong { display: block; font-family: var(--font-display); font-size: 18px; color: var(--ink); }
.cookie-banner-copy p { margin: 6px 0 7px; color: var(--slate); font-size: 14px; line-height: 1.5; }
.cookie-banner-copy a { color: var(--jade-ink); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cookie-banner-actions, .cookie-modal-actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-btn { min-height: 44px; padding: 11px 17px; border: 1px solid transparent; border-radius: 11px; font-family: var(--font-ui); font-size: 14px; font-weight: 700; cursor: pointer; transition: background .15s, border-color .15s, transform .12s; }
.cookie-btn:active { transform: translateY(1px); }
.cookie-btn-primary { color: #fff; background: var(--jade); border-color: var(--jade); }
.cookie-btn-primary:hover { background: var(--jade-ink); border-color: var(--jade-ink); }
.cookie-btn-secondary { color: var(--ink); background: var(--paper-2); border-color: var(--line-2); }
.cookie-btn-secondary:hover { background: var(--cream); border-color: var(--slate); }
.cookie-modal { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 20px; }
.cookie-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(5,10,30,.72); cursor: default; }
.cookie-modal-card { position: relative; width: min(600px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow-y: auto; padding: 28px; color: var(--ink); background: var(--white); border: 1px solid var(--line-2); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); }
.cookie-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cookie-kicker { display: block; margin-bottom: 6px; color: var(--jade-ink); font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cookie-modal-card h2 { margin: 0; color: var(--ink); font-family: var(--font-display); font-size: 26px; }
.cookie-modal-close { width: 38px; height: 38px; flex: 0 0 38px; border: 1px solid var(--line-2); border-radius: 10px; color: var(--ink); background: var(--paper-2); font-size: 24px; line-height: 1; cursor: pointer; }
.cookie-modal-intro { margin: 14px 0 18px; color: var(--slate); font-size: 14px; line-height: 1.55; }
.cookie-option { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 17px 0; border-top: 1px solid var(--line); cursor: pointer; }
.cookie-option strong { color: var(--ink); font-size: 15px; }
.cookie-option p { margin-top: 3px; color: var(--slate); font-size: 13px; line-height: 1.45; }
.cookie-option input { appearance: none; width: 46px; height: 26px; flex: 0 0 46px; border: 1px solid var(--line-2); border-radius: 20px; background: var(--paper-2); cursor: pointer; position: relative; transition: background .15s, border-color .15s; }
.cookie-option input::after { content: ''; position: absolute; width: 20px; height: 20px; left: 2px; top: 2px; border-radius: 50%; background: var(--white); box-shadow: var(--shadow-sm); transition: transform .15s; }
.cookie-option input:checked { background: var(--jade); border-color: var(--jade); }
.cookie-option input:checked::after { transform: translateX(20px); background: #fff; }
.cookie-always-on { flex: 0 0 auto; color: var(--jade-ink); font-size: 12px; font-weight: 700; }
.cookie-modal-actions { justify-content: flex-end; padding-top: 20px; border-top: 1px solid var(--line); }
.cookie-modal-open { overflow: hidden; }
.legal-cookie-btn { appearance: none; padding: 11px 16px; border: 1px solid var(--line-2); border-radius: 10px; color: var(--ink); background: var(--paper-2); font: inherit; font-weight: 700; cursor: pointer; }
.legal-cookie-btn:hover { border-color: var(--jade); color: var(--jade-ink); }

/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
@media (max-width: 560px) {
  .cookie-banner { bottom: 10px; width: calc(100% - 20px); align-items: stretch; flex-direction: column; gap: 16px; padding: 18px; }
  .cookie-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-banner-actions .cookie-btn-primary { grid-column: 1 / -1; grid-row: 1; }
  .cookie-modal { padding: 10px; }
  .cookie-modal-card { max-height: calc(100vh - 20px); padding: 22px 18px; }
  .cookie-modal-actions { display: grid; grid-template-columns: 1fr; }
}
