/**
 * Responsive CSS Stylesheet
 * School Management System
 *
 * Mobile-first responsive styles for all devices.
 */

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

/* Large Desktop (1400px and up) */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* Desktop (1200px to 1399px) */
@media (max-width: 1199px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-section {
        min-height: 70vh;
    }

    .hero-panel {
        padding: 2rem;
    }

    .top-bar-info li:nth-child(2) {
        display: none;
    }

    .top-bar-info {
        gap: 0.5rem;
    }
    
    .section-padding {
        padding: 60px 0;
    }
}

/* Tablet Landscape (992px to 1199px) */
@media (max-width: 991px) {
    .top-bar-info {
        display: none;
    }
    
    .top-bar-social {
        justify-content: flex-start;
    }
    
    .navbar-collapse {
        background: white;
        padding: 15px;
        border-radius: 10px;
        margin-top: 15px;
        box-shadow: var(--shadow-md);
    }
    
    .nav-link {
        padding: 12px 15px !important;
    }
    
    .nav-btn {
        margin: 10px 0 0;
        display: inline-block;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-feature-row {
        justify-content: center;
    }
    
    .hero-buttons {
        justify-content: center;
    }
    
    .page-title {
        font-size: 2rem;
    }
    
    .counter-number {
        font-size: 2rem;
    }
    
    .footer-top {
        padding: 50px 0 20px;
    }
    
    .footer-widget {
        margin-bottom: 30px;
    }
}

 /* Tablet Portrait (768px to 991px) */
 @media (max-width: 767px) {
     .logo {
         gap: 0.5rem;
     }

     .logo-img {
         height: 44px;
     }

     .school-name {
         font-size: 1.05rem;
         max-width: min(64vw, 320px);
         white-space: normal;
         display: -webkit-box;
         -webkit-line-clamp: 2;
         -webkit-box-orient: vertical;
         overflow: hidden;
     }

     .school-tagline {
         display: none;
     }

     .top-bar-news {
         gap: 0.5rem;
     }

     .news-label {
         font-size: 0.65rem;
     }

     .section-padding {
         padding: 50px 0;
     }

     .section-title {
         margin-bottom: 40px;
     }

     .section-title h2 {
         font-size: 1.75rem;
     }

     .hero-section {
         min-height: 60vh;
         padding: 40px 0;
     }

     .hero-title {
         font-size: 1.75rem;
     }

     .hero-content {
         text-align: center;
     }

     .quick-enquiry-card {
         margin-top: 30px;
     }

     .page-header {
         min-height: 22vh;
         padding: 36px 0;
     }

     .page-title {
         font-size: 1.75rem;
     }

     .counter-section {
         padding: 40px 0;
     }

     .counter-item {
         padding: 15px;
     }

     .counter-icon {
         font-size: 2rem;
     }

     .counter-number {
         font-size: 1.75rem;
     }

     .cta-section {
         padding: 60px 0;
     }

     .cta-section h2 {
         font-size: 1.5rem;
     }

     .footer-bottom-links {
         flex-direction: column;
         gap: 10px;
     }

     /* About section responsive */
     .about-section .row {
         flex-direction: column;
     }

     .about-image {
         order: 2;
         margin-top: 30px;
     }

     .about-content {
         order: 1;
         text-align: center;
     }

     .about-features li {
         flex-direction: column;
         text-align: center;
         gap: 10px;
     }

     .hero-panel {
         padding: 1.5rem;
     }

     .hero-feature {
         font-size: 0.85rem;
     }

     .hero-row {
         padding: 4rem 0;
     }
 }

/* Mobile Landscape (576px to 767px) */
@media (max-width: 575px) {
    html {
        font-size: 15px;
    }
    
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
    
    .btn-lg {
        padding: 12px 25px;
        font-size: 1rem;
    }
    
    .hero-title {
        font-size: 1.5rem;
    }
    
    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }
    
    .hero-buttons .btn {
        width: 100%;
        justify-content: center;
    }
    
    .feature-card,
    .notice-card {
        padding: 20px;
    }
    
    .feature-icon {
        width: 60px;
        height: 60px;
        font-size: 1.25rem;
    }
    
    .cta-buttons {
        flex-direction: column;
    }
    
    .cta-buttons .btn {
        width: 100%;
        justify-content: center;
    }
    
    .footer-logo {
        text-align: left;
    }
    
    .footer-social {
        justify-content: center;
    }
    
    .footer-bottom p {
        font-size: 0.8rem;
    }
}

/* Small Mobile (up to 480px) */
@media (max-width: 480px) {
    html {
        font-size: 14px;
    }
    
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .section-padding {
        padding: 40px 0;
    }
    
    .hero-section {
        min-height: auto;
        padding: 60px 0;
    }
    
    .page-header {
        min-height: 20vh;
        padding: 28px 0;
    }
    
    .page-title {
        font-size: 1.5rem;
    }
    
    .breadcrumb {
        font-size: 0.85rem;
    }
    
    .counter-item {
        padding: 10px;
    }
    
    .counter-icon {
        font-size: 1.5rem;
    }
    
    .counter-number {
        font-size: 1.5rem;
    }
    
    .footer-top {
        padding: 40px 0 20px;
    }
    
    .footer-bottom {
        padding: 15px 0;
    }
}

/* ===== Print Styles ===== */
@media print {
    .top-bar,
    .header,
    .footer,
    .back-to-top,
    .cta-section,
    .no-print {
        display: none !important;
    }
    
    .hero-section,
    .page-header {
        min-height: auto;
        padding: 20px 0;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.5;
        color: #000;
        background: white;
    }
    
    a {
        color: #000;
        text-decoration: underline;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
    }
}

/* ===== Dark Mode Support ===== */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a2e;
        color: #f8f9fa;
    }
    
    .feature-card,
    .notice-card,
    .card {
        background-color: #16213e;
        color: #f8f9fa;
    }
    
    .footer,
    .header {
        background-color: #0f0f1a;
    }
    
    .school-name {
        color: #f8f9fa;
    }
    
    .nav-link {
        color: #f8f9fa !important;
    }
}

/**
 * Responsive CSS loaded successfully
 * @version 1.0.0
 * @author School Management Team
 */
