/* ==========================================================================
   DépannageWP - Styles du thème (complément des réglages Elementor)
   Couleurs et typographies : variables globales du kit Elementor
   ========================================================================== */

:root {
	--acrv-ease: cubic-bezier(.19, 1, .22, 1);
	--acrv-duration: .65s;
	--acrv-r-12: 12px;
	--acrv-r-6: 6px;
	--acrv-r-4: 4px;
	--acrv-shadow: 0 20px 50px rgba(36, 34, 57, .1);
	--acrv-admin-h: 0px;
	--acrv-prebar-h: 0px;
	--acrv-sticky-offset: 84px;

	--acrv-bleu: var(--e-global-color-primary, #4169e1);
	--acrv-anis: var(--e-global-color-secondary, #bccd2d);
	--acrv-marine: var(--e-global-color-text, #242239);
	--acrv-orange: var(--e-global-color-accent, #f85f0d);
	--acrv-bleu-light: var(--e-global-color-bleulight, #eef1fc);
	--acrv-bleu-light-2: var(--e-global-color-bleulight2, #dfe6fb);
	--acrv-orange-light: var(--e-global-color-orangelight, #feefe6);
	--acrv-peche: var(--e-global-color-peche, #ffdecc);
	--acrv-vert: var(--e-global-color-vert, #679414);
	--acrv-vert-light: var(--e-global-color-vertlight, #e3e8a1);
	--acrv-or: var(--e-global-color-or, #fbbc05);
	--acrv-rouge: var(--e-global-color-rouge, #c42424);
	--acrv-blanc: var(--e-global-color-blanc, #fff);
	--acrv-marine-alpha: var(--e-global-color-marinealpha, #2422390d);
	--acrv-marine-alpha-2: var(--e-global-color-marinealpha2, #24223926);
	--acrv-blanc-alpha: var(--e-global-color-blancalpha, #ffffff29);
}

.admin-bar { --acrv-admin-h: 32px; }
@media (max-width: 782px) { .admin-bar { --acrv-admin-h: 46px; } }
@media (max-width: 600px) { .admin-bar { --acrv-admin-h: 0px; } }

/* ==========================================================================
   Base
   ========================================================================== */
html { -webkit-text-size-adjust: 100%; scroll-behavior: auto !important; }
body { overflow-x: clip; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, video { max-width: 100%; height: auto; }
a { color: inherit; transition: color var(--acrv-duration) var(--acrv-ease); }
a:hover { color: inherit; }
.elementor-widget-text-editor p a:not([class]) { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 2px; }
.elementor-widget-text-editor p a:not([class]):hover { color: var(--acrv-bleu); }

/* Boutons natifs : neutralise les styles par défaut du thème parent */
button.acrv-btn, button.acrv-link, .acrv-steps__arrow { border: 0; text-transform: none; letter-spacing: normal; }
button.acrv-btn:is(:hover, :focus) { background-color: var(--_bg); }
button.acrv-link:is(:hover, :focus) { background-color: transparent; }
.acrv-steps__arrow:is(:hover, :focus) { background-color: var(--acrv-steps-arrow, var(--acrv-bleu)); }
:focus-visible { outline: 2px solid var(--acrv-bleu); outline-offset: 3px; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor p { margin-block: 0 1em; }

[id] { scroll-margin-top: calc(var(--acrv-sticky-offset) + 15px); }

/* Conteneur dont la largeur suit le contenu */
.e-con.acrv-auto { --width: auto; width: auto; flex: 0 0 auto; }

/* Visible uniquement sur grand écran (en dessous : menu en modale) */
@media (max-width: 1024px) {
	.acrv-desktop-only { display: none !important; }
}

/* Listes de liens (menus en texte) */
.acrv-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.acrv-menu a { color: inherit; text-decoration: none; }
.acrv-menu a:hover, .acrv-menu a[aria-current="page"] { color: var(--acrv-bleu); }
.acrv-menu .is-bold { font-weight: 700; }
.acrv-menu--footer { gap: 4px; }
.acrv-menu--cols { grid-template-columns: 1fr 1fr; column-gap: 30px; }
.acrv-menu--woo a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.acrv-menu--woo a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--acrv-anis); }
@media (max-width: 767px) { .acrv-menu--cols { grid-template-columns: 1fr; } }

/* Pied de page */
.acrv-footer__logo img, .acrv-nav__logo img { display: block; width: 100%; height: auto; }
.acrv-footer__seo-col .elementor-widget-text-editor p a:not([class]) { text-decoration-color: color-mix(in srgb, var(--acrv-bleu) 35%, transparent); }

/* ==========================================================================
   Surtitre, pastille et en-tête de section
   ========================================================================== */
/* Titres balisés en <p> (surtitres, chiffres, sous-titres) : pas d'espacement de paragraphe du kit sous le titre */
.elementor-widget-heading p.elementor-heading-title { margin-block-end: 0; }
.acrv-surtitre { line-height: 0; }
.acrv-surtitre .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; vertical-align: top; }
.acrv-surtitre .elementor-heading-title::before { content: ""; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--acrv-surtitre-puce, var(--acrv-anis)); }
.acrv-surtitre--orange { --acrv-surtitre-puce: var(--acrv-orange); }
.acrv-surtitre--vert { --acrv-surtitre-puce: var(--acrv-vert); }
.acrv-surtitre--bleu { --acrv-surtitre-puce: var(--acrv-bleu); }
.acrv-pastille { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 500px; background: var(--acrv-blanc); line-height: 1.4; white-space: nowrap; }
.acrv-sh__titre .elementor-heading-title { text-wrap: balance; }
.acrv-ri { width: 1em; height: 1em; fill: currentColor; flex-shrink: 0; }

/* ==========================================================================
   Animations : états initiaux (uniquement si le script est actif)
   ========================================================================== */
.acrv-js [data-acrv-trigger="load"]:not([data-acrv-anim="zoom-out"]):not([data-acrv-anim="parallax"]):not([data-acrv-anim="float"]) { visibility: hidden; }
.elementor-editor-active [data-acrv-anim] { visibility: visible !important; }
.acrv-line { padding-bottom: .06em; }

/* ==========================================================================
   Global - Bouton (widget ACRV - Bouton)
   ========================================================================== */
.elementor-widget-acrv-bouton { display: flex; justify-content: var(--acrv-btn-align, flex-start); }

.acrv-btn {
	--_bg: var(--acrv-btn-bg, var(--acrv-vert-light));
	--_color: var(--acrv-btn-color, var(--acrv-marine));
	--_icon: var(--acrv-btn-icon, var(--acrv-blanc));
	--_icon-bg: var(--acrv-btn-icon-bg, var(--acrv-vert));
	--_hover-bg: var(--acrv-btn-hover-bg, var(--acrv-vert));
	--_hover-color: var(--acrv-btn-hover-color, var(--acrv-blanc));
	--_hover-icon: var(--acrv-btn-hover-icon, var(--_hover-bg));
	--_hover-icon-bg: var(--acrv-btn-hover-icon-bg, var(--acrv-blanc));
	--_box: var(--acrv-btn-icon-box, 2.75rem);
	--_dur: var(--acrv-btn-duration, 650ms);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	max-width: 100%;
	padding: 5px 5px 5px 30px;
	border: 0;
	border-radius: 500px;
	background: var(--_bg);
	color: var(--_color);
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-size: var(--e-global-typography-accent-font-size, .875rem);
	font-weight: var(--e-global-typography-accent-font-weight, 700);
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	transition: color var(--_dur) var(--acrv-ease);
}
.acrv-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--_hover-bg);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform var(--_dur) var(--acrv-ease);
}
.acrv-btn__text { position: relative; }
.acrv-btn__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: var(--_box);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--_icon-bg);
	color: var(--_icon);
	font-size: var(--acrv-btn-icon-size, 1.25rem);
	overflow: hidden;
	transition: background var(--_dur) var(--acrv-ease), color var(--_dur) var(--acrv-ease);
}
.acrv-btn__icon svg, .acrv-i { display: block; width: 1em; height: 1em; fill: currentColor; transition: transform var(--_dur, .65s) var(--acrv-ease); }
.acrv-btn:hover, .acrv-btn:focus-visible { color: var(--_hover-color); }
.acrv-btn:hover::before, .acrv-btn:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.acrv-btn:hover .acrv-btn__icon, .acrv-btn:focus-visible .acrv-btn__icon { background: var(--_hover-icon-bg); color: var(--_hover-icon); }
.acrv-btn--right:hover .acrv-btn__icon svg { animation: acrv-icon-right var(--_dur) var(--acrv-ease); }
.acrv-btn--down:hover .acrv-btn__icon svg { animation: acrv-icon-down var(--_dur) var(--acrv-ease); }
.acrv-btn--up:hover .acrv-btn__icon svg { animation: acrv-icon-up var(--_dur) var(--acrv-ease); }
.acrv-btn--icon-before { flex-direction: row-reverse; padding: 5px 30px 5px 5px; }
.acrv-btn--no-icon { padding: 15px 30px; }

/* Icône seule (panier, menu, réseaux sociaux) */
.acrv-btn--icon-only { padding: 0; gap: 0; overflow: visible; }
.acrv-btn--icon-only .acrv-btn__icon { background: transparent; }
.acrv-btn--icon-only::before { transform: scale(0); transform-origin: center; border-radius: 50%; }
.acrv-btn--icon-only:hover::before, .acrv-btn--icon-only:focus-visible::before { transform: scale(1); }
.acrv-btn--icon-only:hover .acrv-btn__icon, .acrv-btn--icon-only:focus-visible .acrv-btn__icon { background: transparent; }

@keyframes acrv-icon-right { 0% { transform: translateX(0); } 45% { transform: translateX(140%); } 46% { transform: translateX(-140%); } 100% { transform: translateX(0); } }
@keyframes acrv-icon-down { 0% { transform: translateY(0); } 45% { transform: translateY(140%); } 46% { transform: translateY(-140%); } 100% { transform: translateY(0); } }
@keyframes acrv-icon-up { 0% { transform: translateY(0); } 45% { transform: translateY(-140%); } 46% { transform: translateY(140%); } 100% { transform: translateY(0); } }

@media (max-width: 767px) {
	.acrv-btn { white-space: normal; }
}

/* Bouton d'urgence : sirène au survol */
[data-acrv-action="emergency"]:hover .acrv-btn__icon svg { animation: acrv-siren .9s ease-in-out infinite; }
@keyframes acrv-siren { 50% { opacity: .35; } }

/* Bouton dans une carte (étapes, frise) */
.acrv-btn--card {
	--acrv-btn-bg: var(--acrv-blanc);
	--acrv-btn-icon-bg: var(--acrv-step-accent, var(--acrv-vert));
	--acrv-btn-hover-bg: var(--acrv-step-accent, var(--acrv-vert));
}

/* Panier : pastille du nombre de réservations */
.acrv-cart .acrv-btn { overflow: visible; }
.acrv-has-cart .acrv-cart .acrv-btn::after {
	content: "1";
	position: absolute;
	right: -2px;
	bottom: -2px;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding-inline: 4px;
	border: 2px solid var(--acrv-blanc);
	border-radius: 500px;
	background: var(--acrv-vert);
	color: var(--acrv-blanc);
	font-size: .625rem;
	font-weight: 700;
	line-height: 1;
}

/* ==========================================================================
   Global - Lien (widget ACRV - Lien)
   ========================================================================== */
.elementor-widget-acrv-lien { display: flex; justify-content: var(--acrv-link-align, flex-start); }
.acrv-link {
	--_icon: var(--acrv-link-icon, var(--acrv-bleu));
	--_icon-bg: var(--acrv-link-icon-bg, var(--acrv-bleu-light));
	--_hover-icon: var(--acrv-link-hover-icon, var(--_icon-bg));
	--_hover-icon-bg: var(--acrv-link-hover-icon-bg, var(--_icon));
	display: inline-flex;
	align-items: center;
	gap: 15px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--acrv-link-color, inherit);
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-size: var(--e-global-typography-accent-font-size, .875rem);
	font-weight: var(--e-global-typography-accent-font-weight, 700);
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.acrv-link__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: var(--acrv-link-icon-box, 1.5rem);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--_icon-bg);
	color: var(--_icon);
	font-size: var(--acrv-link-icon-size, 1rem);
	transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease), transform var(--acrv-duration) var(--acrv-ease);
}
.acrv-link__icon svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.acrv-link__img { width: 24px; height: 24px; object-fit: contain; }
.acrv-link--icon-before { flex-direction: row-reverse; }
a.acrv-link:hover, button.acrv-link:hover, a.acrv-link:focus-visible { color: var(--acrv-link-hover-color, var(--acrv-link-color, inherit)); }
a.acrv-link:hover .acrv-link__icon, a.acrv-link:focus-visible .acrv-link__icon,
.e-loop-item:hover .acrv-card__more .acrv-link__icon { background: var(--_hover-icon-bg); color: var(--_hover-icon); transform: translateX(4px); }

/* ==========================================================================
   Bulle (widget ACRV - Bulle)
   ========================================================================== */
.acrv-bubble {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 20px 8px 8px;
	border-radius: var(--acrv-r-6);
	background: var(--acrv-bubble-bg, var(--acrv-blanc));
	box-shadow: 0 15px 30px rgba(36, 34, 57, .15);
	color: var(--acrv-marine);
	white-space: nowrap;
	line-height: 1.2;
}
.acrv-bubble:not(:has(.acrv-bubble__avatar, .acrv-bubble__icon)) { padding: 12px 20px; }
.acrv-bubble__avatar { width: var(--acrv-bubble-avatar, 32px); height: var(--acrv-bubble-avatar, 32px); border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.acrv-bubble__icon {
	display: grid;
	place-items: center;
	width: var(--acrv-bubble-avatar, 32px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--acrv-bubble-icon-bg, var(--acrv-bleu-light));
	color: var(--acrv-bleu);
	font-size: 1rem;
	flex-shrink: 0;
}
.acrv-bubble__icon svg { width: 1em; height: 1em; fill: currentColor; }
.acrv-bubble__body { display: flex; flex-direction: column; gap: 2px; }
.acrv-bubble__label { font-family: var(--e-global-typography-texteminigras-font-family), sans-serif; font-size: .75rem; font-weight: 700; font-style: normal; }
.acrv-bubble__text {
	font-family: var(--e-global-typography-textecitation-font-family, Georgia), serif;
	font-size: var(--e-global-typography-textecitation-font-size, 1.25rem);
	font-style: italic;
}
.acrv-bubble__dots { display: inline-flex; gap: 3px; margin-left: 4px; vertical-align: middle; }
.acrv-bubble__dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; animation: acrv-typing 1.2s infinite ease-in-out; }
.acrv-bubble__dots i:nth-child(2) { animation-delay: .15s; }
.acrv-bubble__dots i:nth-child(3) { animation-delay: .3s; }
@keyframes acrv-typing { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-4px); opacity: 1; } }
.acrv-bubble::after { content: ""; position: absolute; border: 8px solid transparent; }
.acrv-bubble--bottom-left::after { left: 24px; top: 100%; border-top-color: var(--acrv-bubble-bg, var(--acrv-blanc)); border-bottom: 0; }
.acrv-bubble--bottom-right::after { right: 24px; top: 100%; border-top-color: var(--acrv-bubble-bg, var(--acrv-blanc)); border-bottom: 0; }
.acrv-bubble--top-left::after { left: 24px; bottom: 100%; border-bottom-color: var(--acrv-bubble-bg, var(--acrv-blanc)); border-top: 0; }
.acrv-bubble--right::after { left: 100%; top: 50%; transform: translateY(-50%); border-left-color: var(--acrv-bubble-bg, var(--acrv-blanc)); border-right: 0; }

/* ==========================================================================
   Modèle - Header
   ========================================================================== */
.elementor-location-header {
	position: sticky;
	top: calc(var(--acrv-admin-h) - var(--acrv-prebar-h));
	z-index: 900;
}
.acrv-prebar__menu .acrv-menu--quick { display: flex; flex-wrap: wrap; gap: 6px 30px; }
.acrv-prebar__menu a:hover { color: var(--acrv-bleu); }
.acrv-nav {
	background: color-mix(in srgb, var(--acrv-blanc) 92%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: box-shadow var(--acrv-duration) var(--acrv-ease);
}
.elementor-location-header.is-scrolled .acrv-nav { box-shadow: 0 10px 30px rgba(36, 34, 57, .07); }
.acrv-nav__logo img { width: 100%; height: auto; }

/* Méga menu « Découvrez-nous » */
.acrv-mega .e-n-menu-title { padding-inline: 0 !important; }
.acrv-mega .e-n-menu-title-text { font-weight: 700; }
.acrv-mega .e-n-menu-dropdown-icon svg { transition: transform var(--acrv-duration) var(--acrv-ease); }
.acrv-mega .e-n-menu-content > .e-con { position: relative; overflow: visible; }
.acrv-mega__panel::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	border: 10px solid transparent;
	border-top: 0;
	border-bottom-color: var(--acrv-blanc);
}
.acrv-menu--mega { gap: 15px; }
.acrv-menu--mega a { display: block; transition: color var(--acrv-duration) var(--acrv-ease), transform var(--acrv-duration) var(--acrv-ease); }
.acrv-menu--mega a:hover { transform: translateX(6px); }
.acrv-menu--mega a[aria-current="page"] { font-weight: 700; }

@media (max-width: 1024px) {
	.acrv-prebar .elementor-widget-global, .acrv-prebar .elementor-widget-acrv-bouton { flex: 1 1 auto; }
	.acrv-prebar .acrv-btn { width: 100%; justify-content: center; }
}

/* ==========================================================================
   Modèle - Menu Responsive (popup)
   ========================================================================== */
.elementor-popup-modal:has(.acrv-menu-popup) .dialog-close-button, .acrv-popup--menu .dialog-close-button { top: 48px; right: 15px; display: grid; place-items: center; width: 2.75rem; aspect-ratio: 1; border-radius: 50%; background: var(--acrv-bleu-light); }
.acrv-popup--menu .dialog-close-button:hover { background: var(--acrv-bleu); color: var(--acrv-blanc); }
.acrv-menu--modal { gap: 15px; text-align: center; }
.acrv-menu--modal a { color: inherit; transition: color var(--acrv-duration) var(--acrv-ease); }
a:hover { color: inherit; }
.elementor-widget-text-editor p a:not([class]) { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 2px; }
.elementor-widget-text-editor p a:not([class]):hover { color: var(--acrv-bleu); }

/* Boutons natifs : neutralise les styles par défaut du thème parent */
button.acrv-btn, button.acrv-link, .acrv-steps__arrow { border: 0; text-transform: none; letter-spacing: normal; }
button.acrv-btn:is(:hover, :focus) { background-color: var(--_bg); }
button.acrv-link:is(:hover, :focus) { background-color: transparent; }
.acrv-steps__arrow:is(:hover, :focus) { background-color: var(--acrv-steps-arrow, var(--acrv-bleu)); }
.acrv-menu-popup__actions .acrv-btn { width: 100%; }
/* Menu responsive : logo centré comme les liens, bouton d'urgence centré (icône et texte côte à côte) */
.acrv-menu-popup .acrv-nav__logo { align-self: center; margin-inline: auto; }
.acrv-menu-popup__actions .acrv-btn[data-acrv-action="emergency"], .acrv-menu-popup__actions [data-acrv-action="emergency"] .acrv-btn { justify-content: center; }
.acrv-menu-popup__actions > .elementor-element { width: 100%; }
.acrv-menu-popup .elementor-widget-divider { --divider-color: var(--acrv-bleu-light); }

/* ==========================================================================
   Hero
   ========================================================================== */
.e-con.acrv-hero { isolation: isolate; }
.acrv-hero > .acrv-hero__media {
	position: absolute !important;
	inset: 0;
	z-index: -1;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	overflow: hidden;
}
.acrv-hero > .acrv-hero__media img {
	position: absolute;
	left: 0;
	top: -6%;
	width: 100%;
	height: 112%;
	max-width: none;
	object-fit: cover;
	object-position: center 35%;
}
.acrv-hero > .acrv-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(45deg, rgba(36, 34, 57, .6) 0%, rgba(36, 34, 57, .15) 55%, rgba(36, 34, 57, 0) 100%);
}
.acrv-hero__title { max-width: 820px; }
.acrv-hero__title .elementor-heading-title { text-wrap: balance; }
.acrv-hero > .acrv-hero__breadcrumb { position: absolute !important; top: 30px; left: var(--padding-left, 120px); right: var(--padding-right, 120px); width: auto !important; z-index: 1; }
.acrv-hero__logos { overflow: hidden; }
.acrv-hero__logos > .elementor-widget-image { padding: 15px 30px; }
.acrv-hero__logos > .elementor-widget-image + .elementor-widget-image { border-left: 1px solid rgba(255, 255, 255, .2); }
.acrv-hero__logos img { display: block; width: auto; height: 28px; }

/* Accueil : carte texte et photo */
.acrv-hero-split__carte .acrv-hero__title .elementor-heading-title { text-wrap: balance; }
.acrv-hero-split__intro p { margin: 0; opacity: .85; }
.acrv-hero-split__media { isolation: isolate; }
.acrv-hero-split__media > .acrv-hero-split__img { position: absolute !important; inset: 0; z-index: -1; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; overflow: hidden; }
.acrv-hero-split__img img { position: absolute; left: 0; top: -6%; width: 100%; height: 112%; max-width: none; object-fit: cover; object-position: center 35%; }
.acrv-hero-split__bulle .acrv-bubble { box-shadow: 0 15px 30px rgba(36, 34, 57, .15); }
.acrv-atouts { display: flex; flex-wrap: wrap; gap: 15px 30px; margin: 0; padding: 0; list-style: none; }
.acrv-atouts li { display: inline-flex; align-items: center; gap: 8px; }
.acrv-atouts li::before { content: ""; flex-shrink: 0; width: 16px; height: 16px; background: var(--acrv-anis); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16Z'/%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='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16Z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Pages internes : texte centré et visuel encadré */
.acrv-hero-page__titre .elementor-heading-title { text-wrap: balance; }
.e-con > .acrv-hero-page__intro { max-width: 640px !important; }
.acrv-hero-page__intro p { margin: 0; }
.acrv-hero-page__atouts .acrv-atouts { justify-content: center; }
.acrv-hero-page__atouts .acrv-atouts li::before { background: var(--acrv-vert); }
.acrv-hero-page__ariane .acrv-breadcrumb ol { background: var(--acrv-blanc); -webkit-backdrop-filter: none; backdrop-filter: none; }
.acrv-hero-page__media { width: 100%; aspect-ratio: 8 / 3; isolation: isolate; }
.acrv-hero-page__media > .acrv-hero-page__img { position: absolute !important; inset: 0; z-index: -1; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; overflow: hidden; }
.acrv-hero-page__img img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 30%; }
@media (max-width: 1024px) {
	.acrv-hero-page__media { aspect-ratio: 16 / 7; }
}
@media (max-width: 767px) {
	.acrv-hero-page__media { aspect-ratio: 4 / 3; }
}

/* Article : rédacteur, date et catégorie */
.acrv-hero__author { margin-bottom: 15px !important; }
.acrv-hero__meta { width: 100%; }
.acrv-hero__category img { height: 22px; width: auto; }
.acrv-hero__category a { display: inline-flex; padding: 12px 30px; border-radius: var(--acrv-r-6); background: var(--acrv-bleu); transition: background var(--acrv-duration) var(--acrv-ease); }
.acrv-hero__category a:hover { background: var(--acrv-marine); }

@media (max-width: 767px) {
	.acrv-hero__logos > .elementor-widget-image { padding: 12px 15px; }
	.acrv-hero__logos img { height: 20px; }
	.acrv-hero__meta { flex-direction: column !important; align-items: flex-start !important; gap: 15px !important; }
}

/* Fil d'Ariane */
.acrv-breadcrumb ol { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; padding: 6px 16px; list-style: none; border-radius: 500px; background: rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--acrv-bc-color, inherit); }
.acrv-breadcrumb li { display: flex; align-items: center; gap: 10px; }
.acrv-breadcrumb a { color: inherit; opacity: .85; text-decoration: none; transition: opacity var(--acrv-duration) var(--acrv-ease); }
.acrv-breadcrumb a:hover { opacity: 1; }
.acrv-breadcrumb [aria-current] { color: var(--acrv-bc-current, inherit); font-weight: 700; }
.acrv-breadcrumb__sep { display: inline-grid; place-items: center; width: 6px; height: 6px; border-radius: 50%; background: var(--acrv-bc-sep, var(--acrv-anis)); overflow: hidden; }
.acrv-breadcrumb__sep svg { display: none; }
@media (max-width: 767px) { .acrv-breadcrumb ol { border-radius: var(--acrv-r-6); } }

/* ==========================================================================
   À propos (photos encadrant le texte)
   ========================================================================== */
.acrv-about__img { overflow: hidden; border-radius: var(--acrv-r-12); }
.acrv-about__img img { width: 100%; height: 100%; object-fit: cover; }
.acrv-about__img--portrait { aspect-ratio: 2 / 3; }
.acrv-about__img--square { aspect-ratio: 1; }
@media (max-width: 1024px) {
	.acrv-about__deco > .acrv-about__img { flex: 1 1 0; min-width: 0; }
	.acrv-about__img--portrait, .acrv-about__img--square { aspect-ratio: 3 / 4; }
}

/* Accueil : texte et mosaïque */
.acrv-mosaique__img img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--acrv-r-12); }
@media (max-width: 1024px) {
	.acrv-mosaique__col > .acrv-mosaique__img { flex: 1 1 0; min-width: 0; }
}

/* ==========================================================================
   Formulaire - Audit (formulaire Elementor Pro multi-étapes)
   ========================================================================== */
.acrv-audit-badge .elementor-heading-title {
	display: inline-flex;
	padding: 4px 12px;
	border-radius: 500px;
	background: rgba(248, 95, 13, .08);
	font-variant-numeric: tabular-nums;
}
.acrv-form-audit form { display: flex; flex-direction: column; }
.acrv-form-audit .elementor-form-fields-wrapper { align-items: center; margin: 0 !important; }
.acrv-form-audit .e-form__step:not(.elementor-hidden) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px 30px; width: 100%; }
.acrv-form-audit .e-form__step > .elementor-field-group:not(.e-form__buttons) { flex: 1 1 320px; width: auto; max-width: none; margin: 0 !important; padding: 0 !important; }
.acrv-form-audit .elementor-field-group { align-items: baseline; flex-wrap: nowrap; }
.acrv-form-audit .elementor-field-label { flex-shrink: 0; padding-right: .35em !important; color: var(--acrv-marine); }
.acrv-form-audit .elementor-field-textual {
	flex: 1;
	min-width: 0;
	max-width: 620px;
	min-height: 0;
	padding: 0 0 4px !important;
	border: 0 !important;
	border-bottom: 2px solid rgba(248, 95, 13, .25) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--acrv-orange) !important;
	font-weight: 700;
	line-height: 1.3;
	box-shadow: none !important;
	transition: border-color var(--acrv-duration) var(--acrv-ease);
}
.acrv-form-audit .elementor-field-textual::placeholder { color: var(--acrv-orange); opacity: 1; }
.acrv-form-audit .elementor-field-textual:focus { outline: none; border-bottom-color: var(--acrv-orange) !important; }
.acrv-form-audit .elementor-field-textual:focus::placeholder { opacity: .3; }
.acrv-form-audit .elementor-message, .acrv-form-audit .elementor-error .elementor-field-textual { color: var(--acrv-rouge); }
.acrv-form-audit .e-form__buttons { flex: 0 0 auto; display: flex; gap: 15px; width: auto !important; margin: 0 !important; padding: 0 !important; }
.acrv-form-audit .e-form__buttons__wrapper, .acrv-form-audit .elementor-field-type-submit { width: auto !important; flex: 0 0 auto; padding: 0 !important; margin: 0 !important; }

