.wp-block-table table {
	border: 1px solid #F2F4F8;
	border-bottom: 5px solid #6646FF;
	border-collapse: collapse;
}

.wp-block-table table th,
.wp-block-table table td {
	text-align: left;
	padding: 0.5rem 0.75rem;
}

.wp-block-table table th:not(:last-child),
.wp-block-table table td:not(:last-child) {
	border-right: 1px dashed #6646FF;
}

.wp-block-table table thead th:first-child {
	color: #6646FF;
}

.wp-block-table table tbody tr:nth-child(2n + 1) {
	background-color: #F2F4F8;
}

.wp-block-table table thead,
.wp-block-table table tbody tr:nth-child(2n) {
	background-color: transparent;
}

/* Header qui rétrécit au scroll (#4) — via custom.css, sans recompiler le bundle */
.header,
.header__logo img {
	transition: height .25s ease, width .25s ease;
}
.header.is-not-top {
	height: 5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
.header.is-not-top .header__logo img {
	width: 13rem;
}
/* ...et qui SUIT le scroll (desktop). position:fixed car le body a overflow-y:hidden (sticky cassé). */
@media (min-width: 64em) {
	.header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 110; /* au-dessus de la colonne de filtres (.products__facets z-index:103) — sinon le header fixe passe DESSOUS au scroll */
	}
	.admin-bar .header {
		top: 32px; /* sous la barre d'admin WP quand connecté */
	}
	.site-wrapper {
		padding-top: 8.25rem; /* compense le header passé en fixed (= sa hauteur) */
	}
}

/* Éléments collants (filtres véhicules, onglets fiche) décalés pour passer SOUS le header fixe, pas derrière */
@media (min-width: 64em) {
	.product__aside { top: 6rem; }
	.admin-bar .product__aside { top: 8rem; }
	.product__tabs { top: 5rem; }
	.admin-bar .product__tabs { top: 7rem; }
}

/* Slider offres */
.offers-slider__container {
	margin-left: auto;
	margin-right: auto;
	max-width: 90rem;
	position: relative;
	padding-left: 1rem;
	padding-right: 1rem;
}

.offers-slider__title {
	text-align: center;
	margin-bottom: 1em;
}

.offers-slider__container .swiper-wrapper {
	margin: 0;
}

.offers-slider__list,
.offers-slider__nav {
	margin-left: auto;
	margin-right: auto;
	width: 90vw;
	position: static;
}

.offers-slider__list {
	margin-bottom: 13px;
}

.offers-slider__list .swiper-slide,
.offers-slider__nav .swiper-slide {
	aspect-ratio: calc(16 / 9);
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.offers-slider__list .swiper-slide {
	justify-content: flex-end;
	padding: 1rem;
	gap: 1rem;
}

.offers-slider__nav .swiper-wrapper {
	align-items: stretch;
}

.offers-slider__nav .swiper-slide {
	justify-content: center;
	padding: 1rem;
	gap: 1rem;
	position: relative;
	background-size: cover;
	height: auto;
}

.offers-slider__nav .swiper-slide::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	opacity: 0.5;
}

.offers-slider__nav .swiper-slide .offer-title,
.offers-slider__nav .swiper-slide .button {
	z-index: 2;
	position: relative;
}

.offers-slider__nav .swiper-slide .button {
	opacity: 0.75;
	padding: 0.5rem;
	line-height: 0.75;
}

.offers-slider__nav .swiper-slide .button svg {
	width: 0.75rem;
}

.offers-slider__list .offer-title,
.offers-slider__nav .offer-title {
	color: white;
	font-weight: 600;
}

.offers-slider__list .offer-title {
	font-size: 1.5rem;
}

.offers-slider__nav .swiper-button-prev,
.offers-slider__nav .swiper-button-next {
	display: none;
}

@media print, screen and (min-width: 48em) {
	.offers-slider__list .swiper-slide {
		padding: 3rem;
	}

	.offers-slider__list .offer-title {
		font-size: 2.5rem;
	}

	.offers-slider__nav .swiper-button-prev,
	.offers-slider__nav .swiper-button-next {
		display: flex;
	}

	.offers-slider__list,
	.offers-slider__nav {
		width: 75%;
	}
}

/* Bloc FAQ */
.ps-block--faq,
.ps-block--multi-cta,
.ps-block--faq-section {
	margin-bottom: 1.875rem;
	margin-top: 1.875rem;
}

