:root {
    --ebx-cookie-ink: #070c15;
    --ebx-cookie-panel: #101a2a;
    --ebx-cookie-gold: #c9a85d;
    --ebx-cookie-gold-light: #f4dfa6;
    --ebx-cookie-text: #cbd5e1;
    --ebx-cookie-muted: #9eacc1;
    --ebx-cookie-line: rgba(255, 255, 255, .12);
}

.ebx-cookie-banner,
.ebx-cookie-modal,
.ebx-cookie-settings,
.ebx-cookie-noscript {
    box-sizing: border-box;
    font-family: "Outfit", system-ui, sans-serif;
}

.ebx-cookie-banner {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 22000;
    display: grid;
    width: min(calc(100% - 2rem), 1180px);
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem;
    border: 1px solid rgba(201, 168, 93, .28);
    border-radius: 1rem;
    background: linear-gradient(145deg, rgba(19, 32, 52, .99), rgba(7, 12, 21, .99));
    color: var(--ebx-cookie-text);
    box-shadow: 0 24px 80px rgba(0, 0, 0, .48);
}

.ebx-cookie-consent-set .ebx-cookie-banner { display: none; }
.ebx-cookie-banner__copy strong { display: block; margin-bottom: .25rem; color: #fff; font-size: 1.05rem; }
.ebx-cookie-banner__copy p { max-width: 720px; margin: 0; color: var(--ebx-cookie-text); font-size: .86rem; line-height: 1.55; }
.ebx-cookie-banner__copy a { color: var(--ebx-cookie-gold-light); }
.ebx-cookie-banner__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }

.ebx-cookie-button {
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid var(--ebx-cookie-line);
    border-radius: .65rem;
    background: rgba(255, 255, 255, .04);
    color: #fff;
    font: 700 .78rem/1.2 "Outfit", system-ui, sans-serif;
    cursor: pointer;
}

.ebx-cookie-button:hover,
.ebx-cookie-button:focus-visible { border-color: var(--ebx-cookie-gold); outline: 2px solid transparent; background: rgba(201, 168, 93, .1); }
.ebx-cookie-button--gold { border-color: transparent; background: var(--ebx-cookie-gold); color: var(--ebx-cookie-ink); }
.ebx-cookie-button--gold:hover,
.ebx-cookie-button--gold:focus-visible { background: var(--ebx-cookie-gold-light); color: var(--ebx-cookie-ink); }
.ebx-cookie-button--text { border-color: transparent; background: transparent; color: var(--ebx-cookie-gold-light); }

.ebx-cookie-settings {
    display: none;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    text-decoration-color: rgba(201, 168, 93, .4);
    text-underline-offset: .18em;
    cursor: pointer;
}

.ebx-cookie-consent-set .ebx-cookie-settings.is-positioned { display: inline-flex; }
.ebx-cookie-settings:hover,
.ebx-cookie-settings:focus-visible { color: var(--ebx-cookie-gold-light); text-decoration-color: currentColor; }
.ebx-cookie-settings:focus-visible { outline: 1px solid var(--ebx-cookie-gold); outline-offset: 3px; }
.ebx-cookie-settings-separator { padding-inline: .3em; color: inherit; }
.ebx-cookie-settings-slot { margin-top: .65rem; color: var(--ebx-cookie-muted); font-size: .68rem; line-height: 1.5; }
.ebx-cookie-settings.is-floating-fallback {
    position: fixed;
    bottom: .45rem;
    left: .45rem;
    z-index: 21000;
    padding: .32rem .45rem;
    border: 1px solid rgba(201, 168, 93, .2);
    border-radius: .4rem;
    background: rgba(7, 12, 21, .88);
    color: var(--ebx-cookie-muted);
    font-size: .62rem;
    opacity: .78;
}

.ebx-cookie-modal { position: fixed; inset: 0; z-index: 23000; display: grid; place-items: center; padding: 1rem; }
.ebx-cookie-modal[hidden] { display: none; }
.ebx-cookie-modal__backdrop { position: absolute; inset: 0; background: rgba(1, 5, 12, .78); backdrop-filter: blur(5px); }
.ebx-cookie-modal__dialog { position: relative; z-index: 1; width: min(100%, 620px); max-height: calc(100vh - 2rem); padding: clamp(1.4rem, 4vw, 2.2rem); overflow-y: auto; border: 1px solid rgba(201, 168, 93, .25); border-radius: 1rem; background: linear-gradient(145deg, #132034, #080e19); color: var(--ebx-cookie-text); box-shadow: 0 24px 90px rgba(0, 0, 0, .55); }
.ebx-cookie-modal__close { position: absolute; top: .8rem; right: .8rem; width: 38px; height: 38px; border: 1px solid var(--ebx-cookie-line); border-radius: 50%; background: transparent; color: #fff; font-size: 1.35rem; cursor: pointer; }
.ebx-cookie-modal__eyebrow { color: var(--ebx-cookie-gold); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ebx-cookie-modal h2 { margin: .45rem 0 .65rem; color: #fff; font: 800 clamp(1.8rem, 4vw, 2.5rem)/1.05 "Outfit", system-ui, sans-serif; }
.ebx-cookie-modal p { margin: 0 0 1.3rem; color: var(--ebx-cookie-text); font-size: .92rem; line-height: 1.55; }
.ebx-cookie-choice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--ebx-cookie-line); color: var(--ebx-cookie-text); cursor: pointer; }
.ebx-cookie-choice > div,
.ebx-cookie-choice > span { min-width: 0; }
.ebx-cookie-choice strong,
.ebx-cookie-choice span span { display: block; }
.ebx-cookie-choice strong { color: #fff; font-size: .94rem; }
.ebx-cookie-choice span span { margin-top: .2rem; color: var(--ebx-cookie-muted); font-size: .78rem; line-height: 1.4; }
.ebx-cookie-choice input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; accent-color: var(--ebx-cookie-gold); }
.ebx-cookie-modal__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.ebx-cookie-noscript { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 24000; margin: 0; padding: 1rem; border: 1px solid var(--ebx-cookie-gold); border-radius: .7rem; background: var(--ebx-cookie-ink); color: #fff; text-align: center; }

@media (max-width: 850px) {
    .ebx-cookie-banner { grid-template-columns: 1fr; gap: 1rem; }
    .ebx-cookie-banner__actions { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .ebx-cookie-banner { right: .65rem; bottom: .65rem; left: .65rem; width: auto; padding: 1rem; }
    .ebx-cookie-banner__actions { display: grid; grid-template-columns: 1fr; }
    .ebx-cookie-button { width: 100%; }
    .ebx-cookie-modal__actions { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
    .ebx-cookie-banner,
    .ebx-cookie-modal { scroll-behavior: auto; }
}
