.consent-panel[hidden], .consent-panel [hidden] { display: none !important; }
.consent-panel { position: fixed; z-index: 1000; right: 24px; bottom: 24px; width: min(540px, calc(100% - 48px)); max-height: calc(100dvh - 48px); overflow: auto; padding: 26px; background: #fff; color: var(--ink-900); border: 1px solid var(--line); border-top: 4px solid var(--blue-600); border-radius: 18px; box-shadow: 0 18px 70px rgba(7,25,35,.24); font-size: 14px; line-height: 1.55; }
.consent-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.consent-panel .consent-eyebrow { color: var(--blue-700); letter-spacing: .12em; font-size: 11px; font-weight: 700; margin-bottom: 6px; }
.consent-panel h2 { font-size: 25px; margin-bottom: 14px; }
.consent-close { border: 0; background: transparent; font-size: 26px; width: 36px; height: 36px; cursor: pointer; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.consent-actions button { padding: 11px 12px; border: 1px solid var(--navy-900); border-radius: 9px; background: var(--navy-900); color: white; font-weight: 650; cursor: pointer; }
.consent-actions button[data-choice="settings"], .consent-actions button[data-choice="save"] { grid-column: 1 / -1; color: var(--navy-900); background: white; border-color: var(--line-strong); }
.consent-actions button:hover { filter: brightness(1.2); }
.consent-panel :focus-visible, .consent-footer:focus-visible { outline: 3px solid var(--blue-600); outline-offset: 3px; }
.consent-details { border-block: 1px solid var(--line); padding: 16px 0 0; margin-bottom: 16px; }
.consent-details label { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; cursor: pointer; }
.consent-details input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--blue-700); margin-top: 3px; }
.consent-details label span span { display: block; margin-top: 4px; }
.consent-details p { font-size: 13px; color: var(--ink-700); }
.consent-privacy { display: inline-block; text-decoration: underline; margin-top: 12px; }
.consent-note:empty { display: none; }
.consent-note { margin-top: 12px; }
.consent-footer { border: 0; padding: 0; background: transparent; color: inherit; text-decoration: underline; font: inherit; cursor: pointer; }
@media (max-width: 600px) { .consent-panel { right: 12px; bottom: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 20px; } .consent-panel h2 { font-size: 23px; } }
