/* A slim, non-blocking bar centred at the bottom of the screen. */
.cookie-dialog { position: fixed; inset: auto 0 20px; z-index: 9500; margin: 0 auto; width: min(760px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 40px); overflow: auto; padding: 14px 14px 14px 22px; border: 1px solid rgba(173,196,255,.2); border-radius: 20px; background: rgba(12,19,35,.86); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); color: #F5F8FF; box-shadow: inset 0 1px 0 rgba(214,226,255,.12), 0 24px 60px -18px #000c; }
.cookie-dialog[open] { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px 24px; }
.cookie-dialog.is-managing[open] { grid-template-columns: minmax(0,1fr); padding: 20px 22px; }
.cookie-dialog:focus { outline: none; }
.cookie-dialog h2 { margin: 0 0 2px; font: 600 14px/1.4 var(--font-body); letter-spacing: 0; }
.cookie-dialog p { margin: 0; font: 400 13px/1.55 var(--font-body); color: #C5D1E8; }
.cookie-dialog a { color: #B5CAFF; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.cookie-dialog a:hover { color: #F5F8FF; }
.cookie-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.cookie-actions button { min-height: 40px; padding: 8px 20px; border: 1px solid #6487E0; border-radius: 99px; background: #3159D7; color: #FFF; font: 500 13px/1.2 var(--font-body); white-space: nowrap; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.cookie-actions button:hover { background: #3D6BFF; border-color: #8FA9F0; }
.cookie-actions .cookie-link { border-color: transparent; background: none; color: #B5CAFF; padding-inline: 12px; }
.cookie-actions .cookie-link:hover { background: rgba(61,107,255,.14); border-color: transparent; color: #FFF; }
.cookie-dialog :focus-visible { outline: 2px solid #B5CAFF; outline-offset: 2px; }
.cookie-options, .cookie-status, [data-cookie-save-row], [data-cookie-close-row] { grid-column: 1 / -1; }
.cookie-options { display: grid; gap: 10px; }
.cookie-options label { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid rgba(173,196,255,.18); border-radius: 14px; background: rgba(255,255,255,.02); }
.cookie-options input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: #3D6BFF; }
.cookie-options strong { display: block; font: 500 13px/1.5 var(--font-body); }
.cookie-options small { display: block; margin-top: 3px; font: 400 12px/1.55 var(--font-body); color: #BBC9E2; }
.cookie-dialog [hidden] { display: none !important; }
.cookie-dialog .cookie-status:empty { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .cookie-dialog[open] { animation: cookie-in .45s cubic-bezier(.2,.8,.2,1); }
  html[data-motion="paused"] .cookie-dialog[open] { animation: none; }
}
@keyframes cookie-in { from { opacity: 0; transform: translateY(16px); } }
@media (max-width: 640px) {
  .cookie-dialog { inset: auto 0 12px; width: calc(100vw - 24px); padding: 16px; }
  .cookie-dialog[open], .cookie-dialog.is-managing[open] { grid-template-columns: minmax(0,1fr); padding: 16px; }
  .cookie-actions button { flex: 1 1 0; padding-inline: 12px; }
  .cookie-actions .cookie-link { flex: 0 0 auto; }
}