.ps-block--faq .ps-block__container,
.ps-block--multi-cta .ps-block__container {
	margin-left: auto;
	margin-right: auto;
	max-width: 90rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.ps-block--faq .ps-block__content {
	background-color: #f2f4f8;
	text-align: center;
	padding: 1.5rem;
}

.ps-block--faq .ps-block__body,
.ps-block--faq .ps-block__grid,
.ps-block--multi-cta .ps-block__body,
.ps-block--multi-cta .ps-block__grid,
.ps-block--faq-section .ps-block__body,
.ps-block--faq-section .ps-block__grid {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-left: -1rem;
	margin-right: -1rem;
}

.ps-block--faq .faq__title {
	font-size: 28px;
	font-weight: 600;
}

.ps-block--faq .faq__button {
	margin-top: 2rem;
}

/* Bloc multi call-to-actions */
.ps-block--multi-cta .ps-block__content {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.ps-block--multi-cta .multi-cta__column {
	background-color: #f2f4f8;
	padding: 1rem;
	flex-basis: calc(50% - 1rem);
	color: black;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	gap: 1rem;
	transition: all 0.35s;
}

.ps-block--multi-cta .multi-cta__column:hover {
	background-color: #fff;
}

.ps-block--multi-cta .multi-cta__column svg,
.ps-block--multi-cta .multi-cta__column img {
	width: 100%;
	max-width: 2rem;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	object-position: center;
}

/* Spacing dynamique */
@media print, screen and (min-width: 48em) {
	.ps-block--faq,
	.ps-block--multi-cta,
	.ps-block--faq-section {
		margin-bottom: 5rem;
		margin-top: 5rem;
	}
}

@media print, screen and (min-width: 32.5em) {
	.ps-block--faq .ps-block__container,
	.ps-block--multi-cta .ps-block__container,
	.ps-block--faq-section .ps-block__container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.ps-block--faq .ps-block__body,
	.ps-block--faq .ps-block__grid,
	.ps-block--multi-cta .ps-block__body,
	.ps-block--multi-cta .ps-block__grid,
	.ps-block--faq-section .ps-block__body,
	.ps-block--faq-section .ps-block__grid {
		margin-left: -1rem;
		margin-right: -1rem;
	}
}

@media print, screen and (min-width: 48em) {
	.ps-block--faq .ps-block__content,
	.ps-block--multi-cta .ps-block__conten {
		flex: 0 0 auto;
		margin-left: 1rem;
		margin-right: 1rem;
		width: calc(66.66667% - 2rem);
	}

	/* Fix grid */
	.ps-block--faq-section .ps-block__content {
	}

	.ps-block--faq .ps-block__content {
		padding: 3.4375rem;
	}

	.ps-block--multi-cta .ps-block__content {
		flex-wrap: nowrap;
		padding-left: 0;
		padding-right: 0;
	}

	.ps-block--multi-cta .multi-cta__column {
		flex-basis: calc(25% - 0.75rem);
		padding: 2rem;
	}
}

/* Misc */
.ps-block--highlight.no-background {
	background-color: transparent;
}

.single-offers .addtoany_share_save_container {
	display: none;
}

/* Fix tailles d'icone motos */
.icon-shifter-pro {
	height: 2rem;
	width: 1.75rem;
}

.icon-permis-a2,
.icon-poignees-chauffantes,
.icon-appel-urgence {
	height: 1.25rem;
	width: 1.25rem;
}

.icon-demarrage-sans-cles {
	height: 1.15rem;
	width: 1.15rem;
}

.icon-feux-route {
	height: 1.75rem;
	width: 1.35rem;
}

.icon-kit-surbaissement {
	height: 2rem;
	width: 1rem;
	margin-top: -0.5rem;
}

.icon-teleservice {
	height: 1.5rem;
	width: 1.35rem;
}

.icon-selle-chauffante {
	height: 1.5rem;
	width: 1.5rem;
}

.icon-roue {
	height: 1.25rem;
	width: 1.25rem;
}

.icon-motos,
.icon-motos-a2 {
	height: 3.375rem;
	width: 6.25rem
}

@media print, screen and (min-width: 32.5em) {
	.icon-motos,
	.icon-motos-a2 {
		height: 3.625rem;
		width: 6.875rem
	}
}

.categories__item-subtitle {
	font-size: 0.75em;
}

.products__description {
	margin-top: 4rem;
}

/* Titres du bloc texte SEO : taille intermediaire (entre l'original enorme et la version reduite) ; corps non touche */
.products__description h1 {
	font-size: 2.25rem;
	line-height: 1.3;
}

.products__description h2 {
	font-size: 1.875rem;
	line-height: 1.3;
}

.products__description h3 {
	font-size: 1.5rem;
	line-height: 1.35;
}

.products__description h4 {
	font-size: 1.25rem;
	line-height: 1.4;
}

/* Intro hero pages voitures/motos : ancien sous-titre trop gros (27px) -> allégé */
.hero--cars .hero__excerpt {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.4;
}

/* Icone catégorie Berline : taille (le sprite manquait dans le build recette, récupéré de la prod ; sa règle CSS manquait aussi) */
.icon-berline {
	height: 2.75rem;
	width: 6.125rem;
}
@media print, screen and (min-width: 64em) {
	.icon-berline {
		height: 3rem;
		width: 7rem;
	}
}

/* Multiples formulaires sur la home */
.hero-home__search__container {
	flex-direction: row;
	border-radius: 12px;
	background-color: rgba(255, 255, 255, 0.3);
	padding: 0.875rem;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	margin-top: -4.5rem;
	z-index: 2;
}

.hero-home__search__container .hero-home__search__tabs {
	display: flex;
	margin-left: 0.5rem;
}

.hero-home__search__container .hero-home__search__tab {
	background-color: #f2f4f8;
	color: #525254;
	padding: 0.5rem 1.2rem;
	border-radius: 4px 4px 0 0;
}

.hero-home__search__container .hero-home__search__tab:hover {
	background-color: #fff;
	color: #1c1f21;
}

.hero-home__search__container .hero-home__search__tab.tab-active {
	background-color: #6646ff;
	color: white;
	font-weight: 600;
}

.hero-home__search {
	width: 100%;
	margin: 0;
}

.hero-home__search.loading .hero-home__dropdown-container > * {
	pointer-events: none;
}

.hero-home__search.loading .hero-home__dropdown-container {
	cursor: wait;
	opacity: 0.3;
}

@media print, screen and (min-width: 64em) {
	.hero-home__search__container {
		flex-direction: row;
		margin: 3.5625rem auto 2.125rem;
		padding: 0.875rem;
		width: 83.33333%;
	}

	.hero-home__search {
		width: 100%;
		margin: 0;
	}
}

.hero-home__dropdown {
	transition: all 0.25s;
}

.hero-home__search[data-name="cars"] .hero-home__dropdown--home_brand_motos {
	display: none;
}

.hero-home__search[data-name="motos"] .hero-home__dropdown--home_brand {
	display: none;
}

.hero-home__search[data-name="cars"] .button-motos {
	display: none;
}

.hero-home__search[data-name="motos"] .button-cars {
	display: none;
}

.hero-home__search[data-name="motos"] .hero-home__dropdown--home_model {
	height: 0%;
	opacity: 0;
	pointer-events: none;
	flex-shrink: 1;
	flex-basis: 0;
	overflow: hidden;
}

.hero-home__dropdown--home_brand_motos .hero-home__dropdown-btn {
	border-top-width: 0;
}

@media print, screen and (min-width: 64em) {
	.hero-home__search[data-name="motos"] .hero-home__dropdown {
		width: 33%;
	}

	.hero-home__search[data-name="motos"] .hero-home__dropdown--home_model {
		width: 0%;
	}
}

/* Section FAQ */
.ps-block--faq-section .ps-block__container {
	margin-left: auto;
	margin-right: auto;
	max-width: 102rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.ps-block--faq-section .ps-block__body,
.ps-block--faq-section .ps-block__grid {
	margin-left: 0rem;
	margin-right: 0rem;
}

.faq-section ul {
	display: block;
}

.faq-section .faq-item {
	display: block;
}

.faq-section .faq-item:not(:last-child) {
	margin-bottom: 1rem;
}

.faq-section .faq-item .faq-item-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 2px solid #6646FF;
	padding: 0.5rem 1rem;
}

.faq-section .faq-item .faq-item-header:hover {
	cursor: pointer;
}

.faq-section .faq-item .faq-item-icon {
	width: 2rem;
	height: 2rem;
	padding: 0.5rem;
	border-radius: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.faq-section .faq-item .faq-item-icon svg {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	transform-origin: center;
	transition: all .3s;
	color: rgba(28, 29, 33, .6);
}

.faq-section .faq-item .faq-item-body {
	background-color: #fff;
	padding: 1rem;
	border-style: solid;
	border-color: #F2F4F8;
	border-width: 0px 2px;
}

.faq-section .faq-item .faq-item-body:last-child {
	border-bottom-width: 2px;
}

iframe {
	max-width: 100%;
}

.faq-section .ps-block__content {
	display: grid;
	width: 100%;
	gap: 2rem;
}

.faq-section .ps-block__content aside {
	display: none;
}

.faq-section aside ul {
	position: sticky;
	top: 4rem;
	list-style: none;
	margin: 0;
}

.faq-section aside ul li a {
	background-color: #F2F4F8;
	border-radius: 0.25rem;
	display: block;
	width: 100%;
	padding: 1rem;
}

.faq-section aside ul li:not(:last-child) {
	margin-bottom: 1rem;
}

.faq-section aside ul li.selected a {
	background-color: #6646FF;
	color: white;
	font-weight: bold;
}

.faq-section aside ul li a {
	color: inherit;
	text-decoration: none;
}

.faq-section aside ul li.active {
	border-left: 2px solid #f2f4f8;
}

.faq-section .ps-block__content .faq-section-category {
	background-color: #F2F4F8;
	border-radius: 0.25rem;
}

.faq-section .ps-block__content .faq-section-category:not(:last-child) {
	margin-bottom: 2rem;
}

.faq-section .ps-block__content .faq-section-category .faq-section-category-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
}

.faq-section .ps-block__content .faq-section-category .faq-section-category-title span::before {
	content: '+';
	display: inline;
	color: #6646FF;
	margin-right: 0.5rem;
}

.faq-section .ps-block__content .faq-section-category.selected .faq-section-category-title span::before {
	content: '-';
}

.faq-section .ps-block__content .faq-section-category .faq-section-category-title img {
	height: 48px;
	width: 48px;
	object-fit: contain;
	object-position: right center;
}

.faq-section .ps-block__content .faq-section-category ul {
	margin: 0;
}

.faq-section .ps-block__content .faq-item-body .button.button--cta {
	margin: 1rem 0;
}

/* Opened */
.faq-section .faq-item.opened .faq-item-icon svg {
	transform: rotate(180deg);
}

.faq-section .faq-section-category:not(.selected) .faq-questions-questions {
	display: none;
}

/* Desktop */
@media print, screen and (min-width: 64em) {
	.faq-section .ps-block__content {
		grid-template-columns: 300px 1fr;
	}

	.faq-section .ps-block__content aside {
		display: block;
	}

	.faq-section .ps-block__content .faq-section-category {
		padding: 2rem;
	}

	.faq-section .faq-item .faq-item-body,
	.faq-section .faq-item .faq-item-body:last-child {
		border-width: 0;
		border-bottom-width: 0;
	}

	.faq-section .ps-block__content .faq-section-category:not(.selected) {
		display: none;
	}

	.faq-section .ps-block__content .faq-section-category:not(:last-child) {
		margin-bottom: 0;
	}

	.faq-section .ps-block__content .faq-section-category .faq-section-category-title {
		display: none;
	}

	/* Categories always open on desktop */
	.faq-section .faq-section-category .faq-questions-questions,
	.faq-section .faq-section-category:not(.selected) .faq-questions-questions {
		display: block !important;
	}
}


/* Ad cards */
.product-promo-card .swiper {
	height: 100%;
}

.product-promo-card .product-promo-card__content {
	position: relative;
	height: 100%;
	padding-bottom: 100%;
	background-color: #E1E4E6;
}

.product-promo-card .product-promo-card__content::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 1;
}

.product-promo-card .grim-link{
	height: 100%;
	width: 100%;
}

.product-promo-card .grim-link > img {
	width: inherit;
	height: inherit;
	object-fit: contain;
	pointer-events: none;
}

.product-promo-card .image-cover img, .product-promo-card img.cover {
	object-fit: cover;
}

.js-swiper-promo-card.product-card__gallery:after {
    display: none;
}
.facetwp-facet-home_brand_motos .facetwp-depth:not(.visible) {
    display: none;
}
.offer-title {
    display: none;
}

.offers-slider__container {
    margin-left: auto;
    margin-right: auto;
    max-width: 90rem;
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Réduire la hauteur du conteneur principal */
.offers-slider__list.swiper.swiper--offers-slider {
    width: 75%;
    margin: 0 auto;
    margin-bottom: 10px !important;
    aspect-ratio: 1056/594; /* Garde le ratio de l'image originale */
    max-height: min(600px, 70vh); /* Ne dépasse pas 600px ou 70% de la hauteur de l'écran */
    height: auto !important;
}
.swiper--offers-slider .swiper-slide,
.swiper--offers-slider-nav .swiper-slide {
	background-size: cover;
	background-position: center;
    background-repeat: no-repeat;
}

/* Navigation thumbnails */
.offers-slider__nav {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
	background-size: contain;
}

@media screen and (min-width: 640px) {
	.swiper--offers-slider-nav {
		height: 250px;
	}
}

.swiper--offers-slider-nav .swiper-slide {
    /* width: calc(25% - 10px) !important; */
    height: 100%;
    opacity: 0.6;
    transition: opacity 0.3s;
	max-height: 150px;
}

.swiper--offers-slider-nav .swiper-slide-active {
    opacity: 1;
}

/* Correction du wrapper pour éviter l'espace supplémentaire */
.swiper-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}


.offers-slider__nav .swiper-slide::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	opacity: 0.5;
}

.wp-7-maj {
	display: flex;
	grid-gap: 30px;
}

/* Style général des cases à cocher */
.gfield_checkbox input[type="checkbox"],
.ginput_container_checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1.5rem;
  height: 1.5rem;
}

