/* ============================================================================
   Editorial theme — feuille de style principale.
   Tokens {{...}} substitués au build (couleurs de marque + polices).
   Palette dérivée en color-mix() → changer --brand suffit à re-teinter le site.
   ============================================================================ */

/* -------- Polices auto-hébergées (woff2 relatifs à ce fichier) -------- */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/newsreader-400.woff2") format("woff2");}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/newsreader-600.woff2") format("woff2");}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/newsreader-700.woff2") format("woff2");}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/public-sans-400.woff2") format("woff2");}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/public-sans-600.woff2") format("woff2");}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/public-sans-700.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/ibm-plex-mono-500.woff2") format("woff2");}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/ibm-plex-mono-600.woff2") format("woff2");}

/* ============================= TOKENS ============================= */
:root{
  --brand:#0E7A46;
  --brand-dark:#37B979;
  --paper:#F5F7F4;
  --card:#FFFFFF;
  --ink:#15191A;
  --signal:#E0A100;

  --brand-strong:color-mix(in srgb, var(--brand), #000 24%);
  --brand-link:var(--brand-strong);
  --brand-wash:color-mix(in srgb, var(--brand) 12%, var(--paper));
  --ink-2:color-mix(in srgb, var(--ink) 76%, var(--paper));
  --muted:color-mix(in srgb, var(--ink) 60%, var(--paper));
  --line:color-mix(in srgb, var(--ink) 13%, var(--paper));
  --line-2:color-mix(in srgb, var(--ink) 26%, var(--paper));
  --signal-ink:color-mix(in srgb, var(--signal), #000 44%);
  --signal-wash:color-mix(in srgb, var(--signal) 15%, var(--paper));
  --code-bg:color-mix(in srgb, var(--brand) 8%, var(--paper));
  --sel:color-mix(in srgb, var(--brand) 24%, var(--paper));

  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow:0 2px 4px rgba(0,0,0,.04), 0 12px 28px -14px rgba(0,0,0,.16);

  --serif:"Newsreader","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --maxw:1180px; --measure:66ch;
  --z-nav:20; --z-modal:40;
}
:root[data-theme="light"]{
  --paper:#F5F7F4; --card:#FFFFFF; --ink:#15191A;
  --brand:#0E7A46; --signal:#E0A100;
  --brand-link:var(--brand-strong);
  --signal-ink:color-mix(in srgb, var(--signal), #000 44%);
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow:0 2px 4px rgba(0,0,0,.04), 0 12px 28px -14px rgba(0,0,0,.16);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0D1211; --card:#141A18; --ink:#E9EEEA;
    --brand:var(--brand-dark); --signal:#E6B23E;
    --brand-link:color-mix(in srgb, var(--brand) 86%, #fff);
    --signal-ink:color-mix(in srgb, var(--signal) 80%, #fff);
    --shadow-sm:0 1px 2px rgba(0,0,0,.3);
    --shadow:0 2px 6px rgba(0,0,0,.35), 0 14px 34px -16px rgba(0,0,0,.65);
  }
}
:root[data-theme="dark"]{
  --paper:#0D1211; --card:#141A18; --ink:#E9EEEA;
  --brand:var(--brand-dark); --signal:#E6B23E;
  --brand-link:color-mix(in srgb, var(--brand) 86%, #fff);
  --signal-ink:color-mix(in srgb, var(--signal) 80%, #fff);
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow:0 2px 6px rgba(0,0,0,.35), 0 14px 34px -16px rgba(0,0,0,.65);
}

/* ============================= BASE ============================= */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:var(--sel);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,h5{margin:0;line-height:1.1;font-family:var(--serif);font-weight:600;letter-spacing:-.01em;text-wrap:balance;}
p{margin:0;}
svg{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:3px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--card);padding:10px 16px;border-radius:0 0 6px 0;}
.skip-link:focus{left:0;}

.mono{font-family:var(--mono);}
.code{font-family:var(--mono);font-size:.71rem;font-weight:600;letter-spacing:.01em;color:var(--brand-link);
  background:var(--code-bg);border:1px solid var(--line);padding:3px 7px;border-radius:4px;display:inline-flex;white-space:nowrap;line-height:1.2;}
.cat{font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:var(--muted);}
a.cat.as, .cat.as{color:var(--brand-link);}
.ico{width:1em;height:1em;}
.check{width:15px;height:15px;color:var(--brand);flex:0 0 auto;}
.dot{width:3px;height:3px;border-radius:50%;background:var(--line-2);flex:0 0 auto;}

/* ============================= MASTHEAD ============================= */
.masthead{background:var(--card);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:var(--z-nav);}
.strip{border-bottom:1px solid var(--line);}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;padding:8px 32px;}
.strip .right{display:flex;align-items:center;gap:14px;}
.toggle{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  background:transparent;border:1px solid var(--line-2);border-radius:20px;padding:4px 12px;cursor:pointer;transition:border-color .15s,color .15s;}
.toggle:hover{color:var(--ink);border-color:var(--ink);}

.brandrow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:15px;min-width:0;}
.brand__logo img,.foot-brand img{max-height:52px;width:auto;}
.mark{width:48px;height:48px;flex:0 0 auto;border-radius:8px;background:var(--ink);color:var(--card);display:grid;place-items:center;
  font-family:var(--mono);font-weight:600;font-size:1rem;letter-spacing:-.02em;position:relative;overflow:hidden;}
.mark::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--brand);}
.brand__txt{min-width:0;}
.brand .n{font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1;display:block;}
.brand .n a:hover{color:var(--brand-link);}
.brand .s{font-size:.76rem;color:var(--muted);margin-top:4px;letter-spacing:.01em;display:block;}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line-2);border-radius:8px;padding:8px;color:var(--ink);cursor:pointer;}
.nav-toggle .ico{width:20px;height:20px;}
nav.main,.main-nav ul.main{display:flex;gap:28px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.main-nav .main a{font-size:.87rem;font-weight:600;color:var(--muted);padding:6px 0;position:relative;display:block;transition:color .15s;}
.main-nav .main a:hover{color:var(--ink);}
.main-nav .main .current-menu-item>a,.main-nav .main .current_page_item>a{color:var(--ink);}
.main-nav .main .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:2px;background:var(--brand);}
.main-nav .sub-menu{display:none;}

