/* CookieConsent v3 uses its own palette; define every visible surface for both themes. */
#cc-main {
    --cc-font-family: var(--gh-font-body, system-ui, sans-serif);
    --cc-primary-color: #202a33;
    --cc-secondary-color: #485662;
    --cc-bg: #fff;
    --cc-overlay-bg: rgba(0, 0, 0, .55);
    --cc-separator-border-color: #ccd4dc;
    --cc-cookie-category-block-bg: #f0f3f6;
    --cc-cookie-category-block-border: #ccd4dc;
    --cc-cookie-category-block-hover-bg: #e6ebf0;
    --cc-cookie-category-block-hover-border: #a8b7c5;
    --cc-cookie-category-expanded-block-bg: #f7f9fb;
    --cc-cookie-category-expanded-block-hover-bg: #e6ebf0;
    --cc-btn-primary-bg: #202a33;
    --cc-btn-primary-color: #fff;
    --cc-btn-primary-border-color: #202a33;
    --cc-btn-primary-hover-bg: #354856;
    --cc-btn-primary-hover-color: #fff;
    --cc-btn-primary-hover-border-color: #354856;
    --cc-btn-secondary-bg: #e8edf2;
    --cc-btn-secondary-color: #202a33;
    --cc-btn-secondary-border-color: #b7c4d0;
    --cc-btn-secondary-hover-bg: #d9e2ea;
    --cc-btn-secondary-hover-color: #202a33;
    --cc-btn-secondary-hover-border-color: #96a9b8;
    --cc-toggle-on-bg: #16743b;
    --cc-toggle-off-bg: #b42332;
    --cc-toggle-on-knob-bg: #fff;
    --cc-toggle-off-knob-bg: #fff;
    --cc-toggle-readonly-bg: #aab7c4;
    --cc-toggle-readonly-knob-bg: #fff;
    --cc-toggle-readonly-knob-icon-color: #344350;
    --cc-section-category-border: #ccd4dc;
    --cc-link-color: #174f88;
    z-index: 2147483000;
}
html.dark-mode #cc-main {
    --cc-primary-color: #f6f8fa;
    --cc-secondary-color: #d2dae3;
    --cc-bg: #20252c;
    --cc-overlay-bg: rgba(0, 0, 0, .72);
    --cc-separator-border-color: #576574;
    --cc-cookie-category-block-bg: #303943;
    --cc-cookie-category-block-border: #637184;
    --cc-cookie-category-block-hover-bg: #3b4653;
    --cc-cookie-category-block-hover-border: #8a99aa;
    --cc-cookie-category-expanded-block-bg: #29323d;
    --cc-cookie-category-expanded-block-hover-bg: #3b4653;
    --cc-btn-primary-bg: #e7eaf0;
    --cc-btn-primary-color: #20252c;
    --cc-btn-primary-border-color: #e7eaf0;
    --cc-btn-primary-hover-bg: #fff;
    --cc-btn-primary-hover-color: #20252c;
    --cc-btn-primary-hover-border-color: #fff;
    --cc-btn-secondary-bg: #414b58;
    --cc-btn-secondary-color: #fff;
    --cc-btn-secondary-border-color: #8795a5;
    --cc-btn-secondary-hover-bg: #526072;
    --cc-btn-secondary-hover-color: #fff;
    --cc-btn-secondary-hover-border-color: #a1adba;
    --cc-toggle-on-bg: #218b4d;
    --cc-toggle-off-bg: #cf3949;
    --cc-toggle-on-knob-bg: #fff;
    --cc-toggle-off-knob-bg: #fff;
    --cc-toggle-readonly-bg: #697b8c;
    --cc-toggle-readonly-knob-bg: #fff;
    --cc-toggle-readonly-knob-icon-color: #26333f;
    --cc-section-category-border: #637184;
    --cc-link-color: #a9d5ff;
}
/* Alto's global dark button rule must not wash out Consent's button labels. */
html.dark-mode #cc-main .cm__btn--primary,
html.dark-mode #cc-main .pm__btn--primary {
    color: var(--cc-btn-primary-color);
}
html.dark-mode #cc-main .cm__btn--secondary,
html.dark-mode #cc-main .pm__btn--secondary {
    color: var(--cc-btn-secondary-color);
}
#cc-main .cm__desc,
#cc-main .pm__section-desc,
#cc-main .pm__section-title,
#cc-main .pm__section--toggle .pm__section-title {
    opacity: 1;
}
.dw-consent-settings {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}
.dw-consent-settings-fallback[hidden] {
    display: none !important;
}
.dw-consent-settings:focus-visible,
.dw-consent-embed button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.dw-consent-embed {
    background: var(--color-bg, #f0f2f5);
    color: inherit;
    border: 1px solid currentColor;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin: 1.5rem 0;
    text-align: center;
}
.dw-consent-embed p { margin: 0.5rem 0 1rem; }
.dw-consent-embed button {
    cursor: pointer;
    color: #fff;
    background: #202a33;
    border: 0;
    border-radius: 0.4rem;
    padding: 0.75rem 1.2rem;
    font: inherit;
}
.dw-consent-embed.is-loaded {
    padding: 0;
    border: 0;
    background: transparent;
    aspect-ratio: 16 / 9;
}
.dw-consent-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    aspect-ratio: 16 / 9;
}