/* Case à cocher personnalisée */
.gfield_checkbox label::before,
.ginput_container_checkbox label::before {
  content: "";
  display: inline-block;
  background: #fff;
  border-radius: .25rem;
  box-shadow: inset 0 0 0 1px #cfd2d4;
  height: 1.5rem;
  width: 1.5rem;
  margin-right: 0.5rem;
  vertical-align: middle;
  transition: box-shadow .2s, background-color .2s;
}

/* État coché */
.gfield_checkbox input[type="checkbox"]:checked + label::before,
.ginput_container_checkbox input[type="checkbox"]:checked + label::before {
  background-color: #6646ff;
  box-shadow: inset 0 0 0 1px #6646ff;
}

/* Alignement correct du label */
.gfield_checkbox label,
.ginput_container_checkbox label {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 0.5rem;
}

/* correctif affichage images suite maj WP 6.7*/
.ps-block__img {
	margin: 0 auto;
    /*aspect-ratio: 876/504; /* Garde le ratio de l'image originale */
    /*max-height: min(600px, 70vh); /* Ne dépasse pas 600px ou 70% de la hauteur de l'écran */
    height: auto !important;
}

.ps-block--image .ps-block__grid {
    display: flex;
    flex-flow: row wrap;
    margin-left: 6rem;
    margin-right: 6rem;
}

.ps-block--image .ps-block__grid > * {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: revert;
}

/* Responsive */
@media screen and (max-width: 32.5em) {
    .ps-block--image .ps-block__grid {
        display: flex;
        flex-flow: row wrap;
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .swiper--offers-slider .swiper-slide .button--cta,
    .swiper--offers-slider-nav .swiper-slide .button--cta {
        font-size: 16px;
        padding: 0.5rem 0.75rem;
    }
}

/* Fix lists on editor */
:where(.editor-styles-wrapper) ul {
    list-style: disc !important;
    padding-left: 24px;
}

.product-card__header-label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
}

.special-offer-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .375rem;
}
.special-offer-label.is-icon-left {
	flex-direction: row-reverse;
}
.special-offer-label .special-offer-icon {
	height: 12px;
	width: auto;
	object-fit: contain;
	object-position: center right;
}
.special-offer-label.is-left .special-offer-icon {
	object-position: center left;
}
a.special-offer-label {
	transition: opacity 0.35s;
}
a.special-offer-label:hover {
	cursor: pointer;
	opacity: 0.75;
}
.special-offer-tooltip {
	display: none;
}

/* =========================================================================
 * Vos recherches recentes (home) — v3 (bleu GRIM), Claude 2026-07-01.
 * Bloc rempli cote client par custom.js (.recent-searches).
 * ========================================================================= */
.recent-searches {
	--rs-accent: #6646ff;
	--rs-dark: #1c1d21;
	padding: 2.5rem 0 0.5rem;
}
.recent-searches[hidden] { display: none; }
.recent-searches__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}
.recent-searches__title {
	font-size: 1.5rem;
	margin: 0 0 1.25rem;
}

/* --- Carrousel --- */
/* gouttieres laterales pour loger les fleches SANS chevaucher les cartes */
.recent-searches__viewport {
	position: relative;
	padding: 0 3.25rem;
}
.recent-searches__items {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding: .25rem .25rem 1rem;
	scrollbar-width: thin;
}
.recent-searches__items::-webkit-scrollbar { height: 6px; }
.recent-searches__items::-webkit-scrollbar-thumb { background: #d8d8d8; border-radius: 999px; }

.recent-searches__nav {
	position: absolute;
	top: calc(50% - .5rem);
	transform: translateY(-50%);
	z-index: 2;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e3e3e3;
	background: #fff;
	color: var(--rs-dark);
	font-size: 1.5rem;
	line-height: 1;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.recent-searches__nav:hover { background: var(--rs-accent); color: #fff; border-color: var(--rs-accent); }
.recent-searches__nav[hidden] { display: none; }
.recent-searches__nav--prev { left: 0; }
.recent-searches__nav--next { right: 0; }

/* --- Carte --- */
.recent-search-card {
	position: relative;
	flex: 0 0 260px;
	scroll-snap-align: start;
	border: 1px solid #e3e3e3;
	border-radius: 10px;
	background: #fff;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.recent-search-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
	border-color: var(--rs-accent);
	transform: translateY(-2px);
}
.recent-search-card__link {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: 1rem 1rem 1.1rem;
	height: 100%;
	text-decoration: none;
	color: inherit;
}
.recent-search-card__title {
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.25;
	color: var(--rs-dark);
	padding-right: 1.5rem;
}
.recent-search-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}
.recent-search-card__tag {
	background: #f2f4f8;
	color: #444;
	font-size: .8rem;
	padding: .2rem .6rem;
	border-radius: 999px;
	white-space: nowrap;
}
.recent-search-card__cta {
	margin-top: auto;
	font-weight: 600;
	font-size: .9rem;
	color: var(--rs-accent);
}
.recent-search-card__remove {
	position: absolute;
	top: .35rem;
	right: .35rem;
	z-index: 1;
	width: 1.6rem;
	height: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: #999;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
	transition: background .15s ease, color .15s ease;
}
.recent-search-card__remove:hover {
	background: #f2f4f8;
	color: var(--rs-dark);
}
@media (max-width: 600px) {
	.recent-searches__viewport { padding: 0; }
	.recent-search-card { flex-basis: 78%; }
	.recent-search-card__title { font-size: .95rem; }
	.recent-searches__nav { display: none !important; }
}

/* =========================================================================
 * Fix chevauchement : on remonte le bouton "remonter en haut" (.scroll-to-top,
 * bas-droite) au-dessus du widget cookies Axeptio (choix Wally, plus fiable
 * que de bouger Axeptio qui est encapsule dans un shadow DOM).
 * ========================================================================= */
.scroll-to-top {
	bottom: 5.5rem;
}
@media (max-width: 600px) {
	.scroll-to-top { bottom: 5rem; }
}

/* =========================================================================
 * Redesign du formulaire "Contacter le concessionnaire" (Gravity Forms id 1).
 * SCOPE STRICT #gform_wrapper_1 : n'affecte aucun autre formulaire du site.
 * Tokens GRIM : bleu #6646ff, sombre #1c1d21, gris clair.
 * ========================================================================= */
#gform_wrapper_1 {
	--gf-accent: #6646ff;
	--gf-dark: #1c1d21;
	--gf-border: #dfe3ea;
	--gf-bg: #f7f8fa;
}
#gform_wrapper_1 .gform_fields {
	display: grid !important;                 /* le theme ne met PAS de grille par defaut */
	grid-template-columns: 1fr !important;    /* mobile : 1 colonne */
	grid-column-gap: .9rem;
	grid-row-gap: .35rem;
	align-items: start;
}
/* Form en 2 colonnes (horizontal). Champs longs = pleine largeur. */
@media (min-width: 641px) {
	#gform_wrapper_1 .gform_fields { grid-template-columns: 1fr 1fr !important; }
	#gform_wrapper_1 .gform_fields > .gfield {
		grid-column: auto / auto !important;
		width: auto !important;
		float: none !important;
		margin: 0 !important;
	}
	#gform_wrapper_1 .gform_fields > .gfield--type-textarea,
	#gform_wrapper_1 .gform_fields > .gfield--type-consent,
	#gform_wrapper_1 .gform_fields > .gfield--type-radio,
	#gform_wrapper_1 .gform_fields > .gfield--type-captcha,
	#gform_wrapper_1 .gform_fields > .gfield--type-hidden { grid-column: 1 / -1 !important; }
}
/* Honeypot GF : DOIT rester invisible (hors grille, off-screen). Anti-spam.
   (ma grille l'avait rendu visible comme un faux champ "Phone".) */
#gform_wrapper_1 .gfield-honeypot,
#gform_wrapper_1 .gfield--type-honeypot,
#gform_wrapper_1 .gform_validation_container {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}
#gform_wrapper_1 .gfield_label,
#gform_wrapper_1 .gform-field-label {
	font-weight: 600;
	color: var(--gf-dark);
	margin-bottom: .1rem;
	font-size: .74rem;
}
#gform_wrapper_1 .gfield_required_asterisk { color: var(--gf-accent); }

#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input[type="number"],
#gform_wrapper_1 textarea,
#gform_wrapper_1 select {
	width: 100%;
	padding: .4rem .55rem;
	border: 1px solid var(--gf-border);
	border-radius: 8px;
	background: var(--gf-bg);
	color: var(--gf-dark);
	font-size: .84rem;
	line-height: 1.3;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
	box-sizing: border-box;
}
#gform_wrapper_1 textarea { min-height: 44px; resize: vertical; }
#gform_wrapper_1 input:focus,
#gform_wrapper_1 textarea:focus,
#gform_wrapper_1 select:focus {
	outline: none;
	border-color: var(--gf-accent);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(102, 70, 255, .15);
}
#gform_wrapper_1 input::placeholder,
#gform_wrapper_1 textarea::placeholder { color: #9aa1ac; }