/* Boutons de formulaire au style des boutons du site */
.acrv-form-audit .elementor-button, .acrv-form-phrase .elementor-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 15px;
	min-height: 0;
	padding: 5px 5px 5px 30px !important;
	border: 0;
	border-radius: 500px !important;
	background: var(--acrv-blanc) !important;
	color: var(--acrv-marine) !important;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	isolation: isolate;
	transition: color var(--acrv-duration) var(--acrv-ease);
}
.acrv-form-audit .elementor-button::after, .acrv-form-phrase .elementor-button::after {
	content: "";
	flex-shrink: 0;
	width: 2.75rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--acrv-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M16.17 11 10.8 5.64l1.42-1.42L20 12l-7.78 7.78-1.42-1.42L16.17 13H4v-2z'/%3E%3C/svg%3E") center / 1.25rem no-repeat;
	transition: background-color var(--acrv-duration) var(--acrv-ease);
}
.acrv-form-audit .elementor-button::before, .acrv-form-phrase .elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--acrv-orange);
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform var(--acrv-duration) var(--acrv-ease);
}
.acrv-form-audit .elementor-button:hover, .acrv-form-phrase .elementor-button:hover { color: var(--acrv-blanc) !important; }
.acrv-form-audit .elementor-button:hover::before, .acrv-form-phrase .elementor-button:hover::before { transform: scaleX(1); transform-origin: left center; }
.acrv-form-audit .elementor-button:hover::after, .acrv-form-phrase .elementor-button:hover::after { background-color: var(--acrv-blanc); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f85f0d'%3E%3Cpath d='M16.17 11 10.8 5.64l1.42-1.42L20 12l-7.78 7.78-1.42-1.42L16.17 13H4v-2z'/%3E%3C/svg%3E"); }
.acrv-form-audit .e-form__buttons__wrapper__button-previous { padding: 0 !important; width: 2.75rem; height: 2.75rem; justify-content: center; font-size: 0 !important; gap: 0; }
.acrv-form-audit .e-form__buttons__wrapper__button-previous::after { width: 2.75rem; transform: rotate(180deg); background-color: var(--acrv-blanc); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f85f0d'%3E%3Cpath d='M16.17 11 10.8 5.64l1.42-1.42L20 12l-7.78 7.78-1.42-1.42L16.17 13H4v-2z'/%3E%3C/svg%3E"); }
.acrv-form-audit .e-form__buttons__wrapper__button-previous::before { display: none; }

/* Barre de progression des étapes */
.acrv-form-audit .e-form__indicators { order: 2; width: 100%; margin: 30px 0 0 !important; padding: 0 !important; }
.acrv-form-audit .e-form__indicators__indicator--progress { width: 100%; }
.acrv-form-audit .e-form__indicators__indicator__progress { height: 4px; border-radius: 4px; background: rgba(248, 95, 13, .12) !important; overflow: hidden; }
.acrv-form-audit .e-form__indicators__indicator__progress__meter { height: 100%; background: var(--acrv-orange) !important; font-size: 0 !important; line-height: 0; padding: 0 !important; transition: width var(--acrv-duration) var(--acrv-ease); }

@media (max-width: 1024px) {
	.acrv-form-audit .e-form__step:not(.elementor-hidden) { flex-direction: column; align-items: stretch; }
	.acrv-form-audit .e-form__step > .elementor-field-group:not(.e-form__buttons) { flex: 0 0 auto; }
	.acrv-form-audit .e-form__buttons { justify-content: flex-end; }
}
@media (max-width: 767px) {
	.acrv-form-audit .elementor-field-group { flex-direction: column; align-items: stretch; gap: 4px; flex-wrap: nowrap; }
	.acrv-form-audit .elementor-field-textual { flex: 0 0 auto; }
	.acrv-form-audit .elementor-field-label, .acrv-form-audit .elementor-field-textual { font-size: var(--e-global-typography-titreleger-font-size, 1.25rem) !important; }
	.acrv-form-audit .e-form__buttons { justify-content: space-between; }
}

/* ==========================================================================
   Formulaire - Contact (phrase à compléter)
   ========================================================================== */
.acrv-form-phrase .elementor-form-fields-wrapper { row-gap: 15px; }
.acrv-form-phrase .elementor-field-group:not(.elementor-field-type-submit):not(.elementor-field-type-acceptance) { align-items: baseline; flex-wrap: wrap; column-gap: .35em; padding-bottom: 6px; border-bottom: 1px solid var(--acrv-bleu-light); }
.acrv-form-phrase .elementor-field-label { flex-shrink: 0; padding-right: 0 !important; color: var(--acrv-marine); }
.acrv-form-phrase .elementor-field-textual, .acrv-form-phrase select {
	flex: 1;
	min-width: 180px;
	min-height: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--acrv-orange) !important;
	font-weight: 700;
	box-shadow: none !important;
}
.acrv-form-phrase .elementor-field-textual::placeholder { color: var(--acrv-orange); opacity: 1; }
.acrv-form-phrase .elementor-field-textual:focus::placeholder { opacity: .3; }
.acrv-form-phrase .elementor-field-textual:focus, .acrv-form-phrase select:focus { outline: none; }
.acrv-form-phrase .elementor-field-group:focus-within { border-bottom-color: var(--acrv-orange) !important; }
.acrv-form-phrase .elementor-field-type-textarea .elementor-field-label { width: 100%; }
.acrv-form-phrase textarea.elementor-field-textual { width: 100%; resize: vertical; }
.acrv-form-phrase .elementor-select-wrapper { flex: 1; min-width: 200px; }
.acrv-form-phrase .elementor-select-wrapper .select-caret-down-wrapper { color: var(--acrv-orange); }
.acrv-form-phrase .elementor-field-type-acceptance { padding-top: 15px; }
.acrv-form-phrase .elementor-field-type-acceptance label { font-size: var(--e-global-typography-textemini-font-size, .75rem) !important; font-weight: 400 !important; line-height: 1.5 !important; }
.acrv-form-phrase .elementor-field-type-acceptance .elementor-field-subgroup { gap: 8px; }
.acrv-form-phrase .elementor-field-type-acceptance a { color: var(--acrv-bleu); text-decoration: underline; }
.acrv-form-phrase .elementor-field-type-submit { padding-top: 30px; }
.acrv-form-phrase .elementor-button { background: var(--acrv-vert-light) !important; }
.acrv-form-phrase .elementor-button::after { background-color: var(--acrv-vert); }
.acrv-form-phrase .elementor-button::before { background: var(--acrv-vert); }

/* ==========================================================================
   Étapes (widget ACRV - Étapes) : cartes empilées
   ========================================================================== */
.acrv-steps { --_top: calc(var(--acrv-sticky-offset) + var(--acrv-steps-top, 30px)); position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0 60px; align-items: start; }
.acrv-steps__rail { position: sticky; top: var(--_top); height: var(--acrv-steps-height, 440px); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 15px; }
.acrv-steps__rail::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: var(--acrv-steps-rail, var(--acrv-bleu-light)); transform: translateX(-50%); }
.acrv-steps__fill { position: absolute; top: 0; left: 50%; width: 2px; height: 100%; background: var(--acrv-steps-fill, var(--acrv-bleu)); transform: translateX(-50%) scaleY(0); transform-origin: top; }
.acrv-steps__arrow {
	position: relative;
	display: grid;
	place-items: center;
	width: 2.25rem;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--acrv-steps-arrow-bg, var(--acrv-bleu-light));
	color: var(--acrv-steps-arrow, var(--acrv-bleu));
	font-size: 1.1rem;
	cursor: pointer;
	transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease), opacity .4s;
}
.acrv-steps__arrow svg { width: 1em; height: 1em; fill: currentColor; }
.acrv-steps__arrow:hover { background: var(--acrv-steps-arrow, var(--acrv-bleu)); color: var(--acrv-blanc); }
.acrv-steps__arrow[aria-disabled="true"] { opacity: .35; pointer-events: none; }
.acrv-steps__list { display: grid; gap: var(--acrv-steps-gap, 30px); margin: 0; padding: 0; list-style: none; }
.acrv-steps__item {
	position: relative;
	min-height: var(--acrv-steps-height, 440px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 60px 8.333%;
	border-radius: var(--acrv-steps-radius, 24px);
	background: var(--acrv-step-bg, var(--acrv-bleu-light));
	color: var(--acrv-step-text, var(--acrv-marine));
	transform-origin: center top;
}
.acrv-steps--stack .acrv-steps__item { position: sticky; top: calc(var(--_top) + var(--i, 0) * var(--acrv-steps-step, 18px)); }
.acrv-steps__badge { display: inline-flex; padding: 4px 12px; border-radius: 500px; background: rgba(255, 255, 255, .65); color: var(--acrv-step-accent, var(--acrv-bleu)); font-weight: 700; }
.acrv-steps__title { margin: 15px 0 !important; color: var(--acrv-step-accent, var(--acrv-bleu)); }
.acrv-steps__text { max-width: 520px; margin: 0; }
.acrv-steps__action { margin-top: 30px; }
.acrv-steps__progress { --p: 0%; position: relative; width: 100%; max-width: 520px; height: 8px; margin-top: 60px; border-radius: 8px; background: rgba(65, 105, 225, .15); }
.acrv-steps__bar { position: absolute; inset: 0 auto 0 0; width: var(--p); border-radius: inherit; background: var(--acrv-step-accent, var(--acrv-bleu)); }
.acrv-steps__cursor { position: absolute; top: 50%; left: var(--p); transform: translate(-50%, -50%); padding: 4px 10px; border-radius: 500px; background: var(--acrv-step-accent, var(--acrv-bleu)); color: var(--acrv-blanc); font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.acrv-steps__check { display: grid; place-items: center; width: 4rem; aspect-ratio: 1; margin-top: 30px; border-radius: 50%; background: var(--acrv-step-accent, var(--acrv-bleu)); color: var(--acrv-blanc); font-size: 2rem; }
.acrv-steps__check svg { width: 1em; height: 1em; fill: currentColor; }
.acrv-sticky-intro { position: sticky !important; top: calc(var(--acrv-sticky-offset) + 60px); padding-top: 60px; }
.acrv-count-line p { display: inline-flex; align-items: center; gap: 10px; padding: 4px 15px 4px 4px; border-radius: 500px; background: var(--acrv-blanc); }
.acrv-pill-count { display: inline-grid; place-items: center; width: 1.5rem; aspect-ratio: 1; border-radius: 50%; background: var(--acrv-bleu); color: var(--acrv-blanc); }

@media (max-width: 1024px) {
	.acrv-steps { grid-template-columns: 1fr; }
	.acrv-steps__rail { display: none; }
	.acrv-steps--stack .acrv-steps__item { position: relative; top: auto; }
	.acrv-steps__item { min-height: 0; }
	.acrv-sticky-intro { position: static !important; padding-top: 0; }
}

/* ==========================================================================
   Modèle - Fonctionnement : cartes illustrées reliées par une ligne
   ========================================================================== */
.acrv-etape { --acrv-etape-c: var(--acrv-bleu); --acrv-etape-on: var(--acrv-blanc); --acrv-etape-teinte: var(--acrv-bleu-light); }
.acrv-etape--1 { --acrv-etape-c: var(--acrv-orange); --acrv-etape-teinte: var(--acrv-orange-light); }
.acrv-etape--2 { --acrv-etape-c: var(--acrv-vert); --acrv-etape-teinte: var(--acrv-vert-light); }
.acrv-etape--4 { --acrv-etape-c: var(--acrv-blanc); --acrv-etape-on: var(--acrv-bleu); }
.acrv-etape__haut { position: relative; display: flex; align-items: center; justify-content: space-between; }
.acrv-etape__icone { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--acrv-etape-c); color: var(--acrv-etape-on); font-size: 1.375rem; }
.acrv-etape__haut .acrv-pastille { position: relative; z-index: 1; color: var(--acrv-etape-c); }
.acrv-etape--3 .acrv-etape__haut .acrv-pastille { background: var(--acrv-bleu-light); }
.acrv-etape--4 .acrv-etape__haut .acrv-pastille { color: var(--acrv-bleu); }
.acrv-etape__titre .elementor-heading-title { color: var(--acrv-etape-c); }
.acrv-etape__texte p, .acrv-etape__fin { margin: 0; }
.acrv-etape__fin { display: inline-flex; align-items: center; gap: 10px; }
.acrv-etape__fin .acrv-ri { font-size: 1.5rem; }
.acrv-etape .acrv-bouton { white-space: normal; }

.acrv-vignette { display: flex; flex-direction: column; gap: 15px; min-height: 150px; padding: 15px; border-radius: var(--acrv-r-6); background: var(--acrv-blanc); box-shadow: 0 15px 30px rgba(36, 34, 57, .06); }
.acrv-etape--3 .acrv-vignette { background: var(--acrv-bleu-light); box-shadow: none; }
.acrv-vignette > .elementor-widget-container, .acrv-vignette .elementor-text-editor { display: contents; }
.acrv-vignette__tete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.acrv-vignette__puce { display: inline-grid; place-items: center; min-width: 28px; height: 22px; padding-inline: 8px; border-radius: 500px; background: var(--acrv-etape-teinte); color: var(--acrv-etape-c); font-weight: 700; }
.acrv-vignette__champ { display: flex; flex-direction: column; gap: 4px; margin: auto 0 0; font-size: var(--e-global-typography-secondary-font-size, 1.25rem); font-weight: 700; line-height: 1.2; }
.acrv-vignette__champ span { padding-bottom: 4px; border-bottom: 2px solid var(--acrv-peche); color: var(--acrv-orange); font-size: .875rem; }
.acrv-vignette__jauge { position: relative; height: 6px; border-radius: var(--acrv-r-4); background: var(--acrv-etape-teinte); }
.acrv-vignette__jauge i { position: absolute; inset: 0 auto 0 0; border-radius: var(--acrv-r-4); background: var(--acrv-etape-c); }
.acrv-vignette__jauge--valeur { margin-top: auto; background: var(--acrv-blanc); }
.acrv-vignette__jauge b { position: absolute; left: 75%; top: 50%; translate: -50% -50%; padding: 2px 8px; border-radius: 500px; background: var(--acrv-bleu); color: var(--acrv-blanc); font-size: .625rem; }
.acrv-vignette__choix { display: flex; flex-wrap: wrap; gap: 6px; }
.acrv-vignette__choix span { display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 500px; background: var(--acrv-vert-light); color: var(--acrv-vert); font-weight: 700; }
.acrv-vignette__ligne { display: flex; align-items: baseline; justify-content: space-between; margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--acrv-marine-alpha-2); }
.acrv-vignette__ligne strong { font-size: 1.25rem; }
.acrv-vignette__ligne sup { font-size: .55em; }
.acrv-vignette__qui { display: flex; align-items: center; gap: 10px; }
.acrv-vignette__qui img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.acrv-vignette__qui > span { display: flex; flex-direction: column; line-height: 1.1; }
.acrv-vignette__qui em { font-family: var(--e-global-typography-textecitation-font-family, Georgia), serif; font-size: 1rem; }
.acrv-vignette__statut { padding: 4px 10px; border-radius: 500px; background: var(--acrv-bleu); color: var(--acrv-blanc); font-weight: 700; white-space: nowrap; }
.acrv-vignette__statut--ok { background: var(--acrv-vert); }
.acrv-vignette__liste { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: .875rem; }
.acrv-vignette__liste li { display: flex; align-items: center; gap: 8px; }
.acrv-vignette__liste li::before { content: ""; flex-shrink: 0; width: 16px; height: 16px; background: var(--acrv-vert); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16Z'/%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='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10Zm-.997-6 7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16Z'/%3E%3C/svg%3E") center / contain no-repeat; }

@media (min-width: 768px) {
	.e-con.acrv-etapes-grille { display: grid !important; grid-template-columns: repeat(2, 1fr); }
	.acrv-etapes-grille > .acrv-etape { display: grid !important; grid-row: span 5; grid-template-rows: subgrid; width: auto !important; }
}
@media (min-width: 1025px) {
	.e-con.acrv-etapes-grille { grid-template-columns: repeat(4, 1fr); }
	.acrv-etape__haut::before { content: ""; position: absolute; top: 50%; left: -30px; right: -60px; height: 2px; margin-top: -1px; background: var(--acrv-marine-alpha-2); }
	.acrv-etape--1 .acrv-etape__haut::before { left: 22px; }
	.acrv-etape--4 .acrv-etape__haut::before { right: calc(100% - 22px); }
}

/* ==========================================================================
   Modèle - Chiffres Clés : bento sur une rangée
   ========================================================================== */
.acrv-tuile .acrv-corner { pointer-events: none; }
.acrv-tuile .acrv-corner img { display: block; width: 100%; height: auto; }
.acrv-tuile__label, .acrv-tuile__chiffre { position: relative; z-index: 1; }
.acrv-tuile--video .elementor-widget-video { width: 100%; height: 100%; }
.acrv-tuile--reussite > .elementor-widget-acrv-courbe { height: 100%; }
@media (max-width: 767px) {
	.acrv-tuile--interventions, .acrv-tuile--projets, .acrv-tuile--hebergements { flex-direction: row !important; align-items: center !important; }
}

/* ==========================================================================
   Réservation (widget ACRV - Réservation)
   ========================================================================== */
.acrv-resa-card { isolation: isolate; transition: box-shadow var(--acrv-duration) var(--acrv-ease); }
.acrv-resa-card:has(.is-urgent) { box-shadow: 0 0 0 4px var(--acrv-orange); }
.acrv-resa-card > .acrv-basket { z-index: 0; pointer-events: none; rotate: 12deg; }
.acrv-resa-card > .acrv-resa__widget { position: relative; z-index: 1; width: 100%; }
.acrv-resa-card .acrv-resa__sentence { max-width: 88%; }
.acrv-resa-card .acrv-resa__footer { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--acrv-marine-alpha); }
@media (max-width: 767px) {
	.acrv-resa-card > .acrv-basket { opacity: .35; }
	.acrv-resa-card .acrv-resa__sentence { max-width: 100%; }
}
.acrv-resa-card > .e-con { position: relative; z-index: 1; }
.acrv-resa { color: var(--acrv-resa-text, var(--acrv-marine)); }
.acrv-resa__alert { position: relative; margin-bottom: 30px; padding: 30px 100px 30px 30px; border-radius: var(--acrv-r-6); background: var(--acrv-blanc); color: var(--acrv-resa-alert, var(--acrv-orange)); font-size: .875rem; font-weight: 700; }
.acrv-resa__alert[hidden] { display: none; }
.acrv-resa__alert strong { display: block; margin-bottom: 6px; font-size: 1.25rem; }
.acrv-resa__alert-img { position: absolute; right: 30px; top: -18px; width: 56px; height: auto; }
.acrv-resa.is-shaking .acrv-resa__alert { animation: acrv-shake .5s; }
@keyframes acrv-shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.acrv-resa__label { margin: 0 0 var(--acrv-resa-space, 30px); }
.acrv-resa__sentence { margin: 0; line-height: 1.35; }
.acrv-resa__select { position: relative; display: inline-block; white-space: nowrap; }
.acrv-resa__select select {
	appearance: none;
	-webkit-appearance: none;
	padding: 0 1.15em 0 0;
	border: 0;
	border-bottom: 2px solid var(--acrv-resa-line, rgba(103, 148, 20, .35));
	border-radius: 0;
	background: transparent;
	color: var(--acrv-resa-choice, var(--acrv-vert));
	font: inherit;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color var(--acrv-duration) var(--acrv-ease);
}
.acrv-resa__select select:hover, .acrv-resa__select select:focus { outline: none; border-bottom-color: var(--acrv-resa-choice, var(--acrv-vert)); }
.acrv-resa__select select option { color: var(--acrv-marine); font-size: 1rem; }
.acrv-resa__chevron { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: .7em; height: .7em; padding: .1em; border-radius: 50%; background: var(--acrv-resa-chevron-bg, var(--acrv-anis)); color: var(--acrv-resa-choice, var(--acrv-vert)); fill: currentColor; pointer-events: none; }
.acrv-resa__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 30px; margin-top: 60px; }
.acrv-resa__price { margin: 0; }
.acrv-resa__price strong { font-size: 1.25rem; border-bottom: 2px solid var(--acrv-anis); font-variant-numeric: tabular-nums; }
.acrv-resa__price sup { font-size: .6em; }
.acrv-resa__price .is-pulse { display: inline-block; animation: acrv-pulse .6s var(--acrv-ease); }
@keyframes acrv-pulse { 40% { transform: scale(1.15); } }
@media (max-width: 767px) {
	.acrv-resa__alert { padding-right: 70px; }
	.acrv-resa__alert-img { width: 44px; right: 15px; }
	.acrv-resa__footer { flex-direction: column; align-items: flex-start; }
	.acrv-resa__select { white-space: normal; }
}

