/* =========================================================================
   Elementaire — feuille de style principale
   Direction : presse economique sobre (blanc, filets fins, titres serif,
   un seul accent bleu nuit).
   ========================================================================= */

/* ---------- 1. Polices embarquees (sous-ensemble latin) ---------------- */
@font-face{font-family:'Source Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/serif-400.woff2') format('woff2')}
@font-face{font-family:'Source Serif';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/serif-700.woff2') format('woff2')}
@font-face{font-family:'Source Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url('../fonts/serif-400-italic.woff2') format('woff2')}

/* ---------- 2. Variables ----------------------------------------------- */
:root{
  --ec-serif:'Source Serif',Georgia,'Times New Roman',serif;
  --ec-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

  --ec-ink:#14171c;
  --ec-ink-2:#4a5158;
  --ec-ink-3:#767d85;
  --ec-paper:#ffffff;
  --ec-wash:#f5f6f4;
  --ec-rule:#e3e5e1;
  --ec-rule-strong:#c9ccc7;
  --ec-accent:#0f3d6e;
  --ec-accent-dark:#0a2b4d;
  --ec-accent-wash:#eef2f7;

  --ec-wrap:1180px;
  --ec-read:44rem;
  --ec-gap:2.5rem;
  --ec-radius:2px;
}

/* ---------- 3. Socle ---------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ec-paper);color:var(--ec-ink);
  font-family:var(--ec-serif);font-size:1.0625rem;line-height:1.7;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--ec-accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4,h5,h6{font-family:var(--ec-serif);font-weight:700;line-height:1.22;
  margin:0 0 .6em;letter-spacing:-.011em;color:var(--ec-ink)}
h1{font-size:clamp(2rem,1.4rem + 2.2vw,2.9rem)}
h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,1.95rem)}
h3{font-size:1.35rem}
h4{font-size:1.15rem}
p{margin:0 0 1.25em}
blockquote{margin:2rem 0;padding:.2rem 0 .2rem 1.5rem;border-left:3px solid var(--ec-accent);
  font-size:1.2rem;line-height:1.55;color:var(--ec-ink-2);font-style:italic}
blockquote p:last-child{margin-bottom:0}
hr{border:0;border-top:1px solid var(--ec-rule);margin:2.5rem 0}
code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
pre{background:var(--ec-wash);padding:1rem 1.2rem;overflow-x:auto;border:1px solid var(--ec-rule)}
table{border-collapse:collapse;width:100%;font-size:.97rem}
th,td{border:1px solid var(--ec-rule);padding:.6rem .8rem;text-align:left}
th{background:var(--ec-wash);font-weight:700}
::selection{background:var(--ec-accent);color:#fff}
:focus-visible{outline:2px solid var(--ec-accent);outline-offset:2px}

.ec-wrap{width:min(100% - 2.5rem,var(--ec-wrap));margin-inline:auto}
.ec-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ec-skip{position:absolute;left:-9999px;top:0;background:var(--ec-accent);color:#fff;
  padding:.7rem 1.2rem;z-index:999}
.ec-skip:focus{left:.5rem;top:.5rem}
.ec-hidden{display:none}

/* ---------- 4. Surtitre de rubrique et signatures ---------------------- */
.ec-kicker{
  font-family:var(--ec-sans);font-size:.6875rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ec-accent);display:inline-block;margin:0 0 .55rem
}
.ec-kicker a{color:inherit}
.ec-meta{
  font-family:var(--ec-sans);font-size:.78rem;color:var(--ec-ink-3);letter-spacing:.01em
}
.ec-meta a{color:var(--ec-ink-3)}
.ec-meta span + span::before{content:"\00b7";margin:0 .5rem;color:var(--ec-rule-strong)}

/* ---------- 5. En-tete -------------------------------------------------- */
.ec-topbar{border-bottom:1px solid var(--ec-rule);background:var(--ec-paper)}
/* Trois colonnes : le logo tombe au centre exact de la page, les outils a droite. */
.ec-topbar__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:1rem;min-height:88px;padding:.9rem 0}
.ec-topbar__side{min-width:0}
.ec-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;justify-self:center}
.ec-brand img{max-height:52px;width:auto}
.ec-brand__name{font-family:var(--ec-serif);font-weight:700;font-size:1.6rem;
  color:var(--ec-ink);letter-spacing:-.02em;line-height:1.1}
