/* =====================================================================
   Habillages LODI — styles du site LODIGROUP (Elementor + Hello)
   Les couleurs globales d'Elementor (--e-global-color-*) sont redéfinies
   par saison, par événement et en mode nuit. Les blocs utilisent des
   classes CSS « lodi-… » posées dans Elementor (onglet Avancé).
   ===================================================================== */

/* ---------- polices hébergées sur le site ---------- */
@font-face{font-family:Khand;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/khand-300-latin.woff2) format("woff2")}
@font-face{font-family:Khand;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/khand-400-latin.woff2) format("woff2")}
@font-face{font-family:Khand;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/khand-500-latin.woff2) format("woff2")}
@font-face{font-family:Khand;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/khand-600-latin.woff2) format("woff2")}
@font-face{font-family:Geologica;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/geologica-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geologica;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/geologica-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/geologica-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/geologica-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Geologica;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/geologica-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geologica;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/geologica-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Geologica;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/geologica-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Geologica;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/geologica-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Covered By Your Grace";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/covered-by-your-grace-400-latin.woff2) format("woff2")}

/* ---------- palette : charte LODI (valeurs par défaut = hiver) ---------- */
body{
  --e-global-color-lodiink:#0E202D;--e-global-color-lodinavy:#163A4F;--e-global-color-lodiblue:#255A7B;--e-global-color-lodiblu2:#3277A0;
  --e-global-color-lodisky:#4FA6BE;--e-global-color-lodimist:#EAF2F4;--e-global-color-lodiacc:#8DB76D;--e-global-color-lodiaccd:#50965D;
  --e-global-color-lodiline:#D5E0E5;
}
/* SAISONS : toute la palette change (fonds, titres, accents) */
html[data-season=printemps] body{--e-global-color-lodiink:#16352A;--e-global-color-lodinavy:#22513D;--e-global-color-lodiblue:#3A7556;--e-global-color-lodiblu2:#5C9A6E;--e-global-color-lodisky:#A3CF8A;--e-global-color-lodimist:#F1F6EA;--e-global-color-lodiacc:#F0B85A;--e-global-color-lodiaccd:#A87A22;--e-global-color-lodiline:#DCE6D3;--e-global-color-primary:#22513D;--e-global-color-secondary:#3A7556;--e-global-color-accent:#F0B85A}
html[data-season=ete] body{--e-global-color-lodiink:#0C3442;--e-global-color-lodinavy:#12546A;--e-global-color-lodiblue:#1B7A8F;--e-global-color-lodiblu2:#2A9BB3;--e-global-color-lodisky:#7FD0DC;--e-global-color-lodimist:#EDF7F7;--e-global-color-lodiacc:#F29E4C;--e-global-color-lodiaccd:#C26A22;--e-global-color-lodiline:#D3E6E8;--e-global-color-primary:#12546A;--e-global-color-secondary:#1B7A8F;--e-global-color-accent:#F29E4C}
html[data-season=automne] body{--e-global-color-lodiink:#2A1B12;--e-global-color-lodinavy:#4A2C17;--e-global-color-lodiblue:#7A4518;--e-global-color-lodiblu2:#B0621D;--e-global-color-lodisky:#E29D40;--e-global-color-lodimist:#F8EFE3;--e-global-color-lodiacc:#E4BB71;--e-global-color-lodiaccd:#A35A1F;--e-global-color-lodiline:#EADCC8;--e-global-color-primary:#4A2C17;--e-global-color-secondary:#7A4518;--e-global-color-accent:#E4BB71}
html[data-season=hiver] body{--e-global-color-lodiink:#0E202D;--e-global-color-lodinavy:#1E3A50;--e-global-color-lodiblue:#3B6580;--e-global-color-lodiblu2:#5F8DA8;--e-global-color-lodisky:#A9CDE0;--e-global-color-lodimist:#EEF4F8;--e-global-color-lodiacc:#9FD3DD;--e-global-color-lodiaccd:#3D7E8C;--e-global-color-lodiline:#D5E2EA;--e-global-color-primary:#1E3A50;--e-global-color-secondary:#3B6580;--e-global-color-accent:#9FD3DD}
/* teintes de marché, en touches seulement */
html:not([data-event]) body.lodi-theme-hygiene,html:not([data-event]) .lodi-metier.lodi-theme-hygiene{--e-global-color-lodiacc:#4FA6BE;--e-global-color-lodiaccd:#2A7FA0}
html:not([data-event]) body.lodi-theme-retail,html:not([data-event]) .lodi-metier.lodi-theme-retail{--e-global-color-lodiacc:#8DB76D;--e-global-color-lodiaccd:#3E7D45}
html:not([data-event]) body.lodi-theme-cereales,html:not([data-event]) .lodi-metier.lodi-theme-cereales{--e-global-color-lodiacc:#E4BB71;--e-global-color-lodiaccd:#A35A1F}
html:not([data-event]) body.lodi-theme-export{--e-global-color-lodiacc:#9B7BD0;--e-global-color-lodiaccd:#6B4FA0}

/* variables de travail */
body{
  --ink:var(--e-global-color-lodiink);--navy:var(--e-global-color-lodinavy);--blue:var(--e-global-color-lodiblue);--blue2:var(--e-global-color-lodiblu2);
  --sky:var(--e-global-color-lodisky);--mist:var(--e-global-color-lodimist);--green:var(--e-global-color-lodiacc);--green-d:var(--e-global-color-lodiaccd);
  --line:var(--e-global-color-lodiline);--text:#24323C;--muted:#5D6D78;--surf:#fff;--hd:var(--ink);--hdr-h:88px;
  --btn-bg:var(--green);--btn-fg:var(--ink);
  background:var(--surf);color:var(--text);font:300 16px/1.7 Geologica,sans-serif;transition:background .6s,color .6s;
}
.lodi-metier{--green:var(--e-global-color-lodiacc)}

/* ---------- base ---------- */
body a{color:inherit;text-decoration:none}
/* le thème Hello colore les liens en bleu au survol : on garde la couleur du bloc */
body :is(a:hover,a:active,a:focus){color:inherit}
/* la couleur de lien du kit Elementor (Réglages du site › Typographie) ne s'applique pas : les liens prennent la couleur de leur bloc */
body[class*="elementor-kit-"] a:not(.elementor-button){color:inherit}
.lodi-logo,.lodi-logo:hover,.lodi-logo:focus{color:#fff!important}
a.lodi-metier,a.lodi-metier:is(:hover,:focus,:active){color:#fff!important}
a.lodi-post,a.lodi-post:is(:hover,:focus,:active){color:var(--text)!important}
.lodi-crumbs a:hover{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* largeur du contenu : 80 % de l'écran sur les grands écrans (1240 px minimum, 2400 px maximum) */
:is(.lodi-sec,.lodi-hero,.lodi-cta,.lodi-header,.lodi-footer).e-con-boxed{--content-width:min(100%,max(1240px,min(80vw,2400px)))!important}
:is(.lodi-sec,.lodi-hero,.lodi-cta,.lodi-header,.lodi-footer).e-con-boxed>.e-con-inner{max-width:min(100%,max(1240px,min(80vw,2400px)))!important}
/* lignes de texte lisibles même sur écran très large */
.lodi-head{max-width:920px}
.lodi-lead p,.lodi-cta p{max-width:720px}
body :is(strong,b){font-weight:600}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.lodi-sec{position:relative}
.lodi-tone-white{background:var(--surf)}
.lodi-tone-light{background:var(--mist)}
.lodi-tone-dark{background:var(--ink);color:#fff}
.lodi-tone-dark :is(h1,h2,h3,h4,.elementor-heading-title){color:#fff}

/* titres */
:is(.lodi-h1,.lodi-h2,.lodi-h3,.lodi-h4) .elementor-heading-title{font-family:Khand,sans-serif;font-weight:600;text-transform:uppercase;color:var(--hd)}
.lodi-h1 .elementor-heading-title{font-size:58px;line-height:1.02;letter-spacing:.06em}
.lodi-hero-home .lodi-h1 .elementor-heading-title{font-size:76px;max-width:880px}
.lodi-h2 .elementor-heading-title{font-size:42px;line-height:1.08;letter-spacing:.07em}
.lodi-h3 .elementor-heading-title{font-size:23px;line-height:1.2;letter-spacing:.1em}
.lodi-h4 .elementor-heading-title{font-size:17px;line-height:1.2;letter-spacing:.1em}
.lodi-lead{font-size:19px;line-height:1.6}
.lodi-muted{color:var(--muted);font-size:15px}
.lodi-kicker .elementor-heading-title{display:flex;align-items:center;gap:10px;font:600 15px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--green-d)}
.lodi-kicker .elementor-heading-title::before{content:"";width:9px;height:9px;background:var(--green);flex:none;order:1}
.lodi-kicker .idx{order:0;color:var(--muted);font-weight:500;padding-right:12px;border-right:1px solid var(--line)}
.lodi-kicker .txt{order:2}
:is(.lodi-hero,.lodi-tone-dark,.lodi-banner,.lodi-cta) .lodi-kicker .elementor-heading-title{color:var(--green)}
:is(.lodi-hero,.lodi-tone-dark,.lodi-cta) .lodi-kicker .idx{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.25)}
.lodi-hand{line-height:1}
.lodi-hand .elementor-heading-title{position:relative;display:inline-block;font:400 30px/1.1 "Covered By Your Grace",cursive;color:var(--green);transform:rotate(-3deg);text-transform:none;letter-spacing:.01em}
.lodi-hero .lodi-hand .elementor-heading-title{font-size:34px}
.lodi-cta .lodi-hand .elementor-heading-title{font-size:40px}
.lodi-hand svg.squig{position:absolute;left:0;right:0;bottom:-8px;width:100%;height:10px;overflow:visible}
.lodi-hand svg.squig path{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.1s ease .3s}
.lodi-hand.in svg.squig path{stroke-dashoffset:0}

/* boutons : angles droits, flèche qui glisse */
.lodi-btn .elementor-button{display:inline-flex;align-items:center;border-radius:0;border:2px solid transparent;padding:15px 26px 13px;font:600 16px/1 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;transition:all .25s ease}
.lodi-btn .elementor-button-content-wrapper{display:flex;flex-direction:row!important;align-items:center;gap:14px}
.lodi-btn .elementor-button-text{order:1}
.lodi-btn .elementor-button-icon{order:2;font-size:12px;transition:transform .25s ease;margin:0!important}
.lodi-btn .elementor-button-icon svg{width:12px;height:12px;fill:currentColor}
.lodi-btn .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.lodi-btn-primary .elementor-button{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.lodi-btn-primary .elementor-button:hover{background:#fff;border-color:#fff;color:var(--ink)}
:is(.lodi-tone-white,.lodi-tone-light) .lodi-btn-primary .elementor-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.lodi-btn-ghost .elementor-button{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.lodi-btn-ghost .elementor-button:hover{background:#fff;color:var(--ink)}
.lodi-btn-outline .elementor-button{background:transparent;border-color:var(--ink);color:var(--ink)}
.lodi-btn-outline .elementor-button:hover{background:var(--ink);color:#fff}
.lodi-btn-sm .elementor-button{padding:11px 18px 9px;font-size:15px}

/* visuels : repères de coupe aux 4 coins */
.lodi-media{position:relative;--mk:rgba(255,255,255,.85)}
.lodi-media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.lodi-media::after,.lodi-metier::after{content:"";position:absolute;inset:12px;pointer-events:none;z-index:3;background:
 linear-gradient(var(--mk),var(--mk)) left top/18px 2px no-repeat,linear-gradient(var(--mk),var(--mk)) left top/2px 18px no-repeat,
 linear-gradient(var(--mk),var(--mk)) right top/18px 2px no-repeat,linear-gradient(var(--mk),var(--mk)) right top/2px 18px no-repeat,
 linear-gradient(var(--mk),var(--mk)) left bottom/18px 2px no-repeat,linear-gradient(var(--mk),var(--mk)) left bottom/2px 18px no-repeat,
 linear-gradient(var(--mk),var(--mk)) right bottom/18px 2px no-repeat,linear-gradient(var(--mk),var(--mk)) right bottom/2px 18px no-repeat}
.lodi-hero .lodi-media{--mk:var(--green)}
html[data-mode=dark] .lodi-media img{filter:brightness(.85)}


/* grilles : secours si la grille native d'Elementor n'est pas disponible */
.e-flex.lodi-grid{--display:grid;display:grid!important;grid-template-columns:repeat(var(--lodi-c,3),minmax(0,1fr))}
.e-flex.lodi-grid>.e-con{--width:auto;width:auto}
.lodi-cols-2{--lodi-c:2}.lodi-cols-3{--lodi-c:3}.lodi-cols-4{--lodi-c:4}.lodi-cols-5{--lodi-c:5}
@media (max-width:1024px){.lodi-cols-t-1{--lodi-c:1}.lodi-cols-t-2{--lodi-c:2}.lodi-cols-t-3{--lodi-c:3}}
@media (max-width:767px){.lodi-cols-m-1{--lodi-c:1}.lodi-cols-m-2{--lodi-c:2}}

/* décor : lignes verticales en filigrane, calque d'événement */
.lodi-deco{position:absolute!important;inset:0;z-index:1;pointer-events:none;margin:0!important;width:auto!important}
.lodi-deco .elementor-widget-container,.lodi-deco .grid-lines,.lodi-deco .ev-layer{position:absolute;inset:0}
.grid-lines{display:flex;justify-content:space-evenly}
.grid-lines i{width:1px;background:rgba(255,255,255,.07)}
.ev-layer{pointer-events:none;overflow:hidden}
/* contenu au-dessus des décors ; la vidéo et les décors restent calés sur toute la section */
:is(.lodi-hero,.lodi-cta,.lodi-banner)>.e-con-inner>.elementor-element:not(.lodi-deco):not(.lodi-scroll),:is(.lodi-hero,.lodi-cta,.lodi-banner)>.elementor-element:not(.lodi-deco):not(.lodi-scroll){position:relative;z-index:2}
:is(.lodi-hero,.lodi-cta)>.e-con-inner{position:static}
.lodi-hero-home>.elementor-background-video-container,.lodi-hero-home .elementor-background-video-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;z-index:0}
.lodi-dots{position:absolute!important;right:-40px;top:-40px;bottom:-40px;width:55%!important;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.22) 1.6px,transparent 1.7px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 70%)}
.lodi-vert{writing-mode:vertical-rl;transform:rotate(180deg);font:500 13px Khand,sans-serif;text-transform:uppercase;letter-spacing:.3em;opacity:.6}

/* ---------- en-tête ---------- */
.elementor-location-header{position:sticky;top:0;z-index:50}
.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .elementor-location-header{top:46px}}
.lodi-header{background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);min-height:var(--hdr-h)}
.lodi-logo{display:block;color:#fff;line-height:0}
.lodi-logo svg{height:64px;width:auto;display:block}
.lodi-nav .elementor-nav-menu--main .elementor-item,.lodi-nav .elementor-nav-menu--main .elementor-nav-menu a:is(:hover,:focus,.highlighted,.elementor-item-active){font:500 17px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff!important;padding:10px 14px!important;transform:none!important}
.lodi-nav .elementor-nav-menu--main .elementor-item:hover,.lodi-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#fff}
.lodi-nav .elementor-nav-menu--main .elementor-item::after{background-color:var(--green)!important;height:2px!important}
.lodi-nav .elementor-nav-menu--main .sub-menu{background:var(--ink)!important;border-top:3px solid var(--green);box-shadow:0 18px 40px rgba(0,0,0,.25);min-width:240px!important}
.lodi-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item,.lodi-nav .elementor-nav-menu--main .sub-menu a:is(:hover,:focus,.highlighted,.elementor-item-active){font:300 16px/1.3 Geologica,sans-serif;text-transform:none;letter-spacing:0;color:rgba(255,255,255,.85)!important;background:transparent;padding:11px 22px!important;border:0;transform:none!important}
.lodi-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:is(:hover,:focus,.elementor-item-active){background:rgba(255,255,255,.08)!important;color:#fff!important}
.lodi-nav .elementor-nav-menu--main .lodi-menu-contact{display:none}
.lodi-nav .elementor-menu-toggle{background:transparent!important;color:#fff!important;font-size:24px;border:0}
.lodi-nav .elementor-menu-toggle svg{fill:#fff}
.lodi-nav .elementor-nav-menu--dropdown{background:var(--ink)}
.lodi-nav .elementor-nav-menu--dropdown a{font:500 20px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff!important;background:transparent!important;padding:14px 24px!important;border:0}
.lodi-nav .elementor-nav-menu--dropdown .sub-menu a{font:300 16px Geologica,sans-serif;text-transform:none;letter-spacing:0;padding-left:40px!important;opacity:.85}
.lodi-nav .elementor-nav-menu--dropdown .lodi-menu-contact>a{display:inline-flex;margin:16px 24px 22px;background:var(--green)!important;color:var(--ink)!important;font-size:16px}
.lodi-mode-t{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;padding:0;border-radius:0;transition:background .25s}
.lodi-mode-t:hover{background:rgba(255,255,255,.12)}
.lodi-mode-t svg{width:16px;height:16px;fill:currentColor}
.lodi-mode-t .sun{display:none}
html[data-mode=dark] .lodi-mode-t .sun{display:block}
html[data-mode=dark] .lodi-mode-t .moon{display:none}

/* bandeau d'événement */
.lodi-ribbon{position:relative;z-index:51;text-align:center;font:600 13px/1.3 Khand,sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:9px 14px}

/* ---------- hero ---------- */
.lodi-hero{background-color:var(--navy);color:#fff;overflow:hidden}
.lodi-hero :is(.elementor-heading-title,.lodi-lead,p){color:#fff}
.lodi-hero .lodi-lead{opacity:.88;max-width:640px}
.lodi-hero-home{min-height:calc(100vh - var(--hdr-h));background-size:cover;background-position:center}
.lodi-hero-home::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 92%,transparent) 0%,color-mix(in srgb,var(--ink) 60%,transparent) 55%,color-mix(in srgb,var(--ink) 15%,transparent) 100%)}
.lodi-hero-home .elementor-background-video-container{z-index:0}
/* visuel de saison : affiché pendant le chargement de la vidéo et sur mobile */
html[data-season=printemps] .lodi-hero-home{background-image:url(../img/saisons/entete-printemps-fourmi-1920.webp)}
html[data-season=ete] .lodi-hero-home{background-image:url(../img/saisons/entete-ete-moustique-tigre-1920.webp)}
html[data-season=automne] .lodi-hero-home{background-image:url(../img/saisons/entete-automne-champ-ble-silos-1920.webp)}
html[data-season=hiver] .lodi-hero-home{background-image:url(../img/saisons/entete-hiver-rat-canalisation-1920.webp)}
@media (max-width:1280px){
 html[data-season=printemps] .lodi-hero-home{background-image:url(../img/saisons/entete-printemps-fourmi-1280.webp)}
 html[data-season=ete] .lodi-hero-home{background-image:url(../img/saisons/entete-ete-moustique-tigre-1280.webp)}
 html[data-season=automne] .lodi-hero-home{background-image:url(../img/saisons/entete-automne-champ-ble-silos-1280.webp)}
 html[data-season=hiver] .lodi-hero-home{background-image:url(../img/saisons/entete-hiver-rat-canalisation-1280.webp)}
}
.lodi-scroll{position:absolute!important;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);width:auto!important}
.lodi-scroll a{display:flex;flex-direction:column;align-items:center;gap:10px;font:500 12px Khand,sans-serif;text-transform:uppercase;letter-spacing:.25em;color:#fff;opacity:.7}
.lodi-scroll i{display:block;width:1px;height:46px;background:linear-gradient(#fff,transparent);animation:lodi-cue 2s infinite}
@keyframes lodi-cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.lodi-crumbs{font-size:13px;opacity:.75}
.lodi-crumbs p{margin:0}
.lodi-crumbs span{margin:0 8px}
/* encart « En ce moment » */
.lodi-focus{display:inline-flex;align-items:stretch;margin-top:14px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:#fff!important;max-width:620px;transition:background .3s}
.lodi-focus:hover{background:rgba(255,255,255,.18)}
.lodi-focus .fc-s{background:var(--green);color:var(--ink);font:600 14px Khand,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:12px 14px;display:flex;align-items:center}
.lodi-focus .fc-t{padding:12px 16px;font-size:15px;line-height:1.4}
.lodi-focus em{font-style:normal;font-weight:500}
.lodi-focus .fc-i{display:flex;align-items:center;padding:0 16px}

/* ---------- chiffres clés ---------- */
.lodi-stat{position:relative;padding:24px 28px 6px!important;border-left:1px solid rgba(255,255,255,.18)}
.lodi-stat::before{content:"";position:absolute;left:-1px;top:0;width:3px;height:34px;background:var(--green)}
.lodi-num,.lodi-num p{font:300 74px/1 Khand,sans-serif;letter-spacing:.02em;margin:0;color:inherit}
.lodi-stat-pre{position:absolute!important;top:0;left:28px;font-size:13px;opacity:.75}
.lodi-stat-lbl .elementor-heading-title{font:600 18px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:inherit;margin-top:8px}
.lodi-stat-sub{font-size:13px;opacity:.7;line-height:1.4}
.lodi-stats-hand{position:absolute!important;right:40px;top:-48px;width:auto!important}

/* ---------- 4 métiers ---------- */
.lodi-metiers{gap:2px!important;background:var(--line);border:2px solid var(--line)}
.lodi-metier{position:relative;overflow:hidden;min-height:470px;color:#fff;background-color:var(--navy);background-size:cover;background-position:center;transition:background-size .6s ease}
.lodi-metier::before{content:""!important;position:absolute;top:0!important;left:0!important;width:100%!important;height:100%!important;border:0!important;opacity:1!important;mix-blend-mode:normal!important;z-index:1;pointer-events:none;background:linear-gradient(0deg,color-mix(in srgb,var(--ink) 95%,transparent) 15%,color-mix(in srgb,var(--ink) 25%,transparent) 70%)!important;transition:background .4s}
.lodi-metier:hover::before{background:linear-gradient(0deg,color-mix(in srgb,var(--navy) 97%,transparent) 40%,color-mix(in srgb,var(--navy) 60%,transparent))!important}
.lodi-metier::after{--mk:rgba(255,255,255,.35)}
.lodi-metier>.elementor-element{position:relative;z-index:2}
.lodi-metier .m-idx{position:absolute!important;top:22px;left:26px}
.lodi-metier .m-idx .elementor-heading-title{font:600 18px Khand,sans-serif;color:var(--green)}
.lodi-metier .m-ic .elementor-icon{font-size:22px;color:var(--green)}
.lodi-metier .m-ic .elementor-icon svg{width:22px;height:22px;fill:var(--green)}
.lodi-metier .m-title .elementor-heading-title{font:600 30px/1.05 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.lodi-metier .m-text{font-size:15px;line-height:1.55;max-height:0;opacity:0;overflow:hidden;transition:all .45s ease}
.lodi-metier:hover .m-text{max-height:140px;opacity:.9}
.lodi-metier .m-more{border-top:1px solid rgba(255,255,255,.25);padding-top:14px}
.lodi-metier .m-more .elementor-heading-title{font:600 14px Khand,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#fff}

/* ---------- bandeau international ---------- */
.lodi-banner{background:var(--blue);color:#fff;overflow:hidden}
.lodi-banner .elementor-heading-title{color:#fff}
.lodi-banner .lodi-h3 .elementor-heading-title{font-size:34px}
.lodi-banner p{opacity:.85}

/* ---------- cartes ---------- */
.lodi-card{position:relative;background:var(--surf);border:1px solid var(--line);transition:all .3s ease}
.lodi-tone-light .lodi-card{border-color:transparent}
.lodi-card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:2}
.lodi-card:hover{box-shadow:0 22px 50px rgba(14,32,45,.1);transform:translateY(-4px)}
.lodi-card:hover::before{transform:scaleX(1)}
.lodi-card .c-num{position:absolute!important;top:24px;right:26px;width:auto!important}
.lodi-card .c-num .elementor-heading-title{font:600 15px Khand,sans-serif;color:var(--line)}
.lodi-card .c-ic .elementor-icon{width:52px;height:52px;border:1.5px solid var(--green);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:19px}
.lodi-card .c-ic .elementor-icon svg{width:19px;height:19px;fill:var(--blue)}
.lodi-card p{font-size:15px;color:var(--muted)}
.lodi-ticks ul{list-style:none;padding:0;margin:18px 0 0}
.lodi-ticks li{position:relative;padding:9px 0 9px 26px;border-bottom:1px solid var(--line);font-size:15px}
.lodi-ticks li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:8px;background:var(--green)}

/* ---------- split texte / visuel ---------- */
.lodi-split-media{position:relative}
.lodi-split-media::after{content:"";position:absolute;width:120px;height:120px;border:2px solid var(--green);right:-18px;bottom:-18px;pointer-events:none}
.lodi-split-media .lodi-media img{aspect-ratio:auto;min-height:440px}

/* ---------- certifications ---------- */
.lodi-certs{border:1px solid var(--line);background:var(--surf);gap:0!important}
.lodi-cert{border-right:1px solid var(--line);text-align:center}
.lodi-cert:last-child{border-right:0}
.lodi-cert .cert-logo img{width:84px;height:84px;object-fit:contain;background:#fff;padding:6px}
.lodi-cert .cert-name .elementor-heading-title{font:600 24px Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--hd)}
.lodi-cert .cert-desc{font-size:13px;color:var(--muted)}

/* ---------- actualités ---------- */
.lodi-post{background:var(--surf);border:1px solid var(--line);transition:box-shadow .3s}
.lodi-post:hover{box-shadow:0 22px 50px rgba(14,32,45,.1)}
.lodi-post .lodi-media img{aspect-ratio:auto;height:240px}
.lodi-post .p-meta{font-size:13px;color:var(--muted)}
.lodi-post .p-meta em{font-style:normal;color:var(--blue2);font-weight:500}
.lodi-post .p-more .elementor-heading-title{font:600 15px Khand,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)}

/* ---------- appel à l'action ---------- */
.lodi-cta{background:var(--ink);color:#fff;overflow:hidden}
.lodi-cta .elementor-heading-title{color:#fff}
.lodi-cta p{opacity:.85;max-width:620px}
.lodi-cta .lodi-media{--mk:var(--green)}

/* note de travail (bêta) */
.lodi-note{background:#FFF6DC;color:#6b5100;font-size:14px;border-bottom:1px solid #f0dfa8}

/* ---------- contact : thématiques (onglets Elementor) + formulaires ---------- */
.lodi-ct .e-n-tabs-heading{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:40px}
.lodi-ct .e-n-tab-title{display:flex;align-items:center;gap:10px;padding:18px 18px 16px!important;border:1px solid var(--line)!important;background:var(--surf)!important;color:var(--hd)!important;border-radius:0!important;font:600 17px/1.15 Khand,sans-serif!important;text-transform:uppercase;letter-spacing:.08em;text-align:left;justify-content:flex-start!important;transition:all .2s;cursor:pointer;width:auto!important}
.lodi-ct .e-n-tab-title:hover{border-color:var(--green-d)!important}
.lodi-ct .e-n-tab-title[aria-selected=true]{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
.lodi-ct .e-n-tab-title .e-n-tab-icon{color:var(--green-d)}
.lodi-ct .e-n-tab-title .e-n-tab-icon svg{fill:var(--green-d)}
.lodi-ct .e-n-tab-title[aria-selected=true] .e-n-tab-icon svg{fill:var(--green)}
.lodi-ct .e-n-tabs-content>.e-con{border:0!important;padding:0!important}
.lodi-ct-to{background:var(--mist);padding:12px 16px;font-size:14px;border-left:3px solid var(--green)}
.lodi-ct-to p{margin:0}
.lodi-ct-to em{font-size:12px;color:var(--muted);font-style:normal}
.lodi-form .elementor-field-label{font-size:14px;font-weight:500;color:var(--hd)}
.lodi-form .elementor-field-textual,.lodi-form select.elementor-field{border:1px solid var(--line)!important;border-radius:0!important;padding:14px 16px!important;font:300 15px Geologica,sans-serif!important;background:var(--surf)!important;color:var(--text)!important;min-height:50px}
.lodi-form .elementor-field-textual:focus{outline:2px solid var(--blue2);outline-offset:-1px}
.lodi-form .elementor-field-type-acceptance label,.lodi-form .elementor-field-subgroup label{font-weight:300;font-size:13px}
.lodi-form .elementor-button{border-radius:0;background:var(--green);color:var(--ink);font:600 16px/1 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;padding:16px 26px 14px}
.lodi-form .elementor-button:hover{background:var(--ink);color:#fff}
.lodi-ct-side{background:var(--mist)}
.lodi-ct-side .big .elementor-heading-title{font:600 34px Khand,sans-serif;color:var(--hd)}
.lodi-ct-side ul{list-style:none;margin:0;padding:0}
.lodi-ct-side li a{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line);font-weight:500;color:var(--blue)!important}
.lodi-ct-side li em{font-style:normal;font-size:13px;color:var(--muted);font-weight:300}
.lodi-addr{background:var(--surf);border-top:3px solid var(--blue)}
.lodi-addr p{font-size:14px}

/* ---------- pied de page ---------- */
.lodi-footer{background:var(--ink);color:rgba(255,255,255,.75);font-size:15px}
.lodi-footer .lodi-logo svg{height:96px}
.lodi-footer .f-slogan .elementor-heading-title{font:600 20px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#fff}
.lodi-footer .f-addr{font-size:14px}
.lodi-footer .f-col-h .elementor-heading-title{font:600 17px Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#fff;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12);position:relative}
.lodi-footer .f-col-h .elementor-heading-title::after{content:"";position:absolute;left:0;bottom:-1px;width:30px;height:2px;background:var(--green)}
.lodi-footer ul{list-style:none;margin:0;padding:0}
.lodi-footer .f-links a{display:block;padding:5px 0;transition:color .2s,transform .2s}
.lodi-footer .f-links a:hover{color:var(--green)!important;transform:translateX(4px)}
.lodi-footer .f-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:13px}
.lodi-footer .f-bottom a{margin-left:22px}
.lodi-footer .f-bottom a:hover{color:#fff!important}


/* ---------- blocs des pages intérieures ---------- */
.lodi-h2 h2{font:600 42px/1.08 Khand,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--hd);margin:0}
.lodi-tone-light .lodi-stat{border-color:var(--line)}
.lodi-tone-light :is(.lodi-num,.lodi-num p){color:var(--blue)}
.lodi-card>.c-media{margin:-38px -32px 16px!important;width:calc(100% + 64px)!important;max-width:none}
.lodi-card .c-media img{aspect-ratio:auto;height:200px}
.lodi-video{width:100%}
/* sommaire collant (Savoir-faire) */
.lodi-anchors{position:sticky;top:var(--hdr-h);z-index:20;background:var(--surf);border-bottom:1px solid var(--line)}
.admin-bar .lodi-anchors{top:calc(var(--hdr-h) + 32px)}
.lodi-anchors-nav{display:flex}
.lodi-anchors-nav a{flex:1;padding:22px 10px;text-align:center;font:600 18px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--hd)!important;border-right:1px solid var(--line);transition:all .2s}
.lodi-anchors-nav a:first-child{border-left:1px solid var(--line)}
.lodi-anchors-nav a span{color:var(--green-d);margin-right:10px}
.lodi-anchors-nav a:hover,.lodi-anchors-nav a.on{background:var(--ink);color:#fff!important}
/* ancres : le titre n'est plus caché sous l'en-tête et la barre d'ancres */
.e-con[id],.lodi-sec[id]{scroll-margin-top:calc(var(--hdr-h) + 72px)}
.admin-bar .e-con[id],.admin-bar .lodi-sec[id]{scroll-margin-top:calc(var(--hdr-h) + 104px)}
/* frise des repères */
.lodi-timeline{position:relative}
.lodi-timeline::after{content:"";position:absolute;left:0;right:0;top:63px;height:2px;background:color-mix(in srgb,var(--blue) 35%,transparent);z-index:0}
.lodi-t-item{position:relative;z-index:1;padding-right:24px}
.lodi-t-item .t-year .elementor-heading-title{font:600 34px/50px Khand,sans-serif;color:var(--blue)}
.lodi-t-item .t-year::after{content:"";display:block;width:14px;height:14px;background:var(--green);margin:7px 0 22px;outline:5px solid var(--mist)}
.lodi-t-item p{font-size:15px}
/* implantations */
.lodi-map-ph{background:linear-gradient(135deg,color-mix(in srgb,var(--mist) 70%,#fff),color-mix(in srgb,var(--sky) 22%,var(--mist)));color:var(--blue);text-align:center}
.lodi-sites-list{border-top:1px solid var(--line)}
.lodi-site{border-bottom:1px solid var(--line)}
.lodi-site .pin .elementor-heading-title{width:40px;height:40px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font:600 16px Khand,sans-serif}
.lodi-site .site-type em{font-style:normal;font-size:12px;color:var(--green-d);text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.lodi-site .lodi-h3 .elementor-heading-title{font-size:20px}
/* citation */
.lodi-quote .elementor-heading-title{font:500 36px/1.2 Khand,sans-serif;color:var(--hd);letter-spacing:.01em}
.lodi-quote-txt .lodi-sig,.lodi-quote-txt .lodi-role{border-left:3px solid var(--green);padding-left:16px}
.lodi-sig .elementor-heading-title{font:400 28px/1.2 "Covered By Your Grace",cursive;color:var(--green-d)}
/* marques */
.lodi-brands{border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lodi-brand{border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.lodi-brand:hover{background:var(--mist)}
.lodi-logo-ph{width:140px!important;background:var(--mist);color:var(--muted);font-size:12px}
.lodi-link .elementor-heading-title,.lodi-link .elementor-heading-title a{font:600 15px Khand,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)!important}
/* témoignages */
.lodi-testi{position:relative;background:var(--surf)}
.lodi-testi>.elementor-widget-html{position:absolute!important;top:10px;right:30px;width:auto!important}
.lodi-qm{font:500 120px/1 Khand,sans-serif;color:var(--green);opacity:.5}
.lodi-t-quote{font-size:18px;line-height:1.6}
.lodi-avatar{width:56px!important;flex:none}
.lodi-avatar img{width:56px;height:56px;object-fit:cover;object-position:50% 30%;display:block}
.lodi-t-name .elementor-heading-title{font:600 16px/1.3 Geologica,sans-serif;color:var(--hd)}
/* étiquettes et filtres */
.lodi-tags{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.lodi-tags span{border:1px solid var(--line);padding:12px 20px 10px;font:500 16px/1 Khand,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--hd);transition:all .2s}
.lodi-tags span:hover,.lodi-tags span.on{background:var(--ink);border-color:var(--ink);color:#fff}
/* textes légaux */
.lodi-prose{max-width:820px}
.lodi-prose h2{font:600 28px/1.2 Khand,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--hd);margin:40px 0 12px}
@media (max-width:1024px){.lodi-timeline::after{display:none}.lodi-h2 h2{font-size:34px}}
@media (max-width:767px){.lodi-anchors-nav{overflow-x:auto}.lodi-anchors-nav a{flex:none;padding:16px 18px;font-size:15px}.lodi-quote .elementor-heading-title{font-size:28px}.lodi-h2 h2{font-size:30px}}

/* ---------- responsive (points de rupture Elementor) ---------- */
@media (max-width:1024px){
 body{--hdr-h:80px}
 .lodi-h1 .elementor-heading-title{font-size:46px}
 .lodi-hero-home .lodi-h1 .elementor-heading-title{font-size:52px}
 .lodi-h2 .elementor-heading-title{font-size:34px}
 .lodi-ct .e-n-tabs-heading{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lodi-cert{border-bottom:1px solid var(--line)}
}
@media (max-width:767px){
 body{--hdr-h:72px}
 .lodi-logo svg{height:52px}
 .lodi-h1 .elementor-heading-title{font-size:38px}
 .lodi-hero-home .lodi-h1 .elementor-heading-title{font-size:42px}
 .lodi-h2 .elementor-heading-title{font-size:30px}
 .lodi-lead{font-size:17px}
 .lodi-hero-home{min-height:640px}
 .lodi-num,.lodi-num p{font-size:56px}
 .lodi-stats-hand{position:static!important}
 .lodi-metier{min-height:360px}
 .lodi-metier .m-text{max-height:none;opacity:.9}
 .lodi-split-media::after{display:none}
 .lodi-split-media .lodi-media img{min-height:260px}
 .lodi-ct .e-n-tabs-heading{gap:6px}
 .lodi-ct .e-n-tab-title{padding:14px!important;font-size:15px!important}
 .lodi-footer .f-bottom a{margin:0 16px 0 0}
 .lodi-hand .elementor-heading-title{font-size:26px}
}

/* =====================================================================
   MODE NUIT (un seul bouton dans le menu)
   ===================================================================== */
html[data-mode=dark] body{--surf:color-mix(in srgb,var(--ink) 82%,#000);--e-global-color-lodimist:color-mix(in srgb,var(--e-global-color-lodiink) 62%,#000);--text:#C6D0D6;--muted:#8E9BA4;--e-global-color-lodiline:rgba(255,255,255,.12);--hd:#EEF2F4;--e-global-color-text:#C6D0D6}
html[data-mode=dark] .lodi-card .c-ic .elementor-icon,html[data-mode=dark] .lodi-post .p-more .elementor-heading-title{color:var(--sky)}
html[data-mode=dark] .lodi-card .c-num .elementor-heading-title{color:rgba(255,255,255,.15)}
html[data-mode=dark] .lodi-btn-outline .elementor-button{border-color:var(--hd);color:var(--hd)}

/* =====================================================================
   ÉVÉNEMENTS
   ===================================================================== */
/* HALLOWEEN : noir et rouge */
html[data-event=halloween] body{--e-global-color-lodiink:#0B0B0C;--e-global-color-lodinavy:#140B0C;--e-global-color-lodiblue:#3A1214;--e-global-color-lodiblu2:#B3261E;--e-global-color-lodisky:#E04A3A;--e-global-color-lodimist:#EFE9E1;--e-global-color-lodiacc:#D7261E;--e-global-color-lodiaccd:#B3261E;--e-global-color-lodiline:#E2D8CC;--btn-fg:#fff}
html[data-event=halloween] .lodi-ribbon{background:#0B0B0C;color:#E04A3A;border-bottom:1px solid #3A1214}
html[data-event=halloween] .lodi-hero .lodi-h1 .elementor-heading-title{position:relative;text-shadow:0 0 30px rgba(215,38,30,.35)}
html[data-event=halloween] .lodi-hero-home .lodi-h1 .elementor-heading-title::after{content:"";position:absolute;left:0;right:20%;bottom:-26px;height:30px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H300 V4 Q290 4 288 14 Q286 22 283 14 Q280 4 250 6 Q240 6 238 22 Q236 30 233 22 Q230 6 190 5 Q182 5 180 12 Q178 18 175 12 Q172 5 120 6 Q110 6 108 26 Q106 30 103 24 Q100 6 60 5 Q52 5 50 14 Q48 20 45 14 Q42 5 0 6z' fill='%23b3261e'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
html[data-event=halloween] .lodi-hero::before{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(200,200,210,.18),transparent);filter:blur(6px);animation:lodi-fog 9s ease-in-out infinite alternate}
@keyframes lodi-fog{to{transform:translateX(-40px);opacity:.6}}
html[data-event=halloween] :is(.lodi-card,.lodi-post,.lodi-addr){background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%238a8a8a' stroke-width='1'%3E%3Cpath d='M120 0 L0 0 M120 0 L20 60 M120 0 L60 110 M120 0 L120 120'/%3E%3Cpath d='M100 0 Q104 10 120 12 M78 0 Q86 22 120 26 M56 0 Q66 36 120 42 M34 0 Q48 50 120 60'/%3E%3Cpath d='M104 10 Q112 18 112 28 M86 22 Q98 36 98 52 M66 36 Q82 52 82 76'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right top;background-size:92px 92px}
html[data-event=halloween] .lodi-num{text-shadow:0 0 18px rgba(215,38,30,.45)}
.pumpkin{position:absolute;width:var(--s,64px);height:calc(var(--s,64px)*.88);background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'%3E%3Cpath d='M30 8 q2-8 8-6' stroke='%233d5a1e' stroke-width='4' fill='none'/%3E%3Cellipse cx='20' cy='32' rx='14' ry='20' fill='%23d9561b'/%3E%3Cellipse cx='44' cy='32' rx='14' ry='20' fill='%23d9561b'/%3E%3Cellipse cx='32' cy='32' rx='14' ry='22' fill='%23ec6a23'/%3E%3Cpath d='M20 26 l6 6 h-12z M44 26 l6 6 h-12z' fill='%23ffd23f'/%3E%3Cpath d='M18 40 q14 10 28 0 l-4 4 -4-3 -4 4 -4-4 -4 4 -4-3z' fill='%23ffd23f'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 14px rgba(255,140,30,.55));animation:lodi-glowp 3s ease-in-out infinite}
@keyframes lodi-glowp{50%{filter:drop-shadow(0 0 22px rgba(255,140,30,.85))}}
.candle{position:absolute;width:14px;height:var(--h,60px);background:linear-gradient(90deg,#d8cdb6,#f3ead6 40%,#cbbf9f);border-radius:3px 3px 0 0}
.candle::before{content:"";position:absolute;left:50%;top:-22px;width:12px;height:22px;transform:translateX(-50%);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff6c9 0 20%,#ffb52e 45%,rgba(255,90,20,0) 72%);animation:lodi-flame .18s ease-in-out infinite alternate;filter:blur(.3px)}
.candle::after{content:"";position:absolute;left:50%;top:-40px;width:80px;height:80px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,170,60,.35),transparent 65%);animation:lodi-halo 2.5s ease-in-out infinite}
@keyframes lodi-flame{from{transform:translateX(-50%) scale(1,1) rotate(-2deg)}to{transform:translateX(-52%) scale(.92,1.08) rotate(2deg)}}
@keyframes lodi-halo{50%{opacity:.6}}
.ev-web{position:absolute;width:180px;height:180px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120' fill='none' stroke='%238a8a8a' stroke-width='1'%3E%3Cpath d='M120 0 L0 0 M120 0 L20 60 M120 0 L60 110 M120 0 L120 120'/%3E%3Cpath d='M100 0 Q104 10 120 12 M78 0 Q86 22 120 26 M56 0 Q66 36 120 42 M34 0 Q48 50 120 60'/%3E%3Cpath d='M104 10 Q112 18 112 28 M86 22 Q98 36 98 52 M66 36 Q82 52 82 76'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.55}
.lodi-spider{position:fixed;top:-120px;right:18%;z-index:950;width:56px;height:47px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 50'%3E%3Cg stroke='%23111' stroke-width='3' fill='none' stroke-linecap='round'%3E%3Cpath d='M24 22 L8 10 L2 18 M24 26 L4 26 L0 36 M25 30 L8 40 L6 50 M27 32 L18 46 M36 22 L52 10 L58 18 M36 26 L56 26 L60 36 M35 30 L52 40 L54 50 M33 32 L42 46'/%3E%3C/g%3E%3Cellipse cx='30' cy='28' rx='9' ry='11' fill='%23111'/%3E%3Ccircle cx='30' cy='15' r='6' fill='%23111'/%3E%3Ccircle cx='27.5' cy='14' r='1.6' fill='%23e1261c'/%3E%3Ccircle cx='32.5' cy='14' r='1.6' fill='%23e1261c'/%3E%3C/svg%3E") center/contain no-repeat;transition:top 1.1s cubic-bezier(.3,1.4,.5,1);cursor:pointer}
.lodi-spider::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:100vh;background:rgba(220,220,220,.7)}
.lodi-spider.down{top:38vh;animation:lodi-wiggle .9s ease-in-out 1.1s 3}
.lodi-spider.flee{top:-140px;transition:top .5s ease-in}
@keyframes lodi-wiggle{50%{transform:rotate(8deg)}}

/* FIN D'ANNÉE : neige, Père Noël, sapin et or */
html[data-event=noel] body{--e-global-color-lodiink:#0F2A22;--e-global-color-lodinavy:#163A2E;--e-global-color-lodiblue:#1E4D3C;--e-global-color-lodiblu2:#2E6B52;--e-global-color-lodisky:#9CC5B0;--e-global-color-lodimist:#F6F2EA;--e-global-color-lodiacc:#D4A64A;--e-global-color-lodiaccd:#A8782A;--e-global-color-lodiline:#E6DDCB}
html[data-event=noel] body,html[data-event=noel] body *{cursor:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M6 18 Q16 0 32 8 L28 18z' fill='%23c8102e'/%3E%3Ccircle cx='33' cy='8' r='4' fill='%23fff'/%3E%3Crect x='5' y='16' width='26' height='6' rx='3' fill='%23fff'/%3E%3Ccircle cx='18' cy='26' r='8' fill='%23f2c6a0'/%3E%3Ccircle cx='15' cy='24' r='1.3' fill='%23222'/%3E%3Ccircle cx='21' cy='24' r='1.3' fill='%23222'/%3E%3Cpath d='M8 27 Q18 44 28 27 Q24 33 18 32 Q12 33 8 27z' fill='%23fff'/%3E%3Ccircle cx='18' cy='28' r='2' fill='%23e07a6a'/%3E%3C/svg%3E") 6 4,auto}
html[data-event=noel] .lodi-ribbon{background:#B3261E;color:#fff}
html[data-event=noel] :is(.lodi-card,.lodi-post,.lodi-addr,.lodi-split-media,.lodi-banner){overflow:visible}
html[data-event=noel] :is(.lodi-card,.lodi-post,.lodi-addr)::after{content:"";position:absolute;left:-4px;right:-4px;top:-12px;height:18px;z-index:5;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 24' preserveAspectRatio='none'%3E%3Cpath d='M0 24 V8 Q8 0 20 6 Q40 14 60 7 Q90 -2 120 8 Q150 16 180 6 Q210 -2 240 9 Q270 17 300 6 Q330 -3 360 8 Q385 16 400 4 V24z' fill='%23fff'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;filter:drop-shadow(0 2px 2px rgba(0,0,0,.08));pointer-events:none;transform-origin:bottom;animation:lodi-capin 1.2s ease both}
@keyframes lodi-capin{from{transform:scaleY(0)}to{transform:scaleY(1)}}
html[data-event=noel] .lodi-hdr-cta{position:relative;overflow:visible}
html[data-event=noel] .lodi-hdr-cta::after{content:"";position:absolute;right:-8px;top:-10px;width:22px;height:16px;background:radial-gradient(circle at 30% 50%,#B3261E 0 45%,transparent 46%),radial-gradient(circle at 70% 50%,#B3261E 0 45%,transparent 46%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
html[data-event=noel] .lodi-header{position:relative;overflow:visible}
html[data-event=noel] .lodi-header::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:20px;pointer-events:none;z-index:3;background:radial-gradient(circle,#e8463a 0 4px,transparent 5px) 0 10px/60px 20px repeat-x,radial-gradient(circle,#ffd25c 0 4px,transparent 5px) 20px 6px/60px 20px repeat-x,radial-gradient(circle,#5fd068 0 4px,transparent 5px) 40px 12px/60px 20px repeat-x;animation:lodi-twinkle 2s steps(2) infinite}
@keyframes lodi-twinkle{50%{filter:brightness(.55)}}
.lodi-snowfall{position:fixed;inset:0;pointer-events:none;z-index:180;background-image:radial-gradient(#fff 1.6px,transparent 2.2px),radial-gradient(#fff 1.1px,transparent 1.6px),radial-gradient(rgba(255,255,255,.8) .8px,transparent 1.2px);background-size:180px 180px,110px 110px,70px 70px;animation:lodi-fall 22s linear infinite;opacity:.8}
@keyframes lodi-fall{to{background-position:60px 900px,-40px 660px,20px 420px}}
.snowpile{position:absolute;left:0;right:0;bottom:-2px;height:40px;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 24' preserveAspectRatio='none'%3E%3Cpath d='M0 24 V8 Q8 0 20 6 Q40 14 60 7 Q90 -2 120 8 Q150 16 180 6 Q210 -2 240 9 Q270 17 300 6 Q330 -3 360 8 Q385 16 400 4 V24z' fill='%23fff'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.gift-note{position:absolute;right:6%;bottom:16%;font:400 34px "Covered By Your Grace",cursive;color:#fff;transform:rotate(-6deg);text-shadow:0 2px 12px rgba(0,0,0,.4)}

/* ANNIVERSAIRE : rétro 80's (police Climate Crisis chargée seulement pendant l'événement) */
html[data-event=anniv] body{--e-global-color-lodiink:#1C2140;--e-global-color-lodinavy:#1C2140;--e-global-color-lodiblue:#255A7B;--e-global-color-lodiblu2:#4FA6BE;--e-global-color-lodisky:#E29D40;--e-global-color-lodimist:#E6D9BC;--e-global-color-lodiacc:#E29D40;--e-global-color-lodiaccd:#B86D1A;--e-global-color-lodiline:#1C2140;--surf:#F3EAD6;--text:#2D3252;background:#EFE5CF}
html[data-event=anniv] .lodi-tone-white{background:#EFE5CF}
html[data-event=anniv][data-mode=dark] body{--surf:#161937;--e-global-color-lodimist:#0D0F24;--text:#DCD2BE;--hd:#F3E9D2;--e-global-color-lodiline:#F3E9D2;background:#0D0F24}
html[data-event=anniv] :is(.lodi-h1,.lodi-h2,.cert-name,.f-slogan) .elementor-heading-title,html[data-event=anniv] .lodi-num{font-family:"Climate Crisis",Geologica,sans-serif;font-weight:400;letter-spacing:-.005em;text-transform:none}
html[data-event=anniv] .lodi-h1 .elementor-heading-title{font-size:clamp(34px,5vw,74px);line-height:1}
html[data-event=anniv] .lodi-h2 .elementor-heading-title{font-size:clamp(26px,3.2vw,44px);line-height:1.02}
html[data-event=anniv] .lodi-num,html[data-event=anniv] .lodi-num p{font-size:clamp(40px,4.2vw,64px)}
html[data-event=anniv] .lodi-ribbon{background:repeating-linear-gradient(90deg,#255A7B 0 25%,#4FA6BE 25% 50%,#8DB76D 50% 75%,#E29D40 75% 100%);color:#1C2140;font-size:14px}
html[data-event=anniv] .lodi-header{border-bottom:none;box-shadow:0 4px 0 #E29D40,0 8px 0 #8DB76D,0 12px 0 #4FA6BE,0 16px 0 #255A7B}
html[data-event=anniv] .lodi-btn .elementor-button{border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);transition:transform .12s,box-shadow .12s}
html[data-event=anniv] :is(.lodi-hero,.lodi-cta) .lodi-btn .elementor-button{border-color:#F3E9D2;box-shadow:4px 4px 0 #F3E9D2}
html[data-event=anniv] .lodi-btn .elementor-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--line)}
html[data-event=anniv] :is(.lodi-card,.lodi-post,.lodi-addr,.lodi-cert){border:2px solid var(--line);box-shadow:6px 6px 0 var(--line);background:var(--surf)}
html[data-event=anniv] .lodi-certs{border:0;gap:14px!important;background:none}
html[data-event=anniv] .lodi-card .c-ic .elementor-icon{border-radius:50%;border:2px solid var(--line);background:#E29D40;color:#1C2140}
html[data-event=anniv] .lodi-kicker .elementor-heading-title::before{border-radius:50%;background:#E29D40}
html[data-event=anniv] .lodi-head .lodi-h2 .elementor-heading-title::after{content:"";display:block;width:140px;height:18px;margin-top:16px;background:linear-gradient(#255A7B 0 25%,#4FA6BE 25% 50%,#8DB76D 50% 75%,#E29D40 75%)}
html[data-event=anniv] .lodi-media::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 4px)}
html[data-event=anniv] .lodi-hero{background-color:#1C2140}
.retro-sun{position:absolute;right:5%;top:12%;width:min(38vw,520px);aspect-ratio:1;border-radius:50%;background:linear-gradient(180deg,#E29D40,#E8735A 50%,#B44D6C);-webkit-mask:linear-gradient(#000 0 50%,transparent 50%),repeating-linear-gradient(#000 0 16px,transparent 16px 26px);mask:linear-gradient(#000 0 50%,transparent 50%),repeating-linear-gradient(#000 0 16px,transparent 16px 26px);opacity:.95}
.retro-grid{position:absolute;left:-10%;right:-10%;bottom:0;height:38%;opacity:.35;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;background-image:linear-gradient(#E29D40 1.5px,transparent 1.5px),linear-gradient(90deg,#E29D40 1.5px,transparent 1.5px);background-size:60px 60px;animation:lodi-gridmove 4s linear infinite}
@keyframes lodi-gridmove{to{background-position:0 60px}}
.stamp{position:absolute;right:7%;bottom:14%;width:150px;height:150px;border-radius:50%;background:#E29D40;color:#1C2140;display:flex;flex-direction:column;align-items:center;justify-content:center;font:400 46px/1 "Climate Crisis",Khand,sans-serif;border:3px solid #F3E9D2;box-shadow:6px 6px 0 #F3E9D2;animation:lodi-spin 18s linear infinite}
.stamp small{font:600 12px Khand,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
@keyframes lodi-spin{to{transform:rotate(360deg)}}
.stars{position:absolute;inset:0;background-image:radial-gradient(#F3E9D2 1px,transparent 1.5px),radial-gradient(#F3E9D2 .8px,transparent 1.2px);background-size:90px 90px,53px 53px;background-position:0 0,27px 31px;opacity:.5}
.lodi-confetti{position:fixed;width:10px;height:6px;z-index:960;pointer-events:none;animation:lodi-conf 1s ease-out forwards}
@keyframes lodi-conf{to{transform:translate(var(--x),var(--y)) rotate(540deg);opacity:0}}
@media (max-width:767px){
 .stamp{width:86px;height:86px;font-size:26px;right:5%;top:96px;bottom:auto;box-shadow:3px 3px 0 #F3E9D2}
 .stamp small{font-size:8px;margin-top:2px}
 .retro-sun{top:70px;opacity:.55}
 .gift-note{font-size:24px;bottom:auto;top:90px}
}

/* =====================================================================
   ASSISTANT GUIDÉ (sans IA, sans cookie)
   ===================================================================== */
.lodi-bot-b{position:fixed;right:18px;bottom:18px;z-index:970;width:62px;height:62px;border:0;border-radius:0;background:var(--green);color:var(--ink);cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:transform .2s;padding:0}
.lodi-bot-b:hover{transform:translateY(-3px);background:var(--green)}
.lodi-bot-b svg{width:26px;height:26px;fill:currentColor}
.lodi-bot-b .dot{position:absolute;right:8px;top:8px;width:10px;height:10px;background:#E94B3C;border:2px solid var(--green)}
.lodi-bot{position:fixed;right:18px;bottom:92px;z-index:970;width:360px;max-width:calc(100vw - 36px);max-height:min(560px,calc(100vh - 140px));background:var(--surf);color:var(--text);box-shadow:0 24px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;transform:translateY(16px);opacity:0;visibility:hidden;transition:all .25s;font-size:14.5px;line-height:1.45}
.lodi-bot.open{transform:none;opacity:1;visibility:visible}
.lodi-bot header{background:var(--ink);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px}
.lodi-bot header svg.logo{height:34px;width:auto;color:#fff}
.lodi-bot header b{display:block;font:600 16px Khand,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.lodi-bot header span{font-size:12px;opacity:.7}
.lodi-bot header button{margin-left:auto;background:none;border:0;color:#fff;font-size:22px;cursor:pointer;padding:0 4px}
.lodi-bot-m{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--mist)}
.lodi-bot .msg{max-width:88%;padding:10px 13px;background:var(--surf);color:var(--text);align-self:flex-start;border-left:3px solid var(--green)}
.lodi-bot .msg.me{align-self:flex-end;background:var(--ink);color:#fff;border:0}
.lodi-bot .msg a{color:var(--green-d)!important;font-weight:500;text-decoration:underline}
.lodi-bot-o{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-top:1px solid var(--line)}
.lodi-bot-o button{font:500 13px Geologica,sans-serif;padding:8px 11px;border:1px solid var(--line);border-radius:0;background:var(--surf);color:var(--hd);cursor:pointer}
.lodi-bot-o button:hover{background:var(--ink);color:#fff}
.lodi-bot small{display:block;padding:0 14px 10px;font-size:11px;color:var(--muted)}
@media (max-width:767px){.lodi-bot-b{width:54px;height:54px;right:12px;bottom:12px}}

@media (prefers-reduced-motion:reduce){
 .lodi-snowfall,.retro-grid,.stamp,.pumpkin,.candle::before,.candle::after,.lodi-scroll i{animation:none!important}
}
