.cookie-banner { position: fixed; inset: auto 16px 16px; z-index: 90; background: #182126; color: #f5f7f8; border: 1px solid #697878; border-radius: 16px; padding: 20px; display: flex; align-items: center; gap: 24px; box-shadow: 0 12px 50px #0009; }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { max-width: 65ch; margin: 8px 0 0; font-size: 14px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-actions button, .cookie-settings header button { padding: 12px 18px; border: 1px solid #9ab1a8; border-radius: 8px; background: #22362f; color: #fff; font: inherit; cursor: pointer; min-height: 44px; }
.cookie-actions button:focus-visible, .cookie-settings button:focus-visible { outline: 3px solid #b9e879; outline-offset: 3px; }
.cookie-settings { background: #152024; color: #f5f7f8; border: 1px solid #697878; border-radius: 16px; width: min(720px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; }
.cookie-settings[open] { display: flex; flex-direction: column; overflow: hidden; }
.cookie-settings::backdrop { background: #000a; }
.cookie-settings header, .cookie-settings footer { padding: 20px; border-color: #51605e; flex: 0 0 auto; }
.cookie-settings header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #51605e; }
.cookie-settings h2 { font-size: 24px; margin: 0; }
.cookie-settings-body { padding: 0 24px 24px; overflow-wrap: anywhere; overflow-y: auto; min-height: 0; }
.cookie-settings section { padding: 16px 0; border-bottom: 1px solid #51605e; }
.cookie-settings h3, .cookie-settings label { font-size: 17px; font-weight: 650; }
.cookie-settings h3 span { color: #b9e879; font-size: 13px; margin-left: 12px; }
.cookie-settings input { width: 20px; height: 20px; vertical-align: middle; accent-color: #b9e879; margin-right: 8px; }
.cookie-settings p, .cookie-settings dd { line-height: 1.6; font-size: 14px; }
.cookie-settings dt { margin-top: 12px; font-family: monospace; }
.cookie-settings footer { border-top: 1px solid #51605e; }
.cookie-settings summary { cursor: pointer; padding: 16px 0; }
.cookie-settings-button { background: none; color: inherit; border: 0; font: inherit; cursor: pointer; padding: 0; text-decoration: underline; }
.remember-choice { display: flex !important; align-items: center; gap: 10px; }
.remember-choice input { width: 20px; height: 20px; margin: 0; }
@media (max-width: 720px) { .cookie-banner { flex-direction: column; align-items: stretch; gap: 16px; inset: auto 8px 8px; padding: 16px; } .cookie-actions button { flex: 1 1 auto; } .cookie-settings-body { padding: 0 18px 18px; } }
