/**
 * 👑 CSS CHARLEMAGNE LOCATION — PREMIUM CLASSE (v2.0)
 * ====================================================
 * Inspiré du style Sixt.fr : épuré, premium, professionnel
 * Palette tirée du logo Charlemagne : orange couronne + brun royal
 * Structure compatible VikRentCar / wp_adventures_theme
 *
 * @author    Baptiste DAVID — A.D.K.
 * @client    Charlemagne Location (SIREN : 989 272 398)
 * @date      12 février 2026
 * @version   2.0 — Premium Classe
 */

/* ================================================
   0) FONTS & ICONS
   ================================================ */
/* IMPORTANT : les @import ne fonctionnent pas dans le Customizer WP.
   Charger les fonts via functions.php du thème enfant :

   function charlemagne_enqueue_fonts() {
       wp_enqueue_style('charlemagne-google-fonts',
           'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap',
           array(), null);
       wp_enqueue_style('charlemagne-fontawesome',
           'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css',
           array(), null);
   }
   add_action('wp_enqueue_scripts', 'charlemagne_enqueue_fonts');
*/

/* ================================================
   1) TOKENS — PALETTE CHARLEMAGNE PREMIUM
   ================================================ */
:root {
  /* ── Couleurs du logo ── */
  --cl-orange:        #FF8C00;
  --cl-orange-dark:   #D47000;
  --cl-orange-hover:  #E67E00;
  --cl-orange-light:  #FFA533;

  --cl-brown:         #4A3428;
  --cl-brown-light:   #6B4E3D;
  --cl-brown-dark:    #2C1810;

  /* ── Accents premium ── */
  --cl-gold:          #D4AF37;
  --cl-gold-light:    #E8C95A;

  /* ── Neutres (inspiration Sixt) ── */
  --cl-white:         #FFFFFF;
  --cl-snow:          #FAFAFA;
  --cl-gray-50:       #F8F8F8;
  --cl-gray-100:      #F2F2F2;
  --cl-gray-200:      #E8E8E8;
  --cl-gray-300:      #D1D1D1;
  --cl-gray-500:      #8C8C8C;
  --cl-gray-700:      #555555;
  --cl-gray-900:      #1A1A1A;

  /* ── Dégradés ── */
  --grad-orange:      linear-gradient(135deg, var(--cl-orange-dark) 0%, var(--cl-orange) 50%, var(--cl-orange-light) 100%);
  --grad-cta:         linear-gradient(135deg, var(--cl-orange) 0%, var(--cl-orange-light) 100%);
  --grad-dark:        linear-gradient(180deg, var(--cl-brown-dark) 0%, #0D0907 100%);
  --grad-subtle:      linear-gradient(180deg, var(--cl-snow) 0%, var(--cl-white) 100%);

  /* ── Typographie ── */
  --font-heading:     'Montserrat', 'Helvetica Neue', sans-serif;
  --font-body:        'Inter', 'Helvetica Neue', sans-serif;

  /* ── Arrondis ── */
  --r-xs:   6px;
  --r-sm:   8px;
  --r-md:   12px;
  --r-lg:   16px;
  --r-xl:   24px;
  --r-pill: 999px;

  /* ── Transitions ── */
  --ease:   cubic-bezier(0.4, 0, 0.2, 1);
  --t-fast: 150ms;
  --t-med:  250ms;
  --t-slow: 400ms;

  /* ── Ombres (subtiles, style Sixt) ── */
  --sh-xs:    0 1px 3px rgba(0,0,0,.04);
  --sh-sm:    0 2px 8px rgba(0,0,0,.06);
  --sh-md:    0 4px 20px rgba(0,0,0,.08);
  --sh-lg:    0 8px 40px rgba(0,0,0,.10);
  --sh-xl:    0 16px 60px rgba(0,0,0,.12);
  --sh-orange: 0 6px 24px rgba(255,140,0,.18);

  /* ── Compatibilité Tropicar (HTML hérité) ── */
  --tropicar-orange:  var(--cl-orange);
  --orange-hover:     var(--cl-orange-hover);
  --tropicar-green:   #2E8B57;
  --tropicar-blue:    var(--cl-orange);
  --tropicar-gold:    var(--cl-gold);
  --font-title:       var(--font-heading);
  --transition-smooth: var(--ease);
  --transition-bounce: var(--ease);
}


/* Icones FA fantomes (inline font-size:0 de VikRentCar) — masquage global */
i.fa-shield-alt,
i.fa-road,
i.fa-headset,
i.fa-lock {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ================================================
   2) RESET & BASE GLOBALE
   ================================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--cl-gray-900);
  background: var(--cl-white);
  margin: 0;
}

a {
  color: var(--cl-brown);
  text-decoration: none;
  transition: color var(--t-fast) var(--ease);
}
a:hover {
  color: var(--cl-orange);
}

::selection {
  background: rgba(255, 140, 0, .15);
  color: var(--cl-brown-dark);
}

img {
  max-width: 100%;
  height: auto;
}

/* Focus accessible */
*:focus-visible {
  outline: 2px solid var(--cl-orange);
  outline-offset: 2px;
  border-radius: var(--r-xs);
}


/* ================================================
   3) TYPOGRAPHIE — PREMIUM CLEAN
   ================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--cl-brown);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.15;
  text-align: center;
  margin: 32px 0 16px;
}

h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 900;
  letter-spacing: 1px;
  color: var(--cl-brown-dark);
  position: relative;
}

/* Trait décoratif sous les H1 — remplace la couronne emoji */
h1::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 14px auto 0;
}

h2 {
  font-size: clamp(1.4rem, 3vw, 2.1rem);
  color: var(--cl-brown);
  letter-spacing: 0.8px;
}

h3 {
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  font-weight: 700;
}

h4 {
  font-size: 1.3rem;
  font-weight: 700;
}

h5 { font-size: 1.15rem; font-weight: 600; }
h6 { font-size: 1rem; font-weight: 600; }

p {
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--cl-gray-700);
  text-align: center;
  margin: 0 0 16px;
}


/* ================================================
   3b) CAROUSEL / SLIDER — TITRES
   ================================================ */
/* Les slides utilisent h1, h2, h3 ET des balises h invalides.
   On cible .slide-text h pour que ces elements aient le meme rendu. */
.slide-text h1,
.slide-text h2,
.slide-text h3,
.slide-text h4,
.slide-text h5,
.slide-text h6,
.slide-text h {
  display: block;
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(1.6rem, 4.5vw, 3rem);
  color: var(--cl-white);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1.1;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
  margin: 0 0 12px;
  text-align: center;
}

/* Désactiver le trait décoratif ::after sur les titres du carousel */
.slide-text h1::after {
  display: none;
}

.slide-text p,
.slide-text .vikcs-desc {
  color: rgba(255,255,255,.9);
  font-size: clamp(1rem, 2vw, 1.2rem);
  text-shadow: 0 1px 6px rgba(0,0,0,.35);
}

.slide-text .btn.btn-default {
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  border: 2px solid var(--cl-white);
  border-radius: var(--r-sm);
  background: var(--cl-orange);
  color: var(--cl-white) !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: var(--sh-orange);
  transition: background var(--t-med) var(--ease),
              transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease);
}

.slide-text .btn.btn-default:hover {
  background: var(--cl-orange-dark);
  border-color: var(--cl-orange);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,140,0,.30);
}


/* ================================================
   4) NAVIGATION — HEADER CLEAN
   ================================================ */

/* ── Logo Header — V4 BULLETPROOF ────────────────────────────────
   Override TOUTES les règles du parent (layout.css, themekit.css, responsive_device.css)
   Les sélecteurs sont volontairement sur-spécifiques pour tout écraser.
   ─────────────────────────────────────────────────────────────── */

/* 1. Conteneur du menu : hauteur augmentée pour logo XXL */
.logomenupart,
.logomenupart.e4j-mainmenu,
.headt-part .logomenupart,
.head-slider-enabled .logomenupart,
.head-slider-disabled .logomenupart {
  min-height: 160px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* 2. Conteneur du logo : passe de 20% (parent) à 35% */
#tbar-logo,
#tbar-logo.logo-center,
.headt-part #tbar-logo,
.headt-part #tbar-logo.logo-center,
.logomenu-cnt #tbar-logo,
.logomenu-cnt #tbar-logo.logo-center,
.logomenu-cnt.main-menu-cnt #tbar-logo,
.logomenu-cnt.main-menu-cnt #tbar-logo.logo-center {
  width: 35% !important;
  max-width: 280px !important;
  min-width: 100px !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
  float: left !important;
  display: flex !important;
  align-items: center !important;
}

/* 3. Image du logo : 250px en desktop — bien visible */
#tbar-logo img,
#tbar-logo a img,
#tbar-logo.logo-center img,
#tbar-logo.logo-center a img,
.headt-part #tbar-logo img,
.headt-part #tbar-logo a img,
.logomenu-cnt #tbar-logo img,
.logomenu-cnt #tbar-logo a img {
  max-height: 250px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: none !important;
}

/* ── Sticky Header (après scroll) ─────────────────────────────── */

/* 4. Conteneur sticky : même hauteur que le header normal */
.logomenupart.fx-menu-slide,
.fx-menu-slide,
.headfixed .headt-part .fx-menu-slide {
  min-height: 160px !important;
  border-bottom: 2px solid var(--cl-orange, #FF8C00) !important;
}

/* 5. Correction margin du logomenu-cnt dans sticky (themekit met margin-top:20px) */
.fx-menu-slide .logomenu-cnt,
.fx-menu-slide .logomenu-cnt.main-menu-cnt {
  margin: 0 !important;
}

/* 6. Logo dans sticky : marges réduites */
.fx-menu-slide #tbar-logo,
.fx-menu-slide #tbar-logo.logo-center,
.headfixed .headt-part .fx-menu-slide #tbar-logo,
.headfixed .headt-part .fx-menu-slide #tbar-logo.logo-center {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

/* 7. Image logo dans sticky : MÊME TAILLE + VISIBLE sur fond noir
      → brightness(2.2) éclaircit le brun foncé (#4A3428) pour qu'il ressorte sur #000
      → L'orange de la couronne reste vibrant
      → Pas de réduction de taille au scroll */
.fx-menu-slide #tbar-logo img,
.fx-menu-slide #tbar-logo a img,
.fx-menu-slide #tbar-logo.logo-center img,
.fx-menu-slide #tbar-logo.logo-center a img,
.headfixed .headt-part .fx-menu-slide #tbar-logo img,
.headfixed .headt-part .fx-menu-slide #tbar-logo a img {
  max-height: 250px !important;
  width: auto !important;
  filter: none !important;
}

/* Alignement menu principal (hérité de la structure WP) */
#menu-main-menu-sample-vikwp {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

#menu-main-menu-sample-vikwp li {
  display: flex;
  align-items: center;
}

#menu-main-menu-right-sample-vikwp {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}

#menu-main-menu-right-sample-vikwp li {
  display: flex;
  align-items: center;
}

.logo-align-cnt {
  display: flex;
  justify-content: center;
  width: 100%;
}

.nav.menu li > div > a {
  white-space: nowrap;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--cl-brown);
  padding: 8px 16px;
  border-radius: var(--r-sm);
  transition: color var(--t-fast) var(--ease),
              background var(--t-fast) var(--ease);
}

.nav.menu li > div > a:hover,
.nav.menu li.current-menu-item > div > a {
  color: var(--cl-orange);
  background: rgba(255, 140, 0, .06);
}


/* ================================================
   5) BOUTONS — CTA PREMIUM
   ================================================ */

