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

/* Tablets & Smaller Screens */
@media screen and (max-width: 1024px) {
    .booking-layout {
        grid-template-columns: 1fr;
    }
    
    .services-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

/* Mobile Devices */
@media screen and (max-width: 768px) {
    
    /* Header */
    .menu-toggle {
        display: block;
    }
    
    #primary-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        flex-direction: column;
        box-shadow: var(--shadow);
        padding: 20px;
    }
    
    #primary-menu.active {
        display: flex;
    }
    
    .header-actions {
        display: none;
    }
    
    /* Typography */
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    
    /* Services Grid */
    .services-grid {
        grid-template-columns: 1fr;
    }
    
    /* Booking Form */
    .booking-form-wrapper {
        padding: 25px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .form-navigation {
        flex-direction: column;
        gap: 10px;
    }
    
    .form-navigation .btn {
        width: 100%;
    }
    
    /* Account Page */
    .account-nav {
        flex-wrap: wrap;
    }
    
    .booking-card-body {
        grid-template-columns: 1fr;
    }
    
    .logout-btn {
        margin-left: 0;
        margin-top: 10px;
    }
    
    /* Footer */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    #footer-menu {
        flex-direction: column;
        align-items: center;
    }
}

/* Small Mobile Devices */
@media screen and (max-width: 480px) {
    .container {
        padding: 0 15px;
    }
    
    .page-header {
        padding: 40px 0;
    }
    
    .page-header h1 {
        font-size: 1.75rem;
    }
    
    .service-actions {
        flex-direction: column;
    }
    
    .service-actions .btn {
        width: 100%;
    }
    
    .booking-step h3 {
        font-size: 1.25rem;
    }
}