/* ============================================
   RESPONSIVE STYLES
============================================ */

@media (max-width: 1199px) {
    .section-padding { padding: 80px 0; }
    .quick-booking-card { padding: 30px; }
    .step-connector { display: none; }
}

@media (max-width: 991px) {
    .hero-section { min-height: auto; padding: 120px 0 80px; }
    .quick-booking-section { margin-top: -50px; }
    .quick-booking-form { 
        grid-template-columns: 1fr; 
    }
    .qb-submit { width: 100%; justify-content: center; }
    .step-connector { display: none; }
    .navbar-collapse {
        background: #fff;
        margin-top: 15px;
        padding: 20px;
        border-radius: 15px;
        box-shadow: var(--shadow-md);
    }
}

@media (max-width: 767px) {
    .section-padding { padding: 60px 0; }
    .section-header { margin-bottom: 40px; }
    .hero-section { padding: 100px 0 60px; }
    .hero-content { padding: 20px 0; }
    .hero-title { font-size: 2rem; }
    .hero-buttons { flex-direction: column; gap: 12px; }
    .btn-primary-glow, .btn-outline-light-glow, .btn-whatsapp {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }
    .hero-trust-badges { 
        flex-direction: column; 
        gap: 12px; 
        align-items: center;
    }
    .stat-number { font-size: 2.5rem; }
    .stat-icon { width: 60px; height: 60px; font-size: 1.5rem; }
    .quick-booking-card { padding: 25px 20px; }
    .qb-header h3 { font-size: 1.4rem; }
    .featured-ribbon { right: -35px; font-size: 10px; }
    .cta-section { padding: 60px 0; }
    .cta-icon { width: 80px; height: 80px; font-size: 2.5rem; }
    .cta-buttons { flex-direction: column; gap: 12px; }
    .cta-buttons .btn { width: 100%; }
    .whatsapp-float {
        width: 55px;
        height: 55px;
        font-size: 28px;
        bottom: 20px;
        right: 20px;
    }
    .footer-section { padding: 60px 0 0; }
}

@media (max-width: 575px) {
    .container { padding-left: 15px; padding-right: 15px; }
    .psc-image-wrapper { height: 180px; }
    .psc-body { padding: 20px; }
    .psc-actions { flex-direction: column; }
    .step-card { padding: 30px 20px; }
    .testimonial-card { padding: 25px 20px; }
}

/* Fix for hero on very small screens */
@media (max-width: 380px) {
    .hero-title { font-size: 1.6rem; }
    .hero-subtitle { font-size: 0.9rem; }
    .navbar-brand .brand-text { font-size: 1.3rem; }
}
