/* =========================================================================
   BOISSIÈRE AUTOS — Feuille de style principale
   Les couleurs et polices proviennent de variables injectées par le thème
   (inc/dynamic-css.php). Les valeurs ci-dessous servent de repli.
   ========================================================================= */

:root {
	--vm-white:#ffffff;
	--vm-ink:#0E1217;
	--vm-ink-soft:#3a3f4a;
	--vm-muted:#6b7280;
	--vm-line:#E4E7EC;
	--vm-bg:#F6F7F9;
	--vm-bg-2:#eef1f5;
	--vm-blue:#1A56DB;
	--vm-blue-rgb:26, 86, 219;
	--vm-blue-700:#1542a8;
	--vm-blue-tint:#eaf1fe;
	--vm-deep:#0B2A4A;
	--vm-deep-rgb:11, 42, 74;
	--font-display:'Sora', sans-serif;
	--font-body:'Manrope', sans-serif;

	--vm-radius:16px;
	--vm-radius-sm:10px;
	--vm-radius-pill:999px;
	--vm-maxw:1200px;
	--vm-gut:24px;
	--vm-shadow-sm:0 1px 2px rgba(14,18,23,.04), 0 2px 6px rgba(14,18,23,.05);
	--vm-shadow:0 18px 40px -18px rgba(14,18,23,.22);
	--vm-shadow-lg:0 30px 60px -22px rgba(14,18,23,.28);
	--vm-shadow-blue:0 16px 30px -12px rgba(var(--vm-blue-rgb),.5);
	--vm-trans:.25s cubic-bezier(.4,0,.2,1);
}

/* Correctif global : un élément [hidden] doit toujours rester masqué.
   Sans cela, le calque de la lightbox restait au-dessus de la page (invisible)
   et interceptait tous les clics, rendant le menu inutilisable sur la fiche. */
[hidden]{display:none!important;}

/* ---------- Base ---------- */
.autosphere{
	font-family:var(--font-body);
	color:var(--vm-ink);
	background:var(--vm-white);
	-webkit-font-smoothing:antialiased;
	line-height:1.6;
}
.autosphere *{box-sizing:border-box;}
.autosphere h1,.autosphere h2,.autosphere h3,.autosphere h4{
	font-family:var(--font-display);
	color:var(--vm-ink);
	line-height:1.15;
	letter-spacing:-.02em;
	margin:0;
	font-weight:700;
}
.autosphere p{margin:0;}
.autosphere a{color:inherit;text-decoration:none;}
.autosphere img{max-width:100%;height:auto;display:block;}
.autosphere ul{margin:0;padding:0;list-style:none;}

.vm-container{width:100%;max-width:var(--vm-maxw);margin:0 auto;padding-inline:var(--vm-gut);}
.vm-container--narrow{max-width:820px;}

.vm-icon{flex:0 0 auto;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.vm-skip{position:absolute;left:-999px;top:0;background:var(--vm-blue);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:1000;}
.vm-skip:focus{left:0;}
.vm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* =========================================================================
   BOUTONS & LIENS
   ========================================================================= */
.vm-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5em;
	font-family:var(--font-display);font-weight:600;font-size:.95rem;
	padding:.85em 1.5em;border-radius:var(--vm-radius-pill);
	border:1.5px solid transparent;cursor:pointer;
	transition:transform var(--vm-trans),background var(--vm-trans),box-shadow var(--vm-trans),color var(--vm-trans),border-color var(--vm-trans);
	line-height:1;text-align:center;
}
.vm-btn:active{transform:translateY(1px);}
.vm-btn--primary{background:var(--vm-btn-bg,var(--vm-blue));color:var(--vm-btn-text,#fff);box-shadow:var(--vm-shadow-blue);}
.vm-btn--primary:hover{background:var(--vm-btn-bg-700,var(--vm-blue-700));transform:translateY(-2px);}
.vm-btn--outline{background:transparent;color:var(--vm-ink);border-color:var(--vm-line);}
.vm-btn--outline:hover{border-color:var(--vm-blue);color:var(--vm-blue);background:var(--vm-blue-tint);}
.vm-btn--ghost{background:transparent;color:var(--vm-muted);padding-inline:.6em;}
.vm-btn--ghost:hover{color:var(--vm-blue);}
.vm-btn--light{background:#fff;color:var(--vm-blue);}
.vm-btn--light:hover{transform:translateY(-2px);box-shadow:var(--vm-shadow);}
.vm-btn.is-loading{opacity:.7;pointer-events:none;}

/* Couleurs pilotables depuis le Personnalisateur + priorité forcée sur le thème
   parent Astra (qui imposait sinon ses propres couleurs de titres/liens). */
body.autosphere .vm-btn--primary{background:var(--vm-btn-bg,var(--vm-blue))!important;color:var(--vm-btn-text,#fff)!important;}
body.autosphere .vm-btn--primary:hover{background:var(--vm-btn-bg-700,var(--vm-blue-700))!important;}
body.autosphere .hero__title{color:var(--vm-hero-title,#fff)!important;}

.vm-link{display:inline-flex;align-items:center;gap:.4em;color:var(--vm-blue);font-weight:600;font-family:var(--font-display);font-size:.95rem;transition:gap var(--vm-trans);}
.vm-link:hover{gap:.7em;}
.vm-link .vm-icon{transition:transform var(--vm-trans);}
.vm-link:hover .vm-icon{transform:translateX(3px);}

/* =========================================================================
   EN-TÊTE
   ========================================================================= */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--vm-trans),box-shadow var(--vm-trans),background var(--vm-trans);}
.site-header.is-scrolled{background:rgba(255,255,255,.95);border-bottom-color:var(--vm-line);box-shadow:var(--vm-shadow-sm);}
.site-header__inner{display:flex;align-items:center;gap:24px;min-height:74px;}
.site-header__brand{flex:0 0 auto;}

.site-logo{font-family:var(--font-display);font-weight:800;font-size:1.4rem;letter-spacing:-.03em;color:var(--vm-ink);display:inline-flex;}
.site-logo em{color:var(--vm-blue);font-style:normal;}
.custom-logo{max-height:42px;width:auto;}

.site-nav{flex:1 1 auto;}
.site-nav__menu{display:flex;align-items:center;gap:4px;}
.site-nav__menu > li{position:relative;}
.site-nav__menu > li > a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:10px;font-weight:600;font-size:.95rem;color:var(--vm-ink-soft);transition:color var(--vm-trans),background var(--vm-trans);}
.site-nav__menu > li > a:hover,.site-nav__menu > li.current-menu-item > a{color:var(--vm-blue);background:var(--vm-blue-tint);}
.site-nav__menu .menu-item-has-children > a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px;margin-top:-3px;opacity:.6;}
.site-nav__menu .sub-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:#fff;border:1px solid var(--vm-line);border-radius:14px;box-shadow:var(--vm-shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--vm-trans);z-index:50;}
.site-nav__menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.site-nav__menu .sub-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:.92rem;color:var(--vm-ink-soft);font-weight:500;transition:background var(--vm-trans),color var(--vm-trans);}
.site-nav__menu .sub-menu a:hover{background:var(--vm-bg);color:var(--vm-blue);}

.site-header__actions{flex:0 0 auto;display:flex;align-items:center;gap:14px;}
.site-header__phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-family:var(--font-display);color:var(--vm-ink);font-size:.95rem;}
.site-header__phone .vm-icon{color:var(--vm-blue);}
.site-header__phone:hover{color:var(--vm-blue);}
.site-header__cta{padding:.7em 1.2em;font-size:.9rem;}
.site-header__burger{display:none;background:none;border:none;color:var(--vm-ink);cursor:pointer;padding:6px;border-radius:8px;}

/* Mobile panel */
.site-mobile{border-top:1px solid var(--vm-line);background:#fff;padding:16px var(--vm-gut) 24px;}
.site-mobile__menu li > a{display:block;padding:13px 4px;font-weight:600;border-bottom:1px solid var(--vm-line);color:var(--vm-ink);}
.site-mobile__menu .sub-menu a{padding-left:20px;font-weight:500;color:var(--vm-muted);}
.site-mobile__phone{margin-top:18px;width:100%;}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{position:relative;padding-top:clamp(48px,7vw,96px);padding-bottom:96px;overflow:hidden;background:var(--vm-deep);}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform;}
.hero__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.12);background:linear-gradient(135deg,var(--vm-deep),var(--vm-blue-700));}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--vm-deep-rgb),.78) 0%,rgba(var(--vm-deep-rgb),.62) 45%,rgba(var(--vm-deep-rgb),.85) 100%);}
.hero__inner{position:relative;z-index:2;}
.hero__content{max-width:680px;color:#fff;}
.hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:7px 14px;border-radius:var(--vm-radius-pill);margin-bottom:22px;}
.hero__eyebrow .vm-icon{color:#fff;}
.hero__title{color:#fff;font-size:clamp(2.2rem,5.2vw,3.7rem);font-weight:800;margin-bottom:18px;}
.hero__subtitle{color:rgba(255,255,255,.86);font-size:clamp(1rem,1.6vw,1.18rem);max-width:560px;}

.hero__search-wrap{position:relative;z-index:5;margin-top:clamp(32px,5vw,52px);margin-bottom:-56px;}
.hero__search{background:#fff;border-radius:var(--vm-radius);box-shadow:var(--vm-shadow-lg);padding:22px;border:1px solid var(--vm-line);}
.hero__search-label{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:16px;}

/* Recherche rapide */
.vm-quick{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;}
.vm-quick__field{display:flex;flex-direction:column;gap:6px;}
.vm-quick__submit{height:52px;padding-inline:1.8em;}

/* =========================================================================
   CHAMPS DE FORMULAIRE PARTAGÉS (labels, selects, inputs)
   ========================================================================= */
.vm-label{font-family:var(--font-display);font-weight:600;font-size:.82rem;color:var(--vm-ink-soft);letter-spacing:.01em;}
.vm-select{position:relative;}
.vm-select select{
	appearance:none;-webkit-appearance:none;width:100%;height:52px;
	padding:0 42px 0 16px;border:1.5px solid var(--vm-line);border-radius:var(--vm-radius-sm);
	background:#fff;color:var(--vm-ink);font-family:var(--font-body);font-size:.95rem;font-weight:500;cursor:pointer;
	transition:border-color var(--vm-trans),box-shadow var(--vm-trans);
}
.vm-select select:focus{outline:none;border-color:var(--vm-blue);box-shadow:0 0 0 4px var(--vm-blue-tint);}
.vm-select .vm-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--vm-muted);pointer-events:none;}

.vm-input-icon{position:relative;}
.vm-input-icon .vm-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--vm-muted);}
.vm-input-icon input{width:100%;height:52px;padding:0 16px 0 44px;border:1.5px solid var(--vm-line);border-radius:var(--vm-radius-sm);font-family:var(--font-body);font-size:.95rem;background:#fff;transition:border-color var(--vm-trans),box-shadow var(--vm-trans);}
.vm-input-icon input:focus{outline:none;border-color:var(--vm-blue);box-shadow:0 0 0 4px var(--vm-blue-tint);}

/* =========================================================================
   RÉASSURANCE (sous le hero)
   ========================================================================= */
.trust{background:var(--vm-white);padding-top:96px;padding-bottom:36px;}
.trust__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 36px;}
.trust__item{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem;color:var(--vm-ink-soft);}
.trust__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--vm-blue-tint);color:var(--vm-blue);}
.trust__icon--img{width:auto;height:auto;background:transparent;border-radius:0;}
.trust__icon-img{display:block;width:40px;height:40px;object-fit:contain;}

