/*
 * VTC Booking - Thème Futuriste (formulaire client)
 * S'applique uniquement lorsque .vtc-booking-container.vtc-style-futuristic est présent.
 * Ne modifie pas le design classique.
 */

.vtc-booking-container.vtc-style-futuristic {
  --vtc-bg: #0f172a;
  --vtc-bg-alt: #1e293b;
  --vtc-text: #e2e8f0;
  --vtc-text-muted: #94a3b8;
  --vtc-border: #334155;
  --vtc-border-focus: #22d3ee;
  --vtc-btn-bg: #0ea5e9;
  --vtc-btn-text: #0f172a;
  --vtc-btn-hover: #38bdf8;
  --vtc-accent: #22d3ee;
  background: linear-gradient(160deg, #0f172a 0%, #1e293b 100%) !important;
  color: #e2e8f0 !important;
  border: 1px solid rgba(34, 211, 238, 0.4);
  box-shadow: 0 0 24px rgba(34, 211, 238, 0.15), 0 4px 24px rgba(0, 0, 0, 0.3);
}

.vtc-booking-container.vtc-style-futuristic h2 {
  color: #f1f5f9;
  text-shadow: 0 0 20px rgba(34, 211, 238, 0.3);
}

/* Étapes de progression - glow cyan */
.vtc-booking-container.vtc-style-futuristic .vtc-step-number {
  background: #1e293b;
  color: #94a3b8;
  border: 1px solid #334155;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.3);
}

.vtc-booking-container.vtc-style-futuristic .vtc-step-active .vtc-step-number,
.vtc-booking-container.vtc-style-futuristic .vtc-step-completed .vtc-step-number {
  background: #0ea5e9;
  color: #0f172a;
  border-color: #22d3ee;
  box-shadow: 0 0 16px rgba(34, 211, 238, 0.6), inset 0 0 12px rgba(255, 255, 255, 0.1);
}

.vtc-booking-container.vtc-style-futuristic .vtc-step-active .vtc-step-label {
  color: #22d3ee;
}

.vtc-booking-container.vtc-style-futuristic .vtc-step-line {
  background: #334155;
}

.vtc-booking-container.vtc-style-futuristic .vtc-step-completed ~ .vtc-step-line {
  background: linear-gradient(90deg, #22d3ee, #334155);
}

/* Cartes et champs */
.vtc-booking-container.vtc-style-futuristic .vtc-card label,
.vtc-booking-container.vtc-style-futuristic .vtc-card label i {
  color: #e2e8f0;
}

.vtc-booking-container.vtc-style-futuristic .vtc-card input,
.vtc-booking-container.vtc-style-futuristic .vtc-card select,
.vtc-booking-container.vtc-style-futuristic .vtc-card textarea {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid #334155;
  color: #e2e8f0;
}

.vtc-booking-container.vtc-style-futuristic .vtc-card input::placeholder,
.vtc-booking-container.vtc-style-futuristic .vtc-card textarea::placeholder {
  color: #64748b;
}

.vtc-booking-container.vtc-style-futuristic .vtc-card input:focus,
.vtc-booking-container.vtc-style-futuristic .vtc-card select:focus,
.vtc-booking-container.vtc-style-futuristic .vtc-card textarea:focus {
  border-color: #22d3ee;
  box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.25), 0 0 20px rgba(34, 211, 238, 0.15);
}

/* Heure de retour : même style que les autres champs */
.vtc-booking-container.vtc-style-futuristic .vtc-return-time-wrapper .vtc-return-time-label {
  color: #e2e8f0;
}

.vtc-booking-container.vtc-style-futuristic .vtc-return-time-input {
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid #334155;
  color: #e2e8f0;
}

.vtc-booking-container.vtc-style-futuristic .vtc-return-time-input::placeholder {
  color: #64748b;
}

.vtc-booking-container.vtc-style-futuristic .vtc-return-time-input:focus {
  border-color: #22d3ee;
  box-shadow: 0 0 0 2px rgba(34, 211, 238, 0.25), 0 0 20px rgba(34, 211, 238, 0.15);
}

.vtc-booking-container.vtc-style-futuristic .vtc-return-time-wrapper .vtc-field-hint {
  color: #94a3b8;
}

/* Sélecteur véhicule */
.vtc-booking-container.vtc-style-futuristic .vtc-vehicle-select {
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid #334155;
  color: #e2e8f0;
}

/* Compteurs + / - */
.vtc-booking-container.vtc-style-futuristic .vtc-counter-btn {
  background: #1e293b !important;
  border: 1px solid #334155 !important;
  color: #22d3ee !important;
}

.vtc-booking-container.vtc-style-futuristic .vtc-counter-btn:hover {
  background: #334155 !important;
  border-color: #22d3ee !important;
  box-shadow: 0 0 12px rgba(34, 211, 238, 0.3);
}

.vtc-booking-container.vtc-style-futuristic .vtc-counter-wrapper {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid #334155;
}

.vtc-booking-container.vtc-style-futuristic .vtc-counter-value {
  color: #e2e8f0;
}

/* Onglets Trajet / Aller-retour / MAD */
.vtc-booking-container.vtc-style-futuristic .vtc-tabs-bar {
  background: #1e293b;
  border: 1px solid #334155;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.2);
}

.vtc-booking-container.vtc-style-futuristic .vtc-tab-label {
  color: #94a3b8;
}

.vtc-booking-container.vtc-style-futuristic .vtc-tab:has(input:checked) .vtc-tab-label {
  background: rgba(34, 211, 238, 0.15);
  color: #22d3ee;
  border: 1px solid rgba(34, 211, 238, 0.4);
  box-shadow: 0 0 16px rgba(34, 211, 238, 0.2);
}

/* Boutons principaux */
.vtc-booking-container.vtc-style-futuristic #vtc-calc-button,
.vtc-booking-container.vtc-style-futuristic .vtc-button-gradient,
.vtc-booking-container.vtc-style-futuristic #vtc-continue-button,
.vtc-booking-container.vtc-style-futuristic .vtc-button.vtc-reserve {
  background: #0ea5e9 !important;
  color: #0f172a !important;
  border: 1px solid #22d3ee !important;
  box-shadow: 0 0 20px rgba(34, 211, 238, 0.4);
}

.vtc-booking-container.vtc-style-futuristic #vtc-calc-button:hover,
.vtc-booking-container.vtc-style-futuristic .vtc-button-gradient:hover,
.vtc-booking-container.vtc-style-futuristic #vtc-continue-button:hover,
.vtc-booking-container.vtc-style-futuristic .vtc-button.vtc-reserve:hover {
  background: #38bdf8 !important;
  box-shadow: 0 0 28px rgba(34, 211, 238, 0.5);
}

/* Carte tarif / résultat */
.vtc-booking-container.vtc-style-futuristic .vtc-tarif-card {
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid #334155;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2), inset 0 0 20px rgba(34, 211, 238, 0.05);
}

.vtc-booking-container.vtc-style-futuristic .vtc-tarif-badge {
  background: rgba(34, 211, 238, 0.2);
  color: #22d3ee;
}

.vtc-booking-container.vtc-style-futuristic .vtc-tarif-value {
  color: #22d3ee;
  text-shadow: 0 0 20px rgba(34, 211, 238, 0.4);
}

.vtc-booking-container.vtc-style-futuristic #resultat {
  color: #e2e8f0;
}