/* ==========================================================================
   Chiffres clés (tuiles)
   ========================================================================== */
.e-con.acrv-square { aspect-ratio: 1; }
.acrv-tile { overflow: hidden; }
.acrv-tile .acrv-corner { pointer-events: none; }
.acrv-tile .acrv-corner img { width: 100%; height: auto; display: block; }
.acrv-tile--video .elementor-widget-video, .acrv-video-cover, .acrv-video-cover .elementor-wrapper { width: 100%; height: 100%; }
.acrv-video-cover .elementor-wrapper { aspect-ratio: auto !important; padding: 0 !important; }
.acrv-video-cover video { width: 100%; height: 100% !important; object-fit: cover; }
.acrv-tile--courbe { min-height: 300px; }
.acrv-tile--courbe > .elementor-widget-acrv-courbe { height: 100%; }

@media (max-width: 1024px) {
	.acrv-tile--deco { display: none !important; }
}
@media (max-width: 767px) {
	.e-con.acrv-square:not(.acrv-tile--video) { aspect-ratio: auto; min-height: 260px; }
}

/* Courbe (widget ACRV - Courbe) */
.acrv-courbe {
	position: relative;
	height: 100%;
	min-height: var(--acrv-courbe-height, 300px);
	display: flex;
	flex-direction: column;
	padding: 30px 60px;
	border-radius: var(--acrv-r-12);
	background: var(--acrv-courbe-bg, var(--acrv-vert));
	overflow: hidden;
	isolation: isolate;
}
.acrv-courbe__label, .acrv-courbe__number { position: relative; z-index: 1; margin: 0; }
.acrv-courbe__number { font-variant-numeric: tabular-nums; }
.acrv-courbe__graph { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 72%; overflow: visible; z-index: 0; }
.acrv-courbe__line { fill: none; stroke: var(--acrv-courbe-line, var(--acrv-anis)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.acrv-courbe__dot { fill: var(--acrv-courbe-dot, var(--acrv-blanc)); }
.acrv-courbe__halo { fill: rgba(255, 255, 255, .28); }
.acrv-courbe__link { position: absolute; right: 30px; bottom: 30px; z-index: 2; }
@media (max-width: 767px) { .acrv-courbe { padding: 30px; } }

/* ==========================================================================
   Satisfait ou remboursé
   ========================================================================== */
.acrv-satisfait-card { isolation: isolate; text-align: center; overflow: visible !important; }
.acrv-satisfait-card > .acrv-arcs-wrap { transform: translateX(-50%); z-index: -1 !important; pointer-events: none; }
.acrv-arcs { position: relative; width: 100%; aspect-ratio: 2 / 1; overflow: hidden; }
.acrv-arcs span { position: absolute; left: 50%; bottom: 0; width: calc(100% - var(--n) * var(--acrv-arcs-step, 26%)); aspect-ratio: 1; border-radius: 50%; translate: -50% 50%; background: var(--acrv-arcs-color, rgba(36, 34, 57, .045)); }
.acrv-satisfait .elementor-heading-title { line-height: .9; }
.acrv-satisfait__big, .acrv-satisfait__light { position: relative; display: block; }
.acrv-satisfait__big { z-index: 1; }
.acrv-satisfait__light {
	z-index: 3;
	color: var(--acrv-blanc);
	font-size: var(--e-global-typography-titremonuleger-font-size, 7.5rem);
	letter-spacing: 0;
	line-height: .95;
}
.acrv-satisfait__light em { font-style: normal; color: var(--acrv-orange); }
.acrv-satisfait .char, .acrv-satisfait .word { display: inline-block; }
.acrv-satisfait-card > .acrv-satisfait__img { left: 0 !important; right: 0 !important; margin-inline: auto; pointer-events: none; }
.acrv-satisfait-card > .acrv-satisfait__breadcrumb { width: 100%; margin-bottom: 30px; }
.acrv-satisfait-card .acrv-breadcrumb ol { background: var(--acrv-blanc); }
@media (max-width: 767px) {
	.acrv-satisfait .elementor-heading-title { font-size: min(var(--e-global-typography-titremonumental-font-size, 5.25rem), calc((100vw - 120px) / 3.9)) !important; }
	.acrv-satisfait-card > .acrv-satisfait__link { left: 50% !important; right: auto !important; bottom: auto !important; top: 205px !important; translate: -50% 0; white-space: nowrap; }
}

/* ==========================================================================
   Avis clients (widget ACRV - Avis)
   ========================================================================== */
.acrv-avis--grid { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); gap: 30px; padding-block: 60px; isolation: isolate; }
.acrv-avis--grid::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(var(--acrv-avis-grid, var(--acrv-bleu-light)) 1px, transparent 1px), linear-gradient(90deg, var(--acrv-avis-grid, var(--acrv-bleu-light)) 1px, transparent 1px);
	background-size: 238px 168px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
	mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.acrv-avis__head { grid-column: 2 / span 5; padding: 60px; border-radius: var(--acrv-r-12); background: linear-gradient(180deg, var(--acrv-blanc) 0%, var(--acrv-avis-head, var(--acrv-bleu-light)) 100%); }
.acrv-avis__title { margin: 0; }
.acrv-avis__google { grid-column: 8 / span 4; align-self: center; justify-self: center; }
.acrv-avis__item { grid-column: 2 / span 5; display: grid; gap: 30px; margin: 0; }
.acrv-avis__item--offset, .acrv-avis--grid .acrv-avis__item:nth-of-type(even) { grid-column: 7 / span 5; margin-top: -60px; }
.acrv-avis__quote {
	position: relative;
	margin: 0;
	padding: 60px;
	border: 0;
	border-radius: var(--acrv-r-6);
	background: var(--acrv-blanc);
	box-shadow: var(--acrv-shadow);
	line-height: 1.5;
}
.acrv-avis__quote::after { content: ""; position: absolute; left: 60px; bottom: -10px; border: 10px solid transparent; border-bottom: 0; border-top-color: var(--acrv-blanc); }
.acrv-avis__author { display: flex; align-items: center; gap: 15px; padding-left: 30px; }
.acrv-avis__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.acrv-avis__author strong { display: block; }
.acrv-avis__stars { display: flex; gap: 2px; margin-top: 4px; color: var(--acrv-avis-star, var(--acrv-or)); font-size: .95rem; }
.acrv-avis__stars svg { width: 1em; height: 1em; fill: currentColor; }
@media (max-width: 1024px) {
	.acrv-avis__head { grid-column: 1 / span 7; }
	.acrv-avis__google { grid-column: 8 / span 5; }
	.acrv-avis__item { grid-column: 1 / span 6; }
	.acrv-avis__item--offset, .acrv-avis--grid .acrv-avis__item:nth-of-type(even) { grid-column: 7 / span 6; margin-top: 60px; }
}
@media (max-width: 767px) {
	.acrv-avis--grid { gap: 15px; }
	.acrv-avis__head, .acrv-avis__google, .acrv-avis__item, .acrv-avis__item--offset, .acrv-avis--grid .acrv-avis__item:nth-of-type(even) { grid-column: 1 / -1; margin-top: 0; }
	.acrv-avis__head { padding: 30px; }
	.acrv-avis__google { justify-self: start; margin-block: 15px; }
	.acrv-avis__quote { padding: 30px; }
	.acrv-avis__item + .acrv-avis__item { margin-top: 15px; }
}

/* ==========================================================================
   Modèle - Téléphone
   ========================================================================== */
.acrv-phone { overflow: visible !important; }
.acrv-phone__visual { min-height: 1px; }
.acrv-phone__number .elementor-heading-title { white-space: nowrap; letter-spacing: .02em; }
.acrv-phone__number a:hover { color: var(--acrv-marine); }
.acrv-phone__bubble { transform-origin: left bottom; }
@media (max-width: 767px) {
	.e-con.acrv-phone { padding-top: 190px !important; text-align: center; }
	.acrv-phone > .acrv-phone__visual { position: absolute !important; inset: 0 0 auto 0; height: 170px; }
	.acrv-phone__visual > .acrv-phone__hand { left: calc(50% - 114px) !important; top: -40px !important; bottom: auto !important; }
	.acrv-phone__visual > .acrv-phone__bubble { left: 46% !important; top: 30px !important; }
	.acrv-phone__bubble .acrv-bubble__text { font-size: 1rem; }
	.acrv-phone__number .elementor-heading-title { font-size: 2.25rem; }
}

/* ==========================================================================
   Boucles : cartes d'articles et de guides
   ========================================================================== */
.acrv-loop .e-loop-item { height: 100%; }
@media (min-width: 768px) and (max-width: 1024px) {
	.acrv-loop-news .e-loop-item:nth-of-type(n+3) { display: none; }
}
.e-loop-item > .e-con.acrv-card { height: 100%; }
.acrv-card { position: relative; }
.acrv-card__media { aspect-ratio: 1; isolation: isolate; }
.acrv-card__media > .acrv-card__img { width: 100%; height: 100%; }
.acrv-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--acrv-ease); }
.e-loop-item:hover .acrv-card__img img { transform: scale(1.06); }
.acrv-card__media > .acrv-card__tag { position: absolute !important; left: 15px; bottom: 15px; width: auto !important; margin: 0 !important; padding: 10px 20px; border-radius: 500px; background: var(--acrv-bleu); z-index: 1; }
.acrv-card__tag img { display: block; height: 18px; width: auto; }
.acrv-card__media > .acrv-card__tag:not(:has(img)) { display: none; }
.acrv-card__title, .acrv-card__excerpt, .acrv-card__more { padding-inline: 15px; }
.acrv-card__title { margin-top: 15px; }
.acrv-card__title a { color: inherit; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--acrv-duration) var(--acrv-ease); }
.acrv-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.e-loop-item:hover .acrv-card__title a { background-size: 100% 1px; }
.acrv-card__excerpt p { margin: 0; }
.acrv-card__more { margin-top: auto !important; }
@media (max-width: 767px) {
	.acrv-card__media { aspect-ratio: 4 / 3; }
	.acrv-card__title, .acrv-card__excerpt, .acrv-card__more { padding-inline: 0; }
}

