/* ===================================================
   CORRECTIFS D'ALIGNEMENT - Pension Animaux Toulouse
   =================================================== */

/* --- Correction critique : reset du #root Vite --- */
#root {
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}

/* --- Layout général --- */
body {
  overflow-x: hidden;
}

/* --- Header : alignement horizontal --- */
header {
  width: 100%;
  left: 0;
  right: 0;
}

/* --- Sections : largeur pleine page --- */
section {
  width: 100%;
}

/* --- Conteneurs internes centrés avec max-width --- */
.w-full.px-4,
.w-full.px-6,
.w-full.px-8 {
  box-sizing: border-box;
}

/* --- Hero section : texte gauche, image droite --- */
#accueil .order-2 {
  text-align: left;
}

#accueil h1 {
  text-align: left;
}

#accueil p {
  text-align: left;
}

/* --- Badges / tags : alignement gauche dans leur conteneur --- */
.inline-flex.items-center {
  display: inline-flex;
}

/* --- Services section : titres centrés, contenu cartes gauche --- */
#services .grid {
  text-align: left;
}

#services .space-y-2 li {
  text-align: left;
}

/* --- Section espaces : texte bloc droite aligné gauche --- */
#pension .space-y-6 {
  text-align: left;
}

/* --- Stats / badges flottants --- */
.animate-float {
  text-align: center;
}

/* --- Avantages section : items centrés horizontalement --- */
.grid .text-center {
  text-align: center;
}

/* --- Témoignages : texte gauche --- */
#avis .bg-white p {
  text-align: left;
}

/* --- FAQ : accordéon texte gauche --- */
#faq .text-left,
#faq button,
#faq [data-state] {
  text-align: left;
}

/* --- Réservation formulaire : labels gauche --- */
#reservation label,
#reservation .space-y-4 {
  text-align: left;
}

/* --- Blog / conseils : cartes texte gauche --- */
#blog .bg-white p,
#blog .bg-white h3 {
  text-align: left;
}

/* --- Footer : liens et texte --- */
footer {
  text-align: left;
}

footer .text-center {
  text-align: center;
}

/* --- Navigation mobile : items gauche --- */
nav.flex-col a {
  text-align: left;
}

/* --- Correction flex pour les sections à 2 colonnes --- */
.grid.lg\\:grid-cols-2 {
  align-items: center;
}

/* --- Cartes services : contenu aligné gauche --- */
.group .p-6,
.group .p-8 {
  text-align: left;
}

/* --- Boutons : centrer le texte dans les boutons --- */
button, 
[data-slot="button"],
a.gradient-green,
a.gradient-orange {
  text-align: center;
}

/* --- Inputs et formulaires --- */
input, textarea, select {
  text-align: left;
}

/* --- Titres de section centrés (intentionnel) --- */
#services > div > div:first-child h2,
#services > div > div:first-child p,
#services > div > div:first-child span,
#galerie > div > div:first-child h2,
#galerie > div > div:first-child p,
#galerie > div > div:first-child span,
.py-20 > .w-full > div > .mb-16,
.py-20 > .w-full > div > .mb-12 {
  text-align: left;
}

/* --- Map section : texte gauche --- */
.grid.lg\\:grid-cols-2 > div {
  text-align: left;
}

/* --- Avantages stats --- */
.flex.items-center.gap-2 span {
  text-align: left;
}

/* --- Correction overflow sections --- */
.relative.overflow-hidden {
  overflow-x: hidden;
}

/* --- Corrections responsives mobiles --- */
@media (max-width: 1023px) {
  #root {
    padding: 0 !important;
  }

  .order-1 {
    text-align: center;
  }

  .order-2 {
    text-align: left;
  }

  #accueil .order-2 {
    text-align: left;
  }
  
  /* CTA mobile centrés */
  #accueil .flex.flex-col.sm\\:flex-row {
    align-items: flex-start;
  }
}

/* --- Corrections pour les badges "inline-block" --- */
span.inline-block {
  text-align: center;
}

/* --- Section réservation : liste d'infos --- */
#reservation .flex.items-center.gap-3 span {
  text-align: left;
}

/* --- Calendrier : centré dans son conteneur --- */
[data-slot="calendar"] {
  margin: 0 auto;
}

/* --- Section avis Google --- */
#avis .text-sm {
  text-align: left;
}

/* --- Correction des grid gaps --- */
.grid.gap-6,
.grid.gap-8,
.grid.lg\\:gap-8 {
  align-items: stretch;
}

/* --- Footer colonnes --- */
footer .grid > div {
  text-align: left;
}

/* --- Correction finale pour les éléments flex/grid children --- */
.flex.flex-col > p,
.flex.flex-col > h1,
.flex.flex-col > h2,
.flex.flex-col > h3 {
  text-align: left;
}

/* Préserver le text-center explicite quand il est sur l'élément lui-même */
.text-center {
  text-align: center !important;
}
