/* ============================================================
   BRAUN GARTENBAU — BAU
   responsive.css — breakpoints & mobile navigation
   ============================================================ */

/* ---------- <= 1024px ---------- */
@media (max-width: 1024px) {

    .nav__links {
        position: fixed;
        inset: 0;
        z-index: -1;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.6rem;
        background: var(--paper);
        opacity: 0;
        visibility: hidden;
        transition: opacity .45s var(--ease), visibility .45s;
    }
    .nav.open .nav__links { opacity: 1; visibility: visible; z-index: 1; }
    .nav__links a {
        font-family: var(--font-d);
        font-size: 2rem;
        text-transform: none;
        letter-spacing: -.01em;
    }
    .nav__links a::after { display: none; }
    .nav__burger { display: flex; }
    .nav__cta .btn { display: none; }

    .hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .hero__media { order: -1; }
    .hero__media img { aspect-ratio: 16 / 11; }

    .intro__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .intro__media { order: -1; }
    .intro__media img { aspect-ratio: 16 / 11; }

    .gallery { grid-template-columns: repeat(4, 1fr); }

    .why__grid { grid-template-columns: repeat(2, 1fr); }
    .why__item { border-bottom: 1px solid var(--line-dark); padding-right: 1.8rem; }
    .why__item:nth-child(2) { border-right: none; }

    .problems__grid { grid-template-columns: 1fr; gap: 2rem; }

    .steps { grid-template-columns: repeat(3, 1fr); row-gap: 2.4rem; }

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

/* ---------- <= 820px ---------- */
@media (max-width: 820px) {

    .strip__grid { grid-template-columns: repeat(2, 1fr); }
    .strip__item:nth-child(2) { border-left: none; }
    .strip__item:nth-child(n+3) { border-top: 1px solid var(--line); }

    .services { grid-template-columns: 1fr; }
    .projects { grid-template-columns: 1fr; }
    .ba-grid { grid-template-columns: 1fr; }
    .seo__grid { grid-template-columns: 1fr; }

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

    .ctaband__inner { flex-direction: column; align-items: flex-start; }

    .footer__grid { grid-template-columns: 1fr; gap: 2.4rem; }
    .footer__bottom { flex-direction: column; gap: .4rem; }
}

/* ---------- <= 560px ---------- */
@media (max-width: 560px) {

    .nav__links a { font-size: 1.7rem; }
    .nav__logo small { display: none; }

    .hero { padding-top: 7.5rem; }
    .hero__meta { gap: 1.4rem; }

    .strip__grid { grid-template-columns: 1fr; }
    .strip__item { border-left: none; }
    .strip__item:nth-child(n+2) { border-top: 1px solid var(--line); }

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

    .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
    .g-big, .g-tall, .g-port, .g-wide, .g-std {
        grid-column: span 2;
        grid-row: span 2;
    }

    .why__grid { grid-template-columns: 1fr; }
    .why__item { border-right: none; padding-right: 0; }

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

    .btn { width: 100%; }
    .hero__actions .btn { width: 100%; }
    .ctaband .btn { width: auto; }

    .legal h1 { font-size: 2.2rem; }
}

/* ---------- print ---------- */
@media print {
    .nav, .fab, .cookie { display: none; }
}