/* Bouton "Réservez maintenant" (header) */
.linkmenu-alt > div > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border: none;
  border-radius: var(--r-sm);
  background: var(--cl-orange);
  color: var(--cl-white) !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: var(--sh-orange);
  transition: background var(--t-med) var(--ease),
              transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease);
  text-decoration: none;
}

.linkmenu-alt > div > a:hover,
.linkmenu-alt > div > a:focus {
  background: var(--cl-orange-dark);
  color: var(--cl-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,140,0,.25);
  text-decoration: none;
}

/* Boutons globaux (CTA) */
.charlemagne-btn,
.tropicar-btn,
button[type="submit"],
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: 14px 32px;
  border: none;
  border-radius: var(--r-sm);
  background: var(--cl-orange);
  color: var(--cl-white) !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: var(--sh-orange);
  cursor: pointer;
  transition: background var(--t-med) var(--ease),
              transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease);
}

.charlemagne-btn:hover,
.tropicar-btn:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover {
  background: var(--cl-orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(255,140,0,.25);
  text-decoration: none;
}

/* Bouton secondaire (outline) */
.charlemagne-btn-outline,
.tropicar-btn-outline,
.btn-secondary {
  background: transparent;
  color: var(--cl-orange);
  border: 2px solid var(--cl-orange);
  border-radius: var(--r-sm);
  padding: 12px 28px;
  font-family: var(--font-heading);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  transition: background var(--t-med) var(--ease),
              color var(--t-fast) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease);
}

.charlemagne-btn-outline:hover,
.tropicar-btn-outline:hover,
.btn-secondary:hover {
  background: var(--cl-orange);
  color: var(--cl-white);
  transform: translateY(-2px);
  box-shadow: var(--sh-orange);
}


/* ================================================
   6) FORMULAIRE DE RECHERCHE VIKRENTCAR (style Sixt)
   ================================================ */

/* ── Container global ── */
.bottomsearch.h-search {
  background: var(--cl-gray-50);
  padding: 36px 16px 44px;
  margin: 0;
  position: relative;
}

/* ── Widget card — Sixt : blanc, ombre douce, pas de bordure lourde ── */
.h-search-inner .widget {
  background: var(--cl-white);
  border-radius: var(--r-lg);
  width: 100%;
  max-width: 960px;
  padding: 0;
  margin: 0 auto;
  box-shadow: 0 2px 20px rgba(0,0,0,.07), 0 0 0 1px rgba(0,0,0,.03);
  border: none;
  position: relative;
  overflow: visible;
}

/* ── Titre widget — compact, aligne a gauche, tab Sixt ── */
.h-search-inner .widget h3.widget-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .95rem;
  color: var(--cl-brown-dark);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: left;
  margin: 0;
  padding: 18px 28px 14px;
  border-bottom: 1px solid var(--cl-gray-100);
  position: relative;
}

/* Accent orange sous le titre — style onglet actif Sixt */
.h-search-inner .widget h3.widget-title::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 28px;
  width: 48px;
  height: 3px;
  background: var(--cl-orange);
  border-radius: 3px 3px 0 0;
}

/* ── Contenu formulaire — flex container Sixt ── */
.h-search-inner .widget form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
  padding: 20px 28px 24px;
}

.h-search-inner .widget > div:not(.widget-title) {
  padding: 20px 28px 24px;
}

/* Pickup et Dates prennent toute la largeur */
.vrc-searchmod-section-pickup,
.vrc-searchmod-section-datetimes {
  flex: 0 0 100%;
}

/* ── Labels — petits, gris, style Sixt ── */
.vrcsfentrycont label {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .72rem;
  color: var(--cl-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 4px;
  display: block;
}

/* ── Sections du formulaire ── */
.vrc-searchmod-section-pickup,
.vrc-searchmod-section-datetimes,
.vrc-searchmod-section-categories {
  margin-bottom: 0;
}

/* Section lieu de prise en charge */
.vrc-searchmod-section-pickup {
  margin-bottom: 14px;
}

/* ── Section DATES — grille 2 colonnes Sixt ── */
.vrc-searchmod-section-datetimes {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 0;
  border: 1px solid var(--cl-gray-200);
  border-radius: var(--r-sm);
  overflow: hidden;
  margin-bottom: 14px;
  border-top: 1px solid var(--cl-gray-200);
  border-bottom: 1px solid var(--cl-gray-200);
}

/* Chaque bloc date = une cellule */
.vrc-searchmod-section-datetimes > .vrcsfentrycont {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end;
  gap: 10px;
  padding: 14px 16px;
  margin: 0;
  background: var(--cl-white);
  min-height: 80px;
}

/* Separateur vertical entre depart et retour */
.vrc-searchmod-section-datetimes > .vrcsfentrycont:first-child {
  border-right: 1px solid var(--cl-gray-200);
}

/* Bloc date (label + input + icone) */
.vrc-searchmod-section-datetimes .vrcsfentrylabsel {
  flex: 1 1 auto;
  min-width: 0;
}

/* Bloc heure a cote de la date */
.vrc-searchmod-section-datetimes .vrcsfentrytime {
  flex: 0 0 auto;
  min-width: 0;
}

/* Date input + icone en ligne */
.vrc-searchmod-section-datetimes .vrcsfentrydate {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Time selects en ligne */
.vrc-sf-time-container {
  display: inline-flex !important;
  align-items: center;
  gap: 1px;
}

/* ── Section CATEGORIE + BOUTON sur la meme ligne ── */
.vrc-searchmod-section-categories {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 0;
}

.vrc-searchmod-section-categories > .vrcsfentrycont {
  display: flex;
  flex-direction: column;
}

.vrc-searchmod-section-categories .vrcsfentryselect {
  width: 100%;
}

.vrc-searchmod-section-categories .vrcsfentryselect select {
  width: 100%;
  height: 44px !important;
}

/* ── Icone calendrier — accent orange ── */
.vrc-caltrigger {
  color: var(--cl-orange) !important;
  font-size: 1rem;
  cursor: pointer;
  transition: color var(--t-fast) var(--ease);
}

.vrc-caltrigger:hover {
  color: var(--cl-orange-dark) !important;
}

/* Separateur heure ":" */
.vrctimesep {
  font-weight: 600;
  color: var(--cl-gray-300);
  font-size: 1rem;
  padding: 0 1px;
}

/* ── Champs inputs — style Sixt propre et unifie ── */
.vrcsfentryselect select,
.vrc-sf-time-container select {
  height: 44px !important;
  font-family: var(--font-body);
  font-size: .9rem !important;
  font-weight: 500;
  padding: 8px 10px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-xs);
  background: var(--cl-white);
  color: var(--cl-gray-900);
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

/* Selects heure plus compacts */
.vrc-sf-time-container select {
  height: 40px !important;
  padding: 6px 8px !important;
  font-size: .85rem !important;
  min-width: 52px;
}

/* Lieu de prise en charge / retour */
#modplace,
#modreturnplace {
  height: 48px !important;
  font-family: var(--font-body);
  font-size: 1rem !important;
  font-weight: 500;
  padding: 10px 14px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-sm);
  background: var(--cl-white);
  color: var(--cl-gray-900);
  width: 100%;
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

/* Focus state — halo orange subtil (Sixt) */
.vrcsfentryselect select:focus,
.vrc-sf-time-container select:focus,
#modplace:focus,
#modreturnplace:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.08) !important;
  outline: none;
}

/* Date picker input */
.vrcsfentrydate input[type="text"].hasDatepicker {
  width: 115px !important;
  min-width: 115px !important;
  max-width: 130px !important;
  height: 44px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-xs) !important;
  padding: 8px 10px !important;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  color: var(--cl-gray-900);
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

.vrcsfentrydate input[type="text"].hasDatepicker:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.08) !important;
  outline: none;
}

/* ── Bouton RECHERCHE — aligne avec le select categorie ── */
.vrc-searchmod-section-sbmt {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  align-self: flex-end;
}

.vrc-searchmod-section-sbmt .vrcsfentrycont {
  margin: 0;
}

.vrcsfentrysubmit {
  display: flex;
  align-items: flex-end;
}

.vrcsfentrysubmit button.vrcsearch {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  font-size: 0 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background var(--t-fast) var(--ease),
              box-shadow var(--t-med) var(--ease) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.vrcsfentrysubmit button.vrcsearch:hover {
  background: var(--cl-orange-dark) !important;
  box-shadow: 0 4px 16px rgba(255,140,0,.22) !important;
}

.vrcsfentrysubmit button.vrcsearch:active {
  transform: scale(.97) !important;
}

.vrcsfentrysubmit button.vrcsearch i {
  font-size: 1.1rem !important;
  line-height: 1 !important;
}

/* Checkbox / radio dans les options */
.charlemagne-option input[type="checkbox"],
.charlemagne-option input[type="radio"],
.tropicar-option input[type="checkbox"],
.tropicar-option input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  accent-color: var(--cl-orange);
}


/* ================================================
   6b) FORMULAIRE DE RECHERCHE — PAGE RÉSERVATION
       (pleine page, classes .vrc-searchf-section-*)
       Haute spécificité pour écraser vikrentcar_styles.css
       et reproduire le rendu du widget sidebar Section 6.
   ================================================ */

/* ── Wrapper page — fond gris (scoped via :has pour ne pas
      affecter les pages résultats stylées par Section 9c) ── */
.wrap.plugin-container:has(> .vrcdivsearch) {
  background: var(--cl-gray-50) !important;
  padding: 36px 16px 44px !important;
  max-width: 100% !important;
  font-family: var(--font-body);
  font-size: .92rem;
  line-height: 1.65;
  color: var(--cl-gray-700);
}

/* ── Carte formulaire — override VRC : display:flex → block,
      gray bg → white, padding:15px → 0, border → none ── */
.vrcdivsearch {
  display: block !important;
  background: var(--cl-white) !important;
  border-radius: var(--r-lg) !important;
  width: 100% !important;
  max-width: 960px !important;
  padding: 0 !important;
  margin: 0 auto 24px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,.07),
              0 0 0 1px rgba(0,0,0,.03) !important;
  border: none !important;
  position: relative;
  overflow: visible !important;
}

/* Inner — override VRC flex:1 + display:flex */
.vrcdivsearch > .vrcdivsearch-inner {
  display: block !important;
  flex: unset !important;
  padding: 0 !important;
}

/* ── Form flex container ── */
.vrcdivsearch .vrcdivsearch-inner form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 10px 12px;
  padding: 20px 28px 24px !important;
  width: 100%;
}

/* ── RESET GLOBAL VRC : écraser les règles .vrcdivsearch
      qui cassent la mise en page (inline-block, margin, etc.) ── */
.vrcdivsearch .vrcsfentrycont > div {
  display: block !important;
  margin: 0 !important;
  vertical-align: baseline !important;
}

.vrcdivsearch .vrcsfentrycont {
  margin: 0 !important;
}

/* Labels — override VRC .vrcdivsearch .vrcsfentrycont label
   (font-size .9em + font-weight normal) */
.vrcdivsearch .vrcsfentrycont label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: .72rem !important;
  color: var(--cl-gray-500) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* ── Section LIEUX ── */
.vrcdivsearch .vrc-searchf-section-locations {
  flex: 0 0 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  margin-bottom: 14px !important;
}

.vrcdivsearch .vrc-searchf-section-locations > .vrcsfentrycont {
  flex: 1 1 45% !important;
  min-width: 200px;
  margin: 0 !important;
}

/* Override VRC first-child margin-right */
.vrcdivsearch .vrc-searchf-section-locations .vrcsfentrycont:first-child {
  margin-right: 0 !important;
}

