/* Explain: Styles for the booking section's age tabs and time slots. */
.age-tab {
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    border: 1px solid var(--glass-border);
    border-radius: 1.4rem;
    background: color-mix(in srgb, var(--background-color) 75%, transparent);
    padding: 0.85rem 1.35rem;
    color: var(--text-color);
    text-align: left;
    backdrop-filter: blur(14px);
    transition: transform 250ms ease, border-color 250ms ease, background-color 250ms ease, box-shadow 250ms ease;
}

.age-tab:hover {
    border-color: var(--accent-color);
    transform: translateY(-2px);
}

.age-tab:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.age-tab.is-active {
    border-color: var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 14%, var(--background-color));
    box-shadow: 0 18px 44px color-mix(in srgb, var(--primary-color) 22%, transparent);
}

.age-range {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
}

.age-tab.is-active .age-range {
    color: var(--sage-dark);
}