/* WaveNews – breaking-news look (licht standaard, rood accent, schuine linten) */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root,:root[data-theme="auto"],:root[data-theme="dark"]{
  --bg:#060a14;--bg2:#0a1020;--surface:#0f1626;--surface2:#16203a;--text:#fff;--muted:#a9b4ca;--border:#222d47;
  --red:#d62839;--red2:#a8132a;--brand:#d62839;--link:#ff7083;--accent:#d62839;--brand2:#ff5a6e;--focus:#fff;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 10px 30px rgba(0,0,0,.35);--head-bg:rgba(6,10,20,.92);
  --radius:6px;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:var(--font);
  --skew:-12deg;color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#fff;--bg2:#f4f5f9;--surface:#fff;--surface2:#f3f4f8;--text:#0e1424;--muted:#566077;--border:#e1e4ec;
  --link:#b3162a;--focus:#0e1424;--shadow:0 1px 2px rgba(14,20,36,.06),0 8px 24px rgba(14,20,36,.07);--head-bg:rgba(255,255,255,.96);color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:radial-gradient(1200px 500px at 15% -10%,rgba(214,40,57,.10),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:8px 14px;border-radius:6px;z-index:100;font-weight:700}
.skip:focus{left:8px}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px}
button{font:inherit;color:inherit;cursor:pointer}
[hidden]{display:none!important}

