/* Boutons personnalisés alignés avec Forminator */
.vtc-current-location-btn,
.vtc-estimer-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  color: #fff;
  background: #2c7be5; /* couleur principale de ta charte */
  transition: background .2s ease, opacity .2s ease;
  margin-top: 8px;
}

.vtc-current-location-btn:hover,
.vtc-estimer-btn:hover {
  background: #1b6ad6; /* variante hover */
}

.vtc-current-location-btn:disabled,
.vtc-estimer-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* Loader animé (3 points pulsants) */
.vtc-loader {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  position: relative;
  display: inline-block;
}
.vtc-loader::before,
.vtc-loader::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.6);
  animation: vtc-pulse 1s infinite ease-in-out;
}
.vtc-loader::before { left: -16px; animation-delay: .2s; }
.vtc-loader::after { left: 16px; animation-delay: .4s; }

@keyframes vtc-pulse {
  0%, 100% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.3); opacity: 1; }
}

/* Ligne de statut sous les champs */
.vtc-status {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #4b5563;
}

.vtc-status--success { color: #0f766e; }
.vtc-status--error { color: #b91c1c; }

/* Note rassurante en bas du formulaire */
.vtc-note {
  margin-top: 12px;
  font-size: 14px;
  color: #374151;
  font-style: italic;
}
/* Bloc descriptif du formulaire VTC Angers */ 
.vtc-form-description { 
flex: 0 0 100%;
max-width: 100%;
background-color: #1B2631; /* bleu nuit, secondaire premium */ 
border-left: 4px solid #2ECC71; /* accent vert émeraude signature */ 
padding: 20px; 
margin-bottom: 25px; 
border-radius: 6px; 
font-family: 'Lato', 'Open Sans', Arial, sans-serif; /* texte long */ 
color: #F8F8F8; /* blanc cassé pour contraste sur fond sombre */ 
line-height: 1.7; 
} 
/* Titre généré par Forminator (label) */ 
.forminator-label { 
font-family: 'Montserrat', sans-serif; /* police premium */ 
font-size: 1.4rem; 
font-weight: 600; 
color: #C0C0C0; /* argent métallisé pour accent moderne */ 
margin-bottom: 12px; 
display: block; 
} 
/* Paragraphes */ 
.vtc-form-description p { 
margin: 10px 0; 
font-size: 1rem; 
} 
/* Note / astuce */ 
.vtc-form-description .note { 
font-size: 0.95rem; 
color: #2ECC71; /* vert émeraude pour attirer l’œil */ 
font-style: italic; 
} 
.forminator-row .forminator-field-html { 
width: 100%; 
display: block; /* force le bloc à se comporter comme un élément de ligne */ 
}
.vtc-description-block { 
width: 100%; 
display: block; 
margin-bottom: 20px; 
}
/* Cibler la row qui contient le champ html-4 */ 
#forminator-module-1448 [data-step="1"] .forminator-row:has(#html-4) { 
flex: 0 0 100% !important; 
max-width: 100% !important; 
order: -1; /* toujours en haut */ 
margin-bottom: 20px; 
}

/* Responsivité */
 @media (max-width: 768px) { 
	.vtc-form-description { 
	padding: 15px; font-size: 0.95rem; 
	} 
	.forminator-label { 
	font-size: 1.2rem; 
	} 
}

/* Bloc estimation avancée */


.vtc-estimation-header {
  font-weight: bold;
  margin-bottom: 10px;
}

.vtc-estimation-line {
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
}

/* Bouton Estimer */
.vtc-estimer-btn {
  margin-top: 15px;
  padding: 10px 20px;
  background-color: #009688; /* vert émeraude */
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight: bold;
  border-radius: 4px;
}
.vtc-estimer-btn:hover {
  background-color: #4caf50; /* vert plus clair */
}

/* Responsive layout: desktop/tablette */
@media (min-width: 768px) {
  #forminator-module-1448 [data-step="1"] .forminator-pagination--content {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
  }
  #forminator-module-1448 [data-step="1"] .forminator-row {
    flex: 1; /* options à gauche */
  }
  
}

/* Mobile: options en haut, estimation en bas */
@media (max-width: 767px) {
  #forminator-module-1448 [data-step="1"] .forminator-pagination--content {
    display: block;
  }
  
}
.vtc-card {
  background: #f9f9f9;
  border: 2px solid #004080; /* couleur charte */
  border-radius: 8px;
  padding: 20px;
  margin-top: 20px;
  font-family: 'Open Sans', sans-serif;
}

.vtc-recap h3 {
  color: #004080;
  margin-bottom: 10px;
}

.vtc-recap-intro {
  font-size: 14px;
  margin-bottom: 15px;
  color: #333;
}

.vtc-recap-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
}

.vtc-recap-footer {
  margin-top: 15px;
  font-size: 13px;
  color: #555;
}

/* Liste de suggestions pour l'autocomplete */
.forminator-input--wrap {
  position: relative;
}
.vtc-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 250px;
  overflow-y: auto;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.vtc-suggestions li {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
}

.vtc-suggestions li:hover {
  background: #f0f0f0;
}
/* Bloc estimation : carte + infos */
.vtc-estimation-advanced {
  background: #fff;
  border: 1px solid #ddd;
  padding: 15px;
  margin-top: 20px;
  display: flex;
  flex-direction: column; 
  gap: 20px;
}

#forminator-custom-form-2735--page-1 .forminator-pagination--content > .forminator-row {
  display: flex;
  flex-direction: column;
}