#gform_wrapper_1 .gfield-radio .gfield_radio {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: .4rem 1.5rem;
}
#gform_wrapper_1 .gfield_checkbox,
#gform_wrapper_1 .ginput_container_consent {
	display: flex;
	flex-direction: column;
	gap: .4rem;
}
/* Consentement RGPD : texte plus compact */
#gform_wrapper_1 .gfield-consent .gfield_consent_label,
#gform_wrapper_1 .gfield-consent .gform-field-label { font-size: .73rem; line-height: 1.25; font-weight: 400; }
/* Long texte RGPD (description) : compact */
#gform_wrapper_1 .gfield_consent_description,
#gform_wrapper_1 .gfield-consent .gfield_description { font-size: .68rem; line-height: 1.25; margin-top: .2rem; }
/* RGPD : le texte d'info passe AU-DESSUS de la case à cocher (swap demandé) */
#gform_wrapper_1 .gfield--type-consent { display: flex; flex-direction: column; }
#gform_wrapper_1 .gfield--type-consent .gfield_consent_description { order: -1; margin: 0 0 .5rem; }
#gform_wrapper_1 .gfield--type-consent .ginput_container_consent { order: 1; }
#gform_wrapper_1 .gchoice { display: flex; align-items: flex-start; gap: .55rem; }
#gform_wrapper_1 .gchoice label { font-weight: 400; color: #3a3f47; line-height: 1.35; }
#gform_wrapper_1 input[type="radio"],
#gform_wrapper_1 input[type="checkbox"] {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: .1rem;
	accent-color: var(--gf-accent);
	flex: 0 0 auto;
	cursor: pointer;
}

#gform_wrapper_1 .gform_footer { margin-top: .7rem; padding-top: 0; }
#gform_wrapper_1 .gform_button,
#gform_wrapper_1 input[type="submit"].gform_button {
	background: var(--gf-accent);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: .6rem 1.4rem;
	font-size: .95rem;
	font-weight: 700;
	cursor: pointer;
	width: 100%;
	transition: background .15s ease, transform .15s ease;
}
#gform_wrapper_1 .gform_button:hover { background: var(--gf-dark); }
#gform_wrapper_1 .gform_button:active { transform: translateY(1px); }

#gform_wrapper_1 .gfield_description.validation_message,
#gform_wrapper_1 .validation_message {
	color: #c0392b;
	font-size: .85rem;
	margin-top: .3rem;
}
#gform_wrapper_1 .gfield_error input,
#gform_wrapper_1 .gfield_error textarea { border-color: #c0392b; background: #fff5f4; }

@media (max-width: 640px) {
	#gform_wrapper_1 .gfield--width-half { grid-column: 1 / -1 !important; }
}

/* --- Modale "Contacter le concessionnaire" (#email-modal) : plus large,
 *     image plus grande, plus compacte. Scope strict #email-modal. --- */
#email-modal.reveal--large { max-width: min(94vw, 92rem); }
@media (min-width: 641px) {
	#email-modal { top: 150px; }   /* descendre un peu la card (défaut 100px) */
	#email-modal .reveal__left { width: 45%; }
	#email-modal .reveal__right { width: 55%; }
}
#email-modal .reveal__left {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
#email-modal .reveal__left .reveal__content {
	width: 100%;
	box-sizing: border-box;
}
#email-modal .reveal__image { margin-top: 1.1rem; width: 100%; }
#email-modal .reveal__image figure,
#email-modal .reveal__image img {
	width: 100%;
	height: auto;
	max-height: 34rem;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}
#email-modal .reveal__right { padding-top: 1.5rem; padding-bottom: 1.5rem; }
/* En-tête concession + réf/titre : plus compact + place à l'image */
#email-modal .reveal__heading { margin-bottom: .5rem; }
#email-modal .reveal__reference { margin-bottom: .05rem; font-size: .75rem; }
#email-modal .reveal__title { font-size: 1.15rem; line-height: 1.2; margin: .1rem 0; }
#email-modal .reveal__heading span { font-size: .82rem; }
#email-modal .reveal__left .reveal__content > span { font-size: .8rem; }
#email-modal address { font-size: .8rem; line-height: 1.3; }
/* Radios "Votre demande" : plus compacts */
#gform_wrapper_1 .gchoice label { font-size: .8rem; }
#gform_wrapper_1 .gform_footer { margin-top: .5rem; }
@media (max-width: 640px) {
	#email-modal .reveal__image figure,
	#email-modal .reveal__image img { max-height: 14rem; }
}

/* --- Modale contact v5 (dessin Wally 02/07) : carte centrée à l'écran,
 *     PHOTO EN BANDEAU en haut (entière, grande), form compact dessous.
 *     Sans scroll : hauteurs de photo bornées en vh -> s'adapte à l'écran.
 *     Scope strict #email-modal / #gform_wrapper_1. --- */
@media (min-width: 641px) {
	/* Carte centrée V+H, largeur contenue */
	#email-modal.reveal--large {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		margin: 0 !important;
		transform: translate(-50%, -50%) !important;
		width: min(94vw, 60rem);
		max-width: min(94vw, 60rem);
		max-height: 94vh;
		overflow-y: auto; /* filet de sécurité : scroll DANS la carte si écran minuscule */
	}
	/* Empilement : photo au-dessus, formulaire dessous */
	#email-modal .reveal__inner { flex-direction: column; }
	#email-modal .reveal__left,
	#email-modal .reveal__right { width: 100%; }
	#email-modal .reveal__left {
		padding: .9rem 1.5rem 0;
		background: transparent; /* fond de carte uniforme */
	}
	#email-modal .reveal__right { padding: .5rem 1.5rem 1rem; margin-left: 0; }
	#email-modal .reveal__left .reveal__content { width: 100%; box-sizing: border-box; text-align: left; }

	/* Photo : GRANDE, entière (pas de rognage), encadrée, centrée.
	   Hauteur max = 36% de l'écran -> jamais de scroll à cause d'elle. */
	#email-modal .reveal__image {
		width: fit-content;
		max-width: 100%;
		margin: .45rem auto 0;
		padding: 6px;
		background: #fff;
		border: 1px solid #e2e5ea;
		border-radius: 12px;
		box-shadow: 0 4px 14px rgba(28, 29, 33, .10);
	}
	#email-modal .reveal__image figure { margin: 0; }
	#email-modal .reveal__image img {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: min(24rem, 36vh);
		object-fit: contain;
		border-radius: 8px;
	}

	/* En-tête véhicule + concession : compact */
	#email-modal .reveal__heading { margin-bottom: .3rem; }
	#email-modal .reveal__reference { margin: 0; font-size: .72rem; }
	#email-modal .reveal__title { margin: .05rem 0; font-size: 1.05rem; line-height: 1.2; }
	#email-modal .reveal__heading span { font-size: .8rem; }
	#email-modal .reveal__left .reveal__content > span { font-size: .78rem; }
	#email-modal address { font-size: .78rem; line-height: 1.25; }

	/* Champs de saisie : petits */
	#gform_wrapper_1 .gform_fields { grid-row-gap: .18rem; }
	#gform_wrapper_1 .gfield_label,
	#gform_wrapper_1 .gform-field-label { font-size: .7rem; margin-bottom: .04rem; }
	#gform_wrapper_1 input[type="text"],
	#gform_wrapper_1 input[type="email"],
	#gform_wrapper_1 input[type="tel"],
	#gform_wrapper_1 input[type="number"],
	#gform_wrapper_1 textarea,
	#gform_wrapper_1 select { padding: .22rem .5rem; font-size: .8rem; line-height: 1.2; }
	#gform_wrapper_1 textarea { min-height: 36px; }
	#gform_wrapper_1 .gfield--type-consent .gfield_consent_description { margin: 0 0 .25rem; }
	#gform_wrapper_1 .gform_footer { margin-top: .35rem; }
	#gform_wrapper_1 .gform_button { padding: .45rem 1.2rem; font-size: .9rem; }
}

/* Écrans peu hauts (laptops 1366x768 etc.) : photo un peu plus basse pour garder le sans-scroll */
@media (min-width: 641px) and (max-height: 820px) {
	#email-modal .reveal__image img { max-height: 27vh; }
	#email-modal .reveal__left { padding-top: .6rem; }
}

/* Mobile : la modale du thème passe déjà en plein écran (scroll normal).
   On borne juste la photo pour qu'elle ne mange pas tout. */
@media (max-width: 640px) {
	#email-modal .reveal__image {
		width: fit-content;
		max-width: 100%;
		margin: .5rem auto 0;
	}
	#email-modal .reveal__image img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 30vh;
		object-fit: contain;
	}
}

/* --- Modale contact v6 (dessin Wally 02/07 #2) : cases plus petites
 *     + formulaire pas collé aux rebords de la carte. --- */
@media (min-width: 641px) {
	/* Le form respire : marges intérieures gauche/droite plus grandes */
	#email-modal .reveal__right { padding: .5rem 3.25rem 1.1rem; }
	#email-modal .reveal__left { padding-left: 3.25rem; padding-right: 3.25rem; }
	/* Plus d'air entre les 2 colonnes de champs */
	#gform_wrapper_1 .gform_fields { grid-column-gap: 1.4rem; }

	/* Cases de saisie : hauteur fixe basse (plus courtes) */
	#gform_wrapper_1 input[type="text"],
	#gform_wrapper_1 input[type="email"],
	#gform_wrapper_1 input[type="tel"],
	#gform_wrapper_1 input[type="number"],
	#gform_wrapper_1 select {
		height: 2rem;
		padding: .1rem .55rem;
		font-size: .78rem;
	}
	/* Message : hauteur maîtrisée (GF le rendait très haut) */
	#gform_wrapper_1 textarea {
		height: 6rem;
		min-height: 0;
		padding: .35rem .55rem;
		font-size: .78rem;
	}
	/* Radios / cases à cocher légèrement plus petits */
	#gform_wrapper_1 input[type="radio"],
	#gform_wrapper_1 input[type="checkbox"] { width: 1rem; height: 1rem; }
}