/* schuine lint-blokken (zoals BREAKING / NEWS in de referentie) */
.sk{position:relative;isolation:isolate;display:inline-block;font-style:italic;font-weight:800;letter-spacing:.01em}
.sk::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sk-bg,var(--red));border-radius:9px;transform:skewX(var(--skew))}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--head-bg);backdrop-filter:saturate(1.3) blur(14px);border-bottom:1px solid var(--border)}
.site-header::before{content:"";display:block;height:6px;background:linear-gradient(90deg,var(--red) 0,var(--red) 62%,transparent 62.1%);clip-path:polygon(0 0,100% 0,calc(62% - 6px) 100%,0 100%);width:100%}
.bar{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-style:italic;font-size:1.55rem;letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.brand-mark{width:38px;height:34px;flex:none}
.brand-name{display:inline-flex;align-items:center;gap:6px}
.brand b{position:relative;isolation:isolate;font-weight:900;color:#fff;padding:5px 10px 5px 8px}
.brand b::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);border-radius:7px;transform:skewX(var(--skew))}
.search{flex:1;max-width:460px;margin-left:auto;position:relative}
.search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted)}
.search input{width:100%;height:42px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 16px 0 42px;font:inherit}
.search input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px rgba(214,40,57,.35)}
.search input::placeholder{color:var(--muted)}
.actions{display:flex;gap:8px;align-items:center}
.icon-btn{position:relative;width:42px;height:42px;border-radius:8px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;transition:border-color .15s,background .15s}
.icon-btn:hover{border-color:var(--red)}
.icon-btn svg{width:20px;height:20px}
.icon-btn[aria-pressed="true"]{background:var(--red);color:#fff;border-color:var(--red)}
.count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:10px;background:#fff;color:var(--red2);font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 4px;box-shadow:0 0 0 2px var(--bg)}

/* LIVE-indicator */
.live{display:inline-flex;align-items:center;gap:7px;font-weight:900;font-style:italic;font-size:.78rem;letter-spacing:.1em;color:#fff;background:var(--red);padding:6px 12px 6px 10px;border-radius:7px;flex:none;line-height:1}
.live i{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
.live.off{background:var(--surface2);color:var(--muted)}.live.off i{background:var(--muted);animation:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%,100%{box-shadow:0 0 0 7px transparent}}

.cats{border-top:1px solid var(--border)}
.cats ul{display:flex;gap:6px;list-style:none;margin:0;padding:8px 0;overflow-x:auto;scrollbar-width:none}
.cats ul::-webkit-scrollbar{display:none}
.cats a{position:relative;isolation:isolate;display:block;white-space:nowrap;padding:7px 16px;font-weight:700;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);transition:color .15s}
.cats a::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:7px;transform:skewX(var(--skew));background:transparent;transition:background .15s}
.cats a:hover{color:var(--text)}.cats a:hover::before{background:var(--surface2)}
.cats a[aria-current="page"]{color:#fff;font-style:italic;font-weight:800}
.cats a[aria-current="page"]::before{background:var(--red)}

/* ---------- breaking-balk ---------- */
.breaking{background:linear-gradient(90deg,#7d0b1c,var(--red2) 40%,#7d0b1c);color:#fff;border-bottom:2px solid #fff}
.breaking .wrap{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px}
.breaking .tag{--sk-bg:#fff;color:var(--red2);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;flex:none;font-weight:900}
.breaking a{flex:1;font-weight:800;font-style:italic;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.breaking a:hover{text-decoration:underline}
.breaking button{background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;padding:0 6px}

.banner{margin-top:16px}
.banner button{width:100%;border:0;border-radius:8px;padding:13px 16px;background:var(--red);color:#fff;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow);animation:fresh .5s ease-out}
.banner button:hover{background:var(--red2)}
.banner.err{background:rgba(214,40,57,.14);border:1px solid var(--red);padding:10px 14px;border-radius:8px;margin:14px 0}

/* ---------- layout + toolbar ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;padding-top:26px;padding-bottom:50px}
.toolbar>div:first-child{flex:1 1 240px}
.toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
h1{margin:0;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;padding-left:16px;border-left:6px solid var(--red)}
.meta{margin:4px 0 0;color:var(--muted);font-size:.86rem}
h1+.meta{padding-left:22px}
.sortbox{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted)}
.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
.sortbox select,.filters select{height:40px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 10px;font:inherit;font-size:.9rem}
.filters select{max-width:190px}
select:focus{border-color:var(--red)}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.seg button{border:0;background:none;padding:0 12px;height:38px;font-weight:600;font-size:.85rem;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--red);color:#fff}

/* ---------- kaarten ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);z-index:3;transform:scaleY(.0);transform-origin:top;transition:transform .25s}
.card:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:0 14px 34px rgba(214,40,57,.18)}
.card:hover::before,.card.fresh::before,.card.own::before{transform:scaleY(1)}
.card .thumb{position:relative;aspect-ratio:16/10;background:var(--surface2);overflow:hidden}
.card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,10,20,.65))}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card:hover .thumb img{transform:scale(1.05)}
.card .noimg{aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(135deg,#1a2744,#0b1222 70%);color:#fff;font-weight:900;font-style:italic;letter-spacing:.06em;text-transform:uppercase;font-size:1rem;text-align:center;padding:10px;border-bottom:3px solid var(--red)}
.card .body{padding:14px 16px 14px;display:flex;flex-direction:column;gap:9px;flex:1}
.kicker{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kicker .src{position:relative;isolation:isolate;color:#fff;padding:2px 9px;font-style:italic;font-weight:900}
.kicker .src::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);border-radius:5px;transform:skewX(var(--skew))}
.kicker .src.own::before{background:#fff}.kicker .src.own{color:var(--red2)}
.kicker a{position:relative;z-index:2}
.kicker a.src:hover::before{background:var(--red2)}
.chip{display:inline-block;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:.64rem;font-weight:800;color:var(--muted)}
.chip.brk{background:var(--red);border-color:var(--red);color:#fff;font-style:italic}
.card h3{margin:0;font-size:1.1rem;font-weight:800;line-height:1.25;letter-spacing:-.01em}
.card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.card h3 a:hover{color:#fff}
.card p{margin:0;color:var(--muted);font-size:.91rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);padding-top:8px;border-top:1px solid var(--border)}
.byline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.cta{position:relative;isolation:isolate;display:inline-block;flex:none;color:#fff;font-style:italic;font-weight:900;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px 6px 12px;transition:transform .15s}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);border-radius:6px;transform:skewX(var(--skew));transition:background .15s}
.card:hover .cta::before{background:#fff}.card:hover .cta{color:var(--red2)}
.save{position:relative;z-index:4;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);display:grid;place-items:center;flex:none;transition:border-color .15s}
.save:hover{border-color:var(--red)}
.save svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.save[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.save[aria-pressed="true"] svg{fill:currentColor}
.card.own{border-color:color-mix(in srgb,var(--red) 55%,var(--border))}
.card.fresh{animation:fresh .7s ease-out;box-shadow:0 0 0 2px var(--red),var(--shadow)}
@keyframes fresh{from{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}
.also{margin:6px 0 0;font-size:.78rem;color:var(--muted)}

/* ---------- hero (breaking-poster) ---------- */
.hero{color:#fff;position:relative;display:block;min-height:560px;margin-bottom:26px;border-radius:8px;overflow:hidden;background:#05080f;border:1px solid var(--border);box-shadow:var(--shadow);isolation:isolate}
.hero .thumb{position:absolute;inset:0;z-index:-2;background:linear-gradient(135deg,#1a2744,#05080f)}
.hero .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 8s ease-out}
.hero:hover .thumb img{transform:scale(1.04)}
.hero .thumb.noimg{background:radial-gradient(800px 400px at 30% 20%,#2a1a3a,transparent),linear-gradient(180deg,#0b1730,#05080f);color:transparent}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,10,20,.35) 0,rgba(6,10,20,0) 22%,rgba(6,10,20,.45) 48%,rgba(6,10,20,.92) 72%,#060a14 100%)}
.hero .topstrip{position:absolute;left:0;top:0;height:10px;width:62%;background:var(--red);clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.hero-inner{position:relative;min-height:558px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:24px}
.ribbons{position:relative;padding:0 0 0 26px;margin-bottom:-6px;z-index:2;pointer-events:none}
.rb-main{--sk-bg:var(--red);display:inline-block;color:#fff;font-size:clamp(2rem,6vw,4.2rem);line-height:1;text-transform:uppercase;font-weight:900;font-style:italic;letter-spacing:-.01em;padding:.22em .8em .22em .6em;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.rb-main::before{border-radius:12px}
.rb-sub{--sk-bg:#fff;display:inline-block;margin-left:2.2em;margin-top:.5rem;color:var(--red);font-size:clamp(1.3rem,3.6vw,2.4rem);line-height:1;text-transform:uppercase;padding:.25em .9em .25em .7em}
.rb-sub::before{border-radius:10px}
.rb-wrap{display:flex;flex-direction:column;align-items:flex-start}
.hero .body{position:relative;margin:18px 26px 0;padding:2px 0 22px 20px;border-left:5px solid var(--red);display:flex;flex-direction:column;gap:10px;max-width:880px}
.hero h2{margin:0;font-size:clamp(1.5rem,3.3vw,2.7rem);font-weight:900;font-style:italic;line-height:1.08;letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.6)}
.hero h2 a::after{content:"";position:absolute;inset:0;z-index:1}
.hero p{margin:0;color:#e3e8f4;font-size:1.06rem;max-width:760px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero .kicker{color:#d6ddee}
.hero .kicker .chip{color:#d6ddee;border-color:rgba(255,255,255,.35)}
.hero .save{color:#fff}
.hero .foot{margin-top:2px;border:0;padding:0;color:#cfd7ea;font-size:.84rem}
.hero-bar{position:relative;background:var(--red);display:flex;align-items:center;gap:18px;padding:12px 26px;color:#fff;font-weight:600;font-size:.92rem}
.hero-bar .cta-w{position:relative;isolation:isolate;display:inline-block;color:var(--red2);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:1rem;padding:9px 24px 9px 20px}
.hero-bar .cta-w::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;border-radius:10px;transform:skewX(var(--skew));transition:transform .2s}
.hero:hover .cta-w::before{transform:skewX(var(--skew)) scale(1.05)}
.hero-bar .hb{display:inline-flex;align-items:center;gap:8px;opacity:.95}
.hero-bar svg{width:20px;height:20px;flex:none}
.hero-bar .hb-r{margin-left:auto}
.hero .save{position:absolute;top:26px;right:16px;z-index:4;background:rgba(6,10,20,.7);backdrop-filter:blur(6px);border-color:rgba(255,255,255,.3)}
.badge{display:inline-block;align-self:flex-start;background:var(--red);color:#fff;font-size:.7rem;font-weight:900;font-style:italic;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:5px}

/* ---------- zijbalk ---------- */
.side{position:sticky;top:154px;align-self:start;display:flex;flex-direction:column;gap:20px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 18px 14px;box-shadow:var(--shadow);overflow:hidden}
.panel h2{margin:0 -18px 12px;padding:10px 18px;font-size:.92rem;font-weight:900;font-style:italic;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.08em;background:var(--red);color:#fff;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:32px;width:calc(100% - 18px)}
.pulse{width:9px;height:9px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
.rank,.latest{list-style:none;margin:0;padding:0}
.rank li{counter-increment:r;display:grid;grid-template-columns:30px 1fr;gap:6px;padding:10px 0;border-top:1px solid var(--border)}
.rank li::before{content:counter(r);font-size:1.5rem;font-weight:900;font-style:italic;color:var(--red);line-height:1}
.rank a,.latest a{font-weight:700;line-height:1.3;font-size:.93rem}
.rank a:hover,.latest a:hover{color:var(--link)}
.latest li{padding:10px 0 10px 16px;border-left:2px solid var(--border);position:relative;margin-left:4px}
.latest li::before{content:"";position:absolute;left:-6px;top:17px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--surface)}
.latest time,.latest .ls{display:block;font-size:.74rem;color:var(--muted)}
.latest .ls{font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.05em;color:var(--link)}
.tchips{display:flex;flex-wrap:wrap;gap:8px}
.tchip{padding:5px 12px;border-radius:5px;background:var(--surface2);border:1px solid var(--border);font-size:.86rem;font-weight:700}
.tchip:hover{border-color:var(--red);background:var(--red);color:#fff}

.more{display:flex;justify-content:center;margin:30px 0}
#moreBtn{position:relative;isolation:isolate;border:0;background:none;color:#fff;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:.06em;padding:13px 34px}
#moreBtn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);border-radius:10px;transform:skewX(var(--skew));transition:background .15s}
#moreBtn:hover::before{background:var(--red2)}
.empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}

.skel{background:linear-gradient(100deg,var(--surface2) 30%,var(--surface) 50%,var(--surface2) 70%);background-size:300% 100%;animation:sh 1.3s infinite linear;border-radius:4px}
@keyframes sh{to{background-position:-300% 0}}
.skel-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);overflow:hidden}
.skel-card .skel:first-child{aspect-ratio:16/10;border-radius:0}
.skel-card div.s{padding:14px 16px;display:grid;gap:8px}
.skel-card .l{height:12px}.skel-card .l.w{height:18px}

/* ---------- footer (gedeeld, server-side) ---------- */
.site-footer{margin-top:20px;background:var(--bg2);border-top:4px solid var(--red);color:var(--muted);font-size:.9rem;position:relative}
.site-footer::before{content:"";position:absolute;left:0;top:-4px;width:min(260px,40%);height:4px;background:var(--text);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.fgrid{display:grid;grid-template-columns:minmax(260px,1.5fr) 1fr 1fr 1.15fr;gap:40px;padding-top:48px;padding-bottom:36px}
.fbrand .brand{display:inline-flex;margin-bottom:14px}
.ftag{margin:0 0 16px;line-height:1.6;max-width:36ch;color:var(--muted)}
.fstatus{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-size:.82rem;font-weight:600;color:var(--text)}
.fdot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:fpulse 2s infinite;flex:none}
@keyframes fpulse{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.fbtns{display:flex;flex-wrap:wrap;gap:10px}
.fbtn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:8px;background:var(--red);color:#fff;font-weight:800;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;font-style:italic;border:1px solid var(--red);transition:background .15s,border-color .15s,color .15s}
.fbtn:hover{background:var(--red2);border-color:var(--red2)}
.fbtn.ghost{background:transparent;color:var(--text);border-color:var(--border)}
.fbtn.ghost:hover{border-color:var(--red);color:var(--red)}
.fbtn svg,.fcol .ico svg{width:17px;height:17px;flex:none}
.fcol h2{margin:4px 0 16px;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--text);display:flex;align-items:center;gap:10px}
.fcol h2::before{content:"";width:14px;height:4px;background:var(--red);border-radius:2px;transform:skewX(var(--skew))}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fcol ul.fcats{grid-template-columns:1fr 1fr;column-gap:16px}
.site-footer .fcol a{color:var(--muted);text-decoration:none;font-weight:600;line-height:1.35;transition:color .15s}
.site-footer .fcol a:hover{color:var(--link)}
.fcol .ico{display:inline-flex;align-items:center;gap:7px}
.fsources{border-top:1px solid var(--border);padding-top:22px;padding-bottom:24px}
.fnote{margin:0 0 12px;font-size:.82rem;line-height:1.6;max-width:900px}
.srclist{margin:0;font-size:.85rem}
.srclist summary{cursor:pointer;font-weight:800;color:var(--text);display:inline-flex;align-items:center;gap:6px}
.srclist ul{columns:4 190px;list-style:none;padding:14px 0 0;margin:0;column-gap:24px}
.srclist li{padding:2px 0;color:var(--muted);break-inside:avoid}
.srclist a{color:var(--text);text-decoration:none}.srclist a:hover{text-decoration:underline;color:var(--link)}
.foot-bar{background:var(--red);color:#fff}
.foot-bar .wrap{display:flex;align-items:center;gap:12px 24px;padding-top:13px;padding-bottom:13px;flex-wrap:wrap;font-weight:700;font-size:.84rem}
.foot-bar .fb-mid{opacity:.85;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}
.foot-bar .fb-top{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}
.foot-bar .fb-top:hover{text-decoration:underline}
.foot-bar svg{width:16px;height:16px}
@media (max-width:1020px){.fgrid{grid-template-columns:1fr 1fr;gap:34px 28px}.fbrand{grid-column:1/-1}.ftag{max-width:60ch}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr;padding-top:36px}.fcol ul.fcats{grid-template-columns:1fr 1fr 1fr}.foot-bar .fb-top{margin-left:0}.srclist ul{columns:2 140px}}

/* ---------- content-pagina's met zijbalk ---------- */
.page-layout .article-col{max-width:820px;min-width:0}
.page-layout{padding-top:30px;padding-bottom:60px}
.latest li.fresh{animation:fresh .7s ease-out}

/* ---------- artikelpagina (server-rendered) ---------- */
.pill-link{position:relative;isolation:isolate;display:inline-flex;align-items:center;height:38px;padding:0 18px;color:#fff;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}
.pill-link::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);border-radius:8px;transform:skewX(var(--skew));transition:background .15s}
.pill-link:hover::before{background:var(--red2)}
.article-wrap{max-width:820px;padding-top:30px;padding-bottom:60px}
.article h1{font-size:clamp(1.9rem,5vw,3rem);font-style:italic;font-weight:900;line-height:1.08;letter-spacing:-.02em;margin:12px 0 14px;padding:0;border:0;text-transform:none}
.a-kicker{margin:0;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.a-kicker a{color:var(--link)}.a-kicker a:hover{text-decoration:underline}
.wn-badge{color:var(--red2);background:#fff;padding:3px 10px;border-radius:5px;font-size:.7rem;font-style:italic}
.a-lead{font-size:1.22rem;color:#d3dbec;margin:0 0 14px;line-height:1.45;padding-left:16px;border-left:5px solid var(--red)}
:root[data-theme="light"] .a-lead{color:var(--muted)}
:root[data-theme="light"] .a-kicker{color:var(--text)}
.a-meta{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.a-cover{margin:20px 0}.a-cover img{width:100%;border-radius:8px;display:block;border-bottom:5px solid var(--red)}
.a-cover figcaption{font-size:.8rem;color:var(--muted);margin-top:6px}
.prose{font-size:1.1rem;line-height:1.75}
.prose h2,.prose h3{font-weight:900;font-style:italic;letter-spacing:-.01em;margin:1.8em 0 .5em}
.prose a{color:var(--link);text-decoration:underline}
.prose img{max-width:100%;height:auto;border-radius:8px}
.prose blockquote{margin:1.4em 0;padding:.2em 1.2em;border-left:5px solid var(--red);color:var(--muted)}
.prose pre{overflow:auto;background:var(--surface2);padding:14px;border-radius:8px}
.prose table{border-collapse:collapse;width:100%}.prose th,.prose td{border:1px solid var(--border);padding:6px 10px}
.a-tags{margin-top:28px;display:flex;gap:8px;flex-wrap:wrap}
.a-tags a{background:var(--surface2);border:1px solid var(--border);padding:3px 11px;border-radius:5px;font-size:.85rem;font-weight:700}
.a-tags a:hover{background:var(--red);border-color:var(--red);color:#fff}
.a-related{margin-top:44px}

/* ---------- responsive ---------- */
@media (max-width:1020px){.layout{grid-template-columns:1fr}.side{position:static}}
@media (max-width:720px){
  .wrap{padding-left:14px;padding-right:14px}
  .bar{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:8px;gap:10px}
  .site-header{position:relative}
  .brand{order:1;font-size:1.15rem;gap:7px}.brand-mark{width:32px;height:28px}.actions{order:2;margin-left:auto;gap:6px}.icon-btn{width:38px;height:38px}.live{padding:5px 9px 5px 8px;font-size:.7rem}.search{order:3;flex-basis:100%;max-width:none;margin-left:0}
  .hero{min-height:520px}.hero-inner{min-height:518px}
  .ribbons{padding-left:14px}.hero .body{margin:14px 14px 0;padding-left:14px}
  .hero-bar{padding:10px 14px;gap:12px}.hero-bar .hb-r{display:none}
  .hero .save{top:20px}
  .filters{margin-left:0;width:100%}
  .grid{grid-template-columns:1fr}
}

/* ---------- licht thema: fijnslijpen (standaard) ---------- */
:root[data-theme="light"] body{background:radial-gradient(1200px 420px at 12% -10%,rgba(214,40,57,.07),transparent 60%),#fff}
:root[data-theme="light"] .card h3 a:hover{color:var(--red2)}
:root[data-theme="light"] .card{box-shadow:0 1px 2px rgba(14,20,36,.05),0 4px 14px rgba(14,20,36,.05)}
:root[data-theme="light"] .card:hover{box-shadow:0 14px 34px rgba(214,40,57,.16)}
:root[data-theme="light"] .kicker .src.own::before,:root[data-theme="light"] .wn-badge{background:var(--red)}
:root[data-theme="light"] .kicker .src.own,:root[data-theme="light"] .wn-badge{color:#fff}
:root[data-theme="light"] .wn-badge{background:var(--red)}
:root[data-theme="light"] .card:hover .cta::before{background:var(--red2)}
:root[data-theme="light"] .card:hover .cta{color:#fff}
:root[data-theme="light"] .count{background:var(--red2);color:#fff;box-shadow:0 0 0 2px #fff}
:root[data-theme="light"] .live.off{background:var(--surface2);color:var(--muted)}
:root[data-theme="light"] .breaking{border-bottom-color:rgba(0,0,0,.15)}
:root[data-theme="light"] .hero{border-color:rgba(14,20,36,.15);box-shadow:0 12px 36px rgba(14,20,36,.18)}
:root[data-theme="light"] .hero .save{color:#fff}
:root[data-theme="light"] .hero .kicker .src.own::before{background:#fff}
:root[data-theme="light"] .hero .kicker .src.own{color:var(--red2)}
:root[data-theme="light"] .tchip{background:#fff}
:root[data-theme="light"] .tchip:hover{background:var(--red);color:#fff}
:root[data-theme="light"] .save{background:#fff}
:root[data-theme="light"] .save[aria-pressed="true"]{background:var(--red);color:#fff}
:root[data-theme="light"] .hero .save{background:rgba(6,10,20,.7)}
:root[data-theme="light"] .search input:focus{box-shadow:0 0 0 3px rgba(214,40,57,.22)}
:root[data-theme="light"] .prose pre{background:var(--surface2);border:1px solid var(--border)}
:root[data-theme="light"] .banner.err{background:rgba(214,40,57,.08)}

/* ---------- legal pages + footer links ---------- */
.legal .prose ul,.legal .prose ol{padding-left:1.3em}
.legal .prose li{margin:.25em 0}
.legal .prose code{font-size:.9em;background:var(--surface2);padding:1px 5px;border-radius:4px}
.legal .tbl{overflow-x:auto}
.legal .prose table{font-size:.95rem}
.legal .prose th{text-align:left;background:var(--surface2)}
.legal-updated{margin-top:2em}
mark.ph{background:#ffe08a;color:#3a2a00;padding:0 4px;border-radius:3px;font-weight:700}