.vrcdivsearch .vrc-searchf-section-locations .vrcsfentryselect {
  display: block !important;
  width: 100% !important;
}

/* Selects lieu — identiques à #modplace / #modreturnplace */
.vrcdivsearch #place,
.vrcdivsearch #returnplace {
  height: 48px !important;
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 10px 14px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  background: var(--cl-white) !important;
  color: var(--cl-gray-900) !important;
  width: 100% !important;
  line-height: normal !important;
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

.vrcdivsearch #place:focus,
.vrcdivsearch #returnplace:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.08) !important;
  outline: none !important;
}

/* ── Section DATES — override VRC display:flex → grid 2 col ── */
.vrcdivsearch .vrc-searchf-section-datetimes {
  flex: 0 0 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  overflow: hidden !important;
  margin-bottom: 14px !important;
  width: auto !important;
}

/* Override VRC .vrcdivsearch .vrc-searchf-section-datetimes .vrcsfentrycont
   (display:flex + flex-wrap:wrap) */
.vrcdivsearch .vrc-searchf-section-datetimes > .vrcsfentrycont {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 10px;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: var(--cl-white) !important;
  min-height: 80px;
  flex: unset !important;
}

/* Séparateur vertical entre enlèvement et dépôt */
.vrcdivsearch .vrc-searchf-section-datetimes > .vrcsfentrycont:first-child {
  border-right: 1px solid var(--cl-gray-200) !important;
  margin-right: 0 !important;
}

/* Date label+input wrapper */
.vrcdivsearch .vrc-searchf-section-datetimes .vrcsfentrylabsel {
  flex: 1 1 auto !important;
  min-width: 0;
  margin-right: 0 !important;
}

/* Heure à côté de la date */
.vrcdivsearch .vrc-searchf-section-datetimes .vrcsfentrytime {
  flex: 0 0 auto !important;
  min-width: 0;
  width: auto !important;
}

/* Date input + icône — override VRC bg/border/padding sur vrcsfentrydate */
.vrcdivsearch .vrcsfentrylabsel .vrcsfentrydate {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Datepicker input — override VRC .vrcsfentrycont .vrcsfentrydate .hasDatepicker
   (height:32px, border:0, float:left, border-radius:0) */
.vrcdivsearch .vrcsfentrydate input[type="text"].hasDatepicker {
  width: 115px !important;
  min-width: 115px !important;
  max-width: 130px !important;
  height: 44px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-xs) !important;
  padding: 8px 10px !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  color: var(--cl-gray-900) !important;
  background: var(--cl-white) !important;
  float: none !important;
  box-shadow: none !important;
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

.vrcdivsearch .vrcsfentrydate input[type="text"].hasDatepicker:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.08) !important;
  outline: none !important;
}

/* Icône calendrier */
.vrcdivsearch .vrc-caltrigger {
  color: var(--cl-orange) !important;
  font-size: 1rem;
  cursor: pointer;
}

/* Time selects en ligne */
.vrcdivsearch .vrc-sf-time-container {
  display: inline-flex !important;
  align-items: center !important;
  gap: 1px !important;
}

.vrcdivsearch .vrc-sf-time-container span:not(.vrctimesep) {
  display: inline-block !important;
  float: none !important;
}

/* Séparateur heure ":" */
.vrcdivsearch .vrctimesep {
  font-weight: 600 !important;
  color: var(--cl-gray-300) !important;
  font-size: 1rem !important;
  padding: 0 1px !important;
  display: inline-block !important;
}

/* Selects génériques form — override VRC .vrcsfentryselect select
   (height:34px, padding:0 5px) */
.vrcdivsearch .vrcsfentryselect select,
.vrcdivsearch .vrc-sf-time-container select {
  height: 44px !important;
  font-family: var(--font-body) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  padding: 8px 10px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-xs) !important;
  background: var(--cl-white) !important;
  color: var(--cl-gray-900) !important;
  line-height: normal !important;
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}

.vrcdivsearch .vrc-sf-time-container select {
  height: 40px !important;
  padding: 6px 8px !important;
  font-size: .85rem !important;
  min-width: 52px !important;
}

.vrcdivsearch .vrcsfentryselect select:focus,
.vrcdivsearch .vrc-sf-time-container select:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.08) !important;
  outline: none !important;
}

/* ── Section CATÉGORIE ── */
.vrcdivsearch .vrc-searchf-section-categories {
  flex: 1 1 0 !important;
  min-width: 0;
  margin-bottom: 0 !important;
  width: auto !important;
}

.vrcdivsearch .vrc-searchf-section-categories > .vrcsfentrycont {
  display: flex !important;
  flex-direction: column !important;
  flex: unset !important;
}

.vrcdivsearch .vrc-searchf-section-categories .vrcsfentryselect {
  width: 100% !important;
  display: block !important;
}

.vrcdivsearch .vrc-searchf-section-categories .vrcsfentryselect select {
  width: 100% !important;
  height: 44px !important;
}

/* ── Section SUBMIT — override VRC align-self:center → flex-end ── */
.vrcdivsearch .vrc-searchf-section-sbmt {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: flex-end !important;
  width: auto !important;
  display: block !important;
}

.vrcdivsearch .vrc-searchf-section-sbmt .vrcsfentrycont {
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.vrcdivsearch .vrcsfentrysubmit {
  display: flex !important;
  align-items: flex-end !important;
  width: auto !important;
}

/* ── Bouton RECHERCHE — CTA premium orange ── */
.vrcdivsearch input.vrc-search-btn.vrc-pref-color-btn,
.vrcdivsearch input[type="submit"].vrc-search-btn {
  height: 44px !important;
  min-width: 140px !important;
  width: auto !important;
  padding: 0 28px !important;
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  font-family: var(--font-heading);
  font-size: .88rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(255,140,0,.15) !important;
  transition: background var(--t-fast) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}

.vrcdivsearch input.vrc-search-btn.vrc-pref-color-btn:hover,
.vrcdivsearch input[type="submit"].vrc-search-btn:hover {
  background: var(--cl-orange-dark) !important;
  box-shadow: 0 8px 24px rgba(255,140,0,.25) !important;
  transform: translateY(-2px);
}

.vrcdivsearch input.vrc-search-btn.vrc-pref-color-btn:active {
  transform: scale(.97);
}

/* ── Lien "Voir la carte des lieux" — override VRC
      (.vrclocationsmapdiv a = block + padding:30px + gris) ── */
.vrcdivsearch .vrclocationsbox {
  max-width: 960px;
  margin: 16px auto 0 !important;
  text-align: center !important;
  flex-basis: 100% !important;
  margin-left: 0 !important;
}

/* Override VRC icon 58px */
.vrcdivsearch .vrclocationsbox i {
  font-size: 1.1rem !important;
  margin-bottom: 0 !important;
}

.vrclocationsmapdiv a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-pill) !important;
  background: var(--cl-white) !important;
  color: var(--cl-brown) !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  text-decoration: none !important;
  box-shadow: var(--sh-xs) !important;
  text-transform: none !important;
  transition: all var(--t-fast) var(--ease);
}

.vrclocationsmapdiv a i {
  color: var(--cl-orange) !important;
  font-size: 1.1rem !important;
  margin-bottom: 0 !important;
  transition: color var(--t-fast) var(--ease);
}

/* Override VRC .vrclocationsmapdiv a span (display:block + uppercase) */
.vrclocationsmapdiv a span {
  display: inline !important;
  text-transform: none !important;
  font-weight: inherit !important;
}

.vrclocationsmapdiv a:hover {
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  border-color: var(--cl-orange) !important;
  box-shadow: 0 4px 16px rgba(255,140,0,.2) !important;
}

.vrclocationsmapdiv a:hover i {
  color: var(--cl-white) !important;
}

/* ── Override couleurs VRC inline (#000000 → palette Charlemagne) ── */
.vrc-pref-color-text {
  color: var(--cl-brown) !important;
}

.vrc-pref-color-btn-secondary {
  border-color: var(--cl-orange) !important;
  color: var(--cl-orange) !important;
}

/* ── jQuery UI Datepicker — thème orange Charlemagne ── */
.ui-datepicker {
  font-family: var(--font-body) !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-md) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
  background: var(--cl-white) !important;
  padding: 4px !important;
  z-index: 9999 !important;
}

.ui-datepicker-header {
  background: var(--cl-brown) !important;
  color: var(--cl-white) !important;
  border: none !important;
  border-radius: var(--r-sm) var(--r-sm) 0 0 !important;
  padding: 10px 8px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
}

.ui-datepicker-title {
  color: var(--cl-white) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: .92rem !important;
}

.ui-datepicker-prev,
.ui-datepicker-next {
  cursor: pointer !important;
}

.ui-datepicker-prev span,
.ui-datepicker-next span {
  filter: brightness(0) invert(1) !important;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
  background: rgba(255,255,255,.15) !important;
  border-radius: var(--r-xs) !important;
}

.ui-datepicker th {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: .75rem !important;
  color: var(--cl-gray-500) !important;
  text-transform: uppercase !important;
  padding: 8px 4px !important;
}

.ui-datepicker td {
  padding: 2px !important;
}

.ui-datepicker td a,
.ui-datepicker td span {
  text-align: center !important;
  border-radius: var(--r-xs) !important;
  padding: 6px 8px !important;
  font-size: .88rem !important;
  transition: background .15s ease, color .15s ease !important;
}

.ui-datepicker td a:hover {
  background: rgba(255,140,0,.1) !important;
  color: var(--cl-orange) !important;
}

/* Jour actuel — accent orange au lieu de #000 */
.ui-datepicker .ui-datepicker-today {
  color: var(--cl-orange) !important;
  border-color: var(--cl-orange) !important;
}

.ui-datepicker .ui-datepicker-today a {
  background: rgba(255,140,0,.12) !important;
  color: var(--cl-orange) !important;
  font-weight: 700 !important;
}

/* Jour sélectionné */
.ui-datepicker .ui-datepicker-current-day a {
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  font-weight: 700 !important;
  border-radius: var(--r-xs) !important;
}

/* Jours désactivés */
.ui-datepicker td.ui-datepicker-unselectable span {
  color: var(--cl-gray-300) !important;
}


/* ================================================
   7) OPTIONS / AVANTAGES — CARDS ÉPURÉES
   ================================================ */
.charlemagne-option,
.tropicar-option {
  padding: 20px 24px;
  margin: 12px 0;
  border-radius: var(--r-md);
  background: var(--cl-white);
  border: 1px solid var(--cl-gray-200);
  border-left: 4px solid var(--cl-orange);
  box-shadow: var(--sh-xs);
  position: relative;
  transition: transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              border-color var(--t-fast) var(--ease);
}

.charlemagne-option:hover,
.tropicar-option:hover {
  transform: translateX(6px);
  box-shadow: var(--sh-sm);
  border-left-color: var(--cl-orange-dark);
  border-color: var(--cl-gray-300);
}

/* Icônes */
.charlemagne-icon,
.tropicar-icon {
  font-size: 20px;
  min-width: 24px;
  text-align: center;
  margin-right: 12px;
  color: var(--cl-orange);
}

.tropicar-option .fa-shield-alt,
.tropicar-option .fa-lock,
.charlemagne-option .fa-shield-alt,
.charlemagne-option .fa-lock {
  color: #2E8B57;
}

.tropicar-option .fa-road,
.tropicar-option .fa-map,
.charlemagne-option .fa-road,
.charlemagne-option .fa-map {
  color: var(--cl-brown);
}