/* =========================================================================
 * Modale contact — mise en page demandée par Wally (03/07) :
 *   - bloc concessionnaire remonté TOUT EN HAUT (au-dessus de la photo, via twig)
 *   - formulaire GF id 1 : champs à GAUCHE empilés, gros Message à DROITE,
 *     cases Newsletter + SMS alignées côte à côte.
 * Placé en dernier dans le fichier = priorité sur les blocs v5/v6.
 * Scope strict #email-modal / #gform_wrapper_1.
 * ========================================================================= */

/* Concessionnaire remonté tout en haut de la carte (au-dessus de la photo) */
#email-modal .reveal__inner > .reveal__heading--top {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 1.1rem 1.5rem .7rem;
	margin: 0;
	border-bottom: 1px solid #e7e9ee;
}
#email-modal .reveal__heading--top address { font-style: normal; }

@media (min-width: 641px) {
	/* Grille : 2 zones. Placement EXPLICITE par ID (robuste, indépendant de
	   l'ordre d'auto-placement). Champs courts à gauche, Message à droite. */
	#gform_wrapper_1 .gform_fields {
		grid-template-columns: 1fr 1fr !important;
		align-items: start;
	}
	#gform_wrapper_1 #field_1_3 { grid-column: 1 !important; grid-row: 1 !important; } /* Nom */
	#gform_wrapper_1 #field_1_4 { grid-column: 1 !important; grid-row: 2 !important; } /* Prénom */
	#gform_wrapper_1 #field_1_5 { grid-column: 1 !important; grid-row: 3 !important; } /* E-mail */
	#gform_wrapper_1 #field_1_6 { grid-column: 1 !important; grid-row: 4 !important; } /* Téléphone */
	#gform_wrapper_1 #field_1_7 { grid-column: 1 !important; grid-row: 5 !important; } /* Votre demande */

	/* Message : colonne droite, occupe la hauteur des 5 champs de gauche */
	#gform_wrapper_1 #field_1_8 {
		grid-column: 2 !important;
		grid-row: 1 / span 5 !important;
		align-self: stretch !important;
		display: flex !important;
		flex-direction: column;
	}
	#gform_wrapper_1 #field_1_8 .ginput_container_textarea { flex: 1 1 auto; display: flex; }
	#gform_wrapper_1 #field_1_8 textarea {
		height: 100% !important;
		min-height: 11rem !important;
		flex: 1 1 auto;
	}

	/* Bas, pleine largeur : RGPD (rangée 6), CAPTCHA (rangée 8) */
	#gform_wrapper_1 #field_1_9  { grid-column: 1 / -1 !important; grid-row: 6 !important; } /* RGPD */
	#gform_wrapper_1 #field_1_10 { grid-column: 1 / -1 !important; grid-row: 8 !important; } /* CAPTCHA */

	/* Newsletter | SMS : côte à côte, alignées (rangée 7) */
	#gform_wrapper_1 #field_1_12 { grid-column: 1 !important; grid-row: 7 !important; } /* Newsletter */
	#gform_wrapper_1 #field_1_13 { grid-column: 2 !important; grid-row: 7 !important; } /* SMS */
}

/* =========================================================================
 * Mission A : le nombre (kilométrage / prix) sélectionné s'affiche EN ENTIER
 * sur le bouton du filtre de la home — plus coupé par "..." (police réduite).
 * Cause : .hero-home__dropdown-btn / -selected ont white-space:nowrap +
 * overflow:hidden + text-overflow:ellipsis.
 * ========================================================================= */
.hero-home__dropdown-btn { font-size: 1rem; }
.hero-home__dropdown-selected { font-size: .9rem; }

