/* src/styles/components/pages/home/calendar.css */
/* Calendar section (tokenized, mobile-first) */

.calendar-section {
    padding: var(--padding-xl) 0;
}

.calendar-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-top: var(--margin-md);
}

/* On large screens: arrange groups in a row */
@media (min-width: 992px) {
    .calendar-grid {
        flex-direction: row;
    }

    .calendar-grid-group {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: var(--gap-md);
    }
}

.calendar-grid-group {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.card.feature-card {
    aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--gap-sm);
    padding: var(--padding-sm); /* Smaller cards (8px) */
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    text-align: center;
    background: transparent;
    border: 1px solid var(--card-border);
    color: var(--color-text-primary);
}

.card.feature-card:hover {
    transform: translateY(var(--gap-xs));
    box-shadow: var(--shadow-md);
}

.card__title {
    margin: 0;
    font-size: var(--font-size-md); /* Slightly smaller title */
    font-weight: var(--font-weight-bold);
}

.card__lead {
    margin: var(--margin-sm) 0 0 0;
    color: var(--color-text-primary);
    opacity: 0.9;
    font-size: var(--font-size-sm); /* Slightly smaller description */
}

.cards-bridge {
    grid-column: 1 / -1; /* Span full width */
    margin-top: var(--margin-lg);
    color: var(--color-text-primary);
    opacity: 0.78;
    text-align: center;
    padding: var(--padding-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-md);
}

/* Make grid denser on narrow screens */
@media (max-width: 520px) {
    .calendar-grid {
        gap: var(--gap-sm);
    }
}