/*
 * Gabarit « abc » - user.css : retouches de présentation (2026-10-26, aperçu « accueil amélioré »).
 * Fichier chargé en DERNIER par index.php (nom « user.css » déjà prévu dans la liste des feuilles du gabarit).
 * Même contenu, mêmes modules : seule la présentation change (en-tête, sélecteur de langue, sections de l'accueil,
 * bandeau « Ready to talk / Prêt à parler », pied de page). Retour arrière : supprimer ce fichier (voir patch/LISEZ-MOI-PATCH.md).
 */

:root {
	--abc-marine: #193662;
	--abc-marine-fonce: #0f2443;
	--abc-bleu: #2f7dcc;
	--abc-bleu-fonce: #1f5f9e;
	--abc-bleu-clair: #52cfe1;
	--abc-jaune: #f3a41a;
	--abc-jaune-clair: #f3ec1a;
	--abc-texte: #4f5765;
	--abc-titre: #1d2939;
	--abc-fond: #f3f2f7;
	--abc-bord: #e2e5ee;
	--abc-ombre: 0 12px 32px rgba(15, 36, 67, .08);
	--abc-rayon: 14px;
	--abc-barre-h: 38px;
	--abc-principal-h: 88px;
	--abc-entete-h: calc(var(--abc-barre-h) + var(--abc-principal-h));
}

@media (max-width: 1199.98px) {
	:root { --abc-barre-h: 0px; --abc-principal-h: 72px; }
}

@media (max-width: 575.98px) {
	:root { --abc-principal-h: 64px; }
}

/* ---------- Généralités : lisibilité, focus clavier ---------------------------------------------------------- */

body.site { color: var(--abc-texte); -webkit-font-smoothing: antialiased; }

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
.abc-burger:focus-visible {
	outline: 3px solid var(--abc-bleu);
	outline-offset: 3px;
	border-radius: 6px;
}

.abc-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.abc-evitement {
	position: fixed;
	top: -80px; left: 16px;
	z-index: 100000;
	padding: 10px 18px;
	border-radius: 10px;
	background: var(--abc-marine);
	color: #fff;
	font-size: 16px;
	font-family: 'latobold';
}

