/* Hero Height Fix */
.hero { height: 450px !important; padding: 0 !important; }

/* Mobile utility links hidden by default */
.main-nav ul li.mobile-utility { display: none !important; }
.mobile-quick-links { display: none; }

/* Mobile Menu Fix */
@media (max-width: 992px) {
    .nav-toggle { right: 20px !important; top: 20px !important; }
    .main-nav { background-color: #1f4d44 !important; }
    /* Only hide/show the top-level nav list, not submenus */
    .main-nav > ul { display: none; }
    .main-nav.nav-open > ul, body.nav-open .main-nav > ul { 
        display: block !important; 
        position: static !important;
        background: transparent !important;
        max-height: 80vh;
        overflow-y: auto;
    }
    .main-nav ul li { 
        display: block !important; 
        width: 100% !important; 
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    }
    .main-nav ul li.mobile-utility { display: none !important; }
    .mobile-quick-links {
        display: flex !important;
        gap: 6px;
        padding: 4px 10px;
        background-color: #1f4d44;
        justify-content: space-between;
        align-items: center;
    }
    .mobile-quick-links a {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #fff;
        font-size: 12px;
        line-height: 1.2;
        text-decoration: none;
        border: 1px solid rgba(255,255,255,0.25);
        border-radius: 3px;
        padding: 4px 8px;
    }
    .mobile-quick-links a i { font-size: 12px; }
    .main-nav ul li a { 
        display: block !important; 
        color: white !important; 
        padding: 15px 20px !important; 
        font-size: 16px !important;
    }
    .has-submenu > a::after { content: '+' !important; float: right !important; font-family: Arial !important; }
    .has-submenu.submenu-open > a::after, .has-submenu.submenu-active > a::after { content: '−' !important; }
    .submenu { 
        display: none;
        background: rgba(0,0,0,0.3);
        position: static;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        padding: 5px 0;
        min-width: auto;
        width: 100%;
    }
    .submenu li { border-bottom: none !important; }
    .submenu li a { padding: 10px 40px; font-size: 14px; color: rgba(255,255,255,0.9); }
}

/* Mobile Responsive Fixes */
@media (max-width: 768px) {
    .container { max-width: 100% !important; padding: 0 15px !important; }
    .hero { 
        height: 250px !important; /* Increased height for better visibility */
        min-height: 0 !important; 
        position: relative !important;
        overflow: hidden !important;
    }
    .hero-slider {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
    }
    .slide {
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        position: absolute !important;
        height: 100% !important;
        width: 100% !important;
        top: 0;
        left: 0;
    }
    .slide-content { left: 15px !important; max-width: calc(100% - 30px) !important; }
    .slide-content h1 { font-size: 1.8rem !important; }
    .slide-content p { font-size: 0.9rem !important; }
    .programs-grid, .posts-grid, .gallery-grid, .feature-grid { grid-template-columns: 1fr !important; gap: 15px !important; }
    .welcome-grid, .igcse-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
    .award-slider-main-wrapper { padding: 20px !important; grid-template-columns: 1fr !important; gap: 20px !important; }
    .footer-grid { grid-template-columns: 1fr !important; gap: 20px !important; text-align: center !important; }

    /* Academic Page Specific */
    .page-banner h1 {
        font-size: 36px;
    }

    .page-banner p {
        font-size: 16px;
    }

    /* Academic Page Specific */
    .page-banner h1 {
        font-size: 36px;
    }

    .page-banner p {
        font-size: 16px;
    }

    .academic-level-block {
        flex-direction: column; /* Stack image and content vertically */
        gap: 20px; /* Adjust gap for mobile */
        padding: 20px; /* Smaller padding for mobile */
    }

    .academic-level-block:nth-child(even) {
        flex-direction: column; /* Ensure stacking for even sections too */
    }

    .academic-image {
        width: 100%; /* Full width for image on mobile */
        max-width: 100%; /* Ensure it doesn't exceed container */
        margin-bottom: 0; /* Remove bottom margin as gap handles spacing */
    }

    .academic-content h3 {
        font-size: 24px; /* Adjust heading size for mobile */
    }

    .academic-intro-section,
    .academic-levels-container,
    .academic-highlight-section {
        margin-bottom: 40px; /* Adjust section spacing for mobile */
    }

    .highlight-box {
        padding: 20px; /* Smaller padding for highlight box */
    }

    .highlight-box h3 {
        font-size: 20px; /* Adjust highlight box heading size */
    }
}

@media (max-width: 576px) {
    .hero { 
        height: 200px !important; /* Smaller height for very small screens */
    }
    .slide-content h1 { font-size: 1.5rem !important; }
    .slide-content p { font-size: 0.8rem !important; }
    section { padding: 40px 0 !important; }

    /* Academic Page Specific */
    .page-banner h1 {
        font-size: 30px;
    }

    .page-banner p {
        font-size: 14px;
    }
}

/* Mobile Header Optimization */
@media (max-width: 768px) {
    /* Compact header for mobile - logo left, school name right */
    .header-top-row {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        text-align: left;
        gap: 15px;
        padding: 10px 0;
    }

    .logo-container { 
        margin: 0; 
        flex-shrink: 0;
    }

    .logo-container img { 
        max-height: 50px; 
        width: auto;
    }

    .school-info { 
        flex: 1;
        width: auto;
    }
    
    .main-branch-info { 
        text-align: left;
        margin: 0;
    }

    .main-branch-info h2 { 
        font-size: 1.2rem;
        line-height: 1.2;
        margin: 0;
        letter-spacing: 0.3px;
        text-transform: uppercase;
    }

    /* Hide only the address on mobile (keep phone numbers visible) */
    .main-branch-info .address { 
        display: none !important; 
    }

    /* Mobile nav toggle positioned at the top-right; stays aligned with menu when open */
    .nav-toggle { 
        right: 20px !important; 
        top: 20px !important; 
        z-index: 1002 !important;
    }
    
    /* When menu is open, keep X icon at the panel's top-right */
    body.nav-open .nav-toggle {
        right: 10px !important; 
        transform: none; 
    }
}

@media (max-width: 576px) {
    /* Existing styles */
    
    .main-branch-info h2 {
        font-size: 1.2rem;
    }
    
    .main-branch-info .address {
        display: none; /* Hide full address on very small screens */
    }
    
    .main-branch-info .phone-numbers {
        font-size: 0.75rem;
    }
}

/* Academic Page Responsive Styles */
@media (max-width: 992px) {
    .academic-banner {
        padding: 60px 0;
    }
    
    .academic-banner h1 {
        font-size: 32px;
    }
    
    .academic-banner p {
        font-size: 16px;
    }
    
    .academic-intro-section {
        padding: 40px 0;
    }
    
    .academic-level-block {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
    }
    
    .academic-level-block:nth-child(even) {
        flex-direction: column;
    }
    
    .academic-image {
        flex: 0 0 100%;
        max-width: 100%;
        height: 250px;
    }
    
    .academic-content h3 {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .academic-banner {
        padding: 50px 0;
    }
    
    .academic-banner h1 {
        font-size: 28px;
    }
    
    .academic-banner p {
        font-size: 14px;
    }
    
    .academic-intro-section {
        padding: 30px 0;
    }
    
    .academic-intro-section .section-subtitle {
        font-size: 20px;
    }
    
    .academic-level-block {
        padding: 15px;
    }
    
    .academic-image {
        height: 200px;
    }
    
    .academic-content h3 {
        font-size: 20px;
    }
    
    .highlight-box {
        padding: 20px;
    }
    
    .highlight-box h3 {
        font-size: 20px;
    }
}

@media (max-width: 576px) {
    .academic-banner {
        padding: 40px 0;
    }
    
    .academic-banner h1 {
        font-size: 24px;
    }
    
    .academic-banner p {
        font-size: 13px;
    }
    
    .academic-intro-section .section-subtitle {
        font-size: 18px;
    }
    
    .academic-content h3 {
        font-size: 18px;
    }
    
    .academic-image {
        height: 180px;
    }
    
    .highlight-box {
        padding: 15px;
    }
    
    .highlight-box h3 {
        font-size: 18px;
    }
}

/* Add a compact version of the address in the top bar */
.top-bar-mobile-address {
    display: block;
    font-size: 0.8rem;
    text-align: center;
    padding: 5px 0;
    background-color: var(--primary-color);
    color: white;
}

.main-branch-info h2 {
    font-size: 1.2rem;
}

/* Show full address by default; hidden only on very small screens via media query above */
.main-branch-info .address {
    display: block;
}

.main-branch-info .phone-numbers {
    font-size: 0.75rem;
}

/* Strong mobile overrides to keep header minimal and show hamburger */
@media (max-width: 992px) {
    /* Keep only logo + school name */
    .thaiyur-branch-info { display: none !important; }
    .main-branch-info .address { display: none !important; }
    .main-branch-info .phone-numbers { display: none !important; }

    /* Ensure hamburger is visible */
    .nav-toggle { display: block !important; right: 15px !important; top: 15px !important; z-index: 1002 !important; }
}

/* Academic Sections Responsive */
@media (max-width: 992px) {
    .academic-program-grid,
    .academic-program-grid.reverse {
        grid-template-columns: 1fr !important;
        gap: 28px;
    }

    /* Stack Primary section cleanly under the heading */
    #primary-foundations .program-title,
    #primary-foundations .program-image,
    #primary-foundations .program-description,
    #primary-foundations .curriculum-highlights,
    #primary-foundations .achievement-section { grid-column: 1 / -1 !important; }

    .excellence-grid {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 30px;
    }
}

@media (max-width: 768px) {
    #academic-intro {
        padding: 60px 0;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .intro-text {
        font-size: 1.1rem;
    }
    
    #igcse-foundations,
    #primary-foundations {
        padding: 60px 0;
    }
    
    .program-title {
        font-size: 1.8rem;
    }
    
    .program-description {
        font-size: 1rem;
    }
    
    .feature-item {
        gap: 15px;
    }
    
    .feature-icon {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .feature-text h5 {
        font-size: 1rem;
    }
    
    .subject-tags {
        justify-content: center;
    }
    
    #academic-excellence {
        padding: 60px 0;
    }
    
    .excellence-card {
        padding: 30px 20px;
    }
    
    .icon-wrapper {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
    
    .excellence-card h4 {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .section-title {
        font-size: 1.7rem;
    }
    
    .program-title {
        font-size: 1.5rem;
    }
    
    .feature-list {
        gap: 20px;
    }
    
    .excellence-grid {
        grid-template-columns: 1fr;
    }
    
    .subject-tag {
        font-size: 0.8rem;
        padding: 6px 12px;
    }
}