/* ============================= HERO ============================= */
.hero{padding:52px 0 34px;}
.hero-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:48px;align-items:start;}
.lead{border-top:3px solid var(--ink);padding-top:24px;animation:rise .7s cubic-bezier(.16,1,.3,1) both;}
.kick{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.lead h2{font-size:clamp(2.1rem,4.6vw,3.3rem);font-weight:600;line-height:1.04;letter-spacing:-.025em;margin-bottom:16px;}
.lead h2 a:hover{color:var(--brand-link);}
.lead .dek{font-size:1.14rem;color:var(--ink-2);max-width:36ch;margin-bottom:24px;line-height:1.5;}
.byline{display:flex;align-items:center;gap:11px;font-size:.83rem;color:var(--muted);flex-wrap:wrap;}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-wash);color:var(--brand-link);display:grid;place-items:center;
  font-family:var(--mono);font-weight:600;font-size:.78rem;border:1px solid var(--line);flex:0 0 auto;}
.byline strong{color:var(--ink);font-weight:600;}
.verified{display:inline-flex;align-items:center;gap:5px;color:var(--brand-link);font-weight:600;}

/* Panneau "Aktuell" (colonne droite) */
.radar{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;}
.radar-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--brand-wash);}
.radar-h .t{font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.radar ul{list-style:none;margin:0;padding:0;}
.radar li{border-bottom:1px solid var(--line);}
.radar li:last-child{border-bottom:0;}
.radar li .txt{display:block;padding:12px 17px;transition:background .16s;}
.radar li .txt:hover{background:var(--brand-wash);}
.radar .txt .a{display:block;font-size:.9rem;font-weight:600;line-height:1.3;}
.radar .txt:hover .a{color:var(--brand-link);}
.radar .txt .b{display:block;font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-top:3px;}

/* ============================= SECTIONS / PILIERS ============================= */
.sec{padding:26px 0 12px;}
.sec-h{display:flex;align-items:baseline;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:22px;}
.sec-h h3{font-size:1.35rem;font-weight:700;}
.sec-h .more{margin-left:auto;font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.03em;display:inline-flex;align-items:center;gap:6px;transition:color .15s;}
.sec-h .more:hover{color:var(--brand-link);}
.sec-h .more .ico{width:13px;height:13px;}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line);gap:1px;}
.pillar{background:var(--card);display:flex;flex-direction:column;}
.pillar-h{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line);gap:12px;}
.pillar-h .name{font-family:var(--serif);font-size:1.05rem;font-weight:600;}
.pillar-h .name:hover{color:var(--brand-link);}
.pillar-h .rule{width:26px;height:3px;border-radius:2px;background:var(--brand);flex:0 0 auto;}
.entry{display:block;padding:16px 20px;border-bottom:1px solid var(--line);transition:background .16s;}
.entry:last-child{border-bottom:0;}
.entry:hover{background:var(--brand-wash);}
.entry.big{background:var(--brand-wash);}
.entry .top{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.entry h4{font-family:var(--serif);font-size:1.04rem;font-weight:600;line-height:1.22;letter-spacing:-.005em;}
.entry:hover h4{color:var(--brand-link);}
.entry .dek{font-size:.87rem;color:var(--ink-2);margin-top:8px;line-height:1.45;}
.entry .m{font-family:var(--mono);font-size:.67rem;color:var(--muted);margin-top:8px;letter-spacing:.02em;}

/* ============================= ARCHIVE / GRID ============================= */
.archive{padding:44px 0 20px;}
.crumb{font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.03em;margin-bottom:18px;}
.crumb a:hover{color:var(--brand-link);}
.archive-head{border-top:3px solid var(--ink);padding-top:20px;margin-bottom:30px;}
.archive-head h1{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.02em;}
.archive-head h1 span{color:var(--brand-link);}
.archive-desc{color:var(--ink-2);margin-top:10px;max-width:60ch;}
.layout{display:grid;grid-template-columns:1fr;gap:44px;}
.layout.has-sidebar{grid-template-columns:minmax(0,1fr) 300px;}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.post-card{background:var(--card);display:flex;flex-direction:column;transition:background .16s;}
.post-card:hover{background:var(--brand-wash);}
.post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--brand-wash);}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.post-card:hover .post-card__media img{transform:scale(1.03);}
.post-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:11px;flex:1;}
.post-card__kick{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.post-card__title{font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.22;letter-spacing:-.008em;}
.post-card__title a:hover{color:var(--brand-link);}
.post-card__ex{font-size:.88rem;color:var(--muted);line-height:1.5;flex:1;}
.post-card__meta{font-family:var(--mono);font-size:.68rem;color:var(--muted);letter-spacing:.02em;}

/* Sidebar / widgets */
.layout__aside{display:flex;flex-direction:column;gap:26px;}
.widget{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
.widget__title{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 14px;}
.widget ul{list-style:none;margin:0;padding:0;}
.widget li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.widget li:last-child{border-bottom:0;}
.widget a:hover{color:var(--brand-link);}

/* pagination */
.pagination{margin:34px 0 6px;}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border:1px solid var(--line-2);border-radius:8px;
  font-family:var(--mono);font-size:.82rem;color:var(--ink);font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s;}
.pagination .page-numbers:hover{border-color:var(--ink);}
.pagination .page-numbers.current{background:var(--ink);color:var(--card);border-color:var(--ink);}
.pagination .page-numbers.dots{border:0;}

/* ============================= ARTICLE ============================= */
.article{padding:48px 0 20px;}
.art-head{max-width:var(--measure);margin:18px auto 28px;}
.art-head h1{font-size:clamp(2.05rem,4.7vw,3.05rem);font-weight:600;letter-spacing:-.022em;line-height:1.06;margin-bottom:20px;}
.art-head .standfirst{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--ink-2);line-height:1.5;}
.art-meta{max-width:var(--measure);margin:0 auto 30px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.83rem;color:var(--muted);}
.art-meta .avatar{width:42px;height:42px;background:var(--ink);color:var(--card);border-color:transparent;}
.art-meta strong{color:var(--ink);font-weight:600;}
.art-meta .role{font-size:.75rem;}
.art-figure{max-width:960px;margin:0 auto 34px;}
.art-figure img{width:100%;border-radius:12px;}
.art-figure figcaption{font-size:.78rem;color:var(--muted);margin-top:8px;text-align:center;}