.abc-evitement:focus { top: 12px; color: #fff; }

/* ---------- En-tête ------------------------------------------------------------------------------------------ */

header.header .headertop.abc-entete {
	position: fixed;
	inset: 0 0 auto 0;
	height: auto;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 1px 0 var(--abc-bord);
	transition: box-shadow .25s ease;
}

html.abc-defile header.header .headertop.abc-entete { box-shadow: 0 8px 28px rgba(15, 36, 67, .12); }

.abc-entete .container {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 32px;
}

/* Barre fine : liens rapides (Menutop) */
.abc-entete__barre {
	height: var(--abc-barre-h);
	overflow: hidden;
	background: var(--abc-marine);
	transition: height .25s ease;
}

html.abc-defile .abc-entete__barre { height: 0; }

.abc-entete__barre .container { height: 100%; display: flex; align-items: center; justify-content: flex-end; }

.abc-entete__barre .nav-top1 .sf-menu {
	display: flex;
	float: none;
	margin: 0;
	gap: 2px;
}

.abc-entete__barre .sf-menu > li { float: none; padding: 0; }
.abc-entete__barre .sf-menu > li:after,
.abc-entete__barre .sf-menu a:before { content: none !important; }

.abc-entete__barre .sf-menu a {
	display: block;
	padding: 6px 12px;
	border-radius: 6px;
	color: #d9e4f2;
	font-family: 'latomedium';
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: .01em;
}

.abc-entete__barre .sf-menu a:hover,
.abc-entete__barre .sf-menu li.current > a,
.abc-entete__barre .sf-menu li.active > a { color: #fff; background: rgba(255, 255, 255, .1); }

/* Barre principale : logo, menu, langues, bouton du menu mobile */
.abc-entete .topheader { padding: 0; background: #fff; }

.abc-entete .header-inner .container.abc-entete__principal {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: 1400px;
	height: var(--abc-principal-h);
	transition: height .25s ease;
}

html.abc-defile .abc-entete .header-inner .container.abc-entete__principal { height: calc(var(--abc-principal-h) - 18px); }

.abc-entete .logo { display: flex; align-items: center; flex: 0 0 auto; margin: 0; }

.abc-entete .logo img { display: block; width: auto; height: 62px; max-width: none; transition: height .25s ease; }

html.abc-defile .abc-entete .logo img { height: 50px; }

.abc-entete .menus { margin-left: auto; padding: 0; }
.abc-entete .nav-menu { margin: 0; }

.abc-entete nav#navigation.nav-top .sf-menu {
	display: flex;
	align-items: center;
	float: none;
	margin: 0;
	gap: 2px;
}

.abc-entete .nav-top .sf-menu > li { float: none; padding: 0; }
.abc-entete .nav-top .sf-menu > li:after { content: none; }

.abc-entete .nav-top .sf-menu > li > a,
.abc-entete .nav-top .sf-menu > li > span.separator {
	display: flex;
	align-items: center;
	padding: 10px 13px;
	border-radius: 8px;
	color: var(--abc-titre);
	font-family: 'latosemibold';
	font-size: 16px;
	line-height: 1.2;
	white-space: nowrap;
}

/* Trait bleu sous l'élément survolé ou actif */
.abc-entete .nav-top .sf-menu > li > a:before,
.abc-entete .nav-top .sf-menu > li > span.separator:before {
	content: "";
	position: absolute;
	left: 13px; right: 13px; bottom: 3px;
	width: auto; height: 2px;
	margin: 0;
	border-radius: 2px;
	background: linear-gradient(to right, var(--abc-bleu), var(--abc-bleu-clair));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .2s ease;
}

.abc-entete .nav-top .sf-menu > li:hover > a:before,
.abc-entete .nav-top .sf-menu > li:hover > span.separator:before,
.abc-entete .nav-top .sf-menu > li.sfHover > a:before,
.abc-entete .nav-top .sf-menu > li.sfHover > span.separator:before,
.abc-entete .nav-top .sf-menu > li.active > a:before,
.abc-entete .nav-top .sf-menu > li.active > span.separator:before,
.abc-entete .nav-top .sf-menu > li > a:focus-visible:before { transform: scaleX(1); }

.abc-entete .nav-top .sf-menu > li:hover > a,
.abc-entete .nav-top .sf-menu > li:hover > span.separator,
.abc-entete .nav-top .sf-menu > li.sfHover > a,
.abc-entete .nav-top .sf-menu > li.sfHover > span.separator,
.abc-entete .nav-top .sf-menu > li.active > a,
.abc-entete .nav-top .sf-menu > li.active > span.separator { color: var(--abc-bleu-fonce); }

/* Petite flèche des éléments à sous-menu */
.abc-entete .nav-top .sf-menu > li.parent > span.separator:after,
.abc-entete .nav-top .sf-menu > li.parent > a:after {
	content: "";
	position: static;
	display: inline-block;
	width: 7px; height: 7px;
	margin: -3px 0 0 8px;
	border: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	background: none;
	transform: rotate(45deg);
}

/* Sous-menus : panneau blanc */
.abc-entete .nav-top .sf-menu ul {
	top: calc(100% + 4px);
	left: 0; right: auto;
	min-width: 260px;
	padding: 8px;
	border: 1px solid var(--abc-bord);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(15, 36, 67, .16);
}

.abc-entete .nav-top .sf-menu ul:after {
	content: "";
	position: absolute;
	left: 0; right: 0; top: -8px;
	height: 8px;
}

.abc-entete .nav-top .sf-menu ul.nav-child:before,
.abc-entete .nav-top .sf-menu ul.mod-menu__sub:before { content: none; }

/* Clavier : sous-menu ouvert tant que le focus clavier est sur le titre ou dans le sous-menu */
.abc-entete .nav-top .sf-menu > li:has(:focus-visible) > ul { display: block !important; opacity: 1 !important; }

.abc-entete .nav-top .sf-menu ul li { float: none; padding: 0 !important; }
.abc-entete .nav-top .sf-menu ul li:after { content: none; }

.abc-entete .nav-top .sf-menu ul li a {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--abc-titre);
	font-family: 'latoregular';
	font-size: 15px;
	line-height: 1.3;
	white-space: nowrap;
}

.abc-entete .nav-top .sf-menu ul li a:hover,
.abc-entete .nav-top .sf-menu ul li a:focus-visible,
.abc-entete .nav-top .sf-menu ul li.current > a,
.abc-entete .nav-top .sf-menu ul li.active > a { background: #edf4fc; color: var(--abc-bleu-fonce); }

/* Sélecteur de langue EN / FR */
.abc-entete__langues { flex: 0 0 auto; }

.abc-langues__liste {
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 3px;
	list-style: none;
	border: 1px solid var(--abc-bord);
	border-radius: 999px;
	background: var(--abc-fond);
}

.abc-langues__liste li { margin: 0; padding: 0; }

.abc-langues__lien {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	color: var(--abc-marine);
	font-family: 'latobold';
	font-size: 14px;
	line-height: 1;
	letter-spacing: .06em;
	transition: background-color .2s ease, color .2s ease;
}

a.abc-langues__lien:hover { background: #fff; color: var(--abc-bleu-fonce); }

.abc-langues__lien.is-active,
a.abc-langues__lien.is-active:hover {
	background: var(--abc-marine);
	color: #fff;
	box-shadow: 0 2px 6px rgba(25, 54, 98, .25);
}

.abc-langues__lien.is-indisponible { opacity: .45; }

/* Bouton du menu mobile */
.abc-entete nav.mobile-nav { display: none; margin: 0; }

.abc-burger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--abc-marine);
	color: #fff;
}

.abc-burger:hover, .abc-burger:focus { background: var(--abc-bleu-fonce); color: #fff; }

.abc-burger__barres,
.abc-burger__barres:before,
.abc-burger__barres:after {
	display: block;
	width: 20px; height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.abc-burger__barres { position: relative; }
.abc-burger__barres:before, .abc-burger__barres:after { content: ""; position: absolute; left: 0; }
.abc-burger__barres:before { top: -6px; }
.abc-burger__barres:after { top: 6px; }

/* Place réservée sous l'en-tête fixe */
#top .slide-bn { margin-top: var(--abc-entete-h); }

@media (max-width: 1399.98px) {
	.abc-entete .nav-top .sf-menu > li > a,
	.abc-entete .nav-top .sf-menu > li > span.separator { padding: 10px 10px; font-size: 15px; }
	.abc-entete .nav-top .sf-menu > li > a:before,
	.abc-entete .nav-top .sf-menu > li > span.separator:before { left: 10px; right: 10px; }
	.abc-entete .logo img { height: 56px; }
}

@media (max-width: 1199.98px) {
	.abc-entete__barre,
	.abc-entete .menus { display: none; }
	.abc-entete__langues { margin-left: auto; }
	.abc-entete nav.mobile-nav { display: block; }
	.abc-entete .container { padding: 0 24px; }
	.abc-entete .logo img { height: 50px; }
	html.abc-defile .abc-entete .header-inner .container.abc-entete__principal { height: calc(var(--abc-principal-h) - 8px); }
	html.abc-defile .abc-entete .logo img { height: 44px; }
}

@media (max-width: 575.98px) {
	.abc-entete .container { padding: 0 16px; }
	.abc-entete .header-inner .container.abc-entete__principal { gap: 10px; }
	.abc-entete .logo img { height: 44px; }
	html.abc-defile .abc-entete .logo img { height: 40px; }
	.abc-langues__lien { min-width: 38px; height: 36px; padding: 0 9px; font-size: 13px; }
}

@media (max-width: 340px) {
	.abc-entete .logo img { height: 38px; }
	.abc-langues__lien { min-width: 34px; padding: 0 7px; }
}

/* Menu mobile (mmenu) : couleurs de la marque, langue en bas du panneau */
.mm-menu {
	background: var(--abc-marine-fonce);
	color: #fff;
	font-family: 'latosemibold';
}

.mm-menu .mm-navbar { border-color: rgba(255, 255, 255, .14); }
.mm-menu .mm-navbar a, .mm-menu .mm-navbar > * { color: #fff; }
.mm-menu .mm-listview > li > a,
.mm-menu .mm-listview > li > span { padding-top: 14px; padding-bottom: 14px; font-size: 17px; color: #fff; }
.mm-menu .mm-listview > li:not(.mm-divider):after { border-color: rgba(255, 255, 255, .1); left: 20px; }
.mm-menu .mm-listview > li.active > a,
.mm-menu .mm-listview > li.current > a { color: var(--abc-jaune-clair); }
.mm-menu .mm-listview > li .mm-next:before { border-color: rgba(255, 255, 255, .12); }
.mm-menu .mm-listview > li .mm-next:after,
.mm-menu .mm-btn:before { border-color: rgba(255, 255, 255, .7); }

.abc-mm-langues { margin: 18px 20px 28px; }

.abc-mm-langues__titre {
	margin: 0 0 10px;
	color: #aac0dc;
	font-family: 'latomedium';
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.abc-mm-langues .abc-langues__liste { display: inline-flex; border-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .06); }
.abc-mm-langues .abc-langues__lien { min-width: 56px; height: 40px; color: #fff; }
.abc-mm-langues a.abc-langues__lien:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.abc-mm-langues .abc-langues__lien.is-active { background: #fff; color: var(--abc-marine); }

/* ---------- Diaporama de l'accueil ------------------------------------------------------------------------- */

#top .slide-bn .djslider-loader-default .djslider-default { height: clamp(420px, 40vw, 640px) !important; }

#top .slide-bn .djslider-default .slider-container,
#top .slide-bn .djslider-default ul.djslider-in,
#top .slide-bn .djslider-default ul.djslider-in > li { height: 100% !important; }

#top .slide-bn .djslider-default ul.djslider-in > li > img.dj-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

#top .slide-bn .djslider-default ul.djslider-in > li:after {
	background: linear-gradient(180deg, rgba(12, 28, 52, .35) 0%, rgba(12, 28, 52, .55) 55%, rgba(12, 28, 52, .72) 100%) !important;
}

#top .slide-bn .djslider-default .slide-desc {
	display: block;
	top: 50% !important;
	bottom: auto !important;
	left: 0 !important; right: 0 !important;
	width: 100% !important;
	transform: translateY(-50%);
}

#top .slide-bn .slide-desc-text-default {
	display: block;
	width: min(880px, 88%) !important;
	max-width: none !important;
	margin: 0 auto;
	padding: 0 !important;
	font-size: clamp(16px, 1.45vw, 21px) !important;
	line-height: 1.55 !important;
}

#top .slide-bn .slide-desc-text-default .slide-title {
	margin: 0 0 18px;
	font-family: 'latoheavy' !important;
	font-size: clamp(30px, 4vw, 56px) !important;
	line-height: 1.1 !important;
	letter-spacing: -.01em;
}

#top .slide-bn .slide-desc-text-default .slide-text p { margin: 0 0 8px; display: block !important; }

#top .slide-bn .slide-desc-text-default a.link {
	display: inline-block;
	margin: 22px auto 0;
	padding: 15px 42px;
	border-radius: 999px;
	color: #0a1d33;
	font-size: clamp(15px, 1.2vw, 18px);
	letter-spacing: .04em;
	box-shadow: 0 10px 24px rgba(243, 164, 26, .35);
	transition: transform .2s ease, box-shadow .2s ease;
}

#top .slide-bn .slide-desc-text-default a.link:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(243, 164, 26, .45); }

/* Réseaux « Follow us » posés sur le diaporama */
#top .slide-bn .customnetwork { bottom: 28px; right: 32px; }
#top .slide-bn .customnetwork h2 { margin: 0 0 8px; font-size: 18px; letter-spacing: .02em; }
#top .slide-bn .customnetwork .netw { gap: 6px; justify-content: flex-end; }
#top .slide-bn .customnetwork .netw p { margin: 0; }

#top .slide-bn .customnetwork a.net {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
}

#top .slide-bn .customnetwork a.net .fa { font-size: 17px; }
#top .slide-bn .customnetwork a.net:hover { background: #fff; }
#top .slide-bn .customnetwork a.net:hover .fa { color: var(--abc-marine); }

@media (max-width: 767.98px) {
	#top .slide-bn .djslider-loader-default .djslider-default { height: 460px !important; }
	#top .slide-bn .slide-desc-text-default { width: 90% !important; }
	#top .slide-bn .slide-desc-text-default .slide-title { font-size: 30px !important; }
	#top .slide-bn .slide-desc-text-default a.link { padding: 13px 32px; }
	#top .slide-bn .customnetwork { display: none; }
}

@media (max-width: 359.98px) {
	#top .slide-bn .djslider-loader-default .djslider-default { height: 500px !important; }
	#top .slide-bn .slide-desc-text-default .slide-title { font-size: 26px !important; }
}

/* ---------- Accueil : sections ------------------------------------------------------------------------------- */

/* Fonds « fixes » : rendus en défilement sur tablette et téléphone (plus fluide, et iOS ne les gère pas) */
@media (max-width: 1199.98px) {
	.custombloc-3, .bloc-actu, .custombloc5 { background-attachment: scroll !important; }
}

/* À propos */
.view-featured .bloc-1 { padding: 96px 0 330px; }

.view-featured .bloc-1 p:not(.chiffre p) {
	font-size: 18px;
	line-height: 1.75;
	color: var(--abc-texte);
}

.view-featured .bloc-1 h3:not(.chiffre h3) { font-size: clamp(30px, 3vw, 44px); line-height: 1.15; color: var(--abc-titre); text-align: left; }
.view-featured .bloc-1 .adp h2 { font-size: 20px; letter-spacing: .02em; }
.view-featured .bloc-1 .photos img { border-radius: 18px; box-shadow: var(--abc-ombre); }
.view-featured .bloc-1 .chiffre { border-radius: 16px; box-shadow: 0 18px 40px rgba(15, 36, 67, .25); }
/* 26/10 : l'encart « 300 » garde EXACTEMENT ses tailles d'origine (demande du propriétaire) : aucune règle de taille ici. */

/* Services : grande carte blanche et petites cartes */
.view-featured .custombloc-2 {
	max-width: min(1400px, 92%);
	padding: 64px 12px 36px;
	border-radius: 22px;
	box-shadow: var(--abc-ombre);
}

.view-featured .custombloc-2 .bloc.bloc1 h2 { margin-top: 24px; font-size: clamp(30px, 3vw, 44px); }
.view-featured .custombloc-2 .bloc.bloc1 p { font-family: 'latoregular'; font-size: 18px; line-height: 1.7; color: var(--abc-texte); }
.view-featured .custombloc-2 .bloc.bloc1 a { font-size: 18px; color: var(--abc-bleu-fonce); font-family: 'latosemibold'; }
.view-featured .custombloc-2 ul { margin: 8px 0 12px; }
.view-featured .custombloc-2 li { font-family: 'latoregular'; font-size: 16px; line-height: 1.6; color: var(--abc-texte); }

.view-featured .custombloc-2 .bloc:not(.bloc1) {
	max-width: none;
	margin-bottom: 24px;
	padding: 28px 26px 24px;
	border: 1px solid var(--abc-bord);
	border-radius: var(--abc-rayon);
	background: #fff;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.view-featured .custombloc-2 .bloc:not(.bloc1):hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 16px 36px rgba(15, 36, 67, .12);
}

.view-featured .custombloc-2 .bloc h3 {
	margin: 0 0 16px;
	padding: 74px 0 18px;
	font-size: 22px;
	line-height: 1.25;
	color: var(--abc-titre);
}

.view-featured .custombloc-2 .bloc:not(.bloc1) p {
	margin: 0;
	font-family: 'latoregular';
	font-size: 16px;
	line-height: 1.65;
	color: var(--abc-texte);
}

/* « We assist / Nous accompagnons » : cartes sur fond sombre */
.view-featured .custombloc-3 {
	max-width: min(1400px, 92%);
	padding: 72px 12px 40px;
	border-radius: 22px;
}

.view-featured .custombloc-3 h5 { margin: 0 0 44px; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; }

.view-featured .custombloc-3 .blok {
	display: block;
	max-width: none;
	min-height: calc(100% - 24px);
	margin-bottom: 24px;
	padding: 20px 22px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-left: 3px solid #ffc816;
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.view-featured .custombloc-3 .blok p { margin: 0; font-family: 'latosemibold'; font-size: 18px; line-height: 1.45; }
.view-featured .custombloc-3 .row > .col-md-4:empty,
.view-featured .custombloc-3 .row > .col-md-4:not(:has(.blok)) { display: none; }

/* Actualités : cartes blanches sur le fond de carte */
.view-featured .bloc-actu .pretext h2 { margin-bottom: 48px; font-size: clamp(30px, 3vw, 44px); }

.view-featured .bloc-actu .readalllink.first.linkright a {
	top: 22px;
	margin: 0;
	padding: 10px 20px 10px 22px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	background: none;
	color: #fff;
	font-size: 15px;
	letter-spacing: .06em;
}

.view-featured .bloc-actu .readalllink.first.linkright a:hover { background: #fff; color: var(--abc-marine); }

.view-featured .bloc-actu #lnee_145 ul.latestnews-items {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch !important;
	gap: 28px;
	font-size: 16px;
	letter-spacing: normal;
}

.view-featured .bloc-actu { padding-bottom: 96px; }

.view-featured .bloc-actu #lnee_145 ul.latestnews-items li.latestnews-item { width: auto; margin: 0; display: block; }

.view-featured .bloc-actu .lnee .news {
	height: 100%;
	border-radius: 16px;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
	transition: transform .2s ease, box-shadow .2s ease;
}

.view-featured .bloc-actu .lnee .news:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0, 0, 0, .28); }
.view-featured .bloc-actu .lnee .innernews { display: flex; flex-direction: column; height: 100%; }
.view-featured .bloc-actu .lnee .newshead .picture { max-width: none !important; max-height: none !important; border-radius: 0 !important; }

