/* Overrides spécifiques à la page Rendez-vous */
.global { min-height: 100vh; display: flex; flex-direction: column; }
.main { display: flex; flex-direction: column; flex: 1 0 auto; }
.content.content-part-2.rdv-global { flex: 1 0 auto; display: flex; flex-direction: column; }
.page-part.page-part-2.rdv-content { flex: 1 0 auto; }

.rdv-content .form-structure span {
  border-radius: 0 !important;
}

.rdv-content .card {
  border-radius: 0 !important;
}

/* Cartes de marques (étape Marque) */
.rdv-content .brand-card-item {
  border-radius: 0 !important;
}
.rdv-content .brand-card-content,
.rdv-content .brand-card-image {
  border-radius: 0 !important;
}

/* Résumé de l’intervention (panneau de droite) */
.rdv-content .cart,
.rdv-content .cart.visible,
.rdv-content .cart-in {
  border-radius: 0 !important;
}

/* Questionnaire de validation */
.rdv-content .questionnaireValidation {
  border-radius: 0 !important;
}

/* --- Mobile overrides (Rendez-vous) --- */
@media (max-width: 768px) {
  /* Timeline — distribution uniforme en mobile */
  .timeline-container-full .timeline-progress {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important; /* pas de décalage des ronds */
    padding-right: 0 !important; /* la jauge sera gérée avec left/right en % */
    gap: 0 !important;
    position: relative;
  }

  /* Rendre visible la barre de progression vide (grise) */
  .timeline-container-full .timeline-progress::before,
  .timeline-container-full .timeline-progress::after {
    display: block !important;
    top: 52% !important; /* centre vertical exact */
    left: 10% !important;  /* démarre au centre du rond 1 */
    right: 10% !important; /* termine au centre du rond 5 */
    transform: translateY(-50%) !important;
  }

  /* Les étapes deviennent statiques et centrées dans les cellules */
  .timeline-container-full .timeline-step {
    position: relative !important;
    left: auto !important;
    transform: none !important;
    justify-self: center !important;
  }

  /* Surcharge explicite pour neutraliser les ancres spécifiques 1 et 5 */
  .timeline-container-full .timeline-progress .timeline-step[data-step="1"],
  .timeline-container-full .timeline-progress .timeline-step[data-step="5"] {
    left: auto !important;
    transform: none !important;
  }
  /* Aligner la largeur des sections aux autres cards */
  .rdv-content .content-in,
  .rdv-content .form-section-in,
  .rdv-content .slider_container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  /* Supprimer les largeurs fixes des items de formulaire */
  .rdv-content .form-structure span {
    min-width: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* Grille des marques: 2 par ligne avec gap-2 (~8px) */
  .rdv-content .brand-cards-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important; /* gap-2 */
    width: 100% !important;
    max-width: 100% !important;
    justify-items: stretch;
    align-items: stretch;
  }

  /* Chaque carte remplit sa cellule de grille */
  .rdv-content .brand-card-item {
    width: 100% !important;
    margin: 0 !important;
    justify-self: stretch;
    align-self: stretch;
  }
  .rdv-content .brand-card-content {
    padding: 8px !important;
    width: 100% !important;
  }
  .rdv-content .brand-card-image {
    height: 48px !important;
    width: auto !important;
  }
  .rdv-content .brand-card-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Bouton "Autre": aligner sur la largeur des autres sections */
  .rdv-content .form-step-1-5 .bt_autre_validation {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* "Autre marque" (étape 1-5): input + bouton Valider sur la même ligne */
  .rdv-content .form-step-1-5 .form-section-in > span:has(input[type="text"].marque_autre.it_autre) {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    column-gap: 0 !important; /* fusion visuelle input/bouton */
    align-items: center !important;
    width: 100% !important; /* annule le 600px !important du style global */
    max-width: 100% !important;
  }
  .rdv-content .form-step-1-5 .form-section-in > span:has(input[type="text"].marque_autre.it_autre) label {
    grid-column: 1 / -1 !important;
    margin-bottom: 6px !important;
    width: 100% !important;
  }
  .rdv-content .form-step-1-5 .form-section-in > span:has(input[type="text"].marque_autre.it_autre) input[type="text"] {
    grid-column: 1 !important;
    width: 100% !important; /* remplit la colonne 1fr */
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    height: 32px !important;
  }
  .rdv-content .form-step-1-5 .form-section-in > span:has(input[type="text"].marque_autre.it_autre) .bt_autre_validation {
    grid-column: 2 !important;
    margin-left: 0 !important; /* supprimer le chevauchement */
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 13px !important;
    width: auto !important; /* laisse le texte s'adapter */
    white-space: nowrap !important;
  }

  /* Timeline: éviter le débordement horizontal aux extrémités */
  .timeline-container-full .timeline-step[data-step="1"] {
    left: 0% !important;
    transform: translateX(0) !important; /* ancrer au bord gauche */
  }
  .timeline-container-full .timeline-step[data-step="5"] {
    left: 100% !important;
    transform: translateX(-100%) !important; /* ancrer au bord droit */
  }

  /* Sécurité anti débordement horizontal */
  html, body { overflow-x: hidden; }

  /* Titre H1: réduire la taille pour tenir sur une ligne en mobile */
  .rdv-content .form_title {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /* Timeline sticky sous la navbar (mobile) */
  .timeline-container-full.timeline-sticky {
    position: fixed !important; /* fallback fiable si sticky est cassé par un parent */
    top: 56px !important; /* header-mobile height */
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 900 !important; /* sous le header (1000) */
    background-color: #fff !important;
    border-top: var(--background-color-greyblue) 3px solid;
  }

  /* Réserver l’espace sous la timeline fixée pour éviter le chevauchement du contenu */
  .content.content-part-2.rdv-global {
    padding-top: var(--timeline-mobile-height, 96px) !important; /* approx: 56 + ~40 */
  }

  /* Placeholder du code postal — réduire la taille en mobile */
  #code_postal::placeholder { font-size: 16px !important; }
  #code_postal::-webkit-input-placeholder { font-size: 16px !important; }
  #code_postal::-moz-placeholder { font-size: 16px !important; }
  #code_postal:-ms-input-placeholder { font-size: 16px !important; }
}

/* (Doublon supprimé: ancien bloc var(--autre-button-width)) */