/*
Theme Name:   Lagarde Expertise & Conseil (enfant Divi)
Theme URI:    https://www.lagarde.nc
Description:  Thème enfant Divi de la refonte 2026. Le style des pages vient des presets Divi « LEC · … » (modifiables dans le Visual Builder) ; ce fichier n'ajoute que les finitions que Divi ne sait pas régler. Tant que l'ancien site est en ligne, ces règles ne visent que les nouvelles pages (classe lec-v2 sur body).
Author:       La Ruche Web & Communication
Author URI:   https://la-ruche.nc
Template:     Divi
Version:      1.0.0
Text Domain:  divi-lagarde-child
*/

/* ============================================================
   BASE — police et couleurs par défaut des nouvelles pages
   (les réglages des modules et des presets restent prioritaires)
   ============================================================ */
body.lec-v2 {
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	color: #3d5566;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
}
.lec-v2 #main-content,
.lec-v2 #page-container { background: #fff; }
.lec-v2 .et_pb_module p:last-child { padding-bottom: 0; }
.lec-v2 .et_pb_text h1,
.lec-v2 .et_pb_text h2 { letter-spacing: -0.01em; padding-bottom: 0.4em; }
.lec-v2 .et_pb_main_blurb_image { margin-bottom: 18px; }
.lec-v2 sup { font-size: .7em; line-height: 0; position: relative; vertical-align: baseline; bottom: .45em; }
.lec-v2 a { transition: color .2s, background-color .2s, border-color .2s; }

/* ============================================================
   HAUT DE PAGE — petites vagues animées (js/lec.js)
   ============================================================ */
.lec-v2 .lec-hero { position: relative; overflow: hidden; }
.lec-v2 .lec-hero > .et_pb_row { position: relative; z-index: 2; }
.lec-v2 .lec-hero__vagues {
	position: absolute; inset: 0; width: 100%; height: 100%;
	pointer-events: none; z-index: 1;
}
@media (min-width: 981px) {
	.lec-v2 .lec-centre { display: flex; align-items: center; }
}

/* Boutons côte à côte (colonne de classe lec-boutons). Marges imposées : Divi retire la marge du bas
   au dernier module de la colonne, ce qui décalait le dernier bouton vers le bas (Laurence, 26/10/2026). */
.lec-v2 .lec-boutons .et_pb_button_module_wrapper {
	display: inline-block; vertical-align: top; margin: 0 10px 12px 0 !important;
}
.lec-v2 .lec-boutons .et_pb_button { line-height: 1.2 !important; }
@media (min-width: 981px) {
	.lec-v2 .lec-boutons--droite { text-align: right; }
	.lec-v2 .lec-boutons--droite .et_pb_button_module_wrapper { margin: 6px 0 6px 10px !important; }
}

/* Lien fléché de l'en-tête de section, aligné en bas du titre */
@media (min-width: 981px) {
	.lec-v2 .lec-bas { align-self: flex-end; }
	.lec-v2 .et_pb_row:has(> .lec-bas) { display: flex; }
}

/* ============================================================
   CARTES
   ============================================================ */
/* Hauteur égale dans une ligne « LEC · Ligne de cartes » (colonnes de même hauteur) */
.lec-v2 .et_pb_equal_columns > .et_pb_column { display: flex; flex-direction: column; }
.lec-v2 .et_pb_equal_columns > .et_pb_column > .et_pb_module:last-child { flex: 1 1 auto; }

/* Lien « En savoir plus » en bas de la carte, léger soulèvement au survol */
.lec-v2 .lec-carte { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lec-v2 .lec-carte:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -28px rgba(15, 74, 107, .38); }
.lec-v2 .lec-carte .et_pb_blurb_content,
.lec-v2 .lec-carte .et_pb_blurb_container,
.lec-v2 .lec-carte .et_pb_blurb_description { display: flex; flex-direction: column; height: 100%; max-width: none; }
.lec-v2 .lec-carte .et_pb_blurb_container,
.lec-v2 .lec-carte .et_pb_blurb_description { flex: 1 1 auto; }
.lec-v2 .lec-carte .lec-plus { margin-top: auto; padding-top: 6px; }
.lec-v2 .lec-carte .et_pb_main_blurb_image { align-self: flex-start; }
.lec-v2 .et_pb_blurb .et_pb_module_header a { color: inherit; }

/* Cartes profils : flèche (police d'icônes de Divi) */
.lec-v2 .lec-profil { position: relative; transition: box-shadow .25s ease, border-color .25s ease; }
.lec-v2 .lec-profil:hover { box-shadow: 0 18px 40px -28px rgba(15, 74, 107, .38); }
.lec-v2 .lec-profil::after {
	content: "\24"; font-family: ETmodules; speak: none;
	position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
	font-size: 22px; line-height: 1; color: #1a6fa3; transition: transform .2s ease;
}
.lec-v2 .lec-profil:hover::after { transform: translate(3px, -50%); }
.lec-v2 .lec-profil .et_pb_module_header { padding-bottom: 4px; }