/* Carte itinéraire */
.vtc-booking-container.vtc-style-futuristic .vtc-route-map {
  border: 1px solid #334155;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.3), inset 0 0 20px rgba(34, 211, 238, 0.05);
}

/* Résumé */
.vtc-booking-container.vtc-style-futuristic .vtc-summary {
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid #334155;
}

.vtc-booking-container.vtc-style-futuristic .vtc-summary h3 {
  color: #f1f5f9;
}

/* Résumé aller-retour (badge) */
.vtc-booking-container.vtc-style-futuristic .vtc-summary-return {
  background: rgba(34, 211, 238, 0.15);
  border: 1px solid rgba(34, 211, 238, 0.4);
  color: #22d3ee;
}

.vtc-booking-container.vtc-style-futuristic .vtc-summary-return-icon {
  color: #22d3ee;
}

/* Récapitulatif avant envoi */
.vtc-booking-container.vtc-style-futuristic .vtc-recap-section .vtc-recap-card {
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid #334155;
}

.vtc-booking-container.vtc-style-futuristic .vtc-recap-tarif-value {
  color: #22d3ee;
}

/* Autocomplete BAN */
.vtc-booking-container.vtc-style-futuristic .vtc-ban-autocomplete-list {
  background: #1e293b;
  border: 1px solid #334155;
  border-top: none;
}

.vtc-booking-container.vtc-style-futuristic .vtc-ban-autocomplete-item {
  color: #e2e8f0;
  border-bottom-color: #334155;
}

.vtc-booking-container.vtc-style-futuristic .vtc-ban-autocomplete-item:hover {
  background: rgba(34, 211, 238, 0.1);
  color: #22d3ee;
}

/* Bouton géoloc */
.vtc-booking-container.vtc-style-futuristic .vtc-geoloc-btn {
  background: #1e293b !important;
  border: 1px solid #334155 !important;
  color: #22d3ee !important;
}

.vtc-booking-container.vtc-style-futuristic .vtc-geoloc-btn:hover {
  border-color: #22d3ee !important;
  box-shadow: 0 0 12px rgba(34, 211, 238, 0.3);
}

.vtc-booking-container.vtc-style-futuristic .vtc-geoloc-success {
  background: #0ea5e9 !important;
  border-color: #22d3ee !important;
  color: #0f172a !important;
}

/* Messages */
.vtc-booking-container.vtc-style-futuristic .vtc-success {
  background: rgba(34, 211, 238, 0.1);
  border-color: rgba(34, 211, 238, 0.4);
  color: #e2e8f0;
}

.vtc-booking-container.vtc-style-futuristic .vtc-error {
  background: rgba(248, 113, 113, 0.1);
  border-color: rgba(248, 113, 113, 0.4);
  color: #fecaca;
}

/* Loader */
.vtc-booking-container.vtc-style-futuristic .vtc-loader {
  border-color: #334155;
  border-top-color: #22d3ee;
}

/* Options passagers / bagages (boutons actifs) */
.vtc-booking-container.vtc-style-futuristic .vtc-options button.active {
  background: #0ea5e9;
  border-color: #22d3ee;
  color: #0f172a;
  box-shadow: 0 0 12px rgba(34, 211, 238, 0.3);
}

.vtc-booking-container.vtc-style-futuristic .vtc-options button {
  background: #1e293b;
  border: 1px solid #334155;
  color: #94a3b8;
}

.vtc-booking-container.vtc-style-futuristic .vtc-options button:hover {
  border-color: #22d3ee;
  color: #e2e8f0;
}