.ec-brand__tagline{display:block;font-family:var(--ec-sans);font-size:.72rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ec-ink-3);margin-top:.15rem}
.ec-brand:hover{text-decoration:none}

.ec-header-tools{display:flex;align-items:center;gap:.35rem;justify-self:end}
.ec-iconbtn{background:none;border:1px solid transparent;color:var(--ec-ink-2);cursor:pointer;
  padding:.5rem;line-height:0;border-radius:var(--ec-radius)}
.ec-iconbtn:hover{color:var(--ec-accent);background:var(--ec-wash)}
.ec-burger{display:none}

/* barre de navigation */
.ec-nav{border-bottom:2px solid var(--ec-ink);background:var(--ec-paper)}
.ec-nav__inner{display:flex;align-items:center;justify-content:center}
.ec-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:0;list-style:none;margin:0;padding:0}
.ec-menu li{position:relative}
.ec-menu > li > a{
  display:block;padding:.85rem 1.15rem;font-family:var(--ec-sans);font-size:.78rem;
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ec-ink);
  border-bottom:3px solid transparent;margin-bottom:-2px
}
.ec-menu > li > a:hover,.ec-menu > li.current-menu-item > a,
.ec-menu > li.current-menu-parent > a,.ec-menu > li.current-menu-ancestor > a{
  color:var(--ec-accent);border-bottom-color:var(--ec-accent);text-decoration:none
}
.ec-menu .sub-menu{
  position:absolute;left:0;top:100%;min-width:220px;background:var(--ec-paper);
  border:1px solid var(--ec-rule);box-shadow:0 8px 24px rgba(20,23,28,.09);
  list-style:none;margin:0;padding:.35rem 0;display:none;z-index:60
}
.ec-menu li:hover > .sub-menu,.ec-menu li:focus-within > .sub-menu{display:block}
.ec-menu .sub-menu a{display:block;padding:.55rem 1.1rem;font-family:var(--ec-sans);
  font-size:.85rem;color:var(--ec-ink)}
.ec-menu .sub-menu a:hover{background:var(--ec-wash);color:var(--ec-accent);text-decoration:none}

.ec-navclose{display:none}

/* recherche depliante */
.ec-searchdrop{border-bottom:1px solid var(--ec-rule);background:var(--ec-wash);display:none}
.ec-searchdrop.is-open{display:block}
.ec-searchdrop form{padding:1rem 0;margin:0}

/* ---------- 6. Formulaires --------------------------------------------- */
input[type=text],input[type=search],input[type=email],input[type=url],input[type=tel],
input[type=number],input[type=date],textarea,select{
  width:100%;font-family:var(--ec-sans);font-size:.95rem;color:var(--ec-ink);
  background:var(--ec-paper);border:1px solid var(--ec-rule-strong);
  padding:.65rem .85rem;border-radius:var(--ec-radius)
}
input:focus,textarea:focus,select:focus{border-color:var(--ec-accent);outline:none;
  box-shadow:0 0 0 3px var(--ec-accent-wash)}
