/* =============================================
   ClimaArte Italia — Responsive Styles
   ============================================= */

/* === DESKTOP LARGE: 1200px+ (baseline) === */
/* All desktop styles are in style.css */

/* === DESKTOP: 992px - 1199px === */
@media (max-width: 1199px) {
    :root {
        --section-padding-v: 80px;
    }

    .section-heading { font-size: 36px; }
    .page-hero__headline { font-size: 44px; }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1.3fr 1.3fr;
        gap: var(--space-xl);
    }

    .hero-headline { font-size: 48px !important; }
    .hero-sub { font-size: 18px !important; }

    .service-block {
        gap: var(--space-2xl);
    }
}

/* === TABLET: 768px - 991px === */
@media (max-width: 991px) {
    :root {
        --section-padding-v: 60px;
    }

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

    /* Hero */
    .hero-headline { font-size: 40px !important; }
    .hero-sub { font-size: 17px !important; }
    .hero-split {
        grid-template-columns: 1fr !important;
    }
    .hero-illustration {
        display: none !important; /* Optional: show as smaller element below text */
    }
    .hero-text { max-width: 100% !important; }

    /* Stats badges row */
    .stats-row {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    /* Category cards staggered -> 2 col */
    .categories-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .category-card--elevated,
    .category-card--lowered {
        transform: none !important;
    }
    .category-card--elevated:hover,
    .category-card--lowered:hover {
        transform: translateY(-8px) !important;
    }

    /* Value points */
    .value-section-grid {
        grid-template-columns: 1fr !important;
    }
    .value-illustration { display: none; }

    /* Products 4-col -> 2-col */
    .featured-products-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    /* Process steps: 4-col -> 2-col */
    .process-steps {
        grid-template-columns: 1fr 1fr !important;
    }
    .process-connector { display: none; }

    /* Testimonials: 3-col -> 1-col stacked */
    .testimonials-grid {
        grid-template-columns: 1fr !important;
    }
    .testimonial-card--rotated-pos,
    .testimonial-card--rotated-neg {
        transform: none;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-xl);
    }
    .footer-col-brand {
        grid-column: 1 / -1;
    }

    /* Page hero */
    .page-hero__headline { font-size: 38px; }
    .page-hero__sub { font-size: 17px; }

    /* Service blocks */
    .service-block {
        grid-template-columns: 1fr !important;
        gap: var(--space-xl);
        padding: var(--space-xl) 0;
    }
    .service-block:nth-child(even) .service-block__text { order: 1; }
    .service-block:nth-child(even) .service-block__illustration { order: 2; }
    .service-block__illustration { min-height: 220px; }

    /* Team cards */
    .team-grid { grid-template-columns: 1fr 1fr !important; }

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

    /* CTA bar */
    .cta-bar {
        flex-direction: column;
        text-align: center;
    }

    /* Section headings */
    .section-heading { font-size: 32px; }

    /* Contact form grid */
    .contact-form-grid {
        grid-template-columns: 1fr !important;
    }
    .contact-form-illustration { display: none; }

    /* Guide cards */
    .guide-grid { grid-template-columns: 1fr 1fr !important; }

    /* Emergency banner */
    .emergency-banner__inner {
        flex-direction: column;
        align-items: center;
    }

    /* About hero */
    .about-hero-grid { grid-template-columns: 1fr !important; }
    .about-hero-illustration { display: none; }

    /* Mission cards */
    .mission-grid { grid-template-columns: 1fr !important; }

    /* Comparison table */
    .comparison-table { font-size: 13px; }
    .comparison-table td, .comparison-table th { padding: 10px 12px; }
}

