/* Responsive Styles for Next Gen Scholars */

/* Desktop smaller screens */
@media (max-width: 1280px) {
  .hero-grid,
  .why-grid,
  .transformation-grid,
  .contact-grid {
    gap: 40px;
  }
  
  .stats-grid {
    gap: 20px;
  }
  
  .course-card {
    padding: 32px;
  }
  
  .footer-grid {
    gap: 40px;
  }
}

/* Tablet Landscape / Small Desktop */
@media (max-width: 1024px) {
  :root {
    --section-padding: 80px;
  }
  
  .hero-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 48px;
  }
  
  .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .hero-description {
    margin-left: auto;
    margin-right: auto;
  }
  
  .fc-1 {
    left: 20px;
  }
  
  .fc-2 {
    right: 20px;
  }
  
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  
  .stat-item:nth-child(2)::after {
    display: none;
  }
  
  .horizontal-scroll-section {
    height: auto;
    padding: 80px 0;
  }
  
  .hs-wrapper {
    width: 100%;
    flex-direction: column;
    gap: 60px;
  }
  
  .hs-panel {
    width: 100%;
    padding: 0 24px;
    height: auto;
  }
  
  .hs-content {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 40px;
  }
  
  .hs-benefits li {
    justify-content: center;
  }
  
  .why-grid {
    grid-template-columns: 1fr;
  }
  
  .why-left {
    text-align: center;
  }
  
  .why-visual {
    display: none;
  }
  
  .why-feature {
    text-align: left;
  }
  
  .results-display {
    height: auto;
    flex-direction: column;
    gap: 24px;
  }
  
  .center-student {
    margin-bottom: 40px;
  }
  
  .achievement-card {
    position: relative;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100%;
    max-width: 350px;
  }
  
  .transformation-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }
  
  .transformation-arrow {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  
  .faculty-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tablet Portrait / Mobile Large */
@media (max-width: 768px) {
  :root {
    --section-padding: 60px;
  }
  
  h1 {
    font-size: 2.5rem;
  }
  
  h2 {
    font-size: 2rem;
  }
  
  .nav-links {
    display: none;
  }
  
  .mobile-menu-btn {
    display: flex;
  }
  
  .hero {
    padding-top: 100px;
  }
  
  .hero-ctas {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
  }
  
  .courses-grid {
    grid-template-columns: 1fr;
  }
  
  .testimonial-card {
    width: 320px;
    padding: 32px;
  }
  
  .faculty-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }
  
  .form-container {
    padding: 32px 24px;
  }
  
  .form-grid {
    grid-template-columns: 1fr;
  }
  
  .contact-grid {
    grid-template-columns: 1fr;
  }
  
  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  
  .footer-bottom-links {
    justify-content: center;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
  
  .stat-item::after {
    display: none;
  }
  
  .floating-card {
    display: none; /* Hide floating cards on very small screens to avoid clutter */
  }
  
  .state-card {
    padding: 32px 24px;
  }
  
  .cta-section h2 {
    font-size: 2rem;
  }
  
  .cta-buttons {
    flex-direction: column;
  }
  
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  .social-links {
    justify-content: center;
  }
}

/* Premium Mobile Adjustments */
@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }
    
    h1 {
        font-size: 2.2rem;
        line-height: 1.2;
    }
    
    h2 {
        font-size: 1.8rem;
    }
    
    .course-card, .testimonial-card {
        padding: 24px;
        width: 100%;
    }
    
    .btn {
        width: 100%;
        margin-bottom: 12px;
    }
    
    .hero {
        padding-top: 120px;
    }

    /* Fix header height for mobile */
    header {
        padding: 10px 0;
    }
    
    /* Optimize images on mobile */
    img {
        max-width: 100%;
        height: auto;
        object-fit: cover;
    }
}

/* Global Inline Grid Override for Mobile */
@media (max-width: 768px) {
    [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    [style*="minmax(400px"] {
        grid-template-columns: 1fr !important;
    }
    
    .hero-grid, [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    
    .hero-visual .hero-image-wrap {
        width: 100% !important;
        max-width: 100% !important;
    }

    img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
}
/* Premium Mobile Footer Overrides */
@media (max-width: 768px) {
    .footer-grid {
        text-align: left !important;
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    
    .social-links {
        justify-content: flex-start !important;
    }
    
    .footer-brand p {
        margin: 0 auto 24px 0 !important;
    }
    
    .footer-brand img {
        margin: 0 auto 24px 0 !important;
    }
    
    .footer-links h4 {
        font-size: 1.25rem !important;
        margin-bottom: 20px !important;
    }
    
    .footer-contact li a {
        align-items: center !important;
        font-size: 15px !important;
    }
    
    .footer-contact .contact-icon {
        flex: 0 0 40px !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 50% !important;
    }
    
    .footer-bottom {
        text-align: left !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    
    .footer-bottom-links {
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }
}

/* Fix squished logos on mobile */
@media (max-width: 768px) {
    .footer-brand img, .logo img, header img {
        width: auto !important;
        max-width: 100% !important;
        height: 60px !important;
        object-fit: contain;
    }
}