/* =========================================================================
   SECTIONS GÉNÉRIQUES
   ========================================================================= */
.section{padding-block:clamp(56px,7vw,90px);}
.section--featured{background:var(--vm-white);}
.section--why{background:var(--vm-bg);}
.section--steps{background:var(--vm-white);}
.section--similar{background:var(--vm-bg);}
.section--catalogue{background:var(--vm-bg);padding-top:48px;}

.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;}
.section__head--center{justify-content:center;text-align:center;}
.section__head--center > div{max-width:640px;}
.section__eyebrow{font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--vm-blue);margin-bottom:10px;}
.section__title{font-size:clamp(1.7rem,3.2vw,2.5rem);}
.section__lead{color:var(--vm-muted);font-size:1.08rem;margin-top:14px;}
.section__cta{display:flex;justify-content:center;margin-top:44px;}

/* =========================================================================
   GRILLE & CARTES VÉHICULE (rendues par le plugin)
   ========================================================================= */
.vm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;}

.vm-card{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--vm-trans),box-shadow var(--vm-trans),border-color var(--vm-trans);}
.vm-card:hover{transform:translateY(-6px);box-shadow:var(--vm-shadow);border-color:transparent;}
.vm-card__media{position:relative;display:block;aspect-ratio:3/2;background:var(--vm-bg-2);overflow:hidden;}
.vm-thumb{position:absolute;inset:0;display:block;}
.vm-thumb__img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.vm-card:hover .vm-thumb__img{transform:scale(1.06);}
.vm-thumb__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c7ccd6;}

.vm-badge{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--font-display);font-weight:600;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;padding:6px 11px;border-radius:var(--vm-radius-pill);backdrop-filter:blur(4px);}
.vm-badge--disponible{background:rgba(16,185,129,.16);color:#047857;border:1px solid rgba(16,185,129,.3);}
.vm-badge--reserve{background:rgba(245,158,11,.18);color:#b45309;border:1px solid rgba(245,158,11,.3);}
.vm-badge--vendu{background:rgba(107,114,128,.2);color:#374151;border:1px solid rgba(107,114,128,.3);}

.vm-card__body{padding:20px;display:flex;flex-direction:column;flex:1;}
.vm-card__title{font-size:1.18rem;line-height:1.25;}
.vm-card__title a{transition:color var(--vm-trans);}
.vm-card__title a:hover{color:var(--vm-blue);}
.vm-card__sub{color:var(--vm-muted);font-size:.9rem;margin-top:5px;}

.vm-specs{margin:16px 0 18px;border-top:1px solid var(--vm-line);}
.vm-specs__row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--vm-line);font-size:.9rem;}
.vm-specs__row dt{display:inline-flex;align-items:center;gap:8px;color:var(--vm-muted);}
.vm-specs__row dt .vm-icon{color:var(--vm-blue);opacity:.85;}
.vm-specs__row dd{font-weight:600;color:var(--vm-ink);margin:0;}

.vm-card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:6px;}
.vm-price{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--vm-ink);display:block;line-height:1.1;}
.vm-price--ask{font-size:1.05rem;color:var(--vm-ink-soft);}
.vm-price__month{display:block;font-size:.8rem;color:var(--vm-muted);font-weight:500;margin-top:2px;}
.vm-card__link{display:inline-flex;align-items:center;gap:6px;color:var(--vm-blue);font-weight:600;font-size:.9rem;font-family:var(--font-display);white-space:nowrap;transition:gap var(--vm-trans);}
.vm-card__link:hover{gap:9px;}

.vm-empty{grid-column:1/-1;text-align:center;color:var(--vm-muted);padding:60px 20px;font-size:1.05rem;background:#fff;border:1px dashed var(--vm-line);border-radius:var(--vm-radius);}

/* =========================================================================
   PAGE LISTING / RECHERCHE
   ========================================================================= */
.page-hero{background:var(--vm-bg);padding-block:clamp(36px,5vw,64px);border-bottom:1px solid var(--vm-line);}
.page-hero--listing{background:linear-gradient(180deg,var(--vm-bg) 0%,var(--vm-bg-2) 100%);}
.page-hero__title{font-size:clamp(2rem,4vw,3rem);margin-top:14px;}
.page-hero__lead{color:var(--vm-muted);font-size:1.1rem;margin-top:14px;max-width:640px;}
.page-hero__intro{margin-top:14px;max-width:680px;}

.vm-search{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;}
.vm-search__aside{position:sticky;top:96px;}
.vm-filters{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:22px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--vm-shadow-sm);}
.vm-filters__group{display:flex;flex-direction:column;gap:7px;}
.vm-filters__reset{align-self:flex-start;margin-top:2px;}