.tropicar-option .fa-headset,
.tropicar-option .fa-phone,
.charlemagne-option .fa-headset,
.charlemagne-option .fa-phone {
  color: var(--cl-orange);
}

/* Texte options */
.charlemagne-option strong,
.tropicar-option strong {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--cl-brown);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.charlemagne-option small,
.tropicar-option small {
  display: block;
  margin-top: 4px;
  color: var(--cl-gray-700);
  font-size: .92rem;
  line-height: 1.5;
}

/* Badges */
.charlemagne-badge,
.tropicar-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--cl-orange);
  color: var(--cl-white);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.charlemagne-badge.badge-premium,
.charlemagne-badge.badge-vip,
.tropicar-badge.badge-premium,
.tropicar-badge.badge-vip {
  background: var(--cl-gold);
  color: var(--cl-brown-dark);
}

.badge-green { background: #2E8B57; color: #fff; }
.badge-blue  { background: var(--cl-brown); color: #fff; }
.badge-orange { background: var(--cl-orange); color: #fff; }

.tropicar-option svg {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 4px;
}


/* ================================================
   8) AVANTAGES — VIKICONS (cartes Sixt-style)
   ================================================ */
.vikicons-inner {
  width: 100%;
  margin: 40px auto;
  padding: 0 16px;
}

.vikicons-set {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 24px !important;
  flex-wrap: nowrap !important;
  width: 100%;
}

.vikicons-item,
.vikicons-item[class*="col-"] {
  flex: 1 1 23% !important;
  max-width: 23% !important;
  min-width: 200px !important;
  min-height: 320px !important;
  background: var(--cl-white) !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--sh-sm) !important;
  padding: 28px 20px !important;
  text-align: center !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
  transition: transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              border-color var(--t-fast) var(--ease) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Barre supérieure orange discrète */
.vikicons-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--grad-orange);
  opacity: .8;
}

.vikicons-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--sh-md) !important;
  border-color: var(--cl-gray-300) !important;
}

.vikicons-item-icon,
.vikicons-item-icoelem i {
  font-size: 2.2rem !important;
  color: var(--cl-orange) !important;
  margin-bottom: 14px !important;
}

.vikicons-item-text strong,
.vikicons-item-text h3 {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--cl-brown) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.vikicons-item-text p,
.vikicons-item-text small {
  color: var(--cl-gray-700) !important;
  font-size: .92rem !important;
  line-height: 1.6 !important;
}

.vikicons-item-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 280px !important;
  box-sizing: border-box !important;
  flex: 1 !important;
}

/* Icone VikRentCar fantome (height/width:0 inline) — ne pas occuper d'espace */
.vikicons-item-icoelem {
  display: block !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}

/* Le vrai contenu (tropicar-option) prend toute la place */
.vikicons-item-text {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.vikicons-item-text .tropicar-option,
.vikicons-item-text .charlemagne-option {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  gap: 10px !important;
}

/* Icone principale dans les cartes vikicons (FA + photo) */
.vikicons-item-text .tropicar-option > .tropicar-emoji-img,
.vikicons-item-text .charlemagne-option > .tropicar-emoji-img,
.vikicons-item-text .tropicar-option > .tropicar-icon,
.vikicons-item-text .tropicar-option > .charlemagne-icon,
.vikicons-item-text .charlemagne-option > .tropicar-icon,
.vikicons-item-text .charlemagne-option > .charlemagne-icon,
.vikicons-item-text .tropicar-option > i.fas,
.vikicons-item-text .charlemagne-option > i.fas {
  font-size: 2.4rem !important;
  margin-bottom: 8px !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  line-height: 1 !important;
  padding: 0 !important;
  background: rgba(255,140,0,.08);
  width: 64px !important;
  height: 64px !important;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: transform var(--t-med) var(--ease),
              background var(--t-med) var(--ease);
}

/* Image-photo en remplacement de l'icône FA */
.vikicons-item-text .tropicar-option > .tropicar-emoji-img,
.vikicons-item-text .charlemagne-option > .tropicar-emoji-img {
  object-fit: cover;
  border-radius: 50%;
  overflow: hidden;
}

.vikicons-item:hover .tropicar-option > .tropicar-icon,
.vikicons-item:hover .tropicar-option > .tropicar-emoji-img,
.vikicons-item:hover .tropicar-option > i.fas,
.vikicons-item:hover .charlemagne-option > .charlemagne-icon,
.vikicons-item:hover .charlemagne-option > i.fas {
  transform: scale(1.12);
  background: rgba(255,140,0,.14);
}

/* Titre dans les cartes vikicons */
.vikicons-item-text .tropicar-option strong,
.vikicons-item-text .charlemagne-option strong {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: var(--cl-brown-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin: 4px 0 !important;
  display: block !important;
}

/* Badge dans les cartes vikicons */
.vikicons-item-text .tropicar-badge,
.vikicons-item-text .charlemagne-badge {
  font-size: .78rem !important;
  padding: 4px 14px !important;
  border-radius: var(--r-pill) !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  margin: 6px 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* Description dans les cartes vikicons */
.vikicons-item-text .tropicar-option small,
.vikicons-item-text .charlemagne-option small {
  font-size: .93rem !important;
  color: var(--cl-gray-700) !important;
  line-height: 1.55 !important;
  margin-top: 6px !important;
  text-align: center !important;
  max-width: 220px;
}

/* SVG emoji dans les descriptions */
.vikicons-item-text .tropicar-option small svg,
.vikicons-item-text .charlemagne-option small svg {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 3px;
}

/* Pas de translateX au hover dans les vikicons */
.vikicons-item-text .tropicar-option:hover,
.vikicons-item-text .charlemagne-option:hover {
  transform: none !important;
  box-shadow: none !important;
}


/* ================================================
   9) GRILLE VEHICULES — VIKRENTCAR (style Sixt)
   ================================================ */

/* ── Container resultats de recherche ── */
.vrc-search-results-block-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 auto;
  padding: 0 4px;
  width: 100%;
}

/* ── Carte vehicule (resultats recherche) — Sixt elevated card ── */
.vrc-search-results-block-list .car_result {
  flex: 0 0 31.33%;
  max-width: 31.33%;
  min-width: 280px;
  background: var(--cl-white);
  border-radius: var(--r-lg);
  border: 1px solid var(--cl-gray-100);
  box-shadow: var(--sh-xs);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  position: relative;
  transition: transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              border-color var(--t-med) var(--ease);
  word-break: break-word;
}

/* Barre premium orange en haut au hover */
.vrc-search-results-block-list .car_result::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--grad-orange);
  z-index: 1;
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}

.vrc-search-results-block-list .car_result:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 48px rgba(0,0,0,.12);
  border-color: var(--cl-orange);
}

.vrc-search-results-block-list .car_result:hover::before {
  opacity: 1;
}

/* Zone image vehicule — Sixt gradient + drop-shadow */
.vrc-car-result-left {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, var(--cl-gray-50) 0%, var(--cl-white) 100%);
  padding: 32px 20px 24px;
  min-height: 200px;
  position: relative;
}

.vrc-car-result-left img {
  display: block;
  width: 100%;
  max-width: 85%;
  max-height: 160px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.08));
  transition: transform var(--t-med) var(--ease),
              filter var(--t-med) var(--ease);
}

.car_result:hover .vrc-car-result-left img {
  transform: scale(1.06);
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.12));
}

/* Centrage images (heritage Tropicar) */
.vrcmodcarsgridcont-item,
.vrcmodcarsgridcont-item figure {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
}

/* ═══ MODULE GRILLE VEHICULES (page accueil) — Sixt elevated cards ═══ */
.vrc-modcars-grid-item {
  box-sizing: border-box !important;
  padding: 10px !important;
}

.vrcmodcarsgridcont-item {
  margin: 0;
  width: 100%;
}

/* Card container — Sixt subtle border + orange hover */
.vrcmodcarsgridboxdiv {
  background: var(--cl-white);
  border: 1px solid var(--cl-gray-100);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-xs);
  overflow: hidden;
  width: 100%;
  position: relative;
  transition: transform var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              border-color var(--t-med) var(--ease);
}

/* Barre orange premium au hover */
.vrcmodcarsgridboxdiv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--grad-orange);
  z-index: 2;
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}

.vrcmodcarsgridboxdiv:hover::before {
  opacity: 1;
}

.vrcmodcarsgridboxdiv:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 48px rgba(0,0,0,.12);
  border-color: var(--cl-orange);
}

/* Zone image — gradient doux Sixt + drop-shadow */
.vrcmodcarsgridboxdiv > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, var(--cl-gray-50) 0%, var(--cl-white) 100%);
  padding: 28px 20px 20px;
  min-height: 180px;
  max-height: 220px;
  overflow: hidden;
  position: relative;
}

/* Image vehicule — Sixt sideview avec ombre portee */
.vrcmodcarsgridimg {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 80% !important;
  max-height: 160px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.08));
  transition: transform var(--t-med) var(--ease),
              filter var(--t-med) var(--ease);
}

.vrcmodcarsgridboxdiv:hover .vrcmodcarsgridimg {
  transform: scale(1.06);
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.12));
}

/* Details sous l'image — Sixt structure */
.vrcmodcarsgrid-item_details {
  padding: 18px 20px 12px;
  text-align: center;
}

/* Categorie — pill badge style Sixt */
.vrcmodcarsgrid-item_cat {
  display: inline-block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .72rem;
  color: var(--cl-orange);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
  padding: 3px 14px;
  background: rgba(255,140,0,.08);
  border-radius: var(--r-pill);
}

/* Titre vehicule — Sixt bold */
.vrcmodcarsgrid-item_title {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--cl-brown-dark);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin: 0 0 10px;
  line-height: 1.25;
}

/* Bloc prix — Sixt prominent */
.vrcmodcarsgrid-box-cost {
  margin: 8px 0 6px;
  text-align: center;
}

.vrcmodcarsgridstartfrom {
  font-size: .72rem;
  color: var(--cl-gray-500);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
}

.vrcmodcarsgridcarcost {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.4rem;
  color: var(--cl-orange);
  line-height: 1.1;
}

/* Bouton Continuer — Sixt full-width CTA */
.vrcmodcarsgridview {
  padding: 0 20px 16px;
  text-align: center;
}

.btn-vrcmodcarsgrid-btn.vrc-pref-color-btn {
  display: block;
  width: 100%;
  padding: 12px 24px;
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  border: none;
  border-radius: var(--r-sm);
  font-family: var(--font-heading);
  font-size: .88rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 4px 16px rgba(255,140,0,.12);
  transition: background var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease);
}

.btn-vrcmodcarsgrid-btn.vrc-pref-color-btn:hover {
  background: var(--cl-orange-dark) !important;
  box-shadow: 0 8px 24px rgba(255,140,0,.25);
  transform: translateY(-2px);
}

/* Caracteristiques bas de carte — Sixt clean */
.vrcmodcarsgrid-item-btm {
  padding: 10px 20px 14px;
  border-top: 1px solid var(--cl-gray-100);
}

.vrcmodcarsgrid-item-btm .vrccaratsdiv {
  justify-content: center;
  gap: 6px;
}

