/* ==========================================================================
   responsive.css — Breakpoint overrides
   Bootstrap breakpoints: sm 576, md 768, lg 992, xl 1200, xxl 1400
   ========================================================================== */

/* --------------------------------------------------------------------
   Large desktop / laptop (below xl — tighten section spacing slightly)
   -------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    :root {
        --space-section: 4.5rem;
        --space-section-sm: 3rem;
    }
    .mega-menu { padding: 1.4rem; }
}

/* --------------------------------------------------------------------
   Tablet (below lg) — mobile nav takes over here
   -------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    :root {
        --space-section: 3.5rem;
        --space-section-sm: 2.5rem;
    }

    .navbar-collapse.d-none { display: none !important; }

    .site-header .navbar { padding: 0.75rem 0; }
    .brand-tagline { display: none; }

    .floating-cta-text { display: none; }
    .floating-cta { padding: 0.9rem; border-radius: 50%; }
    .floating-cta i { font-size: 1.2rem; }

    .cta-banner-inner { flex-direction: column; text-align: center; }
    .cta-banner-actions { justify-content: center; }

    .sidebar-sticky { position: static; margin-top: 3rem; }

    .testimonials-carousel .carousel-control-prev,
    .testimonials-carousel .carousel-control-next {
        position: static;
        transform: none;
        margin-top: 1.5rem;
    }
    .testimonials-carousel .carousel-inner { margin-bottom: 0; }
}

/* --------------------------------------------------------------------
   Large mobile (below md)
   -------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
    section { padding: var(--space-section-sm) 0; }

    .consultation-form-wrapper { padding: 1.75rem 1.25rem; }

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

    .process-step { margin-bottom: 2.5rem; }
    .process-line { display: none; }

    .cta-banner { padding: 2.5rem 0; }
}

/* --------------------------------------------------------------------
   Small mobile (below sm)
   -------------------------------------------------------------------- */
@media (max-width: 575.98px) {
    .topbar { display: none !important; }
    .btn-lg { width: 100%; }
    .footer-bottom { text-align: center; }
    .footer-legal { flex-wrap: wrap; justify-content: center; }
    .testimonial-card { padding: 1.5rem; }
    .floating-cta { bottom: 1rem; right: 1rem; }
    .back-to-top { bottom: 1rem; left: 1rem; width: 40px; height: 40px; }
}

/* --------------------------------------------------------------------
   No horizontal scroll safeguard
   -------------------------------------------------------------------- */
html, body { max-width: 100%; overflow-x: hidden; }