/* Pagination des grilles */
.acrv-loop .elementor-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.acrv-loop .elementor-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding-inline: 15px; margin: 0 !important; border-radius: 500px; background: var(--acrv-bleu-light); text-decoration: none; transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease); }
.acrv-loop .elementor-pagination .page-numbers.current, .acrv-loop .elementor-pagination a.page-numbers:hover { background: var(--acrv-bleu); color: var(--acrv-blanc) !important; }
.acrv-loop .elementor-pagination .page-numbers.dots { background: none; }
.acrv-loop .elementor-pagination span.page-numbers:is(.prev, .next) { display: none; }

/* Pastilles (contenus liés) */
.acrv-loop--pills .elementor-loop-container { display: flex !important; flex-wrap: wrap; gap: 10px; }
.acrv-loop--pills .e-loop-item { width: auto; }
.acrv-pill .elementor-heading-title { margin: 0; }
.acrv-pill .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border-radius: 500px;
	background: var(--acrv-bleu-light);
	color: var(--acrv-bleu);
	transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease);
}
.acrv-pill .elementor-heading-title a:hover { background: var(--acrv-bleu); color: var(--acrv-blanc); }


/* ==========================================================================
   Contenu éditorial (articles, guides, pages de contenu)
   ========================================================================== */
