/* 
* Divine Glory School - Responsive Stylesheet
* Author: Cascade
* Version: 1.0
*/

/* ===== RESPONSIVE STYLES ===== */

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    .slide-content h2 {
        font-size: 42px;
    }
    
    .slide-content p {
        font-size: 18px;
    }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    .hero-slider {
        margin-top: 110px;
    }
    
    .swiper-slide {
        height: 500px;
    }
    
    .slide-content h2 {
        font-size: 36px;
    }
    
    .slide-content p {
        font-size: 16px;
    }
    
    .navbar-nav .nav-link {
        padding: 10px;
    }
    
    .apply-btn {
        margin-left: 0;
    }
    
    .section-padding {
        padding: 60px 0;
    }
    
    .section-title h2 {
        font-size: 32px;
    }
    
    .why-choose-image {
        margin-bottom: 30px;
    }
    
    .cta-section h2 {
        font-size: 28px;
    }
    
    .footer-about, .footer-links, .footer-contact {
        margin-bottom: 30px;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    .hero-slider {
        margin-top: 105px;
    }
    
    .swiper-slide {
        height: 400px;
    }
    
    .slide-content h2 {
        font-size: 30px;
    }
    
    .slide-content p {
        font-size: 15px;
        margin-bottom: 20px;
    }
    
    .contact-info span {
        display: block;
        margin-bottom: 5px;
    }
    
    .social-links {
        text-align: left;
        margin-top: 10px;
    }
    
    .social-links a {
        margin-left: 0;
        margin-right: 15px;
    }
    
    .section-padding {
        padding: 50px 0;
    }
    
    .section-title h2 {
        font-size: 28px;
    }
    
    .welcome-image {
        margin-top: 30px;
    }
    
    .program-card, .testimonial-card, .news-card {
        margin-bottom: 20px;
    }
    
    .cta-section .btn {
        display: block;
        margin-bottom: 10px;
    }
    
    .cta-section .btn-outline-light {
        margin-left: 0;
    }
    
    .copyright .text-md-end {
        text-align: left !important;
        margin-top: 10px;
    }
    
    .page-header {
        padding: 80px 0 40px;
        margin-top: 105px;
    }
    
    .page-header h1 {
        font-size: 36px;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .hero-slider {
        margin-top: 100px;
    }
    
    .swiper-slide {
        height: 350px;
    }
    
    .slide-content h2 {
        font-size: 24px;
    }
    
    .slide-content p {
        font-size: 14px;
        margin-bottom: 15px;
    }
    
    .slide-content .btn {
        padding: 8px 20px;
        font-size: 14px;
    }
    
    .section-title h2 {
        font-size: 24px;
    }
    
    .navbar-brand h1 {
        font-size: 20px;
    }
    
    .top-bar {
        font-size: 12px;
    }
    
    .why-choose-item .icon {
        flex: 0 0 40px;
        height: 40px;
        line-height: 40px;
    }
    
    .why-choose-item .icon i {
        font-size: 16px;
    }
    
    .why-choose-item h4 {
        font-size: 18px;
    }
    
    .testimonial-card, .news-card {
        padding: 20px;
    }
    
    .whatsapp-btn {
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 24px;
        bottom: 70px;
        right: 15px;
    }
    
    .back-to-top {
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 16px;
        bottom: 15px;
        right: 15px;
    }
    
    .page-header {
        padding: 70px 0 30px;
        margin-top: 100px;
    }
    
    .page-header h1 {
        font-size: 28px;
    }
}

/* Fix for fixed header on mobile devices */
@media (max-width: 767.98px) {
    .navbar-collapse {
        max-height: calc(100vh - 110px);
        overflow-y: auto;
    }
    
    .dropdown-menu {
        border: none;
        box-shadow: none;
        padding-left: 20px;
    }
    
    .navbar-nav .dropdown-menu {
        background-color: transparent;
    }
}
