.cc--light-funky #cc-main {
    color-scheme: light;
    --cc-bg: #f9faff;
    --cc-primary-color: #112954;
    --cc-secondary-color: #112954;

    --cc-btn-primary-bg: #3859d0;
    --cc-btn-primary-color: var(--cc-bg);
    --cc-btn-primary-hover-bg: #213657;
    --cc-btn-primary-hover-color: #fff;

    --cc-btn-secondary-bg: #dfe7f9;
    --cc-btn-secondary-color: var(--cc-secondary-color);
    --cc-btn-secondary-hover-bg: #c6d1ea;
    --cc-btn-secondary-hover-color: #000;

    --cc-cookie-category-block-bg: #ebeff9;
    --cc-cookie-category-block-border: #ebeff9;
    --cc-cookie-category-block-hover-bg: #dbe5f9;
    --cc-cookie-category-block-hover-border: #dbe5f9;
    --cc-cookie-category-expanded-block-hover-bg: #ebeff9;
    --cc-cookie-category-expanded-block-bg: #ebeff9;

    --cc-overlay-bg: rgba(219, 232, 255, 0.85);

    --cc-toggle-readonly-bg: #cbd8f1;
    --cc-toggle-on-knob-bg: var(--cc-bg);
    --cc-toggle-off-bg: #8fa8d6;
    --cc-toggle-readonly-knob-bg: var(--cc-bg);

    --cc-separator-border-color: #f1f3f5;

    --cc-footer-border-color: #f1f3f5;
    --cc-footer-bg: var(--cc-bg);

    --cc-btn-border-radius: 1rem .6rem 1.3rem .5rem / .5rem 1rem;
    --cc-modal-border-radius: var(--cc-btn-border-radius);
    --cc-pm-toggle-border-radius: var(--cc-btn-border-radius);
}

.cc--light-funky #cc-main .toggle__icon:after {
    border-radius: var(--cc-btn-border-radius);
}

.cc--light-funky #cc-main .cm__btn--close {
    border-radius: var(--cc-btn-border-radius);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


.cc--dark-turquoise #cc-main {
    color-scheme: dark;
    --cc-bg: #161a1c;
    --cc-primary-color: rgb(239, 244, 246);
    --cc-secondary-color: #b1bdc3;

    --cc-btn-primary-bg: #60fed2;
    --cc-btn-primary-color: #000;
    --cc-btn-primary-border-color: #60fed2;
    --cc-btn-primary-hover-bg: #45d4ad;
    --cc-btn-primary-hover-color: #000;
    --cc-btn-primary-hover-border-color: #45d4ad;

    --cc-btn-secondary-bg: #242c31;
    --cc-btn-secondary-color: var(--cc-primary-color);
    --cc-btn-secondary-border-color: #242c31;
    --cc-btn-secondary-hover-bg: #d4dae0;
    --cc-btn-secondary-hover-color: #000;
    --cc-btn-secondary-hover-border-color: #d4dae0;

    --cc-cookie-category-block-bg: #1e2428;
    --cc-cookie-category-block-border: #1e2428;
    --cc-cookie-category-block-hover-bg: #242c31;
    --cc-cookie-category-block-hover-border: #242c31;
    --cc-cookie-category-expanded-block-hover-bg: #242c31;
    --cc-cookie-category-expanded-block-bg: #1e2428;
    --cc-toggle-on-bg: #60fed2;
    --cc-toggle-readonly-bg: #343e45;
    --cc-toggle-off-bg: #343e45;
    --cc-overlay-bg: rgba(4, 6, 8, .85);

    --cc-toggle-on-knob-bg: var(--cc-bg);
    --cc-toggle-off-knob-bg: var(--cc-secondary-color);
    --cc-toggle-readonly-knob-bg: var(--cc-cookie-category-block-bg);

    --cc-separator-border-color: #222a30;

    --cc-footer-border-color: #212529;
    --cc-footer-bg: #0f1112;
}