.vm-search__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;}
.vm-search__count{font-family:var(--font-display);font-weight:700;font-size:1.1rem;}
.vm-select--sort{min-width:200px;}
.vm-search__main{min-width:0;}
.vm-search__main .vm-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
[data-vm-results].is-loading{opacity:.5;pointer-events:none;transition:opacity var(--vm-trans);}
.vm-search__more{display:flex;justify-content:center;margin-top:40px;}

/* =========================================================================
   « POURQUOI NOUS » — atouts
   ========================================================================= */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.feature{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:28px 24px;transition:transform var(--vm-trans),box-shadow var(--vm-trans);}
.feature:hover{transform:translateY(-5px);box-shadow:var(--vm-shadow);}
.feature__icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:14px;background:var(--vm-blue-tint);color:var(--vm-blue);margin-bottom:18px;}
.feature__title{font-size:1.15rem;margin-bottom:8px;}
.feature__text{color:var(--vm-muted);font-size:.95rem;}

/* =========================================================================
   ÉTAPES
   ========================================================================= */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step;}
.step{position:relative;padding:28px 22px;border-radius:var(--vm-radius);background:var(--vm-bg);border:1px solid var(--vm-line);}
.step__num{font-family:var(--font-display);font-weight:800;font-size:2.4rem;color:var(--vm-blue);opacity:.18;line-height:1;}
.step__title{font-size:1.12rem;margin:10px 0 8px;}
.step__text{color:var(--vm-muted);font-size:.93rem;}

/* =========================================================================
   FICHE VÉHICULE
   ========================================================================= */
.vehicle{padding-top:24px;padding-bottom:0;background:var(--vm-white);}
.vehicle__grid{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;margin-top:18px;}
.vehicle__main{min-width:0;}

/* Galerie */
.gallery__stage{position:relative;aspect-ratio:3/2;background:var(--vm-bg-2);border-radius:var(--vm-radius);overflow:hidden;border:1px solid var(--vm-line);}
.gallery__main{width:100%;height:100%;object-fit:cover;cursor:zoom-in;}
.gallery__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c7ccd6;}
.gallery__stage .vm-badge{top:16px;left:16px;}
.gallery__thumbs{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;}
.gallery__thumb{width:96px;height:66px;border-radius:10px;overflow:hidden;border:2px solid var(--vm-line);padding:0;cursor:pointer;background:var(--vm-bg-2);transition:border-color var(--vm-trans),transform var(--vm-trans);}
.gallery__thumb img{width:100%;height:100%;object-fit:cover;}
.gallery__thumb:hover{transform:translateY(-2px);}
.gallery__thumb.is-active{border-color:var(--vm-blue);}

.vehicle__intro--mobile{display:none;margin-top:22px;}
.vehicle__title{font-size:clamp(1.6rem,3vw,2.1rem);}
.vehicle__finish{color:var(--vm-blue);font-weight:600;font-family:var(--font-display);margin-top:6px;}

.vehicle__quick{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 8px;}
.vehicle__quick li{background:var(--vm-bg);border:1px solid var(--vm-line);border-radius:var(--vm-radius-pill);padding:7px 15px;font-size:.88rem;font-weight:600;color:var(--vm-ink-soft);}

.vehicle__block{margin-top:40px;}
.vehicle__h2{font-size:1.35rem;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--vm-line);}

/* Fiche technique — lignes en filets fins */
.spec-sheet{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.spec-sheet__row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--vm-line);}
.spec-sheet__row dt{display:inline-flex;align-items:center;gap:10px;color:var(--vm-muted);font-size:.92rem;}
.spec-sheet__row dt .vm-icon{color:var(--vm-blue);opacity:.85;}
.spec-sheet__row dd{margin:0;font-weight:700;font-family:var(--font-display);font-size:.95rem;}

/* Équipements */
.equip{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;}
.equip li{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;color:var(--vm-ink-soft);}
.equip li .vm-icon{color:var(--vm-blue);margin-top:2px;flex:0 0 auto;}

/* Panneau prix */
.vehicle__aside{position:sticky;top:96px;}
.price-panel{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:26px;box-shadow:var(--vm-shadow);}
.vehicle__intro--desktop{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--vm-line);}
.price-panel__arg{display:flex;align-items:flex-start;gap:8px;background:var(--vm-blue-tint);color:var(--vm-blue-700);border-radius:var(--vm-radius-sm);padding:11px 14px;font-size:.88rem;font-weight:600;margin-bottom:18px;}
.price-panel__arg .vm-icon{margin-top:2px;flex:0 0 auto;}
.price-panel__price{margin-bottom:20px;}
.price-panel__amount{font-family:var(--font-display);font-weight:800;font-size:2.3rem;color:var(--vm-ink);line-height:1;display:block;}
.price-panel__amount--ask{font-size:1.4rem;}
.price-panel__month{display:block;color:var(--vm-muted);font-size:.92rem;margin-top:8px;}
.price-panel__month strong{color:var(--vm-ink);}
.price-panel__cta{width:100%;margin-bottom:12px;}
.price-panel__sold{color:var(--vm-muted);font-size:.95rem;margin-bottom:16px;}
.price-panel__assur{margin-top:18px;padding-top:18px;border-top:1px solid var(--vm-line);display:flex;flex-direction:column;gap:11px;}
.price-panel__assur li{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--vm-ink-soft);}
.price-panel__assur .vm-icon{color:var(--vm-blue);}

