/* == REFONTE VISUELLE - 22/09/2026 ======================================
   Chargée APRÈS la CSS additionnelle (wp_head, priorité 102) : elle
   prime sans toucher aux règles existantes. La supprimer rend le site
   tel qu'il était (hors polices, voir uploads/lfd-fonts/polices.css).
   Contenu, balisage et SEO inchangés : uniquement de la présentation.
   Aucune animation d'opacité sur du texte (transform seul). */

:root{
  --lfd-rayon:16px;          /* cartes */
  --lfd-rayon-img:12px;      /* images */
  --lfd-rayon-btn:10px;      /* boutons, champs */
  --lfd-ombre:0 1px 2px rgba(12,46,68,.06), 0 10px 30px -14px rgba(12,46,68,.28);
  --lfd-ombre-haute:0 2px 4px rgba(12,46,68,.08), 0 22px 44px -18px rgba(12,46,68,.38);
  /* UI-08 : rythme vertical resserré (environ -30 %) */
  --lfd-sect-haut:clamp(44px, 5.2vw, 76px) !important;
  --lfd-sect-bas:clamp(48px, 5.6vw, 84px) !important;
}

/* -- UI-01 . TYPOGRAPHIE -- */
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
/* Plus Jakarta Sans n'a pas d'axe de chasse : l'ancien réglage wdth est sans effet, on le neutralise. */
h1, h2, h3, h4, .elementor-heading-title, .elementor-button{ font-variation-settings:normal !important; }
/* Le corps en graisse 300 était pensé pour Source Sans ; Jakarta se lit mieux en 400. */
body #lfd-hero .elementor-widget-text-editor p,
body #lfd-cta .elementor-widget-text-editor p,
body #lfd-hero-page .elementor-widget-text-editor p{ font-weight:400 !important; }

/* -- ARRONDIS DOUX (façon concurrent), boutons et images -- */
body .elementor-button,
body .elementor input, body .elementor textarea, body .elementor select,
body .wpforms-container input, body .wpforms-container textarea, body .wpforms-container select,
body .wpforms-container button{ border-radius:var(--lfd-rayon-btn) !important; }
body [data-elementor-type="wp-page"] .elementor-widget-image img{ border-radius:var(--lfd-rayon-img) !important; }
body .elementor-button:hover{ transform:translateY(-1px); }
.lfd-carte{ border-radius:var(--lfd-rayon) !important; overflow:hidden; box-shadow:var(--lfd-ombre); transition:transform .25s var(--lfd-out, ease), box-shadow .25s var(--lfd-out, ease); }
.lfd-carte:hover{ transform:translateY(-3px); box-shadow:var(--lfd-ombre-haute); }
.lfd-pagination .page-numbers{ border-radius:var(--lfd-rayon-btn); }

/* -- UI-03 . EN-TÊTE : téléphone seul, en pastille -- */
body #lfd-tel-entete a{
  display:inline-flex !important; align-items:center; gap:9px;
  padding:10px 16px; border:1px solid #D3DCE3; border-radius:var(--lfd-rayon-btn);
  font-size:15.5px !important; font-weight:700 !important; line-height:1.2 !important; letter-spacing:.01em;
  background:#FFFFFF; transition:border-color .2s, color .2s;
}
body #lfd-tel-entete a::before{
  content:""; width:17px; height:17px; flex:0 0 17px;
  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='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%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='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body #lfd-tel-entete a:hover{ border-color:#12405F; }
body #lfd-tel-entete small{ display:none !important; }

/* -- UI-04 . LÉGENDES D'IMAGES DANS LES ARTICLES -- */
body.single-post .entry-content figure,
body.single-post .entry-content .lfd-illustration{ box-shadow:none !important; background:none !important; margin:34px 0 !important; }
body.single-post .entry-content figure img{ border-radius:var(--lfd-rayon-img) !important; box-shadow:var(--lfd-ombre); }
body.single-post .entry-content figure figcaption{
  margin:14px 0 0 !important; padding:0 0 0 14px !important;
  border-left:3px solid #F2A93B;
  font-size:14.5px !important; line-height:1.55 !important; font-style:italic;
  color:#5E5A54 !important; text-align:left !important; background:none !important; box-shadow:none !important;
}