/* ---- prose (contenu WordPress) ---- */
.prose{max-width:var(--measure);margin:0 auto;font-size:1.06rem;}
.prose>p{margin:0 0 22px;text-wrap:pretty;}
.prose>h2{font-size:1.6rem;font-weight:600;letter-spacing:-.015em;margin:40px 0 15px;}
.prose>h3{font-size:1.28rem;font-weight:600;margin:32px 0 12px;}
.prose a{color:var(--brand-link);text-decoration:underline;text-underline-offset:2.5px;text-decoration-thickness:1.5px;font-weight:500;}
.prose>ul,.prose>ol{margin:0 0 22px;padding-left:24px;}
.prose li{margin-bottom:8px;}
.prose li::marker{color:var(--brand);}
.prose blockquote{margin:26px 0;padding:4px 0 4px 22px;border-left:3px solid var(--brand);font-family:var(--serif);font-size:1.2rem;color:var(--ink-2);}
.prose img{border-radius:10px;margin:8px 0;}
.prose figcaption{font-size:.78rem;color:var(--muted);margin-top:6px;}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);padding:2px 6px;border-radius:4px;}
.prose pre{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;overflow-x:auto;}
.prose strong{font-weight:700;color:var(--ink);}

/* Encart "L'essentiel" — bordure pleine + fond teinté (pas de side-stripe) */
.prose .kompakt,.kompakt{background:var(--brand-wash);border:1px solid var(--line-2);border-radius:12px;padding:24px 26px;margin:8px 0 32px;}
.kompakt .h{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-link);margin-bottom:14px;}
.kompakt ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.kompakt li{display:flex;gap:11px;font-size:.99rem;line-height:1.5;margin:0;}
.kompakt li .b{width:16px;height:16px;flex:0 0 auto;margin-top:3px;color:var(--brand);}