.ec-btn,button,input[type=submit]{
  display:inline-block;font-family:var(--ec-sans);font-size:.8rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;background:var(--ec-accent);color:#fff;
  border:1px solid var(--ec-accent);padding:.7rem 1.3rem;border-radius:var(--ec-radius);
  cursor:pointer;text-align:center;width:auto
}
.ec-btn:hover,button:hover,input[type=submit]:hover{background:var(--ec-accent-dark);
  border-color:var(--ec-accent-dark);color:#fff;text-decoration:none}
.ec-btn--ghost{background:transparent;color:var(--ec-accent)}
.ec-btn--ghost:hover{background:var(--ec-accent);color:#fff}
.ec-searchform{display:flex;gap:.5rem}
.ec-searchform input[type=search]{flex:1}

/* ---------- 7. Mise en page generale ----------------------------------- */
.ec-main{padding:2.75rem 0 4rem}
.ec-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3.5rem;align-items:start}
.ec-layout--full{grid-template-columns:minmax(0,1fr)}

/* fil d'ariane */
.ec-breadcrumb{font-family:var(--ec-sans);font-size:.76rem;color:var(--ec-ink-3);
  padding:1rem 0 0;letter-spacing:.02em}
.ec-breadcrumb a{color:var(--ec-ink-3)}
.ec-breadcrumb a:hover{color:var(--ec-accent)}
.ec-breadcrumb .sep{margin:0 .45rem;color:var(--ec-rule-strong)}

/* ---------- 8. Cartes d'article ---------------------------------------- */
.ec-card{display:flex;flex-direction:column;background:var(--ec-paper)}
.ec-card__media{overflow:hidden;background:var(--ec-wash);margin-bottom:1rem;
  border:1px solid var(--ec-rule)}
.ec-card__media img{aspect-ratio:16/10;object-fit:cover;width:100%;
  transition:transform .5s ease}
.ec-card:hover .ec-card__media img{transform:scale(1.035)}
.ec-card__title{font-size:1.22rem;line-height:1.28;margin:0 0 .5rem}
.ec-card__title a{color:var(--ec-ink)}
.ec-card__title a:hover{color:var(--ec-accent);text-decoration:none}
.ec-card__excerpt{font-size:.97rem;line-height:1.6;color:var(--ec-ink-2);margin:0 0 .85rem}
.ec-card__foot{margin-top:auto;padding-top:.4rem}

.ec-grid{display:grid;gap:var(--ec-gap);grid-template-columns:repeat(3,minmax(0,1fr))}
.ec-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Quatre colonnes : cartes etroites et allongees, marges larges. */
.ec-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:2.75rem}
.ec-grid--4 .ec-card__media img{aspect-ratio:4/3}
.ec-grid--4 .ec-card__title{font-size:1.06rem;line-height:1.3}
.ec-grid--4 .ec-card__excerpt{font-size:.93rem;line-height:1.58}

/* carte en ligne (liste laterale) */
.ec-mini{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.9rem;align-items:start;
  padding:1rem 0;border-bottom:1px solid var(--ec-rule)}
.ec-mini:first-child{padding-top:0}
.ec-mini:last-child{border-bottom:0;padding-bottom:0}
.ec-mini__media img{aspect-ratio:1/1;object-fit:cover;width:100%;border:1px solid var(--ec-rule)}
.ec-mini__title{font-size:1rem;line-height:1.32;margin:0 0 .3rem;font-weight:700}
.ec-mini__title a{color:var(--ec-ink)}
.ec-mini__title a:hover{color:var(--ec-accent);text-decoration:none}
.ec-mini--nomedia{grid-template-columns:minmax(0,1fr)}

/* ---------- 9. Page d'accueil ------------------------------------------ */
.ec-intro{border-bottom:1px solid var(--ec-rule);padding:2.25rem 0 1.75rem}
.ec-intro h1{font-size:clamp(1.55rem,1.2rem + 1.2vw,2.05rem);margin-bottom:.5rem}
.ec-intro p{color:var(--ec-ink-2);max-width:62ch;margin:0;font-size:1.03rem}

.ec-lede{padding:2.5rem 0 0}
.ec-lede__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:var(--ec-gap);align-items:start}
.ec-lede__main .ec-card__media{margin-bottom:1.35rem}
.ec-lede__main .ec-card__media img{aspect-ratio:16/9}
.ec-lede__main .ec-card__title{font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);line-height:1.14}
.ec-lede__main .ec-card__excerpt{font-size:1.1rem;line-height:1.62}
.ec-lede__side{border-left:1px solid var(--ec-rule);padding-left:var(--ec-gap)}
.ec-lede__side .ec-widget__title{margin-top:0}

