/* Lekki Serviced Flats - Responsive Styles */

/* Large Tablets and Small Desktops */
@media (max-width: 1024px) {
    .header-custom {
        padding: 1rem 1.5rem;
    }
    
    .photocard-content {
        padding: 2rem;
    }
    
    .amenities-card-cover {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.5rem;
    }
}

/* Tablets */
@media (max-width: 768px) {
    /* Header Mobile Menu */
    .header-bar {
        display: block;
        order: 3;
    }
    
    .header-navigation {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: white;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0;
        transition: left 0.3s ease;
        z-index: 999;
    }
    
    #toggle:checked ~ .header-navigation {
        left: 0;
    }
    
    .header-contact {
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 2rem;
        text-align: center;
    }
    
    .navbar ul {
        flex-direction: column;
        gap: 0;
        width: 100%;
        text-align: center;
    }
    
    .navbar li {
        width: 100%;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .navbar a {
        padding: 1rem;
        justify-content: center;
        font-size: 1.1rem;
    }
    
    .submenu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: #f8f9fa;
        border-radius: 0;
        padding: 0;
    }
    
    .submenu a {
        padding: 0.8rem 2rem;
        font-size: 1rem;
    }
    
    .header-call {
        order: 2;
    }
    
    .header-call a {
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    
    /* Apartments Section */
    .photocard-cover {
        flex-direction: column;
        min-height: auto;
    }
    
    .photocard-cover.is_flex_reverse {
        flex-direction: column;
    }
    
    .photocard-image {
        min-height: 300px;
        order: -1;
    }
    
    .photocard-content {
        padding: 2rem 1.5rem;
    }
    
    .photocard-content h3 {
        font-size: 1.5rem;
    }
    
    /* About Section */
    .about {
        padding: 3rem 0;
    }
    
    .about h2 {
        font-size: 2rem;
    }
    
    /* Amenities */
    .amenities {
        padding: 3rem 0;
    }
    
    .section-title h4 {
        font-size: 2rem;
    }
    
    .amenities-card-cover {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 1rem;
    }
    
    .amenities-card {
        padding: 1.5rem;
    }
    
    /* Footer */
    .footer .row {
        flex-direction: column;
    }
    
    .col-md-4 {
        flex: 1;
        max-width: 100%;
        margin-bottom: 2rem;
    }
    
    /* Floating Buttons */
    #scroll-to-whatsapp,
    #scroll-to-top {
        width: 50px;
        height: 50px;
        bottom: 1rem;
        font-size: 1.2rem;
    }
    
    #scroll-to-whatsapp {
        right: 4rem;
    }
    
    #scroll-to-top {
        right: 1rem;
    }
}

/* Mobile Phones */
@media (max-width: 480px) {
    .header-custom {
        padding: 0.8rem 1rem;
    }
    
    .header-logo img {
        height: 40px;
    }
    
    .header-call a {
        padding: 0.5rem 0.8rem;
        font-size: 0.8rem;
        line-height: 1.1;
    }
    
    /* Hero Section */
    .middle-anchor {
        bottom: 1rem;
        font-size: 1.2rem;
    }
    
    /* About Section */
    .about {
        padding: 2rem 0;
    }
    
    .about h2 {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }
    
    .about p {
        font-size: 1rem;
        padding: 0 1rem;
    }
    
    /* Apartments */
    .photocard-content {
        padding: 1.5rem 1rem;
    }
    
    .photocard-content h3 {
        font-size: 1.3rem;
        line-height: 1.2;
    }
    
    .photocard-content p {
        font-size: 0.9rem;
    }
    
    .photocard-image {
        min-height: 250px;
    }
    
    /* Amenities */
    .amenities {
        padding: 2rem 0;
    }
    
    .section-title h4 {
        font-size: 1.8rem;
    }
    
    .amenities-card-cover {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        padding: 0 1rem;
    }
    
    .amenities-card {
        padding: 1rem;
    }
    
    .amenities-card-icon {
        font-size: 2rem;
    }
    
    .amenities-card h4 {
        font-size: 0.9rem;
    }
    
    /* Footer */
    .footer {
        padding: 2rem 0 1rem;
    }
    
    .footer .container {
        padding: 0 1rem;
    }
    
    .footer-form input {
        padding: 0.7rem 1rem 0.7rem 2.2rem;
    }
    
    .footer-form button {
        padding: 0.7rem 1.5rem;
        width: 100%;
    }
    
    /* Floating Buttons */
    #scroll-to-whatsapp,
    #scroll-to-top {
        width: 45px;
        height: 45px;
        font-size: 1rem;
    }
    
    #scroll-to-whatsapp {
        right: 3.5rem;
    }
}

/* Very Small Screens */
@media (max-width: 360px) {
    .amenities-card-cover {
        grid-template-columns: 1fr;
        padding: 0 0.5rem;
    }
    
    .photocard-content {
        padding: 1rem;
    }
    
    .photocard-content h3 {
        font-size: 1.2rem;
    }
    
    .about h2 {
        font-size: 1.6rem;
    }
    
    .section-title h4 {
        font-size: 1.6rem;
    }
}

/* Landscape Orientation for Mobile Devices */
@media (max-height: 500px) and (orientation: landscape) {
    .scroll-full-page {
        height: 100vh;
    }
    
    .header-navigation {
        height: 100vh;
        padding: 2rem 0;
        overflow-y: auto;
    }
    
    .middle-anchor {
        display: none;
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .header-logo img {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* Print Styles */
@media print {
    .header-custom,
    .middle-anchor,
    #scroll-to-whatsapp,
    #scroll-to-top,
    .footer-form {
        display: none !important;
    }
    
    .home-full {
        background: white !important;
    }
    
    .scroll-full-page {
        height: auto !important;
    }
    
    .swiper-slide {
        background: none !important;
    }
    
    .photocard-content.photocard_is_black {
        background: white !important;
        color: black !important;
    }
    
    a {
        color: black !important;
    }
}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .middle-anchor {
        animation: none;
    }
}

/* Dark Mode Support (if browser supports it) */
@media (prefers-color-scheme: dark) {
    /* Keep light theme for this luxury property site */
    /* But you can add dark mode styles here if needed */
}