/* Bloc demande */
.vehicle__lead{background:var(--vm-deep);color:#fff;margin-top:64px;padding-block:clamp(48px,6vw,72px);}
.vehicle__lead-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.vehicle__lead-text h2{color:#fff;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:14px;}
.vehicle__lead-text p{color:rgba(255,255,255,.82);font-size:1.05rem;}
.vehicle__lead-phone{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:#fff;}
.vehicle__lead-phone .vm-icon{color:#fff;}

/* =========================================================================
   FORMULAIRE DE DEMANDE (plugin)
   ========================================================================= */
.vm-lead{background:#fff;border-radius:var(--vm-radius);padding:28px;box-shadow:var(--vm-shadow);color:var(--vm-ink);}
.vm-lead__title{font-size:1.3rem;margin-bottom:18px;}
.vm-lead__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vm-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.vm-field input,.vm-field textarea{width:100%;border:1.5px solid var(--vm-line);border-radius:var(--vm-radius-sm);padding:13px 15px;font-family:var(--font-body);font-size:.95rem;background:#fff;transition:border-color var(--vm-trans),box-shadow var(--vm-trans);}
.vm-field input:focus,.vm-field textarea:focus{outline:none;border-color:var(--vm-blue);box-shadow:0 0 0 4px var(--vm-blue-tint);}
.vm-lead .vm-btn{width:100%;}
.vm-lead__feedback{margin-top:14px;font-size:.92rem;font-weight:600;min-height:1.2em;}
.vm-lead__feedback.is-success{color:#047857;}
.vm-lead__feedback.is-error{color:#dc2626;}

/* =========================================================================
   CARTES SERVICES
   ========================================================================= */
.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;}
.service-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:30px;transition:transform var(--vm-trans),box-shadow var(--vm-trans),border-color var(--vm-trans);}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--vm-shadow);border-color:transparent;}
.service-card__icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;background:var(--vm-blue-tint);color:var(--vm-blue);margin-bottom:20px;}
.service-card__title{font-size:1.25rem;margin-bottom:10px;}
.service-card__text{color:var(--vm-muted);font-size:.95rem;flex:1;}
.service-card__more{display:inline-flex;align-items:center;gap:6px;color:var(--vm-blue);font-weight:600;font-family:var(--font-display);font-size:.92rem;margin-top:18px;transition:gap var(--vm-trans);}
.service-card:hover .service-card__more{gap:10px;}

/* =========================================================================
   CONTENU ÉDITORIAL (prose)
   ========================================================================= */
.vm-prose{font-size:1.05rem;color:var(--vm-ink-soft);}
.vm-prose > *+*{margin-top:1.1em;}
.vm-prose h2{font-size:1.6rem;margin-top:1.8em;}
.vm-prose h3{font-size:1.25rem;margin-top:1.5em;}
.vm-prose p{line-height:1.75;}
.vm-prose a{color:var(--vm-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.vm-prose ul,.vm-prose ol{padding-left:1.4em;}
.vm-prose ul{list-style:disc;}
.vm-prose ol{list-style:decimal;}
.vm-prose li{margin-top:.5em;}
.vm-prose blockquote{border-left:3px solid var(--vm-blue);padding:6px 0 6px 20px;color:var(--vm-muted);font-style:italic;}
.vm-prose img{border-radius:var(--vm-radius);margin-block:1.4em;}

/* =========================================================================
   BANDEAU CTA (pied)
   ========================================================================= */
.vm-cta{background:linear-gradient(120deg,var(--vm-blue) 0%,var(--vm-blue-700) 100%);color:#fff;}
.vm-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:clamp(40px,5vw,60px);}
.vm-cta__text h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:8px;}
.vm-cta__text p{color:rgba(255,255,255,.88);font-size:1.05rem;max-width:520px;}

/* =========================================================================
   FIL D'ARIANE
   ========================================================================= */
.vm-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--vm-muted);}
.vm-breadcrumb a{color:var(--vm-muted);transition:color var(--vm-trans);}
.vm-breadcrumb a:hover{color:var(--vm-blue);}
.vm-breadcrumb span{color:var(--vm-ink);font-weight:600;}
.vm-breadcrumb i{color:var(--vm-line);font-style:normal;}

/* =========================================================================
   LISTE D'ARTICLES (repli)
   ========================================================================= */
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;}
.post-card{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);overflow:hidden;}
.post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--vm-bg-2);}
.post-card__media img{width:100%;height:100%;object-fit:cover;}
.post-card__body{padding:22px;}
.post-card__title{font-size:1.2rem;margin-bottom:10px;}
.post-card__excerpt{color:var(--vm-muted);font-size:.95rem;margin-bottom:14px;}
.vm-pagination{margin-top:40px;}
.vm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--vm-line);border-radius:10px;margin:0 4px;font-weight:600;transition:all var(--vm-trans);}
.vm-pagination .page-numbers.current{background:var(--vm-blue);color:#fff;border-color:var(--vm-blue);}
.vm-pagination .page-numbers:hover:not(.current){border-color:var(--vm-blue);color:var(--vm-blue);}

/* =========================================================================
   404
   ========================================================================= */
.section--404{padding-block:clamp(60px,9vw,120px);text-align:center;}
.error-404__code{font-family:var(--font-display);font-weight:800;font-size:clamp(4rem,12vw,7rem);color:var(--vm-blue);opacity:.16;line-height:1;}
.error-404__title{font-size:clamp(1.8rem,4vw,2.6rem);margin:8px 0 14px;}
.error-404__text{color:var(--vm-muted);font-size:1.1rem;max-width:500px;margin:0 auto 30px;}
.error-404__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* =========================================================================
   PIED DE PAGE
   ========================================================================= */
.site-footer{background:var(--vm-deep);color:rgba(255,255,255,.7);}
.site-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-block:clamp(48px,6vw,72px);}
.site-footer .site-logo{color:#fff;font-size:1.5rem;}
.site-footer .site-logo em{color:#fff;opacity:.55;}
.site-footer__about{margin-top:16px;max-width:360px;font-size:.95rem;line-height:1.7;}
.site-footer__socials{display:flex;gap:10px;margin-top:20px;}
.site-footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;transition:background var(--vm-trans),transform var(--vm-trans);}
.site-footer__socials a:hover{background:var(--vm-blue);transform:translateY(-2px);}
.site-footer__col h3{color:#fff;font-size:1rem;margin-bottom:18px;letter-spacing:.02em;}
.site-footer__menu li,.site-footer__contact li{margin-bottom:12px;}
.site-footer__menu a{color:rgba(255,255,255,.7);font-size:.95rem;transition:color var(--vm-trans);}
.site-footer__menu a:hover{color:#fff;}
.site-footer__contact li{display:flex;align-items:flex-start;gap:11px;font-size:.95rem;}
.site-footer__contact .vm-icon{color:var(--vm-blue);margin-top:2px;flex:0 0 auto;}
.site-footer__contact a{color:rgba(255,255,255,.8);}
.site-footer__contact a:hover{color:#fff;}
.site-footer__bar{border-top:1px solid rgba(255,255,255,.1);}
.site-footer__bar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px;font-size:.85rem;}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:8px 22px;}
.site-footer__legal a{color:rgba(255,255,255,.6);transition:color var(--vm-trans);}
.site-footer__legal a:hover{color:#fff;}

/* =========================================================================
   ANIMATIONS (révélation au défilement + parallax léger)
   ========================================================================= */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);}
.reveal.is-visible{opacity:1;transform:none;}

/* Décalage en cascade pour les éléments d'une même grille */
.features .feature:nth-child(2),.steps .step:nth-child(2),.vm-grid .vm-card:nth-child(2){transition-delay:.08s;}
.features .feature:nth-child(3),.steps .step:nth-child(3),.vm-grid .vm-card:nth-child(3){transition-delay:.16s;}
.features .feature:nth-child(4),.steps .step:nth-child(4){transition-delay:.24s;}

/* =========================================================================
   LIGHTBOX
   ========================================================================= */
.vm-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(8,12,18,.92);display:flex;align-items:center;justify-content:center;padding:32px;opacity:0;transition:opacity var(--vm-trans);}
.vm-lightbox.is-open{opacity:1;}
.vm-lightbox__img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.vm-lightbox__close{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.12);border:none;color:#fff;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--vm-trans);}
.vm-lightbox__close:hover{background:rgba(255,255,255,.25);}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1024px){
	.vehicle__grid{grid-template-columns:1fr;}
	.vehicle__aside{position:static;margin-top:8px;}
	.vehicle__intro--desktop{display:none;}
	.vehicle__intro--mobile{display:block;}
	.features{grid-template-columns:repeat(2,1fr);}
	.steps{grid-template-columns:repeat(2,1fr);}
	.site-footer__top{grid-template-columns:1fr 1fr;}
	.site-footer__brand{grid-column:1/-1;}
	.vm-quick{grid-template-columns:1fr 1fr;}
	.vm-quick__submit{grid-column:1/-1;width:100%;}
	.section__head{margin-bottom:32px;}
	.vehicle__lead{margin-top:48px;}
}

@media (max-width:880px){
	.site-nav,.site-header__phone,.site-header__cta{display:none;}
	.site-header__burger{display:inline-flex;}
	.vm-search{grid-template-columns:1fr;}
	.vm-search__aside{position:static;}
	.vm-quick{grid-template-columns:1fr 1fr;}
	.vm-quick__submit{grid-column:1/-1;width:100%;}
	.vehicle__lead-inner{grid-template-columns:1fr;gap:28px;}
	.vm-cta__inner{flex-direction:column;align-items:flex-start;text-align:left;}
}