.cc--elegant-black #cc-main {
    color-scheme: dark;
    --cc-bg: #000;
    --cc-primary-color: rgb(239, 244, 246);
    --cc-secondary-color: #b1bdc3;

    --cc-btn-primary-bg: #ffffff;
    --cc-btn-primary-color: #000;
    --cc-btn-primary-hover-bg: #ccd4d8;
    --cc-btn-primary-hover-color: #000;

    --cc-btn-secondary-bg: rgba(255, 255, 255, 0.039);
    --cc-btn-secondary-color: var(--cc-primary-color);
    --cc-btn-secondary-border-color: #252729;
    --cc-btn-secondary-hover-bg: #252729;
    --cc-btn-secondary-hover-color: #fff;
    --cc-btn-secondary-hover-border-color: #252729;

    --cc-cookie-category-block-bg: #101111;
    --cc-cookie-category-block-border: #1d1e1f;
    --cc-cookie-category-block-hover-bg: #151516;
    --cc-cookie-category-block-hover-border: #1d1e1f;
    --cc-cookie-category-expanded-block-hover-bg: #1d1e1f;
    --cc-cookie-category-expanded-block-bg: #101111;
    --cc-toggle-on-bg: #ffffff;
    --cc-toggle-readonly-bg: #2f3132;
    --cc-toggle-off-bg: #2f3132;
    --cc-overlay-bg: rgba(0, 0, 0, 0.9);

    --cc-toggle-on-knob-bg: var(--cc-bg);
    --cc-toggle-off-knob-bg: var(--cc-secondary-color);
    --cc-toggle-readonly-knob-bg: var(--cc-cookie-category-block-bg);

    --cc-separator-border-color: #252729;

    --cc-footer-border-color: #212529;
    --cc-footer-bg: #000;
}

.cc--elegant-black #cc-main .cm,
.cc--elegant-black #cc-main .pm {
    border: 1px solid var(--cc-separator-border-color);
}

/* Refs #394571: Lushbanners cookie consent theme */

/* ── Root CSS variables ─────────────────────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main {
    color-scheme: light;
    --cc-bg: #ffffff;
    --cc-primary-color: #0585c8;
    --cc-secondary-color: #112954;

    --cc-btn-primary-bg: #0585c8;
    --cc-btn-primary-color: #ffffff;
    --cc-btn-primary-border-color: #0585c8;
    --cc-btn-primary-hover-bg: #046496;
    --cc-btn-primary-hover-border-color: #046496;
    --cc-btn-primary-hover-color: #ffffff;

    --cc-btn-secondary-bg: transparent;
    --cc-btn-secondary-color: #0585c8;
    --cc-btn-secondary-border-color: #0585c8;
    --cc-btn-secondary-hover-bg: #0585c8;
    --cc-btn-secondary-hover-border-color: #0585c8;
    --cc-btn-secondary-hover-color: #ffffff;

    --cc-cookie-category-block-bg: #ebeff9;
    --cc-cookie-category-block-border: #ebeff9;
    --cc-cookie-category-block-hover-bg: #dbe5f9;
    --cc-cookie-category-block-hover-border: #dbe5f9;
    --cc-cookie-category-expanded-block-hover-bg: #ebeff9;
    --cc-cookie-category-expanded-block-bg: #ebeff9;

    --cc-overlay-bg: rgba(219, 232, 255, 0.85);

    --cc-toggle-readonly-bg: #cbd8f1;
    --cc-toggle-on-knob-bg: var(--cc-bg);
    --cc-toggle-off-bg: #8fa8d6;
    --cc-toggle-readonly-knob-bg: var(--cc-bg);

    --cc-separator-border-color: #f1f3f5;
    --cc-footer-border-color: #f1f3f5;
    --cc-footer-bg: var(--cc-bg);

    --cc-btn-border-radius: 0.5rem;
    --cc-modal-border-radius: var(--cc-btn-border-radius);
    --cc-pm-toggle-border-radius: var(--cc-btn-border-radius);
}

/* ── Consent modal (cm) ─────────────────────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main .cm {
    background-color: var(--cc-bg);
    max-width: 34.375rem;
}

.cc--lusbanners-cookies #cc-main .cm__body {
    padding: 1.25rem 1.125rem;
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__texts {
    padding: 0;
    margin-bottom: 0.625rem;
    font-weight: 400;
}

.cc--lusbanners-cookies #cc-main a {
    font-weight: 400;
    color: #0585c8;
    text-decoration: underline;
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__texts .cm__title {
    padding: 0 0 0.375rem;
    font-size: 1.1rem;
    font-family: "Metropolis-SemiBold", "sans-serif";
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__texts .cm__desc {
    padding: 0;
    margin: 0;
    font-family: "Metropolis-Regular", "sans-serif";
}

/* Flatten btn-groups so all cm buttons sit in a single flex row */
.cc--lusbanners-cookies #cc-main .cm__body .cm__btns {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1rem;
    width: 100%;
    border: none;
    padding: 0;
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__btns .cm__btn-group {
    display: contents;
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__btns .cm__btn {
    margin: 0;
    font-size: 1rem;
    min-height: auto;
}

/* cm button order: Reject All → Let me Choose → Accept All */
.cc--lusbanners-cookies #cc-main .cm__body .cm__btns .cm__btn[data-role="necessary"] {
    order: 1;
}

