/* SAUNYONLINE_CONSENT_PREMIUM_PALETTE_V2
   Premium navy/ice-blue consent UI with green affirmative actions. */
#cc-main {
    --cc-font-family: inherit;
    --cc-modal-border-radius: 16px;
    --cc-btn-border-radius: 9px;

    --cc-bg: #102a43;
    --cc-primary-color: #ffffff;
    --cc-secondary-color: #c6d7e5;

    --cc-btn-primary-bg: #197447;
    --cc-btn-primary-color: #ffffff;
    --cc-btn-primary-border-color: #105c37;
    --cc-btn-primary-hover-bg: #105c37;
    --cc-btn-primary-hover-color: #ffffff;
    --cc-btn-primary-hover-border-color: #0b4b2c;

    --cc-btn-secondary-bg: #edf7fd;
    --cc-btn-secondary-color: #102a43;
    --cc-btn-secondary-border-color: #8ebbd4;
    --cc-btn-secondary-hover-bg: #dceef8;
    --cc-btn-secondary-hover-color: #102a43;
    --cc-btn-secondary-hover-border-color: #3d8fbd;

    --cc-toggle-on-bg: #3d8fbd;
    --cc-toggle-off-bg: #6f8294;
    --cc-toggle-on-knob-bg: #ffffff;
    --cc-toggle-off-knob-bg: #ffffff;

    --cc-cookie-category-block-bg: rgb(255 255 255 / .07);
    --cc-cookie-category-block-border: rgb(170 207 228 / .24);
    --cc-cookie-category-block-hover-bg: rgb(255 255 255 / .11);
    --cc-cookie-category-block-hover-border: rgb(170 207 228 / .38);

    --cc-separator-border-color: rgb(170 207 228 / .24);
    --cc-footer-bg: #0b2238;
    --cc-footer-color: #bfd2e1;
    --cc-footer-border-color: rgb(170 207 228 / .22);
}

#cc-main .cm {
    border: 1px solid rgb(142 187 212 / .40);
    background: linear-gradient(145deg, #123451 0%, #102a43 58%, #0b2238 100%);
    box-shadow: 0 22px 58px rgb(3 18 31 / .38);
}

#cc-main .cm__title {
    color: #ffffff;
    letter-spacing: -.015em;
}

#cc-main .cm__desc {
    color: #c6d7e5;
    line-height: 1.62;
}

#cc-main .cm__btn-group .cm__btn {
    min-height: 2.8rem;
    font-weight: 750;
    box-shadow: none;
}

#cc-main .cm__btn-group .cm__btn[data-role="all"] {
    box-shadow: 0 7px 18px rgb(25 116 71 / .26);
}

#cc-main .cm__btn-group .cm__btn[data-role="all"]:hover {
    box-shadow: 0 9px 22px rgb(25 116 71 / .32);
}

/* CookieConsent marks both "accept all" and "necessary only" as primary.
   Keep green exclusively for affirmative/save actions. */
#cc-main button[data-role="all"],
#cc-main button[data-role="save"] {
    border-color: #105c37 !important;
    background: #197447 !important;
    color: #ffffff !important;
    box-shadow: 0 7px 18px rgb(25 116 71 / .24) !important;
}

#cc-main button[data-role="all"]:hover,
#cc-main button[data-role="save"]:hover {
    border-color: #0b4b2c !important;
    background: #105c37 !important;
    color: #ffffff !important;
}

#cc-main button[data-role="necessary"],
#cc-main button[data-role="show"] {
    border-color: #8ebbd4 !important;
    background: #edf7fd !important;
    color: #102a43 !important;
    box-shadow: none !important;
}

#cc-main button[data-role="necessary"]:hover,
#cc-main button[data-role="show"]:hover {
    border-color: #3d8fbd !important;
    background: #dceef8 !important;
    color: #102a43 !important;
}

#cc-main .cm__footer a,
#cc-main .cc__link {
    color: #8fc9e8;
    text-underline-offset: 3px;
}

#cc-main .cm__footer a:hover,
#cc-main .cc__link:hover {
    color: #c4e8fa;
}

/* The detailed preferences view stays light for long-form readability. */
#cc-main .pm {
    --cc-bg: #ffffff;
    --cc-primary-color: #102a43;
    --cc-secondary-color: #526b80;
    --cc-cookie-category-block-bg: #f2f8fc;
    --cc-cookie-category-block-border: #d5e5ef;
    --cc-cookie-category-block-hover-bg: #e8f4fb;
    --cc-cookie-category-block-hover-border: #a9cfe3;
    --cc-separator-border-color: #d5e2ec;
    --cc-footer-bg: #f3f8fc;
    --cc-footer-color: #526b80;
    --cc-footer-border-color: #d5e2ec;

    border: 1px solid #c6dce9;
    box-shadow: 0 22px 58px rgb(3 18 31 / .30);
}

#cc-main .pm__title,
#cc-main .pm__section-title {
    color: #102a43;
}

#cc-main .pm__section-desc {
    color: #526b80;
}

.saunyonline-cookie-settings {
    border-color: #a9cfe3;
    background: #edf7fd;
    color: #102a43;
    box-shadow: 0 3px 12px rgb(16 42 67 / .13);
}

.saunyonline-cookie-settings:hover,
.saunyonline-cookie-settings:focus-visible {
    border-color: #102a43;
    background: #102a43;
    color: #ffffff;
    outline: none;
}

#cc-main .cm__btn:focus-visible,
#cc-main .pm__btn:focus-visible,
.saunyonline-cookie-settings:focus-visible {
    outline: 3px solid rgb(61 143 189 / .34);
    outline-offset: 2px;
}

@media (max-width: 640px) {
    #cc-main .cm {
        border-radius: 16px 16px 0 0;
    }

    #cc-main .cm__btn-group .cm__btn {
        min-height: 3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cc-main .cm__btn,
    .saunyonline-cookie-settings {
        transition: none;
    }
}