@media (max-width:560px){
	:root{--vm-gut:18px;}
	.hero{padding-bottom:80px;}
	.hero__search-wrap{margin-bottom:-48px;}
	.trust{padding-top:84px;}
	.vm-quick{grid-template-columns:1fr;}
	.features,.steps,.spec-sheet,.equip,.vm-lead__row{grid-template-columns:1fr;}
	.section__head{flex-direction:column;align-items:flex-start;}
	.gallery__thumb{width:74px;height:52px;}
	.price-panel__amount{font-size:2rem;}
	.site-footer__top{grid-template-columns:1fr;}
	.site-footer__bar-inner{flex-direction:column;align-items:flex-start;}
}

/* =========================================================================
   ACCESSIBILITÉ — mouvement réduit
   ========================================================================= */
@media (prefers-reduced-motion:reduce){
	.reveal{opacity:1!important;transform:none!important;transition:none!important;}
	.hero__img{transform:none!important;}
	*{scroll-behavior:auto!important;}
	.vm-card:hover,.feature:hover,.service-card:hover,.vm-btn:hover{transform:none;}
}

/* =========================================================================
   NOUVEAUX COMPOSANTS (v1.1) — galerie carrousel, logos, modales, calendrier
   ========================================================================= */

/* Libellés de formulaire (réutilisés par les modales) */
.vm-label{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--vm-ink);}

/* ---------- Galerie : flèches & compteur ---------- */
.gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:var(--vm-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--vm-shadow-sm);transition:background var(--vm-trans),transform var(--vm-trans);z-index:3;}
.gallery__arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.gallery__arrow--prev{left:14px;}
.gallery__arrow--next{right:14px;}
.gallery__count{position:absolute;bottom:14px;right:14px;background:rgba(8,12,18,.7);color:#fff;font-size:.82rem;font-weight:600;padding:5px 12px;border-radius:var(--vm-radius-pill);z-index:3;letter-spacing:.02em;}

/* ---------- Lightbox : navigation ---------- */
.vm-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--vm-trans);}
.vm-lightbox__nav:hover{background:rgba(255,255,255,.25);}
.vm-lightbox__nav--prev{left:24px;}
.vm-lightbox__nav--next{right:24px;}
.vm-lightbox__count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:.9rem;font-weight:600;background:rgba(255,255,255,.1);padding:6px 14px;border-radius:var(--vm-radius-pill);}

/* ---------- Carrousel de logos partenaires ---------- */
.section--logos{padding-block:clamp(36px,4vw,56px);}
.logos__title{text-align:center;color:var(--vm-muted);font-family:var(--font-display);font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:30px;}
.logos-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.logos-marquee__track{display:flex;align-items:center;width:max-content;animation:vm-marquee 32s linear infinite;}
.logos-marquee:hover .logos-marquee__track{animation-play-state:paused;}
.logos-marquee__item{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 36px;}
.logos-marquee__item img{max-height:var(--logos-h,64px);width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter var(--vm-trans),opacity var(--vm-trans);}
.logos-marquee__item img:hover{filter:grayscale(0);opacity:1;}
@keyframes vm-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Modales (rappel / réservation) ---------- */
.vm-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity var(--vm-trans);}
.vm-modal.is-open{opacity:1;}
.vm-modal__backdrop{position:absolute;inset:0;background:rgba(8,12,18,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.vm-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:var(--vm-radius);box-shadow:var(--vm-shadow-lg);width:100%;max-width:480px;max-height:92vh;overflow:auto;padding:30px;transform:translateY(16px) scale(.98);transition:transform var(--vm-trans);}
.vm-modal.is-open .vm-modal__dialog{transform:none;}
.vm-modal__dialog--wide{max-width:780px;}
.vm-modal__close{position:absolute;top:16px;right:16px;background:var(--vm-bg);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--vm-ink-soft);transition:background var(--vm-trans),color var(--vm-trans);}
.vm-modal__close:hover{background:var(--vm-bg-2);color:var(--vm-ink);}
.vm-modal__head{margin-bottom:22px;padding-right:40px;}
.vm-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--vm-blue-tint);color:var(--vm-blue);margin-bottom:14px;}
.vm-modal__head h3{font-size:1.45rem;margin-bottom:6px;}
.vm-modal__head p{color:var(--vm-muted);font-size:.98rem;}
.vm-modal__submit{width:100%;margin-top:8px;}

/* Formulaire de rappel dans la modale */
.vm-lead--plain{background:transparent;box-shadow:none;padding:0;border-radius:0;}
.vm-rappel-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:start;}
.vm-rappel-fields{display:flex;flex-direction:column;gap:16px;}
.vm-rappel-fields .vm-field{margin-bottom:0;}
.vm-rappel-cal > .vm-label{display:block;margin-bottom:10px;}