.acrv-content { line-height: 1.65; }
.acrv-content > * + *, .acrv-content .elementor-widget-container > * + * { margin-top: 30px; }
.acrv-content :is(p, ul, ol, figure, blockquote, table) { margin-block: 0; }
.acrv-content > * + *:is(p, ul, ol) { margin-top: 15px; }
.acrv-content :is(h2, h3, h4) { color: var(--acrv-bleu); font-weight: 700; scroll-margin-top: calc(var(--acrv-sticky-offset) + 30px); }
.acrv-content h2 { font-size: var(--e-global-typography-primary-font-size, 1.875rem); line-height: 1.25; margin-top: 60px; }
.acrv-content h3 { font-size: var(--e-global-typography-titreleger-font-size, 1.5rem); line-height: 1.3; margin-top: 60px; }
.acrv-content h4 { font-size: var(--e-global-typography-secondary-font-size, 1.25rem); line-height: 1.3; margin-top: 30px; }
.acrv-content > :first-child, .acrv-content .elementor-widget-container > :first-child { margin-top: 0; }
.acrv-content :is(h2, h3, h4) + p { margin-top: 15px; }
.acrv-content a { color: var(--acrv-bleu); text-decoration: underline; text-underline-offset: 2px; }
.acrv-content a:hover { color: var(--acrv-orange); }
.acrv-content ul:not([class*="acrv"]) { display: grid; gap: 8px; padding: 0; list-style: none; }
.acrv-content ul:not([class*="acrv"]) > li { position: relative; padding-left: 20px; }
.acrv-content ul:not([class*="acrv"]) > li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--acrv-anis); }
.acrv-content ol { padding-left: 1.25em; display: grid; gap: 8px; }
.acrv-content img { border-radius: var(--acrv-r-12); }
.acrv-content figure figcaption { margin-top: 8px; font-size: .75rem; opacity: .75; }
.acrv-content hr { border: 0; height: 2px; background: var(--acrv-bleu-light); }
.acrv-content hr.wp-block-separator, .acrv-content > hr { margin-block: 60px 0; }
.acrv-content hr + :is(h2, h3) { margin-top: 60px; }
@media (max-width: 767px) {
	.acrv-content hr.wp-block-separator, .acrv-content > hr { margin-top: 30px; }
	.acrv-content hr + :is(h2, h3) { margin-top: 30px; }
}
.acrv-content blockquote { margin-inline: 0; padding: 30px; border-left: 4px solid var(--acrv-anis); border-radius: 0 var(--acrv-r-6) var(--acrv-r-6) 0; background: var(--acrv-bleu-light); font-style: italic; }
.acrv-content table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.acrv-content :is(th, td) { padding: 10px 15px; border: 1px solid var(--acrv-bleu-light); text-align: left; }
.acrv-content th { background: var(--acrv-bleu-light); }