/* -- UI-10 . EN-TÊTE BLEU DES ARTICLES -- */
.lfd-article-hero{ background:#0C2E44; color:#F6F2EA; padding:clamp(44px, 5.5vw, 76px) 0 clamp(40px, 5vw, 68px); }
.lfd-article-hero__inner{ max-width:1120px; margin-inline:auto; padding-inline:clamp(24px, 5vw, 80px); }
.lfd-article-hero__sur{ margin:0 0 14px; font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#F2A93B; }
.lfd-article-hero__sur a{ color:inherit; text-decoration:none; }
.lfd-article-hero__sur a:hover{ color:#FFFFFF; }
body .lfd-article-hero h1.lfd-article-hero__titre{
  margin:0; max-width:24ch; color:#F6F2EA !important;
  font-family:'Plus Jakarta Sans', system-ui, sans-serif; font-weight:800;
  font-size:clamp(28px, 2.4vw + 14px, 48px) !important; line-height:1.08 !important; letter-spacing:-.025em; text-wrap:balance;
}
.lfd-article-hero__chapeau{ margin:18px 0 0; max-width:62ch; font-size:clamp(16px, .5vw + 14px, 19px); line-height:1.6; color:rgba(246,242,234,.86); }
@media (max-width:760px){ body .lfd-article-hero h1.lfd-article-hero__titre{ max-width:none; } }
body.single-post .entry-content .lfd-essentiel{
  background:#FFFFFF !important; border:1px solid #E4DCCD; border-left:4px solid #F2A93B !important;
  border-radius:var(--lfd-rayon); box-shadow:var(--lfd-ombre); padding:24px 28px !important;
}
body.single-post .entry-content .lfd-cta-article{ border-radius:var(--lfd-rayon); }
body.single-post #primary .ast-article-single,
body.single-post #primary article.post{ border-radius:var(--lfd-rayon); }

/* -- UI-05 . LES 4 VALEURS EN CARTES -- */
body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes):not(#lfd-entete){ gap:20px !important; column-gap:20px !important; flex-wrap:wrap !important; margin-top:0; }
body #lfd-valeurs #lfd-duo-5 > .e-con{
  width:calc(25% - 15px) !important; flex:0 0 auto;
  padding:30px 26px 30px !important;
  background:linear-gradient(180deg, rgba(246,242,234,.09), rgba(246,242,234,.04)) !important;
  border:1px solid rgba(246,242,234,.16) !important; border-radius:var(--lfd-rayon) !important;
  transition:transform .3s var(--lfd-out, ease), border-color .3s, background-color .3s;
}
body #lfd-valeurs #lfd-duo-5 > .e-con:hover{ transform:translateY(-4px); border-color:rgba(242,169,59,.6) !important; }
body #lfd-valeurs #lfd-duo-5 [id^="lfd-chiffre"] .elementor-heading-title,
body #lfd-valeurs #lfd-duo-5 p[id^="lfd-chiffre"]{ color:#F2A93B !important; font-size:clamp(30px, 2vw + 12px, 42px) !important; letter-spacing:-.01em !important; margin-bottom:18px; }
body #lfd-valeurs #lfd-duo-5 h3.elementor-heading-title{ margin-bottom:10px; }
@media (max-width:1080px){ body #lfd-valeurs #lfd-duo-5 > .e-con{ width:calc(50% - 10px) !important; } }
@media (max-width:560px){ body #lfd-valeurs #lfd-duo-5 > .e-con{ width:100% !important; } }

/* -- UI-06 . CARROUSEL DU PREMIER APPEL AU RÉGLAGE FINAL --
   Défilement natif (scroll-snap) : fonctionne au doigt sans script, le
   contenu des 4 étapes reste dans le HTML. Le script ajoute flèches,
   points et défilement automatique. */
body #lfd-etapes{
  display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; gap:0 !important;
  overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none;
  margin-top:0; border-radius:var(--lfd-rayon);
  padding:0 !important;
}
body #lfd-etapes::-webkit-scrollbar{ display:none; }
body #lfd-etapes:focus-visible{ outline:3px solid #F2A93B; outline-offset:4px; }
body #lfd-etapes > [id^="lfd-duo-"]{
  flex:0 0 100% !important; width:100% !important; max-width:100% !important;
  scroll-snap-align:start; scroll-snap-stop:always;
  background:#FFFFFF; border:1px solid #E4DCCD !important; border-radius:var(--lfd-rayon) !important;
  gap:clamp(20px, 3vw, 44px) !important; align-items:center !important;
  margin:0 !important;
}
body #lfd-etapes > [id^="lfd-duo-"] .elementor-widget-image{ width:100% !important; align-self:stretch; }
body #lfd-etapes > [id^="lfd-duo-"] .elementor-widget-image img{ display:block; aspect-ratio:4/3; object-fit:cover; width:100% !important; max-width:100% !important; height:auto !important; }
body #lfd-etapes > [id^="lfd-duo-"]{ flex-wrap:nowrap !important; }
body #lfd-etapes > [id^="lfd-duo-"] > .e-con:first-child{ flex:1 1 0 !important; width:auto !important; min-width:0; padding:0 !important; }
body #lfd-etapes > [id^="lfd-duo-"] > .e-con:last-child{ flex:0 0 44% !important; width:44% !important; padding:0 !important; }
@media (max-width:1080px){ body #lfd-etapes > [id^="lfd-duo-"]{ flex-direction:column !important; align-items:stretch !important; } body #lfd-etapes > [id^="lfd-duo-"] > .e-con:first-child, body #lfd-etapes > [id^="lfd-duo-"] > .e-con:last-child{ flex:0 0 auto !important; width:100% !important; } }
.lfd-carrousel-nav{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:22px; }
.lfd-carrousel-nav__fleche{
  display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0;
  border:1.5px solid #12405F; border-radius:50%; background:#FFFFFF; color:#12405F; cursor:pointer;
  transition:background-color .2s, color .2s, transform .2s;
}
.lfd-carrousel-nav__fleche:hover{ background:#12405F; color:#FFFFFF; }
.lfd-carrousel-nav__fleche:focus-visible, .lfd-carrousel-nav__points button:focus-visible{ outline:3px solid #F2A93B; outline-offset:3px; }
.lfd-carrousel-nav__fleche svg{ width:20px; height:20px; }
.lfd-carrousel-nav__points{ display:flex; gap:10px; }
.lfd-carrousel-nav__points button{ width:10px; height:10px; padding:0; border:0; border-radius:10px; background:#C9C1B2; cursor:pointer; transition:width .3s var(--lfd-out, ease), background-color .3s; }
.lfd-carrousel-nav__points button[aria-current="true"]{ width:30px; background:#12405F; }
.lfd-carrousel-nav__compteur{ min-width:52px; text-align:center; font-weight:700; font-size:14px; letter-spacing:.06em; color:#12405F; }
@media (prefers-reduced-motion: reduce){ body #lfd-etapes{ scroll-behavior:auto; } }

/* -- UI-07 . BANDEAU DEVIS : marges resserrées -- */
body #lfd-cta{ --padding-top:0px; --padding-bottom:0px; padding-top:0 !important; padding-bottom:0 !important; }
body #lfd-cta > .e-con-inner{ padding-top:clamp(52px, 5.5vw, 80px) !important; padding-bottom:clamp(52px, 5.5vw, 80px) !important; }
body #lfd-cta .elementor-widget-text-editor p{ color:rgba(246,242,234,.9) !important; }

/* -- UI-08 . VIDES RÉDUITS -- */
body #lfd-manifeste, body #lfd-index, body #lfd-materiaux, body #lfd-avant-apres,
body #lfd-valeurs, body #lfd-methode, body #lfd-zones, body #lfd-faq{
  padding-top:var(--lfd-sect-haut) !important; padding-bottom:var(--lfd-sect-bas) !important;
}
body #lfd-index [id^="lfd-trio-"]{ --padding-top:22px; --padding-bottom:22px; padding-top:22px !important; padding-bottom:22px !important; }
body #lfd-index [id^="lfd-trio-"]:first-of-type{ margin-top:clamp(12px, 2vw, 24px); }

/* -- UI-02 . NOTE GOOGLE -- */
.lfd-note-google{
  display:inline-flex; align-items:center; gap:10px; margin-top:22px;
  padding:9px 16px 9px 10px; border-radius:999px;
  background:rgba(255,255,255,.96); color:#12405F; text-decoration:none;
  font-size:14.5px; line-height:1; box-shadow:0 8px 24px -12px rgba(0,0,0,.45);
  transition:transform .2s;
}
.lfd-note-google:hover{ transform:translateY(-1px); color:#12405F; }
.lfd-note-google:focus-visible{ outline:3px solid #F2A93B; outline-offset:3px; }
.lfd-note-google__g{ display:inline-flex; width:22px; height:22px; }
.lfd-note-google__etoiles{ color:#F5B301; letter-spacing:1px; font-size:15px; }
.lfd-note-google__texte strong{ font-weight:800; }

/* Spécificité (2,1,1) : la règle SYS-RESP [id^=lfd-]:not(#lfd-entete):not(#lfd-pied) pèse (2,1,0) et remettait le padding latéral à 0. */
body #lfd-methode #lfd-etapes > [id^="lfd-duo-"]{ padding:clamp(22px, 3vw, 40px) !important; }

/* -- Ajustements après contrôle visuel (22/09) -- */
/* Note Google : jamais soulignée ni recolorée par le style général des liens */
body a.lfd-note-google, body a.lfd-note-google *{ text-decoration:none !important; box-shadow:none; }
body a.lfd-note-google .lfd-note-google__texte{ color:#12405F !important; }
body a.lfd-note-google .lfd-note-google__etoiles{ color:#F5B301 !important; }
/* Intro -> cartes / carrousel : un seul écart maîtrisé */
body #lfd-valeurs .e-con-inner > .elementor-widget-text-editor,
body #lfd-methode .e-con-inner > .elementor-widget-text-editor{ margin-bottom:clamp(22px, 2.6vw, 34px) !important; }
body #lfd-valeurs .e-con-inner > .elementor-widget-text-editor p:last-child,
body #lfd-methode .e-con-inner > .elementor-widget-text-editor p:last-child{ margin-bottom:0; }
/* Cartes des valeurs : pas de vide sous le dernier paragraphe */
body #lfd-valeurs #lfd-duo-5 > .e-con > .elementor-widget:last-child,
body #lfd-valeurs #lfd-duo-5 > .e-con > .elementor-widget:last-child p:last-child{ margin-bottom:0 !important; }
@media (max-width:760px){ body #lfd-valeurs #lfd-duo-5 > .e-con{ padding:24px 22px !important; } }
/* Articles : moins de vide entre le bandeau bleu et le début du texte */
body.single-post .site-content .ast-container{ padding-top:clamp(20px, 2.4vw, 36px) !important; }
/* == CORRECTIFS 22/09 (2e passe) ======================================== */
/* Liens « flèche » : soulignés, donc jamais d'angles arrondis (la courbe venait
   du rayon appliqué à un élément qui n'a qu'une bordure basse), et un peu d'air
   entre le texte et le trait. */
body .lfd-lien-fleche .elementor-button{ border-radius:0 !important; padding:2px 2px 8px !important; }
body .lfd-lien-fleche .elementor-button .elementor-button-content-wrapper{ gap:8px; }
/* Boutons pleins et contourés : un peu plus d'air autour du texte. */
body .elementor-widget-button:not(.lfd-lien-fleche) .elementor-button{ padding-left:22px !important; padding-right:22px !important; }

/* Questions / réponses : plus de cadre, un simple filet entre les questions. */
body .elementor-accordion .elementor-accordion-item{
  border-width:0 0 1px 0 !important; border-style:solid !important; border-color:#D3DCE3 !important;
  background:transparent !important; border-radius:0 !important;
}
body .elementor-accordion .elementor-tab-title{ padding:18px 0 !important; background:transparent !important; border:0 !important; }
body .elementor-accordion .elementor-tab-content{ padding:0 0 22px 0 !important; background:transparent !important; border:0 !important; }
body .elementor-accordion .elementor-tab-title .elementor-accordion-title:focus,
body .elementor-accordion .elementor-tab-title a:focus{ outline:none; }

/* (bloc de la 2e passe retiré : il réduisait la largeur des colonnes et faisait
   tomber la 4e à la ligne ; remplacé par les marges intérieures de la 3e passe) */

/* == CORRECTIFS 22/09 (3e passe) ========================================
   1. Aucun trait dans les questions / réponses.
   2. L'écart entre colonnes passe en marge INTÉRIEURE : les largeurs d'origine
      (50 %, 25 %, 58/42…) sont conservées, donc plus aucune colonne ne tombe
      à la ligne suivante.
   3. Les chiffres 01-04 reprennent le jaune de la marque, y compris sur fond clair. */
body .elementor-accordion .elementor-accordion-item{ border:0 !important; }
body .elementor-accordion .elementor-accordion-item + .elementor-accordion-item{ border:0 !important; }

[id^="lfd-duo-"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero){ column-gap:0 !important; }
[id^="lfd-duo-"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero) > .e-con{
  width:var(--width) !important;
  padding-left:calc(var(--lfd-ecart, 32px) / 2) !important;
  padding-right:calc(var(--lfd-ecart, 32px) / 2) !important;
}
[id^="lfd-duo-"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero) > .e-con:first-child{ padding-left:0 !important; }
[id^="lfd-duo-"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero) > .e-con:last-child{ padding-right:0 !important; }
body #lfd-methode #lfd-etapes > [id^="lfd-duo-"] > .e-con{ padding-left:0 !important; padding-right:0 !important; }
@media (max-width:1080px){
  [id^="lfd-duo-"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero) > .e-con{ padding-left:0 !important; padding-right:0 !important; }
}

body [id^="lfd-chiffre"],
body [id^="lfd-chiffre"] .elementor-heading-title,
body p[id^="lfd-chiffre"],
body .lfd-etape-num .elementor-heading-title,
body .lfd-etape-num{ color:#F2A93B !important; }

/* Les rangées de 4 blocs tiennent sur une seule ligne jusqu'à 1080 px. */
@media (min-width:1081px){
  body #lfd-valeurs #lfd-duo-5{ gap:20px !important; flex-wrap:nowrap !important; }
  body #lfd-valeurs #lfd-duo-5 > .e-con{ width:calc((100% - 60px) / 4) !important; padding-left:26px !important; padding-right:26px !important; }
}
/* Encarts à filet vertical : de l'air entre le trait et le texte.
   Spécificité (4,1,1) : il faut passer devant SYS-RESP (2,1,0) mais aussi devant
   la règle d'écart des colonnes (3,3,0), qui remet à zéro la marge du premier enfant, qui remet les marges
   latérales à zéro sur tout élément dont l'identifiant commence par « lfd- ». */
body [id^="lfd-encart"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero):not(#lfd-etapes){
  padding-left:clamp(20px, 2vw, 30px) !important;
  padding-right:clamp(18px, 1.8vw, 26px) !important;
  padding-top:22px !important;
  padding-bottom:22px !important;
}
@media (max-width:760px){
  body [id^="lfd-encart"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero):not(#lfd-etapes){ padding-left:18px !important; padding-right:16px !important; }
}
/* == CORRECTIFS 22/09 (5e passe) ======================================== */
/* Rangées de 3 images ou plus : même hauteur pour toutes. */
[id^="lfd-duo-"]:has(> .e-con:nth-child(3)) > .e-con > .elementor-widget-image:only-child img{
  aspect-ratio:4/3; object-fit:cover; width:100%; height:auto;
}
/* Encart de fin d'article : le lien de devis devient un vrai bouton. */
.single-post .entry-content .lfd-cta-article a[href*="devis-fenetre-montpellier"]{
  display:flex; width:max-content; max-width:100%; align-items:center; gap:10px; margin-top:18px;
  padding:14px 24px; border-radius:var(--lfd-rayon-btn);
  background:#F2A93B; color:#0C2E44 !important;
  font-weight:700; text-decoration:none !important;
  transition:transform .2s, background-color .2s;
}
.single-post .entry-content .lfd-cta-article a[href*="devis-fenetre-montpellier"]::after{ content:"→"; font-weight:700; }
.single-post .entry-content .lfd-cta-article a[href*="devis-fenetre-montpellier"]:hover{ background:#FFFFFF; transform:translateY(-1px); }
.single-post .entry-content .lfd-cta-article a[href*="devis-fenetre-montpellier"]:focus-visible{ outline:3px solid #F6F2EA; outline-offset:3px; }
.single-post .entry-content .lfd-cta-article p:last-child{ margin-bottom:0; }
/* == CORRECTIFS MOBILE (22/09, 6e passe) ================================
   Mesurés à 390 px : boutons collés (0 px), cartes sans marge latérale,
   liens « flèche » collés au titre suivant, encart latéral sans marge,
   logo du pied écrasé (52 x 32 au lieu d'un carré). */

/* 1. Deux boutons qui passent l'un sous l'autre gardent un écart. */
[id^="lfd-"] .elementor-widget-button{ margin-bottom:0; }
[id^="lfd-"] .e-con:has(> .elementor-widget-button + .elementor-widget-button){ row-gap:12px; }
@media (max-width:760px){
  [id^="lfd-"] .elementor-widget-button + .elementor-widget-button{ margin-top:12px !important; }
}

/* 2. Cartes des valeurs : la règle d'écart des colonnes leur retirait leurs marges. */
@media (max-width:1080px){
  body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes) > .e-con{ padding:26px 22px !important; }
}

/* 3. Lien « flèche » suivi d'un autre bloc : de l'air avant le titre suivant. */
@media (max-width:1080px){
  [id^="lfd-"] .lfd-lien-fleche{ margin-bottom:28px !important; }
  [id^="lfd-"] .lfd-lien-fleche + *{ margin-top:6px; }
}

/* 4. Encarts latéraux (colonne devis / contact) : même marge que les autres encarts. */
body [id^="lfd-aside"]:not(#lfd-entete):not(#lfd-pied):not(#lfd-hero):not(#lfd-etapes){
  padding-left:clamp(20px, 2vw, 30px) !important;
  padding-right:clamp(18px, 1.8vw, 26px) !important;
}

/* 5. Logo du pied de page : carré, jamais recadré. */
body #lfd-pied .elementor-widget-image img{ height:auto !important; object-fit:contain !important; aspect-ratio:auto; }
/* Pied de page sur mobile : les intitulés de colonnes collaient à la liste précédente. */
@media (max-width:760px){
  body #lfd-pied .elementor-widget-heading{ margin-top:26px !important; }
  body #lfd-pied .e-con > .elementor-widget-heading:first-child,
  body #lfd-pied .e-con-inner > .elementor-widget-heading:first-child{ margin-top:0 !important; }
  body #lfd-pied .elementor-icon-list-items{ margin-bottom:4px; }
  /* colonnes empilées : un écart net entre la fin d'une liste et l'intitulé suivant */
  body #lfd-pied .e-con > .e-con + .e-con,
  body #lfd-pied .e-con-inner > .e-con + .e-con{ margin-top:30px !important; }
}
/* == CARTES DES VALEURS (23/09) =========================================
   Quatre cartes plus compactes sur une seule ligne, un écart net entre elles,
   une ombre portée et un léger soulèvement au survol. Aucune animation
   d'opacité sur le texte : seuls la transformation et l'ombre bougent. */
@media (min-width:1081px){
  body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes):not(#lfd-entete){ gap:24px !important; column-gap:24px !important; }
  body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes) > .e-con{
    width:calc((100% - 72px) / 4) !important;
    padding:24px 22px 26px !important;
  }
}
body #lfd-valeurs #lfd-duo-5 > .e-con{
  box-shadow:0 2px 4px rgba(4,18,28,.18), 0 18px 34px -22px rgba(4,18,28,.75);
  transition:transform .3s cubic-bezier(.23,1,.32,1), box-shadow .3s cubic-bezier(.23,1,.32,1), border-color .3s, background-color .3s;
}
body #lfd-valeurs #lfd-duo-5 > .e-con:hover,
body #lfd-valeurs #lfd-duo-5 > .e-con:focus-within{
  transform:translateY(-8px);
  box-shadow:0 4px 8px rgba(4,18,28,.22), 0 28px 48px -22px rgba(4,18,28,.9);
  background:linear-gradient(180deg, rgba(246,242,234,.14), rgba(246,242,234,.06)) !important;
  border-color:rgba(242,169,59,.75) !important;
}
/* Contenu resserré : chiffre, titre et texte légèrement plus petits. */
body #lfd-valeurs #lfd-duo-5 [id^="lfd-chiffre"] .elementor-heading-title,
body #lfd-valeurs #lfd-duo-5 p[id^="lfd-chiffre"]{ font-size:clamp(26px, 1.4vw + 12px, 34px) !important; margin-bottom:12px !important; }
body #lfd-valeurs #lfd-duo-5 h3.elementor-heading-title{ font-size:clamp(16px, .35vw + 14px, 18px) !important; margin-bottom:8px !important; }
body #lfd-valeurs #lfd-duo-5 .elementor-widget-text-editor p{ font-size:15px !important; line-height:1.5 !important; margin-bottom:0 !important; }
@media (prefers-reduced-motion: reduce){
  body #lfd-valeurs #lfd-duo-5 > .e-con{ transition:none; }
  body #lfd-valeurs #lfd-duo-5 > .e-con:hover{ transform:none; }
}
/* Cartes des valeurs entre 561 et 1080 px : deux par ligne, plein format.
   Sous 560 px : une par ligne. Selecteur a 5 ids pour depasser les regles de colonnes. */
@media (min-width:561px) and (max-width:1080px){
  body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes):not(#lfd-entete) > .e-con{
    width:calc(50% - 12px) !important; padding:24px 22px 26px !important;
  }
}
@media (max-width:560px){
  body #lfd-valeurs #lfd-duo-5:not(#lfd-hero):not(#lfd-etapes):not(#lfd-entete) > .e-con{ width:100% !important; }
}
/* Pastille Google en tête de l'encart de fin d'article. */
.single-post .entry-content .lfd-cta-article .lfd-note-google{ margin:0 0 16px !important; }
.single-post .entry-content .lfd-cta-article .lfd-note-google,
.single-post .entry-content .lfd-cta-article .lfd-note-google .lfd-note-google__texte,
.single-post .entry-content .lfd-cta-article .lfd-note-google strong,
.single-post .entry-content .lfd-cta-article .lfd-note-google b{ color:#12405F !important; font-weight:700; }
.single-post .entry-content .lfd-cta-article .lfd-note-google .lfd-note-google__etoiles{ color:#F5B301 !important; }
/* Le bouton tient sur une ligne, même sur les petits écrans. */
@media (max-width:480px){
  .single-post .entry-content .lfd-cta-article a[href*="devis-fenetre-montpellier"]{ font-size:15px; padding:13px 18px; gap:8px; }
}

/* 26/09 : ligne des communes desservies, en bas du pied de page. Les huit
   pages de zone n etaient liees que depuis leur hub, et Juvignac restait
   inconnue de Google. */
#lfd-pied .lfd-communes{
  margin:0 0 10px !important;
  font-size:clamp(12px, 1.1vw, 13px) !important;
  line-height:1.9 !important;
  opacity:.85;
}
#lfd-pied .lfd-communes a{
  white-space:nowrap;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.28);
}
#lfd-pied .lfd-communes a:hover{ border-bottom-color:currentColor; }
@media (max-width:600px){
  #lfd-pied .lfd-communes{ line-height:2.1 !important; }
}

/* 26/09 : signature de la redaction, en bas d article, avant l encart bleu. */
.single-post .entry-content .lfd-signature{
  margin:34px 0 0 !important;
  padding-top:16px;
  border-top:1px solid var(--e-global-color-a7d3bc8, rgba(12,46,68,.12));
  font-size:.92rem;
  color:#5B6B77;
}
.single-post .entry-content .lfd-signature strong{ color:#12405F; font-weight:600; }