.cc--lusbanners-cookies #cc-main .cm__body .cm__btns .cm__btn[data-role="show"] {
    order: 2;
}

/* Accept All — yellow */
.cc--lusbanners-cookies #cc-main .cm__body .cm__btns .cm__btn[data-role="all"] {
    order: 3;
    --cc-btn-primary-bg: #fce300;
    --cc-btn-primary-color: #000000;
    --cc-btn-primary-border-color: #fce300;
    --cc-btn-primary-hover-bg: #c9b500;
    --cc-btn-primary-hover-border-color: #c9b500;
    --cc-btn-primary-hover-color: #000000;
}

.cc--lusbanners-cookies #cc-main .toggle__icon:after {
    border-radius: var(--cc-btn-border-radius);
}

.cc--lusbanners-cookies #cc-main .pm-overlay {
    background: rgb(0 0 0 / 40%);
}

/* ── Preference modal (pm) — CSS variable overrides ────────────────────────── */
.cc--lusbanners-cookies #cc-main .pm {
    background: #ffffff;
    border-radius: 0.75rem;
    box-shadow: 0 0.5rem 2.5rem rgba(0, 0, 0, 0.18);

    /* Category rows: white background, no blue tint */
    --cc-cookie-category-block-bg: #ffffff;
    --cc-cookie-category-block-border: #e2e8f0;
    --cc-cookie-category-block-hover-bg: #ffffff;
    --cc-cookie-category-block-hover-border: #e2e8f0;
    --cc-cookie-category-expanded-block-bg: #ffffff;
    --cc-cookie-category-expanded-block-hover-bg: #ffffff;

    /* Toggle: off = light gray, on = brand blue, white knob */
    --cc-toggle-on-bg: #0585c8;
    --cc-toggle-off-bg: #c8c8c8;
    --cc-toggle-on-knob-bg: #ffffff;
    --cc-toggle-off-knob-bg: #ffffff;
    --cc-toggle-readonly-bg: #c8c8c8;
    --cc-toggle-readonly-knob-bg: #ffffff;

    /* Separators */
    --cc-separator-border-color: #e2e8f0;
    --cc-footer-border-color: #e2e8f0;
    --cc-footer-bg: #ffffff;
}

.cc--lusbanners-cookies #cc-main .pm--box {
    max-width: 47rem;
    width: 100%;
    height: auto;
}

/* ── pm: Header ─────────────────────────────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main .pm__header {
    padding: 1.25rem 1.5rem 0 1.5rem;
    align-items: center;
    border-bottom: none;
}

.cc--lusbanners-cookies #cc-main .pm__title {
    padding: 0 0 0.375rem;
    font-size: 1.1rem;
    font-family: "Metropolis-SemiBold", "sans-serif";
}

/* ── pm: Close button — blue circle with bold white × ──────────────────────── */
.cc--lusbanners-cookies #cc-main .pm__close-btn {
    background: #0585c8;
    border: none;
    border-radius: 50%;
    width: 2.1875rem;
    height: 2.1875rem;
    min-width: 2.1875rem;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease;
    flex-shrink: 0;
}
.cc--lusbanners-cookies #cc-main .cm__btn--secondary:hover {
    --cc-btn-secondary-hover-bg: #fce300;
    --cc-btn-secondary-hover-border-color: #fce300;
    --cc-btn-secondary-hover-color: #000000;
}
.cc--lusbanners-cookies #cc-main .pm__close-btn:hover {
    background: #046496;
    border-color: transparent;
}