/* Encadrés : résumé, verdicts, conclusion */
.acrv-content .wp-block-group[class*="is-style-"] { position: relative; padding: 30px; border-radius: var(--acrv-r-6); }
.acrv-content .wp-block-group[class*="is-style-"] > * { margin: 0; }
.acrv-content .wp-block-group[class*="is-style-"] > * + * { margin-top: 10px; }
.acrv-content .is-style-encadre-titre { font-weight: 700; font-size: var(--e-global-typography-secondary-font-size, 1.125rem); line-height: 1.3; }
.acrv-content .is-style-resume { background: var(--acrv-bleu-light); color: var(--acrv-bleu); font-style: italic; font-size: 1rem; }
.acrv-content .is-style-resume .is-style-encadre-titre { font-style: normal; font-size: 1rem; }
.acrv-content .is-style-verdict-positif, .acrv-content .is-style-verdict-negatif { padding: 60px; font-weight: 700; }
.acrv-content .is-style-verdict-positif { background: var(--acrv-vert-light); color: var(--acrv-vert); }
.acrv-content .is-style-verdict-negatif { background: var(--acrv-orange-light); color: var(--acrv-orange); }
.acrv-content .is-style-verdict-positif::before, .acrv-content .is-style-verdict-negatif::before { content: ""; position: absolute; right: 30px; top: -24px; width: 60px; aspect-ratio: 1; background: url("../img/valid.webp") center / contain no-repeat; }
.acrv-content .is-style-verdict-negatif::before { background-image: url("../img/alert.webp"); }
.acrv-content .is-style-verdict-positif .is-style-encadre-titre, .acrv-content .is-style-verdict-negatif .is-style-encadre-titre { padding-right: 60px; font-size: var(--e-global-typography-secondary-font-size, 1.25rem); }
.acrv-content .is-style-conclusion { background: var(--acrv-bleu); color: var(--acrv-blanc); }
.acrv-content .is-style-conclusion a { color: inherit; }
@media (min-width: 1025px) {
	.acrv-content .is-style-resume, .acrv-content .is-style-conclusion { padding: 60px; }
}
@media (max-width: 767px) {
	.acrv-content .is-style-verdict-positif, .acrv-content .is-style-verdict-negatif { padding: 60px 30px 30px; }
}


/* ==========================================================================
   Appel FAQ (carte avec bulles)
   ========================================================================== */
.acrv-faq-cta { isolation: isolate; }
.acrv-faq-cta__img img { display: block; margin-inline: auto; }
.acrv-faq-cta__bubble { z-index: 3; }

/* FAQ en bande : bande de personnages posée sur le bord bas de la carte */
.acrv-faq-bande__visuel { position: relative; }
.acrv-faq-bande__img img { display: block; width: 100%; height: auto; margin-bottom: -1px; }
.acrv-faq-bande__visuel > .acrv-faq-bande__bulle { position: absolute !important; z-index: 1; width: auto !important; max-width: none !important; }
.acrv-faq-bande__bulle--1 { top: 4%; left: 14%; }
.acrv-faq-bande__bulle--2 { top: 10%; right: 4%; }
@media (max-width: 767px) {
	.acrv-faq-bande > .acrv-faq-bande__visuel, .acrv-hero-page--groupe > .acrv-faq-bande__visuel { width: calc(100% + 30px) !important; max-width: none; margin-inline: -15px; overflow: hidden; }
	.acrv-faq-bande__img img { width: 180%; max-width: none; margin-left: -40%; }
	.acrv-faq-bande__bulle--1 { top: 0; left: 15px; }
	.acrv-faq-bande__bulle--2 { top: 8%; right: 15px; }
}

/* ==========================================================================
   FAQ : en-tête et tuile collante à gauche, questions en accordéon à droite
   ========================================================================== */
.e-con.acrv-faq { display: grid !important; grid-template-columns: calc(33.333% - 30px) calc(66.667% - 30px); grid-template-rows: auto 1fr; grid-template-areas: "tete liste" "tuile liste"; gap: 30px 60px; align-items: start; }
.acrv-faq > .acrv-faq__tete { grid-area: tete; }
.acrv-faq > .acrv-faq__tuile { grid-area: tuile; position: sticky; top: calc(var(--acrv-sticky-offset) + var(--acrv-admin-h) + 30px); }
.acrv-faq > .acrv-faq__liste { grid-area: liste; }
.acrv-faq__titre .elementor-heading-title { text-wrap: balance; }
.acrv-faq__liste .elementor-loop-container { counter-reset: acrv-question; }
.acrv-faq__liste .e-loop-item { counter-increment: acrv-question; }

