/* Theme tokens are local to the component and may be overridden by the host. */
.cookie-consent {
    box-sizing: border-box;
    background: var(--consent-surface, #fff);
    color: var(--consent-text, #15313a);
    border: 1px solid var(--consent-border, #5f7f85);
    border-radius: var(--consent-radius, 1rem);
    box-shadow: var(--consent-shadow, 0 1rem 4rem #0003);
    font: var(--consent-font, inherit);
    inset: auto 0 var(--consent-offset, 1rem);
    line-height: 1.6;
    margin: auto;
    max-height: calc(100dvh - 2rem);
    max-width: var(--consent-max-width, 40rem);
    overflow: auto;
    overflow-wrap: anywhere;
    overscroll-behavior: contain;
    padding: var(--consent-padding, clamp(1.1rem, 4vw, 2rem));
    width: calc(100% - 2rem);
}
.cookie-consent[data-consent-theme="light"] { color-scheme: light; }
.cookie-consent[data-consent-theme="dark"] {
    color-scheme: dark;
    --consent-surface: #142d35;
    --consent-text: #f1f7f8;
    --consent-border: #8eafb6;
    --consent-button: #a4e4ef;
    --consent-button-text: #102b32;
    --consent-focus: #ffe28b;
}
.cookie-consent::backdrop { background: var(--consent-backdrop, #0005); }
.cookie-consent h2 { color: inherit; font-size: 1.45rem; line-height: 1.2; margin: 0 0 1rem; }
.cookie-consent p { margin: .8rem 0; }
.cookie-consent summary { cursor: pointer; font-weight: 700; padding-block: .4rem; }
.cookie-consent a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.cookie-consent__links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: var(--consent-action-gap, .75rem); margin-top: 1.2rem; }
.cookie-consent__actions button {
    background: var(--consent-button, #0f6376);
    border: 2px solid var(--consent-button, #0f6376);
    border-radius: var(--consent-button-radius, 999px);
    color: var(--consent-button-text, #fff);
    cursor: pointer;
    flex: 1 1 9rem;
    font: inherit;
    font-weight: 700;
    min-height: 2.75rem;
    min-width: 0;
    padding: .65rem 1rem;
}
.cookie-consent__actions button:hover { filter: brightness(.9); }
.cookie-consent__close { background: none; border: 0; color: inherit; cursor: pointer; font: inherit; min-height: 2.75rem; margin-top: .6rem; padding: .4rem 0; text-decoration: underline; text-underline-offset: .2em; }
.cookie-consent :focus-visible { outline: 3px solid var(--consent-focus, #0a4e5d); outline-offset: 3px; }
.cookie-consent [hidden] { display: none; }
@media print { .cookie-consent, .cookie-consent::backdrop, [data-consent-open] { display: none !important; } }
