/* --- RESPONSIVE STYLES --- */

/* 1. Laptops and Smaller Desktops (Under 1200px) */
@media (max-width: 1200px) {
    :root {
        --header-height: 80px;
    }
    
    .hero-content {
        padding-right: 5%;
    }
    
    .editorial-row {
        gap: 60px;
    }
    
    .editorial-text-col {
        padding: 0 5%;
    }
    
    .configurator-container {
        gap: 40px;
    }
}

/* 2. Tablets and Large Mobiles (Under 992px) */
@media (max-width: 992px) {
    .section-padding {
        padding: 100px 0;
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    /* Navigation */
    .nav-links {
        display: none; /* Hidden on tablet/mobile */
    }
    
    .mobile-menu-toggle {
        display: flex; /* Toggle button appears */
    }
    
    /* Hero */
    .hero {
        height: auto;
        min-height: 100vh;
        padding-top: calc(var(--header-height) + 40px);
        padding-bottom: 80px;
    }
    
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .hero-content {
        padding-right: 0;
        text-align: center;
        align-items: center;
    }
    
    .hero-subtitle {
        margin: 0 auto 35px auto;
    }
    
    .hero-image-wrapper {
        justify-content: center;
        height: auto;
    }
    
    .hero-img-container {
        width: 100%;
        height: 60vh;
    }
    
    .hero-image-bg {
        display: none;
    }
    
    .scroll-indicator {
        display: none;
    }
    
    /* Signature Collections */
    .editorial-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .editorial-row:nth-child(even) .editorial-img-col {
        order: 0;
    }
    
    .editorial-text-col {
        padding: 0;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .gold-accent-line {
        margin: 0 auto 25px auto;
    }
    
    /* Craftsmanship Timeline */
    .timeline-line {
        left: 20px;
    }
    
    .timeline-progress {
        left: 20px;
    }
    
    .timeline-step {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 60px;
    }
    
    .timeline-step:nth-child(even) .timeline-info {
        order: 1;
        padding-left: 50px;
        padding-right: 0;
        text-align: left;
    }
    
    .timeline-step:nth-child(even) .timeline-media {
        order: 2;
    }
    
    .timeline-dot {
        left: 20px;
    }
    
    .timeline-info {
        padding-left: 50px;
        padding-right: 0;
        text-align: left !important;
    }
    
    .timeline-media {
        width: calc(100% - 50px);
        margin-left: 50px;
        aspect-ratio: 16/9;
    }
    
    /* Configurator */
    .configurator-container {
        grid-template-columns: 1fr;
    }
    
    .configurator-preview-pane {
        position: relative;
        top: 0;
        width: 100%;
    }
    
    .configurator-control-pane {
        padding-right: 0;
    }
    
    /* Counters Grid */
    .counters-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    
    /* Masonry Gallery */
    .masonry-grid {
        column-count: 2;
    }
    
    /* Booking form row */
    .form-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .booking-wrapper {
        padding: 50px 30px;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    
    .footer-col:first-child,
    .footer-col:last-child {
        grid-column: span 2;
    }
    
    .footer-desc {
        max-width: 100%;
    }
    
    /* Quick View Modal */
    .modal-container {
        padding: 30px;
        width: 95%;
        max-height: 90vh;
        overflow-y: auto;
    }
    
    .modal-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .modal-info-col {
        padding-left: 0;
    }
}

/* 3. Small Mobiles (Under 576px) */
@media (max-width: 576px) {
    .section-padding {
        padding: 80px 0;
    }
    
    .grid-4, .grid-3 {
        grid-template-columns: 1fr;
    }
    
    /* Quiz Options */
    .quiz-options-grid {
        grid-template-columns: 1fr;
    }
    
    .quiz-container {
        padding: 30px 20px;
    }
    
    .quiz-result-rec {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px;
    }
    
    /* Configurator Options */
    .options-grid {
        grid-template-columns: 1fr;
    }
    
    /* Masonry Gallery */
    .masonry-grid {
        column-count: 1;
    }
    
    /* Testimonial Card */
    .testimonial-card {
        padding: 40px 20px;
    }
    
    /* Footer Bottom */
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
    
    .footer-legal-links {
        justify-content: center;
    }
    
    /* Wishlist Drawer */
    .wishlist-drawer {
        width: 100%;
    }
    
    /* Booking form header/wrapper details */
    .booking-wrapper {
        padding: 40px 20px;
    }
}

/* Stacking and Hotspot Mobile Adjustments */
@media (max-width: 992px) {
    .material-inspector {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .inspector-details {
        padding-left: 0;
    }
}
@media (max-width: 576px) {
    .gift-wizard-box {
        padding: 30px 15px;
    }
    .gift-selection-grid {
        grid-template-columns: 1fr;
    }
    .hotspot-card {
        width: 180px;
        padding: 10px;
    }
}
