/*
 * Artis Courtage — styles du site.
 *
 * Chaque règle s'applique par une classe « ac-… » posée dans le champ « Classes CSS » (onglet Avancé) d'un élément Elementor.
 * Aucun CSS n'est saisi dans les réglages des éléments eux-mêmes.
 * Les sélecteurs commencent par « body » pour passer devant les styles propres à chaque élément générés par Elementor.
 */

/* ------------------------------------------------------------------
 * 1. Colonnes fixes au défilement (ordinateur uniquement)
 *    ac-sticky      : titres de section, colonne de coordonnées (Contact), familles (Nos assurances)
 *    ac-sticky-150  : colonne de titre des bandeaux à cartes empilées
 * ------------------------------------------------------------------ */
@media (min-width: 1025px) {
	body .e-con.ac-sticky {
		position: sticky;
		top: 130px;
	}

	body .e-con.ac-sticky-150 {
		position: sticky;
		top: 150px;
	}
}

/* ------------------------------------------------------------------
 * 2. Cartes empilées au défilement (bandeau photo des pages assurances)
 *    ac-stack sur la colonne, ac-stack__card sur chaque carte. Décalage de 72 px :
 *    le numéro et le titre des cartes déjà empilées restent visibles, comme des onglets.
 * ------------------------------------------------------------------ */
@media (min-width: 1025px) {
	body .e-con.ac-stack__card { position: sticky; }
	body .ac-stack > .ac-stack__card:nth-child(1) { top: 120px; z-index: 10; }
	body .ac-stack > .ac-stack__card:nth-child(2) { top: 192px; z-index: 11; }
	body .ac-stack > .ac-stack__card:nth-child(3) { top: 264px; z-index: 12; }
	body .ac-stack > .ac-stack__card:nth-child(4) { top: 336px; z-index: 13; }
	body .ac-stack > .ac-stack__card:nth-child(5) { top: 408px; z-index: 14; }
	body .ac-stack > .ac-stack__card:nth-child(6) { top: 480px; z-index: 15; }
	body .ac-stack > .ac-stack__card:nth-child(7) { top: 552px; z-index: 16; }
	body .ac-stack > .ac-stack__card:nth-child(8) { top: 624px; z-index: 17; }
}

/* Frise d'étapes : point rouge cerclé de blanc posé sur le filet haut de chaque étape (ac-step).
   ::after, car Elementor réserve ::before au voile de fond des conteneurs. */
body .e-con.ac-step::after {
	content: "";
	position: absolute;
	top: -8px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 3px solid #fff;
	border-radius: 50%;
	background-color: var(--e-global-color-vamtam_accent_1);
	box-sizing: border-box;
}

/* Grand nombre de cartes en chiffres « détourés » (bandeau à cartes empilées) */
body .ac-outline-number .elementor-heading-title {
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.45);
}

/* ------------------------------------------------------------------
 * 3. Effets de survol
 * ------------------------------------------------------------------ */

/* Bloc cliquable : son titre passe en rouge (répertoire des assurances, coordonnées du pied de page) */
body .elementor-element.ac-hover-title .elementor-heading-title {
	transition: color 0.2s ease;
}

body .elementor-element.ac-hover-title:hover .elementor-heading-title {
	color: var(--e-global-color-vamtam_accent_1);
}

/* Carte qui se soulève légèrement (cartes de coordonnées « Notre ancrage ») */
body .e-con.ac-lift {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body .e-con.ac-lift:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* Lien du mega menu : léger glissement vers la droite + soulignement rouge qui se trace.
   Toute la ligne reste cliquable (le lien couvre le widget). */
body .elementor-widget.ac-underline {
	position: relative;
	transition: transform 0.25s ease;
}

body .elementor-widget.ac-underline .elementor-heading-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

body .elementor-widget.ac-underline .elementor-heading-title {
	display: inline;
	padding-bottom: 2px;
	background-image: linear-gradient(var(--e-global-color-vamtam_accent_1), var(--e-global-color-vamtam_accent_1));
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0% 1px;
	transition: background-size 0.35s ease, color 0.2s ease;
}

body .elementor-widget.ac-underline:hover {
	transform: translateX(6px);
}

body .elementor-element.ac-underline:hover .elementor-heading-title {
	color: var(--e-global-color-vamtam_accent_1);
	background-size: 100% 1px;
}

/* Listes de liens du pied de page : léger glissement au survol */
body .ac-links-slide .elementor-icon-list-item > a {
	transition: transform 0.25s ease;
}

body .ac-links-slide .elementor-icon-list-item > a:hover {
	transform: translateX(4px);
}

/* ------------------------------------------------------------------
 * 4. Boîtes d'icône (icône ronde + titre + texte)
 *    ac-icon-box        : titre sans la marge haute que le thème Hello donne aux titres h1-h6
 *    ac-icon-box--nudge : titre décalé de 4 px, pour s'aligner optiquement sur le haut de l'icône (listes cochées)
 * ------------------------------------------------------------------ */
body .elementor-widget-icon-box.ac-icon-box .elementor-icon-box-title {
	margin-block-start: 0;
}

body .elementor-widget-icon-box.ac-icon-box--nudge .elementor-icon-box-title {
	margin-block-start: 4px;
}

/* ------------------------------------------------------------------
 * 5. Divers
 * ------------------------------------------------------------------ */

/* Mentions légales de la barre rouge : pas de marge sous le dernier paragraphe (copyright centré sur les deux lignes) */
body .ac-no-last-margin p:last-child {
	margin-bottom: 0;
}

/* Bandeau « verre dépoli » (composant de réserve) */
body .e-con.ac-glass {
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}
