.cookie-banner[hidden], .cookie-status[hidden], .cookie-embed-placeholder[hidden] { display: none !important; }
.cookie-banner, .cookie-dialog, .cookie-status, .cookie-embed { font-family: "Segoe UI", Arial, sans-serif; color: #233c4c; font-size: 14px; line-height: 1.6; }
.cookie-banner { position: fixed; bottom: 20px; left: 20px; right: 20px; z-index: 1050; margin: auto; max-width: 1160px; display: flex; align-items: center; gap: 28px; padding: 22px 26px; background: #fff; border: 1px solid #dce6e9; border-top: 3px solid #5697ab; border-radius: 12px; box-shadow: 0 10px 45px #14345224; }
.cookie-banner-copy { flex: 1; }
.cookie-banner strong { font-size: 16px; color: #143452; }
.cookie-banner p { margin: 5px 0 0; color: #526975; font-size: 13px; line-height: 1.7; }
.cookie-actions, .cookie-dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cookie-button { appearance: none; padding: 10px 15px; background: #fff; color: #245e70; border: 1px solid #91b3bf; border-radius: 6px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; min-height: 44px; }
.cookie-button:hover { background: #edf4f5; }
.cookie-button-primary { background: #245e70; border-color: #245e70; color: #fff; }
.cookie-button-primary:hover { background: #143452; color: #fff; }
.cookie-button:focus-visible, .cookie-close:focus-visible, .cookie-toggle:focus-visible, .cookie-preferences-link:focus-visible { outline: 3px solid #5697ab; outline-offset: 3px; }
.cookie-dialog { border: 1px solid #dce6e9; border-radius: 14px; padding: 28px; width: min(600px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; box-shadow: 0 24px 80px #14345230; background: #fff; }
.cookie-dialog::backdrop { background: #102e45a6; }
.cookie-dialog-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.cookie-eyebrow { color: #36778b; font-size: 10px; letter-spacing: 1.6px; font-weight: 700; }
.cookie-dialog h2 { font-size: 26px; letter-spacing: -.5px; line-height: 1.3; margin: 8px 0 16px; color: #143452; }
.cookie-dialog p { color: #526975; font-size: 13px; line-height: 1.7; }
.cookie-close { border: 0; border-radius: 5px; background: #f0f5f6; color: #365b6b; font: inherit; font-size: 26px; width: 40px; height: 40px; cursor: pointer; flex-shrink: 0; }
.cookie-category { display: flex; align-items: center; gap: 22px; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid #e2eaed; }
.cookie-category > div { flex: 1; }
.cookie-category h3 { margin: 0 0 7px; font-size: 15px; letter-spacing: 0; font-weight: 600; color: #143452; }
.cookie-category h3 label { margin: 0; font-weight: inherit; cursor: pointer; }
.cookie-category p { margin: 0; }
.cookie-required { font-size: 11px; color: #346253; background: #eef6ef; padding: 5px 8px; border-radius: 4px; white-space: nowrap; }
.cookie-toggle { width: 23px; height: 23px; accent-color: #36778b; flex-shrink: 0; cursor: pointer; margin: 0 8px !important; }
.cookie-policy { margin: 18px 0; }
.cookie-policy a { color: #245e70; text-decoration: underline; }
.cookie-dialog-actions { justify-content: flex-end; }
.cookie-status { pointer-events: none; position: fixed; bottom: 20px; left: 20px; right: 20px; z-index: 1051; width: fit-content; max-width: calc(100% - 40px); margin: auto; padding: 13px 20px; border-radius: 8px; border: 1px solid #dce6e9; background: #fff; box-shadow: 0 5px 24px #14345224; }
.cookie-embed-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 32px; min-height: 240px; text-align: center; background: #edf4f5; border: 1px solid #d5e4e8; border-radius: 8px; }
.cookie-embed-placeholder p { max-width: 450px; margin: 0; color: #526975; font-size: 14px; }
.cookie-embed-content iframe { display: block; width: 100%; }
.footer-link .cookie-preferences-link { white-space: nowrap; }
@media (max-width: 960px) { .cookie-banner { align-items: flex-start; flex-direction: column; gap: 14px; } }
@media (max-width: 520px) {
    .cookie-banner { bottom: 10px; left: 10px; right: 10px; padding: 18px; max-height: calc(100dvh - 20px); overflow-y: auto; }
    .cookie-actions { width: 100%; }
    .cookie-actions .cookie-button { flex: 1 1 100%; }
    .cookie-dialog { padding: 22px; }
    .cookie-dialog-actions .cookie-button { width: 100%; }
    .cookie-category { gap: 12px; }
    .cookie-required { white-space: normal; max-width: 70px; text-align: center; }
}

