:root { --ak-cookie-space: 0px; }
body.ak-body { padding-bottom: var(--ak-cookie-space); }
.ak-cookie-banner[hidden], .ak-cookie-notice[hidden] { display: none !important; }
.ak-cookie-banner, .ak-cookie-dialog { box-sizing: border-box; font-family: inherit; color: #eaf4ff; background: #091a30; border: 1px solid #607188; }
.ak-cookie-banner { position: fixed; z-index: 1055; left: 20px; right: 20px; bottom: 20px; margin: auto; max-width: 1080px; max-height: min(65vh, 520px); overflow-y: auto; padding: 26px; border-radius: 18px; box-shadow: 0 12px 48px #0008; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: center; }
.ak-cookie-banner h2, .ak-cookie-dialog h2 { color: #fff !important; margin: 8px 0 12px; font-size: 25px; line-height: 1.25; font-weight: 700; }
.ak-cookie-banner p, .ak-cookie-dialog p { color: #cfe0f6 !important; font-size: 14px; line-height: 1.6; margin: 0 0 12px; }
.ak-cookie-banner a, .ak-cookie-dialog a, .ak-cookie-noscript a { color: #ffd36a !important; text-decoration: underline; font-size: 14px; }
.ak-cookie-eyebrow { color: #ffd36a; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; }
.ak-cookie-actions, .ak-cookie-dialog-actions { display: grid; gap: 10px; }
.ak-cookie-button { appearance: none; background: #16334f; color: #fff !important; -webkit-text-fill-color: #fff !important; border: 1px solid #91a6bf; border-radius: 8px; font: inherit; font-weight: 600; font-size: 14px; min-height: 44px; padding: 12px 16px; cursor: pointer; line-height: 1.3; white-space: normal; }
.ak-cookie-button:hover { background: #234766; border-color: #ffd36a; }
.ak-cookie-button-settings { background: transparent; }
.ak-cookie-button:focus-visible, .ak-cookie-close:focus-visible, .ak-cookie-toggle input:focus-visible, .ak-cookie-banner a:focus-visible, .ak-cookie-dialog a:focus-visible, .ak-cookie-settings:focus-visible { outline: 3px solid #ffd36a; outline-offset: 4px; }
.ak-cookie-settings { appearance: none; font: inherit; font-size: inherit; color: inherit; padding: 0; background: none; border: 0; cursor: pointer; text-decoration: underline; }
.ak-cookie-dialog { width: min(660px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 28px; border-radius: 18px; overflow-y: auto; }
.ak-cookie-dialog::backdrop { background: #020a17b8; }
.ak-cookie-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ak-cookie-close { appearance: none; border: 1px solid #607188; border-radius: 8px; background: #16334f; color: #fff; cursor: pointer; min-width: 44px; min-height: 44px; font-size: 25px; line-height: 1; }
.ak-cookie-category { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 20px 0; border-top: 1px solid #52647b; }
.ak-cookie-category > div { min-width: 0; }
.ak-cookie-category h3 { color: #fff !important; font-size: 17px; margin: 0 0 7px; }
.ak-cookie-category p { margin-bottom: 0; }
.ak-cookie-required { font-size: 12px; color: #ffd36a; white-space: nowrap; }
.ak-cookie-toggle { display: flex; gap: 10px; align-items: center; font-size: 13px; min-width: 130px; cursor: pointer; }
.ak-cookie-toggle input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: #f4b428; }
.ak-cookie-dialog-actions { grid-template-columns: 1fr 1fr; margin-top: 20px; }
.ak-cookie-notice { background: #173550; border-left: 3px solid #ffd36a; padding: 12px; border-radius: 4px; }
.ak-cookie-status { position: fixed; bottom: 20px; left: 20px; z-index: 1054; max-width: calc(100vw - 40px); color: #fff; background: #102b48; border-radius: 8px; }
.ak-cookie-status:not(:empty) { padding: 12px 18px; border: 1px solid #607188; }
.ak-cookie-noscript { padding: 12px 20px; background: #091a30; color: #cfe0f6; }
@media (max-width: 700px) {
  .ak-cookie-banner { left: 10px; right: 10px; bottom: 10px; padding: 20px; grid-template-columns: 1fr; gap: 14px; }
  .ak-cookie-banner h2 { font-size: 22px; }
  .ak-cookie-actions { grid-template-columns: 1fr 1fr; }
  .ak-cookie-button-settings { grid-column: 1 / -1; }
  .ak-cookie-dialog { padding: 20px; }
  .ak-cookie-dialog h2 { font-size: 23px; }
  .ak-cookie-category { flex-direction: column; align-items: flex-start; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ak-cookie-banner, .ak-cookie-dialog { scroll-behavior: auto; } }