/* Carte de question : bordure fine, bleu clair une fois ouverte */
.e-con.acrv-question { background: var(--acrv-blanc); box-shadow: inset 0 0 0 1px var(--acrv-marine-alpha-2); transition: background .3s, box-shadow .3s; }
.e-con.acrv-question:hover { box-shadow: inset 0 0 0 1px var(--acrv-bleu); }
.e-con.acrv-question.is-ouvert { background: var(--acrv-bleu-light); box-shadow: none; }
.acrv-question__tete { cursor: pointer; }
.acrv-question__tete > .acrv-question__titres { flex: 1 1 0; min-width: 0; }
.acrv-question__tete > .elementor-widget-html { width: auto; flex-shrink: 0; }
.acrv-question__num { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--acrv-bleu-light); color: var(--acrv-bleu); font-size: .75rem; font-weight: 700; line-height: 1; transition: background .3s; }
.acrv-question__num::before { content: counter(acrv-question, decimal-leading-zero); }
.acrv-question.is-ouvert .acrv-question__num { background: var(--acrv-blanc); }
.acrv-question__titre .elementor-heading-title { text-wrap: pretty; }
.acrv-question__auteur .elementor-heading-title { display: flex; width: fit-content; margin: 0; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 500px; background: var(--acrv-orange-light); color: var(--acrv-orange); transition: background .3s; }
.acrv-question__auteur .elementor-heading-title::before { content: ""; flex-shrink: 0; width: 14px; height: 14px; 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='M4 22C4 17.5817 7.58172 14 12 14C16.4183 14 20 17.5817 20 22H18C18 18.6863 15.3137 16 12 16C8.68629 16 6 18.6863 6 22H4ZM12 13C8.685 13 6 10.315 6 7C6 3.685 8.685 1 12 1C15.315 1 18 3.685 18 7C18 10.315 15.315 13 12 13ZM12 11C14.21 11 16 9.21 16 7C16 4.79 14.21 3 12 3C9.79 3 8 4.79 8 7C8 9.21 9.79 11 12 11Z'/%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='M4 22C4 17.5817 7.58172 14 12 14C16.4183 14 20 17.5817 20 22H18C18 18.6863 15.3137 16 12 16C8.68629 16 6 18.6863 6 22H4ZM12 13C8.685 13 6 10.315 6 7C6 3.685 8.685 1 12 1C15.315 1 18 3.685 18 7C18 10.315 15.315 13 12 13ZM12 11C14.21 11 16 9.21 16 7C16 4.79 14.21 3 12 3C9.79 3 8 4.79 8 7C8 9.21 9.79 11 12 11Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.acrv-question.is-ouvert .acrv-question__auteur .elementor-heading-title { background: var(--acrv-blanc); }

/* Bouton plus qui pivote en croix */
.acrv-question .acrv-question__bouton { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: var(--acrv-bleu-light); color: var(--acrv-bleu); font-size: 1.125rem; cursor: pointer; transition: transform .3s, background .3s, color .3s; }
.acrv-question .acrv-question__bouton:hover, .acrv-question .acrv-question__bouton:focus { background: var(--acrv-bleu-light); color: var(--acrv-bleu); }
.acrv-question .acrv-question__bouton:focus-visible { outline: 2px solid var(--acrv-bleu); outline-offset: 2px; }
.acrv-question.is-ouvert .acrv-question__bouton, .acrv-question.is-ouvert .acrv-question__bouton:hover, .acrv-question.is-ouvert .acrv-question__bouton:focus { background: var(--acrv-bleu); color: var(--acrv-blanc); transform: rotate(45deg); }

/* Réponse repliée par la grille, une fois le script prêt (sans script, tout reste ouvert) */
.acrv-question__corps { display: grid !important; grid-template-rows: 1fr; }
.acrv-question.is-pret:not(.is-ouvert) > .acrv-question__corps { grid-template-rows: 0fr; }
.acrv-question.is-anime > .acrv-question__corps { transition: grid-template-rows .4s ease; }
.acrv-question__corps > .acrv-question__contenu { min-height: 0; overflow: hidden; }
.acrv-question__reponse > .elementor-widget-theme-post-excerpt { max-width: 820px; }
.acrv-question__answer p { margin: 0; }

@media (max-width: 1024px) {
	.e-con.acrv-faq { grid-template-columns: 100%; grid-template-rows: auto; grid-template-areas: "tete" "liste" "tuile"; gap: 60px; }
	.acrv-faq > .acrv-faq__tuile { position: relative; top: auto; }
}
@media (max-width: 767px) {
	.e-con.acrv-faq { gap: 30px; }
	.acrv-question__tete > .acrv-question__num-wrap { display: none; }
}

/* ==========================================================================
   Blog : article à la une, catégories, grille et article
   ========================================================================== */
.acrv-pastille-cat .elementor-heading-title { display: flex; width: fit-content; margin: 0; padding: 4px 12px; border-radius: 500px; background: var(--acrv-bleu); }
.acrv-meta .elementor-heading-title { margin: 0; opacity: .75; }
.acrv-auteur .acrv-bubble { padding: 0; background: transparent; box-shadow: none; }
.acrv-auteur .acrv-bubble::after { display: none; }
.acrv-auteur .acrv-bubble__label { font-weight: 400; }
.acrv-breadcrumb [aria-current] { display: inline-block; max-width: min(36ch, 60vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* Article à la une, posé dans le hero de la page Blog */
.acrv-hero-page--une > .acrv-une-grille { width: 100%; }
.acrv-une { position: relative; text-align: left; }
.acrv-une > .acrv-une__media { position: relative; min-height: 280px; isolation: isolate; }
.acrv-une__media > .acrv-une__img { position: absolute !important; inset: 0; z-index: -1; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; }
.acrv-une__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--acrv-ease); }
.e-loop-item:hover .acrv-une__img img { transform: scale(1.04); }
.acrv-une__media > .acrv-une__badge { position: absolute !important; top: 15px; left: 15px; width: auto !important; margin: 0 !important; z-index: 1; }
.acrv-une__badge .elementor-heading-title { display: flex; align-items: center; gap: 6px; margin: 0; padding: 4px 12px; border-radius: 500px; background: var(--acrv-orange); }
.acrv-une__badge .elementor-heading-title::before { content: ""; width: 14px; height: 14px; 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='M13 9H21L11 24V15H4L13 0V9ZM11 11V7.22063L7.53238 13H13V17.3944L17.263 11H11Z'/%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='M13 9H21L11 24V15H4L13 0V9ZM11 11V7.22063L7.53238 13H13V17.3944L17.263 11H11Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.acrv-une__titre .elementor-heading-title { text-wrap: balance; }
.acrv-une__titre a { color: inherit; }
.acrv-une__titre a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.acrv-une__extrait p { margin: 0; }
.e-loop-item:hover .acrv-une__lien .acrv-link__icon { background: var(--_hover-icon-bg); color: var(--_hover-icon); transform: translateX(4px); }
@media (max-width: 767px) {
	.acrv-une > .acrv-une__media { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Catégories en pastilles (widget ACRV - Catégories) */
.acrv-categories { display: flex; flex-wrap: wrap; gap: 10px; }
.acrv-categories__lien { display: inline-flex; align-items: center; gap: 10px; padding: 6px 6px 6px 16px; border-radius: 500px; background: var(--acrv-cat-bg, var(--acrv-bleu-light)); color: var(--acrv-cat-color, var(--acrv-marine)); font-size: .875rem; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease); }
.acrv-categories__lien b { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 500px; background: var(--acrv-blanc); color: var(--acrv-bleu); font-size: .6875rem; }
.acrv-categories__lien:hover { background: var(--acrv-bleu-light-2); color: var(--acrv-cat-color, var(--acrv-marine)); }
.acrv-categories__lien.is-actif, .acrv-categories__lien.is-actif:hover { background: var(--acrv-cat-active-bg, var(--acrv-bleu)); color: var(--acrv-cat-active-color, var(--acrv-blanc)); }

/* Grille du blog : cartes en 16/10 avec date et temps de lecture */
.acrv-card--article .acrv-card__media { aspect-ratio: 16 / 10; }
.acrv-card__meta { padding-inline: 15px; margin-top: 15px; }
.acrv-card__meta + .acrv-card__title { margin-top: 0; }
@media (max-width: 767px) {
	.acrv-card__meta { padding-inline: 0; }
}

/* Article : contenu à gauche, colonne collante à droite (sommaire et tuile) */
.e-con.acrv-article { display: grid !important; grid-template-columns: calc(58.333% - 30px) calc(33.333% - 30px); justify-content: space-between; align-items: start; }
.acrv-article > .acrv-article__contenu { width: 100%; min-width: 0; }
.acrv-article > .acrv-article__aside { position: sticky; top: calc(var(--acrv-sticky-offset) + var(--acrv-admin-h) + 30px); }
.acrv-sommaire-wrap:has(.acrv-sommaire[hidden]) { display: none; }
.acrv-sommaire { display: flex; flex-direction: column; gap: 15px; padding: 30px; border-radius: var(--acrv-r-12); box-shadow: inset 0 0 0 1px var(--acrv-marine-alpha-2); }
.acrv-sommaire__titre { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: .75rem; font-weight: 700; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.acrv-sommaire__titre::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--acrv-bleu); }
.acrv-sommaire ol { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; counter-reset: acrv-sommaire; }
.acrv-sommaire li { counter-increment: acrv-sommaire; }
.acrv-sommaire a { display: flex; gap: 10px; padding: 8px 0 8px 15px; border-left: 2px solid var(--acrv-bleu-light); color: var(--acrv-marine); font-size: .875rem; line-height: 1.4; text-decoration: none; transition: border-color var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease); }
.acrv-sommaire a::before { content: counter(acrv-sommaire, decimal-leading-zero); flex-shrink: 0; color: var(--acrv-bleu); font-size: .75rem; font-weight: 700; line-height: 1.9; }
.acrv-sommaire a:hover { color: var(--acrv-bleu); }
.acrv-sommaire a.is-actif { border-color: var(--acrv-bleu); color: var(--acrv-bleu); font-weight: 700; }
@media (max-width: 1024px) {
	.e-con.acrv-article { grid-template-columns: 100%; justify-items: center; gap: 60px; }
	.elementor .e-con.acrv-article > .acrv-article__contenu, .acrv-article > .acrv-article__aside { width: 100%; max-width: 760px; }
	.acrv-article > .acrv-article__aside { position: relative; top: auto; }
	.acrv-article__aside > .acrv-sommaire-wrap { display: none; }
}
@media (max-width: 767px) {
	.e-con.acrv-article { gap: 30px; }
}

/* ==========================================================================
   Frise (widget ACRV - Frise) : page Fonctionnement
   Vos étapes à gauche, les nôtres à droite, sur une grille à deux couloirs.
   Chaque temps se place en face de sa première étape, dans le couloir libre.
   ========================================================================== */
.acrv-frise-zone { --acrv-frise-gutter: 60px; position: relative; }
.acrv-frise__couloirs { position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(var(--acrv-frise-gutter) * 2); padding-bottom: 60px; }
.acrv-frise__couloirs::before { content: ""; position: absolute; top: 50%; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: var(--acrv-frise-line, var(--acrv-marine-alpha-2)); }
.acrv-frise__couloir { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 6px 15px; border-radius: 500px; background: var(--acrv-frise-pill-bg, var(--acrv-bleu-light)); color: var(--acrv-frise-pill, var(--acrv-bleu)); }
.acrv-frise__couloir--left { justify-self: end; }
.acrv-frise__couloir .acrv-i { width: 14px; height: 14px; fill: currentColor; }

.acrv-frise { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: start; column-gap: calc(var(--acrv-frise-gutter) * 2); row-gap: 30px; margin: 0; padding: 0; list-style: none; }
.acrv-frise::before { content: ""; position: absolute; top: 0; bottom: 20px; left: 50%; width: 2px; margin-left: -1px; background: var(--acrv-frise-line, var(--acrv-marine-alpha-2)); }

/* Temps : pastille blanche en face de la première étape */
.acrv-frise__phase { position: relative; z-index: 1; display: flex; align-items: center; gap: 15px; margin-top: 20px; padding: 6px 15px 6px 6px; border-radius: 500px; background: var(--acrv-blanc); box-shadow: 0 0 0 1px var(--acrv-marine-alpha-2), 0 15px 30px rgba(36, 34, 57, .08); }
.acrv-frise__phase.is-releve { margin-top: 0; }
.acrv-frise__phase--left { justify-self: end; }
.acrv-frise__phase--right { justify-self: start; }
.acrv-frise__phase-icon { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--acrv-frise-bg, var(--acrv-bleu)); color: var(--acrv-blanc); font-size: 1.375rem; }
.acrv-frise__phase-icon .acrv-i { width: 1em; height: 1em; fill: currentColor; }
.acrv-frise__phase .acrv-frise__pill { white-space: nowrap; }

/* Pastilles : étape du temps, statut de l'étape */
.acrv-frise__pill { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 500px; background: var(--acrv-frise-pill-bg, var(--acrv-bleu-light)); color: var(--acrv-frise-pill, var(--acrv-bleu)); }
.acrv-frise__pill--statut { --acrv-frise-pill-bg: var(--acrv-blanc); --acrv-frise-pill: var(--acrv-marine); }
.acrv-frise__pill--statut::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--acrv-frise-dot, var(--acrv-orange)); }

/* Étape */
.acrv-frise__item { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: 83.333%; padding: 30px; border-radius: var(--acrv-frise-radius, 12px); background: var(--acrv-frise-bg, var(--acrv-bleu-light)); color: var(--acrv-frise-text, var(--acrv-marine)); }
.acrv-frise__item--left { justify-self: end; border-top-right-radius: var(--acrv-r-4); }
.acrv-frise__item--right { justify-self: start; border-top-left-radius: var(--acrv-r-4); }
.acrv-frise__item.is-decale { margin-top: 90px; }
.acrv-frise__item.is-remonte { margin-top: -90px; }
.acrv-frise__item.is-releve { margin-top: -20px; }
.acrv-frise__item.has-bubble:not(.is-decale):not(.is-remonte):not(.is-releve) { margin-top: 30px; }
.acrv-frise__title { margin: 0 !important; color: var(--acrv-frise-accent, var(--acrv-bleu)); }
.acrv-frise__item.has-bubble .acrv-frise__pill, .acrv-frise__item.has-bubble .acrv-frise__title { margin-top: 10px !important; }
.acrv-frise__item.has-bubble .acrv-frise__pill + .acrv-frise__title { margin-top: 0 !important; }
.acrv-frise__text { margin: 0; max-width: 460px; }
.acrv-frise__action { margin-top: 15px; }
.acrv-frise__action .acrv-btn { white-space: normal; }

/* Numéro rond posé sur la ligne, à hauteur du titre */
.acrv-frise__num { position: absolute; top: 30px; display: grid; place-items: center; width: 36px; height: 36px; border: 2px solid var(--acrv-frise-point, var(--acrv-frise-accent, var(--acrv-bleu))); border-radius: 50%; background: var(--acrv-blanc); color: var(--acrv-frise-point, var(--acrv-frise-accent, var(--acrv-bleu))); font-size: .75rem; font-weight: 700; line-height: 1; }
.acrv-frise__item--left .acrv-frise__num { right: calc((var(--acrv-frise-gutter) + 18px) * -1); }
.acrv-frise__item--right .acrv-frise__num { left: calc((var(--acrv-frise-gutter) + 18px) * -1); }

/* Bulle posée sur le bord haut de l'étape */
.acrv-frise__bubble { position: absolute !important; top: 0; left: 30px; z-index: 2; transform: translateY(-60%); }
.acrv-frise__bubble.acrv-bubble::after { left: 24px; top: 100%; border-top-color: var(--acrv-blanc); border-bottom: 0; }

/* Fin de la frise */
.acrv-frise__fin { position: relative; z-index: 1; grid-column: 1 / -1; justify-self: center; display: flex; align-items: center; gap: 10px; margin-top: 30px; padding: 6px 20px 6px 6px; border-radius: 500px; background: var(--acrv-frise-end-bg, var(--acrv-vert-light)); color: var(--acrv-frise-end, var(--acrv-vert)); }
.acrv-frise__fin-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--acrv-frise-end, var(--acrv-vert)); color: var(--acrv-blanc); font-size: 1.25rem; }
.acrv-frise__fin-icon .acrv-i { width: 1em; height: 1em; fill: currentColor; }

