.cookie-banner[hidden] { display: none !important; }
.cookie-banner, .cookie-policy-page { box-sizing: border-box; }
.cookie-banner *, .cookie-policy-page * { box-sizing: inherit; }
.cookie-banner {
    position: fixed;
    z-index: 2147483646;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
    max-height: 90vh;
    overflow-y: auto;
    background: #fff;
    border-top: 4px solid #f9ad3d;
    box-shadow: 0 -5px 30px rgba(3, 55, 117, .2);
    color: #26384b;
    font-family: "Nunito", system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    text-align: left;
}
.cookie-banner__inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: 28px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px 70px 22px 24px;
}
.cookie-banner__copy { flex: 1; min-width: 0; }
.cookie-banner h2 {
    margin: 0 0 9px;
    color: #033775;
    font-size: 22px !important;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: normal;
    text-transform: none;
}
.cookie-banner p { margin: 0 0 8px; font-size: inherit; line-height: inherit; }
.cookie-banner .cookie-banner__details { font-size: 14px; }
.cookie-banner .cookie-banner__status { margin-bottom: 0; color: #475b6f; font-size: 13px; }
.cookie-banner a, .cookie-page a { color: #033775; text-decoration: underline; text-underline-offset: 3px; }
.cookie-banner__actions { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-action {
    display: inline-block;
    min-width: 110px;
    min-height: 46px;
    padding: 11px 18px;
    border: 2px solid #033775;
    border-radius: 6px;
    background: #033775;
    color: #fff;
    font: inherit;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.cookie-action:hover { background: #07294f; border-color: #07294f; color: #fff; }
.cookie-banner__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 44px;
    height: 44px;
    border: 1px solid #c6d3e0;
    border-radius: 6px;
    background: #fff;
    color: #033775;
    font: inherit;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.cookie-banner__close:hover { background: #edf3f9; }
.cookie-banner :focus-visible, .cookie-policy-page :focus-visible, .cookie-footer-links :focus-visible {
    outline: 3px solid #f9ad3d;
    outline-offset: 4px;
}
.cookie-footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 12px; }
.cookie-footer-links a, .cookie-footer-links button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 4px 0;
    border: 0;
    background: none;
    color: #fff;
    font: inherit;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
}
.cookie-footer-links a:hover, .cookie-footer-links button:hover { color: #fff; text-decoration-thickness: 2px; }
.cookie-policy-page { margin: 0; background: #f6f8fb; color: #26384b; font: 17px/1.7 system-ui, sans-serif; }
.cookie-policy-header, .cookie-policy-footer { background: #033775; color: #fff; }
.cookie-policy-header__inner { max-width: 1080px; margin: auto; padding: 18px 28px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.cookie-policy-brand { display: flex; align-items: center; gap: 16px; color: #fff; font-weight: 700; text-decoration: none; }
.cookie-policy-brand img { width: 78px; height: auto; }
.cookie-policy-header a { color: #fff; }
.cookie-page { max-width: 1040px; margin: 48px auto; padding: 42px 48px; background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(3, 55, 117, .05); }
.cookie-page h1 { margin: 0 0 6px; color: #033775; font-size: 44px; line-height: 1.15; }
.cookie-page h2 { margin: 36px 0 12px; color: #033775; font-size: 24px; line-height: 1.3; }
.cookie-page p { margin: 0 0 16px; }
.cookie-policy-updated { color: #526477; font-size: 14px; }
.cookie-policy-summary { margin: 28px 0; padding: 22px 24px; background: #fff6e8; border-left: 4px solid #f9ad3d; border-radius: 0 8px 8px 0; }
.cookie-policy-summary h2 { margin-top: 0; }
.cookie-policy-summary [data-cookie-status] { font-weight: 600; }
.cookie-table-wrap { width: 100%; overflow-x: auto; margin: 18px 0; }
.cookie-page table { width: 100%; border-collapse: collapse; font-size: 15px; text-align: left; }
.cookie-page th, .cookie-page td { padding: 14px 12px; border-bottom: 1px solid #d8e2ee; vertical-align: top; }
.cookie-page th { background: #edf3f9; color: #033775; font-weight: 700; }
.cookie-page code { font-size: 13px; overflow-wrap: anywhere; }
.cookie-page li { margin: 8px 0; }
.cookie-policy-footer { padding: 24px; text-align: center; font-size: 14px; }
.cookie-policy-footer p { margin: 0; }
@media (max-width: 900px) {
    .cookie-banner__inner { display: block; padding-right: 24px; }
    .cookie-banner h2 { padding-right: 46px; }
    .cookie-banner__actions { margin-top: 16px; }
    .cookie-banner__actions .cookie-action { flex: 1; }
    .cookie-page { margin: 24px 16px; padding: 28px; }
}
@media (max-width: 480px) {
    .cookie-banner { font-size: 14px; }
    .cookie-banner__inner { padding: 18px; }
    .cookie-banner h2 { font-size: 20px !important; }
    .cookie-banner__actions { gap: 10px; }
    .cookie-action { min-width: 0; }
    .cookie-policy-header__inner { padding: 14px 18px; flex-wrap: wrap; }
    .cookie-policy-brand { font-size: 16px; }
    .cookie-policy-header__inner > a:last-child { font-size: 14px; }
    .cookie-page { padding: 24px 18px; font-size: 16px; }
    .cookie-page h1 { font-size: 34px; }
    .cookie-page h2 { font-size: 22px; }
    .cookie-page th, .cookie-page td { padding: 10px 8px; font-size: 13px; }
    .cookie-page code { font-size: 12px; }
}