.ec-section{padding-top:3.25rem}
.ec-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  border-top:2px solid var(--ec-ink);padding-top:.75rem;margin-bottom:1.75rem}
.ec-section__title{font-size:1.35rem;margin:0;letter-spacing:-.01em}
.ec-section__title a{color:var(--ec-ink)}
.ec-section__title a:hover{color:var(--ec-accent);text-decoration:none}
.ec-section__more{font-family:var(--ec-sans);font-size:.75rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

.ec-strip{background:var(--ec-wash);border-block:1px solid var(--ec-rule);
  margin-top:3.5rem;padding:2.75rem 0}
.ec-strip__title{font-size:1.3rem;margin:0 0 1.5rem;border-top:2px solid var(--ec-ink);
  padding-top:.75rem}
.ec-strip .ec-card{background:transparent}
/* La bande grise touche le pied de page : pas de blanc entre les deux. */
.ec-main:has(> .ec-strip:last-child){padding-bottom:0}
.ec-main:has(> .ec-strip:last-child) + .ec-footer{margin-top:0}
.ec-rubriques{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.ec-rubrique{display:flex;flex-direction:column;gap:.3rem;background:var(--ec-paper);
  border:1px solid var(--ec-rule);border-left:3px solid var(--ec-accent);
  padding:1rem 1.25rem;border-radius:var(--ec-radius)}
.ec-rubrique:hover{border-color:var(--ec-rule-strong);border-left-color:var(--ec-accent-dark);
  text-decoration:none}
.ec-rubrique__nom{font-family:var(--ec-serif);font-weight:700;font-size:1.12rem;color:var(--ec-ink)}
.ec-rubrique__nb{font-family:var(--ec-sans);font-size:.78rem;color:var(--ec-ink-3)}
@media (max-width:820px){.ec-rubriques{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ec-rubriques{grid-template-columns:minmax(0,1fr)}}

/* ---------- 10. Archives ------------------------------------------------ */
.ec-archive-head{border-bottom:2px solid var(--ec-ink);padding-bottom:1.25rem;
  margin-bottom:2.25rem}
.ec-archive-head h1{margin:0 0 .4rem}
.ec-archive-head p{color:var(--ec-ink-2);max-width:62ch;margin:0;font-size:1.02rem}
.ec-archive-head .ec-meta{margin-top:.65rem;display:block}

.ec-list{display:flex;flex-direction:column}
.ec-list__item{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.75rem;
  padding:1.9rem 0;border-bottom:1px solid var(--ec-rule)}
.ec-list__item:first-child{padding-top:0}
.ec-list__item--nomedia{grid-template-columns:minmax(0,1fr)}
.ec-list__media img{aspect-ratio:16/10;object-fit:cover;width:100%;border:1px solid var(--ec-rule)}
.ec-list__title{font-size:1.4rem;line-height:1.25;margin:0 0 .45rem}
.ec-list__title a{color:var(--ec-ink)}
.ec-list__title a:hover{color:var(--ec-accent);text-decoration:none}
.ec-list__excerpt{color:var(--ec-ink-2);font-size:1rem;margin:0 0 .7rem}

/* pagination */
.ec-pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:2.5rem;
  font-family:var(--ec-sans);font-size:.85rem}
.ec-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:2.5rem;height:2.5rem;padding:0 .6rem;border:1px solid var(--ec-rule-strong);
  color:var(--ec-ink);border-radius:var(--ec-radius)}
.ec-pagination .page-numbers:hover{border-color:var(--ec-accent);color:var(--ec-accent);
  text-decoration:none}
.ec-pagination .page-numbers.current{background:var(--ec-accent);border-color:var(--ec-accent);
  color:#fff;font-weight:600}
.ec-pagination .dots{border-color:transparent}

/* ---------- 11. Article ------------------------------------------------- */
.ec-entry__head{margin-bottom:1.75rem}
/* Le titre occupe toute la colonne : deux lignes plutot que trois. */
.ec-entry__head h1{margin:.35rem 0 .8rem;text-wrap:balance}
.ec-entry__standfirst{font-size:1.19rem;line-height:1.62;color:var(--ec-ink-2);
  margin:0 0 1.25rem;max-width:56ch}
.ec-entry__byline{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;
  border-top:1px solid var(--ec-rule);border-bottom:1px solid var(--ec-rule);
  padding:.7rem 0;font-family:var(--ec-sans);font-size:.8rem;color:var(--ec-ink-3)}
.ec-entry__byline strong{color:var(--ec-ink);font-weight:600}
.ec-entry__figure{margin:0 0 2rem}
.ec-entry__figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--ec-rule)}
.ec-entry__figure figcaption{font-family:var(--ec-sans);font-size:.76rem;color:var(--ec-ink-3);
  padding-top:.5rem}

