/* Aviso de cookies (LGPD): aceitar, recusar e personalizar com o mesmo destaque. Serve às duas versões. */
.ck { position: fixed; z-index: 90; left: clamp(12px, 2vw, 24px); bottom: clamp(12px, 2vw, 24px); width: min(440px, calc(100vw - 24px));
  background: #17191c; color: #e9e9ea; border: 1px solid rgb(255 255 255 / 0.1); border-top: 3px solid #9f0331; border-radius: 4px;
  box-shadow: 0 30px 60px -20px rgb(0 0 0 / 0.55); font: 400 14.5px/1.6 'Manrope', system-ui, sans-serif;
  padding: 22px 22px 20px; animation: ck-in 500ms cubic-bezier(0.22, 0.8, 0.2, 1) both; }
.ck[hidden] { display: none; }
@keyframes ck-in { from { opacity: 0; transform: translateY(16px); } }
@media (prefers-reduced-motion: reduce) { .ck { animation: none; } }
.ck__title { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font: 500 1.3rem/1.2 'Cormorant Garamond', Georgia, serif; color: #fff; }
.ck__title svg { width: 22px; height: 22px; color: #d77a92; flex: none; }
.ck p { margin: 0; color: #c8cacd; }
.ck a { color: #fff; text-underline-offset: 3px; }
.ck__prefs { margin: 16px 0 0; padding: 0; border: 0; display: grid; gap: 0; border-top: 1px solid rgb(255 255 255 / 0.1); }
.ck__prefs[hidden] { display: none; }
.ck__opt { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid rgb(255 255 255 / 0.1); cursor: pointer; }
.ck__opt b { font-weight: 600; color: #fff; font-size: 14px; }
.ck__opt small { grid-column: 1; color: #a9adb3; font-size: 12.5px; line-height: 1.45; }
.ck__opt input { grid-row: 1 / span 2; grid-column: 2; appearance: none; width: 40px; height: 22px; border-radius: 22px; background: #3a3e44; position: relative; cursor: pointer; transition: background 200ms; margin: 0; }
.ck__opt input::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform 200ms; }
.ck__opt input:checked { background: #9f0331; }
.ck__opt input:checked::after { transform: translateX(18px); }
.ck__opt input:disabled { opacity: 0.55; cursor: not-allowed; }
.ck__opt input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ck__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.ck__actions button { min-height: 44px; padding: 0 14px; border-radius: 2px; border: 1px solid rgb(255 255 255 / 0.35); background: transparent; color: #fff;
  font: 600 11.5px/1 'Manrope', system-ui, sans-serif; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: background 200ms, border-color 200ms; }
.ck__actions button:hover { background: rgb(255 255 255 / 0.08); }
.ck__actions .ck__primary { background: #9f0331; border-color: #9f0331; }
.ck__actions .ck__primary:hover { background: #7e0227; border-color: #7e0227; }
.ck__actions .ck__wide { grid-column: 1 / -1; border-color: transparent; text-decoration: underline; text-underline-offset: 4px; min-height: 36px; }
.ck__actions [hidden] { display: none; }
@media (max-width: 520px) { .ck { left: 0; right: 0; bottom: 0; width: 100%; border-radius: 0; border-left: 0; border-right: 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); } }

/* Rodapé: links legais e botão de preferências */
.footer-legal a, .footer-legal button { color: inherit; }
.footer-legal button { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer-legal button:hover, .footer-legal a:hover { color: #fff; }

/* Páginas de política */
.legal { display: grid; gap: clamp(32px, 4vw, 64px); align-items: start; }
@media (min-width: 980px) { .legal { grid-template-columns: minmax(0, 1fr) 320px; } .legal__aside { position: sticky; top: 110px; } }
.legal .prose { max-width: 46rem; }
.legal .prose h2 { font-size: 1.5rem; margin-top: 1.9em; }
.legal .prose h3 { font-size: 1.05rem; }
.legal .prose ul { padding-left: 1.2em; }
.legal .prose li { margin: 0.3em 0; }
.legal__nav { list-style: none; margin: 0; padding: 0; }
.legal__nav li { border-bottom: 1px solid rgb(255 255 255 / 0.1); }
.legal__nav a, .legal__btn { display: block; width: 100%; text-align: left; padding: 13px 0; color: #e9e9ea; text-decoration: none; background: none; border: 0; font: 500 15px/1.3 'Manrope', system-ui, sans-serif; cursor: pointer; }
.legal__nav a[aria-current] { color: #d77a92; }
.legal__nav a:hover, .legal__btn:hover { color: #fff; }
.legal__contact { margin: 18px 0 0; font-size: 13.5px; color: #a9adb3; line-height: 1.6; word-break: break-word; }
.legal__contact a { color: #fff; }
.table-wrap { overflow-x: auto; border: 1px solid rgb(23 25 28 / 0.12); margin: 1em 0 1.4em; }
.ctable { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.5; background: #fff; }
.ctable th, .ctable td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid rgb(23 25 28 / 0.1); }
.ctable thead th { background: #efebe5; font-weight: 700; font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; }
.ctable tbody th { font-weight: 600; }
.ctable small { color: #6b7077; font-weight: 400; }
.ctable code { font-size: 13px; }
.ck__actions [data-ck="salvar"] { grid-column: 1 / -1; }
.legal__aside .kicker { color: #d77a92; }
