/* =====================================================
   AIR ARABIA - Responsive Styles
   ===================================================== */

/* =====================================================
   Large Screens (< 1200px)
   ===================================================== */
@media (max-width: 1200px) {
    .destinations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
    
    .footer-grid > div:last-child {
        grid-column: 1 / -1;
    }
}

/* =====================================================
   Medium Screens / Tablets (< 992px)
   ===================================================== */
@media (max-width: 992px) {
    .navbar-nav {
        display: none;
    }
    
    .mobile-toggle {
        display: flex;
    }
    
    /* Mobile Navigation */
    .navbar-nav.mobile-open {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--white);
        padding: 20px;
        z-index: var(--z-fixed);
        box-shadow: var(--shadow-xl);
        animation: slideDown 0.3s ease;
    }
    
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .navbar-nav.mobile-open .nav-link {
        padding: 14px 16px;
        font-size: 16px;
        border-bottom: 1px solid var(--gray-100);
    }
    
    /* Search Form Stack */
    .search-form {
        flex-direction: column;
        border-radius: var(--radius-xl);
    }
    
    .search-airports-group {
        flex-direction: column;
    }
    
    .search-airports-group .swap-btn {
        position: relative;
        left: auto;
        top: auto;
        transform: rotate(90deg);
        margin: -12px auto;
        z-index: 5;
    }
    
    .search-field-divider {
        width: 100%;
        height: 1px;
        margin: 0;
    }
    
    .search-btn {
        border-radius: 0 0 var(--radius-xl) var(--radius-xl);
        padding: 16px;
    }
    
    /* Flight Results Layout */
    .flights-layout {
        grid-template-columns: 1fr;
    }
    
    .filter-sidebar {
        position: static;
        display: none;
    }
    
    .filter-sidebar.show {
        display: block;
    }
    
    .filter-toggle-btn {
        display: flex;
    }
    
    /* Booking Layout */
    .booking-layout {
        grid-template-columns: 1fr;
    }
    
    .booking-summary {
        position: static;
        order: -1;
    }
    
    /* Contact Section */
    .contact-section {
        grid-template-columns: 1fr;
    }
    
    .destinations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

/* =====================================================
   Small Screens / Phones (< 768px)
   ===================================================== */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
    
    .container {
        padding: 0 16px;
    }
    
    .section {
        padding: 40px 0;
    }
    
    .navbar-inner {
        height: 60px;
        padding: 0 16px;
    }
    
    .navbar-brand .brand-text {
        font-size: 19px;
    }
    
    .navbar-actions .currency-badge {
        display: none;
    }
    
    /* Hero */
    .hero-section {
        padding: 32px 0 40px;
    }
    
    .hero-title {
        font-size: 24px;
    }
    
    .hero-subtitle {
        font-size: 14px;
    }
    
    .search-options {
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .passenger-selector {
        gap: 8px;
    }
    
    .selector-btn {
        font-size: 13px;
        padding: 6px 10px;
    }
    
    /* Trip Tabs */
    .trip-tabs {
        gap: 2px;
    }
    
    .trip-tab {
        padding: 6px 14px;
        font-size: 13px;
    }
    
    /* Promo Cards */
    .promo-card {
        flex: 0 0 85%;
        min-width: 280px;
        height: 180px;
    }
    
    .promo-card .promo-title {
        font-size: 18px;
    }
    
    /* Destinations */
    .destinations-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    .dest-card .dest-image {
        height: 120px;
    }
    
    /* Features */
    .features-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    .feature-card {
        padding: 20px 14px;
    }
    
    .feature-card .feature-icon {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
    
    .feature-card .feature-title {
        font-size: 14px;
    }
    
    .feature-card .feature-text {
        font-size: 12px;
    }
    
    /* Flight Card */
    .flight-card {
        padding: 16px;
    }
    
    .flight-card-main {
        flex-direction: column;
        gap: 16px;
    }
    
    .flight-airline {
        flex-direction: row;
        min-width: auto;
        width: 100%;
    }
    
    .flight-schedule {
        width: 100%;
    }
    
    .flight-price-section {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    
    .flight-card-footer {
        flex-direction: column;
        gap: 12px;
    }
    
    .book-flight-btn {
        width: 100%;
    }
    
    /* Flight Details */
    .flight-detail-card {
        padding: 20px;
    }
    
    .flight-detail-header {
        flex-direction: column;
        gap: 16px;
    }
    
    .price-graph-container {
        height: 220px;
    }
    
    /* Forms */
    .form-row, .form-row-3 {
        grid-template-columns: 1fr;
    }
    
    .social-login-btns {
        grid-template-columns: 1fr;
    }
    
    /* Modal */
    .modal {
        width: 100%;
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 0;
        top: 0;
        left: 0;
        transform: translateY(100%);
    }
    
    .modal.show {
        transform: translateY(0);
    }
    
    .modal-body {
        padding: 32px 20px 24px;
    }
    
    /* Section Titles */
    .section-title {
        font-size: 22px;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
    
    /* Flash */
    .flash-message {
        left: 16px;
        right: 16px;
        max-width: none;
    }
    
    /* Error Page */
    .error-page .error-code {
        font-size: 80px;
    }
    
    /* Static Page */
    .static-page .page-header h1 {
        font-size: 24px;
    }
    
    /* Confirmation */
    .confirmation-title {
        font-size: 22px;
    }
    
    /* Sort Bar */
    .sort-bar {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
    
    .sort-options {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }
    
    .sort-options::-webkit-scrollbar {
        display: none;
    }
}

/* =====================================================
   Extra Small Screens (< 576px)
   ===================================================== */
@media (max-width: 576px) {
    .destinations-grid {
        grid-template-columns: 1fr;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .promo-card {
        flex: 0 0 92%;
    }
    
    .flight-time-block .time {
        font-size: 18px;
    }
    
    .flight-price-section .price-main {
        font-size: 20px;
    }
    
    .passenger-dropdown {
        min-width: 250px;
    }
    
    .hero-title {
        font-size: 20px;
    }
    
    .btn-lg {
        padding: 12px 24px;
        font-size: 14px;
    }
}

/* =====================================================
   Print Styles
   ===================================================== */
@media print {
    .navbar, .footer, .search-form, .filter-sidebar,
    .flash-message, .mobile-toggle, .modal, .modal-backdrop {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
    
    .flight-card, .booking-item {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
}

/* Filter Toggle Button (Mobile Only) */
.filter-toggle-btn {
    display: none;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    background: var(--white);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    color: var(--gray-700);
    cursor: pointer;
    margin-bottom: 16px;
}
