/* dérivé de /plugins/auto-durocher-inventory-api/island/assets/adi-fiche.css par auto-durocher-performance (uploads-webp) */
/*
 * Fiche véhicule (phase 2) : feuille de style du gabarit PHP + île React qui
 * remplace le template Elementor 840/6893. Les mesures viennent du rendu de
 * référence (getComputedStyle sur la fiche Elementor, 1366 et 392 px) et des
 * règles « CSS personnalisé » du template. Mêmes points de rupture
 * qu'Elementor : mobile ≤ 767, tablette ≤ 1024, portable ≤ 1366, ≤ 1600.
 * Les classes héritées (.car-container, .vehicle_options, .strikeout, …)
 * gardent leurs règles d'origine parce que le JS du thème, le kit et des
 * scripts tiers s'y accrochent.
 */

.adi-fiche { font-family: "Muli", sans-serif; color: #000; }
.adi-fiche *, .adi-fiche *::before, .adi-fiche *::after { box-sizing: border-box; }
.adi-fiche img { max-width: 100%; height: auto; }
.adi-fiche h1, .adi-fiche h2, .adi-fiche h3 { margin-top: 0; font-family: inherit; }

/* ---------- fil d'Ariane ---------- */
/* Police du widget texte Elementor (Roboto, police de texte du kit). La règle `#breadcrumbs .separator` du gabarit 840 est morte (aucun #breadcrumbs dans le balisage) : séparateur sans marge, même taille. */
.adi-f-breadcrumb { display: flex; align-items: center; min-height: 63px; padding: 0 10px; font-family: Roboto, sans-serif; font-size: 16px; line-height: 24px; color: #000; }
.adi-f-breadcrumb__desktop { width: 100%; }
.adi-f-breadcrumb__mobile { display: none; }
.adi-f-breadcrumb__desktop a { color: #0674BF; text-decoration: none; }
.adi-f-breadcrumb__desktop .separator { color: #000; }
.return-inventory { color: #444443 !important; font-family: "Muli", sans-serif; font-size: 16px; text-decoration: none; }

/* ---------- présentation : galerie + calculatrice ---------- */
.adi-f-presentation { display: flex; flex-wrap: wrap; align-items: flex-start; }
.adi-f-presentation__gallery { width: 50%; padding: 0; }
.adi-f-presentation__calc { width: 50%; }
/* Titre bureau (gabarit 840, widget 7d772d6) : visible à partir de 1025 px
   seulement; le h1 sous la galerie prend le relais en dessous. */
.adi-f-desktop-title { display: none; margin: 0 0 20px; padding: 0 7%; font-family: Muli, sans-serif; font-size: 40px; line-height: 75px; font-weight: 800; color: #000; }
/* La calculatrice arrive enveloppée dans son markup de widget Elementor. */
.adi-f-presentation__calc .mortage-calculator { margin: 0 30px 0 20px; }
.adi-f-gallery { position: relative; }

.adi-f-badge { position: absolute; top: 0; left: 2px; z-index: 199; width: 100%; margin: 10px 0 0 20px; }
.adi-f-badge__btn { display: inline-flex; align-items: center; gap: 5px; padding: 8px 15px; font-size: 16px; line-height: 18px; font-weight: 600; color: #000; background: #FFF; border: 1px solid #39B54A; border-radius: 10px; text-decoration: none; }
.adi-f-badge__btn svg { height: 17px; width: auto; }
.adi-f-badge__btn:hover, .adi-f-badge__btn:focus { background: #39B54A; color: #FFF; }
.adi-f-badge__btn:hover svg *, .adi-f-badge__btn:focus svg * { fill: #FFF; }

.adi-f-title { position: relative; padding: 0 7%; display: flow-root; }
.adi-f-chips { display: none; margin: 0; padding: 0; list-style: none; }
.adi-f-chip { display: inline-flex; align-items: center; padding: 5px; font-size: 10px; line-height: 18px; font-weight: 600; background: #EFEFEF; border-radius: 5px; }
.adi-f-chip--vin { margin-left: 10px; }
.adi-fiche .single-vehicule-titre { margin: 8px 0 10px; font-size: 24px; line-height: 1.2; font-weight: 900; color: #000; }
.single-vehicule-titre span { display: block; font-size: 16px !important; line-height: 1.2; text-transform: uppercase !important; }
.adi-f-share { display: none; }
#share-button { background: transparent; border: transparent; color: #777; font-size: 8px; position: absolute; right: 0; top: 15px; padding: 0; cursor: pointer; font-family: inherit; }
#share-button:before { content: url("/wp-content/uploads/2025/02/share.png.webp"); position: absolute; top: -32px; }

.adi-f-specs { display: grid; grid-template-columns: 1fr; margin: 10px 0 20px 20px; padding: 10px 30px; background: #EFEFEF; border-radius: 20px; }
.adi-f-spec { display: flex; align-items: center; min-height: 46px; }
.adi-f-spec__label { display: flex; align-items: center; width: 33.333%; padding: 5px; background: #EFEFEF; border-radius: 10px 10px 0 0; font-size: 14px; line-height: 20px; color: #0674BF; }
.adi-f-spec__label svg { width: 20px; height: 20px; margin-right: 5px; flex: 0 0 20px; }
.adi-f-spec__label svg path { fill: #0674BF; }
.adi-f-spec__label span { padding-left: 5px; }
.adi-f-spec__value { width: 66.666%; padding: 5px; border-radius: 0 0 10px 10px; font-size: 14px; line-height: 18px; font-weight: 600; color: #000; }

/* calculatrice : règles du template d'origine */
.mortage-calculator-detail-dialog { padding: 2.5em !important; }
.mortage-calculator-detail-purchase, .mortage-calculator-detail-dialog h2 { margin-bottom: 1em !important; }
.mortage-calculator-detail-finance-summary { margin-bottom: 1.2em !important; }
.mortage-calculator-detail-rows { margin-bottom: 2.5em !important; }
.mortage-calculator-note a { color: #000; text-decoration: underline; }

/* galerie : vignettes (règles du template d'origine) */
.thumbnails-swiper { width: 671px !important; }
.img-right .thumbnails-swiper, .img-right .swiper-button-next, .img-right .swiper-button-prev, .img-right .openImgModal img { display: none; }
/* Lien Colorbox ajouté en JS sur chaque diapo : couvre toute l'image (comme le CSS du gabarit 840). */
/* Variables Swiper que l'ancien gabarit héritait de e-swiper.min.css (.elementor-element) : flèches noires, pas le bleu par défaut de Swiper. */
.adi-fiche .main-swiper, .adi-fiche .thumbnails-swiper { --swiper-theme-color: #000; --swiper-navigation-size: 44px; }
/* top/right restent ceux du thème enfant (33px/40px), qui gagnaient sur l'ancien gabarit : la loupe se place à 40 px du coin, hors du bandeau du badge. */
.main-swiper .swiper-slide .group_slider { position: absolute; width: 100% !important; height: 1000px !important; }
.main-swiper .swiper-slide .group_slider img { width: 100%; }
.cboxElement img { position: absolute; width: 50px !important; height: 50px !important; top: 0; right: 0; }

/* ---------- partie basse : rail collant à droite + sections ---------- */
.adi-f-lower { position: relative; }
.adi-f-rail { position: absolute; top: 0; bottom: 0; right: 0; width: 32%; pointer-events: none; z-index: 2; }
/* Fond gris du rail : en haut de page il recouvre la photo latérale, comme en prod.
   Rail collant SOUS l'en-tête collant d'Elementor (100 à 120 px selon la largeur) : sa
   hauteur réelle est mesurée par l'île (--adi-f-entete), 100 px en repli. Avant, le rail
   se collait à 70 px et l'en-tête masquait la ligne de prix. */
.adi-f-rail__inner { position: sticky; top: var(--adi-f-entete, 100px); padding: 15px; background: #EFEFEF; pointer-events: all; }
.adi-f-rail__head { display: flex; align-items: flex-start; margin-bottom: 25px; }
.adi-f-rail__photo { width: 40%; }
.adi-f-rail__photo img { width: 70%; height: auto; display: block; }
.adi-f-rail__price { width: 60%; font-size: 25px; line-height: 48px; font-weight: 800; color: #0674BF; text-align: center; }
.sup-new-price { position: relative; top: -9.375px; font-size: 18.75px; font-weight: 800; }
.adi-f-iconbox { display: flex; align-items: center; min-height: 40px; padding: 0 16px 0 20px; background: #FFF; border-radius: 10px; }
.adi-f-iconbox svg { width: 25px; height: 25px; flex: 0 0 25px; margin-right: 15px; }
.adi-f-iconbox span { margin: 8px 0 16px; font-size: 16px; line-height: 25px; color: #000; }
.adi-f-iconbox strong { font-weight: 700; }
.adi-f-ctas { display: flex; flex-direction: column; gap: 10px; margin: 25px 0 20px; }
.adi-f-cta { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 8px 20px 7px; font-size: 18px; line-height: 22px; font-weight: 800; color: #FFF !important; text-align: center; text-decoration: none; background: #0674BF; border: 3px solid #0674BF; border-radius: 50px 50px 50px 0; cursor: pointer; }
.adi-f-cta:hover { background: #FFF; color: #0674BF !important; }
.adi-f-cta--credit { background: #012B48; border-color: #012B48; line-height: 25px; }
.adi-f-cta--credit:hover { color: #012B48 !important; }

.adi-f-options, .adi-f-similar, .adi-f-partners { display: flex; background: #FFF; }
/* Comme le kit (« empêcher scroll horizontal ») : la grille déborde de 1,5 px de chaque côté. */
.adi-f-similar { overflow-x: clip; overflow-y: visible; }
.adi-f-options__main, .adi-f-similar__main, .adi-f-partners__main { width: 70%; }
.adi-f-options__side, .adi-f-similar__side, .adi-f-partners__side { width: 30%; background: #EFEFEF; }
.adi-f-options__main { padding: 0 30px; }
.adi-f-options__side { padding: 20px 5px 20px 15px; }
.adi-f-divider { padding-block: 15px; }
.adi-f-divider::after { content: ""; display: block; border-top: 1px solid #EFEFEF; }
.adi-f-side-photo img { width: 100%; height: auto; display: block; }

/* carrousels (piste translateX pilotée par React) */
.adi-f-carousel__viewport { overflow: hidden; }
.adi-f-carousel__track { display: flex; will-change: transform; }

/* avantages */
.adi-f-avantages { position: relative; margin-bottom: 5%; padding-bottom: 15px; }
.adi-f-avantages .adi-f-carousel__viewport, .adi-f-avantages__track { width: calc(100% - 15px); margin-left: 7.5px; }
.adi-f-avantages__track { display: flex; align-items: stretch; }
/* Cartes de même hauteur sur la rangée (la plus haute fait foi; les min-height
   restent un plancher) : slide et carte en colonne flex, texte étiré. */
.adi-f-avantages__slide { display: flex; flex-direction: column; padding: 10px 12.5px; flex: 0 0 33.333%; }
.car-container { display: flex; flex-direction: column; flex: 1 0 auto; color: #444443; text-align: center; box-shadow: 0 5px 25px 0 rgba(0, 0, 0, .16); border-radius: 25px; margin: 5% 7%; padding: 26px 26px 17px; font-size: 18px; line-height: 25px; }
.title-carousel { font-size: 25px; line-height: 26px; font-weight: 900; }
/* La mention de conditions est un bloc poussé au pied de la carte (margin-top auto);
   les <br><br> qui la précèdent gardent l'écart minimal d'origine. */
.conditions-appl { display: block; margin-top: auto; font-size: 14px; line-height: 18px; }
.conditions-appl a { color: #000; }
.car-subcontainer1, .car-subcontainer2 { width: 100%; }
.car-subcontainer2 { display: flex; flex-direction: column; flex: 1 0 auto; min-height: 220px; }
.adi-f-avantages .elementor-swiper-button { position: absolute; top: 50%; transform: translateY(-50%); display: flex; z-index: 1; width: 20px; height: 20px; font-size: 20px; color: rgba(238, 238, 238, .9); cursor: pointer; }
.adi-f-avantages .elementor-swiper-button-prev { left: 10px; }
.adi-f-avantages .elementor-swiper-button-next { right: 10px; }
.adi-f-avantages .elementor-swiper-button svg { width: 20px; height: 20px; fill: currentColor; }
.adi-f-avantages .elementor-swiper-button.is-disabled { opacity: .3; cursor: default; }
.prev-arrow.is-disabled, .next-arrow.is-disabled { opacity: .3; cursor: default; }
/* ≤ 1366 : flèches en image (règle du template d'origine), chevrons au-delà */
@media (max-width: 1366px) {
  .car-1container .elementor-swiper-button-prev:before { content: ""; background: url("/wp-content/uploads/2025/02/arrows.png.webp") no-repeat; background-size: cover; position: absolute; height: 40px; width: 40px; left: -30px; top: -20px; }
  .car-1container .elementor-swiper-button-next:before { content: ""; background: url("/wp-content/uploads/2025/02/arrow-next.png.webp") no-repeat; background-size: cover; position: absolute; height: 40px; width: 40px; right: -30px; top: -20px; }
  .car-1container .elementor-swiper-button-next i, .car-1container .elementor-swiper-button-prev i { display: none; }
}

/* onglets */
.adi-f-tabs__titles { display: flex; gap: 10px; }
.adi-f-tabs__title { padding: 20px 25px; font-size: 20px; line-height: 26px; font-weight: 800; color: #000; background: #EFEFEF; border-radius: 10px 10px 0 0; cursor: pointer; }
.adi-f-tabs__title.is-active { color: #FFF; background: #0674BF; }
.adi-f-tabs__panels { padding: 20px; font-size: 16px; line-height: 24px; color: #000; border: 2px solid #0674BF; border-radius: 0 0 19px 19px; }
.adi-f-tabs__panel { display: none; }
.adi-f-tabs__panel.is-active { display: block; }
.adi-f-desc__logos { display: flex; align-items: center; gap: 20px; margin-bottom: 15px; }
.adi-f-desc__text { color: #444443 !important; font-size: 18px; line-height: 25px; }
.adi-f-tabs .txt-blue { color: #0674BF; text-transform: uppercase; }
.adi-f-tabs strong { font-size: 20px; line-height: 25px; color: #444443; }
.adi-f-tabs a { color: #444443; text-decoration: underline; }
.adi-f-insp { display: flex; flex-wrap: wrap; }
.adi-f-insp__col { width: 25%; margin: 0; padding: 0 10px 0 0; list-style: none; }
.adi-f-insp__col li { display: flex; align-items: flex-start; margin-bottom: 10px; }
.adi-f-insp__col svg { width: 20px; height: 20px; flex: 0 0 20px; margin-right: 8px; }
.adi-f-insp__col svg path { fill: #0674BF; }

ul.vehicle_options { margin: 0 0 0 0 !important; padding-left: 40px; display: flex; flex-wrap: wrap; }
ul.vehicle_options li { list-style: none; display: flex; align-items: center; height: unset !important; width: 33% !important; padding: 0 5px 15px 0 !important; }
ul.vehicle_options li div.optionImage { width: 50px; text-align: center; margin-right: 0 !important; }
ul.vehicle_options li img { max-width: 30px; max-height: 30px; }
ul.vehicle_options .optionText { overflow: hidden; width: calc(100% - 50px); }

/* véhicules similaires */
.adi-f-similar__main { padding: 80px 30px; }
.adi-f-h2 { margin: 0 0 17.5px; font-size: 35px; line-height: 50px; font-weight: 400; color: #000; text-align: center; }
.adi-f-h2 strong { font-weight: 900; }
.adi-f-h2--left { line-height: 42px; text-align: left; }
/* mortage-calculator.css force « h2 { margin-bottom: .5em !important } » sous 1366 px (bogue de sélecteur,
   présent en prod aussi) : les écarts sous le h2 sont portés par les marges hautes des voisins (fusion
   des marges = la plus grande des deux). */
/* 3 similaires = 3 par rangée sur ordinateur (avant : 2 + 1 orpheline), 2 sur tablette, 1 sur mobile. */
.adi-f-cards { display: flex; flex-wrap: wrap; margin: 33px -17.5px 0; }
.adi-f-cards__item { position: relative; width: 33.333%; padding: 1px 17.5px 10px; }
/* Ombre de la carte, comme le listing 5241 d'origine; `.adi-f-cards a` bat le
   `.elementor a { box-shadow: none }` d'Elementor (même spécificité, chargé après). */
.adi-f-card, .adi-f-cards a.adi-f-card { display: block; color: inherit; text-decoration: none; background: #FFF; box-shadow: 0 3px 4px rgba(0, 0, 0, .16); }
.col-vehicle { position: relative; }
.img-vehicle { overflow: hidden; }
.img-vehicle img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: inline; vertical-align: baseline; }
.col-vehicle:hover .img-vehicle { background-color: #012B48; }
.col-vehicle:hover .img-vehicle img { opacity: .2; }
.details-hover { display: none; position: absolute; top: 33%; width: 100%; font-size: 20px; line-height: 30px; font-weight: 900; color: #FFF; text-align: center; }
.col-vehicle:hover .details-hover { display: block; }
.adi-f-card__hover svg { width: 20px; height: 20px; margin-left: 5px; vertical-align: middle; fill: #FFF; }
.listingAddToFav { position: absolute; top: 20px; right: 27.5px; width: 25px; height: 25px; z-index: 999; cursor: pointer; text-align: center; }
.listingAddToFav img { width: 25px; height: 22px; }
.adi-f-card__model { padding: 15px 25px 0; font-size: 27px; line-height: 34px; font-weight: 900; }
.adi-f-card__make { padding: 0 25px 15px; font-size: 22px; line-height: 30px; font-weight: 500; }
.adi-f-card__foot { display: flex; justify-content: space-between; padding: 0 25px 20px; }
/* Colonne des caractéristiques souple (avant : 50 % fixe, assez large à 2 par rangée) :
   à 3 par rangée, « Boîte automatique » tient sur une ligne, le prix prend sa largeur. */
.adi-f-card__specs { display: flex; flex-direction: column; justify-content: center; flex: 1 1 auto; min-width: 0; }
.adi-f-card__spec { display: flex; align-items: center; margin-bottom: 15px; font-size: 16px; line-height: 18px; }
.adi-f-card__spec:last-child { margin-bottom: 0; }
.adi-f-card__spec svg { width: 33px; height: 33px; margin-right: 8.25px; flex: 0 0 33px; }
.adi-f-card__spec span { padding-left: 5px; }
.adi-f-card__prices { display: flex; flex-direction: column; flex: 0 0 auto; align-items: flex-end; justify-content: flex-end; padding-left: 8px; text-align: right; }
.adi-f-card__initial { position: relative; padding-bottom: 5px; font-size: 15px; line-height: 17px; font-weight: 600; }
.strikeout::after { content: url("/wp-content/uploads/2023/02/strikeout.svg"); position: absolute; top: -20%; right: 2px; }
.adi-f-card__rabais { font-size: 12px; font-weight: 900; color: #F03D4B; }
.adi-f-card__price { font-size: 23px; line-height: 23px; font-weight: 900; color: #0674BF; }

/* partenaires */
.adi-f-partners__main { padding: 25px 30px 31px; }
.adi-fiche .adi-f-h3 { margin: 22px 0 40px; font-size: 23px; line-height: 29px; text-transform: uppercase; color: #0674BF; font-weight: 400; }
.adi-f-partners__text { margin: 0 0 25px; font-size: 18px; line-height: 32px; font-weight: 600; color: #444443; }
.adi-f-logos { position: relative; }
.adi-f-logos__track { display: flex; }
.adi-f-logos__slide { flex: 0 0 33.333%; display: flex; align-items: center; justify-content: center; height: 92px; padding: 10px 0; }
.adi-f-logos__slide img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; }
.prev-arrow, .next-arrow { position: absolute; top: 50%; width: 50px; height: 50px; margin-top: -25px; display: flex; align-items: center; justify-content: center; background: #EFEFEF; color: #FFF; font-size: 30px; border-radius: 50px; z-index: 90; cursor: pointer; }
.prev-arrow { left: 0; }
.next-arrow { right: 0; }
.prev-arrow svg, .next-arrow svg { width: 30px; height: 30px; fill: #FFF; }

/* ---------- > 1366 ---------- */
@media (min-width: 1367px) {
  .adi-f-presentation__gallery { width: 56%; }
  .adi-f-presentation__calc { width: 44%; }
  .adi-f-specs { grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .adi-f-rail__price { font-size: 40px; }
  .adi-f-options__main { padding: 5% 7% 0 7%; }
  .adi-f-options__main, .adi-f-similar__main, .adi-f-partners__main { width: 67.968%; }
  .adi-f-options__side, .adi-f-similar__side, .adi-f-partners__side { width: 32.032%; }
}
@media (min-width: 1601px) {
  .adi-f-rail__photo img { width: 100%; }
  .adi-f-rail__head { margin-bottom: 34px; }
  .adi-f-iconbox { min-height: 80px; }
  .adi-f-iconbox svg { width: 30px; height: 30px; flex-basis: 30px; }
  .adi-f-iconbox span { font-size: 20px; }
  .adi-f-ctas { margin-top: 44px; }
  .adi-f-cta { min-height: 55px; font-size: 20px; }
}
@media (max-width: 1600px) {
  .thumbnails-swiper { width: 490px !important; }
  /* Cartes similaires à ~275 px (3 par rangée à 1366) : typographie réduite d'un cran,
     même hiérarchie. Au-delà de 1600 px, les cartes ont la place des tailles d'origine. */
  .adi-f-card__model { padding: 12px 15px 0; font-size: 22px; line-height: 28px; }
  .adi-f-card__make { padding: 0 15px 12px; font-size: 18px; line-height: 24px; }
  .adi-f-card__foot { padding: 0 15px 16px; }
  .adi-f-card__spec { margin-bottom: 10px; font-size: 13px; line-height: 16px; }
  .adi-f-card__spec svg { width: 26px; height: 26px; margin-right: 6px; flex-basis: 26px; }
  .adi-f-card__spec span { padding-left: 0; }
  .adi-f-card__initial { font-size: 14px; line-height: 16px; }
  .adi-f-card__price { font-size: 20px; line-height: 20px; }
  .listingAddToFav { right: 24px; }
}
@media (max-width: 1366px) {
  .thumbnails-swiper { width: 345px !important; }
  .adi-f-rail { width: 30%; }
  .adi-f-rail__inner { top: var(--adi-f-entete, 100px); padding: 15px 15px 20px; }
  .car-subcontainer2 { min-height: 310px; }
}

/* ---------- tablette ≤ 1024 ---------- */
@media (min-width: 1025px) {
  .adi-f-desktop-title { display: block; }
  .adi-f-title .single-vehicule-titre { display: none; }
}
@media (max-width: 1024px) {
  .adi-f-presentation__gallery, .adi-f-presentation__calc { width: 100%; }
  .adi-f-presentation__calc { padding-bottom: 16px; }
  .adi-f-badge { margin: 10px 0 0 0; }
  .adi-f-badge__btn { font-size: 18px; }
  .adi-f-title { padding: 0 5%; }
  .adi-f-specs { margin: 20px; row-gap: 3px; }
  .adi-f-spec { min-height: 0; }
  .adi-f-spec__label, .adi-f-spec__value { padding: 2px; }
  .cta { display: none; }
  .adi-f-options__main, .adi-f-similar__main, .adi-f-partners__main { width: 100%; }
  .adi-f-options__side, .adi-f-similar__side, .adi-f-partners__side { display: none; }
  .adi-f-options__main { padding: 50px 0 0 0; }
  .adi-f-avantages__slide { flex-basis: 50%; }
  .car-subcontainer2 { min-height: 280px; }
  .adi-f-cards__item { width: 50%; }
  .adi-f-tabs__title { padding: 10px 20px; font-size: 17px !important; }
  ul.vehicle_options li { width: 50% !important; padding-bottom: 0 !important; }
}
@media (max-width: 884px) {
  .adi-f-tabs__titles { margin-bottom: 15px; }
}

/* ---------- mobile ≤ 767 ---------- */
@media (max-width: 767px) {
  .adi-f-breadcrumb__desktop { display: none; }
  .adi-f-breadcrumb__mobile { display: block; }
  .adi-f-badge { top: 5px; left: 0; z-index: 12; margin: 0; padding: 10px; }
  .adi-f-badge__btn { padding: 5px; font-size: 9px; line-height: 18px; border-radius: 5px; }
  .adi-f-badge__btn svg { height: 12px; }
  .adi-f-title { padding: 20px 20px 0; }
  .adi-f-chips { display: flex; }
  .adi-f-share { display: block; }
  #share-button { top: 35px; right: 20px; }
  .adi-f-specs { padding: 0 10px; row-gap: 3px; margin: 20px; }
  .adi-f-spec { min-height: 0; }
  .adi-f-spec__label { width: 50%; padding: 5px 0 5px 2px; font-size: 12px; }
  .adi-f-spec__value { width: 50%; padding: 2px 0 2px 2px; font-size: 12px; line-height: 18px; }
  .adi-f-rail__price { font-size: 30px; }
  .adi-f-options { padding: 16px 5px 0; }
  .adi-f-options__main { padding: 0; }
  .adi-f-avantages { padding-bottom: 0; margin-bottom: 19px; }
  .adi-f-avantages .adi-f-carousel__viewport, .adi-f-avantages__track { width: calc(100% - 33px); margin-left: 17px; }
  .adi-f-avantages__slide { flex-basis: 100%; padding: 10px 20px; }
  .adi-f-avantages .elementor-swiper-button-prev { left: 27px; }
  .adi-f-avantages .elementor-swiper-button-next { right: 26px; }
  .car-container { display: flex; flex-direction: row; text-align: left; margin: 5% 6%; padding: 10px; font-size: 12px; line-height: 14px; box-shadow: 0 5px 20px rgba(0, 0, 0, .16); border-radius: 20px; }
  .car-subcontainer1 { width: 30%; margin: auto; }
  .car-subcontainer1 img { width: 100%; padding-right: 12%; }
  .car-subcontainer2 { display: block; flex: 0 1 auto; width: 70%; margin: auto; min-height: 170px; }
  .title-carousel { font-size: 16px; line-height: 20px; }
  .conditions-appl { font-size: 10px; line-height: 15px; }
  .car-1container .elementor-swiper-button-prev:before { left: -10px; }
  .car-1container .elementor-swiper-button-next:before { right: -10px; }
  .adi-f-tabs { padding: 0 16px; margin-bottom: 25px; }
  .adi-f-tabs__titles { margin-bottom: 0; }
  .adi-f-presentation__calc { padding-bottom: 0; }
  .adi-f-tabs__title { padding: 10px; font-size: 16px !important; }
  .adi-f-tabs__panels { padding: 10px; }
  ul.vehicle_options li { height: auto; margin: 10px 0; width: 50% !important; padding-bottom: 0 !important; font-size: 16px; }
  .adi-f-insp__col { width: 50%; }
  .adi-f-similar__main { padding: 36px 16px 60px; }
  .adi-f-h2, .adi-f-h2--left { font-size: 24px; line-height: 33.6px; margin-bottom: 12px; text-align: center; }
  .adi-f-cards { margin-top: 0; }
  .adi-f-cards__item { width: 100%; padding: 6px 17.5px 15px; }
  .listingAddToFav { top: 25px; }
  .adi-f-partners__main { padding: 16px 16px 0; }
  .adi-fiche .adi-f-h3 { font-size: 16px; line-height: 18px; margin: 17px 0 15px; text-align: center; }
  .adi-f-partners__text { font-size: 16px; line-height: 30px; margin-bottom: 30px; text-align: center; }
  .adi-f-logos { padding: 8.5px 0; }
  .adi-f-logos__slide { flex-basis: 50%; height: 75px; }
}
@media (max-width: 450px) {
  .adi-f-tabs__titles { gap: 2px; }
  .adi-f-tabs__title { padding: 5px; font-size: 14px !important; }
  ul.vehicle_options li { width: 100% !important; }
  .adi-f-insp__col { width: 100%; }
}
@media (max-width: 355px) {
  .adi-f-tabs__title { font-size: 12px !important; }
}

/* ---------- barre d'action collante (mobile et tablette) ---------- */
/* Rendue par PHP, montrée par l'île (barre.js) une fois la galerie défilée; posée
   au-dessus de la bannière de consentement (--adi-f-bas = sa hauteur, 0 une fois fermée).
   Sous 1024 px seulement : au-delà, le rail de droite porte déjà prix et boutons. */
.adi-f-bar { display: none; }
@media (max-width: 1024px) {
  .adi-f-bar { display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: var(--adi-f-bas, 0px); z-index: 9990; padding: 10px 16px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); background: #FFF; box-shadow: 0 -2px 12px rgba(0, 0, 0, .14); transition: bottom .2s; }
  .adi-f-bar[hidden] { display: none; }
  .adi-f-bar__price { flex: 1 1 auto; font-size: 26px; line-height: 32px; font-weight: 800; color: #0674BF; white-space: nowrap; }
  .adi-f-bar__price .sup-new-price { top: -8px; font-size: 16px; }
  .adi-f-bar__cta { flex: 0 1 auto; min-height: 44px; padding: 6px 22px 5px; font-size: 16px; line-height: 20px; }
  /* Dégagement du bas de page pour que le pied de page reste lisible sous la barre. */
  html.adi-f-bar-visible body { padding-bottom: var(--adi-f-bar-h, 70px); }
}
@media (max-width: 355px) {
  .adi-f-bar__price { font-size: 22px; }
  .adi-f-bar__cta { padding: 6px 14px 5px; font-size: 14px; }
}

/* ---------- visionneuse plein écran (mobile et tablette) ---------- */
.adi-vis { position: fixed; inset: 0; z-index: 100000; background: #000; color: #FFF; font-family: "Muli", sans-serif; user-select: none; -webkit-user-select: none; }
.adi-vis__top { position: absolute; top: 0; left: 0; right: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: calc(8px + env(safe-area-inset-top, 0px)) 8px 8px 16px; background: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, 0)); pointer-events: none; }
.adi-vis__count { font-size: 15px; font-weight: 700; letter-spacing: .5px; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.adi-vis__close { pointer-events: auto; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; color: #FFF; cursor: pointer; }
.adi-vis__scene { position: absolute; inset: 0; overflow: hidden; touch-action: none; }
.adi-vis__track { display: flex; height: 100%; will-change: transform; }
.adi-vis__track.is-anime { transition: transform .25s ease-out; }
.adi-vis__slide { position: relative; flex: 0 0 auto; height: 100%; display: flex; align-items: center; justify-content: center; }
.adi-vis__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; opacity: 0; transition: opacity .2s; will-change: transform; }
.adi-vis__img.is-loaded { opacity: 1; }
.adi-vis__img.is-anime { transition: opacity .2s, transform .2s ease-out; }
.adi-vis__spinner { position: absolute; top: 50%; left: 50%; width: 36px; height: 36px; margin: -18px 0 0 -18px; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #FFF; border-radius: 50%; animation: adi-vis-spin .8s linear infinite; }
@keyframes adi-vis-spin { to { transform: rotate(360deg); } }
.adi-vis__nav { position: absolute; top: 50%; z-index: 2; width: 44px; height: 44px; margin-top: -22px; padding: 0 0 4px; font-size: 36px; line-height: 1; color: #FFF; background: rgba(0, 0, 0, .35); border: 0; border-radius: 50%; cursor: pointer; }
.adi-vis__nav--prev { left: 10px; }
.adi-vis__nav--next { right: 10px; }
/* Sur un écran tactile, les flèches rondes sont redondantes avec le glissement : discrètes. */
@media (hover: none) { .adi-vis__nav { opacity: .55; } }

/* Calculatrice (widget du thème, rendu tel quel dans la fiche) : les deux
   icônes SVG ont height en em et width:auto dans mortage-calculator.css,
   donc une largeur de 0 jusqu'au chargement du fichier, qui décalait toute
   la section (CLS 0,054). Le rapport 1:1 des deux SVG (25x25 et 10x10)
   réserve la bonne largeur d'emblée. Posé ici plutôt que dans le fichier
   du widget, qui appartient à L'Effet futé et évolue de leur côté
   (onglets Comptant / Paiement en financement, 4 novembre 2026). */
.mortage-calculator-non-financeable-icon,
.mortage-calculator-non-financeable-toggle-icon { aspect-ratio: 1 / 1; }
