/* ── Age gate modal ── */
/* NOTE: JS controls display -- no display property in CSS (rule G1) */

.age-gate {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(11, 14, 23, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.age-gate__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 420px;
    width: calc(100% - var(--s-48));
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: var(--s-40);
    text-align: center;
}

.age-gate__badge {
    width: 48px;
    height: 48px;
    margin: 0 auto var(--s-24);
}

.age-gate__title {
    font-family: var(--f-heading);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: var(--s-12);
}

.age-gate__text {
    font-size: 0.875rem;
    color: var(--c-text-dim);
    margin-bottom: var(--s-32);
    line-height: 1.6;
}

.age-gate__actions {
    display: flex;
    flex-direction: column;
    gap: var(--s-12);
}

.age-gate__btn {
    font-family: var(--f-body);
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--r-sm);
    padding: var(--s-12) var(--s-24);
    cursor: pointer;
    border: none;
    transition: background var(--dur) var(--ease);
}

.age-gate__btn--confirm {
    background: var(--c-accent);
    color: #fff;
}

.age-gate__btn--confirm:hover {
    background: var(--c-accent-hover);
}

.age-gate__btn--deny {
    background: transparent;
    color: var(--c-text-dim);
    border: 1.5px solid var(--c-border);
}

.age-gate__btn--deny:hover {
    border-color: var(--c-text-dim);
    color: var(--c-text);
}

/* Cookiebot hidden until age verified */
.cookiebot-hidden {
    visibility: hidden;
    pointer-events: none;
}
