/*
Theme Name: Esprit Techno - LLL
Theme URI: https://esprit-techno.com
Author: Esprit-Techno
Author URI: https://esprit-techno.com
Description: Thème léger sur mesure pour le Laboratoire Loiret de la Laïcité. Compatible Elementor, deux modèles d'articles, polices auto-hébergées.
Version: 1.0.8
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: et-lll
License: Propriétaire - Esprit-Techno
*/

/* ---------- Polices auto-hébergées ---------- */
@font-face{font-family:"Newsreader";src:url(assets/fonts/newsreader-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(assets/fonts/newsreader-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url(assets/fonts/newsreader-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(assets/fonts/newsreader-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(assets/fonts/public-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(assets/fonts/public-sans-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Public Sans";src:url(assets/fonts/public-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(assets/fonts/public-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------- Jetons ---------- */
:root{
  --lll-bleu:#003366;
  --lll-bleu-fonce:#002244;
  --lll-rouge:#E62837;
  --lll-rouge-texte:#C81E2A;
  --lll-encre:#003366;
  --lll-texte:#3B4559;
  --lll-gris:#5A6478;
  --lll-fond:#FBFAF7;
  --lll-blanc:#FFFFFF;
  --lll-trait:#E4E1D8;
  --lll-trait-fort:#C9C4B6;
  --lll-noir:#0A0A0B;
  --lll-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --lll-sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lll-max:1200px;
  --lll-texte-max:740px;
  --lll-gouttiere:24px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--lll-fond);color:var(--lll-encre);font-family:var(--lll-sans);font-size:17px;line-height:1.65}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--lll-bleu);text-underline-offset:3px}
a:hover{color:var(--lll-rouge-texte)}
:focus-visible{outline:3px solid var(--lll-rouge-texte);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--lll-serif);font-weight:500;line-height:1.15;color:var(--lll-encre);margin:0 0 .5em}
h1{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.3px}
h2{font-size:clamp(28px,3.2vw,40px)}
h3{font-size:clamp(21px,2vw,24px)}
p{margin:0 0 1.1em}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--lll-blanc);padding:12px 16px}
.lll-conteneur{max-width:var(--lll-max);margin:0 auto;padding:0 var(--lll-gouttiere)}
.lll-kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--lll-rouge-texte);text-decoration:none}
.lll-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--lll-sans)}
.lll-btn--rouge{background:var(--lll-rouge-texte);color:#fff}
.lll-btn--rouge:hover{background:#A9161F;color:#fff}
.lll-btn--bleu{background:var(--lll-bleu);color:#fff}
.lll-btn--bleu:hover{background:var(--lll-bleu-fonce);color:#fff}
.lll-btn--contour{border-color:var(--lll-bleu);color:var(--lll-bleu);background:transparent}
.lll-btn--contour:hover{background:var(--lll-bleu);color:#fff}

/* ---------- En-tête ---------- */
.lll-topbar{background:var(--lll-bleu);color:#DDE2EC;font-size:13px}
.lll-topbar .lll-conteneur{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px}
.lll-topbar a{color:#DDE2EC;text-decoration:none}
.lll-topbar a:hover{color:#fff}
.lll-topbar__liens{display:flex;gap:20px;flex-wrap:wrap}
.lll-header{background:var(--lll-blanc);border-bottom:1px solid var(--lll-trait);position:relative;z-index:50}
.lll-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.lll-logo img{height:72px;width:auto}
.lll-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.lll-nav a{color:var(--lll-encre);text-decoration:none;font-weight:500;font-size:15px;padding:10px 0;display:inline-block}
.lll-nav a:hover,.lll-nav .current-menu-item>a,.lll-nav .current-menu-parent>a{color:var(--lll-rouge-texte)}
.lll-nav .sub-menu{display:none}
.lll-header__actions{display:flex;align-items:center;gap:12px}
.lll-icone-btn{width:46px;height:46px;border:1px solid var(--lll-trait-fort);background:#fff;color:var(--lll-encre);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lll-burger{display:none}
.lll-recherche{display:none;border-top:1px solid var(--lll-trait);background:#fff}
.lll-recherche.is-open{display:block}
.lll-recherche form{display:flex;gap:8px;padding:16px 0}
.lll-recherche input[type=search]{flex:1;min-height:46px;border:1.5px solid var(--lll-trait-fort);padding:0 14px;font:inherit}
@media (max-width:1080px){
  .lll-burger{display:inline-flex}
  .lll-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--lll-trait);padding:8px var(--lll-gouttiere) 20px}
  .lll-nav.is-open{display:block}
  .lll-nav ul{flex-direction:column;align-items:flex-start;gap:0}
  .lll-nav li{width:100%;border-bottom:1px solid var(--lll-trait)}
  .lll-nav a{padding:14px 0;width:100%}
  .lll-header__actions .lll-btn{display:none}
  .lll-logo img{height:56px}
}

/* ---------- Contenu ---------- */
.lll-main{min-height:50vh}
.lll-page-entete{background:#fff;border-bottom:1px solid var(--lll-trait);padding:56px 0 40px}
.lll-page-entete p{color:var(--lll-texte);max-width:680px;margin:0}
.lll-ariane{font-size:14px;color:var(--lll-gris);margin-bottom:16px}
.lll-ariane a{color:var(--lll-gris)}
.lll-section{padding:72px 0}
.lll-prose{max-width:var(--lll-texte-max);margin:0 auto}
.lll-prose>*{margin-left:auto;margin-right:auto}
.lll-prose h2{margin-top:1.6em}
.lll-prose h3{margin-top:1.4em}
.lll-prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--lll-rouge-texte);font-family:var(--lll-serif);font-size:22px;line-height:1.45;color:var(--lll-encre)}
.lll-prose ul,.lll-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.lll-prose li{margin-bottom:.4em}
.lll-prose figure{margin:2em 0}
.lll-prose .wp-block-image img{width:100%;aspect-ratio:3/2;object-fit:cover}
.lll-prose figcaption{font-size:14px;color:var(--lll-gris);margin-top:8px}
.lll-prose .wp-block-gallery{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px!important}
.lll-prose .wp-block-gallery .wp-block-image{width:100%!important;margin:0!important}
.lll-prose .wp-block-gallery img{aspect-ratio:3/2;object-fit:cover;height:100%!important}
.lll-prose .is-style-a-retenir,.lll-a-retenir{background:#fff;border:1px solid var(--lll-trait);border-top:3px solid var(--lll-bleu);padding:24px 28px;margin:2em 0}
.lll-prose .wp-block-button__link{background:var(--lll-rouge-texte);color:#fff;border-radius:0;font-weight:600;padding:12px 22px}

/* ---------- Article ---------- */
.lll-article__entete{background:#fff;padding:48px 0 32px;border-bottom:1px solid var(--lll-trait)}
.lll-article__entete .lll-prose{max-width:860px}
.lll-article__meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;color:var(--lll-gris);font-size:15px;margin-top:18px}
.lll-article__chapo{font-size:21px;line-height:1.55;color:var(--lll-texte);margin-top:16px}
.lll-article__une{max-width:1040px;margin:40px auto 0;padding:0 var(--lll-gouttiere)}
.lll-article__une img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lll-article__corps{padding:48px 0 24px}
.lll-article__pied{max-width:var(--lll-texte-max);margin:0 auto;padding:24px 0 64px;border-top:1px solid var(--lll-trait);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--lll-gris);font-size:15px}
.lll-bandeau{position:relative;background:var(--lll-bleu);color:#fff}
.lll-bandeau img{width:100%;height:clamp(260px,40vw,480px);object-fit:cover;opacity:.55}
.lll-bandeau__texte{position:absolute;inset:auto 0 0 0;padding:40px 0}
.lll-bandeau__texte h1{color:#fff;max-width:860px}
.lll-bandeau__texte .lll-kicker{color:#FFB3B8}
.lll-bandeau--sans-image{padding:72px 0 40px}
.lll-bandeau--sans-image .lll-bandeau__texte{position:static;padding:0}
.lll-infos-event{max-width:var(--lll-texte-max);margin:40px auto 0;background:#fff;border:1px solid var(--lll-trait);border-top:3px solid var(--lll-rouge-texte);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.lll-infos-event div{padding:20px 24px;border-right:1px solid var(--lll-trait)}
.lll-infos-event div:last-child{border-right:0}
.lll-infos-event dt{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--lll-gris);margin-bottom:4px}
.lll-infos-event dd{margin:0;font-family:var(--lll-serif);font-size:20px;line-height:1.3}

/* ---------- Cartes et listes ---------- */
.lll-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 32px}
.lll-carte{display:flex;flex-direction:column;gap:12px}
.lll-carte__img{aspect-ratio:16/9;background:#EEEBE3;overflow:hidden}
.lll-carte__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.lll-carte:hover .lll-carte__img img{transform:scale(1.03)}
.lll-carte__meta{display:flex;gap:10px;align-items:center;font-size:13px;flex-wrap:wrap}
.lll-carte__meta .lll-kicker{font-size:12px}
.lll-carte__meta time{color:var(--lll-gris)}
.lll-carte h3{margin:0;font-size:23px;line-height:1.25}
.lll-carte h3 a{color:var(--lll-encre);text-decoration:none}
.lll-carte h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.lll-carte p{margin:0;color:var(--lll-texte);font-size:15px}
.lll-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px;padding:0;list-style:none}
.lll-filtres a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--lll-trait-fort);background:#fff;color:var(--lll-encre);text-decoration:none;font-size:14px;font-weight:500}
.lll-filtres a:hover,.lll-filtres a.is-actif{background:var(--lll-bleu);border-color:var(--lll-bleu);color:#fff}
.lll-pagination{margin-top:56px;display:flex;gap:8px;flex-wrap:wrap}
.lll-pagination .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1.5px solid var(--lll-trait-fort);text-decoration:none;color:var(--lll-encre);background:#fff;padding:0 12px}
.lll-pagination .current{background:var(--lll-bleu);border-color:var(--lll-bleu);color:#fff}
.lll-a-lire{background:#fff;border-top:1px solid var(--lll-trait);padding:64px 0}

/* ---------- Pied de page ---------- */
.lll-footer{background:var(--lll-noir);color:#C9D0DE;font-size:15px}
.lll-footer a{color:#C9D0DE;text-decoration:none}
.lll-footer a:hover{color:#fff}
.lll-footer__haut{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;padding-top:64px;padding-bottom:40px}
.lll-footer__titre{color:#fff;font-weight:600;margin-bottom:10px;display:block}
.lll-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lll-footer__logo img{width:200px}
.lll-footer__bas{border-top:1px solid #26282C;padding-top:20px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px}

/* ---------- Elementor : pleine largeur ---------- */
.lll-pleine-largeur .lll-main>.elementor{width:100%}

/* ---------- Homepage (sections Elementor) ---------- */
.lll-home-hero{border-bottom:1px solid var(--lll-trait)}
.lll-kicker--trait::before{content:"";width:32px;height:2px;background:var(--lll-rouge);display:inline-block}
.lll-kicker--clair{color:#FFB3B8}
.lll-el-h1 .elementor-heading-title{letter-spacing:-.5px}
.lll-num{font-family:var(--lll-serif);font-size:44px;line-height:1;color:var(--lll-rouge-texte)}
.lll-piliers{border-top:2px solid var(--lll-bleu)}
.lll-pilier{border-bottom:1px solid var(--lll-trait)}
.lll-lien-fleche{font-weight:600;text-decoration:none;color:var(--lll-bleu)}
.lll-lien-fleche--clair{color:#fff}
.lll-lien-fleche--clair:hover{color:#FFB3B8}
.lll-une{display:flex;flex-direction:column;background:var(--lll-bleu);color:#fff;text-decoration:none;height:100%}
.lll-une:hover{color:#fff}
.lll-une__img{display:block;aspect-ratio:16/9;background:#0F3D6B;overflow:hidden}
.lll-une__img img{width:100%;height:100%;object-fit:cover}
.lll-une__texte{display:flex;flex-direction:column;gap:12px;padding:28px}
.lll-une__kicker{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#FFB3B8}
.lll-une__titre{font-family:var(--lll-serif);font-size:27px;line-height:1.2}
.lll-une__extrait{font-size:15px;color:#C9D0DE}
.lll-une__lire{font-weight:600;font-size:15px}
.lll-une:hover .lll-une__titre{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.lll-rdv{background:var(--lll-bleu);color:#fff;padding:26px;display:flex;flex-direction:column;gap:8px;margin:8px 0}
.lll-rdv__kicker{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#FFB3B8}
.lll-rdv__titre{font-family:var(--lll-serif);font-size:23px;line-height:1.25;color:#fff;text-decoration:none}
.lll-rdv__titre:hover{color:#fff;text-decoration:underline}
.lll-rdv__infos{font-size:15px;color:#C9D0DE}
.lll-rdv__lien{color:#fff;font-weight:600}
.lll-actions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:40px}
.lll-actions li{padding:20px 0;border-top:1px solid var(--lll-trait-fort);display:flex;flex-direction:column;gap:4px;margin:0}
.lll-actions span{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--lll-gris)}
.lll-actions strong{font-family:var(--lll-serif);font-weight:500;font-size:20px;line-height:1.3;color:var(--lll-encre)}
.lll-actions em{font-style:normal;font-size:14px;color:var(--lll-gris)}
.lll-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#1A4A7A}
@media (max-width:600px){.lll-dates{grid-template-columns:1fr}}
.lll-dates div{background:var(--lll-bleu);padding:26px;display:flex;flex-direction:column;gap:6px}
.lll-dates strong{font-family:var(--lll-serif);font-weight:400;font-size:34px;color:#fff;line-height:1.1}
.lll-dates span{color:#C9D0DE}
.lll-etiquettes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lll-etiquettes a{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--lll-trait-fort);background:#fff;padding:0 16px;text-decoration:none;color:var(--lll-encre);font-size:15px}
.lll-etiquettes a:hover{border-color:var(--lll-bleu);background:var(--lll-bleu);color:#fff}
.lll-etiquettes span{font-size:12px;color:var(--lll-gris)}
.lll-etiquettes a:hover span{color:#C9D0DE}
.lll-home-actus .lll-grille{margin-top:8px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

.lll-vignette-vide{display:block;width:100%;height:100%;background:#EEEBE3 url(assets/img/logo-lll-sigle.png) center/34% no-repeat}
.lll-une .lll-vignette-vide{background-color:#0F3D6B}

/* ---------- Lettre d'information ---------- */
.lll-lettre{background:var(--lll-bleu);color:#fff}
.lll-lettre__inner{display:flex;flex-wrap:wrap;gap:24px 56px;align-items:center;justify-content:space-between;padding-top:48px;padding-bottom:48px}
.lll-lettre__texte{flex:1 1 320px}
.lll-lettre h2{color:#fff;font-size:clamp(26px,3vw,34px);margin-bottom:6px}
.lll-lettre p{color:#DDE2EC;margin:0}
.lll-newsletter{flex:1 1 420px;display:flex;flex-direction:column;gap:12px}
.lll-newsletter__ligne{display:flex;gap:8px;flex-wrap:wrap}
.lll-newsletter input[type=email]{flex:1 1 220px;min-height:48px;border:1.5px solid #fff;background:transparent;color:#fff;padding:0 14px;font:inherit;font-size:15px}
.lll-newsletter input[type=email]::placeholder{color:#C9D0DE}
.lll-newsletter__rgpd{font-size:13px;color:#DDE2EC;display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.lll-newsletter__rgpd input{margin-top:3px;width:18px;height:18px;flex:none}
.lll-newsletter__msg{font-size:15px;font-weight:600;color:#fff!important}
.lll-newsletter__pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lll-mention{font-size:14px;color:var(--lll-gris)}
.lll-helloasso{background:#fff}
.lll-prose .formlayer-form,.lll-prose form{max-width:100%}

/* Barre de partage flottante : articles uniquement */
body:not(.single-post) .sharemypost-floating-bar{display:none!important}