/* SEO maillage interne */
.grim-seo-links{margin:.5rem 0;font-size:.8rem;color:#666}
.grim-seo-links a{color:#3960ff;text-decoration:none}
.grim-seo-links a:hover{text-decoration:underline}
.grim-related-links{margin:2rem 0;padding-top:1.1rem;border-top:1px solid #eee}
.grim-related-links__group{margin-bottom:.55rem}
.grim-related-links__back{margin:0 0 .55rem;font-size:.8rem}
.grim-related-links__back a{color:#3960ff;text-decoration:none}
.grim-related-links__title{font-size:.82rem;margin:0;font-weight:600;color:#333}
.grim-related-links ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem .4rem}
.grim-related-links li a{display:inline-block;padding:.18rem .5rem;background:#f2f4f8;border-radius:999px;color:#22304a;text-decoration:none;font-size:.75rem;line-height:1.3}
.grim-related-links li a:hover{background:#e2e8f4}
.grim-related-links details>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.35rem}
.grim-related-links details>summary::-webkit-details-marker{display:none}
.grim-related-links details>summary::before{content:"\25B8";font-size:.8em;transition:transform .15s}
.grim-related-links details[open]>summary::before{transform:rotate(90deg)}

/* ============================================================================
   ARTICLES CONSEILS — blocs image+texte (Wally 07/07, FINAL = comme la PROD).
   Mise en page du thème CONSERVEE : image a gauche, texte a cote (comme la prod,
   verifie par mesure : positions identiques). Le SEUL bug du build recent =
   il reemballe chaque bloc interne dans une <section ps-block> imbriquee dont
   les largeurs en cascade ecrasent le texte a 2 mots/ligne -> on APLATIT ces
   sections imbriquees (pleine largeur DE LA COLONNE texte), et on masque les
   <p> vides qu'il genere. Rien d'autre. Vraie cause = build theme (tuteur).
   ============================================================================ */
.ps-block__text .ps-block > .ps-block__container,
.ps-block__text .ps-block .ps-block__grid,
.ps-block__text .ps-block .ps-block__content,
.ps-block__text .ps-block .ps-block__body,
.ps-block__text .ps-block .ps-block__item{
	display:block!important;width:100%!important;max-width:100%!important;flex:none!important;
	margin:0!important;padding:0!important;min-height:0!important;height:auto!important;
}
/* espacement doux entre blocs internes de la colonne texte */
.ps-block__text .ps-block{margin:.5rem 0!important}
/* <p> vides generes par le build (jamais de vrai texte a ces positions) */
.ps-block__text p:empty,.ps-block__text ul>p,.ps-block__text>p{display:none!important}

/* Listes des blocs image+texte (Wally 07/07) : le reemballage du build met les
   listes en ps-block--list -> coches violettes (✓) au lieu des puces simples de
   la prod. On retire la coche et on remet la puce standard, UNIQUEMENT dans la
   colonne texte (.ps-block__text) = rendu prod. */
.ps-block__text .ps-block--list ul li:before,
.ps-block__text .ps-block--paragraph ul li:before{display:none!important;content:none!important}
.ps-block__text .ps-block--list ul,
.ps-block__text .ps-block--paragraph ul{list-style:disc!important;padding-left:1.4rem!important;margin:.6rem 0!important}
.ps-block__text .ps-block--list ul li,
.ps-block__text .ps-block--paragraph ul li{padding-left:.2rem!important;margin:.15rem 0!important;position:static!important}

/* =========================================================================
   MODALE "Contacter le concessionnaire" (#email-modal.gmm)  v3
   Bloc AUTORITAIRE (place en fin de fichier) : conforme maquette.
     - Desktop : 2 colonnes (fiche produit + formulaire), champs pairés
                 Prenom|Nom / Email|Telephone (grille 2 col).
     - Mobile  : wizard 2 etapes (coordonnees -> demande), tout tient sans scroll.
   Champ Ville (#field_1_11) masque (valeur auto = ville du vehicule, conservee).
   Cible #gform_wrapper_1 + !important pour battre les sous-blocs anterieurs.
   Le style de base des champs reste gere par le bloc "SCOPE STRICT #gform_wrapper_1".
   MAJ 2026-07-07.
   ========================================================================= */
#email-modal.gmm {
  --acc: #6646ff; --acc2: #5334e6; --tint: #efedfb;
  --ink: #17171f; --mut: #6a6a78; --bd: #e6e5ef; --fbd: #d9d7e6; --surf: #fff;
  width: min(94vw, 920px);
  max-width: 920px;
  max-height: 92vh;
  padding: 0; border: 0; border-radius: 18px; overflow: hidden;
  background: var(--surf); color: var(--ink);
  box-shadow: 0 30px 80px -20px rgba(30,20,80,.45);
  top: 4vh !important;
}
#email-modal.gmm * { box-sizing: border-box; }

/* Grille 2 colonnes du conteneur interne (Foundation force display:block sur .reveal) */
#email-modal .gmm__inner { display: grid; grid-template-columns: 0.82fr 1.18fr; max-height: 92vh; }

/* Bouton fermer */
#email-modal .gmm__close {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
  border: 1px solid var(--bd); background: rgba(255,255,255,.75); color: var(--ink); transition: .18s;
}
#email-modal .gmm__close:hover { background: var(--tint); border-color: transparent; }
#email-modal .gmm__close svg { width: 15px; height: 15px; }

/* ---------- Colonne produit ---------- */
#email-modal .gmm__product {
  background: linear-gradient(180deg, var(--tint), #faf9fe);
  padding: 26px 24px; display: flex; flex-direction: column; gap: 15px;
  border-right: 1px solid var(--bd); overflow: auto;
}
#email-modal .gmm__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--acc); }
#email-modal .gmm__photo { border-radius: 12px; overflow: hidden; border: 1px solid var(--bd); background: #fff; }
#email-modal .gmm__photo img, #email-modal .gmm__photo figure { display: block; width: 100%; height: auto; margin: 0; object-fit: cover; }
#email-modal .gmm__title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.15; letter-spacing: -.3px; color: var(--ink); }
#email-modal .gmm__finish { font-size: 13.5px; color: var(--mut); margin-top: 3px; }
#email-modal .gmm__pricerow { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
#email-modal .gmm__price { font-size: 25px; font-weight: 750; letter-spacing: -.5px; font-variant-numeric: tabular-nums; color: var(--ink); }
#email-modal .gmm__ref { font-size: 11.5px; color: var(--mut); font-variant-numeric: tabular-nums; }
#email-modal .gmm__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#email-modal .gmm__spec { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.7); border: 1px solid var(--bd); border-radius: 10px; padding: 8px 10px; }
#email-modal .gmm__spec svg { width: 16px; height: 16px; color: var(--acc); flex: none; }
#email-modal .gmm__spec b { font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; display: block; }
#email-modal .gmm__spec span { display: block; font-size: 10.5px; color: var(--mut); }
#email-modal .gmm__dealer { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--bd); display: flex; gap: 10px; align-items: flex-start; }
#email-modal .gmm__dealer svg { width: 18px; height: 18px; color: var(--acc); flex: none; margin-top: 1px; }
#email-modal .gmm__dealer b { font-size: 13.5px; font-weight: 650; display: block; }
#email-modal .gmm__dealer address { font-style: normal; font-size: 12px; color: var(--mut); line-height: 1.4; }

/* ---------- Colonne formulaire ---------- */
#email-modal .gmm__form { padding: 24px 26px 22px; display: flex; flex-direction: column; min-height: 0; overflow: auto; }
#email-modal .gmm__fhead { margin-bottom: 12px; }
#email-modal .gmm__fhead h2 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.2px; color: var(--ink); }
#email-modal .gmm__sub { margin: 3px 0 0; font-size: 13px; color: var(--mut); }

/* ---------- Grille 2 colonnes des champs (bat les sous-blocs anterieurs) ---------- */
#gform_wrapper_1 .gform_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-column-gap: 12px !important;
  grid-row-gap: 16px !important;
}
#gform_wrapper_1 .gform_fields { align-items: start !important; }
/* Placement EXPLICITE de chaque champ (ecrase le sous-bloc legacy 1518-1525) */
#gform_wrapper_1 .gform_fields > .gfield { grid-column: 1 / -1 !important; width: 100% !important; margin: 0 !important; float: none !important; }
#gform_wrapper_1 #field_1_4 { grid-column: 1 !important; grid-row: 1 !important; order: 0 !important; }   /* Prenom */
#gform_wrapper_1 #field_1_3 { grid-column: 2 !important; grid-row: 1 !important; order: 0 !important; }   /* Nom */
#gform_wrapper_1 #field_1_5 { grid-column: 1 !important; grid-row: 2 !important; order: 0 !important; }   /* E-mail */
#gform_wrapper_1 #field_1_6 { grid-column: 2 !important; grid-row: 2 !important; order: 0 !important; }   /* Telephone */
#gform_wrapper_1 #field_1_7 { grid-column: 1 / -1 !important; grid-row: 3 !important; }  /* Votre demande */
#gform_wrapper_1 #field_1_8 { grid-column: 1 / -1 !important; grid-row: 4 !important; }  /* Message */
#gform_wrapper_1 #field_1_9 { grid-column: 1 / -1 !important; grid-row: 5 !important; }  /* RGPD */
#gform_wrapper_1 #field_1_12 { grid-column: 1 / -1 !important; grid-row: 6 !important; } /* Newsletter */
#gform_wrapper_1 #field_1_13 { grid-column: 1 / -1 !important; grid-row: 7 !important; } /* SMS */
#gform_wrapper_1 #field_1_10 { grid-column: 1 / -1 !important; grid-row: 8 !important; } /* Captcha */
/* Champ Ville masque (valeur auto conservee) */
#gform_wrapper_1 #field_1_11 { display: none !important; }

/* ---------- Consentement RGPD : texte + lien plus petits (demande client) ---------- */
#gform_wrapper_1 .gfield--type-consent .gfield_consent_description,
#gform_wrapper_1 .gfield_consent_description,
#gform_wrapper_1 .gfield--type-consent .gfield_description {
  font-size: 10px !important; line-height: 1.35 !important; color: var(--mut) !important; margin: 0 0 .45rem !important;
}
#gform_wrapper_1 .gfield--type-consent .gfield_consent_description a,
#gform_wrapper_1 .gfield_consent_description a { font-size: 10px !important; }
#gform_wrapper_1 .gfield_consent_label,
#gform_wrapper_1 .gfield-consent .gform-field-label { font-size: 11px !important; line-height: 1.3 !important; }

/* ---------- Libelles alignes a gauche ---------- */
#gform_wrapper_1 .gfield_label { text-align: left !important; }

/* ---------- "Votre demande" (radio field_1_7) -> pastilles ---------- */
#gform_wrapper_1 #field_1_7 .gfield_radio { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
#gform_wrapper_1 #field_1_7 .gchoice { display: inline-flex !important; margin: 0 !important; padding: 0 !important; position: relative; }
#gform_wrapper_1 #field_1_7 .gchoice input[type="radio"] {
  position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; pointer-events: none; -webkit-appearance: none !important; appearance: none !important;
}
/* Neutralise le rond radio custom (pseudo-elements du label) */
#gform_wrapper_1 #field_1_7 .gchoice label::before,
#gform_wrapper_1 #field_1_7 .gchoice label::after { display: none !important; content: none !important; }
#gform_wrapper_1 #field_1_7 .gchoice label {
  display: inline-block !important; margin: 0 !important; padding: 7px 14px !important; font-size: 12.5px !important; font-weight: 600 !important;
  cursor: pointer; border-radius: 999px !important; border: 1px solid var(--fbd) !important; color: var(--mut) !important; transition: .15s; line-height: 1.2 !important;
}
#gform_wrapper_1 #field_1_7 .gchoice input:checked + label {
  background: var(--acc) !important; border-color: var(--acc) !important; color: #fff !important; box-shadow: 0 4px 12px -3px rgba(102,70,255,.6);
}

/* ---------- Masquer les entetes de champ Newsletter / SMS (comme la maquette) ---------- */
#gform_wrapper_1 #field_1_12 > .gfield_label,
#gform_wrapper_1 #field_1_13 > .gfield_label,
#gform_wrapper_1 #field_1_12 > legend.gfield_label,
#gform_wrapper_1 #field_1_13 > legend.gfield_label,
#gform_wrapper_1 #field_1_10 > .gfield_label,
#gform_wrapper_1 .gfield--type-captcha > .gfield_label { display: none !important; }

/* Photo vehicule : toujours visible (annule un eventuel fade lazy) */
#email-modal .gmm__photo figure, #email-modal .gmm__photo img { opacity: 1 !important; }

/* ---------- Message : hauteur maitrisee ---------- */
#email-modal #gform_wrapper_1 textarea { min-height: 72px !important; height: 78px !important; resize: none !important; }

/* ---------- Stepper (injecte par JS, mobile uniquement) ---------- */
#email-modal .gmm__stepper { display: none; align-items: center; gap: 10px; margin-top: 12px; }
#email-modal .gmm__stepdot { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--mut); transition: color .2s; }
#email-modal .gmm__stepdot.is-active { color: var(--ink); }
#email-modal .gmm__stepdot span {
  width: 23px; height: 23px; border-radius: 50%; flex: none; display: grid; place-items: center;
  font-size: 12px; font-variant-numeric: tabular-nums; background: var(--tint); border: 1px solid var(--bd); color: var(--mut); transition: .2s;
}
#email-modal .gmm__stepdot.is-active span { background: var(--acc); border-color: var(--acc); color: #fff; }
#email-modal .gmm__stepdot.is-done span { background: rgba(102,70,255,.16); border-color: transparent; color: var(--acc); }
#email-modal .gmm__stepbar { flex: 1; height: 2px; background: var(--bd); border-radius: 2px; overflow: hidden; }
#email-modal .gmm__stepbar b { display: block; height: 100%; width: 0; background: var(--acc); transition: width .35s ease; }
#email-modal.step-2 .gmm__stepbar b { width: 100%; }

/* ---------- Bouton "Continuer" (etape 1, injecte, mobile) ---------- */
#email-modal .gmm__next {
  display: none; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 9px;
  width: 100%; font-size: 14.5px; font-weight: 650; cursor: pointer; color: #fff;
  background: var(--acc); border: 0; border-radius: 11px; padding: 12px 16px; margin-top: 4px;
  box-shadow: 0 8px 22px -8px rgba(102,70,255,.7); transition: .16s;
}
#email-modal .gmm__next:hover { background: var(--acc2); transform: translateY(-1px); }
#email-modal .gmm__next svg { width: 17px; height: 17px; }

/* ---------- Bouton "Retour" (etape 2, injecte dans le footer, mobile) ---------- */
#email-modal .gmm__back {
  display: none; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; cursor: pointer;
  color: var(--ink); background: transparent; border: 1px solid var(--fbd); border-radius: 11px; padding: 12px 16px; transition: .16s;
}
#email-modal .gmm__back:hover { background: var(--tint); border-color: var(--mut); }
#email-modal .gmm__back svg { width: 16px; height: 16px; }