/* Calendrier */
.vm-cal{border:1px solid var(--vm-line);border-radius:var(--vm-radius-sm);padding:14px;background:#fff;}
.vm-cal__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.vm-cal__month{font-family:var(--font-display);font-weight:700;font-size:1rem;text-transform:capitalize;}
.vm-cal__arrow{width:34px;height:34px;border-radius:9px;border:1px solid var(--vm-line);background:#fff;color:var(--vm-ink);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--vm-trans),border-color var(--vm-trans);}
.vm-cal__arrow:hover:not([disabled]){background:var(--vm-blue-tint);border-color:var(--vm-blue);color:var(--vm-blue);}
.vm-cal__arrow[disabled]{opacity:.35;cursor:not-allowed;}
.vm-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.vm-cal__dow{text-align:center;font-size:.72rem;font-weight:700;color:var(--vm-muted);text-transform:uppercase;letter-spacing:.03em;padding:4px 0;}
.vm-cal__day{aspect-ratio:1;border:none;background:transparent;border-radius:9px;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--vm-ink);cursor:pointer;transition:background var(--vm-trans),color var(--vm-trans);display:flex;align-items:center;justify-content:center;}
.vm-cal__day:hover:not([disabled]){background:var(--vm-blue-tint);color:var(--vm-blue);}
.vm-cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--vm-line);}
.vm-cal__day.is-active{background:var(--vm-blue);color:#fff;}
.vm-cal__day[disabled]{color:#c7ccd6;cursor:not-allowed;}
.vm-cal__day--empty{pointer-events:none;}
.vm-cal__slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--vm-line);}
.vm-cal__slot{border:1px solid var(--vm-line);background:#fff;border-radius:var(--vm-radius-pill);padding:8px 14px;font-size:.88rem;font-weight:600;font-family:var(--font-display);color:var(--vm-ink);cursor:pointer;transition:all var(--vm-trans);}
.vm-cal__slot:hover{border-color:var(--vm-blue);color:var(--vm-blue);}
.vm-cal__slot.is-active{background:var(--vm-blue);border-color:var(--vm-blue);color:#fff;}
.vm-cal__hint{color:var(--vm-muted);font-size:.88rem;}
.vm-cal__chosen{margin-top:12px;font-size:.92rem;font-weight:600;color:var(--vm-muted);}
.vm-cal__chosen.is-set{color:var(--vm-blue);}

/* Options de réservation (acompte / comptant) */
.vm-reserve{display:flex;flex-direction:column;gap:14px;}
.vm-reserve__opt{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label amount" "sub amount";gap:2px 16px;align-items:center;border:1.5px solid var(--vm-line);border-radius:var(--vm-radius-sm);padding:18px 20px;cursor:pointer;transition:border-color var(--vm-trans),box-shadow var(--vm-trans),transform var(--vm-trans);}
.vm-reserve__opt:hover{border-color:var(--vm-blue);transform:translateY(-2px);box-shadow:var(--vm-shadow-sm);}
.vm-reserve__opt--primary{border-color:var(--vm-blue);background:var(--vm-blue-tint);}
.vm-reserve__opt-label{grid-area:label;font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--vm-ink);}
.vm-reserve__opt-amount{grid-area:amount;font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--vm-blue);}
.vm-reserve__opt-sub{grid-area:sub;color:var(--vm-muted);font-size:.88rem;}
.vm-reserve__assur{display:flex;flex-direction:column;gap:9px;margin-top:6px;padding-top:16px;border-top:1px solid var(--vm-line);}
.vm-reserve__assur li{display:flex;align-items:center;gap:10px;color:var(--vm-ink-soft);font-size:.92rem;font-weight:500;}
.vm-reserve__assur .vm-icon{color:var(--vm-blue);flex:0 0 auto;}
.vm-reserve__soon{color:var(--vm-ink-soft);font-size:.98rem;line-height:1.6;margin-bottom:6px;}
.vm-reserve .vm-btn{width:100%;}

/* ---------- Responsive des nouveaux composants ---------- */
@media (max-width:720px){
	.vm-rappel-grid{grid-template-columns:1fr;gap:22px;}
	.vm-modal__dialog{padding:24px;}
	.vm-modal__head h3{font-size:1.3rem;}
}
@media (max-width:560px){
	.gallery__arrow{width:38px;height:38px;}
	.gallery__arrow--prev{left:10px;}
	.gallery__arrow--next{right:10px;}
	.vm-lightbox__nav{width:46px;height:46px;}
	.vm-lightbox__nav--prev{left:10px;}
	.vm-lightbox__nav--next{right:10px;}
	.logos-marquee__item{padding:0 24px;}
	.vm-reserve__opt{grid-template-columns:1fr;grid-template-areas:"label" "amount" "sub";gap:4px;}
	.vm-reserve__opt-amount{font-size:1.3rem;}
}

/* Mouvement réduit : on fige le défilement des logos et les transitions de modale */
@media (prefers-reduced-motion:reduce){
	.logos-marquee__track{animation:none!important;}
	.vm-modal__dialog{transition:none!important;}
}

/* ---------- WooCommerce (réservation / paiement) : accord visuel léger ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce #place_order{border-radius:var(--vm-radius-pill);font-family:var(--font-display);font-weight:600;}
.woocommerce-checkout #payment{border-radius:var(--vm-radius);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page form .form-row input.input-text{border-radius:var(--vm-radius-sm);}
.woocommerce-info,.woocommerce-message{border-top-color:var(--vm-blue);}

/* ====================================================================
 *  PHASE 3 — Contenu éditable, simulateur, logo & corrections
 * ================================================================= */

/* Bouton clair du bandeau « contact » : forcer le contraste (Astra force le texte en blanc -> blanc sur blanc) */
body.autosphere .vm-btn--light{background:#fff!important;color:var(--vm-blue)!important;}
body.autosphere .vm-btn--light:hover{background:#fff!important;color:var(--vm-blue-700)!important;}

/* Logo image (prioritaire sur le texte) — dimensions pilotées en ligne via le Personnalisateur */
.site-logo--img{display:inline-flex;align-items:center;line-height:0;}
.site-logo__img{display:block;max-width:100%;width:auto;height:auto;}

/* En-tête de page : sur-titre */
.page-hero__eyebrow{font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vm-blue);margin:0 0 4px;}

/* Bandeau de recherche sans compteur : tri aligné à droite */
.vm-search__bar{justify-content:flex-end;}

/* ---- Sections image / texte alternées ---- */
.pc-row__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.pc-row--flip .pc-row__media{order:2;}
.pc-row__media{position:relative;}
.pc-row__img{width:100%;height:100%;max-height:440px;object-fit:cover;border-radius:var(--vm-radius);box-shadow:var(--vm-shadow);display:block;}
.pc-row__placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;width:100%;border-radius:var(--vm-radius);background:var(--vm-bg-2);color:#c2c8d2;border:1px solid var(--vm-line);}
.pc-row__title{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.18;margin:0 0 20px;}
.pc-row__body{color:var(--vm-ink-soft);font-size:1.06rem;line-height:1.7;}
.pc-row__body p{margin:0 0 16px;}
.pc-row__body p:last-child{margin-bottom:0;}
/* Alternance de fond pour le rythme visuel (liée au sens image/texte) */
.pc-row--shade{background:var(--vm-bg);}
.section--bg{background:var(--vm-bg);}

/* ---- Cartes ---- */
.pc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;}
.pc-card{padding:30px 26px;border-radius:var(--vm-radius);background:#fff;border:1px solid var(--vm-line);box-shadow:var(--vm-shadow-sm);}
.pc-card__icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:14px;background:var(--vm-blue-tint);color:var(--vm-blue);margin-bottom:16px;}
.pc-card__title{font-size:1.18rem;margin:0 0 10px;}
.pc-card__text{color:var(--vm-muted);font-size:.97rem;line-height:1.65;}

/* ---- Simulateur de financement (fiche) ---- */
.finance{margin-top:18px;border:1px solid var(--vm-line);border-radius:var(--vm-radius);background:#fff;padding:22px;box-shadow:var(--vm-shadow-sm);}
.finance__title{display:flex;align-items:center;gap:8px;font-size:1.12rem;margin:0 0 18px;}
.finance__title svg{color:var(--vm-blue);flex:0 0 auto;}
.finance__field{margin-bottom:18px;}
.finance__field-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;}
.finance__label{font-weight:600;font-size:.92rem;color:var(--vm-ink);display:block;margin-bottom:8px;}
.finance__field-head .finance__label{margin-bottom:0;}
.finance__apport-val{font-family:var(--font-display);font-weight:700;color:var(--vm-blue);font-size:1.02rem;}
.finance__range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--vm-bg-2);outline:none;cursor:pointer;margin:2px 0;}
.finance__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--vm-blue);border:3px solid #fff;box-shadow:var(--vm-shadow-sm);cursor:pointer;}
.finance__range::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:var(--vm-blue);cursor:pointer;}
.finance__durations{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.finance__dur{padding:10px 0;border:1px solid var(--vm-line);background:#fff;border-radius:10px;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--vm-ink);cursor:pointer;transition:all var(--vm-trans);}
.finance__dur:hover{border-color:var(--vm-blue);color:var(--vm-blue);}
.finance__dur.is-active{background:var(--vm-blue);border-color:var(--vm-blue);color:#fff;}
.finance__dur-unit{display:block;text-align:right;font-size:.8rem;color:var(--vm-muted);margin-top:6px;}
.finance__result{display:flex;align-items:baseline;gap:6px;justify-content:center;padding:16px 0 4px;border-top:1px solid var(--vm-line);margin-top:4px;}
.finance__month-amount{font-family:var(--font-display);font-weight:800;font-size:2.1rem;color:var(--vm-deep);line-height:1;}
.finance__month-unit{color:var(--vm-muted);font-weight:600;}
.finance__taeg{text-align:center;font-size:.9rem;color:var(--vm-ink-soft);margin:4px 0 0;}
.finance__note{font-size:.8rem;color:var(--vm-muted);line-height:1.5;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--vm-line);}

/* ---- Modale « rappel » : disposition verticale ---- */
.vm-modal__dialog--rappel{max-width:520px;}
.vm-rappel{display:flex;flex-direction:column;gap:16px;}
.vm-rappel .vm-field{margin-bottom:0;}
.vm-rappel textarea{width:100%;min-height:84px;resize:vertical;}
.vm-label__opt{font-weight:500;color:var(--vm-muted);font-size:.85em;}
.vm-rappel .vm-cal{width:100%;}
.vm-rappel .vm-cal__grid{gap:3px;}

/* ---- Espacement éditorial : un peu plus d'air dans les en-têtes ---- */
.section__lead{margin-top:16px;}

/* ====================== Responsive Phase 3 ====================== */
@media (max-width:880px){
	/* En-tête mobile : logo tout à gauche, burger tout à droite */
	.site-header__actions{margin-left:auto;}
}

@media (max-width:760px){
	.pc-row__inner{grid-template-columns:1fr;gap:24px;}
	.pc-row--flip .pc-row__media{order:0;}
	.pc-row__img,.pc-row__placeholder{max-height:300px;}
	.pc-row__title{margin-bottom:14px;}
}

/* ====================================================================
 *  PHASE 4 — Espacements, calendrier, tunnel 3 étapes, avis
 * ================================================================= */

/* ---- 1) Espacement homogène sous les titres soulignés de la fiche ---- */
.vehicle__block .equip{padding-top:16px;}
.vehicle__block .vehicle__desc{padding-top:16px;}

/* ---- 2) Calendrier : tient toujours dans la popup (desktop + mobile) ---- */
.vm-modal__dialog{overflow-x:hidden;}
.vm-modal__dialog--rappel{max-width:540px;}
.vm-cal{width:100%;max-width:100%;box-sizing:border-box;}
.vm-cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));}
.vm-cal__day{min-width:0;}
.vm-cal__dow{min-width:0;}
@media (max-width:600px){
	.vm-cal{padding:10px;}
	.vm-cal__grid{gap:2px;}
	.vm-cal__day{font-size:.82rem;border-radius:7px;}
	.vm-cal__dow{font-size:.62rem;}
}