@media (max-width: 1024px) {
	.acrv-frise-zone { --acrv-frise-gutter: 45px; }
	.acrv-frise__item { width: 100%; }
}
@media (max-width: 767px) {
	.acrv-frise__couloirs { display: none; }
	.acrv-frise { display: flex; flex-direction: column; gap: 30px; }
	.acrv-frise::before { left: 21px; }
	.acrv-frise > li { margin-left: 60px !important; }
	.acrv-frise > .acrv-frise__phase, .acrv-frise > .acrv-frise__fin { margin-left: -6px !important; }
	.acrv-frise__phase, .acrv-frise__phase.is-releve, .acrv-frise__fin { align-self: flex-start; margin-top: 15px; }
	.acrv-frise__fin { padding-left: 10px; }
	.acrv-frise__item, .acrv-frise__item.is-decale, .acrv-frise__item.is-remonte, .acrv-frise__item.is-releve { width: auto; margin-top: 0; border-radius: var(--acrv-frise-radius, 12px); border-top-left-radius: var(--acrv-r-4); }
	.acrv-frise__item.has-bubble { margin-top: 30px !important; }
	.acrv-frise__item .acrv-frise__num { left: -56px; right: auto; }
	.acrv-frise__item { padding: 30px 15px; }
	.acrv-frise__bubble { left: 15px; }
}

/* ==========================================================================
   Tarifs (widget ACRV - Tarifs) : bascule entre les types, une tuile par durée
   ========================================================================== */
.acrv-pricing__legend p { margin: 0 0 4px; }
.acrv-note-urgent { color: var(--acrv-orange); }

.acrv-tarifs-grille { --acrv-tarif-bg: var(--acrv-vert-light); --acrv-tarif-accent: var(--acrv-vert); display: flex; flex-direction: column; gap: 30px; }
.acrv-tarifs-grille__barre { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 30px; }
.acrv-tarifs-grille__regle { margin: 0; }
.acrv-tarifs-grille__regle [hidden] { display: none; }

.acrv-bascule { display: inline-flex; padding: 4px; border-radius: 500px; background: var(--acrv-bascule-bg, var(--acrv-marine-alpha)); }
.acrv-bascule__choix { padding: 8px 18px; border: 0; border-radius: 500px; background: transparent; color: var(--acrv-marine); line-height: 1.2; cursor: pointer; transition: background var(--acrv-duration) var(--acrv-ease), color var(--acrv-duration) var(--acrv-ease); }
.acrv-bascule__choix:hover { background: var(--acrv-blanc); }
.acrv-bascule__choix.is-actif { background: var(--acrv-tarif-accent, var(--acrv-vert)); color: var(--acrv-blanc); }
.acrv-bascule__choix:focus-visible { outline: 2px solid var(--acrv-tarif-accent, var(--acrv-vert)); outline-offset: 2px; }

.acrv-tarifs-grille__grille { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; }
.acrv-tuile-prix { display: flex; flex-direction: column; gap: 15px; padding: 30px; border-radius: var(--acrv-tarifs-radius, 12px); background: var(--acrv-blanc); box-shadow: inset 0 0 0 1px var(--acrv-tarifs-line, var(--acrv-marine-alpha-2)); transition: background .4s ease; }
.acrv-tuile-prix.is-hot { background: var(--acrv-tarif-bg); box-shadow: none; }
.acrv-tuile-prix__tete { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.acrv-tuile-prix__hot { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 500px; background: var(--acrv-tarifs-pill-bg, var(--acrv-blanc)); color: var(--acrv-tarifs-pill, var(--acrv-orange)); }
.acrv-tuile-prix__hot .acrv-i { width: 12px; height: 12px; fill: currentColor; }
.acrv-tuile-prix__prix { display: flex; align-items: flex-start; gap: 4px; margin: auto 0 0; color: var(--acrv-tarif-accent); transition: color .4s ease; }
.acrv-tuile-prix__prix strong { font-weight: inherit; white-space: nowrap; font-variant-numeric: tabular-nums; }
.acrv-tuile-prix__prix sup { top: 0; margin-top: 2px; line-height: 1; }

/* Tuile finale : sur toute la hauteur, en fin des deux lignes */
.acrv-tuile-prix--finale { grid-column: 5; grid-row: 1 / span 2; background: var(--acrv-tarif-audit-bg, var(--acrv-marine)); box-shadow: none; color: var(--acrv-tarif-audit-text, var(--acrv-blanc)); }
.acrv-tuile-prix--finale .acrv-tuile-prix__prix { margin-top: 0; color: var(--acrv-tarif-audit-prix, var(--acrv-anis)); }
.acrv-tuile-prix__texte { margin: 0; opacity: .8; }
.acrv-tuile-prix__lien { margin-top: auto; color: inherit; --acrv-link-icon-bg: var(--acrv-blanc-alpha); --acrv-link-icon: var(--acrv-blanc); --acrv-link-hover-icon: var(--acrv-marine); }

@media (max-width: 1024px) {
	.acrv-tarifs-grille__grille { grid-template-columns: repeat(2, 1fr); }
	.acrv-tuile-prix--finale { grid-column: 1 / -1; grid-row: auto; }
	.acrv-tuile-prix__lien { margin-top: 10px; }
}
@media (max-width: 767px) {
	.acrv-tarifs-grille__grille { gap: 15px; }
	.acrv-tuile-prix { padding: 15px; }
	.acrv-tuile-prix__hot { padding: 2px 8px; }
}

/* ==========================================================================
   Pages internes : approche et galerie, équipe, saviez-vous
   ========================================================================== */
.e-con.acrv-galerie { display: grid !important; grid-template-columns: repeat(6, 1fr); align-items: start; }
.acrv-galerie > .acrv-galerie__img { width: auto !important; max-width: none !important; margin: 0 !important; }
.acrv-galerie > .acrv-galerie__img:nth-child(even) { margin-top: 60px !important; }
.acrv-galerie__img img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--acrv-r-12); }
@media (max-width: 1024px) {
	.e-con.acrv-galerie { grid-template-columns: repeat(3, 1fr); }
	.acrv-galerie > .acrv-galerie__img:nth-child(even) { margin-top: 0 !important; }
}
@media (max-width: 767px) {
	.e-con.acrv-galerie { grid-template-columns: repeat(2, 1fr); }
}

.acrv-membre { position: relative; }
.acrv-membre__img img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.acrv-membre > .acrv-membre__legende { position: absolute !important; left: 15px; right: 15px; bottom: 15px; width: auto !important; z-index: 1; box-shadow: 0 15px 30px rgba(36, 34, 57, .15); }
@media (max-width: 1024px) {
	.acrv-membre > .acrv-membre__legende { left: 10px; right: 10px; bottom: 10px; }
}
@media (max-width: 767px) {
	.acrv-membre > .acrv-membre__legende { position: static !important; flex-grow: 1; border-radius: 0 !important; box-shadow: none; }
}

/* Contact : formulaire en carte et tuiles de coordonnées */
.acrv-contact__titre .elementor-heading-title { text-wrap: balance; }
.acrv-contact__infos > .acrv-tuile-contact--tel { flex-grow: 1; }
.acrv-tuile-contact > .elementor-widget-text-editor:first-child { margin-bottom: 5px; }
.acrv-tuile-contact__icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--acrv-orange); color: var(--acrv-blanc); font-size: 1.375rem; }
.acrv-tuile-contact--tel .acrv-tuile-contact__icone { background: var(--acrv-anis); color: var(--acrv-marine); }
/* Sur le fond marine, le bouton d'urgence passe sur fond blanc pour rester visible */
.acrv-tuile-contact--tel .acrv-btn[data-acrv-action="emergency"], .acrv-tuile-contact--tel [data-acrv-action="emergency"] .acrv-btn { --acrv-btn-bg: var(--acrv-blanc) !important; }
.acrv-tuile-contact__icone .acrv-ri { width: 1em; height: 1em; fill: currentColor; }

/* ==========================================================================
   Pages de service : encart « Le service qui correspond » (articles, guides),
   cartes de l'accueil et liens des menus
   ========================================================================== */
.acrv-service-lie { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 30px; border-radius: var(--acrv-r-12); background: var(--acrv-bleu-light); color: var(--acrv-marine); text-decoration: none; transition: box-shadow var(--acrv-duration) var(--acrv-ease); }
.acrv-service-lie:hover { box-shadow: inset 0 0 0 1px var(--acrv-bleu); color: var(--acrv-marine); }
.acrv-service-lie__surtitre { font-size: .75rem; font-weight: 700; line-height: 1.4; }
.acrv-service-lie__haut { display: flex; align-items: center; gap: 12px; }
.acrv-service-lie__icone { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--acrv-bleu); color: var(--acrv-blanc); font-size: 1.25rem; }
.acrv-service-lie__titre { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-size: var(--e-global-typography-secondary-font-size, 1.25rem); font-weight: var(--e-global-typography-secondary-font-weight, 700); line-height: 1.25; color: var(--acrv-bleu); }
.acrv-service-lie__texte { font-size: .875rem; line-height: 1.6; }
.acrv-service-lie__lien { display: inline-flex; align-items: center; gap: 10px; margin-top: 5px; font-family: var(--e-global-typography-accent-font-family), sans-serif; font-size: var(--e-global-typography-accent-font-size, .875rem); font-weight: var(--e-global-typography-accent-font-weight, 700); }
.acrv-service-lie__lien i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--acrv-blanc); color: var(--acrv-bleu); font-size: .875rem; transition: transform var(--acrv-duration) var(--acrv-ease); }
.acrv-service-lie:hover .acrv-service-lie__lien i { transform: translateX(3px); }
.acrv-menu--footer.acrv-menu--services a { font-weight: 700; }
.acrv-tuile-contact__numero .elementor-heading-title a { white-space: nowrap; }
.acrv-tuile-contact__horaires { opacity: .8; }

/* Garantie Satisfait ou remboursé : trois étapes */
.acrv-garantie__etape { --acrv-g-c: var(--acrv-bleu); --acrv-g-on: var(--acrv-blanc); }
.acrv-garantie__etape--3 { --acrv-g-c: var(--acrv-blanc); --acrv-g-on: var(--acrv-bleu); }
.acrv-garantie__haut { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 15px; }
.acrv-garantie__etape > .elementor-widget-text-editor:first-child { width: 100%; }
.acrv-garantie__icone { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--acrv-g-c); color: var(--acrv-g-on); font-size: 1.375rem; }
.acrv-garantie__icone .acrv-ri { width: 1em; height: 1em; fill: currentColor; }
.acrv-garantie .acrv-pastille { color: var(--acrv-bleu); }
.acrv-garantie__etape p { margin: 0; }

.acrv-savoir { isolation: isolate; }
.acrv-savoir > .acrv-savoir__bg { position: absolute !important; inset: 0; z-index: -1; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; overflow: hidden; }
.acrv-savoir__bg img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.acrv-savoir__logo img { width: 100%; height: auto; }

/* ==========================================================================
   Merci, 404, recherche
   ========================================================================== */
.acrv-404__code .elementor-heading-title { line-height: .9; }
.acrv-404__code .char { display: inline-block; }
.acrv-search .elementor-search-form__container { border-radius: 500px; overflow: hidden; border: 1px solid var(--acrv-bleu-light); }

/* ==========================================================================
   Popups
   ========================================================================== */
.elementor-popup-modal:has(.acrv-menu-popup), .elementor-popup-modal:has(.acrv-audit--popup) { background-color: rgba(36, 34, 57, .4) !important; }
.acrv-popup .dialog-close-button, .elementor-popup-modal:has(.acrv-audit--popup) .dialog-close-button { z-index: 10; }
.elementor-popup-modal:has(.acrv-audit--popup) .dialog-close-button { top: 15px; right: 15px; display: grid; place-items: center; width: 2.75rem; aspect-ratio: 1; border-radius: 50%; background: var(--acrv-blanc); }
.elementor-popup-modal:has(.acrv-audit--popup) .dialog-close-button:hover { background: var(--acrv-orange); }
.elementor-popup-modal:has(.acrv-audit--popup) .dialog-close-button:hover svg { fill: var(--acrv-blanc); }
.acrv-popup--audit .acrv-audit { width: 100%; }

/* ==========================================================================
   Mobile : en-têtes de section resserrés (titre, puis introduction à 15 px)
   ========================================================================== */
@media (max-width: 767px) {
	.e-con.acrv-sh, .e-con.acrv-sh__titre, .e-con.acrv-sh__intro { --gap: 15px 15px !important; --row-gap: 15px !important; --column-gap: 15px !important; }
}

/* ==========================================================================
   Mouvement réduit
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.acrv-js [data-acrv-anim] { visibility: visible !important; }
	.acrv-steps--stack .acrv-steps__item { position: relative; top: auto; }
}
