/* ==========================================
   1. DÉSACTIVER L'INFOBULLE PAR DÉFAUT (JS/TIPPY)
   ========================================== */
.tippy-box,
div[data-tippy-root],
.tippy-popper,
.tippy-tooltip,
.fluentform-tooltip,
.ff_tooltip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   2. NEUTRALISATION DES CONTENEURS PARASITES FLUENT FORMS
   ========================================================================== */
.ff-el-group {
  margin-bottom: 15px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ff-el-group:has(#recommandation-duree),
.ff-el-group:has(#recommandation-duree-gt),
.ff-el-group:has(#recommandation-duree-sud),
.ff-el-group:has(#recommandation-duree-ville) {
  padding: 0 !important;
  margin-bottom: 10px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   3. STRUCTURE ET DISPOSITION DES CARTES CLIQUABLES
   ========================================================================== */
.carte-cliquable .ff-el-form-check,
.carte-cliquable .ff_el_checkable_photo {
  padding: 20px !important;
  width: 22% !important;
  margin: 0 1% !important;
  border: 1px solid var(--primary-border) !important;
  border-radius: var(--border-radius) !important;
  background-color: var(--bg-card) !important;
  box-shadow: var(--box-shadow-sm) !important;
  transition: all 0.25s ease-in-out !important;
  cursor: pointer !important;
  position: relative !important;
}

.carte-cliquable .ff-el-image-input-src {
  text-align: center !important;
  width: 100% !important;
}

.carte-cliquable {
  margin: 1rem 0 3rem 0 !important;
}

.carte-cliquable .card-content {
  padding: 10px 0 !important;
  text-align: left !important;
}

/* ==========================================================================
   4. TYPOGRAPHIE ET TEXTES (TITRE & DESCRIPTION)
   ========================================================================== */
.carte-cliquable .card-title,
.carte-cliquable .card-content strong {
  display: block !important;
  transition: color 0.25s ease-in-out !important;
}

strong.card-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--color-blue-dark) !important;
  line-height: 1.1em !important;
  text-transform: uppercase !important;
}

small.card-desc {
  display: block !important;
  font-size: 14px !important;
  color: var(--color-blue-dark) !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}

/* ==========================================================================
   5. MASQUAGE DES BOUTONS NATIVE (RADIO / CHECKBOX)
   ========================================================================== */
.carte-cliquable input[type="radio"],
.carte-cliquable input[type="checkbox"],
.carte-cliquable .ff-el-form-check-input,
.carte-cliquable .ff_el_checkable_photo input,
.carte-cliquable .ff-el-form-check-radio {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  position: absolute !important;
}

/* ==========================================================================
   6. ÉTATS HOVER & SELECTION (ACTIVE)
   ========================================================================== */

/* Survol (Hover) */
.carte-cliquable .ff-el-form-check:hover,
.carte-cliquable .ff_el_checkable_photo:hover {
  border-color: var(--primary-hover) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0px 6px 16px color-mix(in srgb, var(--primary-color) 12%, transparent) !important;
}

/* Carte sélectionnée (Checked) */
.carte-cliquable .ff-el-form-check:has(input:checked),
.carte-cliquable .ff_el_checkable_photo:has(input:checked),
.carte-cliquable .ff_el_photo_selected {
  border-color: var(--primary-color) !important;
  background-color: var(--primary-light) !important;
  box-shadow: 0px 0px 0px 2px color-mix(in srgb, var(--primary-color) 20%, transparent) !important;
  transform: translateY(-2px) !important;
}

/* Titre sur la carte sélectionnée */
.carte-cliquable .ff-el-form-check:has(input:checked) .card-title,
.carte-cliquable .ff-el-form-check:has(input:checked) .card-content strong,
.carte-cliquable .ff_el_photo_selected .card-title,
.carte-cliquable .ff_el_photo_selected .card-content strong {
  color: var(--primary-color) !important;
}

/* ==========================================================================
   7. BLOC MESSAGE DE RECOMMANDATION (DÉLAIS / CONSEILS)
   ========================================================================== */
.message_delais {
  display: none;
  background-color: var(--bg-section) !important;
  color: var(--color-blue-dark) !important;
  padding: 14px 18px !important;
  border-left: 4px solid var(--primary-color) !important;
  border-radius: var(--border-radius) !important;
  margin: 18px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#recommandation-duree,
#recommandation-duree-gt,
#recommandation-duree-sud,
#recommandation-duree-ville {
  background-color: var(--primary-light) !important;
  border: 1px solid var(--primary-border) !important;
  border-left: 4px solid var(--primary-color) !important;
  border-radius: var(--border-radius) !important;
  padding: 12px 16px !important;
  margin: 10px 0 20px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--color-blue-dark) !important;
  box-shadow: none !important;
}

/* Alerte spéciale en cas d'atteinte de la limite du Visa (30 jours) */
.warning-visa-limit {
  color: var(--warning-color) !important;
  background-color: var(--warning-bg) !important;
  border: 1px solid var(--warning-border) !important;
  padding: 6px 10px !important;
  display: inline-block !important;
  border-radius: var(--radius-sm, 6px) !important;
  margin-top: 8px !important;
}

.message_delais strong,
[id^="recommandation-duree"] strong {
  font-size: inherit !important;
}

.ff-el-input--content .center {
  text-align: center !important;
}

.ff-el-help-message {
  font-size: 0.74rem !important;
  line-height: 1.3em !important;
}

/* Section "STYLE DES TOOLTIPS BORDEAUX" (.fluent_form_4, palette Bordeaux
   #70111A/#4A0B11 sans rapport avec la charte du site) retirée le 2026-09-23 :
   simulateur.css n'est chargé que sur les pages simulateur/simulateur-prix/
   devis (cf. mawin_enqueue_simulateur_scripts() dans functions.php), et le
   formulaire #4 (Prestataire: Guide Accompagnateur, cf.
   promotion-ops-bridge.php) n'y est jamais embarqué — code mort sur toute
   page où ce fichier se charge. Original conservé dans .backups/.