/* ============================================================
   ALL DA SMOKE
   MODALS
   AGE VERIFICATION + LEGACY AGE SELECTORS
   ============================================================ */


/* ============================================================
   AGE VERIFICATION
   ============================================================ */

.age-modal {
    position: fixed;

    z-index: 2000;

    inset: 0;

    display: grid;
    place-items: center;

    padding: 20px;

    background:
        rgba(0, 0, 0, 0.84);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    opacity: 1;
    visibility: visible;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.age-modal[hidden] {
    display: none !important;
}

.age-modal.hidden {
    opacity: 0;
    visibility: hidden;

    pointer-events: none;
}

.age-modal-content {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 390px;

    padding:
        27px
        21px
        21px;

    text-align: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.09);

    border-radius: 27px;

    background:
        radial-gradient(
            circle at 50% 0,
            rgba(255, 102, 0, 0.13),
            transparent 43%
        ),
        #101419;

    box-shadow:
        0 30px 100px
        rgba(0, 0, 0, 0.75);

    animation:
        modalIn 0.4s
        cubic-bezier(.2,.8,.2,1);
}

.age-logo {
    width: 68px;
    height: 68px;

    display: grid;
    place-items: center;

    margin:
        0
        auto
        17px;

    border-radius: 21px;

    border:
        1px solid
        rgba(255, 102, 0, 0.23);

    background:
        rgba(255, 102, 0, 0.09);

    color:
        var(--orange);

    font-size: 21px;
    font-weight: 900;
}

.age-modal-content h2 {
    font-size: 26px;

    letter-spacing: -0.04em;
}

.age-modal-content p {
    margin-top: 8px;

    color:
        var(--muted);

    font-size: 11px;
    line-height: 1.55;
}

.age-actions {
    display: grid;

    gap: 8px;

    margin-top: 21px;
}

.age-actions button {
    min-height: 48px;

    border-radius: 14px;

    font-size: 12px;
    font-weight: 800;

    appearance: none;
    -webkit-appearance: none;
}

.age-actions #ageConfirm {
    background:
        var(--orange);

    box-shadow:
        0 10px 28px
        rgba(255, 102, 0, 0.20);
}

.age-actions #ageDeny {
    background:
        rgba(255, 255, 255, 0.045);

    color:
        var(--muted);
}


/* ============================================================
   LEGACY AGE MODAL SELECTORS
   ============================================================ */

.age-card {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 390px;

    padding:
        27px
        21px
        21px;

    text-align: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.09);

    border-radius: 27px;

    background:
        radial-gradient(
            circle at 50% 0,
            rgba(255, 102, 0, 0.13),
            transparent 43%
        ),
        #101419;

    box-shadow:
        0 30px 100px
        rgba(0, 0, 0, 0.75);
}

.age-badge {
    width: 68px;
    height: 68px;

    display: grid;
    place-items: center;

    margin:
        0
        auto
        17px;

    border-radius: 21px;

    border:
        1px solid
        rgba(255, 102, 0, 0.23);

    background:
        rgba(255, 102, 0, 0.09);

    color:
        var(--orange);

    font-size: 21px;
    font-weight: 900;
}

.age-card h2 {
    font-size: 26px;

    letter-spacing: -0.04em;
}

.age-card p {
    margin-top: 8px;

    color:
        var(--muted);

    font-size: 11px;
    line-height: 1.55;
}

.age-buttons {
    display: grid;

    gap: 8px;

    margin-top: 21px;
}

.age-confirm,
.age-deny {
    min-height: 48px;

    border-radius: 14px;

    font-size: 12px;
    font-weight: 800;
}

.age-confirm {
    background:
        var(--orange);
}

.age-deny {
    background:
        rgba(255, 255, 255, 0.045);

    color:
        var(--muted);
}