.cc--lusbanners-cookies #cc-main .pm__close-btn span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Explicit size prevents library transform scale from interfering */
.cc--lusbanners-cookies #cc-main .pm__close-btn svg {
    stroke: #ffffff;
    stroke-width: 3;
    stroke-linecap: round;
    width: 1.125rem;
    height: 1.125rem;
    min-width: 1.125rem;
    transform: none;
    display: block;
}

/* ── pm: Body ───────────────────────────────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main .pm__body {
    padding: 0 1.5rem 0.5rem 1.5rem;
}

.cc--lusbanners-cookies #cc-main .section__toggle-wrapper {
    right: 0;
}

/* "Always Active" label for required-cookie rows */
.cc--lusbanners-cookies #cc-main .section__toggle-wrapper:has(.section__toggle:disabled) {
    position: relative;
    display: none;
}

.cc--lusbanners-cookies #cc-main .pm__section-title-wrapper:has(.section__toggle:disabled) {
    position: relative;
    z-index: 0;
}

.cc--lusbanners-cookies #cc-main .pm__section-title-wrapper:has(.section__toggle:disabled)::after {
    content: "Always Active";
    white-space: nowrap;
    font-size: 1rem;
    font-weight: 600;
}

/* Intro section: description text above the category rows */
.cc--lusbanners-cookies #cc-main .pm__section:first-child {
    border: none;
    padding: 0 2.5625rem 1.5rem 0;
    margin-bottom: 0;
}

/* Hide the "You control your data" heading, keep the description text */
.cc--lusbanners-cookies #cc-main .pm__section:first-child .pm__section-title-wrapper {
    display: none;
}

.cc--lusbanners-cookies #cc-main .pm__section:first-child .pm__section-title-wrapper + .pm__section-desc-wrapper {
    margin-top: 0;
}

/* ── pm: Category toggle rows ───────────────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main .pm__section--toggle {
    background: #ffffff;
    border-radius: 0;
    margin-bottom: 0;
    border-top: none;
    border-bottom: none;
}

/* Title row: white bg, no border, vertically centered */
.cc--lusbanners-cookies #cc-main .pm__section--toggle .pm__section-title {
    background: #ffffff;
    border: none;
    border-radius: 0;
    padding: 0.85em 5em 0.85em 2.25rem;
    min-height: 3.125rem;
    align-items: center;
    transition: background-color 0.15s ease;
}

.cc--lusbanners-cookies #cc-main .pm__section--toggle .pm__section-title {
    color: #000000;
}

/* Separator line above each expandable row title */
.cc--lusbanners-cookies #cc-main .pm__section--expandable .pm__section-title-wrapper {
    border-top: 0.0625rem solid #e2e8f0;
}

/* Remove trailing separator from last row */
.cc--lusbanners-cookies #cc-main .pm__section--toggle:last-child .pm__section-desc-wrapper {
    border-bottom: none;
}

.cc--lusbanners-cookies #cc-main .pm__section--toggle:last-child:not(.is-expanded) .pm__section-title-wrapper {
    border-bottom: none;
}

.cc--lusbanners-cookies #cc-main .pm__section--toggle .pm__section-desc-wrapper {
    background: #ffffff;
    border: none;
    border-radius: 0;
    padding: 0;
}

.cc--lusbanners-cookies #cc-main .pm__section--toggle .pm__section-desc {
    padding: 0.25em 1.2em 0.9em 2.25rem;
}

/* ── pm: Left blue circle icon (+ / −) ─────────────────────────────────────── */
.cc--lusbanners-cookies #cc-main .pm__section--expandable .pm__section-arrow {
    background: #0585c8;
    border-radius: 50%;
    width: 1.375rem;
    height: 1.375rem;
    min-width: 1.375rem;
    position: absolute;
    left: 0.25rem;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hide the library's default chevron SVG */
.cc--lusbanners-cookies #cc-main .pm__section--expandable .pm__section-arrow svg {
    display: none;
}

/* Horizontal bar of the + icon */
.cc--lusbanners-cookies #cc-main .pm__section--expandable .pm__section-arrow::before {
    content: "";
    position: absolute;
    background: #ffffff;
    border-radius: 0.0625rem;
    width: 0.75rem;
    height: 0.125rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease;
}

/* Vertical bar of the + icon — fades out when expanded to show − */
.cc--lusbanners-cookies #cc-main .pm__section--expandable .pm__section-arrow::after {
    content: "";
    position: absolute;
    background: #ffffff;
    border-radius: 0.0625rem;
    width: 0.125rem;
    height: 0.75rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease, transform 0.2s ease;
    opacity: 1;
}

