/*
 * EscapeGate Capital — responsive.css v1.6
 */

/* ============================================================
   OVERFLOW HORIZONTAL
   ============================================================ */
html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  max-width: 100vw;
  position: relative;
}

* { box-sizing: border-box; }

.grid > *, .rg-5col > *, [class*="grid--"] > * { min-width: 0; }

/* ============================================================
   DESKTOP PAR DÉFAUT
   ============================================================ */

.rg-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.rg-contact-main { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
.rg-equipe-main { display: grid; grid-template-columns: 280px 1fr; gap: 5rem; align-items: start; }
.rg-profile-row { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; align-items: start; }
.rg-form-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rg-stats-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rg-5col { display: grid !important; gap: var(--space-md, 2rem); grid-template-columns: repeat(5, 1fr) !important; }

/* ============================================================
   HAMBURGER
   ============================================================ */
.nav__burger, button.nav__burger {
  background: transparent !important;
  background-color: transparent !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.nav__burger span { background-color: var(--color-cream, #F5F0E8) !important; }

/* ============================================================
   TABLETTE <= 900px
   ============================================================ */
@media (max-width: 900px) {
  .rg-5col { grid-template-columns: repeat(3, 1fr) !important; }
  .rg-2col, .rg-contact-main, .rg-equipe-main { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .rg-profile-row { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .rg-equipe-sticky { position: static !important; top: auto !important; }
  .footer__grid { grid-template-columns: 1fr 1fr !important; gap: var(--space-md, 2rem) !important; }
}

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

  .container, .container--narrow {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .section, .section--lg, section {
    padding: 2.5rem 0 !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .nav { padding: 0 1.25rem !important; }
  .nav__links { padding: 1.5rem 1.25rem !important; }
  .nav__links li { width: 100%; }
  .nav__links .btn { width: 100%; justify-content: center; }
  .nav__cta { margin-left: 0 !important; margin-top: 0.5rem; }

  .hero { min-height: 100svh; overflow-x: hidden !important; }
  .hero__content { text-align: center !important; max-width: 100% !important; width: 100% !important; }
  .hero__eyebrow { justify-content: center !important; }
  .hero__subtitle { font-size: 1rem !important; max-width: 100% !important; text-align: center !important; }
  .hero__actions { flex-direction: column !important; align-items: center !important; gap: 0.75rem !important; }
  .hero__actions .btn { width: 100% !important; justify-content: center !important; }
  .hero__scroll { display: none; }

  /* GRILLES : 1 colonne — cible classes ET styles inline */
  .rg-5col, .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }

  h1 { font-size: clamp(1.85rem, 8vw, 2.8rem) !important; }
  h2 { font-size: clamp(1.45rem, 6vw, 2rem) !important; }

  .btn--lg { padding: 1rem 1.5rem !important; font-size: 0.875rem !important; }
  .rg-form-2col { grid-template-columns: 1fr !important; }
  .contact-guarantees { flex-direction: column !important; align-items: flex-start !important; gap: 0.875rem !important; }
  .rg-timeline-item { flex-direction: column !important; gap: 0.5rem !important; }
  .rg-timeline-date { width: auto !important; text-align: left !important; padding-top: 0 !important; }
  .rg-timeline-sep { display: none !important; }
  .rg-equipe-divers { flex-direction: column !important; gap: 1.25rem !important; }
  .rg-stats-2, .rg-stats-3, .rg-quote-2col { grid-template-columns: 1fr !important; }
  .rg-quote-2col { grid-template-columns: 1fr !important; }
  .calendly-inline-widget { height: 550px !important; min-width: 0 !important; }
  .footer__grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer__bottom { flex-direction: column !important; text-align: center !important; gap: 0.5rem !important; }
  .footer__legal { flex-direction: column !important; gap: 0.5rem !important; align-items: center !important; }
  .container--narrow .btn--lg { width: 100%; justify-content: center; }
}

@media (max-width: 380px) {
  .rg-stats-2, .rg-stats-3, .rg-quote-2col { grid-template-columns: 1fr !important; }
  .rg-quote-2col { grid-template-columns: 1fr !important; }
}