/* ---- 3) Tunnel de réservation (3 étapes) ---- */
.section--resa{padding-block:clamp(36px,5vw,64px);}

/* Barre de progression */
.vm-steps{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;margin:0 0 36px;padding:0;flex-wrap:wrap;}
.vm-step{display:flex;align-items:center;gap:10px;color:var(--vm-muted);font-weight:600;font-size:.95rem;}
.vm-step__num{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--vm-line);font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--vm-muted);}
.vm-step__num svg{width:16px;height:16px;}
.vm-step::after{content:"";width:34px;height:2px;background:var(--vm-line);margin-left:8px;}
.vm-step:last-child::after{display:none;}
.vm-step.is-active{color:var(--vm-ink);}
.vm-step.is-active .vm-step__num{background:var(--vm-blue);border-color:var(--vm-blue);color:#fff;box-shadow:var(--vm-shadow-blue);}
.vm-step.is-done{color:var(--vm-blue);}
.vm-step.is-done .vm-step__num{background:var(--vm-blue-tint);border-color:var(--vm-blue);color:var(--vm-blue);}

/* Grille : véhicule + contenu */
.vm-resa__grid{display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start;}
.vm-resa__title{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 6px;}
.vm-resa__sub{color:var(--vm-muted);margin:0 0 22px;}
.vm-resa--empty{text-align:center;padding:40px 0;}

/* Carte véhicule */
.vm-resa-veh{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);overflow:hidden;box-shadow:var(--vm-shadow-sm);position:sticky;top:96px;}
.vm-resa-veh__media{aspect-ratio:16/10;background:var(--vm-bg-2);overflow:hidden;}
.vm-resa-veh__img{width:100%;height:100%;object-fit:cover;display:block;}
.vm-resa-veh__ph{display:flex;align-items:center;justify-content:center;height:100%;color:#c2c8d2;}
.vm-resa-veh__body{padding:20px;}
.vm-resa-veh__title{font-size:1.2rem;margin:0 0 4px;}
.vm-resa-veh__fin{color:var(--vm-muted);font-size:.92rem;margin:0 0 12px;}
.vm-resa-veh__specs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;}
.vm-resa-veh__specs li{background:var(--vm-bg);border:1px solid var(--vm-line);border-radius:var(--vm-radius-pill);padding:4px 12px;font-size:.82rem;font-weight:600;color:var(--vm-ink-soft);}
.vm-resa-veh__amount{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid var(--vm-line);border-bottom:1px solid var(--vm-line);}
.vm-resa-veh__amount-label{color:var(--vm-muted);font-size:.9rem;font-weight:600;}
.vm-resa-veh__amount-val{font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:var(--vm-deep);}
.vm-resa-veh__rest{font-size:.86rem;color:var(--vm-muted);margin:12px 0 0;line-height:1.5;}
.vm-resa-veh__assur{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.vm-resa-veh__assur li{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--vm-ink-soft);}
.vm-resa-veh__assur svg{color:var(--vm-blue);flex:0 0 auto;}