/* Encart légal — bordure pleine + fond teinté */
.prose .rechts,.rechts{background:var(--signal-wash);border:1px solid var(--signal);border-radius:12px;padding:20px 24px;margin:28px 0;}
.rechts .h{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--signal-ink);margin-bottom:9px;display:flex;align-items:center;gap:8px;}
.rechts .h .par{font-family:var(--serif);font-size:1.05rem;font-weight:700;}
.rechts p{margin:0;font-size:.96rem;color:var(--ink);line-height:1.55;}

/* Tableau (séquences) */
.prose table,table.editorial{border-collapse:collapse;width:100%;font-size:.92rem;margin:0;}
.prose .tablewrap,.tablewrap{overflow-x:auto;margin:28px 0;border:1px solid var(--line);border-radius:12px;}
.tablewrap table{min-width:540px;}
th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--line);}
thead th{background:var(--brand-wash);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);font-weight:600;}
tbody tr:last-child td{border-bottom:0;}
.step{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--brand-link);font-variant-numeric:tabular-nums;}

/* Disclosure + YMYL */
.anzeige{max-width:var(--measure);margin:26px auto 0;font-family:var(--mono);font-size:.69rem;letter-spacing:.02em;color:var(--muted);
  border:1px solid var(--line-2);border-radius:8px;padding:11px 15px;display:flex;align-items:center;gap:9px;}
.anzeige b{color:var(--ink);text-transform:uppercase;letter-spacing:.09em;font-weight:700;}
.ymyl-note{max-width:var(--measure);margin:14px auto 0;font-size:.8rem;color:var(--muted);font-style:italic;}

/* Sources */
.quellen{max-width:var(--measure);margin:40px auto 0;border-top:2px solid var(--ink);padding-top:20px;}
.quellen .h{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:13px;}
.quellen ol{margin:0;padding-left:22px;font-size:.87rem;color:var(--muted);display:flex;flex-direction:column;gap:8px;}
.quellen a{color:var(--brand-link);text-decoration:underline;text-underline-offset:2px;}

/* Encart auteur */
.autor{max-width:var(--measure);margin:34px auto 0;display:flex;gap:19px;align-items:flex-start;background:var(--card);
  border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm);}
.autor .av{width:60px;height:60px;flex:0 0 auto;border-radius:50%;background:var(--brand-wash);color:var(--brand-link);display:grid;place-items:center;
  font-family:var(--mono);font-weight:600;font-size:1.2rem;border:1px solid var(--line);}
.autor .n{font-family:var(--serif);font-weight:700;font-size:1.1rem;}
.autor .r{font-family:var(--mono);font-size:.74rem;color:var(--brand-link);font-weight:600;margin:3px 0 9px;letter-spacing:.01em;}
.autor .bio{font-size:.9rem;color:var(--muted);line-height:1.55;}

