/* ============================================================
   CASA DIVANA — Responsive Stylesheet
   ============================================================ */

/* === LARGE DESKTOP (max-width: 1399px) === */
@media (max-width: 1399px) {
    .container {
        padding: 0 50px;
    }

    h1 {
        font-size: 3rem;
    }

    .hero-full {
        min-height: 650px;
    }

    .footer-grid {
        gap: 40px;
    }
}

/* === TABLET LANDSCAPE (max-width: 1199px) === */
@media (max-width: 1199px) {
    .container {
        padding: 0 40px;
    }

    section {
        padding: 100px 0;
    }

    h1 {
        font-size: 2.8rem;
    }

    h2 {
        font-size: 2.2rem;
    }

    h3 {
        font-size: 1.6rem;
    }

    .grid-2 {
        gap: 48px;
    }

    .grid-3 {
        gap: 24px;
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .brand-intro .grid-2 {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }

    .collections-grid {
        gap: 24px;
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .stat-item {
        padding: 40px 20px;
        border-bottom: 1px solid rgba(212, 197, 169, 0.3);
    }

    .stat-number {
        font-size: 3.5rem;
    }

    .testimonials-grid {
        gap: 24px;
    }

    .testimonial-card {
        padding: 36px 28px;
    }

    .collection-block-grid {
        gap: 50px;
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
        gap: 32px;
    }

    .footer-lower {
        padding: 28px 40px;
    }

    .su-misura-cta {
        gap: 50px;
    }

    .timeline-item {
        grid-template-columns: 60px 1fr 1fr;
        gap: 28px;
    }

    .contact-form-grid {
        gap: 50px;
    }

    .map-section-grid {
        gap: 40px;
    }

    .customization-grid {
        gap: 50px;
    }

    .process-steps {
        flex-wrap: wrap;
    }

    .bespoke-step {
        flex: 0 0 33.333%;
    }

    .process-steps::before {
        display: none;
    }
}

/* === TABLET PORTRAIT / SMALL LAPTOP (max-width: 991px) === */
@media (max-width: 991px) {
    .container {
        padding: 0 30px;
    }

    section {
        padding: 80px 0;
    }

    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    /* Hide desktop nav, show hamburger */
    .main-nav {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    /* Hero adjustments */
    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-content h1 {
        font-size: 2.8rem;
    }

    /* Grid adjustments */
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .grid-3 {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Brand intro */
    .brand-intro .grid-2 {
        grid-template-columns: 1fr;
    }

    .brand-intro-image {
        aspect-ratio: 16/9;
        max-height: 500px;
    }

    /* Collections grid */
    .collections-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    /* Process */
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Collection blocks */
    .collection-block-grid,
    .collection-block-grid.reversed {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .collection-block-grid.reversed .collection-block-image,
    .collection-block-grid.reversed .collection-block-text {
        order: 0;
    }

    .collection-block-image {
        aspect-ratio: 16/9;
        max-height: 440px;
    }

    /* Bespoke section */
    .bespoke-section .grid-2 {
        grid-template-columns: 1fr;
    }

    .bespoke-image {
        aspect-ratio: 16/9;
        max-height: 440px;
    }

    /* Timeline */
    .timeline::before {
        left: 20px;
    }

    .timeline-item {
        grid-template-columns: 50px 1fr;
        gap: 20px;
    }

    .timeline-image {
        display: none;
    }

    /* Material cards */
    .material-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Quality promises */
    .quality-promises {
        grid-template-columns: 1fr;
    }

    .quality-promise {
        border-right: none;
        border-bottom: 1px solid rgba(201, 169, 110, 0.3);
    }

    .quality-promise:last-child {
        border-bottom: none;
    }

    /* Bespoke steps */
    .bespoke-step {
        flex: 0 0 50%;
    }

    /* Customization */
    .customization-grid {
        grid-template-columns: 1fr;
    }

    .customization-image {
        aspect-ratio: 16/9;
        max-height: 400px;
    }

    /* Pricing cards */
    .pricing-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Su misura CTA */
    .su-misura-cta {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    /* Contact */
    .contact-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .contact-card {
        padding: 40px 32px;
    }

    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .map-section-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .footer-brand {
        grid-column: span 2;
    }

    .footer-lower {
        flex-direction: column;
        gap: 16px;
        text-align: center;
        padding: 28px 30px;
    }

    /* Showroom gallery */
    .showroom-gallery {
        grid-template-columns: 1fr 1fr;
    }

    /* Workshop grid */
    .workshop-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Values */
    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Testimonials */
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Section header */
    .section-header {
        margin-bottom: 48px;
    }

    /* Filter bar */
    .filter-links {
        gap: 24px;
        flex-wrap: wrap;
    }
}

/* === MOBILE (max-width: 767px) === */
@media (max-width: 767px) {
    .container {
        padding: 0 20px;
    }

    section {
        padding: 60px 0;
    }

    h1 {
        font-size: 2.2rem;
        letter-spacing: 0.05em;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.4rem;
    }

    .hero-content h1 {
        font-size: 2.4rem;
    }

    .hero-subtitle {
        font-size: 0.95rem;
    }

    .btn-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .btn-group.centered {
        align-items: center;
    }

    .btn-primary,
    .btn-secondary,
    .btn-primary-dark,
    .btn-secondary-dark {
        padding: 16px 36px;
        width: 100%;
        text-align: center;
    }

    /* Grid single column */
    .grid-3 {
        grid-template-columns: 1fr;
    }

    .grid-4 {
        grid-template-columns: 1fr;
    }

    /* Collections grid */
    .collections-grid {
        grid-template-columns: 1fr;
    }

    /* Process grid */
    .process-grid {
        grid-template-columns: 1fr;
    }

    /* Values */
    .values-grid {
        grid-template-columns: 1fr;
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .stat-number {
        font-size: 3rem;
    }

    /* Workshop grid */
    .workshop-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* Showroom gallery */
    .showroom-gallery {
        grid-template-columns: 1fr;
    }

    /* Bespoke steps */
    .bespoke-step {
        flex: 0 0 100%;
    }

    /* Form row */
    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .footer-brand {
        grid-column: span 1;
    }

    .footer-lower {
        padding: 24px 20px;
    }

    .footer-legal-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    /* Hero */
    .hero-full {
        min-height: 600px;
    }

    .hero-70 {
        height: 60vh;
        min-height: 440px;
    }

    .hero-60 {
        height: 55vh;
        min-height: 380px;
    }

    .hero-50 {
        height: 50vh;
        min-height: 320px;
    }

    /* Section header */
    .section-header {
        margin-bottom: 40px;
    }

    /* Testimonials */
    .testimonial-card {
        padding: 32px 24px;
    }

    /* Contact */
    .contact-card {
        padding: 36px 24px;
    }

    /* Filter bar */
    .filter-links {
        gap: 16px;
        justify-content: flex-start;
    }

    /* Collection block */
    .collection-block {
        padding: 60px 0;
    }

    /* Image offset */
    .img-offset-container {
        padding: 12px 0 0 12px;
    }

    /* Timeline */
    .timeline-item {
        grid-template-columns: 40px 1fr;
        gap: 16px;
        margin-bottom: 48px;
    }

    .timeline::before {
        left: 14px;
    }

    .timeline-dot {
        width: 8px;
        height: 8px;
    }

    /* Hero buttons */
    .hero-content .btn-group {
        align-items: center;
    }

    /* Mobile menu */
    .mobile-nav-link {
        font-size: 1.75rem;
    }

    /* Pricing */
    .pricing-cards {
        grid-template-columns: 1fr;
    }

    /* Legal page */
    .legal-page {
        padding: 120px 0 60px;
    }

    .legal-content h1 {
        font-size: 2rem;
    }
}

/* === MOBILE SMALL (max-width: 575px) === */
@media (max-width: 575px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.7rem;
    }

    .hero-content h1 {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 0.9rem;
    }

    .site-header {
        height: 72px;
    }

    .logo-name {
        font-size: 0.95rem;
    }

    .stat-number {
        font-size: 2.5rem;
    }

    .testimonial-quote-mark {
        font-size: 4rem;
    }

    .workshop-grid {
        grid-template-columns: 1fr;
    }

    .process-step-image {
        aspect-ratio: 16/9;
    }

    .footer-divider {
        margin: 40px 0 0;
    }

    .collection-block-specs dl {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .collection-block-specs dt {
        margin-bottom: 0;
    }

    .quality-promise {
        padding: 40px 24px;
    }

    .mobile-menu-close {
        top: 20px;
        right: 20px;
    }
}

/* === PRINT === */
@media print {
    .site-header,
    .mobile-menu-overlay,
    .hero-scroll-indicator,
    .site-footer {
        display: none !important;
    }

    body {
        font-size: 12pt;
        color: #000;
    }

    .hero {
        height: auto;
        padding: 40px 0;
    }

    .hero::after {
        display: none;
    }

    .hero-bg {
        display: none;
    }

    .hero-content {
        color: #000;
    }

    .hero-content h1,
    .hero-content h2 {
        color: #000;
    }

    section {
        padding: 24pt 0;
        page-break-inside: avoid;
    }

    a {
        color: #000;
        text-decoration: underline;
    }

    .animate-on-scroll {
        opacity: 1;
        transform: none;
    }
}