/* Contenu texte — Sixt clean layout */
.vrc-car-result-right {
  padding: 0 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Nom du vehicule — Sixt bold */
.vrc-car-name {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.15rem;
  color: var(--cl-brown-dark);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin: 0 0 6px;
  line-height: 1.25;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.vrc-car-name a {
  color: var(--cl-brown-dark);
  text-decoration: none;
  transition: color var(--t-fast) var(--ease);
}

.vrc-car-name a:hover {
  color: var(--cl-orange);
}

/* Categorie — pill badge orange Sixt */
.vrc-car-category {
  display: inline-block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .72rem;
  color: var(--cl-orange);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
  padding: 3px 14px;
  background: rgba(255,140,0,.08);
  border-radius: var(--r-pill);
  width: fit-content;
  white-space: normal;
  word-break: break-word;
}

/* Description */
.vrc-car-result-description {
  font-size: .92rem;
  color: var(--cl-gray-700);
  line-height: 1.55;
  margin-bottom: 14px;
  max-height: 4.2em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
  word-break: break-word;
}

/* Caracteristiques — chips Sixt bordes */
.vrc-car-characteristics,
.vrccaratsdiv {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
  max-width: 100%;
}

.vrccarcarat {
  background: var(--cl-gray-50);
  border: 1px solid var(--cl-gray-200);
  border-radius: var(--r-pill);
  padding: 4px 11px;
  font-size: .82rem;
  color: var(--cl-gray-700);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: background var(--t-fast) var(--ease),
              color var(--t-fast) var(--ease),
              border-color var(--t-fast) var(--ease);
}

.vrccarcarat:hover {
  background: rgba(255,140,0,.06);
  color: var(--cl-orange);
  border-color: rgba(255,140,0,.25);
}

.vrc-carat-cont i {
  color: var(--cl-orange);
  font-size: .78rem;
  margin-right: 2px;
}

/* Bloc prix + bouton — Sixt prominent layout */
.vrc-car-lastblock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--cl-gray-100);
  flex-wrap: wrap;
}

.vrc-car-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 100px;
}

.vrcsrowpricediv {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vrcstartfrom {
  font-size: .72rem;
  color: var(--cl-gray-500);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 3px;
}

.car_cost {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--cl-orange);
  line-height: 1.1;
}

.vrc_currency {
  font-size: 1.1rem;
  font-weight: 700;
  margin-right: 2px;
}

.vrc_price {
  font-size: 1.5rem;
  font-weight: 900;
}

/* Bouton reservation — Sixt CTA avec ombre */
.vrc-car-bookingbtn .btn.vrc-pref-color-btn {
  background: var(--cl-orange);
  color: var(--cl-white) !important;
  border: none;
  border-radius: var(--r-sm);
  padding: 12px 24px;
  font-family: var(--font-heading);
  font-size: .88rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  box-shadow: 0 4px 16px rgba(255,140,0,.15);
  transition: background var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.vrc-car-bookingbtn .btn.vrc-pref-color-btn:hover {
  background: var(--cl-orange-dark);
  box-shadow: 0 8px 28px rgba(255,140,0,.25);
  transform: translateY(-2px);
  color: var(--cl-white) !important;
}


/* ================================================
   9b) HERO BANNER — PAGE "NOTRE FLOTTE"
   ================================================ */

/* Container principal du hero */
.featured-container.full-featured {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Image de fond hero avec overlay premium */
.featured-container-img {
  position: relative;
  width: 100%;
  min-height: 340px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Masque degrade sombre — premium overlay */
.featured-container-mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    180deg,
    rgba(44, 24, 16, .55) 0%,
    rgba(44, 24, 16, .40) 50%,
    rgba(44, 24, 16, .65) 100%
  );
  z-index: 1;
}

/* Header du hero (contient le h1) */
.featured-container-img .entry-header {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 40px 20px;
  width: 100%;
}

/* Titre H1 de la page — style Sixt hero */
h1.entry-title {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(2rem, 5vw, 3.2rem);
  color: var(--cl-white) !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 3px 16px rgba(0,0,0,.45);
  margin: 0;
  padding: 0;
  line-height: 1.15;
}

/* Trait decoratif sous le titre hero */
h1.entry-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 18px auto 0;
}


/* ================================================
   9c) TITRE PRINCIPAL RESULTATS & WRAPPER PLUGIN
   ================================================ */

/* Container global plugin VikRentCar */
.wrap.plugin-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px 32px;
}

/* Titre principal "Tropicar Guadeloupe" (a remplacer en WP admin)
   En attendant, on le masque visuellement via indent negatif
   OU on le restylise comme un titre de section premium */
h3.vrc-main-title {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  color: var(--cl-brown);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  margin: 16px 0 28px;
  padding-bottom: 14px;
  position: relative;
}

/* Trait decoratif sous le titre resultats */
h3.vrc-main-title::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 12px auto 0;
}

/* Inner wrappers des cartes vehicules (structure profonde) */
.vrc-car-result-rightinner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.vrc-car-result-rightinner-deep {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.vrc-car-result-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Coupon et enterpin — override inline border-color #000 */
.vrc-coupon-outer {
  border-color: var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  padding: 12px 16px !important;
  margin: 12px 0 !important;
}

.vrc-enterpin-block {
  border-color: var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  padding: 8px 12px !important;
}

.vrc-coupon-outer input,
.vrc-enterpin-block input {
  border: 1px solid var(--cl-gray-200);
  border-radius: var(--r-xs);
  padding: 8px 12px;
  font-family: var(--font-body);
  font-size: .9rem;
  transition: border-color var(--t-fast) var(--ease);
}

.vrc-coupon-outer input:focus,
.vrc-enterpin-block input:focus {
  border-color: var(--cl-orange);
  outline: none;
}

.vrc-coupon-outer button,
.vrc-enterpin-block button {
  background: var(--cl-orange);
  color: var(--cl-white);
  border: none;
  border-radius: var(--r-xs);
  padding: 8px 16px;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease);
}

.vrc-coupon-outer button:hover,
.vrc-enterpin-block button:hover {
  background: var(--cl-orange-dark);
}


/* ================================================
   9d) BLOC DESCRIPTIF PREMIUM — PAGES EDITORIALES
   ================================================ */
/* Contenu premium : titres avec losange decoratif,
   listes avec chevron triangulaire, zero emoji.
   Les overrides !important restent pour vaincre d'eventuels
   vestiges inline du contenu Tropicar.
   -- Selecteur :is() pour cibler les quatre pages :
      Flotte          -> .elementor-element-c41b70a
      Services        -> .elementor-element-3f66ddf4
      Qui sommes-nous -> .elementor-element-4e6ea2e8
      Contact         -> .elementor-element-216f39f6     */

/* Container du bloc descriptif — carte premium */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .elementor-widget-container {
  background: var(--cl-white);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  border: 1px solid var(--cl-gray-200);
  padding: 48px 40px;
  margin: 40px auto;
  max-width: 900px;
  transition: box-shadow var(--t-med) var(--ease);
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .elementor-widget-container:hover {
  box-shadow: var(--sh-md);
}

/* ─ Titre principal (h3) ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3 {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
  color: var(--cl-brown) !important;
  background-color: transparent !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  text-align: center !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
}

/* Trait orange sous le premier h3 */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3:first-child::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 10px auto 20px;
}

/* Override du vert ancien #2e8b57 (si vestiges inline) */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3 span[style*="color: #2e8b57"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2 span[style*="color: #2e8b57"] {
  color: var(--cl-orange) !important;
}

/* ─ Titres H2 des categories ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2 {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(1.15rem, 2vw, 1.4rem) !important;
  color: var(--cl-brown) !important;
  background-color: transparent !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  text-align: left !important;
  margin: 32px 0 10px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid rgba(255,140,0,.15) !important;
  line-height: 1.3 !important;
}

/* Premier H2 du bloc = titre principal centre */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2:first-child {
  text-align: center !important;
  font-size: clamp(1.4rem, 2.8vw, 1.8rem) !important;
  border-bottom: none !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
}

/* Desactiver le trait ::after global sur h2/h1 du bloc */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2::after,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h1::after {
  display: none !important;
}

/* H2 vides (anciens spacers Tropicar) — reduire l'espace */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2:empty,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2:has(> :only-child:is(br)) {
  margin: 4px 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  min-height: 0 !important;
}

/* ─ Paragraphes descriptifs ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) p {
  font-family: var(--font-body) !important;
  font-size: 1.02rem !important;
  line-height: 1.75 !important;
  color: var(--cl-gray-700) !important;
  background-color: transparent !important;
  text-align: left !important;
  margin: 0 0 12px !important;
}

/* Intro centree sous le titre principal */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3:first-child + p {
  text-align: center !important;
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
  font-size: 1.06rem !important;
  color: var(--cl-gray-700) !important;
}

/* ─ Listes (Modeles, Atouts) ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) ul {
  color: var(--cl-gray-700) !important;
  background-color: transparent !important;
  padding-left: 8px !important;
  margin: 0 0 16px !important;
  list-style: none !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 8px;
  font-family: var(--font-body);
  font-size: .98rem;
  line-height: 1.65;
  color: var(--cl-gray-700);
}

/* Puce personnalisee — point orange */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  background: var(--cl-orange);
  border-radius: 50%;
}

/* Textes en gras dans les listes et paragraphes */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) li strong,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) p strong,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) li span[style*="font-weight: bolder"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) p span[style*="font-weight: bolder"] {
  color: var(--cl-brown) !important;
  font-weight: 700 !important;
}

/* ─ Lien CTA "Reservez votre vehicule" ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="reservation"] {
  display: inline-block;
  margin-top: 8px;
  padding: 12px 28px;
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: .92rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: var(--r-sm) !important;
  box-shadow: 0 4px 16px rgba(255,140,0,.15) !important;
  transition: background var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="reservation"]:hover {
  background: var(--cl-orange-dark) !important;
  color: var(--cl-white) !important;
  box-shadow: 0 8px 28px rgba(255,140,0,.25) !important;
  transform: translateY(-2px) !important;
  border-color: transparent !important;
}

/* Paragraphe CTA final — centrage */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) p:last-of-type {
  text-align: center !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--cl-gray-100) !important;
}

/* Lien externe "decouvrir la Guadeloupe" */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="lesilesdeguadeloupe"] {
  color: var(--cl-brown-light) !important;
  text-decoration: underline !important;
  transition: color var(--t-fast) var(--ease) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="lesilesdeguadeloupe"]:hover {
  color: var(--cl-orange) !important;
}

/* ─ Grille "Nos atouts" — 4 cartes premium centrees ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atouts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 24px 0 32px;
  padding: 0;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 16px 22px;
  background: linear-gradient(135deg, #fefefe 0%, #faf8f6 100%);
  border-radius: var(--r-md);
  border: 1px solid var(--cl-gray-200);
  transition: box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease);
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card:hover {
  box-shadow: 0 6px 24px rgba(255,140,0,.12);
  transform: translateY(-4px);
  border-color: rgba(255,140,0,.25);
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
  margin-bottom: 14px;
  filter: drop-shadow(0 2px 4px rgba(74,52,40,.1));
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card strong {
  display: block;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  color: var(--cl-brown) !important;
  margin-bottom: 6px;
  letter-spacing: 0.3px;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card span {
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  color: var(--cl-gray-700) !important;
  line-height: 1.5;
}

/* ─ Section "Nos engagements / Pourquoi choisir" ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3:last-of-type {
  margin-top: 36px !important;
  padding-top: 24px !important;
  border-top: 2px solid var(--cl-gray-200) !important;
}

/* Trait orange sous "Nos engagements" */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3:last-of-type::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 10px auto 16px;
}

/* Emojis restants (anciens vestiges) — taille propre */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2 img.emoji,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3 img.emoji {
  width: 20px !important;
  height: 20px !important;
  vertical-align: middle;
  margin-right: 6px;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) ul li img.emoji {
  width: 16px !important;
  height: 16px !important;
  vertical-align: middle;
  margin-right: 4px;
}


