.age-verify {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 24px;
}
.age-verify[hidden] { display: none; }

.age-verify__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 8, 18, 0.85);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.age-verify__panel {
    position: relative;
    background: var(--lfr-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 32px 28px;
    max-width: 440px;
    width: 100%;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.age-verify__logo img { height: 48px; width: auto; }
.age-verify__title {
    font-family: var(--lfr-font-display);
    font-weight: 700;
    font-size: 24px;
    color: #fff;
}
.age-verify__text {
    color: var(--lfr-muted);
    font-family: var(--lfr-font-display);
    font-size: 15px;
}
.age-verify__check {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-family: var(--lfr-font-body);
    font-size: 14px;
    cursor: pointer;
    margin-top: 4px;
}
.age-verify__check input {
    width: 18px;
    height: 18px;
    accent-color: var(--lfr-pink);
}
.age-verify__disclaimer {
    color: var(--lfr-muted);
    font-size: 12px;
    line-height: 1.5;
}
.age-verify__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-top: 4px;
}
.age-verify__actions .btn { width: 100%; padding: 14px 24px; font-size: 16px; }
.age-verify__actions .btn--primary[disabled] { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

@media (max-width: 480px) {
    .age-verify__panel { padding: 26px 20px; }
    .age-verify__title { font-size: 20px; }
}