/* Give Ghost YouTube cards nearly the same width as bookmark cards. */
.kg-embed-card > .dw-consent-embed,
.kg-embed-card > iframe[src^="https://www.youtube.com/embed/"],
.kg-embed-card > iframe[src^="https://www.youtube-nocookie.com/embed/"] {
    display: block;
    box-sizing: border-box;
    width: min(100%, 680px);
    margin-inline: auto;
}
.kg-embed-card > iframe[src^="https://www.youtube.com/embed/"],
.kg-embed-card > iframe[src^="https://www.youtube-nocookie.com/embed/"] {
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

/* Provider explanations are visible beside each individually selectable service. */
#cc-main .dw-service-description {
    display: block;
    margin-top: .35rem;
    font-size: .9em;
    font-weight: 400;
    line-height: 1.5;
}

/* Use the available viewport while keeping the header and actions in view. */
#cc-main .cm--box {
    max-width: 360px;
}
#cc-main .pm--box {
    width: calc(100% - 24px);
    max-width: 740px;
    height: calc(100% - 24px);
    height: calc(100dvh - 24px);
    max-height: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
    left: 12px;
    right: 12px;
}
#cc-main .pm__header,
#cc-main .pm__footer {
    flex-shrink: 0;
}
#cc-main .pm__body {
    min-height: 0;
    overscroll-behavior: contain;
}
#cc-main .pm__section:first-child {
    margin-bottom: 1em;
}
#cc-main .pm__section-toggles {
    margin-top: .5em;
}
#cc-main .pm__section--toggle .dw-purpose-summary {
    margin: 0;
    padding: .75em 1.2em;
    border: 1px solid var(--cc-cookie-category-block-border);
    border-top: 0;
    border-radius: 0 0 var(--cc-btn-border-radius) var(--cc-btn-border-radius);
    background: var(--cc-cookie-category-block-bg);
    color: var(--cc-secondary-color);
    font-size: .9em;
    line-height: 1.5;
}
#cc-main .pm__section--toggle:has(.dw-purpose-summary) .pm__section-title {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
#cc-main .pm__section--toggle.is-expanded .dw-purpose-summary {
    border-radius: 0;
}
#cc-main .pm__btn-group {
    min-width: 0;
}
#cc-main .pm__btn {
    white-space: normal;
}
@media (max-width: 640px) {
    #cc-main .pm--box {
        top: 12px;
        bottom: 12px;
        border-radius: .5rem;
    }
}