/* ─ Tableau fuseaux horaires (page Contact) ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) figure.wp-block-table {
  margin: 20px 0 28px !important;
  overflow-x: auto;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: var(--font-body) !important;
  font-size: .92rem !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  overflow: hidden;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table thead {
  background: var(--cl-brown) !important;
  color: var(--cl-white) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table thead th {
  padding: 12px 16px !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--cl-white) !important;
  border-bottom: 2px solid var(--cl-orange) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table tbody th,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table tbody td {
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--cl-gray-100) !important;
  color: var(--cl-gray-700) !important;
  text-align: left !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table tbody th {
  font-weight: 700 !important;
  color: var(--cl-brown) !important;
  background: rgba(255,140,0,.04) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table tbody tr:hover td,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) table tbody tr:hover th {
  background: rgba(255,140,0,.06) !important;
}

/* ─ Liens tel: / mailto: / WhatsApp dans le bloc premium ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href^="tel:"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href^="mailto:"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="whatsapp"] {
  color: var(--cl-orange) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid rgba(255,140,0,.2) !important;
  transition: color var(--t-fast) var(--ease),
              border-color var(--t-fast) var(--ease) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href^="tel:"]:hover,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href^="mailto:"]:hover,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="whatsapp"]:hover {
  color: var(--cl-orange-dark) !important;
  border-color: var(--cl-orange) !important;
}


/* ─ Formulaire Contact Form 7 — style premium ─ */
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7 {
  margin-top: 36px !important;
  padding-top: 28px !important;
  border-top: 2px solid var(--cl-gray-200) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form label {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: .92rem !important;
  color: var(--cl-brown) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  display: block;
  margin-bottom: 16px;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="text"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="email"],
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  font-family: var(--font-body) !important;
  font-size: .98rem !important;
  color: var(--cl-gray-700) !important;
  background: var(--cl-white) !important;
  border: 1px solid var(--cl-gray-200) !important;
  border-radius: var(--r-sm) !important;
  margin-top: 6px;
  transition: border-color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="text"]:focus,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="email"]:focus,
:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form textarea:focus {
  border-color: var(--cl-orange) !important;
  box-shadow: 0 0 0 3px rgba(255,140,0,.1) !important;
  outline: none !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form textarea {
  min-height: 140px !important;
  resize: vertical;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="submit"] {
  display: inline-block !important;
  padding: 14px 36px !important;
  background: var(--cl-orange) !important;
  color: var(--cl-white) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(255,140,0,.15) !important;
  transition: background var(--t-med) var(--ease),
              box-shadow var(--t-med) var(--ease),
              transform var(--t-med) var(--ease) !important;
}

:is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .wpcf7-form input[type="submit"]:hover {
  background: var(--cl-orange-dark) !important;
  box-shadow: 0 8px 28px rgba(255,140,0,.25) !important;
  transform: translateY(-2px) !important;
}


/* ================================================
   9e) PAGE CGL & MENTIONS LÉGALES
       (article#post-2145 — HTML natif WordPress)
       Reprend le design premium des blocs éditoriaux
       Section 9d, adapté au contenu juridique.
   ================================================ */

/* ── Carte globale de la page ── */
article#post-2145 .entry-content {
  background: var(--cl-white);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  border: 1px solid var(--cl-gray-200);
  padding: 52px 48px 56px;
  margin: 32px auto 48px;
  max-width: 900px;
  transition: box-shadow var(--t-med) var(--ease);
}

article#post-2145 .entry-content:hover {
  box-shadow: var(--sh-md);
}

/* ── Titre H1 principal (.entry-title) ── */
article#post-2145 .entry-header .entry-title {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  color: var(--cl-brown) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
  margin: 0 0 12px !important;
  line-height: 1.25 !important;
}

/* Trait orange décoratif sous le titre principal */
article#post-2145 .entry-header .entry-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 14px auto 0;
}

/* ── Titres H1 internes (CGL, Politique, Mentions) ── */
article#post-2145 .entry-content > h1,
article#post-2145 .entry-content > header > h1 {
  font-family: var(--font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem) !important;
  color: var(--cl-brown) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  text-align: center !important;
  margin: 48px 0 8px !important;
  padding-top: 40px !important;
  border-top: 2px solid var(--cl-gray-200) !important;
  line-height: 1.3 !important;
}

/* Trait orange sous les h1 internes */
article#post-2145 .entry-content > h1::after,
article#post-2145 .entry-content > header > h1::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: var(--grad-orange);
  border-radius: var(--r-pill);
  margin: 12px auto 24px;
}

/* Premier H1 du contenu — pas de border-top */
article#post-2145 .entry-content > h1:first-child {
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ── Titres H2 des articles ── */
article#post-2145 .entry-content > h2 {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: clamp(1rem, 1.8vw, 1.2rem) !important;
  color: var(--cl-brown) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  text-align: left !important;
  margin: 28px 0 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid rgba(255,140,0,.12) !important;
  line-height: 1.4 !important;
}

/* Pas de ::after sur les h2 internes */
article#post-2145 .entry-content > h2::after {
  display: none !important;
}

/* ── Paragraphes premium ── */
article#post-2145 .entry-content > p {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: var(--cl-gray-700) !important;
  text-align: left !important;
  margin: 0 0 14px !important;
}

/* Paragraphe d'introduction — centré, plus grand */
article#post-2145 .entry-content > p.cgl-intro {
  text-align: center !important;
  font-size: 1.06rem !important;
  color: var(--cl-gray-600) !important;
  max-width: 760px;
  margin: 0 auto 28px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid var(--cl-gray-100) !important;
}

/* Paragraphe de date de mise à jour */
article#post-2145 .entry-content > p.cgl-update {
  text-align: center !important;
  font-size: .88rem !important;
  color: var(--cl-gray-400) !important;
  margin-top: 24px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cl-gray-100) !important;
}

/* ── Listes (conditions, droits, exclusions) ── */
article#post-2145 .entry-content > ul {
  list-style: none !important;
  padding-left: 8px !important;
  margin: 0 0 18px !important;
}

article#post-2145 .entry-content > ul > li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  font-family: var(--font-body);
  font-size: .98rem;
  line-height: 1.7;
  color: var(--cl-gray-700);
}

/* Puce orange ronde */
article#post-2145 .entry-content > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  background: var(--cl-orange);
  border-radius: 50%;
}

/* Gras premium dans les listes et paragraphes */
article#post-2145 .entry-content strong {
  color: var(--cl-brown);
  font-weight: 700;
}

/* ── Liens internes et externes ── */
article#post-2145 .entry-content a {
  color: var(--cl-orange);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid rgba(255,140,0,.2);
  transition: color var(--t-fast) var(--ease),
              border-color var(--t-fast) var(--ease);
}

article#post-2145 .entry-content a:hover {
  color: var(--cl-orange-dark);
  border-color: var(--cl-orange);
}

/* ── Header interne (Politique de confidentialité) ── */
article#post-2145 .entry-content > header {
  margin: 0;
  padding: 0;
}


/* ================================================
   10) MODULE DESCRIPTION (Bloc texte)
   ================================================ */
#module-box-03 {
  background: var(--cl-white);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-sm);
  border: 1px solid var(--cl-gray-200);
  padding: 36px 28px;
  margin: 32px auto;
  max-width: 900px;
}

#module-box-03:hover {
  box-shadow: var(--sh-md);
}

#module-box-03 h1.wp-block-heading {
  color: var(--cl-brown);
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 16px;
  text-align: left;
  letter-spacing: 0.5px;
}

#module-box-03 h1.wp-block-heading::after {
  margin: 12px 0 0;
}

#module-box-03 p {
  color: var(--cl-gray-700);
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 0;
  text-align: left;
}


/* ================================================
   11) MODULE AVIS CLIENTS
   ================================================ */
#module-box-04 .ti-widget-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

#module-box-04 .ti-header {
  width: 100%;
  text-align: center;
  margin-bottom: 28px;
}

#module-box-04 .ti-reviews-container-wrapper {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  flex-wrap: nowrap;
  overflow: hidden;
  width: fit-content;
  max-width: 1000px;
  margin: 0 auto;
}


/* ================================================
   12) IMAGES — BLOCS WORDPRESS
   ================================================ */
.wp-block-image.alignleft.size-full,
.wp-block-image.alignleft.size-large.is-resized {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px auto !important;
  width: 100%;
}

.wp-block-image.alignleft.size-full img,
.wp-block-image.alignleft.size-large.is-resized img {
  display: block;
  margin: 0 auto !important;
}

.wp-block-image.alignleft.size-full + p,
.wp-block-image.alignleft.size-large.is-resized + p {
  text-align: center;
}


/* ================================================
   13) FOOTER — SOMBRE PREMIUM
   ================================================ */
#upfooter {
  background: var(--cl-brown-dark);
  color: rgba(255,255,255,.85);
  padding: 32px 16px;
  font-size: .9rem;
  line-height: 1.5;
}

#upfooter a {
  color: rgba(255,255,255,.75);
  transition: color var(--t-fast) var(--ease);
  text-decoration: none;
}

#upfooter a:hover {
  color: var(--cl-orange);
}

/* Vikicons dans le footer : reset propre (PAS de all:unset) */
#upfooter .vikicons-set {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  align-items: stretch;
  padding: 20px 12px;
  max-width: 1000px;
  margin: 0 auto 28px;
  border-radius: var(--r-md);
}

#upfooter .vikicons-item,
#upfooter .vikicons-item[class*="col-"] {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: var(--r-md) !important;
  box-shadow: none !important;
  padding: 18px 16px !important;
  color: rgba(255,255,255,.85) !important;
  margin: 0 !important;
  min-width: auto !important;
  flex: 1 1 200px !important;
  max-width: none !important;
}

#upfooter .vikicons-item::before {
  display: none;
}

#upfooter .vikicons-item:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,140,0,.30) !important;
  transform: translateY(-2px) !important;
}

#upfooter .vikicons-item-icon,
#upfooter .vikicons-item-icoelem i {
  color: var(--cl-orange) !important;
}

#upfooter .vikicons-item-text strong,
#upfooter .vikicons-item-text h3 {
  color: rgba(255,255,255,.9) !important;
}

#upfooter .vikicons-item-text p,
#upfooter .vikicons-item-text small {
  color: rgba(255,255,255,.6) !important;
}

/* Options dans le footer */
#upfooter .tropicar-option,
#upfooter .charlemagne-option {
  background: transparent;
  border: none;
  border-left: 3px solid var(--cl-orange);
  box-shadow: none;
  padding: 8px 14px;
  margin: 8px 0;
}

#upfooter .tropicar-option strong,
#upfooter .charlemagne-option strong {
  color: rgba(255,255,255,.9);
}

#upfooter .tropicar-option small,
#upfooter .charlemagne-option small {
  color: rgba(255,255,255,.6);
}

#upfooter .tropicar-icon,
#upfooter .charlemagne-icon {
  color: var(--cl-orange);
}

/* Bloc contact footer */
#upfooter .tropicar-contact-block,
#upfooter .charlemagne-contact-block {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  background: rgba(0,0,0,.3);
  border-radius: var(--r-md);
  padding: 16px;
  color: #fff;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

#upfooter .tropicar-contact-block .contact-item,
#upfooter .charlemagne-contact-block .contact-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 10px;
  max-width: 200px;
  color: #fff;
}

#upfooter .tropicar-contact-block .tropicar-icon,
#upfooter .tropicar-contact-block .charlemagne-icon,
#upfooter .charlemagne-contact-block .tropicar-icon,
#upfooter .charlemagne-contact-block .charlemagne-icon {
  font-size: 16px;
  color: var(--cl-orange);
  margin-bottom: 4px;
}

