.imsa-cookie {
    --imsa-cookie-bg: rgba(250, 247, 241, 0.86);
    --imsa-cookie-text: #121b26;
    --imsa-cookie-muted: rgba(18, 27, 38, 0.72);
    --imsa-cookie-line: rgba(62, 48, 32, 0.16);
    --imsa-cookie-shadow: 0 -18px 54px rgba(91, 70, 45, 0.12);
    --imsa-cookie-btn: rgba(255, 255, 255, 0.42);
    --imsa-cookie-btn-hover: rgba(255, 255, 255, 0.68);
    --imsa-cookie-accept: #121b26;
    --imsa-cookie-accept-text: #faf7f1;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1200;
    padding: 1.05rem clamp(1.35rem, 4.6vw, 3.25rem) calc(1.15rem + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--imsa-cookie-line);
    background: var(--imsa-cookie-bg);
    box-shadow: var(--imsa-cookie-shadow);
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    color: var(--imsa-cookie-text);
    font-family: "D-DIN", "Helvetica Neue", Arial, sans-serif;
}

html[data-theme="dark"] .imsa-cookie {
    --imsa-cookie-bg: rgba(10, 16, 25, 0.78);
    --imsa-cookie-text: #f3efe6;
    --imsa-cookie-muted: rgba(243, 239, 230, 0.72);
    --imsa-cookie-line: rgba(245, 241, 232, 0.16);
    --imsa-cookie-shadow: 0 -18px 54px rgba(0, 0, 0, 0.18);
    --imsa-cookie-btn: rgba(255, 255, 255, 0.08);
    --imsa-cookie-btn-hover: rgba(255, 255, 255, 0.14);
    --imsa-cookie-accept: #f3efe6;
    --imsa-cookie-accept-text: #08090c;
}

.imsa-cookie-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    width: min(100%, 76rem);
    margin: 0 auto;
}

.imsa-cookie-copy {
    flex: 1 1 18rem;
    margin: 0;
    color: var(--imsa-cookie-muted);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    line-height: 1.45;
}

.imsa-cookie-copy a {
    color: var(--imsa-cookie-text);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.imsa-cookie-copy a:hover,
.imsa-cookie-copy a:focus-visible {
    opacity: 0.72;
}

.imsa-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.imsa-cookie-actions button {
    min-height: 42px;
    padding: 0.65rem 1.15rem;
    border: 1px solid var(--imsa-cookie-line);
    border-radius: 999px;
    color: var(--imsa-cookie-text);
    font: inherit;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: var(--imsa-cookie-btn);
    cursor: pointer;
}

.imsa-cookie-actions button:hover,
.imsa-cookie-actions button:focus-visible {
    background: var(--imsa-cookie-btn-hover);
}

.imsa-cookie-actions [data-imsa-cookie-accept] {
    color: var(--imsa-cookie-accept-text);
    background: var(--imsa-cookie-accept);
    border-color: var(--imsa-cookie-accept);
}

.imsa-cookie-actions [data-imsa-cookie-accept]:hover,
.imsa-cookie-actions [data-imsa-cookie-accept]:focus-visible {
    opacity: 0.86;
    background: var(--imsa-cookie-accept);
}

.imsa-cookie-actions button:focus-visible,
.imsa-cookie-copy a:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 3px;
}
