/* ================================================
   HOLZBAU GÖRGEN – responsive.css
   ================================================ */

/* ---- Tablet (? 1024px) ---- */
@media (max-width: 1024px) {
    /* Hero: einspaltig */
    .hero { grid-template-columns: 1fr; min-height: auto; }
    .hero-content {
        padding: calc(var(--nav-height) + var(--sp-8)) var(--sp-4) var(--sp-8);
        align-items: center; text-align: center;
    }
    .hero-sub { margin: 0 auto var(--sp-6); }
    .hero-actions { justify-content: center; }
    .hero-image { height: 55vh; min-height: auto; }
    .hero-image::before { background: linear-gradient(to bottom, var(--c-dark) 0%, rgba(26,36,48,0.15) 40%, transparent 100%); }
    .scroll-hint { display: none; }

    /* About-Teaser */
    .about-grid { grid-template-columns: 1fr; gap: var(--sp-6); }
    .about-images { padding-bottom: 4rem; }

    /* Story */
    .story-grid { grid-template-columns: 1fr; gap: var(--sp-6); }

    /* Kontakt */
    .contact-grid { grid-template-columns: 1fr; gap: var(--sp-6); }

    /* Leistungsdetails */
    .service-detail { grid-template-columns: 1fr; gap: 0; }
    .service-detail:nth-child(even) .service-detail-media,
    .service-detail:nth-child(even) .service-detail-content {
        order: initial;
    }
    .service-detail-media { min-height: 280px; }

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

    /* Footer */
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}

/* ---- Mobil (? 768px) ---- */
@media (max-width: 768px) {
    :root { --nav-height: 68px; }

    /* Navigation: Hamburger */
    .nav-links, .nav-phone { display: none; }
    .hamburger { display: flex; }

    .nav-links.open {
        display: flex; flex-direction: column;
        position: fixed; top: var(--nav-height); left: 0; right: 0;
        background: var(--c-dark); padding: var(--sp-4); gap: var(--sp-1);
        box-shadow: var(--shadow-lg); border-top: 1px solid rgba(255,255,255,0.08);
    }
    .nav-links.open .nav-link { padding: var(--sp-2); font-size: 1rem; }

    /* Services */
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .service-detail-content { padding: var(--sp-4); }
    .service-detail-points { grid-template-columns: 1fr; }

    /* Team */
    .team-grid { grid-template-columns: repeat(3, 1fr); }

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

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: var(--sp-5); }
    .footer-bottom { flex-direction: column; text-align: center; }
}

/* ---- Klein-Mobil (? 480px) ---- */
@media (max-width: 480px) {
    .services-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-actions { flex-direction: column; width: 100%; }
    .hero-actions .btn { justify-content: center; }
    .cta-actions { flex-direction: column; align-items: center; }
    .cta-actions .btn { width: 100%; max-width: 300px; justify-content: center; }
    .usp-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-3); }
}