/* === MOBILE LARGE: 576px - 767px === */
@media (max-width: 767px) {
    :root {
        --section-padding-v: 60px;
        --space-3xl: 60px;
    }

    .container { padding: 0 var(--space-sm); }

    /* Typography scale down */
    .section-heading { font-size: 28px; }
    .section-description { font-size: 16px; }
    .page-hero__headline { font-size: 32px; }
    .page-hero__sub { font-size: 16px; }
    .hero-headline { font-size: 32px !important; }
    .hero-sub { font-size: 16px !important; }

    /* Hero annotation */
    .hero-annotation { font-size: 15px; }

    /* Categories: 1 col */
    .categories-grid { grid-template-columns: 1fr !important; }

    /* Featured products: 1 col */
    .featured-products-grid { grid-template-columns: 1fr !important; }

    /* Process steps: 1 col */
    .process-steps { grid-template-columns: 1fr !important; }

    /* Brands row */
    .brands-row { gap: var(--space-md) var(--space-sm); }

    /* Testimonials: already 1 col from tablet */

    /* Buttons on hero */
    .hero-buttons {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .hero-buttons .btn { width: 100%; justify-content: center; }

    /* Stats badges */
    .stats-row {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Footer: 1 col */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }
    .footer-col-brand { grid-column: auto; }

    /* Footer bottom */
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: var(--space-xs);
    }

    /* Team: 1 col */
    .team-grid { grid-template-columns: 1fr !important; }

    /* Stats counters: 2 col */
    .stats-counters-grid { grid-template-columns: 1fr 1fr !important; }
    .stat-counter__value { font-size: 40px; }

    /* Guide: 1 col */
    .guide-grid { grid-template-columns: 1fr !important; }

    /* FAQ */
    .faq-question { font-size: 15px; }

    /* Contact cards: 1 col */
    .contact-cards-grid { grid-template-columns: 1fr !important; }

    /* Info box dark */
    .info-box-dark { padding: var(--space-xl) var(--space-md); }

    /* Product anchor buttons */
    .anchor-buttons {
        flex-direction: column !important;
    }

    /* Service blocks: already 1 col */

    /* Illustrated map */
    .illustrated-map { aspect-ratio: 4/3; }

    /* CTA section */
    .cta-section-buttons {
        flex-direction: column !important;
        align-items: center;
    }
    .cta-section-buttons .btn { width: 100%; justify-content: center; }

    /* Logo tagline hide on very small */
    .logo-tagline { display: none; }

    /* Mobile nav links */
    .mobile-nav-link { font-size: 28px; }
}

/* === MOBILE: below 576px === */
@media (max-width: 575px) {
    :root {
        --section-padding-v: 48px;
    }

    .container { padding: 0 16px; }

    /* Further type reductions */
    .section-heading { font-size: 24px; }
    .hero-headline { font-size: 28px !important; }
    .page-hero__headline { font-size: 26px; }

    /* Stat badge sizes */
    .stat-badge {
        width: 100px;
        height: 100px;
    }
    .stat-badge__value { font-size: 18px; }

    /* Process step number */
    .step-number-bg { font-size: 64px; }

    /* Category card illustration */
    .category-card__illustration { min-height: 160px; }
    .category-card__body { padding: var(--space-md); }

    /* Product card */
    .product-card__illustration { min-height: 140px; padding: var(--space-md); }
    .product-card__body { padding: var(--space-md); }

    /* Emergency banner phone */
    .emergency-banner__phone { font-size: 30px; }

    /* Stats counters: 2 col */
    .stat-counter__value { font-size: 36px; }

    /* Cert badges: wrap */
    .cert-badges-row {
        grid-template-columns: 1fr 1fr !important;
    }

    /* Value points: column */
    .value-point {
        flex-direction: column;
        gap: var(--space-sm);
    }

    /* Header height */
    .header-inner { height: 68px; }
    .logo-text { font-size: 22px; }

    /* Form controls */
    .form-control { padding: 12px 14px; font-size: 14px; }

    /* Touch targets - ensure 44px minimum */
    .btn { min-height: 44px; }
    .faq-question { min-height: 44px; }
    .nav-link, .mobile-nav-link { min-height: 44px; display: flex; align-items: center; }

    /* Legal content */
    .legal-content { padding: var(--space-xl) var(--space-sm); }
    .legal-content h2 { font-size: 22px; }
}

/* === PRINT === */
@media print {
    .site-header, .site-footer, .hamburger, .mobile-menu-overlay {
        display: none !important;
    }
    body {
        font-size: 12pt;
        color: #000;
        background: #fff;
    }
    .btn { display: none; }
    a { color: #000; text-decoration: underline; }
    .legal-content { padding: 0; }
}