.ec-content{font-size:1.115rem;line-height:1.78;max-width:var(--ec-read)}
.ec-content > *:first-child{margin-top:0}
.ec-content h2{font-size:1.6rem;margin:2.4rem 0 .85rem;padding-top:.2rem}
.ec-content h3{font-size:1.28rem;margin:2rem 0 .7rem}
.ec-content h4{font-size:1.1rem;margin:1.7rem 0 .6rem}
.ec-content ul,.ec-content ol{margin:0 0 1.35em;padding-left:1.35em}
.ec-content li{margin-bottom:.5em}
.ec-content li::marker{color:var(--ec-accent)}
.ec-content img{margin:1.8rem 0;border:1px solid var(--ec-rule)}
.ec-content figure{margin:1.8rem 0}
.ec-content figcaption{font-family:var(--ec-sans);font-size:.78rem;color:var(--ec-ink-3);
  text-align:center;padding-top:.45rem}
.ec-content a{text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;text-decoration-color:rgba(15,61,110,.35)}
.ec-content a:hover{text-decoration-color:var(--ec-accent)}
.ec-content table{margin:1.8rem 0}
.ec-content .wp-caption{max-width:100%}
.ec-content .alignleft{float:left;margin:.4rem 1.6rem 1.2rem 0;max-width:50%}
.ec-content .alignright{float:right;margin:.4rem 0 1.2rem 1.6rem;max-width:50%}
.ec-content .aligncenter{margin-inline:auto}

/* sommaire */
.ec-toc{border:1px solid var(--ec-rule);border-left:3px solid var(--ec-accent);
  background:var(--ec-wash);padding:1.15rem 1.35rem;margin:0 0 2.25rem;max-width:var(--ec-read)}
.ec-toc__title{font-family:var(--ec-sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ec-accent);margin:0 0 .7rem}
.ec-toc ol{margin:0;padding-left:1.15rem;font-size:.98rem;line-height:1.5}
.ec-toc li{margin-bottom:.4rem}
.ec-toc li:last-child{margin-bottom:0}
.ec-toc a{color:var(--ec-ink)}
.ec-toc a:hover{color:var(--ec-accent)}
.ec-toc ol ol{margin-top:.4rem;padding-left:1.1rem;font-size:.94rem;color:var(--ec-ink-2)}
.ec-content h2[id],.ec-content h3[id]{scroll-margin-top:1.5rem}

/* encart a lire aussi */
.ec-inread{border-top:1px solid var(--ec-rule);border-bottom:1px solid var(--ec-rule);
  padding:1rem 0;margin:2.25rem 0;max-width:var(--ec-read);display:flex;gap:.9rem;
  align-items:baseline;flex-wrap:wrap}
.ec-inread__label{font-family:var(--ec-sans);font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ec-accent);white-space:nowrap}
.ec-inread__link{font-weight:700;font-size:1.02rem;line-height:1.35}

/* etiquettes */
.ec-tags{margin:2.5rem 0 0;max-width:var(--ec-read);display:flex;flex-wrap:wrap;gap:.4rem;
  align-items:center}
.ec-tag{display:inline-block;font-family:var(--ec-sans);font-size:.74rem;letter-spacing:.04em;
  border:1px solid var(--ec-rule-strong);padding:.3rem .65rem;color:var(--ec-ink-2);
  border-radius:var(--ec-radius)}
.ec-tag:hover{border-color:var(--ec-accent);color:var(--ec-accent);text-decoration:none}

/* navigation article precedent / suivant */
.ec-postnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;
  border-top:1px solid var(--ec-rule);margin-top:2.75rem;padding-top:1.5rem}
.ec-postnav__item{display:block}
.ec-postnav__label{font-family:var(--ec-sans);font-size:.7rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--ec-ink-3);display:block;
  margin-bottom:.35rem}
.ec-postnav__title{font-size:1.02rem;font-weight:700;line-height:1.35;color:var(--ec-ink);
  display:block}
.ec-postnav__item:hover .ec-postnav__title{color:var(--ec-accent)}
.ec-postnav__item:hover{text-decoration:none}
.ec-postnav__item--next{text-align:right;border-left:1px solid var(--ec-rule);padding-left:1.5rem}

