/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */

/* ---- Tablet (1024px) ---- */
@media (max-width: 1024px) {

    .mm-nav {
        display: none;
    }

    .mm-hamburger {
        display: flex;
    }

    .mm-mobile-overlay {
        display: block;
    }

    .mm-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-grid--5,
    .mm-grid--6 {
        grid-template-columns: repeat(3, 1fr);
    }

    .mm-grid--split,
    .mm-grid--split-wide,
    .mm-grid--split-narrow {
        grid-template-columns: 1fr;
        gap: var(--mm-space-xl);
    }

    .mm-layout-sidebar {
        grid-template-columns: 1fr;
    }

    .mm-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: var(--mm-space-xl);
    }

    .mm-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-services-grid .mm-service-card:first-child {
        grid-row: auto;
    }

    .mm-events-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .mm-events-grid .mm-event-tile:nth-child(1),
    .mm-events-grid .mm-event-tile:nth-child(2) {
        min-height: 300px;
    }

    .mm-events-grid .mm-event-tile:nth-child(n+3) {
        min-height: 220px;
    }

    /* Timeline goes single column */
    .mm-events-timeline::before {
        left: 20px;
    }

    .mm-timeline-event {
        width: calc(100% - 50px);
        margin-left: 50px !important;
        margin-right: 0 !important;
        padding-left: var(--mm-space-md) !important;
        padding-right: 0 !important;
    }

    .mm-timeline-event__dot {
        left: -37px !important;
        right: auto !important;
        transform: none !important;
    }

    /* Artists roster */
    .mm-artists-roster {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-artists-roster--compact {
        grid-template-columns: repeat(3, 1fr);
    }

    .mm-international-artists {
        grid-template-columns: repeat(3, 1fr);
    }

    .mm-values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-timeline::before {
        left: 20px;
    }

    .mm-timeline__item {
        width: calc(100% - 50px);
        margin-left: 50px !important;
        margin-right: 0 !important;
    }

    .mm-timeline__item::before {
        left: -31px !important;
        right: auto !important;
    }

    .mm-team-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-artist-details {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-event-type-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .mm-section-header--with-action {
        flex-direction: column;
        align-items: flex-start;
    }

    .mm-team-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ---- Mobile Large (768px) ---- */
@media (max-width: 768px) {

    .mm-hero__content {
        max-width: 100%;
    }

    .mm-hero__actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .mm-stats-bar__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--mm-space-md);
    }

    .mm-stats-bar__item:not(:last-child)::after {
        display: none;
    }

    .mm-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-services-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mm-events-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 3px;
    }

    .mm-events-grid .mm-event-tile:nth-child(1) {
        grid-column: span 2;
        min-height: 280px;
    }

    .mm-events-grid .mm-event-tile:nth-child(2) {
        grid-column: span 1;
        min-height: 220px;
    }

    .mm-events-grid .mm-event-tile:nth-child(n+3) {
        min-height: 200px;
    }

    .mm-event-tile__title {
        font-size: var(--mm-text-sm) !important;
    }

    .mm-artists-roster,
    .mm-artists-roster--compact {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-international-artists {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-footer__main {
        grid-template-columns: 1fr;
    }

    .mm-footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    .mm-event-type-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mm-summary-grid {
        grid-template-columns: 1fr;
    }

    .mm-page-hero {
        min-height: 280px;
        padding-top: calc(var(--mm-space-2xl) + 80px);
    }

    .mm-progress-bar {
        gap: var(--mm-space-lg);
    }
}

/* ---- Mobile Small (480px) ---- */
@media (max-width: 480px) {

    .mm-hero {
        min-height: 500px;
    }

    .mm-hero__scroll {
        display: none;
    }

    .mm-stats-bar__inner {
        grid-template-columns: 1fr 1fr;
    }

    .mm-grid--2,
    .mm-grid--3 {
        grid-template-columns: 1fr;
    }

    .mm-services-grid {
        grid-template-columns: 1fr;
    }

    .mm-events-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2px;
    }

    .mm-events-grid .mm-event-tile:nth-child(1) {
        grid-column: span 2;
        min-height: 220px;
    }

    .mm-events-grid .mm-event-tile:nth-child(2) {
        grid-column: span 1;
    }

    .mm-events-grid .mm-event-tile:nth-child(n+3) {
        min-height: 160px;
    }

    .mm-event-tile {
        padding: var(--mm-space-md);
    }

    .mm-event-tile__desc {
        display: none;
    }

    .mm-values-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mm-team-grid {
        grid-template-columns: 1fr;
    }

    .mm-artist-details {
        grid-template-columns: 1fr;
    }

    .mm-event-type-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mm-filter-bar {
        gap: 4px;
    }

    .mm-filter-btn {
        padding: 0.4rem 0.8rem;
        font-size: 0.65rem;
    }

    .mm-about-hero-stat__number {
        font-size: var(--mm-text-3xl);
    }

    .mm-btn--large {
        padding: 0.9rem 1.5rem;
        font-size: var(--mm-text-xs);
    }

    .mm-contact-map {
        aspect-ratio: 1;
    }

    .mm-author-box {
        flex-direction: column;
        text-align: center;
    }
}
