/* ==========================================================
   Aakash School Plugin — Responsive Styles
   Breakpoints: 1024px (tablet), 768px (mobile), 480px (small)
   ========================================================== */

@media (max-width: 1100px) {
    .ssp-section-title { font-size: 32px; }
    .ssp-programs-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-clubs-grid { grid-template-columns: repeat(3, 1fr); }
    .ssp-team-grid { grid-template-columns: repeat(3, 1fr); }
    .ssp-infra-icons-grid { grid-template-columns: repeat(4, 1fr); }
    .ssp-sports-grid { grid-template-columns: repeat(4, 1fr); }
    .ssp-achieve-grid { grid-template-columns: repeat(3, 1fr); }
    .ssp-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
    .ssp-gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .ssp-gallery-masonry { columns: 3; }
    .ssp-career-perks { grid-template-columns: repeat(2, 1fr); }
    .ssp-franchise-benefits { grid-template-columns: repeat(2, 1fr); }
    .ssp-why-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-stat-item::after { display: none; }
    .ssp-stat-item { border-bottom: 1px solid rgba(255,255,255,0.12); }
    .ssp-stat-item:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,0.12); }
    .ssp-stat-item:nth-child(3), .ssp-stat-item:nth-child(4) { border-bottom: none; }
}

/* Photo Slider — tablet */
@media (max-width: 1100px) {
    .ssp-photo-img { height: 420px; }
    .ssp-photo-btn { width: 46px; height: 46px; font-size: 24px; }
}

@media (max-width: 768px) {
    .ssp-section { padding: 56px 0; }
    .ssp-section-title { font-size: 27px; }
    .ssp-section-subtitle { font-size: 15px; }

    /* Topbar */
    .ssp-topbar .ssp-container { flex-direction: column; gap: 6px; align-items: flex-start; }

    /* Header — Mobile Nav */
    .ssp-hamburger { display: flex; }
    .ssp-nav {
        position: fixed; top: 0; right: -100%; width: 300px; height: 100vh;
        background: #fff; padding: 80px 0 30px;
        box-shadow: -5px 0 40px rgba(0,0,0,0.18);
        transition: right 0.32s cubic-bezier(.4,0,.2,1);
        overflow-y: auto; z-index: 100;
        border-left: 3px solid var(--ssp-primary);
    }
    .ssp-nav.ssp-nav-open { right: 0; }

    /* FIX: overlay is hidden by default; only shown when nav is open */
    .ssp-nav-overlay { display: none; }
    .ssp-nav-overlay.ssp-nav-open { display: block; }

    .ssp-nav-list { flex-direction: column; align-items: flex-start; padding: 0 20px; gap: 0; }
    .ssp-nav-list > li { width: 100%; border-bottom: 1px solid var(--ssp-light-bg); }
    .ssp-nav-list > li > a { padding: 14px 0; font-size: 15px; width: 100%; }
    .ssp-dropdown { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; border-radius: 0; padding: 0 0 0 16px; background: var(--ssp-light-bg); display: none; }
    .ssp-has-dropdown.ssp-open .ssp-dropdown { display: block; }

    /* Hero Slider */
    .ssp-slider { height: 400px; }
    .ssp-slide-title { font-size: 30px; letter-spacing: -0.5px; }
    .ssp-slide-subtitle { font-size: 15px; }
    .ssp-slide-content { padding: 24px; margin-left: 4%; }
    .ssp-hero-title { font-size: 34px; letter-spacing: -0.5px; }
    .ssp-hero-subtitle { font-size: 16px; }
    .ssp-hero-btns { flex-direction: column; align-items: flex-start; gap: 12px; }

    /* Photo Slider */
    .ssp-photo-img { height: 300px; }
    .ssp-photo-btn { width: 40px; height: 40px; font-size: 22px; }
    .ssp-photo-prev { left: 10px; }
    .ssp-photo-next { right: 10px; }
    .ssp-photo-caption-bar { padding: 28px 16px 56px; }
    .ssp-photo-caption-text { font-size: 13px; }
    .ssp-photo-dots { bottom: 14px; }

    /* Page Hero */
    .ssp-page-hero { padding: 54px 0 44px; }
    .ssp-page-hero-title { font-size: 30px; }

    /* About */
    .ssp-about-grid { grid-template-columns: 1fr; gap: 36px; }
    .ssp-about-visual { order: -1; }
    .ssp-about-placeholder { height: 260px; }

    /* Stats */
    .ssp-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-stat-number { font-size: 36px; }

    /* Why Strip */
    .ssp-why-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-why-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
    .ssp-why-item:nth-child(even) { border-bottom: 1px solid rgba(255,255,255,0.15); }

    /* Programs */
    .ssp-programs-grid { grid-template-columns: 1fr; }

    /* Clubs */
    .ssp-clubs-grid { grid-template-columns: repeat(2, 1fr); }

    /* Events */
    .ssp-events-grid { grid-template-columns: 1fr; }

    /* Testimonials */
    .ssp-testimonials-slider { padding: 0 44px; }
    .ssp-testimonials-track { grid-template-columns: 1fr; }

    /* Gallery */
    .ssp-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; }
    .ssp-gallery-featured { grid-column: span 2; grid-row: span 2; }
    .ssp-gallery-masonry { columns: 2; }

    /* Blog */
    .ssp-blog-grid { grid-template-columns: 1fr; }

    /* CTA */
    .ssp-cta-title { font-size: 28px; }

    /* About Page */
    .ssp-vms-grid { grid-template-columns: 1fr; }
    .ssp-message-grid { grid-template-columns: 1fr; }
    .ssp-team-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-infra-icons-grid { grid-template-columns: repeat(4, 1fr); }
    .ssp-affil-grid { grid-template-columns: 1fr; gap: 20px; }
    .ssp-achieve-grid { grid-template-columns: repeat(2, 1fr); }

    /* Admissions */
    .ssp-enquiry-grid { grid-template-columns: 1fr; }
    .ssp-enquiry-form .ssp-form-row { flex-direction: column; }
    .ssp-enquiry-form-wrap { padding: 28px 22px; }

    /* Contact */
    .ssp-contact-grid { grid-template-columns: 1fr; }
    .ssp-contact-form-wrap { padding: 28px 22px; }

    /* Careers */
    .ssp-career-perks { grid-template-columns: 1fr 1fr; }
    .ssp-career-header { flex-direction: column; align-items: flex-start; gap: 14px; }

    /* Franchisee */
    .ssp-franchise-benefits { grid-template-columns: 1fr; }

    /* Sports */
    .ssp-sports-grid { grid-template-columns: repeat(4, 1fr); }

    /* Footer */
    .ssp-footer-grid { grid-template-columns: 1fr; }
    .ssp-footer-top { padding: 44px 0 32px; }
}