/* ---------- Bouton d'envoi (button personnalise avec icone avion) ---------- */
#email-modal #gform_wrapper_1 .gform_footer { display: flex !important; gap: 10px; align-items: stretch; margin-top: 10px !important; }
#email-modal #gform_wrapper_1 .gmm__send,
#email-modal #gform_wrapper_1 .gform_button {
  flex: 1; display: inline-flex !important; align-items: center; justify-content: center; gap: 9px;
  width: 100%; font-size: 14.5px !important; font-weight: 650 !important; cursor: pointer; color: #fff !important;
  background: var(--acc) !important; border: 0 !important; border-radius: 11px !important; padding: 12px 16px !important;
  box-shadow: 0 8px 22px -8px rgba(102,70,255,.7); transition: .16s;
}
#email-modal #gform_wrapper_1 .gmm__send svg { width: 17px; height: 17px; }
/* Supprime la fleche decorative ::after du theme (.button) sur le bouton d'envoi */
#email-modal #gform_wrapper_1 .gmm__send::after,
#email-modal #gform_wrapper_1 .gmm__send::before,
#email-modal #gform_wrapper_1 .gform_button::after { content: none !important; display: none !important; }
#email-modal #gform_wrapper_1 .gmm__send:hover,
#email-modal #gform_wrapper_1 .gform_button:hover { background: var(--acc2) !important; transform: translateY(-1px); }

/* ---------- Note reCAPTCHA (injectee) ---------- */
#email-modal .gmm__recaptcha { display: flex; align-items: center; gap: 6px; justify-content: center; font-size: 11px; color: var(--mut); margin-top: 10px; }
#email-modal .gmm__recaptcha svg { width: 13px; height: 13px; color: var(--acc); }
#email-modal .grecaptcha-badge { visibility: hidden; }

/* ---------- Responsive (mobile) : wizard 2 etapes ---------- */
@media screen and (max-width: 640px) {
  #email-modal.gmm { width: 96vw; max-height: 94vh; top: 3vh !important; }
  #email-modal .gmm__inner { grid-template-columns: 1fr; max-height: 94vh; }
  #email-modal .gmm__product {
    border-right: 0; border-bottom: 1px solid var(--bd); padding: 16px 16px 14px;
    display: grid; gap: 10px 14px; align-items: start;
    grid-template-columns: 84px 1fr; grid-template-areas: "photo head" "photo price" "specs specs";
  }
  #email-modal .gmm__eyebrow { display: none; }
  #email-modal .gmm__photo { grid-area: photo; align-self: center; }
  #email-modal .gmm__phead { grid-area: head; align-self: center; }
  #email-modal .gmm__title { font-size: 16px; }
  #email-modal .gmm__pricerow { grid-area: price; }
  #email-modal .gmm__price { font-size: 20px; }
  #email-modal .gmm__specs { grid-area: specs; }
  #email-modal .gmm__dealer { display: none; }
  #email-modal .gmm__form { padding: 18px 16px 16px; overflow: visible; }
  #email-modal .gmm__sub { display: none; }
  #email-modal .gmm__stepper { display: flex; }

  /* 1 colonne sur mobile : on annule tout placement explicite (empilement simple) */
  #gform_wrapper_1 .gform_fields { grid-template-columns: 1fr !important; }
  #gform_wrapper_1 .gform_fields > .gfield { grid-column: 1 !important; grid-row: auto !important; }
  #gform_wrapper_1 #field_1_4 { order: -2 !important; }  /* Prenom en 1er */
  #gform_wrapper_1 #field_1_3 { order: -1 !important; }  /* Nom en 2e */

  /* --- Etape 1 : coordonnees + demande, bouton Continuer --- */
  #email-modal.step-1 #field_1_8,
  #email-modal.step-1 #field_1_9,
  #email-modal.step-1 #field_1_12,
  #email-modal.step-1 #field_1_13,
  #email-modal.step-1 #field_1_10,
  #email-modal.step-1 #gform_wrapper_1 .gform_footer,
  #email-modal.step-1 .gmm__recaptcha { display: none !important; }
  #email-modal.step-1 .gmm__next { display: flex; }

  /* --- Etape 2 : message + consentements, boutons Retour/Envoyer --- */
  #email-modal.step-2 #field_1_3,
  #email-modal.step-2 #field_1_4,
  #email-modal.step-2 #field_1_5,
  #email-modal.step-2 #field_1_6,
  #email-modal.step-2 #field_1_7,
  #email-modal.step-2 .gmm__next { display: none !important; }
  #email-modal.step-2 .gmm__back { display: inline-flex; }

  /* Texte RGPD (deplace en bas) : appartient a l'etape 2 */
  #email-modal.step-1 .gmm__rgpd { display: none !important; }
}

/* =========================================================================
   MODALE — ajustements maquette (labels, asterisque, cases, RGPD en bas)
   MAJ 2026-07-07. Place en fin de fichier => prioritaire.
   ========================================================================= */

/* ---------- Labels alignes a GAUCHE au-dessus des champs ---------- */
#email-modal #gform_wrapper_1 .gfield { text-align: left !important; }
#email-modal #gform_wrapper_1 .gfield_label,
#email-modal #gform_wrapper_1 legend.gfield_label {
  display: block !important; text-align: left !important; width: 100% !important;
  margin-bottom: .35rem !important;
}

/* Re-masquer les entetes Newsletter / SMS / CAPTCHA / RGPD (le display:block ci-dessus les revelait) */
#email-modal #gform_wrapper_1 #field_1_12 > .gfield_label,
#email-modal #gform_wrapper_1 #field_1_13 > .gfield_label,
#email-modal #gform_wrapper_1 #field_1_10 > .gfield_label,
#email-modal #gform_wrapper_1 .gfield--type-captcha > .gfield_label,
#email-modal #gform_wrapper_1 #field_1_9 > legend.gfield_label { display: none !important; }

/* ---------- Asterisque "obligatoire" : inline, taille normale, colle au libelle ---------- */
#email-modal #gform_wrapper_1 .gfield_required {
  margin: 0 0 0 3px !important; vertical-align: baseline !important; display: inline !important;
}
#email-modal #gform_wrapper_1 .gfield_required_asterisk {
  font-size: inherit !important; line-height: 1 !important; vertical-align: baseline !important;
  font-weight: 600 !important; color: var(--acc) !important;
}

/* ---------- Cases a cocher (RGPD / Newsletter / SMS) : plus petites, mieux alignees ---------- */
#email-modal #gform_wrapper_1 #field_1_9 .gchoice,
#email-modal #gform_wrapper_1 #field_1_9 .ginput_container_consent,
#email-modal #gform_wrapper_1 #field_1_12 .gchoice,
#email-modal #gform_wrapper_1 #field_1_13 .gchoice {
  display: flex !important; align-items: flex-start !important; gap: 8px !important; margin: 0 !important;
}
#email-modal #gform_wrapper_1 #field_1_9 input[type="checkbox"],
#email-modal #gform_wrapper_1 #field_1_12 input[type="checkbox"],
#email-modal #gform_wrapper_1 #field_1_13 input[type="checkbox"] {
  width: 13px !important; height: 13px !important; margin: 1px 0 0 !important; flex: 0 0 auto !important;
}
#email-modal #gform_wrapper_1 #field_1_9 .gfield_consent_label,
#email-modal #gform_wrapper_1 #field_1_9 .gchoice label,
#email-modal #gform_wrapper_1 #field_1_12 .gchoice label,
#email-modal #gform_wrapper_1 #field_1_13 .gchoice label {
  font-size: 11.5px !important; line-height: 1.3 !important; font-weight: 400 !important;
  color: #3a3f47 !important; margin: 0 !important; text-align: left !important;
}

/* ---------- Texte RGPD deplace sous le bouton Envoyer (petit, discret, centre) ---------- */
#email-modal .gmm__rgpd {
  font-size: 10px !important; line-height: 1.4 !important; color: var(--mut) !important;
  text-align: center !important; margin: 10px 0 0 !important; padding: 0 6px !important;
}
#email-modal .gmm__rgpd a { font-size: 10px !important; color: var(--acc) !important; }

/* ---------- CAPTCHA (reCAPTCHA invisible) : ne rien afficher, ne prend aucune place ----------
   Le widget reste dans le DOM (invisible) donc la validation anti-spam fonctionne toujours. */
#email-modal #gform_wrapper_1 #field_1_10 {
  margin: 0 !important; padding: 0 !important; min-height: 0 !important;
}
#email-modal #gform_wrapper_1 #field_1_10 .ginput_container { height: 0 !important; overflow: hidden !important; }

/* ---------- Newsletter + SMS : cote a cote, en petit (desktop) ---------- */
@media (min-width: 641px) {
  #email-modal #gform_wrapper_1 #field_1_12 { grid-column: 1 !important; grid-row: 6 !important; }
  #email-modal #gform_wrapper_1 #field_1_13 { grid-column: 2 !important; grid-row: 6 !important; }
}
#email-modal #gform_wrapper_1 #field_1_12 .gchoice label,
#email-modal #gform_wrapper_1 #field_1_13 .gchoice label {
  font-size: 10.5px !important; line-height: 1.25 !important;
}
#email-modal #gform_wrapper_1 #field_1_12 input[type="checkbox"],
#email-modal #gform_wrapper_1 #field_1_13 input[type="checkbox"] {
  width: 12px !important; height: 12px !important; margin-top: 1px !important;
}

