/* ============================================
   SNOP School Portal - Responsive Design
   ============================================ */

/* === Large Screens (> 1200px) === */
@media (min-width: 1200px) {
    .container { max-width: 1140px; }
}

/* === Medium Screens (768px - 1199px) === */
@media (max-width: 1199px) {
    .hero-slide-content h1 { font-size: 2.8rem; }
    .charts-row, .bottom-row { grid-template-columns: 1fr; }
}

/* === Tablet (768px - 1024px) === */
@media (max-width: 1024px) {
    .charts-row, .bottom-row { grid-template-columns: 1fr; }
}

/* === Mobile (< 768px) === */
@media (max-width: 768px) {
    /* Landing Page */
    .hero-slide-content h1 { font-size: 2rem; }
    .hero-slide-content p { font-size: 0.95rem; }
    .hero-slide-content .btn { padding: 12px 24px; font-size: 0.9rem; }
    .features-grid { grid-template-columns: 1fr; }
    .stats-slide { gap: 15px; }
    .stat-box { min-width: calc(50% - 15px); padding: 15px; }
    .testimonial-card { padding: 20px; }
    .section-title { font-size: 1.8rem; }
    .navbar-links { display: none; }
    .hamburger { display: flex !important; }
    
    /* Dashboard */
    .main-content {
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .mobile-toggle { display: flex; }
    .topbar-search { display: none; }
    .topbar-user span { display: none; }
    .page-content { padding: 16px; }
    .welcome-banner { padding: 20px 24px; }
    .welcome-content h1 { font-size: 1.2rem; }
    .kpi-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .kpi-card { padding: 16px; border-radius: 12px; }
    .kpi-icon-circle { width: 42px; height: 42px; min-width: 42px; font-size: 18px; }
    .kpi-value { font-size: 1.3rem; }
    .bottom-row { grid-template-columns: 1fr; }
    .chart-body { height: 220px; }
    
    /* Contact & Features */
    .contact-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
}

/* === Small Mobile (< 480px) === */
@media (max-width: 480px) {
    .hero-slide-content h1 { font-size: 1.6rem; }
    .hero-slide-content p { font-size: 0.85rem; }
    .kpi-grid { grid-template-columns: 1fr; }
    .stat-box { min-width: 100%; }
    .btn { padding: 10px 20px; font-size: 0.85rem; }
    .section-title { font-size: 1.5rem; }
    .welcome-banner { padding: 16px 20px; }
    .welcome-content h1 { font-size: 1.05rem; }
}

/* === Print Styles === */
@media print {
    .sidebar, .topbar, .mobile-toggle, .btn, .no-print { display: none !important; }
    .main-content { margin-left: 0 !important; width: 100% !important; padding: 0 !important; }
    body { background: white; }
    .card { box-shadow: none; border: 1px solid #ddd; }
    .report-card { page-break-inside: avoid; }
    .report-card table { width: 100%; border-collapse: collapse; }
    .report-card th, .report-card td { border: 1px solid #333; padding: 8px; }
    .report-card th { background: #f0f0f0; }
}