/* Formulaire infos */
.vm-resa__main{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:clamp(20px,3vw,32px);box-shadow:var(--vm-shadow-sm);}
.vm-resa-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vm-resa-form .vm-field{margin-bottom:16px;}
.vm-resa-form input[type=text],.vm-resa-form input[type=email],.vm-resa-form input[type=tel],.vm-resa-form textarea{width:100%;}
.vm-resa-radios{display:flex;gap:12px;flex-wrap:wrap;}
.vm-resa-radio{flex:1 1 180px;display:flex;align-items:center;gap:10px;border:1px solid var(--vm-line);border-radius:var(--vm-radius-sm);padding:12px 14px;cursor:pointer;font-weight:600;transition:all var(--vm-trans);}
.vm-resa-radio:hover{border-color:var(--vm-blue);}
.vm-resa-radio input{accent-color:var(--vm-blue);}
.vm-resa-radio:has(input:checked){border-color:var(--vm-blue);background:var(--vm-blue-tint);color:var(--vm-blue);}
.vm-resa-cgv{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:.92rem;color:var(--vm-ink-soft);line-height:1.5;}
.vm-resa-cgv input{margin-top:3px;accent-color:var(--vm-blue);flex:0 0 auto;}
.vm-resa-cgv a{color:var(--vm-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.vm-resa-form__submit{width:100%;justify-content:center;margin-top:4px;}
.vm-resa-form__secure{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--vm-muted);font-size:.85rem;margin:14px 0 0;}
.vm-resa-form__secure svg{color:var(--vm-blue);}
.vm-resa__errors{display:flex;align-items:center;gap:10px;background:#fdecec;border:1px solid #f5c2c2;color:#a3261f;border-radius:var(--vm-radius-sm);padding:12px 14px;margin-bottom:18px;font-weight:600;font-size:.92rem;}
.vm-resa__errors svg{color:#cf3a2f;flex:0 0 auto;}

/* Récap (lecture seule) côté paiement */
.vm-resa--checkout{margin-bottom:8px;}
.vm-resa-recap{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:22px;box-shadow:var(--vm-shadow-sm);}
.vm-resa-recap__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.vm-resa-recap__head h2{font-size:1.2rem;margin:0;}
.vm-resa-recap__edit{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600;color:var(--vm-blue);}
.vm-resa-recap__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.vm-resa-recap__list li{display:flex;justify-content:space-between;gap:14px;font-size:.92rem;border-bottom:1px dashed var(--vm-line);padding-bottom:9px;}
.vm-resa-recap__list li:last-child{border-bottom:none;padding-bottom:0;}
.vm-resa-recap__list span{color:var(--vm-muted);}
.vm-resa-recap__list strong{text-align:right;color:var(--vm-ink);}
.vm-resa-recap__pay{display:flex;align-items:center;gap:8px;color:var(--vm-ink-soft);font-weight:600;margin:16px 0 0;}
.vm-resa-recap__pay svg{color:var(--vm-blue);}

/* Checkout WooCommerce épuré (adresse déjà saisie -> masquée) */
.vm-resa-checkout .vm-hidden-field{display:none!important;}
.vm-resa-checkout .woocommerce-billing-fields > h3,
.vm-resa-checkout .woocommerce-additional-fields > h3{display:none;}
.vm-resa-checkout .woocommerce-billing-fields__field-wrapper{margin:0;}

/* Largeur alignée sur le reste du site (au lieu d'un format resserré) */
.vm-resa-checkout .woocommerce{max-width:var(--vm-maxw);margin-inline:auto;padding-inline:var(--vm-gut);box-sizing:border-box;}
.vm-resa-checkout .ast-container,
.vm-resa-checkout #primary,
.vm-resa-checkout .site-content .ast-container,
.vm-resa-checkout .entry-content{max-width:100%;}

/* Tout empilé en pleine largeur : (carte | infos) -> remarque -> paiement */
.vm-resa-checkout form.checkout{display:block;}
.vm-resa-checkout .col2-set{display:block;}
.vm-resa-checkout #customer_details{width:100%!important;float:none!important;}
.vm-resa-checkout #customer_details .col-1{display:none;}            /* facturation masquée (vide) */
.vm-resa-checkout #customer_details .col-2{width:100%!important;float:none!important;margin:0;}
.vm-resa-checkout #order_review,
.vm-resa-checkout .woocommerce-checkout-review-order{width:100%!important;float:none!important;}

/* Le bloc « Votre commande » de WooCommerce est remplacé par nos récaps */
.vm-resa-checkout #order_review_heading{display:none;}
.vm-resa-checkout .woocommerce-checkout-review-order-table{display:none;}

/* Code promo supprimé sur ce tunnel */
.vm-resa-checkout .woocommerce-form-coupon-toggle,
.vm-resa-checkout .checkout_coupon,
.vm-resa-checkout form.woocommerce-form-coupon{display:none!important;}

/* Récaps côte à côte (carte | infos), juste au-dessus de la remarque */
.vm-checkout-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;align-items:start;}
.vm-checkout-summary .vm-resa-veh{position:static;}
.vm-checkout-summary .vm-resa-recap{padding:22px;}

/* Remarque pleine largeur */
.vm-resa-checkout .woocommerce-additional-fields{max-width:100%;}
.vm-resa-checkout #order_comments{min-height:96px;}

/* Paiement = bloc le plus grand, pleine largeur, en bas */
.vm-resa-checkout #payment{background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);overflow:hidden;margin-top:8px;}
.vm-resa-checkout #payment .place-order{padding:18px;}

@media (max-width:760px){
	.vm-checkout-summary{grid-template-columns:1fr;}
}

/* ---- 4) Avis clients : carrousel ---- */
.section--reviews{background:var(--vm-bg);}
.vm-reviews{position:relative;display:flex;align-items:center;gap:10px;}
.vm-reviews__viewport{overflow:hidden;flex:1 1 auto;}
.vm-reviews__track{display:flex;gap:24px;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform;}
.vm-review{flex:0 0 calc((100% - 48px) / 3);box-sizing:border-box;background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:26px;box-shadow:var(--vm-shadow-sm);display:flex;flex-direction:column;}
.vm-review__text{color:var(--vm-ink-soft);font-size:1rem;line-height:1.65;margin:14px 0 18px;flex:1 1 auto;}
.vm-review__foot{display:flex;align-items:center;gap:12px;border-top:1px solid var(--vm-line);padding-top:16px;}
.vm-review__avatar{width:44px;height:44px;border-radius:50%;background:var(--vm-blue-tint);color:var(--vm-blue);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.1rem;flex:0 0 auto;}
.vm-review__meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.vm-review__name{font-family:var(--font-display);font-size:.98rem;}
.vm-review__veh{display:inline-flex;align-items:center;gap:6px;color:var(--vm-muted);font-size:.84rem;}
.vm-review__veh svg{color:var(--vm-blue);flex:0 0 auto;}
.vm-reviews__arrow{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--vm-line);background:#fff;color:var(--vm-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--vm-shadow-sm);transition:all var(--vm-trans);}
.vm-reviews__arrow:hover:not(:disabled){border-color:var(--vm-blue);color:var(--vm-blue);background:var(--vm-blue-tint);}
.vm-reviews__arrow:disabled{opacity:.4;cursor:default;}
.vm-reviews__dots{display:flex;justify-content:center;gap:8px;margin-top:24px;width:100%;}
.vm-reviews .vm-reviews__dots{position:absolute;bottom:-40px;left:0;}
.vm-reviews__dot{width:9px;height:9px;border-radius:50%;border:none;background:var(--vm-line);cursor:pointer;padding:0;transition:background var(--vm-trans),transform var(--vm-trans);}
.vm-reviews__dot.is-active{background:var(--vm-blue);transform:scale(1.25);}

/* Étoiles */
.vm-stars{display:inline-flex;gap:2px;}
.vm-star{fill:#d8dce3;}
.vm-star.is-on{fill:#f5a623;}

/* Formulaire d'avis (page de remerciement) */
.vm-avis-collect{max-width:640px;margin:32px auto;background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:clamp(22px,3vw,34px);box-shadow:var(--vm-shadow-sm);}
.vm-avis-collect__title{font-size:1.4rem;margin:0 0 6px;}
.vm-avis-collect__sub{color:var(--vm-muted);margin:0 0 18px;}
.vm-avis-collect__stars{display:flex;gap:6px;margin-bottom:18px;}
.vm-avis-star{background:none;border:none;padding:2px;cursor:pointer;line-height:0;}
.vm-avis-star svg{fill:#d8dce3;transition:fill .15s,transform .15s;}
.vm-avis-star:hover svg{transform:scale(1.12);}
.vm-avis-star.is-on svg{fill:#f5a623;}
.vm-avis-collect .vm-field{margin-bottom:16px;}
.vm-avis-collect textarea,.vm-avis-collect input[type=text]{width:100%;}
.vm-avis-collect__feedback{margin:12px 0 0;font-weight:600;font-size:.92rem;min-height:1.2em;}
.vm-avis-collect__feedback.is-success{color:#1a7f4b;}
.vm-avis-collect__feedback.is-error{color:#cf3a2f;}

/* ====================== Responsive Phase 4 ====================== */
@media (max-width:1024px){
	.vm-review{flex:0 0 calc((100% - 24px) / 2);}
}
@media (max-width:880px){
	.vm-resa__grid{grid-template-columns:1fr;gap:24px;}
	.vm-resa-veh{position:static;}
}
@media (max-width:680px){
	.vm-review{flex:0 0 100%;}
	.vm-resa-form__row{grid-template-columns:1fr;gap:0;}
	.vm-step__label{display:none;}
	.vm-step::after{width:20px;}
}

/* =========================================================================
   TUNNEL — étape récap (boutons) + page de confirmation
   ========================================================================= */
.vm-resa-recap__edit{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600;color:var(--vm-blue);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;line-height:1;transition:color .15s ease;}
.vm-resa-recap__edit:hover{color:var(--vm-blue-700);}
.vm-resa-confirm{margin-top:22px;}
.vm-resa-confirm__btn{width:100%;justify-content:center;}

/* Page de confirmation — encart premium */
.vm-resa--done{max-width:760px;margin-inline:auto;}
.vm-resa-done{position:relative;overflow:hidden;background:#fff;border:1px solid var(--vm-line);border-radius:var(--vm-radius);padding:clamp(30px,5vw,54px);text-align:center;box-shadow:var(--vm-shadow);}
.vm-resa-done::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--vm-blue),var(--vm-blue-700));}
.vm-resa-done__icon{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--vm-blue-tint);color:var(--vm-blue);margin-bottom:20px;box-shadow:0 0 0 8px rgba(26,86,219,.07);animation:vm-pop .5s cubic-bezier(.34,1.56,.64,1) both;}
.vm-resa-done__icon svg{width:38px;height:38px;}
@keyframes vm-pop{from{opacity:0;transform:scale(.6);}to{opacity:1;transform:scale(1);}}
.vm-resa-done__title{font-family:var(--font-display);font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.2;margin:0 0 16px;color:var(--vm-deep);}
.vm-resa-done__msg{color:var(--vm-ink-soft);font-size:1.02rem;line-height:1.75;max-width:560px;margin:0 auto;}
.vm-resa-done__msg p{margin:0 0 14px;}
.vm-resa-done__msg p:last-child{margin-bottom:0;}
.vm-resa-done__sign{font-family:var(--font-display);font-weight:700;color:var(--vm-ink);margin:22px 0 0;font-size:1.05rem;}
.vm-resa-done__recap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 14px;justify-content:center;margin-top:26px;padding:13px 22px;background:var(--vm-bg);border:1px solid var(--vm-line);border-radius:var(--vm-radius-pill);font-size:.95rem;color:var(--vm-ink-soft);}
.vm-resa-done__recap strong{color:var(--vm-blue);font-weight:700;}
.vm-resa--done .vm-avis-collect{margin-top:26px;}