/* articles lies */
.ec-related{margin-top:3.25rem;border-top:2px solid var(--ec-ink);padding-top:1rem}
.ec-related__title{font-size:1.25rem;margin:0 0 1.5rem}

/* auteur */
.ec-authorbox{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1.1rem;
  border:1px solid var(--ec-rule);background:var(--ec-wash);padding:1.25rem;margin-top:2.5rem;
  max-width:var(--ec-read)}
.ec-authorbox img{border-radius:50%}
.ec-authorbox h3{font-size:1.05rem;margin:0 0 .3rem}
.ec-authorbox p{font-size:.95rem;color:var(--ec-ink-2);margin:0}

/* commentaires */
.ec-comments{margin-top:3rem;max-width:var(--ec-read)}
.ec-comments__title{font-size:1.25rem;border-top:2px solid var(--ec-ink);padding-top:1rem;
  margin-bottom:1.5rem}
.ec-comments ol.comment-list{list-style:none;margin:0;padding:0}
.ec-comments .comment-body{border-bottom:1px solid var(--ec-rule);padding:1.25rem 0}
.ec-comments .children{list-style:none;margin:0;padding-left:1.75rem;
  border-left:1px solid var(--ec-rule)}

/* ---------- 12. Barre laterale ------------------------------------------ */
.ec-sidebar{position:sticky;top:1.5rem}
.ec-widget{margin-bottom:2.25rem}
.ec-widget:last-child{margin-bottom:0}
.ec-widget__title{font-family:var(--ec-sans);font-size:.74rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ec-ink);
  border-bottom:2px solid var(--ec-ink);padding-bottom:.55rem;margin:0 0 1.1rem}
.ec-widget ul{list-style:none;margin:0;padding:0}
.ec-widget > ul > li{border-bottom:1px solid var(--ec-rule);padding:.6rem 0;
  font-family:var(--ec-sans);font-size:.92rem;display:flex;justify-content:space-between;gap:.75rem}
.ec-widget > ul > li:first-child{padding-top:0}
.ec-widget > ul > li:last-child{border-bottom:0}
.ec-widget > ul > li > a{color:var(--ec-ink)}
.ec-widget > ul > li > a:hover{color:var(--ec-accent)}
.ec-widget__count{color:var(--ec-ink-3);font-size:.8rem;font-variant-numeric:tabular-nums}
.ec-widget--box{background:var(--ec-wash);border:1px solid var(--ec-rule);padding:1.35rem}
.ec-widget--box .ec-widget__title{border-bottom-color:var(--ec-rule-strong)}
.ec-widget p{font-size:.95rem;color:var(--ec-ink-2)}
.ec-widget p:last-child{margin-bottom:0}
.ec-widget select{font-size:.9rem}

/* ---------- 13. Pied de page -------------------------------------------- */
.ec-footer{background:var(--ec-ink);color:#c9ced6;margin-top:4rem;
  font-family:var(--ec-sans);font-size:.9rem}