#upfooter .tropicar-contact-block strong,
#upfooter .tropicar-contact-block small,
#upfooter .tropicar-contact-block span,
#upfooter .tropicar-contact-block a,
#upfooter .charlemagne-contact-block strong,
#upfooter .charlemagne-contact-block small,
#upfooter .charlemagne-contact-block span,
#upfooter .charlemagne-contact-block a {
  color: #fff;
}

#upfooter .tropicar-contact-block a:hover,
#upfooter .charlemagne-contact-block a:hover {
  color: var(--cl-orange);
}

/* Menu footer */
#menu-footer-services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  list-style: none;
  padding: 20px 0;
  margin: 0 auto;
  max-width: 900px;
}

#menu-footer-services li {
  margin: 0;
  padding: 0;
}

#menu-footer-services a {
  display: block;
  padding: 10px 20px;
  background: transparent;
  color: rgba(255,255,255,.75);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-sm);
  font-family: var(--font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: .85rem;
  transition: border-color var(--t-fast) var(--ease),
              color var(--t-fast) var(--ease),
              background var(--t-fast) var(--ease),
              transform var(--t-med) var(--ease);
}

#menu-footer-services a:hover,
#menu-footer-services .current-menu-item a,
#menu-footer-services .current_page_item a {
  border-color: var(--cl-orange);
  color: var(--cl-orange);
  background: rgba(255,140,0,.08);
  transform: translateY(-1px);
}


/* ================================================
   14) RESPONSIVE
   ================================================ */

/* Tablette (max 1024px) */
@media (max-width: 1024px) {

  /* Logo header tablette — override parent + spécificité maximale */
  #tbar-logo,
  #tbar-logo.logo-center,
  .headt-part #tbar-logo,
  .logomenu-cnt #tbar-logo {
    width: 30% !important;
    max-width: 240px !important;
    min-width: 80px !important;
  }

  #tbar-logo img,
  #tbar-logo a img,
  #tbar-logo.logo-center img,
  .headt-part #tbar-logo img {
    max-height: 150px !important;
  }

  .fx-menu-slide #tbar-logo img,
  .fx-menu-slide #tbar-logo a img,
  .headfixed .headt-part .fx-menu-slide #tbar-logo img {
    max-height: 150px !important;
  }

  .vrc-search-results-block-list .car_result {
    flex: 0 0 48%;
    max-width: 48%;
    min-width: 260px;
  }

  .vrc-modcars-grid-item {
    padding: 8px !important;
  }

  .vikicons-set {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .vikicons-item,
  .vikicons-item[class*="col-"] {
    flex: 0 0 46% !important;
    max-width: 46% !important;
    min-width: 180px !important;
  }

  /* Hero banner tablette */
  .featured-container-img {
    min-height: 280px;
  }

  /* Bloc descriptif tablette */
  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .elementor-widget-container {
    padding: 28px 24px;
    margin: 24px auto;
  }

  /* Grille atouts tablette : 2 colonnes */
  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atouts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

/* Mobile (≤ 768px) */
@media (max-width: 768px) {

  /* Logo header mobile — override parent + responsive_device.css */
  #tbar-logo,
  #tbar-logo.logo-center,
  .headt-part #tbar-logo,
  .logomenu-cnt #tbar-logo {
    width: auto !important;
    max-width: 160px !important;
    min-width: 60px !important;
  }

  #tbar-logo img,
  #tbar-logo a img,
  #tbar-logo.logo-center img,
  .headt-part #tbar-logo img {
    max-height: 100px !important;
  }

  /* Sur mobile le parent (responsive_device.css) met position:inherit sur .fx-menu-slide,
     ce qui tue le sticky. On le force ici si on veut le logo visible au scroll. */
  .fx-menu-slide,
  .headfixed .headt-part .fx-menu-slide {
    position: fixed !important;
    min-height: 100px !important;
  }

  .fx-menu-slide #tbar-logo img,
  .fx-menu-slide #tbar-logo a img,
  .headfixed .headt-part .fx-menu-slide #tbar-logo img {
    max-height: 100px !important;
  }

  h1 { font-size: 1.6rem; }
  h1::after { width: 42px; margin-top: 10px; }
  h2 { font-size: 1.35rem; }

  /* Formulaire Sixt : 1 colonne sur mobile */
  .vrc-searchmod-section-datetimes {
    grid-template-columns: 1fr !important;
  }

  .vrc-searchmod-section-datetimes > .vrcsfentrycont:first-child {
    border-right: none;
    border-bottom: 1px solid var(--cl-gray-200);
  }

  .h-search-inner .widget form {
    padding: 16px 16px 20px;
  }

  .h-search-inner .widget > div:not(.widget-title) {
    padding: 16px 16px 20px;
  }

  /* Categorie + bouton : empiles sur mobile */
  .vrc-searchmod-section-categories {
    flex: 0 0 100%;
  }

  .vrc-searchmod-section-sbmt {
    flex: 0 0 100%;
  }

  .vrcsfentrysubmit button.vrcsearch {
    width: 100% !important;
    height: 48px !important;
  }

  /* ── Page réservation : formulaire 1 colonne ── */
  .wrap.plugin-container:has(> .vrcdivsearch) {
    padding: 24px 12px 32px !important;
  }

  .vrcdivsearch .vrcdivsearch-inner form {
    padding: 16px 16px 20px !important;
  }

  .vrcdivsearch .vrc-searchf-section-locations {
    flex-direction: column !important;
  }

  .vrcdivsearch .vrc-searchf-section-locations > .vrcsfentrycont {
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }

  .vrcdivsearch .vrc-searchf-section-datetimes {
    grid-template-columns: 1fr !important;
  }

  .vrcdivsearch .vrc-searchf-section-datetimes > .vrcsfentrycont:first-child {
    border-right: none !important;
    border-bottom: 1px solid var(--cl-gray-200) !important;
  }

  .vrcdivsearch .vrc-searchf-section-datetimes > .vrcsfentrycont {
    flex-wrap: wrap !important;
    gap: 8px;
  }

  .vrcdivsearch .vrc-searchf-section-categories {
    flex: 0 0 100% !important;
  }

  .vrcdivsearch .vrc-searchf-section-sbmt {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .vrcdivsearch input.vrc-search-btn.vrc-pref-color-btn,
  .vrcdivsearch input[type="submit"].vrc-search-btn {
    width: 100% !important;
    min-width: 100% !important;
    height: 48px !important;
  }

  .vrcdivsearch .vrclocationsbox {
    margin-bottom: 16px !important;
  }

  .vrclocationsmapdiv a {
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 18px !important;
  }

  .vrc-search-results-block-list {
    gap: 16px 0;
    padding: 0;
  }

  .vrc-search-results-block-list .car_result {
    flex: 0 0 100%;
    max-width: 100%;
    min-width: 100%;
  }

  /* Grille module vehicules : 2 colonnes sur mobile */
  .vrcmodcarsgridboxdiv > a {
    min-height: 140px;
    max-height: 180px;
    padding: 20px 14px 16px;
  }

  .vrcmodcarsgridimg {
    max-width: 85% !important;
    max-height: 130px !important;
  }

  .vrcmodcarsgrid-item_details {
    padding: 14px 14px 8px;
  }

  .vrc-car-result-left {
    min-height: 160px;
    padding: 24px 14px 18px;
  }

  .vikicons-set {
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .vikicons-item,
  .vikicons-item[class*="col-"] {
    max-width: 100% !important;
    min-width: auto !important;
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  #upfooter .vikicons-set {
    flex-direction: column;
    gap: 14px;
  }

  #menu-footer-services {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  #menu-footer-services a {
    width: 100%;
    max-width: 360px;
    text-align: center;
  }

  .linkmenu-alt > div > a {
    padding: 10px 18px;
    font-size: .88rem;
    border-radius: var(--r-xs);
  }

  .charlemagne-option,
  .tropicar-option {
    padding: 14px 16px;
    border-left-width: 3px;
    margin: 8px 0;
  }

  .charlemagne-option:hover,
  .tropicar-option:hover {
    transform: translateX(4px);
  }

  #module-box-03 {
    padding: 20px 14px;
    max-width: 98vw;
  }

  #module-box-03 h1.wp-block-heading {
    font-size: 1.3rem;
    text-align: center;
  }

  #module-box-03 p {
    font-size: 1rem;
    text-align: center;
  }

  #upfooter .tropicar-contact-block,
  #upfooter .charlemagne-contact-block {
    flex-direction: column;
    gap: 12px;
  }

  #upfooter .tropicar-contact-block .contact-item,
  #upfooter .charlemagne-contact-block .contact-item {
    max-width: 100%;
  }

  /* Hero banner mobile */
  .featured-container-img {
    min-height: 220px;
  }

  h1.entry-title {
    font-size: 1.6rem !important;
    letter-spacing: 1px;
  }

  h1.entry-title::after {
    width: 50px;
    height: 3px;
    margin-top: 12px;
  }

  /* Wrapper plugin mobile */
  .wrap.plugin-container {
    padding: 16px 10px 24px;
  }

  h3.vrc-main-title {
    font-size: 1.2rem;
    margin: 12px 0 20px;
  }

  /* Bloc descriptif mobile */
  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .elementor-widget-container {
    padding: 24px 18px;
    margin: 20px auto;
    max-width: 98vw;
    border-radius: var(--r-md);
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2 {
    font-size: 1.1rem !important;
    text-align: center !important;
    margin-top: 24px !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) p {
    text-align: center !important;
    font-size: .95rem !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) ul {
    padding-left: 12px !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) a[href*="reservation"] {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
  }

  /* Grille atouts mobile : 2 colonnes compactes */
  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atouts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card {
    padding: 20px 12px 16px;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card img {
    width: 40px !important;
    height: 40px !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card strong {
    font-size: .88rem !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .cl-atout-card span {
    font-size: .82rem !important;
  }

  /* Page CGL mobile */
  article#post-2145 .entry-content {
    padding: 28px 20px 32px;
    margin: 20px auto 32px;
    max-width: 98vw;
    border-radius: var(--r-md);
  }

  article#post-2145 .entry-content > h1,
  article#post-2145 .entry-content > header > h1 {
    font-size: 1.25rem !important;
    margin-top: 36px !important;
    padding-top: 28px !important;
  }

  article#post-2145 .entry-content > h2 {
    font-size: 1.02rem !important;
    margin-top: 22px !important;
  }

  article#post-2145 .entry-content > p {
    font-size: .95rem !important;
  }

  article#post-2145 .entry-content > p.cgl-intro {
    font-size: .98rem !important;
    padding-bottom: 16px !important;
  }

  article#post-2145 .entry-content > ul {
    padding-left: 10px !important;
  }

  article#post-2145 .entry-content > ul > li {
    font-size: .93rem;
    padding-left: 20px;
  }
}

