/* ==========================================================
   SANTVANI — RESPONSIVE (media queries only)
   Mobile-first: base styles live in main.css; these scale up.
   Breakpoints: 480px, 768px, 1024px, 1200px
   ========================================================== */

/* ---------------- 480px and up ---------------- */
@media (min-width: 480px) {

    .sv-saints-row {
        grid-template-columns: repeat(3, 1fr);
    }

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

    .sv-search-form {
        flex-direction: row;
    }

    .sv-search-form input[type="search"] {
        flex: 1;
    }
}

/* ---------------- 768px and up ---------------- */
@media (min-width: 768px) {

    /* Desktop navigation: inline menu, no hamburger. */
    .sv-nav-toggle {
        display: none;
    }

    .sv-nav {
        display: block;
        width: auto;
    }

    .sv-header-inner {
        flex-wrap: nowrap;
    }

    .sv-menu {
        flex-direction: row;
        align-items: center;
        gap: 4px;
        padding: 0;
    }

    .sv-menu a {
        padding: 8px 14px;
    }

    /* Dropdowns on hover for desktop. */
    .sv-menu > li {
        position: relative;
    }

    .sv-menu .sub-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 200px;
        background: var(--color-deep);
        border-radius: var(--radius-sm);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
        padding: 8px;
        z-index: 1000;
    }

    .sv-menu > li:hover > .sub-menu,
    .sv-menu > li:focus-within > .sub-menu {
        display: block;
    }

    .sv-hero {
        padding: 96px 20px 104px;
    }

    .sv-hero-quote {
        font-size: 2.3rem;
    }

    .sv-hero-sub {
        font-size: 1.08rem;
    }

    .sv-page-hero h1 {
        font-size: 2.2rem;
    }

    .sv-section {
        padding: 64px 20px;
    }

    .sv-section-title {
        font-size: 1.9rem;
    }

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

    .sv-filter-bar {
        flex-direction: row;
        align-items: center;
    }

    .sv-filter-bar select {
        width: auto;
        min-width: 160px;
    }

    .sv-lyrics {
        font-size: 1.4rem;
    }

    .sv-bhajan-title {
        font-size: 2.4rem;
    }

    .sv-saint-hero-inner {
        flex-direction: row;
        text-align: left;
        gap: 40px;
    }

    .sv-saint-hero-inner .sv-eyebrow,
    .sv-saint-hero h1 {
        text-align: left;
    }

    .sv-saint-hero-text .sv-breadcrumbs {
        justify-content: flex-start;
    }

    .sv-contact-grid {
        grid-template-columns: 3fr 2fr;
    }

    .sv-footer-grid {
        grid-template-columns: 2fr 1fr 1fr;
    }
}

/* ---------------- 1024px and up ---------------- */
@media (min-width: 1024px) {

    .sv-saints-row {
        grid-template-columns: repeat(6, 1fr);
    }

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

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

    .sv-hero-quote {
        font-size: 2.6rem;
    }

    .sant-portrait-wrap,
    .sant-portrait {
        width: 120px;
        height: 120px;
    }

    .sv-saint-hero-img .sant-portrait {
        width: 180px;
        height: 180px;
    }
}

/* ---------------- 1200px and up ---------------- */
@media (min-width: 1200px) {

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

    .sv-hero {
        padding: 112px 20px 120px;
    }
}