/* ---------- .gform_heading : marge basse inutile dans la modale (titre/desc = false) ---------- */
#email-modal #gform_wrapper_1 .gform_heading { margin-bottom: 0 !important; padding: 0 !important; }

/* ---------- Case custom (:before) des checkbox Newsletter/SMS : reduite a 0.8rem ----------
   La coche (:after) est repositionnee proportionnellement pour rester centree. */
#email-modal #gform_wrapper_1 .gfield_checkbox .gchoice label:before {
  width: .8rem !important; height: .8rem !important;
}
#email-modal #gform_wrapper_1 .gfield_checkbox .gchoice label:after {
  left: .17rem !important; top: .17rem !important; width: .5rem !important; height: .3rem !important;
  border-bottom-width: 1.5px !important; border-left-width: 1.5px !important;
}
/* La case est alignee sur la 1re ligne du libelle */
#email-modal #gform_wrapper_1 .gfield_checkbox .gchoice label { min-height: .8rem !important; }

/* ---------- Case consent (RGPD) : meme case custom 0.8rem (son carre est le :before du label) ---------- */
#email-modal #gform_wrapper_1 #field_1_9 input[type="checkbox"] { opacity: 0 !important; }
#email-modal #gform_wrapper_1 #field_1_9 .gfield_consent_label:before {
  width: .8rem !important; height: .8rem !important; top: 1px !important; left: 0 !important;
}
#email-modal #gform_wrapper_1 #field_1_9 .gfield_consent_label:after {
  left: .17rem !important; top: .3rem !important; width: .5rem !important; height: .3rem !important;
  border-bottom-width: 1.5px !important; border-left-width: 1.5px !important;
}
#email-modal #gform_wrapper_1 #field_1_9 .gfield_consent_label { padding-left: 1.35rem !important; }

/* Texte des cases Newsletter/SMS rapproche de la case (padding-left ajuste a la case 0.8rem) */
#email-modal #gform_wrapper_1 .gfield_checkbox .gchoice label { padding-left: 1.35rem !important; }

/* ---------- Reference deplacee juste sous l'eyebrow "Le vehicule" ---------- */
#email-modal .gmm__ref--top {
  display: block; margin-top: 2px; font-size: 11.5px; color: var(--mut); font-variant-numeric: tabular-nums;
}

/* ---------- Sous-titre : nom de l'equipe a la ligne, centre ---------- */
#email-modal .gmm__sub { text-align: center !important; }
#email-modal .gmm__sub-dealer { display: inline-block; margin-top: 2px; font-weight: 600; color: var(--ink); }

/* ---------- Prix centre ---------- */
#email-modal .gmm__pricerow { justify-content: center !important; }

/* =========================================================================
   MODALE — MOBILE uniquement (<= 640px), conforme aux maquettes. Desktop intact.
   MAJ 2026-07-07.
   ========================================================================= */
@media screen and (max-width: 640px) {
  /* ===== En-tete produit : photo gauche, texte a GAUCHE, prix + ref, specs ===== */
  #email-modal .gmm__product {
    padding: 18px 20px 16px !important;
    grid-template-columns: 108px 1fr !important;
    grid-template-areas: "photo head" "photo price" "photo ref" "specs specs" !important;
    gap: 3px 16px !important;
    align-items: start !important;
  }
  #email-modal .gmm__photo { grid-area: photo !important; align-self: start !important; }
  #email-modal .gmm__phead { grid-area: head !important; padding-right: 42px !important; align-self: center !important; }
  #email-modal .gmm__title { font-size: 19px !important; line-height: 1.15 !important; text-align: left !important; }
  #email-modal .gmm__finish { text-align: left !important; }
  #email-modal .gmm__pricerow { grid-area: price !important; justify-content: flex-start !important; margin-top: 2px !important; }
  #email-modal .gmm__ref--top { grid-area: ref !important; text-align: left !important; margin: 1px 0 0 !important; }
  #email-modal .gmm__specs { grid-area: specs !important; margin-top: 8px !important; }

  /* ===== Formulaire ===== */
  #email-modal .gmm__form { padding: 18px 20px 18px !important; }
  #email-modal .gmm__fhead h2 { text-align: left !important; }

  /* Champs en 2 colonnes (maquette) : on retablit la grille 2-col et on annule
     la marge negative de Gravity Forms qui collait le contenu au bord. */
  #email-modal #gform_wrapper_1 .gform_fields { grid-template-columns: 1fr 1fr !important; margin: 0 !important; }
  /* Lignes AUTO : garde le pairage colonnes mais evite les rangees vides des
     champs caches (sinon grand blanc entre le stepper et le Message en etape 2). */
  #email-modal #gform_wrapper_1 .gform_fields > .gfield { grid-row: auto !important; }

  /* Pastilles "Votre demande" : taille du contenu, alignees a gauche, empilees */
  #email-modal #gform_wrapper_1 #field_1_7 .gfield_radio { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
  #email-modal #gform_wrapper_1 #field_1_7 .gchoice { display: inline-flex !important; width: auto !important; }
  #email-modal #gform_wrapper_1 #field_1_7 .gchoice label { display: inline-block !important; width: auto !important; padding: 9px 18px !important; font-size: 13px !important; }
}

/* ===== Accessibilite : lien d'evitement (skip-link) - ajoute 2026-07-09 ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#6646ff;color:#fff;padding:.75rem 1.25rem;border-bottom-right-radius:4px;text-decoration:none;font-weight:600}
.skip-link:focus{left:0}
#main:focus{outline:none}

/* ===== Bloc concessionnaire + avis Google (fiche vehicule) - 2026-07-10 =====
   Remplace le badge du plugin widget-google-reviews : meme donnee (note, nombre
   d'avis), balisage et styles du theme. Cf. inc/dealer-reviews.php. */

/* Le bloc perd le filet du bundle : c'est le panneau qui porte la separation. */
.product__aside-contact { border-top: 0; padding: 0; margin-top: 1.5rem; }

.product__dealer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 216px);
  background: #f6f5fb;
  border-radius: 4px;
  overflow: hidden;
}
.product__dealer-info { padding: 1.25rem 1.375rem; }
.product__dealer-rule { background: #e3e1ee; }

.product__dealer-label,
.dealer-rating__label {
  display: block;
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #83848d;
}

.product__dealer-name { font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; margin: .375rem 0 .3125rem; }
.product__dealer-address { font-size: .9375rem; line-height: 1.45; color: #55565e; margin: 0 0 .875rem; font-style: normal; }

.product__dealer-itinary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .9375rem;
  font-weight: 500;
  color: #1c1d21;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid #1c1d21;
  margin-right: 0; /* annule la place reservee a l'icone du bundle */
}
/* Le bundle ajoute une icone "lien externe" en ::after : la fleche inline la remplace. */
.product__dealer-itinary::after { content: none; }
.product__dealer-itinary svg { width: 14px; height: 14px; transition: transform .18s ease; }
.product__dealer-itinary:hover { color: #6646ff; border-bottom-color: #6646ff; }
.product__dealer-itinary:hover svg { transform: translate(2px, -2px); }
.product__dealer-itinary:focus-visible { outline: 2px solid #6646ff; outline-offset: 4px; }

/* La cellule des avis est cliquable dans son ensemble. */
.dealer-rating {
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1.375rem;
  color: inherit;
  text-decoration: none;
  transition: background-color .18s ease;
}
.dealer-rating:hover { background: #efedf7; color: inherit; }
.dealer-rating:focus-visible { outline: 2px solid #6646ff; outline-offset: -3px; }

.dealer-rating__score { display: flex; align-items: baseline; gap: 3px; margin: .25rem 0 .375rem; }
.dealer-rating__score b { font-size: 2.875rem; font-weight: 700; letter-spacing: -.04em; line-height: .85; font-variant-numeric: tabular-nums; }
.dealer-rating__score span { font-size: .875rem; font-weight: 500; color: #83848d; }

.dealer-rating__stars { display: flex; gap: 1px; margin-bottom: .75rem; }
.dealer-rating__stars svg { width: 15px; height: 15px; color: #f5a623; }
.dealer-rating__stars svg.is-empty { color: #dcdae6; }

.dealer-rating__go {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  margin-top: auto;
  font-size: .875rem;
  font-weight: 600;
  color: #6646ff;
  font-variant-numeric: tabular-nums;
}
.dealer-rating__go svg { width: 13px; height: 13px; transition: transform .18s ease; }
.dealer-rating:hover .dealer-rating__go svg { transform: translate(2px, -2px); }

.dealer-rating__attr { display: block; margin-top: .5rem; font-size: .6875rem; color: #83848d; }
.dealer-rating__glogo { font-weight: 500; letter-spacing: -.01em; }
.dealer-rating__glogo i { font-style: normal; }
.dealer-rating__glogo .g1 { color: #4285f4; }
.dealer-rating__glogo .g2 { color: #ea4335; }
.dealer-rating__glogo .g3 { color: #fbbc04; }
.dealer-rating__glogo .g4 { color: #34a853; }

@media (max-width: 39.9375em) {
  .product__dealer { grid-template-columns: 1fr; }
  .product__dealer-rule { height: 1px; }
  .dealer-rating { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 0 1rem; }
  .dealer-rating__label { flex-basis: 100%; }
  .dealer-rating__score, .dealer-rating__stars { margin-bottom: 0; }
  .dealer-rating__go { margin: 0 0 0 auto; }
  .dealer-rating__attr { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .product__dealer-itinary svg,
  .dealer-rating,
  .dealer-rating__go svg { transition: none; }
}
