/* Responsive — Pereți de Vis (landing page)
   Breakpoints: 1200 / 992 / 768 / 480
*/

@media (max-width: 1199px) {
    .container { padding: 0 24px; }
}

/* ===== Tablet (<= 991px) ===== */
@media (max-width: 991px) {
    section[id] { padding: 80px 0; }

    /* Header — meniu inline rămâne, dar gap mai mic */
    .menu_container ul { gap: 0; }
    .menu_container ul li a { padding: 8px 10px; font-size: 1.3rem; }
    .header_cta {
        padding: 10px 18px;
        font-size: 1.3rem;
    }

    /* Hero */
    .hero-video { min-height: 78vh; }
    .hero-video__overlay {
        background:
            linear-gradient(180deg, rgba(15,15,15,.4) 0%, rgba(15,15,15,.7) 70%, rgba(15,15,15,.85) 100%),
            linear-gradient(135deg, rgba(37,99,235,.45) 0%, rgba(124,58,237,.32) 50%, rgba(249,115,22,.22) 100%);
    }
    .hero-video__title { max-width: 16ch; }
    .hero-video__meta { font-size: 1.1rem; padding: 14px 24px; }

    /* About — stack */
    .about-grid {
        grid-template-columns: 1fr;
        gap: 0;
        min-height: auto;
    }
    .about-text {
        padding: 0 0 var(--s-5) 0;
        max-width: 100%;
    }
    .about-thumbs { min-height: 480px; }

    /* Why us — 2 col */
    .why-us-grid { grid-template-columns: repeat(2, 1fr); }
    .why-card,
    .why-card:nth-child(3n),
    .why-card:nth-child(3n+1),
    .why-card:nth-child(3n+2) {
        padding: 36px 24px 36px 0;
        border-right: 1px solid rgba(255,255,255,.15);
    }
    .why-card:nth-child(2n) {
        border-right: none;
        padding-right: 0;
        padding-left: 24px;
    }
    .why-card:nth-child(2n+1) { padding-left: 0; padding-right: 24px; }

    /* Surfaces — stack */
    .surfaces-grid--editorial { grid-template-columns: 1fr; gap: 48px; }
    .surfaces-aside { position: static; aspect-ratio: 16/9; max-height: 480px; }

    /* Portfolio — 3 col rămâne, gap mai mic */
    .portfolio-grid { gap: var(--s-2); }

    /* FAQ — stack */
    .faq-grid { grid-template-columns: 1fr; gap: 40px; }
    .faq-aside { position: static; }

    /* Contact — stack */
    .contact-grid { grid-template-columns: 1fr; gap: 48px; }

    /* Footer */
    .site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--s-4);
    }
}

/* ===== Mobile (<= 767px) ===== */
@media (max-width: 767px) {
    section[id] { padding: 64px 0; scroll-margin-top: 70px; }

    .container { padding: 0 20px; }

    /* Header — drawer mobil */
    .navbar__menu { padding: 14px 0; }
    .header_logo { max-height: 60px; }
    .header_cta { display: none; }
    .hamburger { display: flex; }

    .menu_container {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(82vw, 320px);
        background: var(--bg);
        border-left: 1px solid var(--border);
        padding: 80px 24px 32px;
        transform: translateX(100%);
        transition: transform 0.28s ease;
        z-index: 999;
        overflow-y: auto;
        display: block;
    }
    .menu_container.is-open { transform: translateX(0); }
    .menu_container ul {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .menu_container ul li { width: 100%; }
    .menu_container ul li a {
        padding: 16px 4px;
        font-size: 1.7rem;
        border-bottom: 1px solid var(--border);
    }
    .menu_container ul li a::after { display: none; }

    /* Backdrop pentru drawer */
    .nav-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(15,15,15,0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
        z-index: 998;
    }
    .nav-backdrop.is-visible {
        opacity: 1;
        pointer-events: auto;
    }
    body.nav-open { overflow: hidden; }

    /* Block titles */
    .block_title { margin-bottom: var(--s-5); }
    .block_title p { font-size: 1.55rem; }

    /* Hero */
    .hero-video { min-height: 90vh; }
    .hero-video__overlay {
        background:
            linear-gradient(180deg, rgba(15,15,15,.45) 0%, rgba(15,15,15,.75) 60%, rgba(15,15,15,.9) 100%),
            linear-gradient(135deg, rgba(37,99,235,.48) 0%, rgba(124,58,237,.34) 50%, rgba(249,115,22,.24) 100%);
    }
    .hero-video__content { padding-bottom: 72px; }
    .hero-video__title { max-width: 100%; margin-bottom: 16px; }
    .hero-video__subtitle { margin-bottom: 28px; font-size: 1.55rem; }
    .hero-video__cta { padding: 16px 24px; font-size: 1.4rem; }
    .hero-video__meta {
        font-size: 1rem;
        padding: 12px 20px;
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
    }

    /* About */
    .about-thumbs { min-height: 360px; }

    /* Why us — 1 col */
    .why-us-grid { grid-template-columns: 1fr; }
    .why-card,
    .why-card:nth-child(2n),
    .why-card:nth-child(2n+1),
    .why-card:nth-child(3n) {
        padding: 32px 0 !important;
        border-right: none !important;
    }
    .why-card__num { font-size: 3.6rem; }
    .why-card__title { font-size: 1.9rem; }

    /* Surfaces */
    .surfaces-list li { grid-template-columns: 40px 1fr; padding: 20px 0; }
    .surfaces-list li > .surface-name { font-size: 1.7rem; }
    .surfaces-aside { aspect-ratio: 4/3; }

    /* Portfolio — 2 col */
    .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
    .portfolio-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    /* FAQ */
    .faq-item__q { padding: 24px 0; font-size: 1.6rem; }
    .faq-item__a { padding-bottom: 24px; font-size: 1.5rem; }

    /* Contact */
    .contact-form { padding: 24px; }
    .contact-info__list li {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 16px 0;
    }

    /* Footer */
    .site-footer__grid { grid-template-columns: 1fr; gap: var(--s-4); }
    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    /* WhatsApp float — mobil */
    .wa-float {
        width: 50px;
        height: 50px;
        bottom: 18px;
        right: 14px;
    }
    .wa-float__icon { width: 24px; height: 24px; }
}

/* ===== Mobile mic (<= 480px) ===== */
@media (max-width: 480px) {
    .container { padding: 0 18px; }

    /* Portfolio — 2 col pe mobil */
    .portfolio-grid { grid-template-columns: repeat(2, 1fr); gap: var(--s-1); }

    /* Hero text */
    .hero-video__title { font-size: clamp(3.2rem, 10vw, 4.4rem); }
}