/* Chiffres clés : filet beige au-dessus du chiffre */
.lec-v2 .lec-chiffre .et_pb_blurb_content::before {
	content: ""; display: block; width: 2rem; height: 3px; border-radius: 2px;
	background: #b59466; opacity: .55; margin: 0 auto 1rem;
}
.lec-v2 .lec-chiffre .et_pb_module_header { padding-bottom: 8px; }
.lec-v2 .lec-chiffre strong { color: #173246; font-weight: 600; }

/* Grille de deux cartes dans une colonne (cartes « Pourquoi Lagarde ») — pas dans le Visual Builder */
@media (min-width: 768px) {
	body.lec-v2:not(.et-fb) .lec-grille-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-content: start; }
	body.lec-v2:not(.et-fb) .lec-grille-2 > .et_pb_module { margin: 0 !important; }
}

/* Étapes numérotées automatiquement (ligne de classe lec-etapes) */
.lec-v2 .lec-etapes { counter-reset: lec-etape; }
.lec-v2 .lec-etapes .et_pb_blurb { counter-increment: lec-etape; }
.lec-v2 .lec-etapes .et_pb_blurb_content::before {
	content: counter(lec-etape, decimal-leading-zero); display: block;
	font-family: 'Libre Caslon Text', Georgia, serif; font-size: 30px; line-height: 1;
	color: #1a6fa3; margin-bottom: 13px; text-align: left;
}

/* Engagements du bandeau : icône et texte centrés */
.lec-v2 .lec-engagement .et_pb_blurb_content {
	display: flex; align-items: center; justify-content: center; gap: 9px; max-width: none;
}
.lec-v2 .lec-engagement .et_pb_main_blurb_image { display: block; width: auto; margin: 0; }
.lec-v2 .lec-engagement .et_pb_blurb_container { display: block; padding-left: 0; }
@media (max-width: 980px) {
	.lec-v2 .lec-bandeau .et_pb_column { margin-bottom: 8px !important; }
}

/* Infos pratiques (adresse, horaires…) */
.lec-v2 .lec-info .et_pb_main_blurb_image { margin-bottom: 0; }
.lec-v2 .lec-info .et_pb_blurb_container { padding-left: 12px; }

/* ============================================================
   BANDEAUX BLEUS
   ============================================================ */
.lec-v2 .lec-citation { position: relative; overflow: hidden; }
.lec-v2 .lec-citation::before {
	content: "\201C"; position: absolute; left: 24px; top: 14px;
	font-family: 'Libre Caslon Text', Georgia, serif; font-size: 80px; line-height: 1;
	color: #b59466; opacity: .8;
}
.lec-v2 .lec-pastille { margin-top: 24px; }
.lec-v2 .lec-pastille .et_pb_text_inner {
	display: inline-block; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; padding: 8px 16px;
}

/* ============================================================
   TÉMOIGNAGES, ÉQUIPE, ACTUALITÉS
   ============================================================ */
