/* LADS AUTO 91 – fiche véhicule (maquette C, choisie le 03/11/2026).
   Éléments sur mesure (catégorie « LADS AUTO 91 » d'Elementor) et classes posées sur les éléments natifs du gabarit :
   lads-titre-section (titres), lads-sommaire (liste d'icônes du sommaire), lads-contact-v (section de contact). */

:root {
	--lads-nuit: #071A52;
	--lads-roi: #0F3199;
	--lads-acier: #145FA9;
	--lads-ciel: #2A8FD4;
	--lads-brume: #E6EEF8;
	--lads-papier: #F4F7FB;
	--lads-trait: #D3DCEA;
	--lads-encre: #0A1433;
	--lads-gris: #55627E;
	--lads-graphite: #1C2130;
	--lads-titre: 'Montserrat', Arial, sans-serif;
	--lads-texte: 'Open Sans', Arial, sans-serif;
	--lads-rayon: 4px;
}

.lads-cache { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lads-vide { padding: 16px; background: var(--lads-brume); color: var(--lads-gris); font: 600 14px/1.4 var(--lads-titre); }
.lads-resume, .lads-carac, .lads-simu, .lads-equip { font-family: var(--lads-texte); color: var(--lads-encre); }
.lads-resume *, .lads-carac *, .lads-simu *, .lads-equip * { box-sizing: border-box; }
.lads-resume :focus-visible, .lads-simu :focus-visible, .lads-equip :focus-visible, .lads-sommaire :focus-visible { outline: 3px solid var(--lads-ciel); outline-offset: 2px; }

/* ---------- Titres de section (élément Titre natif, classe lads-titre-section) ---------- */
.elementor .lads-titre-section .elementor-heading-title {
	font: 800 clamp(25px, 2.5vw, 36px)/1.12 var(--lads-titre);
	text-transform: uppercase;
	color: var(--lads-encre);
}
.elementor .lads-contact-v .lads-titre-section .elementor-heading-title { color: #fff; }

.elementor .lads-intro, .elementor .lads-intro p { max-width: 760px; margin-bottom: 0; color: var(--lads-gris); font-size: 17px; line-height: 1.5; }

/* ---------- Boutons ---------- */
.lads-f-bouton, .elementor a.lads-f-bouton {
	display: flex; align-items: center; justify-content: center; gap: 9px;
	min-height: 50px; padding: 11px 22px;
	border: 2px solid transparent; border-radius: var(--lads-rayon);
	font: 700 15px/1.2 var(--lads-titre); text-decoration: none; text-align: center; text-transform: none; letter-spacing: 0;
	transition: background-color .15s, color .15s, border-color .15s;
}
.lads-f-bouton svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.lads-f-bouton--roi, .elementor a.lads-f-bouton--roi { background: var(--lads-roi); color: #fff; }
.lads-f-bouton--roi:hover, .elementor a.lads-f-bouton--roi:hover { background: var(--lads-nuit); color: #fff; }
.lads-f-bouton--contour, .elementor a.lads-f-bouton--contour { background: #fff; color: var(--lads-roi); border-color: var(--lads-roi); }
.lads-f-bouton--contour:hover, .elementor a.lads-f-bouton--contour:hover { background: var(--lads-roi); color: #fff; }

/* ---------- Résumé du véhicule ---------- */
.lads-resume { background: #fff; border: 1px solid var(--lads-trait); border-radius: var(--lads-rayon); padding: 26px 26px 22px; }
.lads-resume .lads-resume__titre { margin: 0; font: 800 28px/1.12 var(--lads-titre); text-transform: uppercase; color: var(--lads-encre); letter-spacing: 0; }
.lads-resume__version { margin: 8px 0 16px; color: var(--lads-gris); font-size: 15px; line-height: 1.5; }
.lads-resume .lads-resume__prix { margin: 0 -26px 18px; padding: 14px 26px; background: var(--lads-roi); color: #fff; font: 800 38px/1 var(--lads-titre); }
.lads-resume__reserve { margin: 0 0 16px; padding: 10px 14px; background: var(--lads-brume); border-left: 4px solid var(--lads-roi); font-weight: 600; font-size: 15px; }
/* Véhicule vendu (classe lads-fiche-vendu sur la page) : bandeau gris à la place du prix, pas de simulateur. */
.lads-resume .lads-resume__prix--vendu { background: var(--lads-graphite, #1C2130); text-transform: uppercase; }
.lads-resume__vendu-date { margin: -8px 0 16px; font: 700 14px/1.3 var(--lads-titre); color: var(--lads-gris); }
.lads-resume__vendu { margin: 0 0 20px; font-size: 16px; line-height: 1.5; }
.lads-fiche-vendu .elementor #mensualites,
.lads-fiche-vendu .elementor .lads-sommaire a[href="#mensualites"] { display: none; }
.lads-fiche-vendu .elementor .lads-sommaire .elementor-icon-list-item:has(a[href="#mensualites"]) { display: none; }
.lads-resume__faits { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; margin: 0 0 16px; }
.lads-resume__faits div { padding: 9px 0; border-bottom: 1px solid var(--lads-trait); min-width: 0; }
.lads-resume__faits dt { font: 600 13px/1.3 var(--lads-titre); color: var(--lads-gris); }
.lads-resume__faits dd { margin: 2px 0 0; font: 700 16px/1.3 var(--lads-titre); color: var(--lads-encre); overflow-wrap: anywhere; }
.lads-resume__mentions { list-style: none; padding: 0; margin: 0 0 20px; font-size: 15px; line-height: 1.5; }
.lads-resume__mentions li { position: relative; padding: 3px 0 3px 26px; margin: 0; }
.lads-resume__mentions li::before {
	content: ''; position: absolute; left: 2px; top: 9px; width: 12px; height: 7px;
	border-left: 2.5px solid var(--lads-roi); border-bottom: 2.5px solid var(--lads-roi); transform: rotate(-45deg);
}
.lads-resume__mentions a { color: var(--lads-acier); text-decoration: underline; }
.lads-resume__mentions a:hover { color: var(--lads-roi); }
.lads-resume__actions { display: grid; gap: 10px; }

/* ---------- Sommaire (liste d'icônes native, classe lads-sommaire, section collante) ---------- */
/* Le #wrapper de Motors coupe le débordement (overflow: hidden), ce qui empêche le sommaire de rester collé :
   « clip » coupe pareil sans créer de zone de défilement. Fiches véhicules uniquement. */
@supports (overflow: clip) { .single-listings #wrapper { overflow: clip; } }
.elementor .lads-sommaire-section { position: sticky; top: 0; z-index: 40; background: #fff; border-top: 1px solid var(--lads-trait); border-bottom: 1px solid var(--lads-trait); }
@media (min-width: 601px) { .admin-bar .elementor .lads-sommaire-section { top: 46px; } }
@media (min-width: 783px) { .admin-bar .elementor .lads-sommaire-section { top: 32px; } }
.elementor .lads-sommaire .elementor-icon-list-items { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.elementor .lads-sommaire .elementor-icon-list-items::-webkit-scrollbar { display: none; }
.elementor .lads-sommaire .elementor-icon-list-items .elementor-icon-list-item { margin: 0; padding: 0; flex: none; }
.elementor .lads-sommaire .elementor-icon-list-item::after { display: none; }
.elementor .lads-sommaire .elementor-icon-list-item a {
	display: block; padding: 15px 14px 12px; border-bottom: 3px solid transparent;
	font: 700 15px/1.2 var(--lads-titre); color: var(--lads-encre); text-decoration: none; white-space: nowrap;
}
.elementor .lads-sommaire .elementor-icon-list-item a .elementor-icon-list-text { color: inherit; padding: 0; }
.elementor .lads-sommaire .elementor-icon-list-item a:hover { color: var(--lads-roi); }
.elementor .lads-sommaire .elementor-icon-list-item a.lads-actif { color: var(--lads-roi); border-bottom-color: var(--lads-ciel); }
.lads-fiche-ancre { scroll-margin-top: 70px; }

/* ---------- Caractéristiques ---------- */
.lads-carac { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }
.lads-carac--seul { grid-template-columns: 1fr; }
.lads-carac__tableau { width: 100%; margin: 0; border-collapse: collapse; border: 0; background: transparent; }
.lads-carac__tableau th, .lads-carac__tableau td { padding: 11px 0; border: 0; border-bottom: 1px solid var(--lads-trait); text-align: left; vertical-align: top; background: transparent; }
.lads-carac__tableau th { width: 42%; padding-right: 16px; font: 600 15px/1.35 var(--lads-titre); color: var(--lads-gris); text-transform: none; }
.lads-carac__tableau td { font: 700 15px/1.35 var(--lads-titre); color: var(--lads-encre); }
.lads-carac__annonce { padding: 26px 28px; background: var(--lads-brume); border-radius: var(--lads-rayon); font-size: 15px; line-height: 1.6; color: var(--lads-graphite); overflow-wrap: anywhere; }
.lads-carac__annonce h3 { margin: 0 0 10px; font: 700 18px/1.3 var(--lads-titre); color: var(--lads-encre); text-transform: none; }
.lads-carac__annonce p { margin: 0 0 .8em; }
.lads-carac__annonce p:last-child { margin-bottom: 0; }

/* ---------- Champs (simulateur, recherche d'équipement) ---------- */
.lads-champ { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.lads-champ label, .lads-champ legend { margin: 0; padding: 0; font: 700 14px/1.3 var(--lads-titre); color: var(--lads-encre); text-transform: none; letter-spacing: 0; }
.lads-simu .lads-champ input, .lads-equip .lads-champ input {
	box-sizing: border-box; width: 100%; height: auto; min-height: 48px; margin: 0; padding: 10px 12px;
	border: 1px solid #A9B6CC; border-radius: var(--lads-rayon); background: #fff; box-shadow: none;
	font: 400 16px/1.4 var(--lads-texte); color: var(--lads-encre);
}
.lads-simu .lads-champ input:focus, .lads-equip .lads-champ input:focus { border-color: var(--lads-ciel); outline: none; box-shadow: 0 0 0 2px rgba(42, 143, 212, .35); }
.lads-simu .lads-champ input[aria-invalid="true"] { border-color: #B3261E; }
.lads-champ input::placeholder { color: #6A7690; opacity: 1; }
.lads-champ__aide { margin: 0; font-size: 14px; line-height: 1.45; color: var(--lads-gris); }
.lads-champ--large { grid-column: 1 / -1; }

/* ---------- Simulateur de mensualités ---------- */
.lads-simu { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); background: #fff; border: 1px solid var(--lads-trait); border-radius: var(--lads-rayon); overflow: hidden; }
.lads-simu__form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 32px; align-content: start; margin: 0; }
.lads-simu__durees { display: grid; grid-template-columns: repeat(var(--lads-durees, 6), 1fr); gap: 6px; margin-top: 6px; }
.lads-simu__durees label { position: relative; margin: 0; }
/* Bouton radio masqué ; Motors l'enveloppe dans div.radio (jQuery Uniform), d'où la classe lads-coche posée par fiche.js. */
.lads-simu__durees input, .lads-simu__durees .radio { position: absolute; top: 0; left: 0; opacity: 0; width: 1px; height: 1px; margin: 0; overflow: hidden; }
.lads-simu__duree { display: grid; place-items: center; min-height: 48px; padding: 4px; border: 1px solid #A9B6CC; border-radius: var(--lads-rayon); background: #fff; font: 700 15px/1.1 var(--lads-titre); color: var(--lads-encre); cursor: pointer; text-align: center; }
.lads-simu__duree small { font: 600 11px/1.2 var(--lads-titre); color: var(--lads-gris); }
.lads-simu__durees .lads-coche .lads-simu__duree { background: var(--lads-ciel); border-color: var(--lads-ciel); color: var(--lads-nuit); }
.lads-simu__durees .lads-coche .lads-simu__duree small { color: var(--lads-nuit); }
.lads-simu__durees label:focus-within .lads-simu__duree { outline: 3px solid var(--lads-roi); outline-offset: 2px; }
.lads-simu__resultat { padding: 32px; background: var(--lads-roi); color: #fff; }
.lads-simu__resultat p { margin: 0; }
.lads-simu .lads-simu__etiquette { font: 700 16px/1.3 var(--lads-titre); color: var(--lads-brume); }
.lads-simu .lads-simu__mensualite { margin: 4px 0 6px; font: 800 46px/1.1 var(--lads-titre); color: #fff; }
.lads-simu .lads-simu__detail { margin-bottom: 16px; color: var(--lads-brume); font-size: 15px; line-height: 1.5; }
.lads-simu__chiffres { margin: 0 0 20px; }
.lads-simu__chiffres div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid rgba(255, 255, 255, .22); }
.lads-simu__chiffres dt { font-weight: 400; color: var(--lads-brume); }
.lads-simu__chiffres dd { margin: 0; font: 700 16px/1.4 var(--lads-titre); white-space: nowrap; color: #fff; }
.lads-simu .lads-simu__mention { padding: 12px 14px; background: var(--lads-nuit); border-radius: var(--lads-rayon); font-size: 14px; line-height: 1.5; color: #fff; }

/* ---------- Équipements ---------- */
.lads-equip__tete { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.lads-equip__total { margin: 0; color: var(--lads-gris); font-size: 17px; line-height: 1.5; }
.lads-equip__recherche { width: min(380px, 100%); }
.lads-equip .lads-equip__recherche input {
	padding-left: 42px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355627E' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px center / 19px;
}
.lads-equip__resultat { margin: 0 0 18px; font: 600 15px/1.4 var(--lads-titre); color: var(--lads-gris); }
.lads-equip__resultat:empty { display: none; }
.lads-equip__stock { margin: 0 0 26px; padding: 18px 20px; background: var(--lads-brume); border-left: 5px solid var(--lads-ciel); border-radius: var(--lads-rayon); }
.lads-equip__stock[hidden] { display: none; }
.lads-equip__stock p { margin: 0 0 10px; font-weight: 600; }
.lads-equip__stock ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.lads-equip__stock li { margin: 0; padding: 0; }
.lads-equip__stock a { display: flex; align-items: center; gap: 10px; padding: 5px 12px 5px 5px; background: #fff; border-radius: var(--lads-rayon); color: var(--lads-encre); text-decoration: none; font: 600 14px/1.25 var(--lads-titre); }
.lads-equip__stock a:hover { color: var(--lads-roi); box-shadow: 0 0 0 2px var(--lads-ciel); }
.lads-equip__stock img { width: 58px; height: 34px; object-fit: cover; border-radius: 3px; }
.lads-equip__stock strong { color: var(--lads-roi); }
.lads-equip__groupes { columns: 3 300px; column-gap: 40px; }
.lads-equip__groupe { break-inside: avoid; margin: 0 0 26px; }
.lads-equip__groupe[hidden] { display: none; }
.lads-equip__groupe summary { display: flex; align-items: center; gap: 10px; padding: 4px 0 8px; margin-bottom: 4px; border-bottom: 2px solid var(--lads-roi); font: 700 16px/1.3 var(--lads-titre); color: var(--lads-encre); cursor: pointer; list-style: none; }
.lads-equip__groupe summary::-webkit-details-marker { display: none; }
.lads-equip__groupe summary::after { content: ''; width: 8px; height: 8px; margin: 0 4px 3px 0; border-right: 2.5px solid var(--lads-roi); border-bottom: 2.5px solid var(--lads-roi); transform: rotate(45deg); transition: transform .15s; }
.lads-equip__groupe[open] summary::after { transform: rotate(-135deg); margin-bottom: -3px; }
.lads-equip__groupe summary span { margin-left: auto; color: var(--lads-gris); font-weight: 600; }
.lads-equip__groupe ul { list-style: none; margin: 0; padding: 0; }
.lads-equip__groupe li { position: relative; margin: 0; padding: 6px 0 6px 20px; border-bottom: 1px solid var(--lads-trait); font-size: 15px; line-height: 1.45; }
.lads-equip__groupe li[hidden] { display: none; }
.lads-equip__groupe li::before { content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: var(--lads-ciel); border-radius: 1px; }
.lads-equip mark { background: #FFE58A; color: var(--lads-encre); padding: 0 1px; border-radius: 2px; }

/* ---------- Contact pour ce véhicule (section native, classe lads-contact-v) ---------- */
.elementor .lads-contact-v .lads-contact-v__texte, .elementor .lads-contact-v .lads-contact-v__texte p { color: var(--lads-brume); font-size: 17px; line-height: 1.6; }
.elementor .lads-contact-v .lads-contact-v__adresse, .elementor .lads-contact-v .lads-contact-v__adresse p { color: var(--lads-brume); font-size: 15px; line-height: 1.6; }
.elementor .lads-contact-v .lads-contact-v__statut .elementor-heading-title { display: inline-flex; align-items: center; gap: 9px; padding: 7px 12px; background: var(--lads-nuit); border-radius: var(--lads-rayon); font: 700 14px/1.3 var(--lads-titre); color: #fff; }
.elementor .lads-contact-v .lads-formulaire { background: #fff; border-radius: var(--lads-rayon); }
.elementor .lads-contact-v .lads-formulaire .elementor-field-group > label { font: 700 14px/1.3 var(--lads-titre); color: var(--lads-encre); }
.elementor .lads-contact-v .lads-formulaire .elementor-field-textual { min-height: 48px; border: 1px solid #A9B6CC; border-radius: var(--lads-rayon); font: 400 16px/1.4 var(--lads-texte); color: var(--lads-encre); }
.elementor .lads-contact-v .lads-formulaire .elementor-field-textual:focus { border-color: var(--lads-ciel); box-shadow: 0 0 0 2px rgba(42, 143, 212, .35); }
.elementor .lads-contact-v .lads-formulaire .elementor-button { min-height: 50px; border-radius: var(--lads-rayon); background: var(--lads-roi); font: 700 15px/1.2 var(--lads-titre); text-transform: none; }
.elementor .lads-contact-v .lads-formulaire .elementor-button:hover { background: var(--lads-nuit); }

/* Le bloc de contact touche le pied de page (Motors laisse 60 px blancs sous la fiche). */
.single-listings .stm-single-car-page:has(.lads-contact-v) { margin-bottom: 0; }

/* ---------- Tablette et téléphone ---------- */
@media (max-width: 1024px) {
	.lads-carac { grid-template-columns: 1fr; gap: 28px; }
	.lads-simu { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.lads-resume { padding: 20px 18px 18px; }
	.lads-resume .lads-resume__titre { font-size: 23px; }
	.lads-resume .lads-resume__prix { margin: 0 -18px 14px; padding: 12px 18px; font-size: 32px; }
	/* Téléphone : sommaire en bloc de 2 × 2 sous le résumé, sans défilement de côté ni barre collante. */
	.elementor .lads-sommaire-section { position: static; }
	.elementor .lads-sommaire .elementor-icon-list-items { display: grid; grid-template-columns: 1fr 1fr; gap: 0; overflow: visible; }
	.elementor .lads-sommaire .elementor-icon-list-item a { padding: 13px 8px 11px; font-size: 14px; text-align: center; }
	.lads-carac__tableau th { width: 46%; font-size: 14px; }
	.lads-carac__tableau td { font-size: 14px; }
	.lads-carac__annonce { padding: 20px; }
	.lads-simu__form { grid-template-columns: 1fr; padding: 22px 18px; gap: 16px; }
	.lads-simu__durees { grid-template-columns: repeat(3, 1fr); }
	.lads-simu__resultat { padding: 24px 18px; }
	.lads-simu .lads-simu__mensualite { font-size: 38px; }
	.lads-equip__groupes { columns: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.lads-f-bouton, .lads-equip__groupe summary::after { transition: none; }
}
