/*
 * AdopteUnParking — refonte v1 « Véhicule sérieux, cherche parking de confiance » (maquette du 10/10/2026).
 *
 * Jetons : maquette-refonte/maquette/tokens.css (source de vérité), repris tels quels en section 1.
 * Remplace aussi le CSS additionnel du Personnaliser (34 Ko) : ses règles fonctionnelles sont reprises en
 * section 12. Points de rupture : 768 px et 1025 px (ceux de Kadence). Préfixe des classes : adpt-.
 *
 * Sommaire
 *  0. Polices            7. Fiche parking
 *  1. Jetons             8. Réservation (YITH Booking et options WAPO, habillage seulement)
 *  2. Base               9. Recherche, calendrier, fenêtres et barres
 *  3. En-tête           10. Pages de contenu
 *  4. Composants        11. Pied de page et bandeaux
 *  5. Accueil           12. Tunnel et règles reprises du CSS additionnel
 *  6. Comparateur
 */

/* 0. Polices (auto-hébergées, SIL OFL 1.1 : assets/fonts/OFL-*.txt) ------------------------------ */

@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/dm-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/dm-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/dm-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/dm-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/dm-sans-latin-800-normal.woff2") format("woff2"); }

/* 1. Jetons (tokens.css de la maquette) ------------------------------------------------------- */

:root {
	--aup-encre: #0E1B14;
	--aup-lime: #C5F04A;
	--aup-corail: #FF6B4A;
	--aup-sapin: #1E6B3C;
	--aup-blanc: #FFFFFF;
	--aup-brume: #F3F5F0;
	--aup-lime-pale: #EEF9CF;
	--aup-ligne: #E1E6DC;
	--aup-ligne-forte: #D5DCCF;
	--aup-mousse: #56635A;
	--aup-foret: #1E3A2B;
	--aup-texte-sur-encre: #C9D3CB;
	--aup-texte-2-sur-encre: #A9B5AC;
	--aup-brique: #B4381C;
	--aup-corail-pale: #FFE7E0;
	--aup-corail-texte: #6B2A17;
	--aup-etoile: #E8A317;
	--aup-bleu-plaque: #003399;
	--aup-texte-courant: #2C3A31;
	--aup-lime-sombre: #A8D12F;

	--aup-font-titre: "Bricolage Grotesque", "DM Sans", sans-serif;
	--aup-font-texte: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--aup-h1: clamp(44px, 5.4vw, 78px);
	--aup-h2: clamp(32px, 3.6vw, 50px);
	--aup-h3: 26px;
	--aup-texte: 17px;
	--aup-texte-s: 15px;
	--aup-legende: 13px;

	--aup-rayon-s: 12px;
	--aup-rayon-m: 16px;
	--aup-rayon-l: 24px;
	--aup-rayon-xl: 28px;
	--aup-rayon-pilule: 999px;

	--aup-ombre-carte: 0 30px 60px -32px rgba(14, 27, 20, .4);
	--aup-ombre-flottant: 0 16px 32px -12px rgba(0, 0, 0, .5);
	--aup-ombre-douce: 0 6px 16px -6px rgba(0, 0, 0, .35);

	--aup-conteneur: 1240px;
	--aup-gouttiere: clamp(16px, 4vw, 40px);
	--aup-section-y: 96px;
	--aup-cible-tactile: 44px;
	--aup-barre-mobile: 84px;
}

@media (max-width: 767px) {
	:root {
		--aup-section-y: 44px;
	}
}

body.adpt-design {
	/*
	 * Réglages du Personnaliser Kadence ramenés aux jetons. Son CSS généré (kadence-global-inline-css)
	 * emploie ces variables avec des sélecteurs plus spécifiques que les nôtres : on corrige la source.
	 */
	--global-palette1: #C5F04A;
	--global-palette2: #E1E6DC;
	--global-palette3: #0E1B14;
	--global-palette4: #2C3A31;
	--global-palette5: #0E1B14;
	--global-palette6: #56635A;
	--global-palette7: #F3F5F0;
	--global-palette8: #E1E6DC;
	--global-palette9: #FFFFFF;
	--global-palette-highlight: #0E1B14;
	--global-palette-highlight-alt: #1E6B3C;
	--global-palette-btn-bg: var(--aup-lime);
	--global-palette-btn-bg-hover: var(--aup-lime);
	--global-palette-btn: var(--aup-encre);
	--global-palette-btn-hover: var(--aup-encre);
	--global-content-width: var(--aup-conteneur);
	--global-content-edge-padding: var(--aup-gouttiere);
	--global-body-font-family: var(--aup-font-texte);
	--global-heading-font-family: var(--aup-font-titre);
	--global-primary-nav-font-family: var(--aup-font-texte);
	background: var(--aup-blanc) !important;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

/* 2. Base --------------------------------------------------------------------------------------- */

body.adpt-design h1,
body.adpt-design h2,
body.adpt-design h3,
body.adpt-design h4,
body.adpt-design h5,
body.adpt-design h6 {
	font-family: var(--aup-font-titre);
	color: var(--aup-encre);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.08;
}

body.adpt-design a {
	color: var(--aup-encre);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.adpt-design a:hover {
	color: var(--aup-sapin);
}

body.adpt-design :focus-visible {
	outline: 3px solid var(--aup-sapin);
	outline-offset: 2px;
}

body.adpt-design ::selection {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

body.adpt-design .site,
body.adpt-design #wrapper,
body.adpt-design #inner-wrap,
body.adpt-design .content-bg,
body.adpt-design .entry.content-bg,
body.adpt-design .site-main {
	background: transparent;
}

body.adpt-design .content-area {
	margin-top: 32px;
	margin-bottom: 64px;
}

body.adpt-design.content-width-fullwidth .content-area,
body.adpt-design.woocommerce-shop .content-area,
body.adpt-design.tax-product_cat .content-area {
	margin-top: 0;
	margin-bottom: 0;
}

.adpt-conteneur {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--aup-conteneur);
	margin-inline: auto;
	padding-inline: var(--aup-gouttiere);
}

.adpt-ancre {
	display: block;
	position: relative;
	top: -110px;
	visibility: hidden;
}

[id] {
	scroll-margin-top: 96px;
}

.adpt-icone {
	flex: none;
	vertical-align: middle;
}

/* Boutons : pilules de 48 px au moins (52 à 58 px pour les actions principales). */
.adpt-bouton,
body.adpt-design .button,
body.adpt-design button.button,
body.adpt-design input[type="submit"],
body.adpt-design .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.adpt-bouton:hover,
body.adpt-design .button:hover,
body.adpt-design .wp-block-button__link:hover {
	background: #B8E63A;
	color: var(--aup-encre);
}

.adpt-bouton--principal,
body.adpt-design .adpt-bouton--principal {
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-weight: 800;
}

.adpt-bouton--lime,
body.adpt-design .adpt-bouton--lime {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-bouton--sombre,
body.adpt-design .adpt-bouton--sombre,
body.adpt-design .wp-block-button.adpt-bouton-sombre .wp-block-button__link {
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-bouton--sombre:hover,
body.adpt-design .adpt-bouton--sombre:hover,
body.adpt-design .wp-block-button.adpt-bouton-sombre .wp-block-button__link:hover {
	background: var(--aup-foret);
	color: var(--aup-blanc);
}

body.adpt-design .wp-block-button.adpt-bouton-lime .wp-block-button__link {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-bouton--contour,
body.adpt-design .adpt-bouton--contour,
body.adpt-design .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--aup-encre);
	box-shadow: inset 0 0 0 1.5px var(--aup-encre);
}

.adpt-bouton--contour:hover,
body.adpt-design .adpt-bouton--contour:hover,
body.adpt-design .is-style-outline .wp-block-button__link:hover {
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-bouton--contour-lime,
body.adpt-design .adpt-bouton--contour-lime {
	background: transparent;
	color: var(--aup-lime);
	box-shadow: inset 0 0 0 1.5px var(--aup-lime);
}

.adpt-bouton--contour-lime:hover,
body.adpt-design .adpt-bouton--contour-lime:hover {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

/* Flèche « → » après le libellé (boutons de bloc). */
body.adpt-design .wp-block-button.adpt-bouton-fleche .wp-block-button__link::after,
.adpt-lien-fleche a::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.adpt-lien,
body.adpt-design .adpt-lien {
	padding: 0;
	border: 0;
	background: none;
	color: var(--aup-sapin);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.adpt-lien-fleche a,
a.adpt-lien-fleche {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--aup-sapin);
	font-size: 15px;
	font-weight: 700;
}

/* Champs : 52 px, arrondi 14 px, bordure de repos ligne forte, encre au focus. */
body.adpt-design input[type="text"],
body.adpt-design input[type="email"],
body.adpt-design input[type="tel"],
body.adpt-design input[type="password"],
body.adpt-design input[type="number"],
body.adpt-design input[type="search"],
body.adpt-design input[type="date"],
body.adpt-design input[type="url"],
body.adpt-design textarea,
body.adpt-design select {
	box-sizing: border-box;
	min-height: 52px;
	padding: 12px 16px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 14px;
	background-color: var(--aup-blanc);
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 16px;
	box-shadow: none;
}

body.adpt-design textarea {
	min-height: 120px;
}

body.adpt-design input::placeholder,
body.adpt-design textarea::placeholder {
	color: var(--aup-mousse);
	opacity: 1;
}

body.adpt-design input:focus,
body.adpt-design textarea:focus,
body.adpt-design select:focus {
	border-color: var(--aup-encre);
	outline: none;
	box-shadow: 0 0 0 4px var(--aup-lime-pale);
}

body.adpt-design label {
	color: var(--aup-encre);
}

/* 3. En-tête (Kadence, une seule rangée blanche) ------------------------------------------------- */

/* Logo vivant : symbole de 40 px et logotype « adopte·un·parking ». */
.adpt-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--aup-encre);
	line-height: 1;
	white-space: nowrap;
}

.adpt-logo__symbole {
	display: block;
	flex: none;
	width: 40px;
	height: 40px;
}

.adpt-logo__texte {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-family: var(--aup-font-titre);
	font-size: 23px;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.adpt-logo__un {
	display: inline-block;
	padding: 1px 6px 2px;
	border-radius: 7px;
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-size: 15px;
	line-height: 18px;
	transform: rotate(-6deg);
}

.adpt-logo--sombre {
	color: var(--aup-blanc);
}

body.adpt-design .site-branding a.brand,
body.adpt-design .site-branding a.brand:hover {
	color: var(--aup-encre);
	text-decoration: none;
}

body.adpt-design .site-branding a.brand img {
	display: none;
}

body.adpt-design #masthead .site-main-header-wrap,
body.adpt-design #masthead .site-main-header-wrap .site-header-row-container-inner {
	background: var(--aup-blanc);
}

body.adpt-design #masthead .site-main-header-wrap {
	border-bottom: 1px solid var(--aup-ligne);
}

body.adpt-design #masthead .site-container,
body.adpt-design #mobile-header .site-container {
	padding-inline: var(--aup-gouttiere);
}

body.adpt-design #masthead .site-main-header-inner-wrap {
	min-height: 72px;
	padding: 0;
	gap: 20px;
}

body.adpt-design #masthead .site-header-main-section-right {
	gap: 6px;
}

body.adpt-design #masthead .site-header-main-section-right > .site-header-item {
	margin: 0;
}

body.adpt-design #masthead .header-divider,
body.adpt-design #masthead .header-divider2,
body.adpt-design .site-top-header-wrap {
	display: none;
}

/* Menus : 15 px, graisse 600, rayon 10 px ; flèches des sous-menus. */
body.adpt-design .main-navigation .primary-menu-container > ul,
body.adpt-design .secondary-navigation .secondary-menu-container > ul {
	gap: 2px;
}

body.adpt-design .main-navigation .primary-menu-container > ul,
body.adpt-design .secondary-navigation .secondary-menu-container > ul {
	flex-wrap: nowrap;
}

body.adpt-design .main-navigation .primary-menu-container > ul > li.menu-item > a,
body.adpt-design .secondary-navigation .secondary-menu-container > ul > li.menu-item > a {
	padding: 10px 8px;
	white-space: nowrap;
	border-radius: 10px;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

/* Icônes des entrées de menu (Kadence Pro) masquées ; l'entrée « Accueil » disparaît avec elle. */
body.adpt-design .header-navigation .menu-label-icon-wrap,
body.adpt-design #mobile-drawer .menu-label-icon-wrap,
body.adpt-design .header-navigation .primary-menu-container > ul > li.menu-item-home,
body.adpt-design #mobile-drawer .mobile-navigation li.menu-item-home {
	display: none;
}

body.adpt-design .header-navigation .dropdown-nav-toggle {
	margin-left: 2px;
	opacity: 1;
}

body.adpt-design .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
body.adpt-design .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a,
body.adpt-design .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
body.adpt-design .secondary-navigation .secondary-menu-container > ul > li.menu-item > a:hover,
body.adpt-design .secondary-navigation .secondary-menu-container > ul > li.current-menu-item > a {
	background: var(--aup-brume);
	color: var(--aup-encre);
}

body.adpt-design .header-navigation .header-menu-container ul ul.sub-menu {
	min-width: 260px;
	padding: 8px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-m);
	background: var(--aup-blanc);
	box-shadow: var(--aup-ombre-carte);
}

body.adpt-design .header-navigation .header-menu-container ul ul li.menu-item > a {
	padding: 10px 14px;
	border-radius: 10px;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 600;
}

body.adpt-design .header-navigation .header-menu-container ul ul li.menu-item > a:hover,
body.adpt-design .header-navigation .header-menu-container ul ul li.current-menu-item > a {
	background: var(--aup-lime-pale);
	color: var(--aup-encre);
}

/* Compte : bouton rond de 44 px, icône seule (libellé conservé pour les lecteurs d'écran). */
body.adpt-design #masthead .header-account-button,
body.adpt-design #mobile-header .header-account-button,
body.adpt-design #mobile-header .header-mobile-account-wrap a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	min-width: 44px;
	padding: 0;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
}

body.adpt-design #masthead .header-account-button:hover,
body.adpt-design #mobile-header .header-account-button:hover {
	border-color: var(--aup-encre);
}

body.adpt-design #masthead .header-account-button .header-account-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.adpt-design #masthead .header-account-button .kadence-svg-iconset svg,
body.adpt-design #mobile-header .header-account-button .kadence-svg-iconset svg {
	width: 20px;
	height: 20px;
}

/* Panier : rond de 44 px, affiché seulement quand il contient une réservation. */
body.adpt-design #masthead .site-header-item:has(.header-cart-is-empty-true) {
	display: none;
}

body.adpt-design #masthead .site-main-header-wrap .header-cart-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
}

body.adpt-design #masthead .site-main-header-wrap .header-cart-button .kadence-svg-iconset svg {
	width: 20px;
	height: 20px;
}

body.adpt-design #masthead .site-main-header-wrap .header-cart-total {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	margin: 0;
	padding: 0 4px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-corail);
	color: var(--aup-encre);
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
}

/* Bouton « Trouver un parking » : pilule encre de 44 px, loupe. */
body.adpt-design #masthead .site-header-main-section-right > .site-header-item {
	flex-shrink: 0;
}

body.adpt-design #masthead .header-button,
body.adpt-design #masthead .header-button.button-style-filled {
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-encre);
	color: var(--aup-blanc);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	box-shadow: none;
}

body.adpt-design #masthead .header-button::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' 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") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' 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") center / contain no-repeat;
}

body.adpt-design #masthead .header-button:hover {
	background: var(--aup-foret);
	color: var(--aup-blanc);
}

/* De 1 025 à 1 239 px, la rangée tient : menus resserrés, bouton « Trouver un parking » réduit à sa loupe.
   Au-delà, menus, langue, compte, panier et bouton complets tiennent dans les 1 160 px du conteneur. */
@media (min-width: 1025px) and (max-width: 1239px) {
	body.adpt-design .main-navigation .primary-menu-container > ul > li.menu-item > a,
	body.adpt-design .secondary-navigation .secondary-menu-container > ul > li.menu-item > a {
		padding: 8px 6px;
		font-size: 14px;
	}

	body.adpt-design #masthead .header-button,
	body.adpt-design #masthead .header-button.button-style-filled {
		justify-content: center;
		width: 44px;
		padding: 0;
		font-size: 0;
	}
}

/* De 1 025 à 1 099 px, même resserrée, la rangée (menus, langue, compte, panier, bouton) déborde :
   l'en-tête mobile prend le relais, menu complet dans le tiroir. */
@media (min-width: 1025px) and (max-width: 1099px) {
	body.adpt-design #main-header {
		display: none;
	}

	body.adpt-design #mobile-header {
		display: block;
	}
}

/* Langue (TranslatePress) : discrète, à gauche du compte. */
body.adpt-design .trp-language-switcher {
	height: auto !important;
	width: auto !important;
}

body.adpt-design .trp-language-switcher > .trp-ls-shortcode-current-language {
	padding: 4px 14px 4px 2px !important;
	border: 0 !important;
	background-color: transparent !important;
	font-size: 14px;
	font-weight: 600;
}

/* Liste des langues fermée : hors du flux. Sinon, tant que WP Rocket retarde le script TranslatePress
   qui la masque (production), elle élargit l'en-tête et le menu passe sous le logo. */
body.adpt-design .trp-language-switcher .trp-ls-shortcode-language {
	position: absolute !important;
	top: 3.5px;
	left: 1px;
}

/* Liste ouverte : carte blanche dont le premier drapeau se pose sur celui de la langue en cours.
   Sans fond, les drapeaux flottaient sur le bandeau sombre. */
body.adpt-design .trp-language-switcher > .trp-ls-shortcode-language {
	width: auto !important;
	padding: 4px !important;
	border: 1px solid var(--aup-ligne) !important;
	border-radius: var(--aup-rayon-s);
	background: var(--aup-blanc) !important;
	box-shadow: var(--aup-ombre-douce);
	z-index: 999 !important;
}

body.adpt-design .trp-language-switcher > .trp-ls-shortcode-language > a {
	display: flex;
	align-items: center;
	padding: 8px;
	border-radius: 8px;
	line-height: 0;
}

body.adpt-design .trp-language-switcher > .trp-ls-shortcode-language > a:not(.trp-ls-disabled-language):hover,
body.adpt-design .trp-language-switcher > .trp-ls-shortcode-language > a:focus-visible {
	background: var(--aup-brume);
}

/* En-tête mobile (maquette 390 px) : 64 px, logo de 20 px, compte rond, menu sur fond encre. */
body.adpt-design #mobile-header .site-main-header-wrap,
body.adpt-design #mobile-header .site-main-header-wrap .site-header-row-container-inner {
	background: var(--aup-blanc);
}

body.adpt-design #mobile-header .site-main-header-wrap {
	border-bottom: 1px solid var(--aup-ligne);
}

body.adpt-design #mobile-header .site-main-header-inner-wrap {
	min-height: 64px;
	padding: 0;
}

body.adpt-design #mobile-header .site-header-main-section-right {
	gap: 6px;
}

body.adpt-design #mobile-header .adpt-logo {
	gap: 8px;
}

body.adpt-design #mobile-header .adpt-logo__symbole {
	width: 36px;
	height: 36px;
}

body.adpt-design #mobile-header .adpt-logo__texte {
	gap: 2px;
	font-size: 20px;
}

body.adpt-design #mobile-header .adpt-logo__un {
	padding: 0 5px 2px;
	border-radius: 6px;
	font-size: 13px;
	line-height: 16px;
}

body.adpt-design #mobile-header .menu-toggle-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

body.adpt-design #mobile-header .menu-toggle-open:hover {
	background: var(--aup-foret);
	color: var(--aup-blanc);
}

body.adpt-design #mobile-drawer .drawer-inner {
	background: var(--aup-blanc);
}

body.adpt-design #mobile-drawer .drawer-header .drawer-toggle {
	color: var(--aup-encre);
}

body.adpt-design #mobile-drawer .mobile-navigation ul li > a,
body.adpt-design #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap {
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 17px;
	font-weight: 700;
}

body.adpt-design #mobile-drawer .mobile-navigation ul li:not(.menu-item-has-children) > a,
body.adpt-design #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap {
	border-bottom: 1px solid var(--aup-ligne);
}

body.adpt-design #mobile-drawer .mobile-navigation ul ul li > a {
	font-size: 15px;
	font-weight: 600;
}

body.adpt-design #mobile-drawer .mobile-header-button-wrap .button,
body.adpt-design #mobile-drawer .mobile-header-button-wrap .mobile-header-button {
	width: 100%;
	min-height: 52px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-weight: 800;
}

/* 4. Composants ---------------------------------------------------------------------------------- */

