/* =============================================================
   BSD IMMO — Grilles responsives pour widgets HTML Elementor
   Thème enfant — /css/bsd-responsive.css
   Version : 1.0 — Mai 2026
   ============================================================= */


/* ---------------------------------------------------------------
   GRILLES DE BASE (desktop)
--------------------------------------------------------------- */

.bsd-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.bsd-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.bsd-grid-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}


/* ---------------------------------------------------------------
   TABLETTE (≤ 900px)
--------------------------------------------------------------- */

@media (max-width: 900px) {

  .bsd-grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  .bsd-grid-contact {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Désactive le sticky de la carte contact sur tablette */
  .bsd-contact-sticky {
    position: static !important;
  }

}


/* ---------------------------------------------------------------
   MOBILE (≤ 600px)
--------------------------------------------------------------- */

@media (max-width: 600px) {

  /* Grilles → 1 colonne */
  .bsd-grid-2 {
    grid-template-columns: 1fr;
  }

  .bsd-grid-3 {
    grid-template-columns: 1fr;
  }

  .bsd-grid-contact {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* Padding des sections et conteneurs internes */
  .bsd-section {
    padding: 28px 16px !important;
  }

  .bsd-inner {
    padding: 28px 16px !important;
  }

  /* Titres */
  .bsd-h1 {
    font-size: 1.6em !important;
  }

  .bsd-h2 {
    font-size: 1.25em !important;
  }

  /* Boutons CTA → colonne pleine largeur */
  .bsd-ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .bsd-ctas a {
    text-align: center !important;
  }

  /* Formule mise en avant → remonte en premier sur mobile */
  .bsd-formule-highlight {
    order: -1;
  }

  /* En-tête contact card → empilé */
  .bsd-contact-header {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Navigation tags → colonne */
  .bsd-tags-nav {
    flex-direction: column;
  }

}


/* ---------------------------------------------------------------
   TRÈS PETIT MOBILE (≤ 380px)
--------------------------------------------------------------- */

@media (max-width: 380px) {

  /* Réassurance 4 icônes → 1 colonne */
  .bsd-reassurance {
    grid-template-columns: 1fr !important;
  }

}


/* ---------------------------------------------------------------
   CORRECTIFS GLOBAUX
--------------------------------------------------------------- */

/* Supprime le marqueur natif des balises <details> */
details summary::-webkit-details-marker {
  display: none;
}

/* Images fluides */
.bsd-img-fluid {
  width: 100%;
  height: auto;
  display: block;
}


/* Grille 3 colonnes — valeurs / icônes rondes */
.bsd-grid-valeurs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  padding: 30px 20px;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

@media (max-width: 700px) {
  .bsd-grid-valeurs {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}


/* Grille 2 colonnes — texte + liste icônes */
.bsd-grid-pourquoi {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 40px 20px;
  max-width: 900px;
  margin: 0 auto;
  align-items: start;
}

@media (max-width: 700px) {
  .bsd-grid-pourquoi {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}


/* Grille 4 colonnes — piliers de service */
.bsd-grid-4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
}

@media (max-width: 900px) {
  .bsd-grid-4 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 500px) {
  .bsd-grid-4 {
    grid-template-columns: 1fr;
  }
}

/* Grille 3 colonnes — cartes formules */
.bsd-grid-formules {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}

@media (max-width: 800px) {
  .bsd-grid-formules {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  /* Espace pour le badge "La plus choisie" positionné en absolu */
  .bsd-grid-formules > div:nth-child(2) {
    margin-top: 14px;
  }
}

/* Grille 2 colonnes — GLI + Baux */
.bsd-grid-garanties {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

@media (max-width: 700px) {
  .bsd-grid-garanties {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}