.view-featured .bloc-actu .lnee .newshead .picture img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0;
}

.view-featured .bloc-actu .lnee .newsinfo {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px 22px 22px;
}

.view-featured .bloc-actu .lnee .newstitle,
.view-featured .bloc-actu .lnee .newstitle a {
	margin: 0;
	color: var(--abc-titre) !important;
	font-family: 'latobold';
	font-size: 18px;
	line-height: 1.4;
	text-transform: none;
}

.view-featured .bloc-actu .lnee .newstitle a:hover { color: var(--abc-bleu-fonce) !important; }
.view-featured .bloc-actu .lnee ul.latestnews-items li p.link { margin-top: 18px; }
.view-featured .bloc-actu .lnee ul.latestnews-items li p.link a { margin-top: 12px; }

/* Références */
.view-featured .bloc-ref { padding: 64px 0 88px; }
.view-featured .bloc-ref h2 { font-size: clamp(28px, 3vw, 40px); }

.view-featured .bloc-ref .owl-carousel .item {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 196px; /* 26/10 : logos des références agrandis (taille d'origine 266 x 168) */
	padding: 12px 14px;
	border: 1px solid var(--abc-bord);
	border-radius: var(--abc-rayon);
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}

.view-featured .bloc-ref .owl-carousel .item:hover { transform: translateY(-3px); box-shadow: var(--abc-ombre); }
.view-featured .bloc-ref .owl-carousel .item h4 { margin: 0; }
.view-featured .bloc-ref .owl-carousel .owl-item img { width: auto; max-width: 100%; max-height: 168px; margin: 0 auto; object-fit: contain; }
.view-featured .bloc-ref .owl-stage-outer { padding: 6px 0 10px; }
.bloc-ref .owl-theme .owl-dots .owl-dot span { background: #c9d3e3; }
.bloc-ref .owl-theme .owl-dots .owl-dot.active span,
.bloc-ref .owl-theme .owl-dots .owl-dot:hover span { background: var(--abc-bleu); }

/* ---------- Bandeau « Ready to talk / Prêt à parler » (commun à plusieurs pages) ----------------------------- */

.custombloc5 { max-width: min(1400px, 92%); padding: 88px 24px; border-radius: 22px; }
.custombloc5 h2 { font-size: clamp(26px, 3vw, 40px); line-height: 1.2; }
.custombloc5 p { font-size: clamp(16px, 1.4vw, 20px); line-height: 1.6; }

.custombloc5 a.link {
	margin-top: 28px;
	padding: 15px 44px;
	font-size: 17px;
	letter-spacing: .04em;
	box-shadow: 0 10px 24px rgba(243, 164, 26, .3);
	transition: transform .2s ease, box-shadow .2s ease;
}

.custombloc5 a.link:hover { transform: translateY(-2px); }

/* ---------- Pied de page --------------------------------------------------------------------------------------- */

footer.footer { padding: 72px 0 0; font-size: 17px; line-height: 1.6; }
footer.footer .footer-container { max-width: min(1400px, 92%); margin: 0 auto; }

footer.footer .bloc-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; align-items: start; }
footer.footer .bloc-footer .bloc-left { width: auto; }
footer.footer .bloc-footer h3 { width: auto; margin: 0 0 18px; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
footer.footer .bloc-footer h4 { margin: 0 0 12px; font-size: 18px; color: #c8d0dc; }
footer.footer .bloc-footer .col-right { width: auto; }
footer.footer .bloc-footer .col-right h3 { margin: 0 0 34px; font-size: 22px; }
footer.footer .bloc-footer p { color: #d9dee6; }
footer.footer p.adrs { margin-bottom: 16px; }

footer.footer .bloc-footer .col-right span { display: inline-flex; align-items: center; gap: 12px; }

/* 26/10 : icônes de contact du pied de page de MÊME TAILLE VISUELLE (demande du propriétaire). On garde le dégradé bleu d'origine
   (texte transparent + fond découpé sur le glyphe) ; chaque glyphe est réglé pour que sa plus grande dimension fasse 26 px
   (mesuré : téléphone 0,80 em, mobile 0,72 em de haut, enveloppe 1,02 em de large), dans une case de 34 x 34 px. */
footer.footer .bloc-footer .col-right span i,
footer.footer .bloc-footer .col-right span i.fa.fa-envelope,
footer.footer .bloc-footer .col-right span i.fa.fa-mobile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	line-height: 1;
	text-align: center;
	background: linear-gradient(to left, #2f7dcc 0%, #52cfe1 100%);
	background-attachment: scroll;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
footer.footer .bloc-footer .col-right span i.fa.fa-phone { font-size: 32px; }
footer.footer .bloc-footer .col-right span i.fa.fa-mobile { font-size: 36px; }
footer.footer .bloc-footer .col-right span i.fa.fa-envelope { font-size: 26px; }

footer.footer .network { gap: 10px; }
footer.footer .network p { margin: 0; }

footer.footer .network a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
}

footer.footer .network a .fa { font-size: 18px; }
footer.footer .network a:hover { background: #fff; }
footer.footer .network a:hover .fa { color: #282828; }

footer.footer .bloc-menubottom { margin-top: 40px; padding: 26px 0 6px; border-top: 1px solid rgba(255, 255, 255, .1); }

footer.footer .footer-container .bloc-menubottom .container { display: block; }

footer.footer #menufooter1.sf-menu,
footer.footer #menufooter2.sf-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 6px;
	width: 100%;
	margin: 0 0 12px;
}

footer.footer #menufooter1.sf-menu > li,
footer.footer #menufooter2.sf-menu > li { display: block; margin: 0; padding: 0 !important; }

footer.footer #menufooter1.sf-menu li:after,
footer.footer #menufooter2.sf-menu li:after { content: none; }

footer .footer-container .bloc-menubottom .sf-menu > li > a,
footer .footer-container .bloc-menubottom .sf-menu > li > span.separator {
	display: block;
	padding: 6px 10px;
	border-radius: 6px;
	color: #d9dee6;
	font-family: 'latomedium';
	font-size: 15px;
}

footer .footer-container .bloc-menubottom .sf-menu > li > a:hover { color: #fff; background: rgba(255, 255, 255, .08); }
footer.footer #menufooter2.sf-menu > li > a { color: #aeb6c2; font-size: 14px; }
footer .footer-container .bloc-menubottom .sf-menu a:before { content: none !important; }

footer.footer p.copyright { margin: 18px 0 0; padding: 18px 0 22px; border-top: 1px solid rgba(255, 255, 255, .1); color: #aeb6c2; font-size: 13px; }
footer.footer p.copyright a { color: #fff; font-size: 13px; }

/* ---------- Tablette et téléphone ---------------------------------------------------------------------------------- */

@media (max-width: 1199.98px) {
	.view-featured .bloc-actu #lnee_145 ul.latestnews-items { gap: 20px; }
	.view-featured .bloc-actu .lnee .newstitle,
	.view-featured .bloc-actu .lnee .newstitle a { font-size: 17px; }
}

@media (max-width: 1280px) {
	.view-featured main#content > div > .container,
	.view-featured .bloc-1 > .container,
	.view-featured .bloc-actu > .container { padding-left: 24px; padding-right: 24px; }
	.view-featured .bloc-ref .custombloc-4 { max-width: calc(100% - 48px); }
}

@media (min-width: 768px) and (max-width: 991.98px) {
	/* Tablette : cartes de services et « Nous accompagnons » sur 2 colonnes au lieu de 3 étroites */
	.view-featured .custombloc-2 .row > .col-md-4 { flex: 0 0 50%; max-width: 50%; }
	.view-featured .custombloc-2 .row > .col-md-4:first-child { flex-basis: 100%; max-width: 100%; }
	.view-featured .custombloc-3 .row > .col-md-4 { flex: 0 0 50%; max-width: 50%; }
}

@media (max-width: 991.98px) {
	.view-featured .bloc-1 p:not(.chiffre p) { text-align: left !important; }
	.view-featured .bloc-1 .adp img { float: none; display: block; margin: 0 0 16px; }
	.view-featured .bloc-1 .adp { margin-right: 0; }
	.view-featured .custombloc-2 .bloc { overflow-wrap: anywhere; }
	.view-featured .bloc-actu #lnee_145 ul.latestnews-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	footer.footer .bloc-footer { grid-template-columns: 1fr; gap: 28px; }
	.view-featured .custombloc-2 .bloc.bloc1 { margin-bottom: 28px; }
}

@media (max-width: 767.98px) {
	.view-featured .bloc-1 { padding: 48px 0 250px; }
	.view-featured .bloc-1 p:not(.chiffre p) { font-size: 17px; line-height: 1.7; text-align: left !important; }
	.view-featured .bloc-1 .adp { margin: 32px 0 0; }
	.view-featured .bloc-1 .photos { margin-top: 24px; }

	.view-featured .custombloc-2 { max-width: calc(100% - 24px); padding: 36px 6px 20px; border-radius: 18px; }
	.view-featured .custombloc-2 .bloc.bloc1 h2 { margin-top: 12px; }
	.view-featured .custombloc-2 .bloc:not(.bloc1) { padding: 22px 20px 20px; }
	.view-featured .custombloc-2 .bloc h3 { padding-top: 70px; font-size: 20px; }

	.view-featured .custombloc-3 { max-width: calc(100% - 24px); padding: 44px 6px 20px; border-radius: 18px; }
	.view-featured .custombloc-3 h5 { margin-bottom: 28px; }
	.view-featured .custombloc-3 .blok { min-height: 0; margin-bottom: 14px; padding: 16px 18px; }
	.view-featured .custombloc-3 .blok p { font-size: 16px; }

	.view-featured .bloc-actu { padding-bottom: 56px; }
	.view-featured .bloc-actu .pretext h2 { margin: 0 auto 32px; }
	.view-featured .bloc-actu #lnee_145 ul.latestnews-items { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
	.view-featured .bloc-actu .readalllink.first.linkright a { position: static; display: table; margin: 28px auto 0; }
	.view-featured .bloc-actu .lnee.newslist { display: flex; flex-direction: column; }
	.view-featured .bloc-actu .lnee .pretext { order: 1; }
	.view-featured .bloc-actu .lnee .latestnews-items { order: 2; }
	.view-featured .bloc-actu .lnee .readalllink { order: 3; }

	.view-featured .bloc-ref { padding: 36px 0 56px; }
	.view-featured .bloc-ref .owl-carousel .item { height: 236px; margin: 0 16px; }
	.view-featured .bloc-ref .owl-carousel .owl-item img { max-height: 216px; }

	.custombloc5 { max-width: calc(100% - 24px); padding: 56px 20px; border-radius: 18px; }
	.custombloc5 a.link { padding: 13px 34px; font-size: 15px; }

	footer.footer { padding-top: 52px; font-size: 16px; }
	footer.footer .footer-container { max-width: calc(100% - 32px); }
	footer.footer .bloc-footer .col-right .row > div { width: 100%; }
}

/* =====================================================================================================================
   26/10 : PAGE D'ERREUR (404) refaite — demande du propriétaire « ici built a 404 page et la deployer ».
   Même en-tête et même pied de page que le site ; carte centrée : grand « 404 » au dégradé bleu du site, message, boutons.
   ===================================================================================================================== */
.abc-erreur { padding: calc(var(--abc-entete-h) + 56px) 0 96px; background: var(--abc-fond); } /* l'en-tête est fixe : on laisse sa hauteur au-dessus de la carte */
.abc-erreur__carte {
	max-width: 760px;
	margin: 0 auto;
	padding: 56px 48px 44px;
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--abc-ombre);
	text-align: center;
}
.abc-erreur__code {
	display: block;
	font-family: latoheavy, latobold, Arial, sans-serif;
	font-size: clamp(92px, 15vw, 168px);
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--abc-bleu);
	background: linear-gradient(to left, var(--abc-bleu) 0%, var(--abc-bleu-clair) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.abc-erreur__titre { position: static; top: auto; left: auto; width: auto; margin: 18px 0 12px; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.2; color: var(--abc-titre); text-align: center; text-transform: none; } /* le h1 du gabarit d'origine est placé en absolu sur la bannière : on l'annule ici */
.abc-erreur__texte { max-width: 560px; margin: 0 auto 30px; font-size: 18px; line-height: 1.65; color: var(--abc-texte); }
.abc-erreur__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-bottom: 32px; }
.abc-erreur__bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 30px;
	border-radius: 40px;
	font-family: latobold, Arial, sans-serif;
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.abc-erreur__bouton .fa { font-size: 17px; }
.abc-erreur__bouton--principal { color: var(--abc-titre) !important; background: linear-gradient(to right, var(--abc-jaune) 0%, var(--abc-jaune-clair) 100%); box-shadow: 0 8px 20px rgba(243, 164, 26, .3); }
.abc-erreur__bouton--secondaire { color: var(--abc-marine) !important; background: #fff; border: 2px solid var(--abc-marine); }
.abc-erreur__bouton:hover, .abc-erreur__bouton:focus-visible { transform: translateY(-2px); }
.abc-erreur__bouton--secondaire:hover, .abc-erreur__bouton--secondaire:focus-visible { color: #fff !important; background: var(--abc-marine); }
.abc-erreur__liens { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 0; padding: 24px 0 0; border-top: 1px solid var(--abc-bord); list-style: none; }
.abc-erreur__liens li { margin: 0; padding: 0; list-style: none; }
.abc-erreur__liens li::before { content: none; }
.abc-erreur__liens a { color: var(--abc-bleu-fonce); font-family: latobold, Arial, sans-serif; font-size: 16px; }
.abc-erreur__liens a:hover, .abc-erreur__liens a:focus-visible { color: var(--abc-bleu); text-decoration: underline; }
.abc-erreur__debug { max-width: 1100px; margin: 32px auto 0; overflow-x: auto; text-align: left; }
@media (max-width: 575.98px) {
	.abc-erreur { padding: calc(var(--abc-entete-h) + 28px) 0 56px; }
	.abc-erreur__carte { padding: 40px 20px 30px; border-radius: 18px; }
	.abc-erreur__texte { font-size: 16px; }
	.abc-erreur__actions { flex-direction: column; }
	.abc-erreur__bouton { width: 100%; }
	.abc-erreur__liens { flex-direction: column; gap: 10px; }
}