/* Surtitre : 13 px, majuscules, interlettrage 0,08em, sapin (lime sur encre, forêt sur lime). */
.adpt-surtitre,
body.adpt-design .adpt-surtitre,
body.adpt-design h2.adpt-surtitre,
body.adpt-design h3.adpt-surtitre {
	margin: 0 0 12px;
	color: var(--aup-sapin);
	font-family: var(--aup-font-texte);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Titre de section : H2 de la maquette (Bricolage 800, clamp 32 → 50 px). */
.adpt-titre-section,
body.adpt-design .adpt-titre-section,
body.adpt-design h2.adpt-titre-section {
	margin: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: var(--aup-h2);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.adpt-titre-section--moyen,
body.adpt-design .adpt-titre-section--moyen,
body.adpt-design h2.adpt-titre-section--moyen {
	font-size: clamp(28px, 3vw, 40px);
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.adpt-surligne,
body.adpt-design mark.adpt-surligne {
	padding: 0 6px;
	border-radius: 6px;
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-weight: 700;
	white-space: nowrap;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.adpt-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-pastilles li {
	margin: 0;
}

.adpt-pastille,
body.adpt-design .adpt-pastille {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.adpt-pastille--vive,
body.adpt-design .adpt-pastille--vive {
	background: var(--aup-lime);
}

.adpt-pastille--brume,
body.adpt-design .adpt-pastille--brume {
	background: var(--aup-brume);
}

.adpt-pastille--douce,
body.adpt-design .adpt-pastille--douce {
	padding: 4px 10px;
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
	font-size: 12px;
}

.adpt-pastille--claire,
body.adpt-design .adpt-pastille--claire {
	border: 1px solid var(--aup-ligne);
	background: var(--aup-blanc);
}

/* Pastilles de tri. */
.adpt-puce,
body.adpt-design .adpt-puce {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

body.adpt-design .adpt-puce:hover {
	border-color: var(--aup-encre);
	color: var(--aup-encre);
}

body.adpt-design .adpt-puce.est-active {
	border-color: var(--aup-encre);
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

/* Note des avis. */
.adpt-note,
body.adpt-design .adpt-note {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	margin: 0;
	color: var(--aup-mousse);
	font-size: 14px;
	text-decoration: none;
}

.adpt-note .adpt-icone--etoile {
	color: var(--aup-etoile);
}

.adpt-note strong {
	color: var(--aup-encre);
}

.adpt-etoiles {
	position: relative;
	display: inline-flex;
	line-height: 0;
}

.adpt-etoiles__fond,
.adpt-etoiles__plein {
	display: inline-flex;
	gap: 2px;
}

.adpt-etoiles__fond {
	color: var(--aup-ligne-forte);
}

.adpt-etoiles__plein {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--adpt-remplissage, 100%);
	overflow: hidden;
	color: var(--aup-etoile);
	white-space: nowrap;
}

/* Fil d'Ariane (SEOPress). */
.adpt-ariane {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 14px;
}

body.adpt-design .adpt-ariane a {
	color: var(--aup-mousse);
	text-decoration: underline;
}

.adpt-ariane ol,
.adpt-ariane ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design .adpt-ariane .breadcrumb li {
	margin: 0;
}

body.adpt-design .adpt-ariane .breadcrumb li::after {
	content: "›";
	margin: 0 0 0 8px;
}

body.adpt-design .adpt-ariane .breadcrumb li:last-child::after {
	display: none;
}

/* Sections (fiche, comparateur). */
.adpt-section {
	margin-top: 44px;
}

body.adpt-design .adpt-section__titre {
	margin: 0 0 18px;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.adpt-section__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 14px;
}

body.adpt-design .adpt-section__entete .adpt-section__titre {
	margin: 0;
}

.adpt-section__aparte {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 14px;
}

.adpt-section__intro {
	max-width: 52em;
	margin: 0 0 18px;
	color: var(--aup-mousse);
	font-size: 17px;
}

.adpt-section__note,
body.adpt-design .adpt-section__note {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 14px;
}

/* Volets dépliables (« Ce qu'il faut savoir », FAQ) : fond brume, chevron dans une pastille. */
.adpt-details,
body.adpt-design .entry-content details.wp-block-details {
	border: 0;
	border-radius: 20px;
	background: var(--aup-brume);
}

.adpt-details > summary,
body.adpt-design .entry-content details.wp-block-details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 22px;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.adpt-details > summary::-webkit-details-marker,
body.adpt-design .entry-content details.wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.adpt-details > summary::after,
body.adpt-design .entry-content details.wp-block-details > summary::after {
	content: "";
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B14' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 18px no-repeat;
	transition: transform .2s ease, background-color .2s ease;
}

.adpt-details[open] > summary::after,
body.adpt-design .entry-content details.wp-block-details[open] > summary::after {
	background-color: var(--aup-lime);
	transform: rotate(180deg);
}

/* Intitulé d'un volet : titre (H2 d'une description, H3 d'une ancienne FAQ) à la typographie du <summary>. */
body.adpt-design .adpt-details__titre {
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: none;
}

.adpt-details__contenu {
	padding: 0 22px 22px;
	color: var(--aup-mousse);
	font-size: 16px;
	line-height: 1.65;
}

.adpt-details__contenu > :first-child {
	margin-top: 0;
}

.adpt-details__contenu > :last-child {
	margin-bottom: 0;
}

/* Liste à coches (sapin). */
body.adpt-design ul.adpt-coches,
.adpt-coches {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	font-weight: 600;
}

body.adpt-design ul.adpt-coches li {
	position: relative;
	margin: 0;
	padding-left: 28px;
}

body.adpt-design ul.adpt-coches li::before {
	content: "";
	position: absolute;
	top: .15em;
	left: 0;
	width: 18px;
	height: 18px;
	background: var(--aup-sapin);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 5. Accueil (maquette « Main » et « MobileAccueil ») ---------------------------------------------- */

/* Sections pleine largeur, contenu de 1 240 px centré (gouttière comprise). */
body.adpt-design .entry-content > .adpt-accueil-hero,
body.adpt-design .entry-content > .adpt-accueil-section {
	box-sizing: border-box;
	max-width: none;
	margin: 0;
	padding-inline: max(var(--aup-gouttiere), calc((100% - var(--aup-conteneur)) / 2 + var(--aup-gouttiere)));
}

body.adpt-design .adpt-accueil-hero *,
body.adpt-design .adpt-accueil-section * {
	box-sizing: border-box;
}

body.adpt-design .adpt-accueil-hero > *,
body.adpt-design .adpt-accueil-section > *,
body.adpt-design .adpt-accueil-section .wp-block-group > *,
body.adpt-design .adpt-accueil-hero .wp-block-group > * {
	margin-block: 0;
}

body.adpt-design .adpt-accueil-section .wp-block-buttons {
	gap: 12px;
}

body.adpt-design .adpt-accueil-section .wp-block-button__link,
body.adpt-design .adpt-accueil-hero .wp-block-button__link {
	min-height: 48px;
	padding: 0 20px;
	font-size: 15px;
	font-weight: 700;
}

/* Héros sombre. */
body.adpt-design .entry-content > .adpt-accueil-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 36px;
	overflow: hidden;
	padding-top: 64px;
	padding-bottom: 72px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-accueil-hero::before,
.adpt-accueil-hero::after {
	content: "";
	position: absolute;
	border-radius: var(--aup-rayon-pilule);
	pointer-events: none;
}

.adpt-accueil-hero::before {
	top: -220px;
	right: -180px;
	width: 700px;
	height: 700px;
	border: 1px solid rgba(197, 240, 74, .16);
}

.adpt-accueil-hero::after {
	top: -100px;
	right: -60px;
	width: 460px;
	height: 460px;
	border: 1px solid rgba(197, 240, 74, .10);
}

body.adpt-design .adpt-accueil-hero > * {
	position: relative;
	z-index: 1;
}

.adpt-accueil-hero__haut {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

/* Colonne de texte de la maquette : 636 px (le titre tient sur trois lignes). */
.adpt-accueil-hero__texte {
	display: flex;
	flex: 1 1 560px;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
	max-width: 640px;
}

body.adpt-design .adpt-accueil-hero h1.adpt-accueil-hero__pastille {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 6px 14px 6px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: rgba(197, 240, 74, .12);
	color: var(--aup-lime);
	font-family: var(--aup-font-texte);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
}

body.adpt-design .adpt-accueil-hero h1.adpt-accueil-hero__pastille::before {
	content: "";
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
}

body.adpt-design .adpt-accueil-hero h2.adpt-accueil-hero__titre {
	margin: 0;
	color: var(--aup-blanc);
	font-family: var(--aup-font-titre);
	font-size: var(--aup-h1);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: .98;
}

body.adpt-design .adpt-accueil-hero__titre mark {
	padding: 0;
	background: transparent !important;
	color: var(--aup-lime);
}

body.adpt-design .adpt-accueil-hero p.adpt-accueil-hero__chapo {
	max-width: 540px;
	margin: 0;
	color: var(--aup-texte-sur-encre);
	font-size: 19px;
	line-height: 1.55;
}

body.adpt-design .adpt-accueil-hero__chapo strong {
	color: var(--aup-blanc);
	font-weight: 600;
}

body.adpt-design .adpt-accueil-hero h2.adpt-accueil-hero__recherche {
	margin: 0 0 -22px;
	color: var(--aup-texte-sur-encre);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
}

/* Carte « profil » : pile de cartes, badge « C'est un match ! ». */
.adpt-accueil-hero__haut > .adpt-profil {
	flex: 1 1 400px;
}

.adpt-profil {
	position: relative;
	width: 100%;
	max-width: 420px;
	height: 470px;
	margin-inline: auto;
	color: var(--aup-encre);
}

.adpt-profil__fond {
	position: absolute;
	border-radius: 30px;
}

.adpt-profil__fond--lime {
	inset: 26px -4px 4px 40px;
	background: var(--aup-lime);
	transform: rotate(6deg);
}

.adpt-profil__fond--foret {
	inset: 12px 8px 14px 20px;
	background: var(--aup-foret);
	transform: rotate(2.5deg);
}

.adpt-profil__carte {
	position: absolute;
	inset: 0 26px 26px 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 30px;
	background: var(--aup-blanc);
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .55);
	animation: adpt-profil .35s ease-out;
}

.adpt-profil__carte[hidden] {
	display: none;
}

@keyframes adpt-profil {
	from { opacity: 0; transform: translateY(12px) rotate(-1.5deg); }
	to { opacity: 1; transform: none; }
}

.adpt-profil__photo {
	position: relative;
	flex: none;
	height: 220px;
	background: var(--aup-brume);
}

body.adpt-design .adpt-profil__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.adpt-profil__badge,
.adpt-profil__note {
	position: absolute;
	top: 14px;
	padding: 6px 11px;
	border-radius: var(--aup-rayon-pilule);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.adpt-profil__badge {
	left: 14px;
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-profil__note {
	right: 14px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 10px;
	background: rgba(14, 27, 20, .78);
	color: var(--aup-blanc);
}

.adpt-profil__note .adpt-icone {
	color: var(--aup-lime);
}

.adpt-profil__corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px 20px;
}

body.adpt-design .adpt-profil__corps p {
	margin: 0;
}

body.adpt-design .adpt-profil :where(p, li) {
	line-height: 1.35;
}

body.adpt-design ul.adpt-profil__puces,
body.adpt-design ul.adpt-reassurance-hero,
body.adpt-design .adpt-populaires ul {
	margin: 0;
	padding-left: 0;
}

body.adpt-design .adpt-profil__lieu {
	color: var(--aup-mousse);
	font-size: 13px;
	font-weight: 600;
}

body.adpt-design .adpt-profil__nom {
	margin-top: -10px !important;
	font-family: var(--aup-font-titre);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

body.adpt-design .adpt-profil__lien {
	color: var(--aup-encre);
	text-decoration: none;
}

.adpt-profil__lien::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 30px;
}

.adpt-profil__puces {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-profil__puces li {
	margin: 0;
	padding: 5px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	font-size: 13px;
	font-weight: 600;
}

.adpt-profil__pied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
}

.adpt-profil__prix {
	display: flex;
	flex-direction: column;
}

.adpt-profil__prix span {
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 600;
}

.adpt-profil__prix strong {
	font-family: var(--aup-font-titre);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.adpt-profil__actions {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 10px;
}

.adpt-profil__passer,
.adpt-profil__adopter,
body.adpt-design .adpt-profil__adopter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border-radius: var(--aup-rayon-pilule);
	cursor: pointer;
}

.adpt-profil__passer {
	border: 1.5px solid var(--aup-ligne);
	background: var(--aup-blanc);
	color: var(--aup-mousse);
}

.adpt-profil__passer:hover {
	border-color: var(--aup-encre);
	color: var(--aup-encre);
}

.adpt-profil__passer[hidden] {
	display: none;
}

body.adpt-design .adpt-profil__adopter {
	border: 0;
	background: var(--aup-corail);
	color: var(--aup-encre);
}

body.adpt-design .adpt-profil__adopter:hover {
	color: var(--aup-encre);
	transform: scale(1.06);
}

body.adpt-design .adpt-profil__match {
	position: absolute;
	bottom: 74px;
	left: -30px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 16px 10px 10px;
	border-radius: 16px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 800;
	box-shadow: var(--aup-ombre-flottant);
	transform: rotate(-4deg);
	pointer-events: none;
}

.adpt-profil__match span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-corail);
	color: var(--aup-encre);
}

/* Destinations populaires et réassurance du héros. */
.adpt-populaires {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.adpt-populaires__libelle {
	margin-right: 4px;
	color: var(--aup-texte-2-sur-encre);
	font-size: 14px;
}

.adpt-populaires ul {
	display: contents;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-populaires li {
	margin: 0;
}

body.adpt-design .adpt-populaires a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: var(--aup-rayon-pilule);
	color: var(--aup-blanc);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

body.adpt-design .adpt-populaires a:hover {
	border-color: var(--aup-lime);
	color: var(--aup-lime);
}

.adpt-reassurance-hero {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin: 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	list-style: none;
	color: var(--aup-texte-sur-encre);
	font-size: 14px;
}

.adpt-reassurance-hero li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.adpt-reassurance-hero .adpt-icone {
	color: var(--aup-lime);
}

.adpt-reassurance-hero strong {
	color: var(--aup-blanc);
}

body.adpt-design .adpt-reassurance-hero a {
	color: inherit;
	text-decoration: none;
}

body.adpt-design .adpt-reassurance-hero a:hover {
	color: var(--aup-blanc);
	text-decoration: underline;
}

/* Sections de l'accueil. */
body.adpt-design .entry-content > .adpt-accueil-section {
	display: flex;
	flex-direction: column;
	gap: 44px;
	padding-top: var(--aup-section-y);
	padding-bottom: var(--aup-section-y);
	background: var(--aup-blanc);
	color: var(--aup-encre);
}

body.adpt-design .entry-content > .adpt-accueil-section--brume {
	background: var(--aup-brume);
}

.adpt-accueil-entete {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

.adpt-accueil-entete__titres {
	max-width: 660px;
}

body.adpt-design .adpt-accueil-entete__titres > .adpt-surtitre {
	margin-bottom: 12px;
}

body.adpt-design p.adpt-accueil-entete__intro {
	max-width: 420px;
	margin: 0;
	color: var(--aup-mousse);
	font-size: 17px;
	line-height: 1.55;
}

.adpt-accueil-textes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 16px 40px;
}

body.adpt-design .adpt-accueil-textes p,
body.adpt-design p.adpt-accueil-texte {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 16px;
	line-height: 1.65;
}

body.adpt-design p.adpt-accueil-texte {
	max-width: 860px;
}

/* « Comment ça marche » : trois cartes, la deuxième en lime. */
.adpt-etapes-cartes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.adpt-etape-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 250px;
	padding: 28px;
	border-radius: 24px;
	background: var(--aup-brume);
}

.adpt-etape-carte::before {
	content: "";
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--aup-encre) center / 24px no-repeat;
}

.adpt-etape-carte::after {
	position: absolute;
	top: 26px;
	right: 28px;
	color: var(--aup-ligne-forte);
	font-family: var(--aup-font-titre);
	font-size: 56px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

.adpt-etape-carte--comparez::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}

.adpt-etape-carte--comparez::after {
	content: "01";
}

.adpt-etape-carte--adoptez {
	background: var(--aup-lime);
}

.adpt-etape-carte--adoptez::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF6B4A'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E");
}

.adpt-etape-carte--adoptez::after {
	content: "02";
	color: var(--aup-lime-sombre);
}

.adpt-etape-carte--deposez::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E");
}

.adpt-etape-carte--deposez::after {
	content: "03";
}

body.adpt-design .adpt-etape-carte h3.adpt-etape-carte__titre {
	margin: auto 0 0;
	font-family: var(--aup-font-titre);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

body.adpt-design .adpt-etape-carte p {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 16px;
	line-height: 1.55;
}

body.adpt-design .adpt-etape-carte p strong {
	color: var(--aup-encre);
	font-weight: 700;
}

body.adpt-design .adpt-etape-carte--adoptez p {
	color: var(--aup-foret);
}

/* « Navette ou voiturier ? » : deux cartes photo. */
.adpt-services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	gap: 24px;
}

.adpt-service {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: hidden;
	padding-bottom: 28px;
	border: 1px solid var(--aup-ligne);
	border-radius: 28px;
	background: var(--aup-blanc);
}

body.adpt-design .adpt-service > :not(figure):not(.adpt-service__badge) {
	margin-inline: 28px;
}

/* Images WebP/AVIF servies par ShortPixel en <picture> : l'enveloppe ne compte pas dans la mise en page,
   les règles écrites pour l'<img> (hauteur 100 %, recadrage, enfant de grille) restent valables. */
body.adpt-design picture {
	display: contents;
}

body.adpt-design .adpt-service figure.adpt-service__photo {
	height: 280px;
	margin: 0;
}

body.adpt-design .adpt-service__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

body.adpt-design .adpt-service--voiturier .adpt-service__photo img {
	object-position: center 30%;
}

body.adpt-design p.adpt-service__badge {
	position: absolute;
	top: 20px;
	left: 20px;
	margin: 0;
	padding: 7px 13px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

body.adpt-design .adpt-service--voiturier p.adpt-service__badge {
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

body.adpt-design p.adpt-service__titre {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	font-family: var(--aup-font-titre);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

body.adpt-design p.adpt-service__titre::before {
	content: "";
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--aup-lime) center / 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B14' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='14' rx='3'/%3E%3Cpath d='M4 10h16'/%3E%3Cpath d='M7 17v3M17 17v3'/%3E%3Cpath d='M8 13.5h.01M16 13.5h.01'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-service--voiturier p.adpt-service__titre::before {
	background-color: var(--aup-encre);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='4.5'/%3E%3Cpath d='m10.7 12.3 9.3-9.3M16 7l3 3M14 9l2 2'/%3E%3C/svg%3E");
}

body.adpt-design p.adpt-service__texte {
	color: var(--aup-mousse);
	font-size: 16px;
	line-height: 1.6;
}

body.adpt-design .adpt-service .wp-block-buttons {
	margin-top: auto;
}

/* Bandeau lime « L'herbe est plus verte ici ». */
body.adpt-design .entry-content > .adpt-accueil-lime {
	gap: 48px;
	padding-top: 80px;
	padding-bottom: 80px;
	background: var(--aup-lime);
}

.adpt-accueil-lime__grille {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 48px;
}

.adpt-accueil-lime__texte {
	display: flex;
	flex: 1 1 520px;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

body.adpt-design .adpt-accueil-lime h3.adpt-surtitre {
	margin: 0;
	color: var(--aup-foret);
}

body.adpt-design .adpt-accueil-lime p.adpt-titre-section {
	font-size: clamp(30px, 3.2vw, 46px);
	line-height: 1.04;
}

.adpt-chiffre {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px;
}

body.adpt-design p.adpt-chiffre__valeur {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: clamp(76px, 9vw, 132px);
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: .85;
	white-space: nowrap;
}

body.adpt-design h3.adpt-chiffre__texte {
	max-width: 220px;
	margin: 0;
	padding-bottom: 6px;
	font-family: var(--aup-font-texte);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
}

body.adpt-design .adpt-accueil-lime__texte > p:not([class]) {
	max-width: 520px;
	margin: 0;
	color: var(--aup-foret);
	font-size: 17px;
	line-height: 1.6;
}

body.adpt-design .adpt-accueil-lime__texte > p:not([class]) strong {
	color: var(--aup-encre);
}

body.adpt-design .adpt-accueil-lime figure.adpt-accueil-lime__photo {
	position: relative;
	flex: 1 1 420px;
	min-width: 0;
	margin: 0;
}

body.adpt-design .adpt-accueil-lime__photo img {
	display: block;
	width: 100%;
	height: 380px;
	object-fit: cover;
	border-radius: 28px;
}

body.adpt-design .adpt-accueil-lime__photo figcaption {
	position: absolute;
	bottom: 16px;
	left: 16px;
	margin: 0;
	padding: 6px 12px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 700;
}

.adpt-accueil-duree {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 6px 28px;
	padding: 24px 28px;
	border-radius: 24px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

body.adpt-design .adpt-accueil-duree h2.adpt-accueil-duree__titre {
	margin: 0;
	color: var(--aup-blanc);
	font-size: 24px;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

body.adpt-design .adpt-accueil-duree p {
	grid-column: 1;
	margin: 0;
	color: var(--aup-texte-sur-encre);
	font-size: 15px;
}

body.adpt-design .adpt-accueil-duree .wp-block-buttons {
	grid-row: 1 / span 2;
	grid-column: 2;
}

/* Destinations : cartes (une par ville, un lien par comparateur). */
body.adpt-design ul.adpt-destinations {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.4;
}

body.adpt-design .adpt-destinations li.adpt-destination {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 88px;
	margin: 0;
	padding: 18px;
	border: 1px solid var(--aup-ligne);
	border-radius: 20px;
	background: var(--aup-blanc);
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.adpt-design .adpt-destination:hover,
body.adpt-design .adpt-destination.est-active {
	border-color: var(--aup-encre);
}

.adpt-destination__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
}

.adpt-destination--train .adpt-destination__icone {
	background: var(--aup-brume);
	color: var(--aup-encre);
}

.adpt-destination--trajet .adpt-destination__icone {
	background: var(--aup-corail-pale);
	color: var(--aup-brique);
}

.adpt-destination__texte {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

body.adpt-design .adpt-destination__nom {
	color: var(--aup-encre);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.adpt-destination__nom::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 20px;
}

.adpt-destination__offres {
	position: relative;
	z-index: 1;
	color: var(--aup-mousse);
	font-size: 14px;
}

body.adpt-design .adpt-destination__offres a {
	color: var(--aup-mousse);
	text-decoration: none;
}

body.adpt-design .adpt-destination__offres a:hover,
body.adpt-design .adpt-destination__offres a[aria-current] {
	color: var(--aup-encre);
	text-decoration: underline;
}

.adpt-destination__chevron {
	display: flex;
	color: var(--aup-mousse);
}

.adpt-destinations__plus {
	margin: 0;
}

/* Confiance (fond encre) : photo et note, quatre engagements. */
body.adpt-design .entry-content > .adpt-accueil-confiance {
	flex-flow: row wrap;
	align-items: center;
	gap: 56px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-accueil-confiance__visuel {
	position: relative;
	flex: 1 1 460px;
	min-width: 0;
}

body.adpt-design .adpt-accueil-confiance__visuel figure {
	margin: 0;
}

body.adpt-design .adpt-accueil-confiance__photo img {
	display: block;
	width: 100%;
	height: 460px;
	object-fit: cover;
	border-radius: 28px;
}

.adpt-note-carte {
	position: absolute;
	bottom: 20px;
	left: 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border-radius: 20px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .5);
}

.adpt-note-carte__valeur {
	font-family: var(--aup-font-titre);
	font-size: 40px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.adpt-note-carte__detail {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--aup-mousse);
	font-size: 13px;
	font-weight: 600;
}

.adpt-accueil-confiance__texte {
	display: flex;
	flex: 1 1 480px;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
}

body.adpt-design .adpt-accueil-confiance .adpt-surtitre {
	color: var(--aup-lime);
}

body.adpt-design .adpt-accueil-confiance .adpt-titre-section {
	color: var(--aup-blanc);
}

.adpt-engagements {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px 32px;
}

.adpt-engagement {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.adpt-engagement::before {
	content: "";
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: rgba(197, 240, 74, .12) center / 20px no-repeat;
}

.adpt-engagement--verifies::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

.adpt-engagement--transparence::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
}

.adpt-engagement--confirmation::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}

.adpt-engagement--ecoute::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14v-2a9 9 0 0 1 18 0v2'/%3E%3Cpath d='M21 15a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2zM3 15a2 2 0 0 0 2 2h1v-6H5a2 2 0 0 0-2 2z'/%3E%3Cpath d='M18 17v1a3 3 0 0 1-3 3h-3'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-engagement .adpt-engagement__titre {
	margin: 0;
	color: var(--aup-blanc);
	font-family: var(--aup-font-texte);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

body.adpt-design .adpt-engagement p:not(.adpt-engagement__titre) {
	margin: 0;
	color: var(--aup-texte-2-sur-encre);
	font-size: 15px;
	line-height: 1.55;
}

body.adpt-design .adpt-engagement p strong {
	color: var(--aup-texte-sur-encre);
	font-weight: 600;
}

/* FAQ et carte d'aide. */
body.adpt-design .entry-content > .adpt-accueil-faq {
	flex-flow: row wrap;
	align-items: flex-start;
	gap: 48px;
}

.adpt-accueil-faq__questions {
	display: flex;
	flex: 1 1 560px;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}

body.adpt-design p.adpt-accueil-faq__chapo {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 17px;
	line-height: 1.55;
}

body.adpt-design .entry-content .adpt-accordeon {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.adpt-design .entry-content .adpt-accordeon > * {
	margin: 0 !important;
}

body.adpt-design .entry-content details.wp-block-details > :not(summary) {
	margin: 0 22px 16px;
	color: var(--aup-mousse);
	font-size: 16px;
	line-height: 1.65;
}

body.adpt-design .entry-content details.wp-block-details[open] {
	padding-bottom: 8px;
}

body.adpt-design .entry-content details.wp-block-details h2:not(.adpt-details__titre) {
	margin-top: 26px;
	color: var(--aup-encre);
	font-size: 22px;
	letter-spacing: -0.02em;
}

body.adpt-design .entry-content details.wp-block-details h3:not(.adpt-details__titre) {
	margin-top: 20px;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
}

body.adpt-design .entry-content details.wp-block-details a {
	color: var(--aup-sapin);
}

body.adpt-design .entry-content > .adpt-accueil-faq > .adpt-accueil-aide,
body.adpt-design aside.adpt-accueil-aide {
	position: relative;
	display: flex;
	flex: 1 1 340px;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 32px;
	border-radius: 28px;
	background: var(--aup-lime-pale);
}

.adpt-accueil-aide::before {
	content: "";
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--aup-encre) center / 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5F04A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14v-2a9 9 0 0 1 18 0v2'/%3E%3Cpath d='M21 15a2 2 0 0 1-2 2h-1v-6h1a2 2 0 0 1 2 2zM3 15a2 2 0 0 0 2 2h1v-6H5a2 2 0 0 0-2 2z'/%3E%3Cpath d='M18 17v1a3 3 0 0 1-3 3h-3'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-accueil-aide .adpt-surtitre {
	margin: 4px 0 -8px;
}

body.adpt-design .adpt-accueil-aide h3.adpt-accueil-aide__titre {
	margin: 0;
	font-size: 30px;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

body.adpt-design .adpt-accueil-aide p {
	margin: 0;
	color: var(--aup-foret);
	font-size: 16px;
	line-height: 1.6;
}

body.adpt-design .adpt-accueil-aide p.adpt-accueil-aide__info {
	font-size: 15px;
	line-height: 1.5;
}

body.adpt-design .adpt-accueil-aide__info strong {
	color: var(--aup-encre);
	font-weight: 700;
}

body.adpt-design .adpt-accueil-aide__info a {
	color: var(--aup-foret);
	font-weight: 600;
}

body.adpt-design .adpt-accueil-aide .wp-block-buttons {
	margin-top: auto;
}

/* Actualités : cartes. */
.adpt-accueil-blog__entete,
.adpt-bandeau-actus__entete {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

body.adpt-design .adpt-accueil-blog__entete p.adpt-lien-fleche {
	margin: 0;
}

.adpt-articles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px;
}

body.adpt-design a.adpt-article {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 220px;
	overflow: hidden;
	padding: 24px;
	border: 1px solid var(--aup-ligne);
	border-radius: 22px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.adpt-design a.adpt-article:hover {
	border-color: var(--aup-encre);
	color: var(--aup-encre);
	box-shadow: var(--aup-ombre-carte);
}

body.adpt-design .adpt-article__image {
	display: block;
	width: calc(100% + 48px);
	max-width: none;
	height: 150px;
	margin: -24px -24px 4px;
	object-fit: cover;
}

.adpt-article__rubrique {
	color: var(--aup-sapin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body.adpt-design .adpt-article__titre {
	margin: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

.adpt-article__extrait {
	color: var(--aup-mousse);
	font-size: 15px;
	line-height: 1.55;
}

.adpt-article__lire {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	font-size: 14px;
	font-weight: 700;
}

/* Accueil, mobile (planche « MobileAccueil », 390 px). */
@media (max-width: 1024px) {
	.adpt-accueil-hero__haut > .adpt-profil {
		display: none;
	}
}

@media (max-width: 767px) {
	body.adpt-design .entry-content > .adpt-accueil-hero {
		gap: 18px;
		padding-top: 26px;
		padding-bottom: 28px;
	}

	.adpt-accueil-hero::before {
		top: -120px;
		right: -140px;
		width: 320px;
		height: 320px;
	}

	.adpt-accueil-hero::after {
		display: none;
	}

	.adpt-accueil-hero__texte {
		gap: 18px;
	}

	body.adpt-design .adpt-accueil-hero h1.adpt-accueil-hero__pastille {
		gap: 7px;
		padding: 5px 12px 5px 9px;
		font-size: 13px;
	}

	body.adpt-design .adpt-accueil-hero h2.adpt-accueil-hero__titre {
		font-size: 42px;
	}

	body.adpt-design .adpt-accueil-hero p.adpt-accueil-hero__chapo {
		font-size: 16px;
		line-height: 1.5;
	}

	body.adpt-design .adpt-accueil-hero h2.adpt-accueil-hero__recherche {
		display: none;
	}

	.adpt-populaires {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(var(--aup-gouttiere) * -1);
		padding-inline: var(--aup-gouttiere);
		scrollbar-width: none;
	}

	.adpt-populaires::-webkit-scrollbar {
		display: none;
	}

	.adpt-populaires__libelle {
		display: none;
	}

	.adpt-reassurance-hero {
		gap: 8px 18px;
		padding-top: 16px;
		font-size: 13px;
	}

	body.adpt-design .entry-content > .adpt-accueil-section {
		gap: 22px;
	}

	body.adpt-design .adpt-titre-section,
	body.adpt-design h2.adpt-titre-section,
	body.adpt-design p.adpt-titre-section {
		font-size: 31px;
	}

	body.adpt-design .adpt-titre-section--moyen,
	body.adpt-design h2.adpt-titre-section--moyen {
		font-size: 27px;
	}

	.adpt-surtitre,
	body.adpt-design .adpt-surtitre,
	body.adpt-design h2.adpt-surtitre,
	body.adpt-design h3.adpt-surtitre {
		margin-bottom: 8px;
		font-size: 12px;
	}

	body.adpt-design p.adpt-accueil-entete__intro {
		font-size: 15px;
	}

	.adpt-accueil-textes {
		grid-template-columns: minmax(0, 1fr);
	}

	body.adpt-design .adpt-accueil-textes p,
	body.adpt-design p.adpt-accueil-texte {
		font-size: 15px;
	}

	.adpt-etapes-cartes {
		gap: 10px;
	}

	.adpt-etape-carte {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: start;
		gap: 3px 14px;
		min-height: 0;
		padding: 18px;
		border-radius: 20px;
	}

	.adpt-etape-carte::before {
		grid-row: 1 / span 2;
		width: 44px;
		height: 44px;
		border-radius: 14px;
		background-size: 20px;
	}

	.adpt-etape-carte::after {
		display: none;
	}

	body.adpt-design .adpt-etape-carte h3.adpt-etape-carte__titre {
		margin: 0;
		font-family: var(--aup-font-texte);
		font-size: 17px;
		font-weight: 700;
		letter-spacing: 0;
	}

	body.adpt-design .adpt-etape-carte p {
		font-size: 15px;
		line-height: 1.5;
	}

	.adpt-services {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.adpt-service {
		gap: 10px;
		padding-bottom: 18px;
		border-radius: 24px;
	}

	body.adpt-design .adpt-service > :not(figure):not(.adpt-service__badge) {
		margin-inline: 18px;
	}

	body.adpt-design .adpt-service figure.adpt-service__photo {
		height: 150px;
	}

	body.adpt-design p.adpt-service__badge {
		top: 14px;
		left: 14px;
		padding: 6px 11px;
		font-size: 12px;
	}

	body.adpt-design p.adpt-service__titre {
		margin-top: 8px;
		font-size: 23px;
	}

	body.adpt-design p.adpt-service__titre::before,
	body.adpt-design .adpt-service ul.adpt-coches {
		display: none;
	}

	body.adpt-design p.adpt-service__texte {
		font-size: 15px;
		line-height: 1.5;
	}

	body.adpt-design .adpt-service .wp-block-button.adpt-bouton-sombre .wp-block-button__link {
		min-height: 44px;
		padding: 0;
		background: transparent;
		color: var(--aup-sapin);
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	body.adpt-design .entry-content > .adpt-accueil-lime {
		gap: 24px;
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.adpt-accueil-lime__texte {
		gap: 14px;
	}

	body.adpt-design .adpt-accueil-lime p.adpt-titre-section {
		font-size: 31px;
	}

	body.adpt-design p.adpt-chiffre__valeur {
		font-size: 74px;
	}

	body.adpt-design h3.adpt-chiffre__texte {
		font-size: 15px;
	}

	body.adpt-design .adpt-accueil-lime__texte > p:not([class]) {
		font-size: 15px;
	}

	body.adpt-design .adpt-accueil-lime__photo img {
		height: 220px;
		border-radius: 22px;
	}

	.adpt-accueil-duree {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px;
		border-radius: 20px;
	}

	body.adpt-design .adpt-accueil-duree .wp-block-buttons {
		grid-row: auto;
		grid-column: 1;
		margin-top: 8px;
	}

	body.adpt-design .adpt-accueil-duree h2.adpt-accueil-duree__titre {
		font-size: 21px;
	}

	body.adpt-design ul.adpt-destinations {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	body.adpt-design .adpt-destinations li.adpt-destination {
		gap: 12px;
		min-height: 64px;
		padding: 10px 14px;
		border-radius: 18px;
	}

	.adpt-destination__icone {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	body.adpt-design .adpt-destination__nom {
		font-size: 15px;
	}

	.adpt-destination__offres {
		font-size: 13px;
	}

	.adpt-destinations.est-replie > li:nth-child(n+6) {
		display: none;
	}

	body.adpt-design .adpt-destinations__plus .adpt-bouton {
		width: 100%;
		min-height: 52px;
	}

	body.adpt-design .entry-content > .adpt-accueil-confiance {
		gap: 20px;
	}

	.adpt-accueil-confiance__visuel {
		display: none;
	}

	.adpt-engagements {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 14px;
	}

	.adpt-engagement {
		gap: 8px;
	}

	.adpt-engagement::before {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	body.adpt-design .adpt-engagement .adpt-engagement__titre {
		font-size: 15px;
	}

	body.adpt-design .adpt-engagement p:not(.adpt-engagement__titre) {
		font-size: 13px;
		line-height: 1.5;
	}

	body.adpt-design .entry-content > .adpt-accueil-faq {
		gap: 22px;
	}

	.adpt-accueil-faq__questions {
		gap: 14px;
	}

	body.adpt-design .entry-content details.wp-block-details,
	.adpt-details {
		border-radius: 18px;
	}

	body.adpt-design .entry-content details.wp-block-details > summary,
	.adpt-details > summary {
		padding: 16px 18px;
		font-size: 15px;
	}

	body.adpt-design .entry-content details.wp-block-details > summary::after,
	.adpt-details > summary::after {
		width: 32px;
		height: 32px;
	}

	body.adpt-design .entry-content details.wp-block-details > :not(summary) {
		margin: 0 18px 14px;
		font-size: 15px;
	}

	body.adpt-design .entry-content > .adpt-accueil-faq > .adpt-accueil-aide,
	body.adpt-design aside.adpt-accueil-aide {
		gap: 10px;
		padding: 20px;
		border-radius: 22px;
	}

	.adpt-accueil-aide::before {
		display: none;
	}

	body.adpt-design .adpt-accueil-aide h3.adpt-accueil-aide__titre {
		font-size: 22px;
	}

	body.adpt-design .adpt-accueil-aide p {
		font-size: 14px;
	}

	.adpt-articles {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 6. Comparateur (maquette « Résultats ») ---------------------------------------------------------- */

/* Bandeau brume : fil d'Ariane, titre, rappel de la recherche. */
.adpt-bande-resultats {
	border-bottom: 1px solid var(--aup-ligne);
	background: var(--aup-brume);
}

.adpt-bande-resultats .adpt-conteneur {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 28px;
	padding-bottom: 30px;
}

.adpt-bande-resultats__ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 28px;
}

.adpt-bande-resultats__titres {
	display: flex;
	flex: 1 1 420px;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

body.adpt-design .adpt-bande-resultats__titre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: clamp(30px, 3.2vw, 42px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

body.adpt-design .adpt-bande-resultats__sous {
	margin: 0;
	color: var(--aup-mousse);
	font-family: var(--aup-font-titre);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.015em;
}

.adpt-bande-resultats__accroche {
	max-width: 40em;
	margin: 6px 0 0;
	color: var(--aup-texte-courant);
	font-size: 16px;
	line-height: 1.55;
}

/* L'accroche (H2 de la catégorie) et le prix se lisent comme une seule phrase. */
body.adpt-design .adpt-bande-resultats__accroche > * {
	display: inline;
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.adpt-bande-resultats__intro::after {
	content: ".";
}

/* Rappel de la recherche : pilule blanche (lieu │ dates │ bouton). */
.adpt-rappel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 6px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
}

.adpt-rappel__element {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	font-size: 15px;
	font-weight: 600;
}

.adpt-rappel__element .adpt-icone {
	color: var(--aup-sapin);
}

.adpt-rappel__separateur {
	width: 1px;
	height: 22px;
	background: var(--aup-ligne);
}

body.adpt-design .adpt-rappel__bouton {
	min-height: 44px;
	padding: 0 18px;
	font-size: 14px;
}

/* Variante catégorie : le formulaire de dates YITH dans la pilule. */
.adpt-rappel--formulaire {
	flex: 0 1 auto;
	flex-wrap: nowrap;
	padding: 6px 6px 6px 8px;
}

.adpt-rappel__lieu {
	flex: none;
	padding-right: 16px;
	border-right: 1px solid var(--aup-ligne);
}

.adpt-rappel--formulaire .adpt-formulaire {
	flex: 1 1 auto;
	min-width: 0;
}

/* Liste et colonne « coups de cœur ». */
.adpt-resultats-grille {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
	padding-top: 28px;
}

.adpt-resultats-liste {
	display: flex;
	flex: 999 1 640px;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.adpt-resultats-aside {
	position: sticky;
	top: 96px;
	display: flex;
	flex: 1 1 320px;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

body.admin-bar .adpt-resultats-aside {
	top: 128px;
}

.adpt-outils {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.adpt-design .adpt-outils__titre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.adpt-outils__ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.adpt-filtre {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
}

.adpt-filtre[hidden] {
	display: none;
}

body.adpt-design .adpt-filtre__bouton {
	min-width: 0;
	min-height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: transparent;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.adpt-filtre__bouton span {
	color: var(--aup-mousse);
	font-weight: 600;
}

.adpt-filtre__bouton[aria-pressed="true"] {
	background: var(--aup-blanc);
	box-shadow: 0 2px 8px -2px rgba(14, 27, 20, .25);
}

.adpt-tris {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.adpt-tris__libelle {
	margin-right: 2px;
	color: var(--aup-mousse);
	font-size: 14px;
}

/* Cartes de parking : photo, informations, prix. */
body.adpt-design ul.products.adpt-resultats {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design ul.products.adpt-resultats::before,
body.adpt-design ul.products.adpt-resultats::after {
	display: none;
}

body.adpt-design ul.products.adpt-resultats li.product.adpt-carte {
	width: auto;
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

.adpt-resultats .adpt-carte.est-filtree {
	display: none !important;
}

.adpt-carte__contenu {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	border: 1px solid var(--aup-ligne);
	border-radius: 24px;
	background: var(--aup-blanc);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.adpt-carte__contenu:hover {
	border-color: var(--aup-ligne-forte);
	box-shadow: var(--aup-ombre-carte);
}

.adpt-carte__visuel {
	position: relative;
	flex: 1 1 230px;
	min-height: 220px;
	background: var(--aup-brume);
}

.adpt-carte__visuel > a {
	position: absolute;
	inset: 0;
	display: block;
}

body.adpt-design ul.products li.adpt-carte .adpt-carte__photo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
}

body.adpt-design ul.products li.adpt-carte .adpt-carte__photo--logo {
	padding: 22px;
	background: var(--aup-blanc);
	object-fit: contain;
}

.adpt-carte__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	padding: 6px 11px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

/* Cœur (coups de cœur) : rond blanc de 44 px, corail ; plein quand le parking est gardé. */
.adpt-coeur {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-corail);
	box-shadow: var(--aup-ombre-douce);
	cursor: pointer;
}

.adpt-coeur[hidden],
.adpt-fiche-coeur[hidden] {
	display: none;
}

.adpt-coeur .adpt-icone--coeur,
.adpt-fiche-coeur .adpt-icone--coeur,
.adpt-coeur[aria-pressed="true"] .adpt-icone--coeur-contour,
.adpt-fiche-coeur[aria-pressed="true"] .adpt-icone--coeur-contour {
	display: none;
}

.adpt-coeur[aria-pressed="true"] .adpt-icone--coeur,
.adpt-fiche-coeur[aria-pressed="true"] .adpt-icone--coeur {
	display: block;
}

.adpt-coeur:hover {
	transform: scale(1.06);
}

.adpt-carte__corps {
	display: flex;
	flex: 999 1 330px;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	padding: 20px 22px;
}

.adpt-carte__entete {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

body.adpt-design ul.products li.adpt-carte .adpt-carte__titre {
	margin: 0;
	padding: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-transform: none;
}

body.adpt-design ul.products li.adpt-carte .adpt-carte__titre a {
	color: inherit;
	text-decoration: none;
}

body.adpt-design ul.products li.adpt-carte .adpt-carte__titre a:hover {
	text-decoration: underline;
}

.adpt-faits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.35;
}

.adpt-faits__item {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.adpt-faits__item .adpt-icone {
	color: var(--aup-sapin);
}

.adpt-carte__prix {
	display: flex;
	flex: 1 1 200px;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	padding: 20px 22px;
	border-left: 1px solid var(--aup-ligne);
	background: #FAFBF8;
}

.adpt-carte__montants {
	display: flex;
	flex-direction: column;
}

.adpt-prix__libelle {
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.adpt-prix__montant {
	margin-top: 2px;
	font-family: var(--aup-font-titre);
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.adpt-prix__montant .woocommerce-Price-amount {
	color: var(--aup-encre);
}

.adpt-prix__detail {
	margin-top: 2px;
	color: var(--aup-mousse);
	font-size: 13px;
}

.adpt-prix__complet {
	margin-top: 2px;
	color: var(--aup-brique);
	font-family: var(--aup-font-titre);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
}

.adpt-carte__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.adpt-design .adpt-carte__actions .adpt-bouton {
	width: 100%;
	min-height: 48px;
	font-size: 15px;
}

body.adpt-design .adpt-carte__detail,
body.adpt-design ul.products li.adpt-carte a.adpt-carte__detail {
	padding: 6px 0;
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: underline;
}

body.adpt-design ul.products li.adpt-carte.est-complet .adpt-carte__photo {
	filter: grayscale(.7);
	opacity: .75;
}

/* Réassurance sous la liste. */
.adpt-reassurance-liste {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	margin: 8px 0 0;
	padding: 18px 20px;
	border-radius: 20px;
	background: var(--aup-brume);
	list-style: none;
	font-size: 14px;
	font-weight: 600;
}

.adpt-reassurance-liste li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.adpt-reassurance-liste .adpt-icone {
	color: var(--aup-sapin);
}

body.adpt-design .adpt-reassurance-liste a {
	color: inherit;
	text-decoration: none;
}

body.adpt-design .adpt-reassurance-liste a:hover {
	text-decoration: underline;
}

/* Colonne : coups de cœur et étapes. */
.adpt-coups-de-coeur {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	border: 1.5px dashed var(--aup-ligne-forte);
	border-radius: 22px;
}

.adpt-coups-de-coeur__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	color: var(--aup-corail);
}

.adpt-coups-de-coeur__texte {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	font-size: 14px;
	line-height: 1.5;
}

.adpt-coups-de-coeur__texte p {
	margin: 0;
	color: var(--aup-mousse);
}

.adpt-coups-de-coeur__plein {
	display: flex;
	flex-direction: column;
}

.adpt-coups-de-coeur__plein[hidden],
.adpt-coups-de-coeur__vide[hidden],
.adpt-coups-de-coeur__voir[hidden] {
	display: none;
}

.adpt-coups-de-coeur__plein strong {
	color: var(--aup-encre);
	font-size: 16px;
}

.adpt-coups-de-coeur__plein span {
	color: var(--aup-corail-texte);
}

.adpt-coups-de-coeur.a-des-favoris {
	border: 0;
	background: var(--aup-corail-pale);
}

.adpt-coups-de-coeur.a-des-favoris .adpt-coups-de-coeur__icone {
	background: var(--aup-corail);
	color: var(--aup-encre);
}

body.adpt-design .adpt-coups-de-coeur__voir {
	margin-top: 4px;
	color: var(--aup-corail-texte);
	font-size: 13px;
	text-align: left;
}

/* Coups de cœur gardés dans d'autres villes : une pastille par ville, avec leur nombre. */
.adpt-coups-de-coeur:has(.adpt-coups-de-coeur__ailleurs:not([hidden])) {
	align-items: flex-start;
}

.adpt-coups-de-coeur__ailleurs {
	align-self: stretch;
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid var(--aup-ligne);
}

.adpt-coups-de-coeur.a-des-favoris .adpt-coups-de-coeur__ailleurs {
	border-top-color: rgba(14, 27, 20, .12);
}

.adpt-coups-de-coeur__ailleurs[hidden],
.adpt-coups-de-coeur__villes li[hidden],
.adpt-liste-vide[hidden],
body.adpt-design .woocommerce-pagination[hidden] {
	display: none !important;
}

body.adpt-design p.adpt-coups-de-coeur__intertitre {
	margin: 0 0 8px;
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 700;
}

.adpt-coups-de-coeur__villes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design a.adpt-coups-de-coeur__ville {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 4px 5px 4px 12px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color .2s ease;
}

body.adpt-design a.adpt-coups-de-coeur__ville:hover,
body.adpt-design a.adpt-coups-de-coeur__ville:focus-visible {
	border-color: var(--aup-encre);
}

.adpt-coups-de-coeur__compte {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 7px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-corail);
	color: var(--aup-encre);
	font-size: 12px;
	font-weight: 700;
}

/* Filtres sans résultat. */
.adpt-liste-vide {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 28px 20px;
	border: 1.5px dashed var(--aup-ligne-forte);
	border-radius: 24px;
	text-align: center;
}

body.adpt-design .adpt-liste-vide p {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 16px;
}

.adpt-etapes {
	padding: 20px;
	border-radius: 22px;
	background: var(--aup-brume);
}

body.adpt-design .adpt-etapes__titre {
	margin: 0 0 12px;
	color: var(--aup-sapin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.adpt-etapes__liste {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-etape {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px;
	border-radius: 16px;
	background: var(--aup-blanc);
}

.adpt-etape--lime {
	background: var(--aup-lime);
}

.adpt-etape__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--aup-encre);
	color: var(--aup-lime);
}

.adpt-etape--lime .adpt-etape__icone {
	color: var(--aup-corail);
}

body.adpt-design .adpt-etape__titre {
	margin: 0 0 2px;
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

.adpt-etape p {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 13px;
	line-height: 1.45;
}

.adpt-etape--lime p {
	color: var(--aup-foret);
}

/* Sous la liste : « Ce qu'il faut savoir » et destinations. */
.adpt-savoir,
body.adpt-design .adpt-villes {
	margin-top: 64px;
}

.adpt-savoir__liste {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.adpt-design .adpt-villes .adpt-section__titre {
	font-size: clamp(28px, 3vw, 40px);
	letter-spacing: -0.03em;
}

body.adpt-design .adpt-villes .adpt-section__intro {
	margin-bottom: 24px;
}

body.adpt-design .adpt-villes .adpt-section__note {
	margin-top: 16px;
}

/* Fin de liste : marge avant le pied de page. */
body.adpt-design.woocommerce-shop .site-main,
body.adpt-design.tax-product_cat .site-main,
body.adpt-design.tax-yith_shop_vendor .site-main {
	padding-bottom: 72px;
}

/* Aucun résultat. */
.adpt-vide {
	padding: 40px 24px;
	border-radius: 28px;
	background: var(--aup-brume);
	text-align: center;
}

.adpt-vide__icone {
	display: inline-flex;
	margin: 0;
	padding: 14px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
}

body.adpt-design .adpt-vide__titre {
	margin: 12px 0 4px;
	font-size: 26px;
}

.adpt-carte-recherche {
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-sizing: border-box;
	min-width: 0;
	padding: 20px;
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
	box-shadow: var(--aup-ombre-carte);
}

.adpt-carte-recherche--centree {
	max-width: 520px;
	margin: 20px auto 0;
	text-align: left;
}

body.adpt-design .adpt-carte-recherche__titre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: 20px;
	font-weight: 800;
}

/* Pagination. */
body.adpt-design .woocommerce-pagination {
	margin-top: 24px;
}

body.adpt-design .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	border: 0;
}

body.adpt-design .woocommerce-pagination ul.page-numbers li {
	border: 0;
}

body.adpt-design .woocommerce-pagination .page-numbers a,
body.adpt-design .woocommerce-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-weight: 700;
}

body.adpt-design .woocommerce-pagination .page-numbers .current {
	border-color: var(--aup-encre);
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

/* Comparateur, tablette et mobile. */
@media (max-width: 1100px) {
	.adpt-resultats-aside {
		position: static;
	}
}

@media (max-width: 767px) {
	.adpt-bande-resultats .adpt-conteneur {
		gap: 12px;
		padding-top: 18px;
		padding-bottom: 20px;
	}

	.adpt-bande-resultats .adpt-ariane {
		font-size: 13px;
	}

	body.adpt-design .adpt-bande-resultats__titre {
		font-size: 28px;
	}

	body.adpt-design .adpt-bande-resultats__sous {
		font-size: 17px;
	}

	.adpt-bande-resultats__accroche {
		font-size: 15px;
	}

	.adpt-rappel {
		width: 100%;
		border-radius: 22px;
	}

	.adpt-rappel__separateur {
		display: none;
	}

	.adpt-rappel__element {
		padding: 6px 8px;
		font-size: 14px;
	}

	body.adpt-design .adpt-rappel__bouton {
		margin-left: auto;
	}

	.adpt-rappel--formulaire {
		flex-direction: column;
		align-items: stretch;
		padding: 8px;
	}

	.adpt-rappel__lieu {
		padding: 6px 8px;
		border-right: 0;
	}

	.adpt-resultats-grille {
		gap: 20px;
		padding-top: 16px;
	}

	/* Une seule colonne, sans retour à la ligne : en colonne « wrap », chaque ligne prendrait la largeur
	   de son contenu et le filtre comme les tris déborderaient de l'écran. */
	.adpt-outils__ligne {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
	}

	.adpt-outils__ligne > * {
		min-width: 0;
	}

	.adpt-filtre {
		display: flex;
	}

	body.adpt-design .adpt-filtre__bouton {
		flex: 1 1 0;
		padding: 0 8px;
	}

	.adpt-tris {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: calc(var(--aup-gouttiere) * -1);
		padding: 0 var(--aup-gouttiere) 4px;
		scrollbar-width: none;
	}

	.adpt-tris::-webkit-scrollbar {
		display: none;
	}

	.adpt-tris__libelle {
		display: none;
	}

	.adpt-puce,
	body.adpt-design .adpt-puce {
		flex: none;
	}

	body.adpt-design ul.products.adpt-resultats {
		gap: 14px;
	}

	.adpt-carte__contenu {
		border-radius: 22px;
	}

	.adpt-carte__visuel {
		flex-basis: 100%;
		min-height: 170px;
	}

	.adpt-carte__corps {
		gap: 12px;
		padding: 16px 16px 4px;
	}

	body.adpt-design ul.products li.adpt-carte .adpt-carte__titre {
		font-size: 19px;
	}

	.adpt-faits {
		gap: 6px 12px;
		font-size: 13px;
	}

	.adpt-faits__item:nth-child(n+5) {
		display: none;
	}

	.adpt-carte__prix {
		flex-flow: row wrap;
		align-items: center;
		gap: 10px 14px;
		padding: 14px 16px 16px;
		border-left: 0;
		background: transparent;
	}

	.adpt-carte__montants {
		flex: 1 1 auto;
	}

	.adpt-prix__montant {
		font-size: 26px;
	}

	.adpt-carte__actions {
		flex: 0 0 auto;
		align-items: center;
	}

	body.adpt-design .adpt-carte__actions .adpt-bouton {
		width: auto;
		padding: 0 22px;
	}

	body.adpt-design .adpt-carte__detail {
		padding: 0;
		font-size: 13px;
	}

	.adpt-reassurance-liste {
		flex-direction: column;
		gap: 8px;
		padding: 16px;
		font-size: 13px;
	}

	.adpt-savoir,
	body.adpt-design .adpt-villes {
		margin-top: 40px;
	}

	body.adpt-design.woocommerce-shop .site-main,
	body.adpt-design.tax-product_cat .site-main,
	body.adpt-design.tax-yith_shop_vendor .site-main {
		padding-bottom: 44px;
	}
}

/* 7. Fiche parking (maquette « Parking ») ------------------------------------------------------------ */

body.adpt-design.single-product .content-area {
	margin-top: 24px;
	margin-bottom: 72px;
}

/* Grille : en-tête et galerie sur toute la largeur, détails à gauche, réservation collante à droite. */
body.adpt-design.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	grid-template-areas:
		"entete entete"
		"galerie galerie"
		"details reservation";
	column-gap: 40px;
	align-items: start;
}

body.adpt-design.single-product div.product > .adpt-fiche-entete {
	grid-area: entete;
}

body.adpt-design.single-product div.product > .adpt-galerie {
	grid-area: galerie;
	margin-bottom: 36px;
}

body.adpt-design.single-product div.product > .summary {
	position: static;
	grid-area: reservation;
	display: flex;
	flex-direction: column;
	gap: 14px;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.adpt-design.single-product div.product > .adpt-fiche-details {
	grid-area: details;
	display: flex;
	flex-direction: column;
	gap: 44px;
	min-width: 0;
}

body.adpt-design.single-product div.product > *:not(.adpt-fiche-entete):not(.adpt-galerie):not(.summary):not(.adpt-fiche-details) {
	grid-column: 1 / -1;
}

body.adpt-design .adpt-fiche-details > .adpt-section {
	margin-top: 0;
}

/* En-tête : pastilles, nom (exploitant en retrait), note et adresse, bouton « Coup de cœur ». */
.adpt-fiche-entete {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0 0 24px;
}

.adpt-fiche-entete__ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.adpt-fiche-entete__texte {
	display: flex;
	flex: 1 1 560px;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

body.adpt-design .adpt-fiche-entete .adpt-fiche-entete__titre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

.adpt-fiche-entete__exploitant {
	color: var(--aup-mousse);
	font-weight: 700;
}

body.adpt-design .adpt-fiche-entete h2.adpt-fiche-entete__sous {
	margin: -4px 0 0;
	color: var(--aup-mousse);
	font-family: var(--aup-font-texte);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
}

.adpt-fiche-entete__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
	color: var(--aup-mousse);
	font-size: 15px;
}

body.adpt-design .adpt-fiche-entete__meta .adpt-note {
	font-size: 15px;
}

body.adpt-design .adpt-fiche-entete__meta .adpt-note:hover span {
	text-decoration: underline;
}

.adpt-fiche-entete__adresse {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.adpt-fiche-entete__adresse .adpt-icone {
	color: var(--aup-mousse);
}

body.adpt-design .adpt-fiche-coeur {
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
	box-shadow: inset 0 0 0 1px var(--aup-ligne);
}

body.adpt-design .adpt-fiche-coeur .adpt-icone {
	color: var(--aup-corail);
}

body.adpt-design .adpt-fiche-coeur:hover {
	background: var(--aup-blanc);
	color: var(--aup-encre);
	box-shadow: inset 0 0 0 1px var(--aup-encre);
}

body.adpt-design .adpt-fiche-coeur[aria-pressed="true"] {
	background: var(--aup-corail-pale);
	box-shadow: inset 0 0 0 1px var(--aup-corail);
}

/* Galerie : 3 colonnes, 2 rangées de 200 px, arrondi 26 px, voile sur la dernière vignette. */
.adpt-galerie {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: 200px 200px;
	gap: 10px;
	overflow: hidden;
	border-radius: 26px;
}

.adpt-galerie--1 {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: 410px;
}

.adpt-galerie--2 {
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 410px;
}

.adpt-galerie__item {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--aup-brume);
}

.adpt-galerie--3 .adpt-galerie__item:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

body.adpt-design .adpt-galerie .adpt-galerie__photo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	transition: transform .3s ease;
}

body.adpt-design .adpt-galerie__item:hover .adpt-galerie__photo {
	transform: scale(1.03);
}

.adpt-galerie__plus {
	background: var(--aup-encre);
}

body.adpt-design .adpt-galerie__plus .adpt-galerie__photo {
	opacity: .45;
}

.adpt-galerie__plus span {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--aup-blanc);
	font-size: 16px;
	font-weight: 800;
}

.adpt-galerie__compteur {
	display: none;
}

/* « L'essentiel » : tuiles brume, icône sur pastille blanche. */
.adpt-points__grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 10px;
	margin: 0;
}

.adpt-point {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border-radius: 18px;
	background: var(--aup-brume);
}

.adpt-point__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--aup-blanc);
	color: var(--aup-sapin);
}

.adpt-point__libelle {
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.adpt-point__valeur {
	margin: 2px 0 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}

/* Options proposées sur place : pastilles bordées. */
.adpt-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-options li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 9px 14px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	font-size: 14px;
	font-weight: 600;
}

.adpt-options .adpt-icone {
	color: var(--aup-sapin);
}

/* Accès : encart encre, bouton « Itinéraire ». */
.adpt-rdv {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 24px 26px;
	border-radius: 24px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-rdv__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: rgba(197, 240, 74, .14);
	color: var(--aup-lime);
}

.adpt-rdv__texte {
	flex: 1 1 280px;
	min-width: 0;
}

.adpt-rdv__texte h2,
.adpt-rdv__texte h3,
body.adpt-design .adpt-rdv__texte h2,
body.adpt-design .adpt-rdv__texte h3 {
	margin: 0;
	color: var(--aup-lime);
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.adpt-rdv__texte h3 strong {
	font-weight: inherit;
}

.adpt-rdv__texte p {
	margin: 4px 0 0;
	color: var(--aup-texte-sur-encre);
	font-size: 15px;
	line-height: 1.55;
}

body.adpt-design .adpt-rdv__texte strong {
	color: var(--aup-blanc);
}

body.adpt-design .adpt-rdv__texte a {
	color: var(--aup-lime);
}

.adpt-rdv__texte hr {
	display: none;
}

.adpt-rdv__texte [style] {
	background: transparent !important;
	border-color: rgba(255, 255, 255, .25) !important;
	color: inherit !important;
}

body.adpt-design .adpt-rdv .adpt-bouton {
	min-height: 48px;
	padding: 0 20px;
	font-size: 15px;
	font-weight: 800;
}

/* Sections repliables (frais, présentation) : titres sur ordinateur, volets sur mobile. */
.adpt-pliable > summary {
	list-style: none;
}

.adpt-pliable > summary::-webkit-details-marker {
	display: none;
}

@media (min-width: 768px) {
	.adpt-pliable > summary {
		pointer-events: none;
	}
}

/* « Bon à savoir » : une carte par frais, icône encre et lime. */
body.adpt-design .adpt-frais__avertissement {
	margin: -6px 0 14px;
	color: var(--aup-mousse);
	font-size: 14px;
	line-height: 1.55;
}

body.adpt-design .adpt-frais__avertissement strong {
	color: var(--aup-texte-courant);
	font-weight: 600;
}

.adpt-frais__cartes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-frais__carte {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--aup-ligne);
	border-radius: 20px;
	color: var(--aup-mousse);
	font-size: 14px;
	line-height: 1.55;
}

.adpt-frais__carte strong {
	color: var(--aup-encre);
}

.adpt-frais__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--aup-encre);
	color: var(--aup-lime);
}

.adpt-frais__contenu {
	color: var(--aup-mousse);
}

/* Présentation : texte de 16 px, « Tout savoir » en lien dépliant. */
.adpt-presentation__unique {
	color: var(--aup-texte-courant);
	font-size: 16px;
	line-height: 1.7;
}

.adpt-presentation__unique p {
	margin: 0 0 12px;
}

.adpt-presentation__plus > summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 0;
	color: var(--aup-sapin);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	list-style: none;
}

.adpt-presentation__plus > summary::-webkit-details-marker {
	display: none;
}

.adpt-presentation__plus > summary::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s ease;
}

.adpt-presentation__plus[open] > summary::after {
	transform: rotate(180deg);
}

.adpt-presentation__plus .adpt-details__contenu {
	padding: 10px 0 0;
	color: var(--aup-texte-courant);
}

.adpt-presentation .adpt-details__contenu h3 {
	margin: 20px 0 6px;
	font-size: 19px;
	letter-spacing: -0.02em;
}

/* Avis : la note en grand dans un encart brume. */
.adpt-avis {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding: 24px;
	border-radius: 24px;
	background: var(--aup-brume);
}

body.adpt-design .adpt-avis__chiffre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: 52px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

.adpt-avis__texte {
	flex: 1;
	min-width: 200px;
}

body.adpt-design .adpt-avis__titre {
	margin: 0;
	font-family: var(--aup-font-texte);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

.adpt-avis__note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	margin: 4px 0 0;
	color: var(--aup-mousse);
	font-size: 15px;
}

.adpt-avis__note .adpt-icone {
	color: var(--aup-etoile);
}

.adpt-avis__note strong {
	color: var(--aup-encre);
}

.adpt-description__contenu {
	color: var(--aup-texte-courant);
}

/* Informations légales : deux lignes discrètes. */
.adpt-legal {
	padding-top: 18px;
	border-top: 1px solid var(--aup-ligne);
	color: var(--aup-mousse);
	font-size: 13px;
	line-height: 1.6;
}

.adpt-legal__ligne {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 6px;
}

body.adpt-design .adpt-legal__titre {
	margin: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.6;
}

.adpt-legal strong {
	color: var(--aup-mousse);
	font-weight: 600;
}

body.adpt-design .adpt-legal a {
	color: var(--aup-mousse);
}

.adpt-legal__note {
	margin: 4px 0 0;
}

/* 8. Réservation (YITH Booking et options WAPO) : habillage seulement, options inchangées ---------- */

.adpt-resa-carte {
	overflow: hidden;
	border: 1px solid var(--aup-ligne);
	border-radius: 28px;
	background: var(--aup-blanc);
	box-shadow: var(--aup-ombre-carte);
}

.adpt-resa-entete {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 22px 24px 16px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

body.adpt-design .adpt-resa-entete h2.adpt-reservation__titre {
	margin: 0;
	color: var(--aup-blanc);
	font-family: var(--aup-font-texte);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
}

.adpt-resa-entete p {
	margin: 0;
}

.adpt-resa-entete__sous {
	margin-top: 3px !important;
	color: var(--aup-texte-2-sur-encre);
	font-size: 13px;
}

.adpt-resa-entete__prix {
	text-align: right;
}

.adpt-resa-entete__montant {
	color: var(--aup-lime);
	font-family: var(--aup-font-titre);
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	white-space: nowrap;
}

.adpt-resa-entete__montant:empty {
	display: none;
}

.adpt-resa-entete__detail {
	margin-top: 4px !important;
	color: var(--aup-texte-2-sur-encre);
	font-size: 13px;
	white-space: nowrap;
}

/* Formulaire : une colonne ; dates sur fond encre, total et bouton à la fin. WAPO impose
   « form.cart:has(.yith-wapo-block) { display: block !important } » : surcharge nécessaire. */
body.adpt-design.single-product #adpt-reservation form.cart {
	display: flex !important;
	flex-direction: column;
	margin: 0;
	padding: 0 24px 24px;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-booking-form {
	display: contents;
}

.adpt-resa-carte .yith-wcbk-form-section-dates-wrapper { order: 1; }
.adpt-resa-carte .adpt-resa-progression { order: 2; }
.adpt-resa-carte .yith-wcbk-form-section-persons-wrapper,
.adpt-resa-carte .yith-wcbk-form-section-services-wrapper { order: 3; }
.adpt-resa-carte .yith-wcbk-booking-form-message { order: 4; }
.adpt-resa-carte #yith-wapo-container { order: 5; }
.adpt-resa-carte .yith-wcbk-form-section-totals { order: 6; }
.adpt-resa-carte .single_add_to_cart_button { order: 7; }

body.adpt-design .adpt-resa-carte .yith-wcbk-form-section {
	margin: 0;
}

/* Dates : deux cases « Dépôt » et « Retour » sur fond encre. */
body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-dates-wrapper {
	margin: 0 -24px;
	padding: 0 24px 16px;
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
}

body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-dates-wrapper .yith-wcbk-form-section__label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--aup-blanc) !important;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker::before,
body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker::after {
	position: absolute;
	top: 10px;
	z-index: 2;
	display: block;
	color: var(--aup-texte-2-sur-encre);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
	pointer-events: none;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker::before {
	content: "Dépôt";
	left: 15px;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker::after {
	content: "Retour";
	left: calc(50% + 19px);
	clear: none;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker input.yith-wcbk-date-picker--formatted {
	grid-row: 1;
	float: none;
	width: 100% !important;
	min-width: 0;
	min-height: 58px;
	margin: 0;
	padding: 26px 14px 10px !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	border-radius: 14px !important;
	background: rgba(255, 255, 255, .06) !important;
	color: var(--aup-blanc) !important;
	font-family: var(--aup-font-texte);
	font-size: 15px !important;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	box-shadow: none !important;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker input.yith-wcbk-date-picker--formatted::placeholder {
	color: var(--aup-texte-2-sur-encre);
	font-weight: 600;
	opacity: 1;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker input.yith-wcbk-date-picker--formatted.yith-wcbk-booking-start-date {
	grid-column: 1;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker input.yith-wcbk-date-picker--formatted.yith-wcbk-booking-end-date {
	grid-column: 2;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker--opened-from input.yith-wcbk-date-picker--formatted.yith-wcbk-booking-start-date,
body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker--opened-to input.yith-wcbk-date-picker--formatted.yith-wcbk-booking-end-date {
	border-color: var(--aup-lime) !important;
	box-shadow: 0 0 0 3px rgba(197, 240, 74, .25) !important;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-date-range-picker__arrow {
	display: none !important;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-dates-wrapper > p {
	margin: 10px 0 0;
	color: var(--aup-texte-2-sur-encre);
	font-size: 13px;
	line-height: 1.45;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-dates-wrapper > p strong {
	color: var(--aup-blanc);
}

/* Progression (ajoutée par adpt.js) : « Plus que N étapes avant le match ». */
.adpt-resa-progression {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 -24px;
	padding: 0 24px 22px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-resa-progression__texte {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	font-weight: 700;
}

.adpt-resa-progression__compte {
	color: var(--aup-texte-2-sur-encre);
}

.adpt-resa-progression__barre {
	position: relative;
	height: 10px;
	margin-right: 12px;
	border-radius: var(--aup-rayon-pilule);
	background: rgba(255, 255, 255, .14);
}

.adpt-resa-progression__remplissage {
	width: 0;
	height: 100%;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
	transition: width .35s ease;
}

.adpt-resa-progression__coeur {
	position: absolute;
	top: 50%;
	right: -14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-corail);
	transform: translateY(-50%);
	transition: background-color .3s ease, color .3s ease;
}

.adpt-resa-progression.est-complete .adpt-resa-progression__coeur {
	background: var(--aup-corail);
	color: var(--aup-encre);
}

/* Messages de YITH (indisponibilité, durée minimale). */
body.adpt-design .adpt-resa-carte .yith-wcbk-booking-form-message:not(:empty) {
	margin-top: 14px;
}

body.adpt-design .yith-wcbk-booking-form-message p,
body.adpt-design .yith-booking--simple-style .yith-wcbk-booking-form-message p,
body.adpt-design .yith-booking--simple-style .yith-wcbk-booking-form-message .yith-wcbk-bookable {
	margin: 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--aup-corail-pale);
	color: var(--aup-corail-texte);
	font-size: 14px;
}

/* Options (WAPO) : une étape par option, filet entre les étapes. */
body.adpt-design .adpt-resa-carte #yith-wapo-container {
	margin: 6px 0 0;
}

body.adpt-design #yith-wapo-container .yith-wapo-block {
	margin: 0;
	padding: 0;
	border: 0;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon {
	margin: 0 !important;
	padding: 20px 0 !important;
	border-bottom: 1px solid var(--aup-ligne);
	background: transparent !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .addon-header {
	margin: 0;
	padding: 0;
}

body.adpt-design .yith-wapo-block .wapo-addon-title,
body.adpt-design .wapo-addon-title,
body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--aup-encre) !important;
	font-family: var(--aup-font-texte);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
}

body.adpt-design .yith-wapo-block .wapo-addon-title::before,
body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading h3::before {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume) center / 14px no-repeat;
	transition: background-color .2s ease;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon.est-rempli .wapo-addon-title::before,
body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading.est-rempli h3::before {
	background-color: var(--aup-lime);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B14' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

body.adpt-design .yith-wapo-block .yith-wapo-addon.empty-title .addon-header,
body.adpt-design .yith-wapo-block .yith-wapo-addon .wapo-addon-title:empty {
	display: none;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading {
	padding-bottom: 0 !important;
	border-bottom: 0;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading h3 {
	margin: 0;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-html_heading + .yith-wapo-addon {
	padding-top: 14px !important;
}

body.adpt-design .yith-wapo-block .wapo-addon-title .required,
body.adpt-design .yith-wapo-block .yith-wapo-addon .required {
	color: var(--aup-brique);
}

/* Étape obligatoire oubliée au clic sur « Adopter » (classe wapo-error de WAPO) : pastille corail et
   mention « À compléter », jusqu'à ce que l'étape soit remplie. */
body.adpt-design .yith-wapo-block .yith-wapo-addon:not(.est-rempli) .wapo-addon-title.wapo-error {
	color: var(--aup-brique) !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon:not(.est-rempli) .wapo-addon-title.wapo-error::before {
	background-color: var(--aup-corail-pale);
	box-shadow: inset 0 0 0 2px var(--aup-corail);
}

body.adpt-design .yith-wapo-block .yith-wapo-addon:not(.est-rempli) .wapo-addon-title.wapo-error::after {
	content: "À compléter";
	padding: 3px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-corail-pale);
	color: var(--aup-corail-texte);
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

/* WAPO impose « width: 75% !important » en attribut style : min-width l'emporte quand il est plus grand. */
body.adpt-design .yith-wapo-block .yith-wapo-addon .options-container,
body.adpt-design .yith-wapo-block .yith-wapo-addon .options {
	min-width: 100%;
	max-width: none !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .option-image:empty {
	display: none;
}

/* Libellés des champs (WAPO les colore en rouge en attribut style) : 14 px, encre. */
body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option label,
body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option label span,
body.adpt-design .yith-wapo-block .yith-wapo-addon label.yith-wapo-label {
	color: var(--aup-encre) !important;
	font-size: 14px;
	font-weight: 700;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option label b {
	font-weight: 700;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option label .required {
	color: var(--aup-brique) !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon select,
body.adpt-design .yith-wapo-block .yith-wapo-addon input[type="text"],
body.adpt-design .yith-wapo-block .yith-wapo-addon input[type="number"],
body.adpt-design .yith-wapo-block .yith-wapo-addon textarea {
	width: 100% !important;
	min-width: 100%;
	max-width: none !important;
	min-height: 52px;
	padding: 12px 16px;
	border: 1.5px solid var(--aup-ligne-forte) !important;
	border-radius: 14px;
	background-color: var(--aup-blanc);
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 16px;
	font-weight: 600;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon input::placeholder {
	color: var(--aup-mousse);
	font-weight: 400;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon input:focus,
body.adpt-design .yith-wapo-block .yith-wapo-addon select:focus {
	border-color: var(--aup-encre) !important;
}

/* Marque et modèle, puis plaque : l'un sous l'autre (WAPO les met sur deux colonnes en attribut style). */
body.adpt-design .adpt-resa-carte .yith-wapo-block .yith-wapo-addon .options.per-row-2 {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 14px !important;
}

body.adpt-design .adpt-resa-carte .yith-wapo-block .yith-wapo-addon .options.per-row-2 .yith-wapo-option {
	width: auto !important;
	margin: 0 !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option .option-container label {
	display: block;
	margin: 0 0 6px;
}

/* Heures et passagers : sélecteur central en grand, boutons −/+ (adpt.js). */
body.adpt-design .yith-wapo-block .yith-wapo-addon .options.adpt-pas-a-pas {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .adpt-pas-a-pas select {
	flex: 1;
	min-width: 0 !important;
	width: auto !important;
	height: 48px;
	min-height: 48px;
	padding: 0 8px;
	border: 1.5px solid var(--aup-encre) !important;
	background-image: none;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
	text-align: center;
	text-align-last: center;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .adpt-pas-a-pas select.est-vide {
	border-color: var(--aup-ligne-forte) !important;
	background-color: var(--aup-brume);
	color: var(--aup-mousse);
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .adpt-pas-a-pas.est-passagers select {
	font-family: var(--aup-font-texte);
	font-size: 20px;
	letter-spacing: 0;
}

.adpt-pas {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: var(--aup-brume);
	color: var(--aup-encre);
	cursor: pointer;
}

.adpt-pas--plus {
	background: var(--aup-encre);
	color: var(--aup-lime);
}

.adpt-pas:hover {
	filter: brightness(.95);
}

.adpt-pas:disabled {
	opacity: .4;
	cursor: default;
}

.adpt-raccourcis {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.adpt-raccourci {
	flex: 1 1 0;
	min-width: 64px;
	min-height: 40px;
	padding: 4px 8px;
	border: 1px solid var(--aup-ligne);
	border-radius: 12px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
}

.adpt-raccourci span {
	color: var(--aup-mousse);
	font-weight: 600;
}

.adpt-raccourci[aria-pressed="true"] {
	border-color: var(--aup-encre);
	background: var(--aup-lime);
}

.adpt-raccourci[aria-pressed="true"] span {
	color: var(--aup-encre);
}

/* Plaque d'immatriculation : bandes bleues de la plaque française, majuscules. */
body.adpt-design .yith-wapo-option.adpt-plaque .input-text-container {
	position: relative;
	display: flex;
	align-items: stretch;
	height: 56px;
	overflow: hidden;
	border: 2px solid var(--aup-encre);
	border-radius: 12px;
	background: var(--aup-blanc);
}

body.adpt-design .yith-wapo-option.adpt-plaque .input-text-container::before,
body.adpt-design .yith-wapo-option.adpt-plaque .input-text-container::after {
	content: "";
	flex: none;
	width: 36px;
	background: var(--aup-bleu-plaque);
}

body.adpt-design .yith-wapo-option.adpt-plaque .input-text-container::before {
	content: "F";
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 5px;
	box-sizing: border-box;
	background: var(--aup-bleu-plaque) no-repeat center 7px / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='%23FFD500'%3E%3Ccircle cx='15' cy='9' r='.95'/%3E%3Ccircle cx='14.2' cy='12' r='.95'/%3E%3Ccircle cx='12' cy='14.2' r='.95'/%3E%3Ccircle cx='9' cy='15' r='.95'/%3E%3Ccircle cx='6' cy='14.2' r='.95'/%3E%3Ccircle cx='3.8' cy='12' r='.95'/%3E%3Ccircle cx='3' cy='9' r='.95'/%3E%3Ccircle cx='3.8' cy='6' r='.95'/%3E%3Ccircle cx='6' cy='3.8' r='.95'/%3E%3Ccircle cx='9' cy='3' r='.95'/%3E%3Ccircle cx='12' cy='3.8' r='.95'/%3E%3Ccircle cx='14.2' cy='6' r='.95'/%3E%3C/svg%3E");
	color: var(--aup-blanc);
	font-size: 13px;
	font-weight: 800;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option.adpt-plaque input[type="text"] {
	flex: 1;
	width: auto !important;
	min-width: 0 !important;
	height: 100%;
	min-height: 0;
	padding: 0 8px;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon .yith-wapo-option.adpt-plaque input[type="text"]::placeholder {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.adpt-design .yith-wapo-option.adpt-plaque .input-text-container:focus-within {
	box-shadow: 0 0 0 4px var(--aup-lime-pale);
}

/* Protection annulation (options radio) : cartes ; la carte choisie en lime pâle. */
body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .options {
	display: grid !important;
	gap: 10px !important;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option {
	margin: 0 !important;
	padding: 16px;
	border: 2px solid var(--aup-ligne);
	border-radius: 18px;
	background: var(--aup-blanc);
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option.selected {
	border-color: var(--aup-encre);
	background: var(--aup-lime-pale);
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option .label {
	margin: 0;
	padding: 0;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .option-container {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .radio-button-container {
	flex: none;
	margin: 2px 0 0;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio label.yith-wapo-label {
	display: flex;
	flex: 1;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 8px;
	margin: 0;
	padding: 0;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.35;
	cursor: pointer;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio label.yith-wapo-label i {
	font-style: normal;
	font-weight: 800;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio label.yith-wapo-label i.adpt-badge-recommande {
	margin-right: auto;
	padding: 2px 8px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-encre);
	color: var(--aup-lime);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio label.yith-wapo-label i.adpt-gratuit {
	margin-left: auto;
	color: var(--aup-sapin);
	text-transform: capitalize;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .option-price {
	margin-left: auto;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 800;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .option-price .brackets {
	display: none;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option p.description,
body.adpt-design #yith-wapo-container .yith-wapo-option p.description {
	margin: 6px 0 0 32px;
	color: var(--aup-mousse);
	font-size: 13px !important;
	font-weight: 400;
	line-height: 1.5;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option p.description hr {
	display: none;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon-type-radio .yith-wapo-option p.description:empty {
	display: none;
}

/* Message « Ce champs est requis » de WAPO : brique, et retiré dès que le champ est rempli. */
body.adpt-design .yith-wapo-block .required-error small,
body.adpt-design .yith-wapo-block .required-message {
	display: block;
	margin-top: 6px;
	color: var(--aup-brique);
	font-size: 13px;
	font-weight: 600;
}

body.adpt-design .yith-wapo-block .yith-wapo-option:has(input:not(:placeholder-shown)) .required-error {
	display: none;
}

/* « IMPORTANT : … » des options : encadré corail pâle. */
body.adpt-design .yith-wapo-block .yith-wapo-addon p.wapo-addon-description {
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--aup-corail-pale);
	color: var(--aup-corail-texte);
	font-size: 13px;
	line-height: 1.5;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon p.wapo-addon-description font[color] {
	color: inherit;
}

body.adpt-design .yith-wapo-block .yith-wapo-addon span.checkboxbutton::before {
	border: 1px solid var(--aup-mousse) !important;
}

/* Montants intermédiaires de WAPO masqués (règle reprise du CSS additionnel) ; « Total des options » gardé. */
.wapo-total-product-price,
.wapo-total-order,
.wapo-product-price {
	display: none;
}

body.adpt-design #wapo-total-price-table {
	margin: 14px 0 0;
}

body.adpt-design #wapo-total-price-table table {
	width: 100%;
	margin: 0;
	border: 0;
	font-size: 15px;
}

body.adpt-design #wapo-total-price-table th,
body.adpt-design #wapo-total-price-table td {
	padding: 0;
	border: 0;
	background: transparent;
	font-weight: 600;
}

body.adpt-design #wapo-total-price-table td {
	text-align: right;
}

.min-error {
	display: none !important;
}

/* Totaux YITH : encart brume, « À payer en ligne » et montant de 26 px. */
body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-totals {
	margin-top: 18px;
}

body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-totals .yith-wcbk-form-section__label {
	display: none !important;
}

body.adpt-design .yith-wcbk-booking-form-totals__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 16px 18px;
	border: 0;
	border-radius: 18px;
	background: var(--aup-brume);
	font-size: 15px;
}

body.adpt-design .yith-wcbk-booking-form-totals:empty {
	display: none;
}

body.adpt-design .yith-wcbk-booking-form-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left;
}

body.adpt-design .yith-wcbk-booking-form-total__label {
	font-size: 15px;
	font-weight: 400 !important;
}

body.adpt-design .yith-wcbk-booking-form-total__value {
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 600;
}

body.adpt-design .yith-wcbk-booking-form-total--total-price {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid var(--aup-ligne);
}

/* Le libellé YITH du total est vide (une espace) : « À payer en ligne », comme la maquette. */
body.adpt-design .yith-wcbk-booking-form-total--total-price .yith-wcbk-booking-form-total__label::before {
	content: "À payer en ligne";
	font-weight: 800;
}

body.adpt-design .yith-wcbk-booking-form-total--total-price .yith-wcbk-booking-form-total__value {
	font-family: var(--aup-font-titre);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

body.adpt-design .yith-wcbk-booking-form-total__value .woocommerce-price-suffix {
	font-family: var(--aup-font-texte);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
}

body.adpt-design .yith-wcbk-booking-form-totals__list_alert:not(:has(*:not(:empty))) {
	display: none;
}

/* Récapitulatif (adpt.js) : séjour, options, « À payer en ligne » ; remplace l'affichage YITH à une ligne. */
.adpt-resa-carte .adpt-resa-recap {
	order: 6;
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: 18px;
	background: var(--aup-brume);
	font-size: 15px;
}

.adpt-resa-carte .adpt-resa-recap[hidden],
.adpt-resa-recap__options[hidden] {
	display: none;
}

.adpt-resa-recap__ligne,
.adpt-resa-recap__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.adpt-resa-recap__ligne span:last-child {
	font-weight: 600;
}

.adpt-resa-recap__total {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid var(--aup-ligne);
	font-weight: 800;
}

.adpt-resa-recap__total strong {
	font-family: var(--aup-font-titre);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

body.adpt-design .adpt-recap-actif .yith-wcbk-form-section-totals,
body.adpt-design .adpt-recap-actif #wapo-total-price-table {
	display: none !important;
}

/* Bouton « Adopter ce parking » : lime, 58 px, cœur ; grisé tant que les dates manquent. */
body.adpt-design .yith-wcbk-add-to-cart-button,
body.adpt-design.single-product div.product form.cart .button {
	display: flex;
	width: 100%;
	min-height: 58px;
	margin-top: 14px;
	padding: 12px 18px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime) !important;
	color: var(--aup-encre) !important;
	font-family: var(--aup-font-texte);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: none;
}

body.adpt-design .yith-wcbk-add-to-cart-button::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* « Adopter ce parking · 47,00 € » : montant posé par adpt.js dans data-adpt-montant. */
body.adpt-design .yith-wcbk-add-to-cart-button[data-adpt-montant]:not(:disabled)::after {
	content: "·\00a0" attr(data-adpt-montant);
	margin-left: -3px;
	white-space: nowrap;
}

body.adpt-design .yith-wcbk-add-to-cart-button:hover {
	background: #B8E63A !important;
}

body.adpt-design .yith-wcbk-add-to-cart-button:disabled,
body.adpt-design .yith-wcbk-add-to-cart-button.disabled {
	background: var(--aup-ligne) !important;
	color: var(--aup-mousse) !important;
	opacity: 1;
	cursor: not-allowed;
}

/* Réassurance de la carte de réservation : liste discrète de 13 px. */
.adpt-resa-carte .adpt-reassurance {
	margin: 0;
	padding: 0 24px 24px;
}

.adpt-reassurance__titre {
	margin: 0 0 8px;
	color: var(--aup-encre);
	font-size: 13px;
	font-weight: 800;
}

.adpt-reassurance ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--aup-texte-courant);
	font-size: 13px;
}

.adpt-reassurance li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.adpt-reassurance li .adpt-icone {
	color: var(--aup-sapin);
}

body.adpt-design .adpt-resa-question {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 13px;
	text-align: center;
}

/* Fiche, tablette : une seule colonne, réservation sous la galerie. */
@media (max-width: 1024px) {
	body.adpt-design.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"entete"
			"galerie"
			"reservation"
			"details";
	}

	body.adpt-design.single-product div.product > .summary {
		position: static;
		max-width: 560px;
	}

	body.adpt-design.single-product div.product > .adpt-fiche-details {
		margin-top: 44px;
	}
}

/* Fiche, mobile : photo pleine largeur en tête, puis titre, réservation, détails. */
@media (max-width: 767px) {
	body.adpt-design.single-product .content-area {
		margin-top: 0;
		margin-bottom: 44px;
	}

	body.adpt-design.single-product div.product {
		grid-template-areas:
			"galerie"
			"entete"
			"reservation"
			"details";
	}

	.adpt-fiche-entete {
		gap: 0;
		margin: 0;
		padding: 16px 0 20px;
	}

	.adpt-fiche-entete .adpt-ariane {
		display: none;
	}

	.adpt-fiche-entete__texte {
		gap: 8px;
	}

	.adpt-fiche-entete__pastilles .adpt-pastille {
		padding: 5px 10px;
		font-size: 12px;
	}

	body.adpt-design .adpt-fiche-entete .adpt-fiche-entete__titre {
		font-size: 28px;
	}

	body.adpt-design .adpt-fiche-entete h2.adpt-fiche-entete__sous {
		font-size: 13px;
	}

	.adpt-fiche-entete__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
		font-size: 14px;
	}

	body.adpt-design .adpt-fiche-entete__meta .adpt-note {
		font-size: 14px;
	}

	body.adpt-design .adpt-fiche-coeur {
		position: absolute;
		top: 16px;
		right: calc(var(--aup-gouttiere) + 16px);
		z-index: 2;
		width: 44px;
		padding: 0;
		background: var(--aup-blanc);
		font-size: 0;
		box-shadow: var(--aup-ombre-douce);
	}

	body.adpt-design.single-product div.product {
		position: relative;
	}

	.adpt-galerie,
	.adpt-galerie--1,
	.adpt-galerie--2,
	.adpt-galerie--3 {
		display: block;
		margin: 0 calc(var(--aup-gouttiere) * -1);
		border-radius: 0;
	}

	body.adpt-design.single-product div.product > .adpt-galerie {
		margin-bottom: 0;
	}

	.adpt-galerie__item {
		display: none;
		height: 240px;
	}

	.adpt-galerie__item:first-child {
		display: block;
	}

	body.adpt-design .adpt-galerie__compteur {
		position: absolute;
		right: 12px;
		bottom: 12px;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 6px 11px;
		border-radius: var(--aup-rayon-pilule);
		background: rgba(14, 27, 20, .82);
		color: var(--aup-blanc);
		font-size: 13px;
		font-weight: 700;
		text-decoration: none;
	}

	body.adpt-design.single-product div.product > .summary {
		max-width: none;
		margin: 0 calc(12px - var(--aup-gouttiere));
	}

	.adpt-resa-carte {
		border-radius: 24px;
	}

	.adpt-resa-entete {
		padding: 18px 18px 14px;
	}

	body.adpt-design.single-product #adpt-reservation form.cart {
		padding: 0 18px 18px;
	}

	body.adpt-design .adpt-resa-carte .yith-wcbk-form-section-dates-wrapper,
	.adpt-resa-progression {
		margin: 0 -18px;
		padding-inline: 18px;
	}

	.adpt-resa-carte .adpt-reassurance {
		padding: 0 18px 18px;
	}

	.adpt-resa-entete__montant {
		font-size: 30px;
	}

	body.adpt-design.single-product div.product > .adpt-fiche-details {
		gap: 0;
		margin-top: 28px;
	}

	body.adpt-design .adpt-fiche-details > .adpt-section + .adpt-section {
		margin-top: 28px;
	}

	body.adpt-design .adpt-section__titre {
		font-size: 24px;
	}

	.adpt-points__grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.adpt-point {
		flex-direction: column;
		gap: 8px;
		padding: 12px;
		border-radius: 16px;
	}

	.adpt-point__icone {
		width: 36px;
		height: 36px;
	}

	.adpt-point__libelle {
		font-size: 11px;
		letter-spacing: .04em;
	}

	.adpt-point__valeur {
		font-size: 14px;
	}

	.adpt-rdv {
		padding: 20px;
		border-radius: 22px;
	}

	.adpt-rdv__icone {
		display: none;
	}

	body.adpt-design .adpt-rdv .adpt-bouton {
		width: 100%;
	}

	/* Frais et présentation : volets repliables. */
	body.adpt-design .adpt-fiche-details > .adpt-frais,
	body.adpt-design .adpt-fiche-details > .adpt-presentation {
		padding: 0;
		border-radius: 18px;
		background: var(--aup-brume);
	}

	.adpt-pliable > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 16px 18px;
		cursor: pointer;
	}

	.adpt-pliable > summary::after {
		content: "";
		flex: none;
		width: 32px;
		height: 32px;
		border-radius: var(--aup-rayon-pilule);
		background: var(--aup-blanc) center / 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1B14' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
		transition: transform .2s ease;
	}

	.adpt-pliable[open] > summary::after {
		background-color: var(--aup-lime);
		transform: rotate(180deg);
	}

	body.adpt-design .adpt-pliable > summary .adpt-section__titre {
		margin: 0;
		font-family: var(--aup-font-texte);
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 0;
		line-height: 1.35;
	}

	.adpt-pliable > :not(summary) {
		margin-inline: 18px;
	}

	.adpt-pliable[open] {
		padding-bottom: 18px;
	}

	body.adpt-design .adpt-frais__avertissement {
		margin-top: 0;
	}

	.adpt-frais__carte {
		background: var(--aup-blanc);
	}

	.adpt-avis {
		gap: 14px;
		padding: 18px;
		border-radius: 20px;
	}

	body.adpt-design .adpt-avis__chiffre {
		font-size: 42px;
	}
}

/* 9. Recherche (formulaires YITH), calendrier, fenêtres et barres ---------------------------------- */

/* Recherche : les heures se choisissent sur la fiche (règle reprise du CSS additionnel). */
.yith-wcbk-booking-field.yith-wcbk-booking-time.yith-wcbk-booking-end-time,
.yith-wcbk-booking-field.yith-wcbk-booking-time.yith-wcbk-booking-start-time {
	display: none !important;
}

/* Le style en ligne du formulaire YITH (fond, couleurs du bouton) est neutralisé. */
.adpt-formulaire .yith-wcbk-booking-search-form,
.adpt-formulaire form.yith-wcbk-booking-search-form,
body.adpt-design .yith-wcbk-booking-search-form {
	margin: 0;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--aup-encre) !important;
}

/* Formulaire empilé (fenêtre de recherche, aucun résultat). */
body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 10px;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row {
	position: relative;
	width: auto !important;
	margin: 0;
	padding: 0;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row--categories,
body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row--location,
body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row--search,
body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row--submit {
	grid-column: 1 / -1;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row__label {
	display: block;
	margin: 0 0 6px;
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__row__content {
	max-width: none;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-date-picker-wrapper,
body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-field:not(.select2-hidden-accessible),
body.adpt-design .yith-wcbk-booking-search-form select:not(.select2-hidden-accessible),
body.adpt-design .yith-wcbk-booking-search-form .select2-container {
	width: 100% !important;
	max-width: none;
}

body.adpt-design .yith-wcbk-booking-search-form input.yith-wcbk-date-picker--formatted,
body.adpt-design .yith-wcbk-booking-search-form select,
body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single {
	height: 52px;
	min-height: 52px;
	padding: 12px 40px 12px 16px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 14px !important;
	background-color: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 16px;
	font-weight: 600;
	box-shadow: none;
}

body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: var(--aup-encre);
	line-height: 26px;
}

body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single .select2-selection__placeholder {
	color: var(--aup-mousse);
}

/* Liste des destinations (select2 réglé par adpt.js) : ouverte sous la case et à sa largeur, recherche,
   groupes (aéroports, gares, entre deux aéroports), icône, offre et nombre d'offres. */
body.adpt-design .adpt-dest-menu .select2-dropdown {
	padding: 8px;
	border: 1px solid var(--aup-ligne);
	border-radius: 20px;
	background: var(--aup-blanc);
	box-shadow: 0 24px 48px -20px rgba(14, 27, 20, .45);
	overflow: hidden;
}

body.adpt-design .adpt-dest-menu .select2-search--dropdown {
	position: relative;
	padding: 0 0 6px;
}

body.adpt-design .adpt-dest-menu .select2-search--dropdown::before {
	content: "";
	position: absolute;
	top: 13px;
	left: 14px;
	width: 18px;
	height: 18px;
	background: var(--aup-mousse);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

body.adpt-design .adpt-dest-menu .select2-search--dropdown .select2-search__field {
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 14px 0 42px;
	border: 0;
	border-radius: 12px;
	background: var(--aup-brume);
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 16px;
	font-weight: 600;
	box-shadow: none;
	outline: none;
}

body.adpt-design .adpt-dest-menu .select2-search--dropdown .select2-search__field::placeholder {
	color: var(--aup-mousse);
	font-weight: 500;
}

body.adpt-design .adpt-dest-menu .select2-search--dropdown .select2-search__field:focus {
	box-shadow: inset 0 0 0 2px var(--aup-sapin);
}

body.adpt-design .adpt-dest-menu .select2-results > .select2-results__options {
	max-height: min(380px, 55vh);
	overflow-y: auto;
	overscroll-behavior: contain;
}

body.adpt-design .adpt-dest-menu .select2-results__group {
	padding: 12px 10px 6px;
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body.adpt-design .adpt-dest-menu .select2-results__option,
body.adpt-design .adpt-dest-menu .select2-results__option .select2-results__option {
	margin: 0;
	padding: 8px 10px;
	border-radius: 12px;
	color: var(--aup-encre);
	font-size: 15px;
	line-height: 1.3;
}

body.adpt-design .adpt-dest-menu .select2-results__option[role="group"] {
	padding: 0;
}

/* L'invite « Choisissez votre destination » reste dans le champ, pas dans la liste. */
body.adpt-design .adpt-dest-menu .select2-results__option[aria-disabled="true"] {
	display: none;
}

body.adpt-design .adpt-dest-menu .select2-results__option[aria-selected="true"] {
	background: var(--aup-brume);
}

body.adpt-design .adpt-dest-menu .select2-results__option--highlighted[aria-selected] {
	background: var(--aup-lime-pale);
	color: var(--aup-encre);
}

body.adpt-design .adpt-dest-menu .select2-results__message {
	padding: 14px 10px;
	color: var(--aup-mousse);
}

.adpt-dest {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.adpt-dest__icone {
	position: relative;
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--aup-brume);
}

.adpt-dest__icone::before {
	content: "";
	position: absolute;
	inset: 8px;
	background: var(--aup-sapin);
	-webkit-mask: var(--adpt-dest-icone) center / contain no-repeat;
	mask: var(--adpt-dest-icone) center / contain no-repeat;
}

.adpt-dest--avion {
	--adpt-dest-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E");
}

.adpt-dest--train {
	--adpt-dest-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='14' rx='3'/%3E%3Cpath d='M5 11h14M9 21l-2-4M15 21l2-4M9 14h.01M15 14h.01'/%3E%3C/svg%3E");
}

.adpt-dest--trajet {
	--adpt-dest-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3C/svg%3E");
}

.adpt-dest__nom {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 700;
}

.adpt-dest__offre {
	flex: none;
	padding: 3px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	color: var(--aup-foret);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

.adpt-dest__offre::first-letter {
	text-transform: uppercase;
}

.adpt-dest__offre--parking {
	background: var(--aup-lime-pale);
}

.adpt-dest__nombre {
	flex: none;
	min-width: 62px;
	color: var(--aup-mousse);
	font-size: 13px;
	text-align: right;
}

.select2-results__option--highlighted .adpt-dest__icone,
.select2-results__option--highlighted .adpt-dest__offre {
	background: var(--aup-blanc);
}

@media (max-width: 480px) {
	.adpt-dest__nombre {
		display: none;
	}
}

/* Carte de recherche étroite (dans un encadré de page, sur mobile) : le formulaire se règle sur sa propre
   largeur, dates l'une sous l'autre et destination lisible en entier. */
body.adpt-design .adpt-carte-recherche .adpt-formulaire {
	container-type: inline-size;
}

@container (max-width: 340px) {
	body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-search-form__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single {
		padding-right: 34px;
		padding-left: 14px;
	}

	body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single .select2-selection__rendered {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	body.adpt-design .adpt-rangee .adpt-carte-recherche {
		padding: 16px;
	}
}

body.adpt-design .yith-wcbk-booking-search-form .select2-container .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 10px;
	height: 100%;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-date-picker-wrapper {
	height: auto;
	min-height: 0;
}

/* Champ de date YITH invisible (il porte le calendrier) : calé sur la case visible, sans hauteur propre. */
body.adpt-design .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker:not(.yith-wcbk-date-picker--formatted) {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker--formatted {
	padding-left: 44px;
	padding-right: 12px;
}

body.adpt-design .yith-wcbk-booking-search-form .yith-wcbk-booking-date-icon {
	right: auto;
	left: 16px;
	color: var(--aup-sapin);
	opacity: 1;
}

body.adpt-design .yith-wcbk-booking-search-form button.yith-wcbk-booking-search-form-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	min-height: 54px;
	margin: 4px 0 0 !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: var(--aup-rayon-pilule) !important;
	background: var(--aup-lime) !important;
	color: var(--aup-encre) !important;
	font-family: var(--aup-font-texte);
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.adpt-design .yith-wcbk-booking-search-form button.yith-wcbk-booking-search-form-submit::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.adpt-design .yith-wcbk-booking-search-form button.yith-wcbk-booking-search-form-submit:hover {
	background: #B8E63A !important;
}

/* Barre de recherche du héros : destination │ dates │ bouton lime (maquette « Main »). */
.adpt-formulaire--barre {
	padding: 10px;
	border-radius: 24px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .6);
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__fields {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 64px;
	padding: 10px 16px 10px 50px;
	border-radius: 16px;
	background: var(--aup-brume) no-repeat 16px center / 22px;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--categories {
	flex: 1.3 1 260px;
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B3C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12s-8-7-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--categories::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 18px;
	height: 18px;
	background: var(--aup-mousse);
	transform: translateY(-50%);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

/* Les deux dates forment une seule case « Vos dates » : départ → retour, durée en pastille. */
body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--start-date {
	flex: .7 1 150px;
	border-radius: 16px 0 0 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B3C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date {
	flex: .6 1 150px;
	margin-left: -8px;
	padding-left: 34px;
	border-radius: 0 16px 16px 0;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date .yith-wcbk-booking-search-form__row__content {
	position: relative;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date .yith-wcbk-booking-search-form__row__content::before {
	content: "→";
	position: absolute;
	top: 50%;
	left: -26px;
	color: var(--aup-encre);
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	transform: translateY(-50%);
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date .yith-wcbk-booking-search-form__row__label {
	visibility: hidden;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row__label {
	margin: 0 0 2px;
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form input.yith-wcbk-date-picker--formatted,
body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form select,
body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form .select2-container .select2-selection--single,
body.adpt-design .adpt-formulaire--barre .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker--formatted {
	height: auto;
	min-height: 0;
	padding: 2px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--aup-encre);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
	box-shadow: none !important;
	cursor: pointer;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker--formatted::placeholder {
	color: var(--aup-mousse);
	font-weight: 500;
}

body.adpt-design .adpt-formulaire--barre .select2-container .select2-selection--single .select2-selection__rendered {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
}

body.adpt-design .adpt-formulaire--barre .select2-container .select2-selection--single .select2-selection__arrow,
body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-date-icon {
	display: none;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--submit {
	flex: 1 1 200px;
	padding: 0;
	background: none;
}

body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--submit .yith-wcbk-booking-search-form__row__content {
	height: 100%;
}

body.adpt-design .adpt-formulaire--barre button.yith-wcbk-booking-search-form-submit {
	height: 100%;
	min-height: 64px;
	margin: 0 !important;
	padding: 0 28px !important;
	border-radius: 16px !important;
	font-size: 17px !important;
}

.adpt-duree {
	position: absolute;
	top: 50%;
	right: 12px;
	padding: 4px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	transform: translateY(-50%);
	pointer-events: none;
}

/* Pilule des catégories : dates et bouton sur une ligne. */
body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__fields {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 6px;
}

body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__row--start-date,
body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__row--end-date {
	flex: 1 1 150px;
	min-width: 0;
}

body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__row__label {
	position: absolute;
	top: 6px;
	left: 42px;
	z-index: 2;
	margin: 0;
	color: var(--aup-mousse);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	pointer-events: none;
}

body.adpt-design .adpt-rappel--formulaire .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker--formatted {
	height: 48px;
	min-height: 48px;
	padding: 18px 10px 4px 42px;
	border: 0;
	border-radius: var(--aup-rayon-pilule) !important;
	background: var(--aup-brume);
	font-size: 15px;
	font-weight: 700;
}

body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-date-icon {
	left: 14px;
}

body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__row--submit {
	flex: none;
}

body.adpt-design .adpt-rappel--formulaire button.yith-wcbk-booking-search-form-submit {
	min-height: 48px;
	margin: 0 !important;
	padding: 0 20px !important;
	font-size: 15px !important;
}

/* Recherche, mobile. */
@media (max-width: 767px) {
	.adpt-formulaire--barre {
		padding: 8px;
		border-radius: 22px;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__fields {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 6px;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row {
		min-height: 62px;
		padding: 8px 14px 8px 46px;
		border-radius: 15px;
		background-position: 14px center;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--categories,
	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--submit {
		grid-column: 1 / -1;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--submit {
		min-height: 0;
		padding: 0;
		background: none;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--start-date {
		border-radius: 15px 0 0 15px;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date {
		margin-left: -6px;
		padding-left: 30px;
		border-radius: 0 15px 15px 0;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row--end-date .yith-wcbk-booking-search-form__row__content::before {
		left: -22px;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form__row__label {
		font-size: 11px;
		letter-spacing: .08em;
	}

	body.adpt-design .adpt-formulaire--barre .yith-wcbk-booking-search-form input.yith-wcbk-date-picker--formatted,
	body.adpt-design .adpt-formulaire--barre .yith-wcbk-date-picker-wrapper input.yith-wcbk-date-picker--formatted,
	body.adpt-design .adpt-formulaire--barre .select2-container .select2-selection--single .select2-selection__rendered {
		font-size: 16px;
		font-weight: 700;
	}

	body.adpt-design .adpt-formulaire--barre button.yith-wcbk-booking-search-form-submit {
		min-height: 56px;
		border-radius: 15px !important;
	}

	.adpt-duree {
		top: auto;
		right: 8px;
		bottom: 8px;
		padding: 2px 8px;
		font-size: 12px;
		transform: none;
	}

	body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__fields {
		flex-wrap: wrap;
	}

	body.adpt-design .adpt-rappel--formulaire .yith-wcbk-booking-search-form__row--submit {
		flex: 1 1 100%;
	}

	body.adpt-design .adpt-rappel--formulaire button.yith-wcbk-booking-search-form-submit {
		width: 100% !important;
	}
}

/* Calendrier jQuery UI (YITH) : arrondi 20 px, plage en lime. */
#ui-datepicker-div.yith-wcbk-datepicker.ui-widget-content,
.yith-wcbk-date-picker--inline .ui-widget.ui-widget-content {
	z-index: 9998 !important;
	padding: 18px;
	border: 0;
	border-radius: 22px;
	box-shadow: 0 0 0 1px var(--aup-ligne) inset, var(--aup-ombre-carte) !important;
	font-family: var(--aup-font-texte);
}

.yith-wcbk-datepicker.ui-datepicker .ui-datepicker-header,
.yith-wcbk-date-picker--inline .ui-datepicker .ui-datepicker-header {
	border: 0;
	background: transparent;
}

.yith-wcbk-datepicker.ui-datepicker .ui-datepicker-title,
.yith-wcbk-date-picker--inline .ui-datepicker .ui-datepicker-title {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.yith-wcbk-datepicker.ui-datepicker th,
.yith-wcbk-date-picker--inline .ui-datepicker th {
	color: var(--aup-mousse);
	font-size: 13px;
	font-weight: 700;
}

.yith-wcbk-datepicker.ui-datepicker td,
.yith-wcbk-date-picker--inline .ui-datepicker td {
	font-size: 16px !important;
}

.yith-wcbk-datepicker.ui-datepicker td a,
.yith-wcbk-datepicker.ui-datepicker td span {
	border-radius: 10px;
}

.yith-wcbk-datepicker.ui-datepicker td .ui-state-active,
.yith-wcbk-datepicker.ui-datepicker td.ui-datepicker-current-day a,
.yith-wcbk-datepicker.ui-datepicker td.yith-wcbk-datepicker--selected-start-date a,
.yith-wcbk-datepicker.ui-datepicker td.yith-wcbk-datepicker--selected-end-date a {
	background: var(--aup-encre) !important;
	color: var(--aup-lime) !important;
}

.yith-wcbk-datepicker.ui-datepicker td.yith-wcbk-datepicker--selected-date-range a {
	background: var(--aup-lime-pale) !important;
	color: var(--aup-encre) !important;
}

.yith-wcbk-datepicker.ui-datepicker td.ui-datepicker-today a {
	box-shadow: inset 0 0 0 1.5px var(--aup-sapin);
}

.ui-widget-header {
	font-size: 17px !important;
}

@media (min-width: 768px) {
	#ui-datepicker-div.yith-wcbk-datepicker.ui-widget-content {
		width: 360px;
	}
}

@media (max-width: 767px) {
	#ui-datepicker-div.yith-wcbk-datepicker.ui-widget-content,
	.yith-wcbk-date-picker--inline .ui-widget.ui-widget-content {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		width: 95% !important;
		max-width: 95% !important;
		margin: 0 !important;
		padding: 14px;
		transform: translate(-50%, -50%) !important;
		background: var(--aup-blanc);
	}
}

/* Chargement pendant la recherche (repris du CSS additionnel). */
.yith-wcbk-booking-search-form button.button--loading,
.button--loading {
	position: static !important;
	transform: none !important;
	contain: none !important;
	isolation: auto !important;
}

.yith-wcbk-booking-search-form button.button--loading::before,
.button--loading::before {
	content: "";
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(14, 27, 20, .55) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-mask: none !important;
	mask: none !important;
	z-index: 2147483647 !important;
	animation: adpt-apparition .3s ease-out forwards !important;
}

.yith-wcbk-booking-search-form button.button--loading::after,
.button--loading::after {
	content: "Recherche de place au meilleur tarif";
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	padding: 28px 36px 56px !important;
	border-radius: 22px !important;
	/* Points animés dans la carte même : peints avec elle, même si la page part aussitôt vers les résultats. */
	background: var(--aup-blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='20' viewBox='0 0 80 20'%3E%3Ccircle cx='16' cy='10' r='5' fill='%23FF6B4A'%3E%3Canimate attributeName='opacity' values='.3;1;.3' dur='1.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='40' cy='10' r='5' fill='%231E6B3C'%3E%3Canimate attributeName='opacity' values='.3;1;.3' dur='1.2s' begin='.2s' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='64' cy='10' r='5' fill='%230E1B14'%3E%3Canimate attributeName='opacity' values='.3;1;.3' dur='1.2s' begin='.4s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") no-repeat center bottom 22px / 80px 20px !important;
	box-shadow: var(--aup-ombre-flottant) !important;
	color: var(--aup-encre) !important;
	font-family: var(--aup-font-titre) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	transform: translate(-50%, -50%) !important;
	z-index: 2147483648 !important;
	animation: adpt-montee .4s ease-out .1s backwards !important;
}

@keyframes adpt-apparition {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes adpt-montee {
	from { opacity: 0; transform: translate(-50%, -40%); }
	to { opacity: 1; transform: translate(-50%, -50%); }
}

/* Fenêtres (recherche, annulation offerte, photos). */
.adpt-voile {
	position: fixed;
	inset: 0;
	z-index: 9980;
	background: rgba(14, 27, 20, .55);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
}

.adpt-voile.est-visible {
	opacity: 1;
	pointer-events: auto;
}

html.adpt-dialogue-ouvert,
html.adpt-dialogue-ouvert body {
	overflow: hidden;
}

dialog.adpt-dialogue {
	position: fixed;
	inset: 0;
	z-index: 9990;
	width: min(560px, calc(100% - 24px));
	max-height: calc(100% - 32px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	box-shadow: var(--aup-ombre-flottant);
	overflow: auto;
}

dialog.adpt-dialogue--large {
	width: min(1000px, calc(100% - 24px));
}

.adpt-dialogue__entete {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 22px 12px;
	background: var(--aup-blanc);
}

body.adpt-design .adpt-dialogue__titre {
	margin: 0;
	font-family: var(--aup-font-titre);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.adpt-dialogue__fermer {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	cursor: pointer;
}

.adpt-dialogue__fermer:hover {
	border-color: var(--aup-encre);
}

.adpt-dialogue__corps {
	padding: 0 22px 24px;
}

.adpt-dialogue__intro {
	margin: 0 0 16px;
	color: var(--aup-mousse);
}

.adpt-dialogue__accroche {
	margin: 0 0 8px;
	font-family: var(--aup-font-titre);
	font-size: 20px;
	font-weight: 800;
}

.adpt-galerie-complete {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 10px;
}

/* Maçonnerie (adpt.js) : rangées d'un pixel, chaque photo en couvre autant que sa hauteur plus l'écart ;
   le placement automatique la pose sous la colonne la plus courte. */
.adpt-galerie-complete.est-maconnee {
	grid-auto-rows: 1px;
	row-gap: 0;
	align-items: start;
	margin-bottom: -10px;
}

.adpt-galerie-complete__item {
	margin: 0;
}

body.adpt-design .adpt-galerie-complete__item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--aup-rayon-m);
}

/* Barres d'action : barre de recherche collante (catégories, ordinateur) et barre mobile. */
.adpt-barre-mobile {
	display: none;
}

.adpt-barre-recherche {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 990;
	padding: 12px 0;
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
	transform: translateY(110%);
	transition: transform .25s ease;
}

.adpt-barre-recherche.est-visible {
	transform: translateY(0);
}

.adpt-barre-recherche__contenu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.adpt-barre-recherche__texte {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 17px;
}

.adpt-barre-recherche__texte .adpt-icone,
.adpt-barre-recherche__texte strong {
	color: var(--aup-lime);
}

@media (max-width: 1024px) {
	.adpt-barre-recherche {
		display: none;
	}

	.adpt-barre-mobile {
		position: fixed;
		right: 12px;
		bottom: 12px;
		left: 12px;
		z-index: 990;
		display: grid;
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
		gap: 4px;
		padding: 6px;
		border-radius: 22px;
		background: var(--aup-encre);
		box-shadow: 0 12px 30px rgba(14, 27, 20, .3);
	}

	body.adpt-design {
		padding-bottom: var(--aup-barre-mobile);
	}

	.adpt-barre-mobile__action,
	body.adpt-design .adpt-barre-mobile__action {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		min-height: 52px;
		padding: 6px 0;
		border-radius: 16px;
		color: var(--aup-blanc);
		font-size: 12px;
		font-weight: 700;
		text-decoration: none;
	}

	body.adpt-design .adpt-barre-mobile__action.est-principale {
		background: var(--aup-lime);
		color: var(--aup-encre);
		font-weight: 800;
	}

	/* Fiche : barre blanche pleine largeur (maquette « MobileReservation ») : à payer en ligne, « Continuer ». */
	.adpt-barre-mobile--fiche {
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 12px 16px calc(14px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--aup-ligne);
		border-radius: 0;
		background: var(--aup-blanc);
		box-shadow: 0 -8px 24px rgba(14, 27, 20, .08);
	}

	.adpt-barre-mobile__prix {
		display: flex;
		flex-direction: column;
		color: var(--aup-encre);
		line-height: 1.1;
	}

	.adpt-barre-mobile__libelle {
		color: var(--aup-mousse);
		font-size: 12px;
		font-weight: 600;
	}

	.adpt-barre-mobile__montant {
		font-family: var(--aup-font-titre);
		font-size: 24px;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	body.adpt-design .adpt-barre-mobile--fiche .adpt-bouton {
		flex: 1;
		max-width: 230px;
		min-height: 56px;
		font-size: 17px;
		font-weight: 800;
	}

	body.adpt-design .scroll-up-wrap,
	body.adpt-design #kt-scroll-up {
		bottom: calc(var(--aup-barre-mobile) + 12px);
	}

	/* La barre fixe ne masque pas la fin du pied de page (liens légaux). */
	body.adpt-design:has(.adpt-barre-mobile) .adpt-pied__conteneur {
		padding-bottom: calc(32px + var(--aup-barre-mobile));
	}
}

/* 10. Pages de contenu -------------------------------------------------------------------------- */

/* Titre de page (Kadence) */
body.adpt-design .entry-hero-container-inner,
body.adpt-design .entry-hero .entry-header {
	background: transparent;
}

body.adpt-design .entry-header .entry-title,
body.adpt-design .page-title,
body.adpt-design .entry-title {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(32px, 4.2vw, 52px);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

/* Archives d'articles (Kadence) : bandeau de titre brume, articles en cartes de la maquette. */
body.adpt-design .post-archive-hero-section .entry-hero-container-inner {
	min-height: 0;
	padding: 44px 0 40px;
	border-bottom: 1px solid var(--aup-ligne);
	background: var(--aup-brume);
}

body.adpt-design .post-archive-hero-section .hero-section-overlay {
	display: none;
}

body.adpt-design .post-archive-title .kadence-breadcrumbs,
body.adpt-design .post-archive-title .seopress-breadcrumbs {
	margin-top: 10px;
	color: var(--aup-mousse);
	font-size: 14px;
}

body.adpt-design .post-archive-hero-section .entry-header,
body.adpt-design .post-archive-hero-section .archive-description,
body.adpt-design .post-archive-hero-section .archive-description p {
	color: var(--aup-mousse);
}

body.adpt-design .post-archive-hero-section .archive-description {
	max-width: 760px;
	margin-inline: auto;
	font-size: 16px;
}

body.adpt-design .post-archive-hero-section .entry-header .page-title {
	color: var(--aup-encre);
}

body.adpt-design .loop-entry .post-thumbnail.kadence-thumbnail-ratio-2-3 {
	padding-bottom: 56%;
}

body.adpt-design .content-wrap.grid-cols.post-archive {
	gap: 20px;
}

body.adpt-design article.loop-entry {
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--aup-ligne);
	border-radius: 22px;
	background: var(--aup-blanc);
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.adpt-design article.loop-entry:hover {
	border-color: var(--aup-encre);
	box-shadow: var(--aup-ombre-carte);
}

body.adpt-design .loop-entry .post-thumbnail {
	margin: 0;
	border-radius: 0;
}

body.adpt-design .loop-entry .entry-content-wrap {
	padding: 22px 24px 24px !important;
}

body.adpt-design .loop-entry .entry-taxonomies a {
	color: var(--aup-sapin);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
}

body.adpt-design .loop-entry .entry-header .entry-title {
	margin: 8px 0 6px;
	font-size: 21px;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

body.adpt-design .loop-entry .entry-title a {
	color: var(--aup-encre);
	text-decoration: none;
}

body.adpt-design .loop-entry .entry-meta {
	color: var(--aup-mousse);
	font-size: 13px;
}

body.adpt-design .loop-entry .entry-summary p {
	margin: 10px 0 0;
	color: var(--aup-mousse);
	font-size: 15px;
	line-height: 1.55;
}

body.adpt-design .loop-entry .entry-footer .post-more-link {
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
}

/* Articles : titre posé sur l'image à la une (bandeau Kadence) → texte clair sur voile encre. */
body.adpt-design .post-hero-section .hero-section-overlay {
	background: linear-gradient(180deg, rgba(14, 27, 20, .35), rgba(14, 27, 20, .7));
}

body.adpt-design .post-hero-section .entry-title,
body.adpt-design .post-hero-section .entry-header,
body.adpt-design .post-hero-section .entry-header a {
	color: var(--aup-blanc);
}

body.adpt-design .entry-content-wrap {
	padding: 0;
}

/* Style « encadré » de Kadence : sa marge négative sur mobile compensait une marge intérieure retirée ici. */
body.adpt-design .site-main > .entry,
body.adpt-design .site-main > article.entry {
	margin-left: 0;
	margin-right: 0;
	box-shadow: none;
}

/* Règles génériques des contenus en :where() : les composants du plugin (titres de section, cartes,
   bandeaux) gardent la main sans surenchère de spécificité. */
body.adpt-design :where(.entry-content) > * + * {
	margin-top: 18px;
}

body.adpt-design .entry-content > .adpt-accueil-section,
body.adpt-design .entry-content > .adpt-accueil-hero {
	margin-top: 0;
}

body.adpt-design :where(.entry-content) :where(h2) {
	font-size: clamp(26px, 3vw, 38px);
}

body.adpt-design :where(.entry-content) :where(h3) {
	font-size: clamp(20px, 2vw, 24px);
	letter-spacing: -0.02em;
}

/* Texte courant des pages ; les sections de l'accueil (composants de la maquette) gardent leurs couleurs héritées. */
body.adpt-design :where(.entry-content) :where(p, li):not(:where(.adpt-accueil-hero *, .adpt-accueil-section *)) {
	color: var(--aup-texte-courant);
	line-height: 1.7;
}

body.adpt-design :where(.adpt-accueil-hero, .adpt-accueil-section) :where(p, li) {
	line-height: 1.55;
}

body.adpt-design :where(.entry-content) :where(a:not(.wp-block-button__link):not(.adpt-bouton)) {
	color: var(--aup-sapin);
}

body.adpt-design :where(.entry-content .wp-block-image) :where(img) {
	border-radius: var(--aup-rayon-l);
}

body.adpt-design :where(.entry-content .wp-block-image) :where(figcaption) {
	color: var(--aup-mousse);
	font-size: 14px;
	text-align: center;
}

/* Pages et articles de texte : colonne de lecture centrée. */
body.adpt-design.page:not(.content-width-fullwidth):not(.woocommerce-page) .entry-content > :not(.adpt-rangee):not(.adpt-bloc):not(.alignwide):not(.alignfull),
body.adpt-design.single-post .entry-content > :not(.alignwide):not(.alignfull) {
	max-width: 860px;
	margin-inline: auto;
}

/* Sections converties depuis les rangées Kadence (autres pages que l'accueil). */
body.adpt-design .entry-content > .adpt-rangee,
body.adpt-design .entry-content > .adpt-bloc {
	position: relative;
	margin: 0 0 20px;
	padding: clamp(24px, 4vw, 44px);
	border: 0;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-brume);
}

body.adpt-design .adpt-rangee > *,
body.adpt-design .adpt-bloc > * {
	max-width: var(--aup-conteneur);
	margin-inline: auto !important;
}

body.adpt-design .adpt-rangee > * + *,
body.adpt-design .adpt-bloc > * + * {
	margin-top: 16px;
}

body.adpt-design .adpt-rangee:not(.adpt-rangee--hero) > p,
body.adpt-design .adpt-rangee:not(.adpt-rangee--hero) > ul:not(.adpt-destinations),
body.adpt-design .adpt-rangee:not(.adpt-rangee--hero) > ol {
	max-width: 820px;
	margin-left: max(0px, calc((100% - var(--aup-conteneur)) / 2)) !important;
	margin-right: auto !important;
}

/* Pages pleine largeur (application) : sections en bandeaux. */
body.adpt-design.content-width-fullwidth .entry-content > .adpt-rangee {
	margin: 0;
	padding: var(--aup-section-y) var(--aup-gouttiere);
	border-radius: 0;
	background: var(--aup-blanc);
}

body.adpt-design.content-width-fullwidth .entry-content > .adpt-rangee:nth-of-type(even):not(.adpt-rangee--sombre) {
	background: var(--aup-brume);
}

body.adpt-design .entry-content > .adpt-rangee--claire {
	background: var(--aup-brume);
}

body.adpt-design .entry-content > .adpt-rangee--hero {
	background: var(--aup-encre) !important;
	color: var(--aup-texte-sur-encre);
}

body.adpt-design .adpt-rangee--hero h1,
body.adpt-design .adpt-rangee--hero h2,
body.adpt-design .adpt-rangee--hero h3 {
	color: var(--aup-blanc);
}

body.adpt-design .adpt-rangee--hero h1 {
	margin: 0;
	font-size: clamp(36px, 5vw, 64px);
	letter-spacing: -0.04em;
	line-height: 1;
}

body.adpt-design .adpt-rangee--hero h1 + h2 {
	margin-top: 10px;
	color: var(--aup-texte-sur-encre);
	font-family: var(--aup-font-texte);
	font-size: clamp(18px, 2.2vw, 22px);
	font-weight: 600;
	letter-spacing: 0;
}

body.adpt-design .adpt-rangee--hero p,
body.adpt-design .adpt-rangee--hero li {
	color: var(--aup-texte-sur-encre);
}

body.adpt-design .adpt-rangee--hero a:not(.wp-block-button__link) {
	color: var(--aup-lime);
}

body.adpt-design .adpt-rangee--hero .adpt-carte-recherche {
	max-width: 860px;
	margin-top: 28px !important;
	color: var(--aup-encre);
	text-align: left;
}

body.adpt-design .adpt-rangee--hero .adpt-colonnes {
	margin-top: 40px !important;
}

/* Sections sombres */
body.adpt-design .entry-content > .adpt-rangee--sombre {
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
}

body.adpt-design .adpt-rangee--sombre h2,
body.adpt-design .adpt-rangee--sombre h3,
body.adpt-design .adpt-rangee--sombre h4 {
	color: var(--aup-blanc);
}

body.adpt-design .adpt-rangee--sombre > h2:first-child,
body.adpt-design .adpt-rangee--sombre > h3:first-child {
	color: var(--aup-lime);
}

body.adpt-design .adpt-rangee--sombre p,
body.adpt-design .adpt-rangee--sombre li {
	color: var(--aup-texte-sur-encre);
}

body.adpt-design .adpt-rangee--sombre a:not(.wp-block-button__link) {
	color: var(--aup-lime);
}

body.adpt-design .adpt-rangee--sombre .adpt-encart,
body.adpt-design .adpt-rangee--sombre details {
	color: var(--aup-encre);
}

body.adpt-design .adpt-rangee--sombre .adpt-encart p,
body.adpt-design .adpt-rangee--sombre .adpt-encart li,
body.adpt-design .adpt-rangee--sombre details p,
body.adpt-design .adpt-rangee--sombre details li {
	color: var(--aup-mousse);
}

body.adpt-design .adpt-rangee--sombre .adpt-encart h3,
body.adpt-design .adpt-rangee--sombre details h2,
body.adpt-design .adpt-rangee--sombre details h3 {
	color: var(--aup-encre);
}

body.adpt-design .adpt-rangee--sombre details a {
	color: var(--aup-sapin);
}

/* Colonnes, encarts et blocs */
body.adpt-design .entry-content .adpt-colonnes {
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	margin-bottom: 0;
}

body.adpt-design .entry-content .adpt-colonnes:has(.adpt-encart) {
	align-items: stretch;
}

body.adpt-design .entry-content .adpt-colonnes > .wp-block-column > * + * {
	margin-top: 14px;
}

body.adpt-design .entry-content .adpt-encart {
	height: 100%;
	box-sizing: border-box;
	padding: 24px 26px;
	border: 0;
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
}

body.adpt-design .entry-content .adpt-encart > * {
	margin: 0;
}

body.adpt-design .entry-content .adpt-encart > * + * {
	margin-top: 8px;
}

body.adpt-design .entry-content .adpt-encart h2,
body.adpt-design .entry-content .adpt-encart h3 {
	font-size: 21px;
	letter-spacing: -0.02em;
}

body.adpt-design .entry-content .adpt-encart .wp-block-buttons {
	margin-top: 14px;
}

body.adpt-design .entry-content > .adpt-bloc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	background: var(--aup-lime-pale);
}

body.adpt-design .entry-content > .adpt-bloc > * {
	margin: 0 !important;
	max-width: none;
}

body.adpt-design .entry-content .adpt-chapo {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(19px, 2vw, 22px);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.4;
}

body.adpt-design .adpt-rangee--sombre .adpt-chapo,
body.adpt-design .adpt-rangee--hero .adpt-chapo {
	color: var(--aup-blanc);
}

body.adpt-design .entry-content .adpt-texte {
	font-size: 17px;
}

/* Visibilité par appareil (anciens réglages Kadence) */
@media (min-width: 1025px) {
	.adpt-masque-ordinateur {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.adpt-masque-tablette {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.adpt-masque-mobile {
		display: none !important;
	}
}

body.adpt-design .entry-content ul.adpt-coches li {
	margin-bottom: 0;
}

/* Page « Avis » (10296) : contenu de l'éditeur inchangé, note et témoignages gravés (ADPT_Avis, à la place de
   WP Social Ninja), mise en page de la maquette. En-tête ; note et Trustpilot côte à côte ; témoignages en
   colonnes, à hauteur libre ; méthode de vérification en encadré. */
body.adpt-design.page-id-10296 .entry-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 1080px;
	margin-inline: auto;
}

body.adpt-design.page-id-10296 .entry-content > * {
	grid-column: 1 / -1;
	max-width: none !important;
	margin: 0 !important;
}

body.adpt-design.page-id-10296 .entry-content > p:empty {
	display: none;
}

body.adpt-design.page-id-10296 .entry-content > .adpt-encart:first-child {
	padding: 0 0 8px;
	background: none;
}

body.adpt-design.page-id-10296 .entry-content > .adpt-encart:first-child h2 {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: var(--aup-h2);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
}

body.adpt-design.page-id-10296 .entry-content > .adpt-encart:first-child p,
body.adpt-design.page-id-10296 .entry-content > .adpt-encart:first-child strong {
	color: var(--aup-mousse);
	font-size: 17px;
	font-weight: 500;
}

body.adpt-design.page-id-10296 .entry-content > .adpt-avis-note,
body.adpt-design.page-id-10296 .entry-content > .adpt-encart:has(img[src*="trustpilot"]) {
	grid-column: auto;
}

/* Note globale : grande carte lime, étoiles encre. */
.adpt-avis-note {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 12px;
	padding: 28px 30px;
	border-radius: var(--aup-rayon-l);
	background: var(--aup-lime);
	color: var(--aup-encre);
}

body.adpt-design .adpt-avis-note p {
	margin: 0;
}

body.adpt-design p.adpt-avis-note__titre {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--aup-foret);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.adpt-avis-note__sources {
	display: inline-flex;
	gap: 6px;
	padding: 6px 8px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	line-height: 0;
}

body.adpt-design p.adpt-avis-note__valeur {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(48px, 6vw, 64px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

.adpt-avis-note .adpt-etoiles svg {
	width: 22px;
	height: 22px;
}

.adpt-avis-note .adpt-etoiles__fond {
	color: rgba(14, 27, 20, .18);
}

.adpt-avis-note .adpt-etoiles__plein {
	color: var(--aup-encre);
}

body.adpt-design p.adpt-avis-note__detail {
	color: var(--aup-foret);
	font-size: 15px;
	font-weight: 600;
}

/* Trustpilot : carte blanche, lien en bouton. */
body.adpt-design.page-id-10296 .entry-content > .adpt-encart:has(img[src*="trustpilot"]) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	padding: 28px 30px;
	border: 1px solid var(--aup-ligne);
}

body.adpt-design.page-id-10296 .adpt-encart:has(img[src*="trustpilot"]) > * {
	margin: 0 !important;
	text-align: left;
}

body.adpt-design.page-id-10296 .adpt-encart:has(img[src*="trustpilot"]) img {
	width: auto;
	max-width: 150px;
	height: auto;
	border-radius: 0;
}

body.adpt-design.page-id-10296 .adpt-encart:has(img[src*="trustpilot"]) a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	margin-top: 4px;
	padding: 10px 22px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-encre);
	color: var(--aup-blanc);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

body.adpt-design.page-id-10296 .adpt-encart:has(img[src*="trustpilot"]) a:hover {
	background: var(--aup-foret);
}

/* Témoignages : titre de section, colonnes, cartes à hauteur libre. */
body.adpt-design.page-id-10296 .entry-content > p.has-text-align-center:not(:empty) {
	margin-top: 28px !important;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
	text-align: left;
}

.adpt-temoignages {
	columns: 3 280px;
	column-gap: 20px;
}

.adpt-temoignage {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px;
	padding: 22px 24px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
	break-inside: avoid;
}

/* Étoiles à leur largeur : remplissage au prorata de la note (4 sur 5 = 80 %). */
.adpt-temoignage .adpt-etoiles {
	align-self: flex-start;
}

body.adpt-design h3.adpt-temoignage__titre {
	margin: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-texte);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
}

body.adpt-design blockquote.adpt-temoignage__texte {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-style: normal;
	quotes: none;
}

body.adpt-design .adpt-temoignage__texte p {
	margin: 0;
	color: var(--aup-texte-courant);
	font-size: 15px;
	font-style: normal;
	line-height: 1.6;
}

body.adpt-design .adpt-temoignage__auteur {
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid var(--aup-ligne);
	color: var(--aup-sapin);
	font-size: 14px;
	font-weight: 700;
}

/* Vérification des avis : encadré avec bouclier. */
body.adpt-design.page-id-10296 .entry-content > .adpt-rangee {
	margin-top: 12px !important;
	padding: 28px 30px 28px 84px;
	background: var(--aup-lime-pale);
}

body.adpt-design.page-id-10296 .entry-content > .adpt-rangee::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 30px;
	width: 34px;
	height: 34px;
	background: var(--aup-sapin);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.adpt-design.page-id-10296 .entry-content > .adpt-rangee > p {
	max-width: none;
	margin-left: 0 !important;
	color: var(--aup-foret);
}

@media (max-width: 767px) {
	body.adpt-design.page-id-10296 .entry-content {
		grid-template-columns: minmax(0, 1fr);
	}

	body.adpt-design.page-id-10296 .entry-content > .adpt-avis-note,
	body.adpt-design.page-id-10296 .entry-content > .adpt-encart:has(img[src*="trustpilot"]) {
		grid-column: 1 / -1;
	}

	.adpt-avis-note,
	body.adpt-design.page-id-10296 .entry-content > .adpt-encart:has(img[src*="trustpilot"]) {
		padding: 22px;
	}

	.adpt-temoignage {
		padding: 20px;
	}

	body.adpt-design.page-id-10296 .entry-content > .adpt-rangee {
		padding: 76px 22px 24px;
	}

	body.adpt-design.page-id-10296 .entry-content > .adpt-rangee::before {
		top: 24px;
		left: 22px;
	}
}

/* Page FAQ (8209, « Aide » du menu) : recherche, thèmes en pastilles, sections, encart d'aide (ADPT_Aide). */
.adpt-faq {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.adpt-faq-outils {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

body.adpt-design p.adpt-faq-outils__chapo {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 18px;
	line-height: 1.55;
	text-align: center;
}

.adpt-faq-recherche {
	position: relative;
	display: flex;
	align-items: center;
}

.adpt-faq-recherche > .adpt-icone {
	position: absolute;
	left: 22px;
	color: var(--aup-mousse);
	pointer-events: none;
}

body.adpt-design .adpt-faq-recherche input[type="search"] {
	width: 100%;
	min-height: 60px;
	margin: 0;
	padding: 0 22px 0 56px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 17px;
	box-shadow: 0 12px 30px -20px rgba(14, 27, 20, .4);
}

body.adpt-design .adpt-faq-recherche input[type="search"]:focus {
	border-color: var(--aup-sapin);
	outline: none;
	box-shadow: 0 0 0 4px rgba(30, 107, 60, .15);
}

body.adpt-design .adpt-faq-themes ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design a.adpt-faq-themes__lien {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 6px 8px 6px 14px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: border-color .2s ease;
}

body.adpt-design a.adpt-faq-themes__lien:hover,
body.adpt-design a.adpt-faq-themes__lien:focus-visible {
	border-color: var(--aup-encre);
}

.adpt-faq-themes__lien .adpt-icone {
	color: var(--aup-sapin);
}

.adpt-faq-themes__nombre {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 8px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	color: var(--aup-foret);
	font-size: 13px;
	font-weight: 700;
}

.adpt-faq__themes {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.adpt-faq-theme {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.adpt-faq-theme__entete {
	display: flex;
	align-items: center;
	gap: 14px;
}

.adpt-faq-theme__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: var(--aup-lime);
	color: var(--aup-encre);
}

body.adpt-design .adpt-faq-theme__entete h2 {
	margin: 0;
	color: var(--aup-encre);
	font-size: clamp(22px, 2.4vw, 28px);
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.adpt-faq-theme[hidden],
.adpt-faq-theme details[hidden],
.adpt-faq-themes li[hidden],
.adpt-faq-vide[hidden] {
	display: none !important;
}

.adpt-faq-vide {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 28px 20px;
	border: 1.5px dashed var(--aup-ligne-forte);
	border-radius: 24px;
	text-align: center;
}

body.adpt-design .adpt-faq-vide p {
	margin: 0;
	color: var(--aup-mousse);
	font-size: 16px;
}

.adpt-faq-aide {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 22px;
	padding: 28px;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
}

.adpt-faq-aide__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-faq-aide__texte {
	flex: 1 1 300px;
	min-width: 0;
}

body.adpt-design .adpt-faq-aide p {
	margin: 0;
	color: var(--aup-texte-sur-encre);
	font-size: 15px;
	line-height: 1.55;
}

body.adpt-design p.adpt-faq-aide__titre {
	margin-bottom: 4px;
	color: var(--aup-blanc);
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.adpt-faq-aide__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Page Contacts (2652) : raccourcis, formulaire en carte et coordonnées à côté, engagements (ADPT_Aide). */
body.adpt-design.page .entry-content > .adpt-contact {
	max-width: 1080px !important;
}

.adpt-contact {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.adpt-contact__intro {
	max-width: 760px;
}

body.adpt-design .adpt-contact__intro p {
	margin: 0 0 10px;
	color: var(--aup-mousse);
	font-size: 17px;
	line-height: 1.6;
}

body.adpt-design .adpt-contact__intro p:last-child {
	margin-bottom: 0;
}

/* Listes sans le retrait des listes du thème (.single-content ul). */
body.adpt-design ul.adpt-contact__raccourcis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design a.adpt-contact__raccourci {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 18px 16px 18px 18px;
	border: 1px solid var(--aup-ligne);
	border-radius: 22px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

body.adpt-design a.adpt-contact__raccourci:hover,
body.adpt-design a.adpt-contact__raccourci:focus-visible {
	border-color: var(--aup-encre);
	box-shadow: 0 16px 30px -22px rgba(14, 27, 20, .5);
}

.adpt-contact__raccourci-icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 16px;
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
}

.adpt-contact__raccourci-texte {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.adpt-contact__raccourci-texte strong {
	font-size: 16px;
	line-height: 1.3;
}

.adpt-contact__raccourci-texte span {
	color: var(--aup-mousse);
	font-size: 14px;
	line-height: 1.45;
}

.adpt-contact__raccourci > .adpt-icone:last-child {
	color: var(--aup-mousse);
}

.adpt-contact__principal {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	align-items: start;
	gap: 24px;
}

.adpt-contact__formulaire {
	min-width: 0;
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-blanc);
}

body.adpt-design .adpt-contact__formulaire h2 {
	margin: 0 0 12px;
	font-size: clamp(26px, 3vw, 34px);
}

body.adpt-design .adpt-contact__formulaire > p {
	margin: 0 0 10px;
	color: var(--aup-mousse);
	font-size: 15px;
	line-height: 1.6;
}

.adpt-contact__formulaire .fluentform {
	margin-top: 20px;
	padding-top: 22px;
	border-top: 1px solid var(--aup-ligne);
}

body.adpt-design .adpt-contact__formulaire .ff-el-form-control {
	min-height: 48px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 12px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 16px;
}

body.adpt-design .adpt-contact__formulaire textarea.ff-el-form-control {
	min-height: 140px;
}

body.adpt-design .adpt-contact__formulaire .ff-el-form-control:focus {
	border-color: var(--aup-sapin);
	box-shadow: 0 0 0 3px rgba(30, 107, 60, .15);
}

body.adpt-design .adpt-contact__formulaire .ff-el-input--label label {
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
}

body.adpt-design .adpt-contact__formulaire .ff-btn-submit {
	min-height: 52px;
	padding: 0 32px;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime) !important;
	color: var(--aup-encre) !important;
	font-size: 16px;
	font-weight: 800;
}

.adpt-contact__coordonnees {
	position: sticky;
	top: 110px;
	padding: 26px;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
}

body.admin-bar .adpt-contact__coordonnees {
	top: 142px;
}

body.adpt-design .adpt-contact__coordonnees h2 {
	margin: 0 0 16px;
	color: var(--aup-blanc);
	font-size: 24px;
}

body.adpt-design .adpt-contact__coordonnees ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design .adpt-contact__coordonnees li {
	position: relative;
	margin: 0;
	padding: 12px 14px 12px 48px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .06);
	color: var(--aup-texte-sur-encre);
	font-size: 14px;
	line-height: 1.5;
	text-align: left !important;
}

body.adpt-design .adpt-contact__coordonnees li::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 16px;
	width: 18px;
	height: 18px;
	background: var(--aup-lime);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.adpt-design .adpt-contact__coordonnees li:has(a[href^="mailto:"])::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}

body.adpt-design .adpt-contact__coordonnees li strong {
	color: var(--aup-blanc);
	font-weight: 700;
}

/* Adresse sur sa propre ligne : jamais coupée en plein mot. */
body.adpt-design .adpt-contact__coordonnees a {
	display: block;
	margin-top: 2px;
	color: var(--aup-lime);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.adpt-contact__engagements {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.adpt-contact__engagement {
	padding: 24px;
	border-radius: var(--aup-rayon-l);
	background: var(--aup-brume);
}

body.adpt-design .adpt-contact__engagement h2 {
	margin: 0 0 10px;
	color: var(--aup-encre);
	font-size: 20px;
	letter-spacing: -0.015em;
	line-height: 1.25;
}

body.adpt-design .adpt-contact__engagement p {
	margin: 0 0 10px;
	color: var(--aup-texte-courant);
	font-size: 15px;
	line-height: 1.6;
}

body.adpt-design .adpt-contact__engagement p:last-child {
	margin-bottom: 0;
}

body.adpt-design .adpt-contact__renvoi p {
	margin: 0;
	color: var(--aup-mousse);
	text-align: center;
}

@media (max-width: 900px) {
	.adpt-contact__principal,
	body.adpt-design ul.adpt-contact__raccourcis,
	.adpt-contact__engagements {
		grid-template-columns: minmax(0, 1fr);
	}

	.adpt-contact__coordonnees {
		position: static;
	}
}

@media (max-width: 767px) {
	.adpt-faq {
		gap: 26px;
	}

	body.adpt-design p.adpt-faq-outils__chapo {
		font-size: 16px;
	}

	body.adpt-design .adpt-faq-recherche input[type="search"] {
		min-height: 54px;
		font-size: 16px;
	}

	/* Thèmes : une ligne qui défile au doigt. */
	.adpt-faq-themes {
		margin-inline: -16px;
	}

	body.adpt-design .adpt-faq-themes ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
		padding: 2px 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.adpt-faq-themes ul::-webkit-scrollbar {
		display: none;
	}

	.adpt-faq-themes li {
		flex: none;
	}

	.adpt-faq-theme__icone {
		width: 42px;
		height: 42px;
		border-radius: 14px;
	}

	.adpt-faq-aide {
		padding: 22px;
	}

	.adpt-faq-aide__actions,
	.adpt-faq-aide__actions .adpt-bouton {
		width: 100%;
	}

	.adpt-faq-aide__actions .adpt-bouton {
		justify-content: center;
	}

	.adpt-contact__coordonnees,
	.adpt-contact__engagement {
		padding: 22px;
	}

	body.adpt-design .adpt-contact__coordonnees li {
		padding: 12px 12px 12px 42px;
	}

	body.adpt-design .adpt-contact__coordonnees li::before {
		left: 14px;
	}

	body.adpt-design .adpt-contact__coordonnees a {
		font-size: 13px;
	}
}

/* 11. Pied de page (fond encre) et bandeaux qui le précèdent ------------------------------------- */

body.adpt-design #colophon.adpt-pied,
.adpt-pied {
	background: var(--aup-encre);
	color: var(--aup-texte-sur-encre);
	font-size: 14px;
	line-height: 1.6;
}

.adpt-pied__conteneur {
	display: flex;
	flex-direction: column;
	gap: 44px;
	padding-top: 72px;
	padding-bottom: 32px;
}

.adpt-pied__haut {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
}

.adpt-pied__marque {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 520px;
}

body.adpt-design .adpt-pied__logo {
	align-self: flex-start;
	text-decoration: none;
}

.adpt-pied__marque p {
	margin: 0;
	color: var(--aup-texte-sur-encre);
	font-size: 15px;
	line-height: 1.6;
}

.adpt-pied__marque strong {
	color: var(--aup-blanc);
	font-weight: 600;
}

body.adpt-design .adpt-pied__marque a {
	color: var(--aup-blanc);
}

.adpt-pied__appel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	font-size: 15px;
}

body.adpt-design .adpt-pied__appel .adpt-bouton {
	min-height: 48px;
}

/* Ancien titre de la colonne des villes, gardé au-dessus des colonnes de liens. */
body.adpt-design .adpt-pied__accroche {
	margin: 0 0 -20px;
	padding-top: 40px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: var(--aup-blanc);
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.adpt-pied__colonnes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 32px;
}

.adpt-pied__colonne {
	min-width: 0;
}

.adpt-pied__titre {
	display: block;
	margin: 0 0 14px;
	color: var(--aup-lime);
	font-size: 14px;
	font-weight: 700;
	list-style: none;
}

.adpt-pied__titre::-webkit-details-marker {
	display: none;
}

.adpt-pied__titre--second {
	margin-top: 22px;
}

.adpt-pied__colonne ul {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-pied__colonne li {
	margin: 0;
}

body.adpt-design .adpt-pied__colonne a {
	color: var(--aup-texte-sur-encre);
	text-decoration: none;
}

body.adpt-design .adpt-pied__colonne a:hover {
	color: var(--aup-lime);
	text-decoration: underline;
}

.adpt-pied__contacts dl {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.adpt-pied__contacts dt {
	color: var(--aup-blanc);
	font-weight: 600;
}

.adpt-pied__contacts dd {
	margin: 2px 0 0;
}

body.adpt-design .adpt-pied__contacts dd a {
	color: var(--aup-texte-sur-encre);
	text-decoration: underline;
}

.adpt-pied__reseaux {
	display: flex !important;
	flex-direction: row !important;
	gap: 8px !important;
	margin-top: 18px !important;
}

body.adpt-design .adpt-pied__reseaux a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--aup-rayon-pilule);
	background: rgba(255, 255, 255, .08);
	color: var(--aup-blanc);
}

body.adpt-design .adpt-pied__reseaux a:hover {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-pied__bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: var(--aup-texte-2-sur-encre);
	font-size: 13px;
	line-height: 1.6;
}

.adpt-pied__mentions {
	max-width: 720px;
}

.adpt-pied__mentions p {
	margin: 0 0 8px;
	color: var(--aup-texte-2-sur-encre);
}

.adpt-pied__mentions strong {
	font-weight: 600;
}

body.adpt-design .adpt-pied__mentions a,
body.adpt-design .adpt-pied__legal a {
	color: var(--aup-texte-sur-encre);
	text-decoration: underline;
}

body.adpt-design .adpt-pied__mentions a:hover,
body.adpt-design .adpt-pied__legal a:hover {
	color: var(--aup-lime);
}

.adpt-pied__legal {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 6px 18px;
}

/* Place pour la barre de recherche collante des catégories. */
body.adpt-design:has(.adpt-barre-recherche) .adpt-pied {
	padding-bottom: 72px;
}

/* Bandeau « Besoin d'un coup de main ? » (comparateurs et fiches). */
.adpt-bandeau-aide {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-bandeau-aide__contenu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 40px;
	padding-bottom: 40px;
}

.adpt-bandeau-aide__texte {
	display: flex;
	flex: 1 1 560px;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.adpt-bandeau-aide__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-bandeau-aide p {
	margin: 2px 0 0;
	color: var(--aup-texte-sur-encre);
	font-size: 15px;
}

body.adpt-design .adpt-bandeau-aide .adpt-bandeau-aide__titre {
	margin: 0;
	color: var(--aup-blanc);
	font-family: var(--aup-font-titre);
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

/* Bandeau des actualités (pages de contenu). */
.adpt-bandeau-actus {
	background: var(--aup-brume);
}

.adpt-bandeau-actus .adpt-conteneur {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding-top: 80px;
	padding-bottom: 80px;
}

body.adpt-design .adpt-bandeau-actus .adpt-titre-section {
	margin: 0;
}

/* Pied de page, mobile : colonnes repliables, liens conservés (indexation mobile). */
@media (max-width: 767px) {
	.adpt-pied__conteneur {
		gap: 24px;
		padding-top: 32px;
	}

	.adpt-pied__haut {
		align-items: flex-start;
		gap: 18px;
	}

	.adpt-pied__marque p {
		font-size: 14px;
	}

	.adpt-pied__colonnes {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	body.adpt-design .adpt-pied__accroche {
		margin: 0;
		padding-top: 24px;
		font-size: 19px;
	}

	.adpt-pied__colonne {
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}

	details.adpt-pied__colonne > summary.adpt-pied__titre {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
		margin: 0;
		cursor: pointer;
	}

	details.adpt-pied__colonne > summary.adpt-pied__titre::after {
		content: "";
		width: 18px;
		height: 18px;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
		transition: transform .2s ease;
	}

	details.adpt-pied__colonne[open] > summary.adpt-pied__titre::after {
		transform: rotate(180deg);
	}

	details.adpt-pied__colonne[open] {
		padding-bottom: 16px;
	}

	.adpt-pied__contacts {
		padding: 18px 0;
		border-bottom: 0;
	}

	.adpt-bandeau-aide__contenu {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.adpt-bandeau-aide__texte {
		align-items: flex-start;
	}

	body.adpt-design .adpt-bandeau-aide .adpt-bandeau-aide__titre {
		font-size: 20px;
	}

	body.adpt-design .adpt-bandeau-aide .adpt-bouton {
		width: 100%;
	}

	.adpt-bandeau-actus .adpt-conteneur {
		padding-top: 44px;
		padding-bottom: 44px;
	}
}

@media (min-width: 768px) {
	details.adpt-pied__colonne > summary {
		pointer-events: none;
	}
}

/* 12. Tunnel et règles reprises du CSS additionnel ----------------------------------------------- */

html,
body {
	max-width: 100%;
}

.yith_wcmv_sold_by_wrapper,
.store-email,
.store-telephone,
.cart-subtotal,
button[name="update_cart"],
.order-again,
th.booking-status,
td.booking-status {
	display: none !important;
}

.woocommerce table.cart td:nth-of-type(4),
.woocommerce table.cart th:nth-of-type(4),
.woocommerce table.cart td:nth-of-type(5),
.woocommerce table.cart th:nth-of-type(5),
.woocommerce-cart table.cart th.product-name,
.woocommerce-checkout table.cart th.product-name,
#add_payment_method table.cart th.product-name,
div.kadence-woo-cart-form-wrap > form > table > thead,
div.kadence-woo-cart-form-wrap > form > div {
	display: none;
}

.woocommerce mark.count {
	display: none;
}

body.adpt-design .woocommerce div.product p.price {
	display: none;
}

body.adpt-design .woocommerce table.shop_table {
	overflow: hidden;
	border: 1px solid var(--aup-ligne);
	border-radius: 20px;
	background: var(--aup-blanc);
}

body.adpt-design .woocommerce table.shop_table td,
body.adpt-design .woocommerce table.shop_table th {
	padding: 14px 16px;
	border-top: 1px solid var(--aup-ligne);
}

body.adpt-design tr.woocommerce-cart-form__cart-item.cart_item {
	background: var(--aup-blanc);
	font-weight: 600;
}

body.adpt-design .woocommerce td.product-name a {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -0.015em;
	text-decoration: none;
}

body.adpt-design .woocommerce td.product-name dl.variation,
body.adpt-design .woocommerce td.product-name .wc-item-meta {
	color: var(--aup-mousse);
	font-size: 14px;
	font-weight: 500;
}

body.adpt-design .woocommerce td.product-name dl.variation dd,
body.adpt-design .woocommerce td.product-name .wc-item-meta dd {
	margin: 10px;
}

body.adpt-design .woocommerce a.remove,
body.adpt-design .woocommerce a.remove::before {
	color: var(--aup-brique) !important;
	font-family: dashicons;
	font-size: 24px;
}

body.adpt-design .woocommerce a.remove:hover {
	background: transparent !important;
	color: #8f2c16 !important;
}

body.adpt-design .kadence-woo-cart-form-wrap .cart-collaterals {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.adpt-design .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	margin-top: 0;
	padding: 24px;
	border: 1px solid var(--aup-ligne);
	border-radius: 28px;
	background: var(--aup-blanc);
	box-shadow: var(--aup-ombre-carte);
}

body.adpt-design .woocommerce .cart-collaterals .cart_totals h2 {
	margin: 0 0 12px;
	font-size: 24px;
}

body.adpt-design .woocommerce .cart-collaterals .cart_totals table.shop_table {
	border: 0;
	box-shadow: none;
}

body.adpt-design .woocommerce-cart .cart-collaterals .cart_totals table th,
body.adpt-design .woocommerce-checkout .cart-collaterals .cart_totals table th {
	width: 10%;
	padding: 9px 5px;
	text-align: left;
}

body.adpt-design .woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button,
body.adpt-design .woocommerce a.checkout-button {
	width: 100%;
	min-height: 58px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-size: 17px;
	font-weight: 800;
}

body.adpt-design .adpt-reassurance--panier {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}

body.adpt-design .adpt-reassurance--panier .adpt-reassurance__banque {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 12px 16px;
	border-radius: var(--aup-rayon-m);
	background: var(--aup-lime-pale);
	color: var(--aup-foret);
	font-weight: 600;
}

body.adpt-design .adpt-reassurance--panier .adpt-icone {
	color: var(--aup-sapin);
}

body.adpt-design .woocommerce .woocommerce-error,
body.adpt-design .woocommerce-error {
	padding: 14px 18px !important;
	border: 0;
	border-left: 4px solid var(--aup-brique);
	border-radius: 14px;
	background: var(--aup-corail-pale);
	color: var(--aup-corail-texte);
}

body.adpt-design .woocommerce-message,
body.adpt-design .woocommerce-info {
	border: 0;
	border-left: 4px solid var(--aup-sapin);
	border-radius: 14px;
	background: var(--aup-brume);
	color: var(--aup-encre);
}

body.adpt-design .woocommerce-message::before,
body.adpt-design .woocommerce-info::before {
	color: var(--aup-sapin);
}

body.adpt-design div.woocommerce-account-fields {
	margin-bottom: 10px !important;
	padding: 14px !important;
	border: 1px solid var(--aup-ligne) !important;
	border-radius: 14px !important;
	background: var(--aup-brume) !important;
}

.woocommerce-checkout p.woocommerce-invalid-required-field span.error {
	display: block !important;
	color: var(--aup-brique);
	font-weight: 700;
}

body.adpt-design .woocommerce form .form-row label {
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
}

body.adpt-design .woocommerce form .form-row .required {
	color: var(--aup-brique);
}

body.adpt-design .woocommerce .woocommerce-checkout .shop_table {
	border: 2px solid var(--aup-encre);
	background: var(--aup-blanc) !important;
}

body.adpt-design .woocommerce-checkout #order_review_heading,
body.adpt-design .woocommerce-checkout h3 {
	font-size: 24px;
}

body.adpt-design .order-total {
	border-top: 2px solid var(--aup-encre) !important;
	border-bottom: 0 !important;
	background: var(--aup-lime-pale);
	font-size: 20px;
	text-align: center;
}

body.adpt-design .order-total .woocommerce-Price-amount {
	font-family: var(--aup-font-titre);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

body.adpt-design .woocommerce form .form-row label.checkbox,
body.adpt-design .woocommerce-page form .form-row label.checkbox {
	color: var(--aup-encre);
	font-size: 1em;
	font-weight: 500;
}

body.adpt-design .input-checkbox {
	transform: scale(1.4);
	accent-color: var(--aup-encre);
}

body.adpt-design .woocommerce #payment {
	border-radius: 20px;
	background: var(--aup-brume);
}

body.adpt-design .woocommerce #payment div.payment_box {
	border-radius: 14px;
	background: var(--aup-blanc);
}

body.adpt-design .woocommerce #payment div.payment_box::before {
	border-bottom-color: var(--aup-blanc);
}

body.adpt-design .woocommerce a.button.alt,
body.adpt-design .woocommerce button.button.alt,
body.adpt-design .woocommerce input.button.alt,
body.adpt-design .woocommerce #respond input#submit.alt,
body.adpt-design #place_order {
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-weight: 800;
}

body.adpt-design #place_order {
	width: 100%;
	min-height: 58px;
	font-size: 18px;
}

body.adpt-design .woocommerce-order-overview,
body.adpt-design .woocommerce-thankyou-order-details {
	padding: 18px;
	border-radius: 20px;
	background: var(--aup-brume);
	color: var(--aup-encre) !important;
	font-size: 100% !important;
	font-weight: 700;
	text-align: center !important;
}

body.adpt-design .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	padding: 22px;
	border-radius: 22px;
	background: var(--aup-lime);
	color: var(--aup-encre) !important;
	font-family: var(--aup-font-titre);
	font-size: 130% !important;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-align: center !important;
}

body.adpt-design .adpt-merci {
	margin: 0 0 18px;
	padding: 18px 20px;
	border-radius: 20px;
	background: var(--aup-lime-pale);
	color: var(--aup-foret);
	font-weight: 600;
}

body.adpt-design .adpt-merci p {
	margin: 0 0 6px;
}

body.adpt-design .woocommerce form.login,
body.adpt-design .woocommerce form.register,
body.adpt-design .woocommerce form.lost_reset_password,
body.adpt-design .woocommerce form.checkout_coupon,
body.adpt-design .woocommerce form.woocommerce-form-login {
	padding: 28px;
	border: 1px solid var(--aup-ligne);
	border-radius: 28px;
	background: var(--aup-blanc);
}

body.adpt-design .woocommerce-account .woocommerce h2 {
	font-size: 26px;
}

/* Page commande (ADPT_Commande, maquette « Commande ») -------------------------------------------------
   Tunnel : en-tête réduit au logo, aux étapes et à « Paiement sécurisé » ; fond brume, cartes blanches ;
   formulaire à gauche (titre, coordonnées, facturation, options, paiement), récapitulatif collant à droite.
   Jusqu'à 1 099 px (en-tête mobile) : une colonne, récapitulatif replié en tête. */
body.adpt-design.adpt-tunnel #masthead .site-header-main-section-right > .site-header-item,
body.adpt-design.adpt-tunnel #mobile-header .site-header-main-section-right > .site-header-item {
	display: none !important;
}

body.adpt-design.adpt-tunnel #masthead .site-header-main-section-right,
body.adpt-design.adpt-tunnel #mobile-header .site-header-main-section-right {
	align-items: center;
	gap: 40px;
}

.adpt-tunnel-etapes ol {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-tunnel-etapes li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--aup-mousse);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.adpt-tunnel-etapes li + li::before {
	content: "";
	width: 32px;
	height: 2px;
	margin-right: 2px;
	border-radius: 2px;
	background: var(--aup-ligne-forte);
}

.adpt-tunnel-etapes li.est-faite + li::before {
	background: var(--aup-lime);
}

.adpt-tunnel-etapes__puce {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 800;
}

.est-faite .adpt-tunnel-etapes__puce {
	border-color: var(--aup-lime);
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-tunnel-etapes li.est-courante {
	color: var(--aup-encre);
	font-weight: 700;
}

.est-courante .adpt-tunnel-etapes__puce {
	border-color: var(--aup-encre);
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

body.adpt-design p.adpt-tunnel-securise {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--aup-sapin);
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

body.adpt-design.adpt-tunnel .content-area {
	margin: 0;
	padding: 32px 0 64px;
	background: var(--aup-brume);
}

body.adpt-design.adpt-tunnel .entry-content > .wp-block-spacer,
body.adpt-design.adpt-tunnel .woocommerce-form-login-toggle,
body.adpt-design.adpt-tunnel .woocommerce-form-coupon-toggle {
	display: none !important;
}

body.adpt-design.adpt-tunnel .entry-content > .woocommerce {
	max-width: 1160px !important;
	margin-inline: auto;
}

body.adpt-design.adpt-tunnel form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-rows: auto auto auto auto 1fr;
	grid-template-areas:
		"avis     avis"
		"titre    recap"
		"clients  recap"
		"paiement recap"
		".        recap";
	column-gap: 32px;
	align-items: start;
}

body.adpt-design.adpt-tunnel form.checkout > .woocommerce-NoticeGroup {
	grid-area: avis;
	margin-bottom: 20px;
}

body.adpt-design.adpt-tunnel form.checkout > .adpt-commande-titre {
	grid-area: titre;
}

body.adpt-design.adpt-tunnel form.checkout > #customer_details {
	grid-area: clients;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.adpt-design.adpt-tunnel form.checkout > #payment {
	grid-area: paiement;
}

body.adpt-design.adpt-tunnel form.checkout > #order_review {
	grid-area: recap;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.adpt-design.adpt-tunnel form.checkout > #order_review_heading,
body.adpt-design.adpt-tunnel form.checkout > .adpt-recap-bascule,
body.adpt-design.adpt-tunnel form.checkout > .adpt-commande-progression {
	display: none;
}

body.adpt-design.adpt-tunnel #customer_details .col-1,
body.adpt-design.adpt-tunnel #customer_details .col-2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.adpt-design.adpt-tunnel #customer_details::before,
body.adpt-design.adpt-tunnel #customer_details::after {
	display: none;
}

@media (min-width: 1100px) and (min-height: 860px) {
	body.adpt-design.adpt-tunnel form.checkout > #order_review {
		position: sticky;
		top: 110px;
	}
}

/* Titre. */
.adpt-commande-titre {
	margin: 0 0 22px;
}

body.adpt-design p.adpt-commande-titre__etape {
	margin: 0 0 6px;
	color: var(--aup-sapin);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.adpt-design h1.adpt-commande-titre__h1 {
	margin: 0;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

body.adpt-design p.adpt-commande-titre__connexion {
	margin: 10px 0 0;
	color: var(--aup-mousse);
	font-size: 15px;
}

body.adpt-design .adpt-commande-titre__connexion a {
	color: var(--aup-encre);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Cartes et champs. */
.adpt-commande-carte,
body.adpt-design.adpt-tunnel .woocommerce #payment {
	margin: 0 0 20px;
	padding: clamp(20px, 2.6vw, 28px);
	border: 0;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-blanc);
}

body.adpt-design h2.adpt-commande-carte__titre {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--aup-encre);
	font-size: clamp(22px, 2.2vw, 26px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.adpt-commande-carte__numero {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--aup-encre);
	color: var(--aup-lime);
	font-family: var(--aup-font-texte);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
}

.adpt-commande-champs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-champs > .form-row,
body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-entreprise__champs > .form-row,
body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-note .form-row {
	grid-column: 1 / -1;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-champs--coordonnees > #billing_first_name_field {
	grid-column: 1;
}

body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-champs--coordonnees > #billing_last_name_field {
	grid-column: 2;
}

.adpt-commande-champs--adresse {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-champs--adresse > #billing_postcode_field,
body.adpt-design.adpt-tunnel .woocommerce .adpt-commande-champs--adresse > #billing_city_field {
	grid-column: auto;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row label {
	margin: 0 0 6px;
	line-height: 1.3;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row input.input-text,
body.adpt-design.adpt-tunnel .woocommerce form .form-row textarea,
body.adpt-design.adpt-tunnel .woocommerce form .form-row select,
body.adpt-design.adpt-tunnel .woocommerce form .form-row .select2-container .select2-selection--single {
	min-height: 52px;
	padding: 12px 16px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 14px;
	background-color: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row textarea {
	min-height: 110px;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
	padding: 0 16px;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row .select2-container .select2-selection__rendered {
	padding: 0;
	color: var(--aup-encre);
	line-height: 1.4;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row .select2-container .select2-selection__arrow {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row input.input-text:focus,
body.adpt-design.adpt-tunnel .woocommerce form .form-row textarea:focus,
body.adpt-design.adpt-tunnel .woocommerce form .form-row select:focus {
	border-color: var(--aup-sapin);
	outline: none;
	box-shadow: 0 0 0 3px rgba(30, 107, 60, .15);
}

/* Champ rempli et validé par WooCommerce : bordure sapin et coche lime (un champ facultatif vide est « validé »). */
body.adpt-design.adpt-tunnel .woocommerce form .form-row.woocommerce-validated.est-rempli input.input-text {
	padding-right: 48px;
	border-color: var(--aup-sapin);
	background: var(--aup-blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23C5F04A'/%3E%3Cpath d='m7.5 12.5 3 3 6-6.5' fill='none' stroke='%230E1B14' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center / 22px no-repeat;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.adpt-design.adpt-tunnel .woocommerce form .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--aup-brique);
}

/* Aides sous les champs, toujours visibles (WooCommerce les montre au focus, en infobulle). */
body.adpt-design.adpt-tunnel .woocommerce form .form-row .woocommerce-input-wrapper .description {
	display: block !important;
	position: static;
	margin: 6px 0 0;
	padding: 0;
	background: none;
	color: var(--aup-mousse);
	font-size: 13px;
	line-height: 1.4;
}

body.adpt-design.adpt-tunnel .woocommerce form .form-row .woocommerce-input-wrapper .description::before {
	display: none;
}

/* Cases en carte : entreprise, message, compte. */
body.adpt-design.adpt-tunnel .adpt-commande-option {
	display: flex !important;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 14px 16px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 16px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-weight: 500;
	cursor: pointer;
}

body.adpt-design.adpt-tunnel .adpt-commande-option:has(input:checked) {
	border-color: var(--aup-encre);
	background: var(--aup-lime-pale);
}

body.adpt-design.adpt-tunnel #payment label.checkbox input[type="checkbox"] {
	position: absolute;
	top: 1px;
	left: 0;
}

body.adpt-design.adpt-tunnel .adpt-commande-option input[type="checkbox"],
body.adpt-design.adpt-tunnel #payment input[type="checkbox"] {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	transform: none;
	accent-color: var(--aup-encre);
}

.adpt-commande-option__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
}

.adpt-commande-option__texte {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.adpt-commande-option__texte strong {
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.adpt-commande-option__texte span {
	color: var(--aup-mousse);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

.adpt-commande-entreprise {
	margin-top: 20px;
}

.adpt-commande-entreprise__champs {
	margin-top: 12px;
	padding: 16px;
	border-radius: 16px;
	background: var(--aup-brume);
}

.adpt-commande-entreprise__champs[hidden],
.adpt-commande-manquants[hidden],
.adpt-recap-promo__formulaire[hidden],
.adpt-recap-promo__message[hidden] {
	display: none !important;
}

/* Options : message replié, création de compte. */
.adpt-commande-carte--options:not(:has(*)) {
	display: none;
}

.adpt-commande-note > summary {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0 0 18px;
	list-style: none;
	cursor: pointer;
}

.adpt-commande-note > summary::-webkit-details-marker {
	display: none;
}

.adpt-commande-note__chevron {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-left: auto;
	border-radius: 50%;
	background: var(--aup-brume);
	color: var(--aup-encre);
	transition: transform .2s ease;
}

.adpt-commande-note[open] .adpt-commande-note__chevron {
	transform: rotate(180deg);
}

.adpt-commande-note .woocommerce-additional-fields__field-wrapper {
	padding-bottom: 18px;
}

body.adpt-design.adpt-tunnel .adpt-commande-note #order_comments_field > label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.adpt-design.adpt-tunnel .adpt-commande-carte--options div.woocommerce-account-fields {
	margin: 0 !important;
	padding: 18px 0 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--aup-ligne) !important;
	border-radius: 0 !important;
	background: none !important;
}

body.adpt-design.adpt-tunnel .adpt-commande-carte--options .adpt-commande-note:last-child > summary,
body.adpt-design.adpt-tunnel .adpt-commande-carte--options .adpt-commande-note:last-child[open] .woocommerce-additional-fields__field-wrapper {
	padding-bottom: 0;
}

body.adpt-design.adpt-tunnel .woocommerce .create-account .adpt-commande-option {
	padding: 0;
	border: 0;
	background: none;
}

body.adpt-design.adpt-tunnel .woocommerce p.create-account {
	margin: 0;
}

body.adpt-design.adpt-tunnel .woocommerce div.create-account {
	margin-top: 14px;
}

/* Paiement : moyen unique (Banque Populaire) remplacé par la mention sous le bouton ; CGV, bons plans, bouton. */
body.adpt-design.adpt-tunnel #payment ul.payment_methods:has(> li.payment_method_systempaystd:only-child) {
	display: none;
}

body.adpt-design.adpt-tunnel .woocommerce #payment .place-order {
	margin: 0;
	padding: 0;
}

/* Case à gauche, texte et astérisque à la suite (en flex, l'astérisque partait en bout de ligne). */
body.adpt-design.adpt-tunnel #payment .form-row label.checkbox {
	position: relative;
	display: block !important;
	margin: 0 0 14px;
	padding-left: 34px;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.45;
}

body.adpt-design.adpt-tunnel #payment .form-row label.checkbox a {
	color: var(--aup-encre);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.adpt-design.adpt-tunnel #payment .form-row,
body.adpt-design.adpt-tunnel #payment .woocommerce-terms-and-conditions-wrapper {
	margin: 0;
	padding: 0;
}

body.adpt-design.adpt-tunnel #payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 60px;
	margin: 6px 0 0;
	border-radius: var(--aup-rayon-pilule);
	font-size: 18px;
}

body.adpt-design.adpt-tunnel #payment #place_order::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.adpt-design p.adpt-commande-manquants {
	margin: 4px 0 10px;
	color: var(--aup-corail-texte);
	font-size: 14px;
	font-weight: 700;
}

body.adpt-design .adpt-commande-manquants button {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body.adpt-design p.adpt-commande-banque {
	margin: 14px 0 0;
	color: var(--aup-mousse);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

/* Récapitulatif. */
.adpt-recap {
	overflow: hidden;
	border-radius: var(--aup-rayon-xl);
	background: var(--aup-blanc);
}

.adpt-recap:has(+ .adpt-recap-promo) {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.adpt-recap__entete {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
}

.adpt-recap__match {
	position: relative;
	display: flex;
	flex: none;
	align-items: center;
}

.adpt-recap__match-voiture,
.adpt-recap__match-parking {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 13px;
}

.adpt-recap__match-voiture {
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-recap__match-parking {
	margin-left: -6px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
}

.adpt-recap__match-coeur {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid var(--aup-encre);
	border-radius: 50%;
	background: var(--aup-corail);
	color: var(--aup-blanc);
	transform: translate(-50%, -50%);
}

.adpt-recap__entete-texte {
	flex: 1;
	min-width: 0;
}

body.adpt-design .adpt-recap p.adpt-recap__surtitre {
	margin: 0;
	color: var(--aup-lime);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.adpt-design .adpt-recap p.adpt-recap__titre {
	display: -webkit-box;
	margin: 2px 0 0;
	overflow: hidden;
	color: var(--aup-blanc);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

body.adpt-design a.adpt-recap__modifier {
	flex: none;
	color: var(--aup-texte-sur-encre);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.adpt-design a.adpt-recap__modifier:hover {
	color: var(--aup-blanc);
}

.adpt-recap__corps {
	padding: 20px;
}

.adpt-recap__reservation + .adpt-recap__reservation {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--aup-ligne);
}

.adpt-recap__parking {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
}

body.adpt-design img.adpt-recap__photo {
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 14px;
	object-fit: cover;
}

body.adpt-design img.adpt-recap__photo.est-un-logo {
	padding: 4px;
	border: 1px solid var(--aup-ligne);
	background: var(--aup-blanc);
	object-fit: contain;
}

body.adpt-design .adpt-recap p.adpt-recap__nom {
	margin: 0 0 6px;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

/* Listes sans le retrait des listes du thème (.single-content ul, ol). */
body.adpt-design .adpt-recap ul.adpt-recap__etiquettes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.adpt-design .adpt-recap ol.adpt-recap__frise {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

body.adpt-design .adpt-recap .adpt-recap__frise > li {
	margin: 0;
}

body.adpt-design a.adpt-recap__modifier-mobile {
	display: none;
	margin: 0 0 6px;
	color: var(--aup-sapin);
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.adpt-recap__etape {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-left: 28px;
}

.adpt-recap__etape::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 16px;
	height: 16px;
	box-sizing: border-box;
	border: 3px solid var(--aup-encre);
	border-radius: 50%;
	background: var(--aup-lime);
}

.adpt-recap__etape--retour::before {
	background: var(--aup-blanc);
}

.adpt-recap__duree {
	position: relative;
	padding: 8px 0 8px 28px;
}

.adpt-recap__duree::before {
	content: "";
	position: absolute;
	top: -2px;
	bottom: -2px;
	left: 7px;
	border-left: 2px dotted var(--aup-ligne-forte);
}

.adpt-recap__duree span {
	display: inline-block;
	padding: 2px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime-pale);
	color: var(--aup-foret);
	font-size: 12px;
	font-weight: 700;
}

.adpt-recap__libelle,
.adpt-recap__tuile dt {
	color: var(--aup-mousse);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.4;
	text-transform: uppercase;
}

.adpt-recap__quand {
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.adpt-recap__tuiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 4px;
}

.adpt-recap__tuile {
	margin: 0;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--aup-brume);
}

.adpt-recap__tuile--large,
.adpt-recap__tuile--plaque {
	grid-column: 1 / -1;
}

.adpt-recap__tuile--plaque {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

body.adpt-design .adpt-recap__tuile dd {
	margin: 2px 0 0;
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

/* Plaque française : bande bleue « F », lettres en capitales. */
.adpt-recap__plaque {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 4px 12px 4px 24px;
	border: 2px solid var(--aup-encre);
	border-radius: 6px;
	background: linear-gradient(90deg, #1E4FBF 0 14px, var(--aup-blanc) 14px);
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.adpt-recap__plaque::before {
	content: "F";
	position: absolute;
	bottom: 2px;
	left: 4px;
	color: var(--aup-blanc);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0;
}

/* Montants : lignes en flex (les extensions y ajoutent les leurs), total dans un encadré lime. */
body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants,
body.adpt-design .adpt-recap table.adpt-recap__montants {
	display: block;
	width: 100%;
	margin: 16px 0 0;
	padding: 12px 0 0;
	overflow: visible;
	border: 0 !important;
	border-top: 1px solid var(--aup-ligne) !important;
	border-radius: 0;
	background: none !important;
}

.adpt-recap__montants tbody,
.adpt-recap__montants tfoot {
	display: block;
}

.adpt-recap__montants tr {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants th,
body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants td {
	display: block;
	padding: 5px 0;
	border: 0;
	background: none;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 500;
	text-align: left;
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants td {
	text-align: right;
	white-space: nowrap;
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants tr.adpt-recap__offerts th,
body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants tr.adpt-recap__offerts td {
	color: var(--aup-sapin);
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants tr.adpt-recap__offerts td {
	font-weight: 700;
}

body.adpt-design .adpt-recap__montants tr.cart-discount td a {
	margin-left: 6px;
	color: var(--aup-mousse);
	font-size: 13px;
}

body.adpt-design .adpt-recap tr.order-total {
	align-items: center;
	margin: 14px 0 0;
	padding: 16px 18px;
	border: 0 !important;
	border-radius: 18px;
	background: var(--aup-lime-pale);
	text-align: left;
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants tr.order-total th {
	padding: 0;
	font-size: 16px;
	font-weight: 800;
}

body.adpt-design .woocommerce .adpt-recap table.adpt-recap__montants tr.order-total td {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0;
	white-space: normal;
}

body.adpt-design .adpt-recap tr.order-total td strong .woocommerce-Price-amount,
body.adpt-design .adpt-recap tr.order-total td > .woocommerce-Price-amount {
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

body.adpt-design .adpt-recap tr.order-total td small.includes_tax {
	color: var(--aup-foret);
	font-size: 12px;
	font-weight: 500;
	text-align: right;
}

body.adpt-design .adpt-recap tr.order-total td small.includes_tax .woocommerce-Price-amount {
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
}

/* Code promo, sous le total, dans la même carte. */
.adpt-recap-promo {
	padding: 0 20px 18px;
	border-radius: 0 0 var(--aup-rayon-xl) var(--aup-rayon-xl);
	background: var(--aup-blanc);
}

body.adpt-design button.adpt-recap-promo__ouvrir {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--aup-sapin);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.adpt-recap-promo__formulaire {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

body.adpt-design.adpt-tunnel .adpt-recap-promo__formulaire input[type="text"] {
	flex: 1 1 140px;
	min-width: 0;
	min-height: 46px;
	padding: 10px 14px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 12px;
	font-size: 15px;
	text-transform: uppercase;
}

body.adpt-design .adpt-recap-promo__formulaire .adpt-bouton {
	min-height: 46px;
	padding: 0 18px;
}

body.adpt-design p.adpt-recap-promo__message {
	flex: 1 1 100%;
	margin: 0;
	color: var(--aup-brique);
	font-size: 13px;
	font-weight: 600;
}

body.adpt-design ul.adpt-recap-reassurance {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0 4px;
	list-style: none;
}

.adpt-recap-reassurance li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--aup-texte-courant);
	font-size: 14px;
}

.adpt-recap-reassurance .adpt-icone {
	margin-top: 3px;
	color: var(--aup-sapin);
}

body.adpt-design .adpt-recap-reassurance a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.adpt-design p.adpt-recap-contact {
	margin: 14px 0 0;
	padding: 0 4px;
	color: var(--aup-mousse);
	font-size: 13px;
}

body.adpt-design .adpt-recap-contact a {
	color: var(--aup-encre);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Téléphone et tablette : une colonne, étape sous l'en-tête, récapitulatif replié en tête. */
.adpt-commande-progression p {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 8px;
	color: var(--aup-mousse);
	font-size: 14px;
}

.adpt-commande-progression strong {
	color: var(--aup-encre);
}

.adpt-commande-progression__barre {
	display: block;
	height: 6px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-ligne);
}

.adpt-commande-progression__barre span {
	display: block;
	width: 75%;
	height: 100%;
	border-radius: inherit;
	background: var(--aup-lime);
}

body.adpt-design button.adpt-recap-bascule {
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0 0 12px;
	padding: 14px 16px;
	border: 0;
	border-radius: 20px;
	background: var(--aup-encre);
	color: var(--aup-blanc);
	text-align: left;
	cursor: pointer;
}

.adpt-recap-bascule__icone {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 13px;
	background: var(--aup-lime);
	color: var(--aup-encre);
}

.adpt-recap-bascule__texte {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.adpt-recap-bascule__surtitre {
	color: var(--aup-lime);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.adpt-recap-bascule__detail {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.adpt-recap-bascule__total {
	flex: none;
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.adpt-recap-bascule > .adpt-icone--chevron {
	flex: none;
	transition: transform .2s ease;
}

.adpt-recap-bascule[aria-expanded="true"] > .adpt-icone--chevron {
	transform: rotate(180deg);
}

@media (max-width: 1099px) {
	body.adpt-design.adpt-tunnel .content-area {
		padding: 16px 0 40px;
	}

	body.adpt-design.adpt-tunnel form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		grid-template-areas:
			"avis"
			"progression"
			"bascule"
			"recap"
			"titre"
			"clients"
			"paiement";
	}

	body.adpt-design.adpt-tunnel form.checkout > .adpt-commande-progression {
		display: block;
		grid-area: progression;
		margin: 0 0 14px;
	}

	body.adpt-design.adpt-tunnel form.checkout > .adpt-recap-bascule {
		display: flex;
		grid-area: bascule;
	}

	body.adpt-design.adpt-tunnel form.checkout > #order_review {
		margin: 0 0 20px;
	}

	body.adpt-design.adpt-tunnel form.checkout > #order_review:not(.est-ouvert) {
		display: none;
	}

	body.adpt-design p.adpt-commande-titre__etape,
	.adpt-recap__entete {
		display: none;
	}

	body.adpt-design a.adpt-recap__modifier-mobile {
		display: inline-block;
	}

	.adpt-recap,
	.adpt-recap:has(+ .adpt-recap-promo) {
		border-top-left-radius: var(--aup-rayon-xl);
		border-top-right-radius: var(--aup-rayon-xl);
	}
}

@media (max-width: 767px) {
	.adpt-commande-carte,
	body.adpt-design.adpt-tunnel .woocommerce #payment {
		padding: 20px 18px;
		border-radius: 22px;
	}

	.adpt-commande-champs {
		gap: 16px 12px;
	}

	.adpt-recap__corps {
		padding: 18px;
	}

	body.adpt-design.adpt-tunnel #payment #place_order {
		padding: 0 14px;
		font-size: 16px;
	}

	body.adpt-design .adpt-recap tr.order-total td strong .woocommerce-Price-amount,
	body.adpt-design .adpt-recap tr.order-total td > .woocommerce-Price-amount {
		font-size: 26px;
	}
}

/* Espace client (ADPT_Compte) : menu à gauche (identité, icônes), contenu en cartes ; au téléphone, menu en
   pastilles qui défilent. */
body.adpt-design.woocommerce-account .entry-content > .woocommerce:has(> .account-navigation-wrap) {
	display: grid;
	grid-template-columns: minmax(240px, 290px) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

body.adpt-design.woocommerce-account .account-navigation-wrap {
	position: sticky;
	top: 96px;
	grid-row: 1;
	grid-column: 1;
	order: 0;
	float: none;
	width: auto;
	margin: 0;
}

body.adpt-design.woocommerce-account .woocommerce-MyAccount-content {
	grid-row: 1;
	grid-column: 2;
	order: 0;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	color: var(--aup-texte-courant);
}

body.adpt-design .adpt-compte-menu {
	padding: 12px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
}

.adpt-compte-menu__profil {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 8px;
	padding: 6px 6px 14px;
	border-bottom: 1px solid var(--aup-ligne);
}

.adpt-compte-menu__initiales {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--aup-lime);
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 16px;
	font-weight: 800;
}

.adpt-compte-menu__identite {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.3;
}

.adpt-compte-menu__identite strong {
	color: var(--aup-encre);
	font-size: 16px;
}

.adpt-compte-menu__identite span {
	color: var(--aup-mousse);
	font-size: 13px;
	overflow-wrap: anywhere;
}

body.adpt-design .adpt-compte-menu ul {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	list-style: none;
}

body.adpt-design .adpt-compte-menu li {
	margin: 0;
}

body.adpt-design .adpt-compte-menu li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 14px;
	background: none;
	color: var(--aup-encre);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.adpt-design .adpt-compte-menu li a svg {
	flex: none;
	color: var(--aup-sapin);
}

body.adpt-design .adpt-compte-menu li a:hover {
	background: var(--aup-brume);
}

body.adpt-design .adpt-compte-menu li.is-active a {
	border-left: 0;
	background: var(--aup-lime-pale);
	font-weight: 700;
	box-shadow: none;
}

body.adpt-design .adpt-compte-menu li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--aup-ligne);
}

body.adpt-design .adpt-compte-menu li.woocommerce-MyAccount-navigation-link--customer-logout a,
body.adpt-design .adpt-compte-menu li.woocommerce-MyAccount-navigation-link--customer-logout a svg {
	color: var(--aup-brique);
}

/* Contenu : titres, cartes, note, formulaires. */
body.adpt-design .woocommerce-MyAccount-content h2,
body.adpt-design .woocommerce-MyAccount-content h3 {
	margin: 0 0 14px;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.adpt-compte-bloc {
	margin: 0 0 20px;
	padding: 20px 22px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
}

body.adpt-design .adpt-compte-bloc__titre {
	margin: 0 0 12px;
	font-size: 18px;
}

.adpt-compte-bloc__suite {
	margin: 12px 0 0;
	font-weight: 700;
}

.adpt-compte-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: var(--aup-rayon-m);
	background: var(--aup-lime-pale);
	color: var(--aup-foret);
	font-weight: 600;
}

.adpt-compte-note svg {
	flex: none;
	margin-top: 2px;
}

body.adpt-design .adpt-compte-formulaire .ff-el-form-control {
	min-height: 48px;
	border: 1.5px solid var(--aup-ligne-forte);
	border-radius: 12px;
	background: var(--aup-blanc);
	color: var(--aup-encre);
	font-size: 16px;
}

body.adpt-design .adpt-compte-formulaire textarea.ff-el-form-control {
	min-height: 120px;
}

body.adpt-design .adpt-compte-formulaire .ff-el-form-control:focus {
	border-color: var(--aup-sapin);
	box-shadow: 0 0 0 3px rgba(30, 107, 60, .15);
}

body.adpt-design .adpt-compte-formulaire .ff-el-input--label label {
	color: var(--aup-encre);
	font-size: 14px;
	font-weight: 700;
}

body.adpt-design .adpt-compte-formulaire .ff-btn-submit {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-lime) !important;
	color: var(--aup-encre) !important;
	font-size: 16px;
	font-weight: 800;
}

/* Tableau de bord. */
.adpt-compte-accueil__bonjour {
	margin: 0 0 6px;
	color: var(--aup-encre);
	font-family: var(--aup-font-titre);
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.adpt-compte-accueil__intro {
	margin: 0 0 24px;
	color: var(--aup-mousse);
}


.adpt-compte-commande + .adpt-compte-commande {
	border-top: 1px solid var(--aup-ligne);
}

body.adpt-design .adpt-compte-commande a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 16px;
	margin: 0 -10px;
	padding: 12px 10px;
	border-radius: 12px;
	color: var(--aup-encre);
	text-decoration: none;
}

body.adpt-design .adpt-compte-commande a:hover {
	background: var(--aup-brume);
}

.adpt-compte-commande__numero {
	font-weight: 700;
}

.adpt-compte-commande__date {
	color: var(--aup-mousse);
	font-size: 14px;
}

.adpt-compte-commande__total {
	font-weight: 800;
	text-align: right;
}

/* Statuts de commande (dernières commandes et tableau des commandes). */
.adpt-compte-commande__statut,
body.adpt-design .woocommerce-orders-table__cell-order-status {
	font-size: 13px;
	font-weight: 700;
}

.adpt-compte-commande__statut {
	padding: 3px 10px;
	border-radius: var(--aup-rayon-pilule);
	background: var(--aup-brume);
	color: var(--aup-foret);
	white-space: nowrap;
}

.adpt-statut--completed,
.adpt-statut--processing {
	background: var(--aup-lime-pale);
}

.adpt-statut--on-hold,
.adpt-statut--pending {
	background: var(--aup-corail-pale);
	color: var(--aup-corail-texte);
}

.adpt-statut--cancelled,
.adpt-statut--refunded,
.adpt-statut--failed {
	color: var(--aup-mousse);
}

body.adpt-design .adpt-compte-raccourcis,
body.adpt-design .adpt-compte-commandes__liste {
	margin: 0;
	padding: 0;
	list-style: none;
}

.adpt-compte-raccourcis {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

body.adpt-design .adpt-compte-raccourci {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 16px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-m);
	background: var(--aup-blanc);
	color: var(--aup-encre);
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}

body.adpt-design .adpt-compte-raccourci:hover {
	border-color: var(--aup-sapin);
	background: var(--aup-brume);
}

.adpt-compte-raccourci__icone {
	display: grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--aup-lime-pale);
	color: var(--aup-sapin);
}

.adpt-compte-raccourci__texte {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.adpt-compte-raccourci__texte span {
	color: var(--aup-mousse);
	font-size: 14px;
	line-height: 1.4;
}

.adpt-compte-raccourci > svg {
	flex: none;
	color: var(--aup-mousse);
}

/* Commandes, adresses et formulaires de WooCommerce. */
body.adpt-design .woocommerce-MyAccount-content .woocommerce-orders-table,
body.adpt-design .woocommerce-MyAccount-content .woocommerce-table--order-details {
	overflow: hidden;
	border: 1px solid var(--aup-ligne);
	border-collapse: separate;
	border-radius: var(--aup-rayon-m);
	background: var(--aup-blanc);
}

body.adpt-design .woocommerce-MyAccount-content .woocommerce-orders-table th {
	background: var(--aup-brume);
	color: var(--aup-mousse);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body.adpt-design .woocommerce-MyAccount-content .woocommerce-orders-table .button {
	min-height: 38px;
	margin: 2px 4px 2px 0;
	padding: 0 16px;
	font-size: 14px;
}

body.adpt-design .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
body.adpt-design .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
body.adpt-design .woocommerce-MyAccount-content form .woocommerce-address-fields {
	padding: 20px 22px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-l);
	background: var(--aup-blanc);
}

body.adpt-design .woocommerce-MyAccount-content fieldset {
	margin: 20px 0;
	padding: 16px;
	border: 1px solid var(--aup-ligne);
	border-radius: var(--aup-rayon-m);
}

@media (max-width: 899px) {
	body.adpt-design.woocommerce-account .entry-content > .woocommerce:has(> .account-navigation-wrap) {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	body.adpt-design.woocommerce-account .account-navigation-wrap {
		position: static;
	}

	body.adpt-design.woocommerce-account .woocommerce-MyAccount-content {
		grid-row: 2;
		grid-column: 1;
	}

	body.adpt-design .adpt-compte-menu {
		padding: 10px;
	}

	body.adpt-design .adpt-compte-menu ul {
		display: flex;
		gap: 8px;
		margin: 0 -10px;
		padding: 0 10px 2px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	body.adpt-design .adpt-compte-menu li a {
		padding: 8px 14px;
		border: 1px solid var(--aup-ligne);
		border-radius: var(--aup-rayon-pilule);
		font-size: 14px;
		white-space: nowrap;
	}

	body.adpt-design .adpt-compte-menu li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0;
		padding: 0;
		border: 0;
	}

	.adpt-compte-raccourcis {
		grid-template-columns: minmax(0, 1fr);
	}

	body.adpt-design .adpt-compte-commande a {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4px 12px;
	}

	.adpt-compte-commande__date {
		grid-row: 2;
	}

	.adpt-compte-commande__total {
		grid-row: 2;
		grid-column: 2;
	}
}

@media (max-width: 768px) {
	.woocommerce table.cart td.actions .coupon input,
	.woocommerce table.cart td.actions .coupon .button,
	.woocommerce-page table.cart td.actions .coupon input,
	.woocommerce-page table.cart td.actions .coupon .button {
		width: 100%;
		text-align: center;
	}

	.woocommerce table.cart td.actions .coupon,
	.woocommerce-page table.cart td.actions .coupon {
		padding-bottom: 2em;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last,
	.woocommerce-page form .form-row-first,
	.woocommerce-page form .form-row-last {
		width: 100%;
	}

	.coupon-form {
		padding: 0;
		font-size: 14px;
		line-height: 14px;
	}

	.yith-wapo-block .yith-wapo-addon .options.grid.per-row-3 .yith-wapo-option,
	.yith-wapo-block .yith-wapo-addon .options.grid.per-row-2 .yith-wapo-option {
		width: 100% !important;
		margin-right: 0 !important;
	}

	body.adpt-design .yith-wapo-block .yith-wapo-addon .options.per-row-2 {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Mouvements réduits : transitions et animations coupées. */
@media (prefers-reduced-motion: reduce) {
	body.adpt-design *,
	body.adpt-design *::before,
	body.adpt-design *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