.cc--lusbanners-cookies #cc-main .pm__section--toggle.is-expanded .pm__section-arrow::after {
    opacity: 0;
    transform: translate(-50%, -50%) scaleY(0);
}

/* ── pm: Toggle switch — 41×22px pill, gray off / blue on / white knob ──────── */
.cc--lusbanners-cookies #cc-main .pm .section__toggle,
.cc--lusbanners-cookies #cc-main .pm .section__toggle-wrapper,
.cc--lusbanners-cookies #cc-main .pm .toggle__icon,
.cc--lusbanners-cookies #cc-main .pm .toggle__label {
    width: 2.5625rem;
    height: 1.375rem;
    border-radius: 0.8125rem;
    margin-bottom: 0;
}

.cc--lusbanners-cookies #cc-main .pm .toggle__icon {
    background: var(--cc-toggle-off-bg);
    box-shadow: 0 0 0 0.0625rem var(--cc-toggle-off-bg);
}

/* White knob: 18×18px, 2px inset from edges */
.cc--lusbanners-cookies #cc-main .pm .toggle__icon-circle {
    width: 1.125rem;
    height: 1.125rem;
    top: 0.125rem;
    left: 0.125rem;
    border-radius: 50%;
    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
    transition: transform 0.25s ease, background-color 0.25s ease;
}

/* Hide tick/cross SVG icons inside the knob */
.cc--lusbanners-cookies #cc-main .pm .toggle__icon-off,
.cc--lusbanners-cookies #cc-main .pm .toggle__icon-on {
    display: none;
}

/* Checked state: blue track, knob slides right */
.cc--lusbanners-cookies #cc-main .pm .section__toggle:checked ~ .toggle__icon {
    background: var(--cc-toggle-on-bg);
    box-shadow: 0 0 0 0.0625rem var(--cc-toggle-on-bg);
}

.cc--lusbanners-cookies #cc-main .pm .section__toggle:checked ~ .toggle__icon .toggle__icon-circle {
    transform: translateX(1.25rem);
}

/* Disabled/readonly (Always Active): blue track locked, knob stays right */
.cc--lusbanners-cookies #cc-main .pm .section__toggle:checked:disabled ~ .toggle__icon {
    background: var(--cc-toggle-on-bg);
    box-shadow: 0 0 0 0.0625rem var(--cc-toggle-on-bg);
    opacity: 1;
}

.cc--lusbanners-cookies #cc-main .pm .section__toggle:checked:disabled ~ .toggle__icon .toggle__icon-circle {
    transform: translateX(1.25rem);
}

/* ── pm: Footer — Reject All | Accept All (left) · Save My Preferences (right) ── */
.cc--lusbanners-cookies #cc-main .pm__footer {
    justify-content: center;
    gap: 1rem;
}
.cc--lusbanners-cookies #cc-main .pm__footer .pm__btn-group {
    justify-content: center;
    gap: 1rem;
    margin: 0;
}

.cc--lusbanners-cookies #cc-main .pm__btn {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    min-height: auto;
}
/* pm button order inside first btn-group: Reject All → Accept All */
.cc--lusbanners-cookies #cc-main .pm__btn[data-role="necessary"] {
    order: 1;
}
/* Accept All — yellow */
.cc--lusbanners-cookies #cc-main .pm__btn[data-role="all"] {
    order: 2;
    --cc-btn-primary-bg: transparent;
    --cc-btn-primary-color: #0585c8;
    --cc-btn-primary-border-color: #0585c8;
    --cc-btn-primary-hover-bg: #0585c8;
    --cc-btn-primary-hover-border-color: #0585c8;
    --cc-btn-primary-hover-color: #ffffff;
}
/* Reject All + Save My Preferences — outlined blue */
.cc--lusbanners-cookies #cc-main .pm__btn--secondary[data-role="save"] {
    --cc-btn-secondary-bg: #fce300;
    --cc-btn-secondary-color: #000000;
    --cc-btn-secondary-border-color: #fce300;
    --cc-btn-secondary-hover-bg: #c9b500;
    --cc-btn-secondary-hover-border-color: #c9b500;
    --cc-btn-secondary-hover-color: #000000;
}