/* =========================================================
   R-LAB — Optimisations structure mobile
   Ajout non destructif (chargé APRÈS rlab.css).
   Comble la tranche 480–991px laissée en layout desktop
   par l'export Webflow, et affine ≤767 / ≤479.
   ========================================================= */

/* Anti-débordement horizontal (bug mobile fréquent) */
html, body { overflow-x: hidden; }

/* Galerie « Notre Salon » : forcer le cadrage cover sur TOUTES les
   images, même celles sans la classe .rlab-gallery-img (oubli Webflow
   sur la 1re image). Empêche toute photo de s'étirer en bande large. */
.rlab-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---------- Tablettes & grands téléphones (≤ 991px) ---------- */
@media screen and (max-width: 991px) {

  /* Navbar -> menu hamburger (au lieu des liens desktop tassés) */
  .rlab-nav-links { display: none !important; }
  .rlab-hamburger { display: flex !important; }
  .rlab-navbar    { padding: 14px 6%; }
  .rlab-nav-logo-img { height: 52px; }

  /* Section "À propos" : empiler image + texte */
  .rt-about-v2-bottom-main {
    flex-direction: column !important;
    align-items: center !important;
    gap: 2rem;
  }
  .rt-about-v2-bottom-left,
  .rt-about-v2-bottom-right { width: 100% !important; max-width: 640px; }
  .rt-about-v2-image {
    width: 100% !important;
    max-width: 420px;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ---------- Téléphones (≤ 767px) ---------- */
@media screen and (max-width: 767px) {

  /* Grilles en colonne unique */
  .rlab-grid-3   { grid-template-columns: 1fr !important; }
  .rlab-info-grid{ grid-template-columns: 1fr !important; }

  /* Respirations de section homogènes */
  .rlab-section-light,
  .rlab-section-dark { padding-left: 6% !important; padding-right: 6% !important; }

  /* Hero : titre adapté */
  .rlab-hero-tagline { font-size: 32px; line-height: 1.15; }

  /* "À propos" centré sur petit écran */
  .rt-about-v2-bottom-right { text-align: center; }
  .rt-button-wrapper { display: flex; justify-content: center; }

  /* Galerie : défilement fluide avec accroche */
  .rlab-gallery-track {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .rlab-gallery-item { scroll-snap-align: center; }

  /* Lignes de prix robustes : le nom peut passer à la ligne,
     le prix reste intact et aligné à droite (jamais coupé) */
  .rlab-price-row  { gap: 12px; align-items: baseline; }
  .rlab-price-name { flex: 1 1 auto; min-width: 0; }
  .rlab-price-value{ flex: 0 0 auto; text-align: right; }
}

/* ---------- Petits téléphones (≤ 479px) — compléments ---------- */
@media screen and (max-width: 479px) {
  .rlab-hero-tagline { font-size: 30px; }
  .rt-about-v2-image { max-width: 340px; }

  /* Badge avis : empilage propre */
  .rlab-review-badge { flex-direction: column; text-align: center; gap: 8px; }
}