/* Petit mobile (≤ 480px) */
@media (max-width: 480px) {

  /* Logo header petit mobile */
  #tbar-logo img,
  #tbar-logo a img,
  #tbar-logo.logo-center img,
  .headt-part #tbar-logo img {
    max-height: 75px !important;
  }

  .fx-menu-slide #tbar-logo img,
  .fx-menu-slide #tbar-logo a img,
  .headfixed .headt-part .fx-menu-slide #tbar-logo img {
    max-height: 75px !important;
  }

  h1 { font-size: 1.4rem; }

  .h-search-inner .widget h3.widget-title {
    padding: 14px 16px 10px;
    font-size: .85rem;
  }

  .h-search-inner .widget h3.widget-title::after {
    left: 16px;
  }

  .vrc-searchmod-section-datetimes > .vrcsfentrycont {
    flex-wrap: wrap !important;
    gap: 8px;
  }

  /* Formulaire réservation petit mobile */
  .wrap.plugin-container:has(> .vrcdivsearch) {
    padding: 20px 10px 28px !important;
  }

  .vrcdivsearch .vrcdivsearch-inner form {
    padding: 16px 12px !important;
  }

  .vrcdivsearch .vrc-searchf-section-datetimes > .vrcsfentrycont {
    flex-wrap: wrap !important;
    padding: 12px !important;
    gap: 6px;
  }

  .vrcdivsearch .vrcsfentrydate input[type="text"].hasDatepicker {
    width: 100px !important;
    min-width: 100px !important;
    font-size: .85rem !important;
  }

  .vrcdivsearch .vrc-sf-time-container select {
    min-width: 46px !important;
    font-size: .8rem !important;
  }

  /* Hero banner petit mobile */
  .featured-container-img {
    min-height: 180px;
  }

  h1.entry-title {
    font-size: 1.4rem !important;
    letter-spacing: 0.5px;
  }

  /* Bloc descriptif petit mobile */
  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) .elementor-widget-container {
    padding: 16px 12px;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h3 {
    font-size: 1.15rem !important;
  }

  :is(.elementor-element-c41b70a, .elementor-element-3f66ddf4, .elementor-element-4e6ea2e8, .elementor-element-216f39f6) h2 {
    font-size: 1rem !important;
  }

  /* Page CGL petit mobile */
  article#post-2145 .entry-content {
    padding: 20px 14px 24px;
  }

  article#post-2145 .entry-content > h1,
  article#post-2145 .entry-content > header > h1 {
    font-size: 1.12rem !important;
  }

  article#post-2145 .entry-content > h2 {
    font-size: .95rem !important;
  }

  article#post-2145 .entry-content > p {
    font-size: .9rem !important;
  }

  article#post-2145 .entry-content > ul > li {
    font-size: .88rem;
  }
}


/* ================================================
   15) FINALISATION PROJET - CHARLEMAGNE
   ================================================ */

/* Logo plus grand et blanc (site Charlemagne uniquement) */
body.charlemagne-site .logomenupart,
body.charlemagne-site .logomenupart.e4j-mainmenu,
body.charlemagne-site .headt-part .logomenupart {
  min-height: 210px !important;
}

body.charlemagne-site .logomenupart.fx-menu-slide,
body.charlemagne-site .fx-menu-slide,
body.charlemagne-site .headfixed .headt-part .fx-menu-slide {
  min-height: 210px !important;
}

body.charlemagne-site #tbar-logo,
body.charlemagne-site #tbar-logo.logo-center,
body.charlemagne-site .headt-part #tbar-logo,
body.charlemagne-site .headt-part #tbar-logo.logo-center,
body.charlemagne-site .logomenu-cnt #tbar-logo,
body.charlemagne-site .logomenu-cnt #tbar-logo.logo-center {
  width: 48% !important;
  max-width: 420px !important;
}

body.charlemagne-site #tbar-logo img,
body.charlemagne-site #tbar-logo a img,
body.charlemagne-site #tbar-logo.logo-center img,
body.charlemagne-site #tbar-logo.logo-center a img,
body.charlemagne-site .headt-part #tbar-logo img,
body.charlemagne-site .headt-part #tbar-logo a img,
body.charlemagne-site .logomenu-cnt #tbar-logo img,
body.charlemagne-site .logomenu-cnt #tbar-logo a img,
body.charlemagne-site .fx-menu-slide #tbar-logo img,
body.charlemagne-site .fx-menu-slide #tbar-logo a img {
  max-height: 360px !important;
  width: auto !important;
  transition: none !important;
  filter: none !important;
}

/* Bouton WhatsApp vert et centre vertical ecran */
body.charlemagne-site .joinchat {
  right: 16px !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 9998 !important;
}

body.charlemagne-site .joinchat__button,
body.charlemagne-site .joinchat__button .joinchat__open,
body.charlemagne-site .joinchat__button .joinchat__open__icon {
  background: #25D366 !important;
}

/* Rendu emoji plus premium (remplacement JS vers icones FA) */
body.charlemagne-site .cl-icon-emoji {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  margin-right: 6px;
  font-size: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--cl-orange-dark) 0%, var(--cl-orange) 100%);
  box-shadow: 0 2px 8px rgba(255, 140, 0, .25);
  vertical-align: -3px;
}

/* Bloc services dynamique compact */
body.charlemagne-site .cl-services-dynamic {
  margin: 28px auto 12px;
  padding: 22px 18px;
  border: 1px solid var(--cl-gray-200);
  border-radius: var(--r-lg);
  background: var(--cl-white);
  box-shadow: var(--sh-sm);
}

body.charlemagne-site .cl-services-dynamic h2 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
}

body.charlemagne-site .cl-services-dynamic .cl-services-dynamic-intro {
  margin-bottom: 14px;
  font-size: .95rem;
  color: var(--cl-gray-700);
}

body.charlemagne-site .cl-services-dynamic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.charlemagne-site .cl-service-item {
  border: 1px solid var(--cl-gray-200);
  border-radius: 10px;
  background: var(--cl-snow);
  padding: 0;
}

body.charlemagne-site .cl-service-item > summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 12px;
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--cl-brown);
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .4px;
}

body.charlemagne-site .cl-service-item > summary::-webkit-details-marker {
  display: none;
}

body.charlemagne-site .cl-service-item[open] > summary {
  color: var(--cl-orange-dark);
}

body.charlemagne-site .cl-service-item > p {
  margin: 0;
  padding: 0 12px 12px;
  text-align: left;
  font-size: .92rem;
  line-height: 1.55;
}

/* ======================================================================
   Footer / subfooter / menu mobile - garde-fous Charlemagne
   ====================================================================== */
body.charlemagne-site #upfooter,
body.charlemagne-site footer,
body.charlemagne-site #foot-cont,
body.charlemagne-site #sidebar-footer,
body.charlemagne-site #subfooter,
body.charlemagne-site #nav-menu-devices,
body.charlemagne-site .nav-devices-content,
body.charlemagne-site .nav-devices-inner {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.charlemagne-site #subfooter {
  margin-top: 0 !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

body.charlemagne-site #nav-menu-devices {
  z-index: 1001 !important;
}

body.charlemagne-site #nav-menu-devices .nav-devices-inner {
  display: block !important;
}

body.charlemagne-site #upfooter .contact-item,
body.charlemagne-site #upfooter .vikicons-item,
body.charlemagne-site #subfooter .subfooter-text,
body.charlemagne-site #subfooter a {
  color: inherit;
}

@media (max-width: 768px) {
  body.charlemagne-site #upfooter {
    padding: 24px 14px 18px !important;
  }

  body.charlemagne-site #upfooter .vikicons-set {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.charlemagne-site #upfooter .vikicons-item,
  body.charlemagne-site #upfooter .vikicons-item[class*="col-"] {
    flex: 1 1 auto !important;
    max-width: none !important;
    width: 100% !important;
  }

  body.charlemagne-site #subfooter .subfooter-text {
    text-align: center !important;
    width: 100% !important;
  }

  body.charlemagne-site #nav-menu-devices {
    right: 0 !important;
  }

  body.charlemagne-site #nav-menu-devices .nav-devices-inner {
    width: min(270px, 88vw) !important;
  }
}

@media (max-width: 900px) {
  body.charlemagne-site .cl-services-dynamic-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================
   16) ACCESSIBILITÉ — REDUCE MOTION
   ================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}


/* ================================================
  17) IMPRESSION
   ================================================ */
@media print {
  * {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }

  h1::after { display: none !important; }

  .car_result,
  .tropicar-option,
  .charlemagne-option,
  .vikicons-item {
    break-inside: avoid;
    border: 1px solid #999 !important;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: .8em;
    color: #666;
  }
}

/* ================================================
   FIX 2026-05-30 — MENU MOBILE / FOOTER / UPFOOTER RESPONSIVE
   ================================================ */

/* --- MENU MOBILE : fond sombre (texte = blanc par défaut du thème) --- */
.menumobile,
.logomenupart.menumobile,
.headfixed .logomenupart.menumobile {
  background: #1a1a1a !important;
  padding: 20px 15px !important;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
  display: block !important;
}

.menumobile .mainmenu-items,
.menumobile .logomenu-cnt {
  background: #1a1a1a !important;
}

.menumobile .mainmenu-items .moduletable ul > li {
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.menumobile .mainmenu-items .moduletable ul > li > a,
.menumobile .mainmenu-items .moduletable ul > li > span {
  color: #fff !important;
  padding: 12px 10px !important;
  display: block;
  font-size: 1rem;
}

.menumobile .mainmenu-items .moduletable ul > li > a:hover {
  color: var(--cl-orange, #FF8C00) !important;
  background: rgba(255,255,255,.05);
}

/* --- FOOTER : visibilité garantie --- */
footer,
#foot-cont {
  background: #1a1a1a !important;
  color: rgba(255,255,255,.9) !important;
  padding: 24px 16px;
  min-height: 60px;
}

footer a,
#foot-cont a {
  color: #FF8C00 !important;
}

footer a:hover,
#foot-cont a:hover {
  color: #FFA533 !important;
}

/* --- UPFOOTER RESPONSIVE (override Bootstrap d-flex/col-* + responsive_device.css) --- */
@media (max-width: 768px) {
  #upfooter {
    padding: 20px 12px !important;
    overflow-x: hidden !important;
  }

  #upfooter .vikicons-container.container-fluid,
  #upfooter .vikicons-inner.container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  /* Override Bootstrap .d-flex.flex-wrap */
  #upfooter .vikicons-set,
  #upfooter .vikicons-set.d-flex,
  #upfooter .vikicons-set.d-flex.flex-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* Override Bootstrap col-xs-6 col-md-10 */
  #upfooter .vikicons-item,
  #upfooter .vikicons-item[class*="col-"],
  #upfooter .vikicons-item.col-xs-6,
  #upfooter .vikicons-item.col-md-10 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  /* Contact block : colonne verticale */
  #upfooter .tropicar-contact-block,
  #upfooter .charlemagne-contact-block,
  #upfooter .vikicons-item-text .tropicar-contact-block,
  #upfooter .vikicons-item-text .charlemagne-contact-block {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  /* Chaque contact-item pleine largeur */
  #upfooter .contact-item,
  #upfooter .tropicar-contact-block .contact-item,
  #upfooter .charlemagne-contact-block .contact-item {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    flex: none !important;
  }

  /* Menu mobile : forcer le fond sombre sur le header entier en mode responsive */
  .logomenupart,
  .logomenupart.e4j-mainmenu,
  .headfixed .logomenupart {
    background: #1a1a1a !important;
  }

  .mainmenu-items .moduletable ul > li > a,
  .mainmenu-items .moduletable ul > li > div > a,
  .mainmenu-items .moduletable ul > li > span {
    color: #fff !important;
  }
}

@media (max-width: 480px) {
  #upfooter .vikicons-item {
    padding: 10px 8px !important;
  }

  #upfooter .vikicons-item-text {
    font-size: .85rem !important;
  }

  #upfooter .contact-item {
    padding: 10px !important;
  }
}

/* --- LOGO (Charlemagne + Tropicar) : visible au scroll sticky --- */
.fx-menu-slide #tbar-logo {
  display: flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
}

.fx-menu-slide #tbar-logo img {
  max-height: 70px !important;
  width: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}
