/* ========================================
   SENECODAN - Responsive
   ======================================== */

/* ---- XL screens (max 1280px) ---- */
@media (max-width: 1280px) {
    .footer-top { grid-template-columns: repeat(3, 1fr); }
    .top-info-item { padding: 0 10px; }
    .top-info-value { font-size: 0.72rem; }
    .top-info-label { font-size: 0.56rem; }
}

/* ---- Tablet large (max 1024px) ---- */
@media (max-width: 1024px) {
    .top-bar-infos-bar { padding: 8px 12px; }
    .top-info-item { padding: 0 6px; gap: 6px; }
    .top-info-value { font-size: 0.65rem; }
    .top-info-label { font-size: 0.5rem; }
    .top-info-icon-circle { width: 26px; height: 26px; }
    .top-info-icon-circle i { font-size: 0.7rem; }

    .nav-link { padding: 16px 14px; font-size: 0.68rem; }

    .hero-wrapper { min-height: 420px; }
    .hero-left-zone { flex: 0 0 40%; }
    .hero-technicien { max-height: 350px; }
    .hero-tagline { font-size: 1.15rem; }
    .hero-brand-logo { height: 45px; }

    .prestations-grid { grid-template-columns: repeat(2, 1fr); }
    .pourquoi-grid { grid-template-columns: repeat(2, 1fr); }
    .realisations-grid { grid-template-columns: repeat(3, 1fr); }
    .temoignages-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Tablet (max 768px) ---- */
@media (max-width: 768px) {
    .top-bar-infos-bar { display: none; }
    .hamburger { display: flex; }
    .nav-hamburger-desktop { display: none; }

    .main-nav {
        position: fixed;
        top: 0; left: -100%;
        width: 80%; max-width: 320px;
        height: 100vh;
        background: var(--blue-navy);
        z-index: 1001;
        transition: 0.4s ease;
        padding-top: 80px;
        border-right: 3px solid var(--red);
    }
    .main-nav.open { left: 0; }
    .nav-inner { flex-direction: column; align-items: stretch; }
    .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
    .nav-link {
        color: var(--white);
        padding: 14px 25px;
        border-bottom: 1px solid rgba(255,255,255,0.06);
        font-size: 0.78rem;
    }
    .nav-link::after { display: none; }
    .nav-link:hover { background: rgba(255,255,255,0.05); color: var(--red); }
    .nav-right { padding: 15px 25px; }
    .nav-cta-link { color: var(--red); text-align: left; }

    .hero { min-height: auto; }
    .hero-wrapper {
        flex-direction: column-reverse;
        align-items: center;
        min-height: auto;
        padding: 30px 15px 50px;
    }
    .hero-left-zone { flex: 0 0 auto; align-items: center; }
    .hero-right-zone { padding: 20px 0 0; }
    .hero-technicien { max-height: 250px; }
    .hero-tagline { font-size: 1.1rem; }
    .hero-brand-logo { height: 40px; }
    .hero-snowflake { display: none; }
    .hero-bottom-bar span { font-size: 0.72rem; }

    .section { padding: 40px 0; }
    .raison-title { font-size: 1.35rem; }
    .raison-content { flex-direction: column; }
    .raison-image { flex: 0 0 auto; width: 100%; max-width: 350px; margin: 0 auto; }
    .prestations-title { font-size: 1.35rem; }

    .realisations-carousel-wrap { flex-wrap: wrap; justify-content: center; }
    .realisations-grid { grid-template-columns: repeat(3, 1fr); }
    .carousel-arrow { order: 0; }

    .temoignages-carousel-wrap { flex-wrap: wrap; justify-content: center; }
    .temoignages-grid { grid-template-columns: repeat(2, 1fr); }

    .financement-content { flex-direction: column; text-align: center; }
    .financement-text h2 { font-size: 1.2rem; }
    .cta-content { flex-direction: column; text-align: center; }
    .cta-text h2 { font-size: 1.15rem; }

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

/* ---- Mobile (max 576px) ---- */
@media (max-width: 576px) {
    html { font-size: 15px; }
    .container { padding: 0 15px; }
    .container-fluid { padding: 0 15px; }
    .top-bar-logo img { height: 38px; }

    .hero-tagline { font-size: 0.95rem; }
    .hero-services-line { font-size: 0.82rem; }
    .hero-tags-line { font-size: 0.78rem; }
    .hero-technicien { max-height: 200px; }
    .hero-cta-btn img { height: 44px; }
    .hero-old-logo { height: 35px; }
    .hero-becomes-text { font-size: 1rem; }

    .section { padding: 30px 0; }
    .raison-title { font-size: 1.15rem; }
    .prestations-title { font-size: 1.15rem; }
    .pourquoi-title { font-size: 1.1rem; }
    .realisations-title { font-size: 1.15rem; }
    .temoignages-title { font-size: 1.15rem; }

    .labels-row { gap: 15px; }
    .label-logo img { height: 38px; }

    .prestations-grid { grid-template-columns: 1fr; }
    .presta-body p { min-height: auto; }
    .pourquoi-grid { grid-template-columns: 1fr; }
    .realisations-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .temoignages-grid { grid-template-columns: 1fr; }

    .financement-text h2 { font-size: 1.05rem; }
    .cta-text h2 { font-size: 1.05rem; }

    .footer-top { grid-template-columns: 1fr; gap: 20px; }
    .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }

    .back-to-top { bottom: 18px; right: 18px; width: 38px; height: 38px; }
}

/* ---- Very small (max 400px) ---- */
@media (max-width: 400px) {
    .hero-tagline { font-size: 0.85rem; }
    .hero-left-zone { display: none; }
    .realisations-grid { grid-template-columns: 1fr; }
}
