/* ============================================================
   SFS Theme — Responsive Breakpoints
   Mobile-first. No color values.
   ============================================================ */

/* lg: 1024px and below */
@media (max-width: 1024px) {
    .sfs-steps__list {
        grid-template-columns: repeat(2, 1fr);
    }
    .sfs-steps__list::before {
        display: none;
    }
    .sfs-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sfs-emergency__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sfs-city-selector__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    :root {
        --text-5xl: 2.5rem;
    }
}

/* md: 768px and below */
@media (max-width: 768px) {
    :root {
        --section-py: var(--space-12);
        --text-5xl: 2rem;
        --text-3xl: 1.5rem;
    }

    .sfs-header__nav,
    .sfs-header__cta {
        display: none;
    }

    .sfs-header__menu-toggle {
        display: flex;
    }

    .sfs-hero__title {
        font-size: var(--text-3xl);
    }

    .sfs-hero__actions {
        flex-direction: column;
        align-items: center;
    }

    .sfs-city-selector {
        margin-top: var(--space-4);
        border-radius: var(--radius-lg);
    }

    .sfs-city-selector__grid {
        grid-template-columns: 1fr;
    }

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

    .sfs-steps__list {
        grid-template-columns: 1fr;
    }

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

    .sfs-footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .sfs-footer__bottom {
        flex-direction: column;
        gap: var(--space-3);
        text-align: center;
    }
}

/* sm: 480px and below */
@media (max-width: 480px) {
    :root {
        --container-px: 1rem;
    }

    .sfs-emergency__grid {
        grid-template-columns: 1fr;
    }

    .sfs-btn--lg {
        width: 100%;
        justify-content: center;
    }
}

/* Mobile nav (open state) */
.sfs-header.nav-open .sfs-header__nav {
    display: flex;
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    flex-direction: column;
    background-color: var(--primary-dark);
    padding: var(--space-4);
    gap: var(--space-1);
    box-shadow: var(--shadow-lg);
    z-index: 99;
}

/* Keep CTA visible in mobile nav open state, shown as a full-width row */
.sfs-header.nav-open .sfs-header__cta {
    display: none;
}

/* "Announce Janaza" CTA injected into mobile nav */
.sfs-header.nav-open .sfs-header__nav::after {
    content: '';
    display: block;
    height: 1px;
    background-color: rgba(255,255,255,0.1);
    margin: var(--space-2) 0;
}

/* Mobile nav link size bump for easier tapping */
.sfs-header.nav-open .sfs-nav__link {
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-base);
    border-radius: var(--radius-md);
}