.ec-footer a{color:#e7eaee}
.ec-footer a:hover{color:#fff}
.ec-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;padding:3.25rem 0 2.5rem}
.ec-footer__title{font-family:var(--ec-sans);font-size:.74rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;margin:0 0 1.1rem;padding-bottom:.55rem;
  border-bottom:1px solid rgba(255,255,255,.18)}
.ec-footer__brand{font-family:var(--ec-serif);font-size:1.35rem;color:#fff;font-weight:700;
  display:block;margin-bottom:.75rem}
.ec-footer p{color:#aeb5be;line-height:1.65;margin:0 0 1rem;max-width:46ch;font-size:.9rem}
.ec-footer ul{list-style:none;margin:0;padding:0}
.ec-footer li{padding:.35rem 0;line-height:1.4}
.ec-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding:1.25rem 0 1.5rem;
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.82rem;
  color:#8f97a1}
.ec-footer__legal{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0;padding:0}
.ec-footer__legal li{padding:0}
.ec-backtotop{position:fixed;right:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;
  display:none;align-items:center;justify-content:center;background:var(--ec-accent);color:#fff;
  border-radius:50%;box-shadow:0 4px 14px rgba(20,23,28,.22);z-index:80}
.ec-backtotop.is-visible{display:flex}
.ec-backtotop:hover{background:var(--ec-accent-dark);text-decoration:none;color:#fff}

/* ---------- 14. Page 404 / recherche ------------------------------------ */
.ec-notice{text-align:center;padding:3.5rem 0;max-width:42rem;margin-inline:auto}
.ec-notice h1{font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem)}
.ec-notice p{color:var(--ec-ink-2);font-size:1.08rem}
.ec-notice .ec-searchform{max-width:26rem;margin:1.75rem auto 0}

/* ---------- 15. Responsive ----------------------------------------------- */
@media (max-width:1024px){
  .ec-layout{grid-template-columns:minmax(0,1fr);gap:3rem}
  .ec-sidebar{position:static}
  .ec-lede__grid{grid-template-columns:minmax(0,1fr)}
  .ec-lede__side{border-left:0;padding-left:0;border-top:1px solid var(--ec-rule);
    padding-top:1.75rem}
  .ec-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ec-footer__top{grid-template-columns:1fr 1fr;gap:2.25rem}
}
@media (max-width:820px){
  .ec-burger{display:inline-flex}
  .ec-nav{position:fixed;inset:0 0 0 auto;width:min(84vw,330px);background:var(--ec-paper);
    border-bottom:0;border-left:1px solid var(--ec-rule);transform:translateX(100%);
    transition:transform .28s ease;z-index:120;overflow-y:auto;padding-top:4.5rem;
    box-shadow:-8px 0 28px rgba(20,23,28,.12)}
  .ec-nav.is-open{transform:translateX(0)}
  .ec-nav__inner{display:block}
  .ec-menu{flex-direction:column;gap:0}
  .ec-menu > li > a{padding:.95rem 1.5rem;border-bottom:1px solid var(--ec-rule);
    margin-bottom:0;font-size:.82rem}
  .ec-menu > li > a:hover,.ec-menu > li.current-menu-item > a{border-bottom-color:var(--ec-rule);
    background:var(--ec-wash)}
  .ec-menu .sub-menu{position:static;display:block;border:0;box-shadow:none;
    background:var(--ec-wash);padding:0}
  .ec-menu .sub-menu a{padding-left:2.5rem;border-bottom:1px solid var(--ec-rule)}
  .ec-navclose{display:inline-flex;position:absolute;top:1rem;right:1rem}
  .ec-overlay{position:fixed;inset:0;background:rgba(20,23,28,.45);z-index:110;display:none}
  .ec-overlay.is-open{display:block}
  .ec-topbar__inner{min-height:70px;gap:.5rem}
  .ec-brand img{max-height:42px}
  .ec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
  .ec-list__item{grid-template-columns:170px minmax(0,1fr);gap:1.25rem}
  .ec-list__title{font-size:1.2rem}
}
@media (max-width:600px){
  body{font-size:1.02rem}
  .ec-main{padding:2rem 0 3rem}
  .ec-grid,.ec-grid--2,.ec-grid--4{grid-template-columns:minmax(0,1fr);gap:2.25rem}
  .ec-list__item{grid-template-columns:minmax(0,1fr);gap:.9rem;padding:1.5rem 0}
  .ec-list__media{order:-1}
  .ec-postnav{grid-template-columns:minmax(0,1fr);gap:1.25rem}
  .ec-postnav__item--next{text-align:left;border-left:0;padding-left:0;
    border-top:1px solid var(--ec-rule);padding-top:1.25rem}
  .ec-footer__top{grid-template-columns:minmax(0,1fr);gap:2rem;padding:2.5rem 0 1.5rem}
  .ec-content{font-size:1.06rem;line-height:1.72}
  .ec-mini{grid-template-columns:76px minmax(0,1fr)}
  .ec-authorbox{grid-template-columns:minmax(0,1fr)}
  .ec-content .alignleft,.ec-content .alignright{float:none;margin:1.5rem 0;max-width:100%}
}

/* ---------- 16. Impression ------------------------------------------------ */
@media print{
  .ec-header-tools,.ec-nav,.ec-sidebar,.ec-footer,.ec-backtotop,
  .ec-related,.ec-postnav,.ec-searchdrop{display:none!important}
  body{font-size:11pt}
  .ec-content{max-width:none}
  a{text-decoration:none;color:#000}
}