/* Articles liés */
.related{max-width:var(--measure);margin:44px auto 0;}
.related__h{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  border-top:2px solid var(--ink);padding-top:18px;margin-bottom:18px;}
.related__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.related__item{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:var(--card);transition:background .16s;}
.related__item:hover{background:var(--brand-wash);}
.related__cat{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-link);font-weight:600;}
.related__title{font-family:var(--serif);font-size:1rem;font-weight:600;line-height:1.25;}
.related__item:hover .related__title{color:var(--brand-link);}

/* ============================= PAGES / 404 / SEARCH ============================= */
.page-article .art-head{border-top:3px solid var(--ink);padding-top:22px;}
.error-404{max-width:var(--measure);margin:0 auto;padding:70px 32px;text-align:center;}
.error-404__code{font-family:var(--mono);font-size:3.4rem;font-weight:600;color:var(--brand);margin-bottom:4px;}
.error-404 h1{font-size:1.8rem;margin-bottom:10px;}
.error-404__lead{color:var(--muted);margin-bottom:24px;}
.error-404 .search-form{margin:0 auto 24px;max-width:420px;}
.btn{display:inline-block;font-weight:600;color:var(--brand-link);}
.no-results{max-width:var(--measure);margin:0 auto;padding:20px 0;color:var(--muted);}

/* Recherche */
.search-form{display:flex;gap:8px;align-items:center;}
.search-form__input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:.9rem;}
.search-form__input::placeholder{color:var(--muted);}
.search-form__btn{height:44px;width:44px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--card);cursor:pointer;}
.search-form__btn .ico{width:18px;height:18px;}

/* Commentaires (rare) */
.comments-area{max-width:var(--measure);margin:44px auto 0;border-top:2px solid var(--ink);padding-top:20px;}
.comments-area__title{font-size:1.3rem;margin-bottom:16px;}
.comment-list{list-style:none;margin:0;padding:0;}

/* ============================= FOOTER ============================= */
.site-footer{background:var(--card);border-top:2px solid var(--ink);margin-top:64px;padding:48px 0 32px;}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;}
.foot-brand .mark{margin-bottom:16px;}
.foot-brand p{font-size:.85rem;color:var(--muted);max-width:32ch;line-height:1.55;margin-top:14px;}
.foot-col h5{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 15px;font-weight:600;}
.foot-col ul{list-style:none;margin:0;padding:0;}
.foot-col a{display:block;font-size:.87rem;color:var(--ink);padding:6px 0;font-weight:500;transition:color .15s;}
.foot-col a:hover{color:var(--brand-link);}
.foot-bot{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.79rem;color:var(--muted);}
.foot-bot .legal ul{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.foot-bot .legal a{font-weight:600;color:var(--ink);}
.foot-bot .legal a:hover{color:var(--brand-link);}

/* WP core alignments / captions */
.alignwide{max-width:1040px;margin-left:auto;margin-right:auto;}
.alignfull{max-width:none;}
.aligncenter{margin-left:auto;margin-right:auto;}
.alignleft{float:left;margin:6px 24px 12px 0;}
.alignright{float:right;margin:6px 0 12px 24px;}
.wp-caption-text,.wp-element-caption{font-size:.78rem;color:var(--muted);margin-top:6px;}
.sticky,.gallery-caption,.bypostauthor{}

/* ============================= MOTION ============================= */
@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* ============================= RESPONSIVE ============================= */
@media (max-width:940px){
  .hero-grid{grid-template-columns:1fr;gap:38px;}
  .pillars{grid-template-columns:1fr;}
  .layout.has-sidebar{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .nav-toggle{display:inline-grid;place-items:center;}
  .main-nav{flex-basis:100%;}
  nav.main,.main-nav ul.main{display:none;flex-direction:column;gap:0;padding-top:8px;}
  .main-nav.is-open ul.main{display:flex;}
  .main-nav .main a{padding:12px 0;border-top:1px solid var(--line);}
  .main-nav .main .current-menu-item>a::after{display:none;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .wrap{padding:0 20px;}
  .strip .wrap{padding:8px 20px;}
  .brandrow{padding:18px 20px;gap:14px;}
  .foot-grid{grid-template-columns:1fr;}
  .autor{flex-direction:column;gap:14px;}
  .art-meta{gap:10px;}
}