.lec-v2 .lec-temoignage { display: flex; flex-direction: column; }
.lec-v2 .lec-temoignage::before {
	position: static; display: block; transform: none; margin: 0 0 4px;
	width: auto; height: auto; line-height: 1; padding: 0; text-align: left;
}
.lec-v2 .lec-temoignage .et_pb_testimonial_description { flex: 1 1 auto; display: flex; flex-direction: column; }
.lec-v2 .lec-temoignage .et_pb_testimonial_description_inner { flex: 1 1 auto; }
.lec-v2 .lec-temoignage .et_pb_testimonial_author { display: block; margin-top: 22px; padding-top: 16px; border-top: 1px solid #dbe4ec; }
.lec-v2 .lec-temoignage .et_pb_testimonial_portrait { display: none; }

.lec-v2 .lec-membre .et_pb_team_member_image { display: block; width: 100%; max-width: none; margin: 0 0 16px; }
.lec-v2 .lec-membre .et_pb_team_member_image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.lec-v2 .lec-membre .et_pb_module_header { padding-bottom: 2px; }

.lec-v2 .lec-actus .et_pb_post {
	background: #fff; border: 1px solid #dbe4ec; border-radius: 16px; padding: 26px;
	transition: box-shadow .25s ease, border-color .25s ease;
}
.lec-v2 .lec-actus .et_pb_post:hover { border-color: #a8c8e8; box-shadow: 0 18px 40px -28px rgba(15, 74, 107, .38); }
.lec-v2 .lec-actus .et_pb_post .entry-title { padding-bottom: 10px; }
.lec-v2 .lec-actus .et_pb_post .entry-title a { color: inherit; }
.lec-v2 .lec-actus .post-meta { margin-bottom: 10px; }
.lec-v2 .lec-actus .post-meta a { color: #1a6fa3; }
.lec-v2 .lec-actus .more-link { display: inline-block; margin-top: 12px; }
/* Grille des cartes, sans le script Salvattore de Divi (voir functions.php) ; « lire plus » en bas de carte */
.lec-v2 .lec-actus .lec-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.lec-v2 .lec-actus .lec-grille .et_pb_post { margin: 0; display: flex; flex-direction: column; }
.lec-v2 .lec-actus .lec-grille .post-content { flex: 1; display: flex; flex-direction: column; }
.lec-v2 .lec-actus .lec-grille .more-link { margin-top: auto; padding-top: 12px; align-self: flex-start; }
@media (max-width: 980px) {
	.lec-v2 .lec-actus .lec-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lec-v2 .lec-actus .lec-grille { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
/* Image à la une : en haut de la carte, bord à bord */
.lec-v2 .lec-actus .et_pb_post { overflow: hidden; }
.lec-v2 .lec-actus .et_pb_image_container { margin: -26px -26px 22px; }
.lec-v2 .lec-actus .entry-featured-image-url { display: block; margin: 0; overflow: hidden; }
.lec-v2 .lec-actus .entry-featured-image-url img {
	display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .4s ease;
}
.lec-v2 .lec-actus .et_pb_post:hover .entry-featured-image-url img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) {
	.lec-v2 .lec-actus .et_pb_post:hover .entry-featured-image-url img { transform: none; }
}

/* ============================================================
   NOUMÉA — carte Google et avis
   ============================================================ */
.lec-v2 .lec-carte-google iframe {
	display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3;
	border: 1px solid #dbe4ec !important; border-radius: 16px;
}
.lec-v2 .lec-avis .et_pb_main_blurb_image { margin-bottom: 0; }
.lec-v2 .lec-avis .et_pb_blurb_container { padding-left: 16px; vertical-align: middle; }

/* ============================================================
   EN-TÊTE (Theme Builder)
   ============================================================ */
.lec-v2 .lec-entete { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); z-index: 99; }
.lec-v2 .lec-entete.et_pb_sticky { box-shadow: 0 8px 24px -22px rgba(15, 74, 107, .5); }
.lec-v2 .lec-menu .et_pb_menu__logo img { max-height: 42px; width: auto; }
.lec-v2 .lec-menu .et-menu > li { padding-left: 10px; padding-right: 10px; }
.lec-v2 .lec-menu .et-menu > li > a { padding-top: 6px; padding-bottom: 6px; }
.lec-v2 .lec-menu .lec-menu-tel > a { color: #1a6fa3 !important; font-weight: 600; }
.lec-v2 .lec-menu .lec-menu-tel > a::before {
	content: "\e00b"; font-family: ETmodules; font-size: 15px; margin-right: 6px; vertical-align: -1px;
}
.lec-v2 .lec-menu .lec-menu-rdv > a {
	background: #1a6fa3; color: #fff !important; font-weight: 600; border-radius: 999px;
	padding: 11px 20px !important; box-shadow: 0 10px 24px -14px rgba(26, 111, 163, .8);
}
.lec-v2 .lec-menu .lec-menu-rdv > a:hover { background: #145783; opacity: 1; }
/* Sur la page Rendez-vous, Divi colore le lien actif en bleu (réglage du module Menu) : texte gardé en blanc */
.lec-v2 .lec-menu.et_pb_menu ul li.lec-menu-rdv > a { color: #fff !important; }
.lec-v2 .lec-menu .et_mobile_menu { border-top: 3px solid #1a6fa3; border-radius: 0 0 12px 12px; }
.lec-v2 .lec-menu .et_mobile_menu .lec-menu-rdv > a { display: block; text-align: center; margin-top: 8px; }
@media (min-width: 981px) and (max-width: 1199px) {
	.lec-v2 .lec-menu .et-menu > li { padding-left: 6px; padding-right: 6px; }
	.lec-v2 .lec-menu .et-menu > li > a { font-size: 14px; }
	.lec-v2 .lec-menu .lec-menu-tel { display: none; }
}

/* ============================================================
   PIED DE PAGE (Theme Builder)
   ============================================================ */
.lec-v2 .lec-pied ul { padding: 0; }
.lec-v2 .lec-pied li { margin-bottom: 9px; }
.lec-v2 .lec-pied small { display: block; color: #5b6b78; font-size: 12.8px; line-height: 1.4; }
.lec-v2 .lec-pied a:hover { color: #1a6fa3; }
.lec-v2 .lec-pied h4 { padding-bottom: 14px; }
.lec-v2 .lec-reseaux li { margin-right: 10px; }
.lec-v2 .lec-reseaux .et_pb_social_icon a.icon { width: 36px; height: 36px; display: grid; place-items: center; }
/* Icône réduite à sa taille : Divi lui donne une boîte de 30 px de haut où elle restait en haut (Laurence, 26/10/2026) */
.lec-v2 .lec-reseaux .et_pb_social_icon a.icon::before { position: static; width: auto !important; height: auto !important; line-height: 1 !important; }

/* ============================================================
   MOUVEMENT RÉDUIT
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	.lec-v2 .lec-carte, .lec-v2 .lec-profil, .lec-v2 .lec-actus .et_pb_post { transition: none; }
	.lec-v2 .lec-carte:hover { transform: none; }
}

/* ============================================================
   ARTICLES (modèle « LEC · Articles » du Theme Builder)
   ============================================================ */
.lec-v2 .lec-article table,
.lec-v2 .lec-legal table {
	width: 100%; border: 1px solid #dbe4ec; border-radius: 12px; border-collapse: separate;
	border-spacing: 0; overflow: hidden; font-size: 15px; margin: 8px 0 24px;
}
.lec-v2 .lec-article thead th,
.lec-v2 .lec-article tr:first-child th,
.lec-v2 .lec-legal thead th {
	background: #eef3f8; color: #173246; font-weight: 600; text-align: left; padding: 10px 14px;
}
.lec-v2 .lec-article td,
.lec-v2 .lec-legal td { border-top: 1px solid #dbe4ec; padding: 10px 14px; vertical-align: top; }
.lec-v2 .lec-article blockquote {
	border-left: 3px solid #1a6fa3; background: #eef6fc; border-radius: 0 12px 12px 0;
	margin: 8px 0 24px; padding: 16px 20px; color: #173246;
}
.lec-v2 .lec-article hr { border: 0; border-top: 1px solid #dbe4ec; margin: 32px 0; }
.lec-v2 .lec-article ul, .lec-v2 .lec-article ol { padding-bottom: 1em; }
.lec-v2 .lec-article li { margin-bottom: 6px; }
@media (max-width: 767px) {
	.lec-v2 .lec-article table,
	.lec-v2 .lec-legal table { display: block; overflow-x: auto; }
}
/* Image à la une en tête de l'article (preset « LEC · Image à la une ») ; rien si l'article n'en a pas */
.lec-v2 .lec-image-une .et_pb_title_container:empty { display: none; }
.lec-v2 .lec-image-une .et_pb_title_featured_container { margin: 0; }
.lec-v2 .lec-image-une .et_pb_title_featured_container img { display: block; width: 100%; border-radius: 16px; }
.lec-v2 .lec-image-une:not(:has(img[src])),
.lec-v2 .lec-image-une:has(img[src=""]) { display: none; }
/* Chapeau de l'article : rien si l'article n'a pas d'extrait rédigé (functions.php) */
.lec-v2.single-post .et_pb_text:not(:has(*)) { display: none; }

/* ============================================================
   SIMULATEUR D'ÉCHÉANCES ([lec_simulateur], js/simulateur.js)
   ============================================================ */
.lec-v2 .lec-sim { display: grid; gap: 32px; margin: 16px 0 24px; color: #3d5566; font-size: 15px; }
/* Dans un article (colonne de 760 px), le simulateur prend la largeur du site */
.lec-v2 .lec-article .lec-sim { width: min(1200px, 90vw); position: relative; left: 50%; transform: translateX(-50%); }
.lec-v2 .lec-article .lec-sim h3 { font-size: 18px; }
@media (min-width: 981px) {
	.lec-v2 .lec-sim { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; }
	.lec-v2 .lec-sim__form { position: sticky; top: 100px; }
}
.lec-v2 .lec-sim__form { background: #fff; border: 1px solid #dbe4ec; border-radius: 16px; padding: 24px; }
.lec-v2 .lec-sim h3 { font-family: 'Inter', system-ui, sans-serif; font-weight: 600; font-size: 18px; color: #173246; padding-bottom: 12px; }
.lec-v2 .lec-sim label, .lec-v2 .lec-sim legend { display: block; font-size: 14px; font-weight: 500; color: #173246; margin-bottom: 6px; }
.lec-v2 .lec-sim select {
	width: 100%; border: 1px solid #dbe4ec; border-radius: 12px; background: #fff; padding: 10px 12px;
	font: inherit; font-size: 15px; color: #173246;
}
.lec-v2 .lec-sim__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lec-v2 .lec-sim p { padding-bottom: 14px; }
.lec-v2 .lec-sim fieldset { border: 0; padding: 0; margin: 0 0 12px; }
.lec-v2 .lec-sim fieldset label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; color: #3d5566; line-height: 1.4; margin-bottom: 8px; }
.lec-v2 .lec-sim input[type="checkbox"] { accent-color: #1a6fa3; width: 16px; height: 16px; margin-top: 2px; flex: none; }
.lec-v2 .lec-sim .lec-sim__aide { font-size: 12.5px; color: #5b6b78; padding-bottom: 0; }
.lec-v2 .lec-sim__tete { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: flex-end; margin-bottom: 18px; }
.lec-v2 .lec-sim__tete h3 { padding-bottom: 4px; }
.lec-v2 .lec-sim__tete p { font-size: 14px; color: #5b6b78; padding: 0; }
.lec-v2 .lec-sim__imprimer {
	background: #fff; color: #173246; border: 1.5px solid #dbe4ec; border-radius: 999px; padding: 10px 20px;
	font: 600 14px/1.2 'Inter', system-ui, sans-serif; cursor: pointer;
}
.lec-v2 .lec-sim__imprimer:hover { border-color: #a8c8e8; color: #145783; }
.lec-v2 .lec-sim__tableau { border: 1px solid #dbe4ec; border-radius: 16px; overflow: hidden; background: #fff; }
.lec-v2 .lec-sim table { width: 100%; border: 0; border-collapse: collapse; margin: 0; font-size: 14px; }
.lec-v2 .lec-sim thead th {
	background: #eef3f8; text-align: left; font-size: 12px; font-weight: 600; letter-spacing: .08em;
	text-transform: uppercase; color: #3d5566; padding: 12px 16px;
}
.lec-v2 .lec-sim td { padding: 12px 16px; border-top: 1px solid #dbe4ec; vertical-align: top; color: #3d5566; }
.lec-v2 .lec-sim .lec-sim__date { white-space: nowrap; font-weight: 600; color: #173246; }
.lec-v2 .lec-sim__org-mobile { display: block; font-size: 12px; color: #5b6b78; }
.lec-v2 .lec-sim .lec-sim__org { display: none; }
@media (min-width: 600px) {
	.lec-v2 .lec-sim .lec-sim__org { display: table-cell; }
	.lec-v2 .lec-sim__org-mobile { display: none; }
}
@media (max-width: 599px) {
	.lec-v2 .lec-sim .lec-sim__date { white-space: normal; }
}
.lec-v2 .lec-sim__notes { margin: 18px 0 0; padding-left: 18px; font-size: 12.5px; color: #5b6b78; list-style: disc; }
.lec-v2 .lec-sim__notes li { margin-bottom: 6px; }
@media print {
	.lec-v2 .et-l--header, .lec-v2 .et-l--footer, .lec-v2 .lec-sim__form, .lec-v2 .lec-sim__imprimer { display: none !important; }
	.lec-v2 .lec-sim { display: block; }
}

/* ============================================================
   PAGES INTÉRIEURES (gabarits.py)
   ============================================================ */
.lec-v2 .lec-sep { color: #a8c8e8; margin: 0 4px; }
.lec-v2 .lec-a-confirmer {
	display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
	padding: 2px 8px; border-radius: 4px; background: #fff3c4; color: #6b5300; vertical-align: middle; line-height: 1.6;
}
/* Encadré « En bref » : liste à coches et boutons pleine largeur */
.lec-v2 .lec-encadre-texte ul li { position: relative; padding-left: 26px; margin-bottom: 9px; }
.lec-v2 .lec-encadre-texte ul li::before {
	content: "\4e"; font-family: ETmodules; position: absolute; left: 0; top: 1px; color: #1a6fa3; font-size: 16px;
}
.lec-v2 .lec-encadre .et_pb_button_module_wrapper { display: block; margin: 10px 0 0; }
.lec-v2 .lec-encadre .et_pb_button { display: block; width: 100%; text-align: center; }
@media (min-width: 981px) {
	.lec-v2 .lec-encadre { position: sticky; top: 100px; }
}
/* Questions fréquentes : questions empilées dans un bloc à bordure */
.lec-v2 .lec-faq .et_pb_module { margin-bottom: 0 !important; }
.lec-v2 .lec-faq .lec-question:last-child { border-bottom-width: 0 !important; }
.lec-v2 .lec-question .et_pb_toggle_title { padding-right: 36px; }
.lec-v2 .lec-question .et_pb_toggle_title::before { right: 0; }
.lec-v2 .lec-question .et_pb_toggle_content { padding-top: 10px; }
/* Étapes à filet : numéros automatiques */
.lec-v2 .lec-etapes .lec-etape .et_pb_blurb_content::before { font-size: 26px; margin-bottom: 12px; }

/* Boutons à icône à gauche (calendrier) : l'icône dans la marge du bouton */
.lec-v2 .et_pb_button.lec-icone-gauche, .lec-v2 .lec-icone-gauche .et_pb_button { padding-left: 46px !important; }
.lec-v2 .et_pb_button.lec-icone-gauche::before, .lec-v2 .lec-icone-gauche .et_pb_button::before {
	left: 20px !important; margin-left: 0 !important; line-height: inherit !important;
}

/* Le cabinet : cheffes de mission (initiales) */
.lec-v2 .lec-initiales .et_pb_text_inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 599px) { .lec-v2 .lec-initiales .et_pb_text_inner { grid-template-columns: 1fr; } }
.lec-v2 .lec-initiale-carte { background: #fff; border: 1px solid #dbe4ec; border-radius: 16px; padding: 24px; text-align: center; }
.lec-v2 .lec-initiale-carte h3 { padding-bottom: 2px; }
.lec-v2 .lec-initiale-carte p { color: #5b6b78; font-size: 14.5px; }
.lec-v2 .lec-initiale {
	display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%;
	background: #eef6fc; color: #1a6fa3; font-family: 'Libre Caslon Text', Georgia, serif; font-size: 24px; line-height: 1;
}
.lec-v2 .lec-associes .et_pb_team_member_description { padding-top: 4px; }

/* Tarifs */
.lec-v2 .lec-forfaits .et_pb_pricing_table { border-radius: 16px; overflow: visible; }
.lec-v2 .lec-forfaits .et_pb_featured_table { position: relative; }
.lec-v2 .lec-forfaits .et_pb_featured_table::before {
	content: "Le plus choisi"; position: absolute; top: -13px; left: 50%; transform: translateX(-50%); z-index: 3;
	background: #b59466; color: #fff; font: 600 12px/1 'Inter', system-ui, sans-serif; letter-spacing: .06em;
	text-transform: uppercase; padding: 7px 14px; border-radius: 999px;
}
.lec-v2 .lec-forfaits .et_pb_pricing_heading { border-radius: 16px 16px 0 0; padding: 26px 20px 18px; }
.lec-v2 .lec-forfaits .et_pb_dollar_sign { font-size: 15px; margin-right: 6px; vertical-align: 14px; }
.lec-v2 .lec-forfaits .et_pb_pricing li { text-align: left; }
.lec-v2 .lec-tarif .lec-pour-qui { color: #5b6b78; font-size: 14px; margin-top: -4px; }
.lec-v2 .lec-tarif .lec-prix { font-family: 'Libre Caslon Text', Georgia, serif; color: #1a6fa3; font-size: 24px; line-height: 1.3; padding: 6px 0 14px; }
.lec-v2 .lec-tarif ul li { position: relative; padding-left: 24px; margin-bottom: 8px; }
.lec-v2 .lec-tarif ul li::before { content: "\4e"; font-family: ETmodules; position: absolute; left: 0; top: 1px; color: #1a6fa3; }
.lec-v2 .lec-tableau-prix { width: 100%; border: 1px solid #dbe4ec !important; border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.lec-v2 .lec-tableau-prix td { padding: 14px 18px !important; border-top: 1px solid #dbe4ec; color: #3d5566; }
.lec-v2 .lec-tableau-prix tr:first-child td { border-top: 0; }
.lec-v2 .lec-tableau-prix td:last-child { text-align: right; font-weight: 600; color: #173246; white-space: nowrap; }
@media (max-width: 599px) { .lec-v2 .lec-tableau-prix td:last-child { white-space: normal; } }

/* Boîte à outils : organismes */
.lec-v2 .lec-organismes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; padding: 0 !important; list-style: none !important; }
@media (max-width: 980px) { .lec-v2 .lec-organismes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .lec-v2 .lec-organismes { grid-template-columns: 1fr; } }
.lec-v2 .lec-organismes li { background: #fff; border: 1px solid #dbe4ec; border-radius: 12px; padding: 14px 16px; list-style: none; }
.lec-v2 .lec-organismes a { color: #173246; font-weight: 600; }
.lec-v2 .lec-organismes small { display: block; color: #5b6b78; font-size: 13.5px; }
.lec-v2 .lec-note { font-size: 13px; color: #5b6b78; padding-top: 16px; }

/* Contact : coordonnées titrées et formulaire WPForms */
.lec-v2 .lec-info--titre .et_pb_module_header { font-size: 16px !important; padding-bottom: 2px; }
.lec-v2 .lec-formulaire .wpforms-container { margin: 0 !important; }
.lec-v2 .lec-formulaire .wpforms-field-label { font-family: 'Inter', system-ui, sans-serif; font-weight: 500; color: #173246; font-size: 14px; }
.lec-v2 .lec-formulaire input[type="text"], .lec-v2 .lec-formulaire input[type="email"],
.lec-v2 .lec-formulaire select, .lec-v2 .lec-formulaire textarea {
	width: 100%; max-width: none !important; border: 1px solid #dbe4ec !important; border-radius: 12px !important;
	padding: 11px 13px !important; font: 15px/1.4 'Inter', system-ui, sans-serif !important; color: #173246 !important; background: #fff !important;
}
.lec-v2 .lec-formulaire textarea { min-height: 150px; }
.lec-v2 .lec-formulaire .wpforms-submit {
	background: #1a6fa3 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 13px 26px !important; font: 600 15px/1.2 'Inter', system-ui, sans-serif !important; cursor: pointer;
}
.lec-v2 .lec-formulaire .wpforms-submit:hover { background: #145783 !important; }

/* Carte Google plus large (page Contact) */
.lec-v2 .lec-carte-large iframe { aspect-ratio: 16 / 10; }

/* Rendez-vous : agenda Microsoft Bookings (module Code), dans un encadré qui défile avec la page */
.lec-v2 .lec-encadre.lec-agenda { position: static; }
.lec-v2 .lec-bookings { display: block; width: 100%; height: 900px; border: 0; border-radius: 12px; background: #fff; }
@media (max-width: 599px) {
	.lec-v2 .lec-encadre.lec-agenda { padding: 10px !important; }
	.lec-v2 .lec-bookings { height: 1150px; }
}

/* Pages légales */
.lec-v2 .lec-legal h2 { font-size: 26px !important; padding-top: 18px; }
.lec-v2 .lec-legal h3 { font-size: 17px !important; padding-top: 6px; }

/* Tarifs : trois forfaits de même hauteur */
.lec-v2 .lec-forfaits .et_pb_pricing_table_wrap { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 981px) {
	.lec-v2 .lec-forfaits .et_pb_pricing_table_wrap { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
}
.lec-v2 .lec-forfaits .et_pb_pricing_table { float: none; width: auto !important; max-width: none !important; margin: 0 !important; display: flex; flex-direction: column; }
.lec-v2 .lec-forfaits .et_pb_pricing_content { flex: 1 1 auto; }
.lec-v2 .lec-forfaits .et_pb_dollar_sign { position: static; margin: 0 6px 0 0 !important; font-size: 15px; vertical-align: middle; }

/* Le cabinet : associés, portrait à gauche du texte */
@media (min-width: 768px) {
	.lec-v2 .lec-associe { display: flex; gap: 24px; align-items: flex-start; }
	.lec-v2 .lec-membre.lec-associe .et_pb_team_member_image { width: 180px !important; flex: none; margin: 0 !important; }
}

/* Pages légales : première colonne des tableaux en libellé */
.lec-v2 .lec-legal tbody td:first-child { color: #173246; font-weight: 600; width: 34%; }

/* ============================================================
   CONSENTEMENT AUX COOKIES (js/consentement.js)
   ============================================================ */
.lec-cookies {
	position: fixed; left: 16px; bottom: 16px; z-index: 100000; max-width: 520px;
	background: #fff; border: 1px solid #dbe4ec; border-radius: 16px; padding: 20px 22px;
	box-shadow: 0 24px 60px -24px rgba(15, 74, 107, .45);
	font: 400 14.5px/1.55 Inter, system-ui, sans-serif; color: #3d5566;
}
.lec-cookies[hidden] { display: none; }
.lec-cookies p { margin: 0 0 12px; padding: 0; }
.lec-cookies a { color: #1a6fa3; text-decoration: underline; }
.lec-cookies__titre { font-weight: 600; font-size: 16px; color: #173246; }
.lec-cookies__choix { margin: 0 0 14px; }
.lec-cookies__choix[hidden] { display: none; }
.lec-cookies__choix label { display: block; margin: 0 0 6px; }
.lec-cookies__choix input { margin-right: 6px; }
/* Trois boutons identiques : refuser est aussi simple qu'accepter */
.lec-cookies__boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.lec-cookies button,
.lec-consentement button {
	flex: 1 1 auto; background: #fff; color: #1a6fa3; border: 1px solid #1a6fa3; border-radius: 999px;
	padding: 9px 16px; font: 600 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer;
}
.lec-cookies button:hover,
.lec-consentement button:hover { background: #eef6fc; }
.lec-cookies button:focus-visible,
.lec-consentement button:focus-visible { outline: 2px solid #1a6fa3; outline-offset: 2px; }
@media (max-width: 599px) {
	.lec-cookies { left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 18px; }
}
/* Carte et agenda masqués tant que le visiteur ne les a pas acceptés */
.lec-consentement {
	position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center;
	justify-content: flex-start; gap: 12px; padding: 72px 20px 20px; text-align: center; background: #eef3f8;
	border-radius: inherit; font: 400 15px/1.5 Inter, system-ui, sans-serif; color: #3d5566;
}
.lec-consentement p { margin: 0; padding: 0; max-width: 420px; }
.lec-consentement button { flex: none; }

/* ============================================================
   LISTES D'ARTICLES, RECHERCHE, PAGE INTROUVABLE (parts/liste.php)
   ============================================================ */
.lec-v2 .lec-liste__cadre { position: relative; z-index: 2; width: 90%; max-width: 1200px; margin: 0 auto; }
.lec-v2 .lec-liste__haut {
	padding: 72px 0;
	background: linear-gradient(165deg, #d3e7f6 0%, #e4f0fa 40%, #f3f8fd 75%, #fff 100%);
}
.lec-v2 .lec-liste__label {
	padding-bottom: 12px; font: 600 12px/1.4 Inter, system-ui, sans-serif; letter-spacing: .14em;
	text-transform: uppercase; color: #1a6fa3;
}
.lec-v2 .lec-liste__titre {
	padding: 0; font: 400 46px/1.12 'Libre Caslon Text', Georgia, serif; color: #173246;
}
.lec-v2 .lec-liste__intro { max-width: 760px; margin-top: 14px; font: 400 18px/1.6 Inter, system-ui, sans-serif; color: #3d5566; }
.lec-v2 .lec-liste__intro p { padding: 0; }
.lec-v2 .lec-liste__corps { padding: 64px 0 88px; }
.lec-v2 .lec-liste__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.lec-v2 .lec-liste__carte {
	display: flex; flex-direction: column; padding: 26px; background: #fff; border: 1px solid #dbe4ec;
	border-radius: 16px; transition: border-color .2s, box-shadow .2s;
}
.lec-v2 .lec-liste__carte:hover { border-color: #a8c8e8; box-shadow: 0 18px 40px -28px rgba(15, 74, 107, .38); }
.lec-v2 .lec-liste__meta {
	padding-bottom: 10px; font: 600 12px/1.5 Inter, system-ui, sans-serif; letter-spacing: .08em;
	text-transform: uppercase; color: #5b6b78;
}
.lec-v2 .lec-liste__meta a { color: #1a6fa3; }
.lec-v2 .lec-liste__carte h2 { padding-bottom: 10px; font: 400 21px/1.28 'Libre Caslon Text', Georgia, serif; color: #173246; }
.lec-v2 .lec-liste__carte h2 a { color: inherit; }
.lec-v2 .lec-liste__extrait { flex: 1; padding: 0; font: 400 15px/1.6 Inter, system-ui, sans-serif; color: #5b6b78; }
.lec-v2 .lec-liste__lien { align-self: flex-start; margin-top: 16px; font: 600 15px/1.4 Inter, system-ui, sans-serif; color: #1a6fa3; }
.lec-v2 .lec-liste .pagination { margin-top: 40px; font: 500 15px/1.4 Inter, system-ui, sans-serif; }
.lec-v2 .lec-liste .pagination .screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.lec-v2 .lec-liste .page-numbers { display: inline-block; padding: 6px 12px; border-radius: 999px; color: #1a6fa3; }
.lec-v2 .lec-liste .page-numbers.current { background: #1a6fa3; color: #fff; }
.lec-v2 .lec-liste__vide p { max-width: 760px; font: 400 17px/1.7 Inter, system-ui, sans-serif; color: #3d5566; }
.lec-v2 .lec-liste__boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.lec-v2 .lec-liste__bouton {
	display: inline-block; padding: 12px 26px; border: 1px solid #1a6fa3; border-radius: 999px; background: #1a6fa3;
	font: 600 15px/1.4 Inter, system-ui, sans-serif; color: #fff;
}
.lec-v2 .lec-liste__bouton:hover { background: #145783; border-color: #145783; color: #fff; }
.lec-v2 .lec-liste__bouton--clair { background: #fff; border-color: #dbe4ec; color: #1a6fa3; }
.lec-v2 .lec-liste__bouton--clair:hover { background: #eef6fc; border-color: #a8c8e8; color: #145783; }
@media (max-width: 980px) {
	.lec-v2 .lec-liste__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lec-v2 .lec-liste__titre { font-size: 40px; }
}
@media (max-width: 767px) {
	.lec-v2 .lec-liste__haut { padding: 40px 0 48px; }
	.lec-v2 .lec-liste__corps { padding: 40px 0 64px; }
	.lec-v2 .lec-liste__grille { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.lec-v2 .lec-liste__titre { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	.lec-v2 .lec-liste__carte { transition: none; }
}