@media (max-width: 480px) {
    .ssp-container { padding: 0 16px; }
    .ssp-section { padding: 44px 0; }
    .ssp-section-title { font-size: 23px; }
    .ssp-section-badge { font-size: 10px; padding: 5px 14px; }

    /* Hero Slider */
    .ssp-slider { height: 320px; }
    .ssp-slide-title { font-size: 22px; }
    .ssp-slide-subtitle { font-size: 13px; display: none; }
    .ssp-slide-content { padding: 20px; }
    .ssp-slider-prev, .ssp-slider-next { width: 38px; height: 38px; font-size: 20px; }

    /* Photo Slider */
    .ssp-photo-img { height: 220px; }
    .ssp-photo-btn { width: 34px; height: 34px; font-size: 18px; }
    .ssp-photo-prev { left: 6px; }
    .ssp-photo-next { right: 6px; }
    .ssp-photo-caption-bar { padding: 22px 12px 48px; }
    .ssp-photo-caption-text { font-size: 12px; }
    .ssp-photo-counter { display: none; }

    .ssp-hero-title { font-size: 26px; }
    .ssp-hero-subtitle { font-size: 14px; }

    .ssp-page-hero-title { font-size: 24px; }
    .ssp-page-hero { padding: 44px 0 32px; }

    .ssp-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-stat-number { font-size: 30px; }
    .ssp-stat-icon { font-size: 28px; }

    .ssp-clubs-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-team-grid { grid-template-columns: 1fr 1fr; }
    .ssp-achieve-grid { grid-template-columns: 1fr 1fr; }
    .ssp-infra-icons-grid { grid-template-columns: repeat(4, 1fr); }
    .ssp-sports-grid { grid-template-columns: repeat(2, 1fr); }
    .ssp-career-perks { grid-template-columns: 1fr; }
    .ssp-franchise-benefits { grid-template-columns: 1fr; }
    .ssp-why-grid { grid-template-columns: 1fr 1fr; }

    .ssp-gallery-masonry { columns: 2; }
    .ssp-testimonials-slider { padding: 0 36px; }

    .ssp-cta-title { font-size: 22px; }
    .ssp-footer-grid { grid-template-columns: 1fr; }
    .ssp-scroll-top { bottom: 16px; right: 16px; width: 40px; height: 40px; }

    .ssp-btn { padding: 13px 26px; font-size: 14px; }
    .ssp-step { grid-template-columns: 48px auto 1fr; gap: 16px; }
    .ssp-step-number { width: 48px; height: 48px; font-size: 18px; }
    .ssp-step-connector { left: 23px; top: 48px; }
}
