/* =========================================================
   LABADOO.EU — Feuille de style du site public
   ========================================================= */
:root{
  --accent:#FF4F1F;          /* orange Labadoo */
  --accent-dk:#D93A0E;
  --ink:#0F1217;
  --ink-2:#2B3038;
  --muted:#5E6672;
  --line:#E4E6EA;
  --soft:#F4F5F7;
  --paper:#FFFFFF;
  --live:#E2001A;
  --head:'Archivo', 'Arial Narrow', system-ui, sans-serif;
  --sans:'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif:'Source Serif 4', Georgia, serif;
  --wrap:1240px;
  --r:6px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 var(--sans);color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#000;color:#fff;padding:8px 12px;z-index:99}
.muted{color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:11px 20px;border-radius:var(--r);border:0;cursor:pointer;font:700 15px var(--sans)}
.btn:hover{background:var(--accent-dk)}

/* ---------- Barre haute ---------- */
.topbar{background:var(--ink);color:#C9CDD3;font-size:13px}
.topbar-in{display:flex;justify-content:space-between;align-items:center;height:34px}
.today{font-weight:500}
.toplinks{display:flex;gap:18px}
.toplinks a:hover{color:#fff}
.toplinks .admin-link{color:var(--accent);font-weight:700}

/* ---------- Bandeau pub haut ---------- */
.ad-band{background:var(--soft);padding:10px 0;display:flex;justify-content:center;border-bottom:1px solid var(--line)}
.ad-band:empty{display:none}
.ad-band .ad{margin:0}

/* ---------- En-tête ---------- */
.masthead{background:#fff;position:sticky;top:0;z-index:40;box-shadow:0 1px 0 var(--line)}
.mast-in{display:flex;align-items:center;gap:22px;height:78px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mark{width:44px;height:44px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;
  font:900 30px/1 var(--head);font-stretch:85%;transform:rotate(-4deg);box-shadow:3px 3px 0 var(--ink)}
.logo-word{font:900 34px/1 var(--head);font-stretch:80%;letter-spacing:-.5px;text-transform:uppercase}
.logo-word em{font-style:normal;color:var(--accent)}
.tagline{margin:0;color:var(--muted);font-size:14px;max-width:260px;line-height:1.3;border-left:2px solid var(--line);padding-left:16px}
.search{margin-left:auto;display:flex;align-items:center;background:var(--soft);border-radius:30px;padding:3px 4px 3px 16px;width:300px;border:1px solid transparent}
.search:focus-within{border-color:var(--ink);background:#fff}
.search input{border:0;background:none;font:15px var(--sans);flex:1;outline:none;min-width:0}
.search button{border:0;background:var(--ink);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.burger{display:none;background:none;border:0;width:38px;height:38px;cursor:pointer;padding:8px}
.burger span{display:block;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px}

/* ---------- Navigation rubriques ---------- */
.mainnav{border-top:1px solid var(--line);background:#fff}
.nav-in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav-in::-webkit-scrollbar{display:none}
.mainnav a{position:relative;padding:13px 14px 12px;font:700 15px var(--head);font-stretch:90%;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;color:var(--ink-2)}
.mainnav a::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:4px;background:var(--c,var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .2s}
.mainnav a:hover::after,.mainnav a.on::after{transform:scaleX(1)}
.mainnav a.on{color:var(--ink)}
.mainnav .nav-synth{margin-left:auto;color:var(--accent)}
.mainnav .nav-synth::after{background:var(--accent)}

/* ---------- Ticker ---------- */
.ticker{background:var(--ink);color:#fff;font-size:14px}
.ticker-in{display:flex;align-items:center;height:40px;gap:14px}
.ticker-label{flex-shrink:0;display:flex;align-items:center;gap:8px;background:var(--live);font:800 13px var(--head);text-transform:uppercase;letter-spacing:.6px;padding:5px 12px;border-radius:3px}
.ticker-label i,.fil-title i{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}100%{box-shadow:0 0 0 9px rgba(255,255,255,0)}}
.ticker-track{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ticker-move{display:inline-flex;gap:40px;white-space:nowrap;animation:tick 70s linear infinite}
.ticker-track:hover .ticker-move{animation-play-state:paused}
.ticker-move a b{color:var(--accent);margin-right:6px}
.ticker-move a:hover{text-decoration:underline}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

main{padding:26px 0 40px}

/* ---------- Visuels ---------- */
.visual{position:relative;overflow:hidden;background:var(--soft);border-radius:var(--r)}
.visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
a:hover .visual img{transform:scale(1.03)}
.r-wide{aspect-ratio:16/9}
.r-hero{aspect-ratio:16/10}
.r-thumb{aspect-ratio:4/3;width:118px;flex-shrink:0}
.ph{background:var(--c);color:#fff;display:flex;align-items:flex-end;padding:14px}
.ph::before{content:"";position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(-45deg,transparent 0 22px,rgba(255,255,255,.18) 22px 24px)}
.ph-1::before{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.35),transparent 55%)}
.ph-2::before{background:linear-gradient(135deg,rgba(0,0,0,.35),transparent 60%)}
.ph-3::before{background:repeating-radial-gradient(circle at 100% 100%,transparent 0 30px,rgba(255,255,255,.12) 30px 32px)}
.ph-mark{position:absolute;right:-4%;top:50%;transform:translateY(-50%) rotate(-6deg);font:900 15em/1 var(--head);font-stretch:75%;opacity:.16}
.r-thumb .ph-mark{font-size:6em}
.ph-cat{position:relative;font:800 13px var(--head);text-transform:uppercase;letter-spacing:1px}
.r-thumb .ph-cat,.r-hero .ph-cat{display:none}

/* ---------- Kickers ---------- */
.kicker{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 6px}
.kicker span{font:800 11.5px/1 var(--head);text-transform:uppercase;letter-spacing:.7px;padding:5px 7px 4px;border-radius:3px}
.k-cat{background:var(--c);color:#fff}
.k-synth{background:#FFF0EA;color:var(--accent-dk)}
.k-breaking{background:var(--live);color:#fff}
time{font-size:13px;color:var(--muted)}

/* ---------- Cartes ---------- */
.c-hero a{display:block;position:relative;border-radius:var(--r);overflow:hidden;color:#fff}
.c-hero .visual{border-radius:0;height:100%}
.c-hero-txt{position:absolute;left:0;right:0;bottom:0;padding:90px 28px 24px;background:linear-gradient(transparent,rgba(5,8,12,.88) 55%)}
.c-hero h2{font:900 clamp(26px,3.1vw,42px)/1.04 var(--head);font-stretch:85%;margin:4px 0 10px;letter-spacing:-.3px}
.c-hero p{margin:0 0 10px;font-size:16px;color:#E6E8EB;max-width:640px}
.c-hero time{color:#C4C9D0}
.c-hero .k-synth{background:#fff}
.c-hero a:hover h2{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}

.c-card h3{font:800 20px/1.15 var(--head);font-stretch:90%;margin:0 0 6px}
.c-big h3{font:900 28px/1.08 var(--head);font-stretch:88%;margin:0 0 8px}
.c-big p{margin:0 0 6px;color:var(--ink-2)}
.c-card a:hover h3,.c-big a:hover h3,.c-row a:hover h4{color:var(--accent-dk)}
.c-row a{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.c-row .kicker{margin:0 0 4px}
.c-row h4{font:700 17px/1.2 var(--head);font-stretch:92%;margin:0 0 4px}

/* ---------- Une ---------- */
.lead{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:24px;margin-bottom:28px}
.lead-main .c-hero,.lead-main .c-hero a{height:100%}
.lead-main .visual{min-height:460px}
.lead-side{display:flex;flex-direction:column;gap:20px}
.fil{border-top:4px solid var(--live);padding-top:10px}
.fil-title{display:flex;align-items:center;gap:10px;font:900 20px var(--head);text-transform:uppercase;margin:0 0 6px}
.fil-title i{background:var(--live)}
.fil ol{list-style:none;margin:0;padding:0}
.c-line a{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:15px;line-height:1.3}
.c-line b{color:var(--live);font-variant-numeric:tabular-nums;min-width:40px}
.c-line em{font-style:normal;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.c-line a:hover span{text-decoration:underline}
.more{display:inline-block;margin-top:10px;font-weight:700;color:var(--accent-dk)}

.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0 0 30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- Mise en page à colonne ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;margin-top:28px}
.sidebar{display:flex;flex-direction:column;gap:28px}
.sticky-ad{position:sticky;top:150px}

.catblock{margin-bottom:38px}
.cat-head{display:flex;align-items:center;justify-content:space-between;border-top:4px solid var(--c);padding-top:10px;margin-bottom:16px}
.cat-head h2{margin:0;font:900 28px var(--head);font-stretch:85%;text-transform:uppercase;color:var(--c)}
.cat-head .see{font-weight:700;font-size:14px;color:var(--ink-2)}
.cat-head .see::after{content:" →"}
.cat-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px}
.cat-list .c-row:first-child a{padding-top:0}

.box-title{font:900 20px var(--head);text-transform:uppercase;margin:0 0 12px;padding-top:10px;border-top:4px solid var(--ink)}
.box-sub{margin:-6px 0 6px;font-size:14px;color:var(--muted)}
.mostread ol{list-style:none;padding:0;margin:0;counter-reset:mr}
.c-num a{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font:700 16px/1.25 var(--head);font-stretch:92%}
.c-num a::before{counter-increment:mr;content:counter(mr);font:900 32px/0.9 var(--head);color:var(--accent);min-width:24px}
.c-num a:hover span{text-decoration:underline}
.synthbox .c-row .r-thumb{width:90px}
.synthbox .c-row h4{font-size:15px}

/* ---------- Pages rubrique / recherche ---------- */
.page-head{border-top:6px solid var(--c);padding:18px 0 4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.page-head h1{margin:0;font:900 clamp(34px,5vw,56px)/1 var(--head);font-stretch:82%;text-transform:uppercase;color:var(--c)}
.page-head p{flex-basis:100%;margin:6px 0 0;color:var(--muted);max-width:700px}
.page-head .count{color:var(--muted);font-weight:600}
.cat-top{margin-bottom:26px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}
.list .c-row:first-child a{padding-top:0}
.search-big{display:flex;gap:10px;margin-bottom:22px}
.search-big input{flex:1;font:17px var(--sans);padding:12px 16px;border:2px solid var(--ink);border-radius:var(--r)}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:30px 0}
.pager a,.pager span{padding:8px 13px;border:1px solid var(--line);border-radius:var(--r);font-weight:600}
.pager .cur{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager a:hover{border-color:var(--ink)}

/* ---------- Article ---------- */
.crumbs{font-size:14px;color:var(--muted);margin-bottom:6px}
.crumbs a:hover{text-decoration:underline}
.article h1{font:900 clamp(30px,4.2vw,50px)/1.04 var(--head);font-stretch:84%;letter-spacing:-.4px;margin:6px 0 16px}
.chapo{font:600 20px/1.45 var(--sans);color:var(--ink-2);margin:0 0 20px}
.byline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:22px}
.byline strong{display:block}
.byline span{font-size:14px;color:var(--muted)}
.share{display:flex;gap:6px}
.share a,.share button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font:800 14px var(--sans);border:0;cursor:pointer;color:var(--ink)}
.share a:hover,.share button:hover{background:var(--ink);color:#fff}
.lead-img{margin:0 0 24px}
.lead-img figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.body{font:19px/1.7 var(--serif);color:#1b1f24}
.body p{margin:0 0 1.15em}
.body h2{font:800 26px/1.15 var(--head);font-stretch:90%;margin:1.6em 0 .6em}
.body h3{font:800 21px/1.2 var(--head);margin:1.4em 0 .5em}
.body a{color:var(--accent-dk);text-decoration:underline;text-underline-offset:3px}
.body blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:5px solid var(--c,var(--accent));font-style:italic;font-size:21px}
.body ul,.body ol{padding-left:1.3em;margin:0 0 1.2em}
.body li{margin-bottom:.4em}
.body img{border-radius:var(--r);margin:1em 0}
.body .ad{margin:30px auto}
.sources{background:var(--soft);border-radius:var(--r);padding:20px 22px;margin:30px 0;border-left:5px solid var(--accent)}
.sources h2{font:800 18px var(--head);text-transform:uppercase;margin:0 0 6px}
.sources p{margin:0 0 10px;font-size:14px;color:var(--muted)}
.sources ul{margin:0;padding-left:1.1em;font-size:15px}
.sources li{margin:5px 0}
.sources a{text-decoration:underline;text-underline-offset:2px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.tags a{background:var(--soft);padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}
.tags a:hover{background:var(--ink);color:#fff}
.related{margin-top:30px}
.related .strip{grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding-top:4px}
.preview-banner{background:#FFF4CC;border:1px solid #E8C860;padding:10px 14px;border-radius:var(--r);margin-bottom:16px;font-weight:600}
.preview-banner a{text-decoration:underline}
.static h1{margin-top:0}

/* ---------- Publicités ---------- */
.ad{position:relative;margin:26px auto;max-width:100%;width:var(--ad-w);text-align:center}
.ad-label{display:block;font:600 10.5px var(--sans);text-transform:uppercase;letter-spacing:1.4px;color:#9AA1AB;margin-bottom:4px}
.ad-slot{display:flex;justify-content:center}
.ad-slot img{width:var(--ad-w);max-width:100%;height:auto}
.ad-ph{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:var(--ad-h);max-height:60vw;
  border:1.5px dashed #C7CBD1;border-radius:4px;background:repeating-linear-gradient(45deg,#FAFAFB 0 12px,#F3F4F6 12px 24px);color:#7A818C}
.ad-ph strong{font:800 16px var(--head);text-transform:uppercase;color:var(--ink-2)}
.ad-ph span{font-size:13px}
.ad-ph:hover{border-color:var(--accent);color:var(--accent-dk)}
.ad-header{margin:0 auto}
.ad-sidebar_top,.ad-sidebar_half{margin:0}
.ad-in_article .ad-ph{max-height:none;aspect-ratio:16/9;height:auto}
.sticky-mobile{display:none}

/* ---------- États vides ---------- */
.empty-state{text-align:center;padding:70px 20px;max-width:620px;margin:0 auto}
.empty-state h1{font:900 40px/1.05 var(--head);font-stretch:85%;margin:0 0 10px}
.empty-state p{color:var(--muted);margin:0 0 22px}

/* ---------- Pied de page ---------- */
.footer{background:var(--ink);color:#C9CDD3;margin-top:30px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:46px 20px 36px}
.footer h3{color:#fff;font:800 15px var(--head);text-transform:uppercase;letter-spacing:.6px;margin:6px 0 14px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:7px 0}
.footer a:hover{color:#fff;text-decoration:underline}
.logo-inv .logo-word{color:#fff}
.logo-inv .logo-mark{box-shadow:3px 3px 0 #fff}
.foot-brand p{max-width:420px;font-size:15px}
.newsletter label{display:block;color:#fff;font-weight:700;margin:16px 0 8px}
.newsletter div{display:flex;max-width:420px}
.newsletter input{flex:1;min-width:0;padding:11px 14px;border:0;border-radius:var(--r) 0 0 var(--r);font:15px var(--sans)}
.newsletter button{border:0;background:var(--accent);color:#fff;font:700 15px var(--sans);padding:0 18px;border-radius:0 var(--r) var(--r) 0;cursor:pointer}
.socials{display:flex;gap:14px;margin-top:16px;font-weight:700}
.foot-bottom{border-top:1px solid #262B33;padding:16px 0;font-size:13px;color:#8D949E}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .lead{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .fil{grid-column:1/-1}
  .fil ol{columns:2;column-gap:28px}
  .tagline{display:none}
}
@media (max-width:900px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
  .sticky-ad{position:static}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:720px){
  .topbar .toplinks a:not(.admin-link){display:none}
  .mast-in{height:62px;gap:12px}
  .burger{display:block}
  .logo-mark{width:36px;height:36px;font-size:24px}
  .logo-word{font-size:27px}
  .search{width:auto;flex:0 0 auto;margin-left:auto;padding:3px;background:none}
  .search input{display:none}
  .search:focus-within input{display:block;width:150px}
  .mainnav{display:none}
  .mainnav.open{display:block}
  .mainnav.open .nav-in{flex-direction:column;padding:6px 20px 14px}
  .mainnav.open .nav-synth{margin-left:0}
  .lead{grid-template-columns:minmax(0,1fr)}
  .lead-main .visual{min-height:340px}
  .c-hero-txt{padding:70px 18px 18px}
  .fil ol{columns:1}
  .cat-grid{grid-template-columns:minmax(0,1fr)}
  .grid3,.strip,.related .strip{grid-template-columns:1fr 1fr;gap:18px}
  .c-card h3{font-size:17px}
  .r-thumb{width:96px}
  .body{font-size:18px}
  .chapo{font-size:18px}
  .ad-band{padding:6px 0}
  .ad-band .ad-ph{height:auto;aspect-ratio:728/90}
  .sticky-mobile{display:block;position:fixed;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.12);z-index:50}
  .sticky-mobile .ad{margin:4px auto}
  .sticky-mobile .ad-label{display:none}
  .sticky-mobile:empty{display:none}
  body{padding-bottom:62px}
}
@media (max-width:460px){
  .grid3,.strip,.related .strip{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ticker-move{animation:none}*{transition:none!important}}
