/* Omroep Oirschot: een gids met register en zoekbalk. Licht, rechte hoeken, veel witruimte. */
:root{
  --ink:#10284a; --ink2:#2b4468; --mute:#5c7191; --blue:#2358b0; --blue2:#2f6fd0; --sky:#8fb4e8;
  --wash:#f3f7fc; --wash2:#e8eff9; --line:#d5e0ef; --line2:#b7c9e3; --paper:#fff;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --rail:280px; --gut:clamp(20px,4vw,64px);
}
*{box-sizing:border-box;border-radius:0!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--blue2);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:0}
h1,h2,h3{font-family:var(--serif);color:var(--ink);margin:0;font-weight:700;letter-spacing:-.01em}

/* shell: linker register, rechts de inhoud */
.shell{display:block}
.rail{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.rail-top{display:flex;align-items:center;justify-content:space-between;padding:12px var(--gut);gap:16px}
.rail-foot{display:none}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:40px;height:40px}
.brand-t{display:flex;flex-direction:column;line-height:1.1}
.brand-t b{font:700 20px/1.1 var(--serif);letter-spacing:-.01em}
.brand-t i{font:500 10.5px/1.4 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-style:normal;margin-top:3px}
.d-only{display:none}
.menu summary{list-style:none;cursor:pointer;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:11px 14px;background:#fff}
.menu summary::-webkit-details-marker{display:none}
.menu summary span:after{content:' +'}
.menu[open] summary{background:var(--ink);color:#fff}
.menu[open] summary span:after{content:' \2212'}
.reg-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--ink);padding:8px var(--gut) 22px;box-shadow:0 18px 30px rgba(16,40,74,.08)}
.rail-label{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:14px 0 10px}
.reg-nav ol{list-style:none;margin:0;padding:0}
.reg-nav li a{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:500}
.reg-nav .rn{font:400 12px var(--mono);color:var(--blue)}
.reg-nav .rc{font:400 12px var(--mono);color:var(--mute)}
.reg-nav li.on a,.reg-nav li a:hover{color:var(--blue)}
.reg-nav li.on a{box-shadow:inset 3px 0 0 var(--blue);padding-left:10px}
.rail-links{display:flex;gap:20px;margin:16px 0 0;font-size:15px}

.main{min-width:0}
main{padding:0 var(--gut) 40px}
.block{padding:48px 0 0}
.block-h{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.block-h h2{font-size:24px;white-space:nowrap}
.rule{flex:1;height:1px;background:var(--line2)}
.block-sub{margin:-8px 0 26px;color:var(--mute)}

/* zoekbalk motief */
.searchbar{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--ink);padding:0 0 0 16px;height:60px;margin:30px 0 18px;max-width:640px;box-shadow:6px 6px 0 var(--wash2)}
.sb-ico{width:24px;height:24px;color:var(--blue);flex:none}
.sb-text{font:400 clamp(16px,2.2vw,20px)/1 var(--mono);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sb-caret{width:2px;height:24px;background:var(--blue2);animation:blink 1.1s steps(1) infinite;flex:none;margin-left:-8px}
.sb-btn{margin-left:auto;align-self:stretch;display:flex;align-items:center;padding:0 22px;background:var(--ink);color:#fff;font:500 13px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.sb-caret{animation:none}}

.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:block;padding:8px 13px;border:1px solid var(--line2);font-size:14.5px;font-weight:500;text-decoration:none;color:var(--ink2);background:#fff}
.chips a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* hero */
.hero{display:grid;gap:34px;padding:44px 0 8px}
.kicker{font:500 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin:0 0 18px}
.hero h1{font-size:clamp(34px,6.4vw,64px);line-height:1.04;letter-spacing:-.02em;max-width:15em}
.lede{font-size:clamp(17px,2vw,20px);color:var(--ink2);max-width:36em;margin:20px 0 0;line-height:1.55}
.hero-art,.fimg,.chap-img,.chead-art{position:relative;overflow:hidden;background:var(--wash) url(/assets/hero-art.svg) center/cover no-repeat}
.hero-art{aspect-ratio:3/2;border:1px solid var(--line2)}
.hero-art img,.fimg img,.chap-img img,.chead-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* kaarten: uitgelicht */
.feat{display:grid;gap:26px}
.fcard{display:flex;flex-direction:column;gap:14px;border-top:3px solid var(--ink);padding-top:14px}
.fimg{display:block;aspect-ratio:3/2}
.tag{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 8px}
.tag a{color:inherit;text-decoration:none}
.fcard h3{font-size:22px;line-height:1.2;margin-bottom:10px}
.fcard.big h3{font-size:clamp(26px,3.2vw,34px)}
.fcard h3 a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--blue2),var(--blue2)) 0 100%/0 2px no-repeat;transition:background-size .25s}
.fcard h3 a:hover{background-size:100% 2px}
.fx{margin:0 0 10px;color:var(--ink2);font-size:15.5px}
.meta{font:400 12.5px/1.5 var(--mono);color:var(--mute);margin:0;display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}
.meta i{width:4px;height:4px;background:var(--line2);display:inline-block}

/* hoofdstukken */
.chapters{display:grid;gap:0}
.chap{display:grid;gap:18px;padding:30px 0;border-top:1px solid var(--line2)}
.chap-img{aspect-ratio:3/2}
.chap-n{font:500 13px/1 var(--mono);color:var(--blue);margin:0 0 10px;letter-spacing:.1em}
.chap h3{font-size:clamp(26px,3vw,34px);line-height:1.1}
.chap h3 a{color:var(--ink);text-decoration:none}
.chap h3 a:hover{color:var(--blue)}
.chap-d{margin:12px 0 16px;color:var(--ink2);max-width:34em}
.leaders{list-style:none;margin:0;padding:0}
.leaders a{display:flex;align-items:baseline;gap:8px;padding:9px 0;text-decoration:none;color:var(--ink);font-size:16px;line-height:1.35}
.leaders .lt{flex:0 1 auto;min-width:0}
.leaders .ld{flex:1 1 24px;min-width:24px;border-bottom:2px dotted var(--line2);transform:translateY(-4px)}
.leaders .lp{flex:none;font:400 12.5px var(--mono);color:var(--mute);white-space:nowrap}
.leaders a:hover .lt{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.more{margin:12px 0 0;font-weight:600;font-size:15px}
.more a{text-decoration:none}
.more a:after{content:' \2192'}

.steps-l{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps-l li{padding:22px 0;border-top:1px solid var(--line2)}
.sn{display:inline-block;font:500 13px var(--mono);color:#fff;background:var(--ink);padding:3px 9px;margin-bottom:12px}
.steps-l h3{font-size:22px;margin-bottom:6px}
.steps-l p{margin:0;color:var(--ink2);max-width:28em}
.az-l{columns:1;column-gap:48px}
.az-l li{break-inside:avoid}

/* categoriekop */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:22px 0 0;font:400 13px var(--mono);color:var(--mute)}
.crumbs a{color:var(--mute);text-decoration:none}
.crumbs a:hover{color:var(--blue);text-decoration:underline}
.crumbs i{font-style:normal;color:var(--line2)}
.chead{display:grid;gap:28px;padding:30px 0 6px}
.chead.plain{padding-bottom:0}
.chap-big{font:500 clamp(54px,10vw,112px)/.9 var(--serif);color:var(--wash2);-webkit-text-stroke:1.5px var(--sky);margin:0 0 4px;letter-spacing:-.03em}
.chead h1{font-size:clamp(32px,5.4vw,56px);line-height:1.06;letter-spacing:-.02em}
.count{font:400 13px var(--mono);color:var(--mute);margin:0}
.chead-art{aspect-ratio:3/2;border:1px solid var(--line2)}

/* register-rijen */
.reg{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.reg li{border-bottom:1px solid var(--line)}
.reg-row{display:grid;grid-template-columns:38px 1fr;gap:4px 14px;padding:20px 0;text-decoration:none;color:var(--ink)}
.reg-n{font:500 13px/1.9 var(--mono);color:var(--blue)}
.reg-b strong{display:block;font:700 clamp(19px,2.4vw,24px)/1.22 var(--serif);letter-spacing:-.01em;margin-bottom:6px}
.reg-b em{display:block;font-style:normal;color:var(--ink2);font-size:15.5px;line-height:1.55;max-width:46em}
.reg-m{grid-column:2;font:400 12px/1.6 var(--mono);color:var(--mute);margin-top:6px}
.reg-row:hover{background:var(--wash);box-shadow:-14px 0 0 var(--wash),14px 0 0 var(--wash)}
.reg-row:hover strong{color:var(--blue)}
.empty{padding:24px 0;color:var(--mute)}

/* artikel */
.art-h{padding:30px 0 10px;max-width:880px}
.art-h h1{font-size:clamp(30px,5vw,50px);line-height:1.08;letter-spacing:-.022em;margin:2px 0 18px}
.art-grid{display:grid;gap:34px;margin-top:18px}
.tldr{border:1px solid var(--line2);border-left:5px solid var(--blue);background:var(--wash);padding:20px 22px 18px;margin:0 0 34px}
.tldr p{margin:0}
.tldr-l{font:500 11.5px/1 var(--mono)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 10px!important}
.tldr p:last-child{font-size:18px;line-height:1.55;color:var(--ink)}
.prose{font-size:18px;line-height:1.75;color:#1b3153;max-width:42em}
.prose.narrow{max-width:38em}
.prose p{margin:0 0 1.2em}
.prose h2{font-size:clamp(25px,3vw,32px);line-height:1.15;margin:2.1em 0 .6em;padding-top:.7em;border-top:1px solid var(--line2)}
.prose h3{font-size:22px;line-height:1.25;margin:1.7em 0 .5em;color:var(--ink)}
.prose ul,.prose ol{padding-left:0;margin:0 0 1.4em;list-style:none}
.prose ul li{position:relative;padding:0 0 .55em 26px}
.prose ul li:before{content:'';position:absolute;left:2px;top:.72em;width:9px;height:9px;background:var(--blue2)}
.prose ol{counter-reset:li}
.prose ol li{counter-increment:li;position:relative;padding:0 0 .7em 40px}
.prose ol li:before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:.2em;font:500 13px var(--mono);color:var(--blue)}
.prose blockquote{margin:1.8em 0;padding:6px 0 6px 24px;border-left:4px solid var(--sky);font:italic 400 21px/1.5 var(--serif);color:var(--ink)}
.prose blockquote p{margin:0}
.prose a{font-weight:500}
.prose strong{color:var(--ink);font-weight:600}
.prose table{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:15.5px;line-height:1.45;display:block;overflow-x:auto}
.prose thead th{background:var(--ink);color:#fff;text-align:left;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:12px 14px;white-space:nowrap}
.prose td,.prose th{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.prose tbody tr:nth-child(even){background:var(--wash)}
.prose tbody th{font-weight:600;color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line2);margin:2.4em 0}
.faq{margin-top:3em;border-top:2px solid var(--ink);padding-top:10px;max-width:42em}
.faq h2{font-size:28px;margin:16px 0 8px}
.faq dl{margin:0}
.faq dl>div{padding:18px 0;border-bottom:1px solid var(--line)}
.faq dt{font:700 19px/1.3 var(--serif);color:var(--ink);margin-bottom:8px;padding-left:34px;position:relative}
.faq dt:before{content:'V';position:absolute;left:0;top:1px;font:500 12px/1 var(--mono);color:#fff;background:var(--blue);padding:4px 7px}
.faq dd{margin:0;padding-left:34px;color:var(--ink2);font-size:16.5px;line-height:1.65}
.sidebox{border-top:3px solid var(--ink);padding-top:4px}
.side-l{list-style:none;margin:0;padding:0}
.side-l li{border-bottom:1px solid var(--line)}
.side-l a{display:block;padding:11px 0 11px 0;font-size:14.5px;line-height:1.4;color:var(--ink2);text-decoration:none}
.side-l a:hover{color:var(--blue)}
.side-l li.on a{color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--blue);padding-left:12px}
.related{margin-top:56px}

/* footer */
.foot{border-top:1px solid var(--line2);margin-top:40px;background:var(--wash);padding:36px var(--gut) 44px}
.foot-grid{display:grid;gap:26px;max-width:1100px}
.foot b{font:700 20px var(--serif)}
.foot p{margin:6px 0 0;color:var(--ink2);font-size:15px;max-width:26em}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:3px 0;font-size:15px}
.foot a{color:var(--ink2);text-decoration:none}
.foot a:hover{color:var(--blue);text-decoration:underline}
.foot .rail-label{margin-top:0}
.upd{font:400 12.5px var(--mono)!important;color:var(--mute)!important}

/* tablet en groter */
@media (min-width:700px){
  .feat{grid-template-columns:1fr 1fr}
  .fcard.big{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;gap:30px}
  .steps-l{grid-template-columns:repeat(3,1fr);gap:34px}
  .steps-l li{border-top:3px solid var(--ink)}
  .az-l{columns:2}
  .foot-grid{grid-template-columns:1.4fr 1fr 1fr}
  .reg-row{grid-template-columns:48px 1fr 150px;align-items:start}
  .reg-m{grid-column:3;margin:3px 0 0;text-align:right}
}
/* desktop: vast register links */
@media (min-width:1100px){
  .shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}
  .rail{position:sticky;top:0;height:100vh;border-bottom:0;border-right:1px solid var(--line2);display:flex;flex-direction:column;justify-content:space-between;background:var(--wash);overflow:auto}
  .rail-top{display:block;padding:30px 28px 0}
  .m-only{display:none}
  .d-only{display:block;margin-top:34px}
  .reg-nav{position:static;box-shadow:none;border:0;padding:0;background:transparent}
  .reg-nav li a{padding:12px 0}
  .rail-foot{display:block;padding:22px 28px 28px;margin:0;font-size:13px;line-height:1.5;color:var(--mute);border-top:1px solid var(--line2)}
  main{padding:0 clamp(40px,5vw,96px) 40px}
  .foot{padding:44px clamp(40px,5vw,96px) 50px}
  .hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding:72px 0 12px}
  .hero-art{aspect-ratio:4/3;justify-self:end;width:100%}
  .block{padding-top:84px}
  .feat{grid-template-columns:1fr 1fr}
  .chap{grid-template-columns:300px minmax(0,1fr);gap:44px;padding:44px 0}
  .chap-img{aspect-ratio:4/3;align-self:start}
  .chead{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:end;padding-top:44px}
  .chead.plain{grid-template-columns:1fr}
  .art-grid{grid-template-columns:minmax(0,1fr) 270px;gap:64px;align-items:start}
  .art-side{position:sticky;top:30px}
  .art-h{padding-top:44px}
  .az-l{columns:2}
}
@media (min-width:1500px){ :root{--rail:300px} .hero h1{font-size:68px} }
/* mobiel: menu als overlay, compacte zoekbalk */
@media (max-width:520px){
  body{font-size:16.5px}
  .searchbar{height:54px;box-shadow:4px 4px 0 var(--wash2)}
  .sb-btn{padding:0 14px}
  .block-h h2{font-size:21px;white-space:normal}
  .prose{font-size:17px}
  .brand-t b{font-size:18px}
  .brand img{width:34px;height:34px}
}
@media print{.rail,.foot{display:none}}
/* voorkom horizontale overloop op smalle schermen */
.hero,.feat,.chapters,.chap,.chead,.art-grid,.steps-l,.foot-grid{grid-template-columns:minmax(0,1fr)}
.fcard,.chap-b,.hero-copy,.chead-copy,.art-main,.reg-b{min-width:0}
h1,h2,h3,.reg-b strong{overflow-wrap:anywhere;hyphens:auto}
html,body{overflow-x:hidden}
@media (min-width:700px){.feat{grid-template-columns:1fr 1fr}.fcard.big{grid-template-columns:1.25fr 1fr}.steps-l{grid-template-columns:repeat(3,1fr)}.foot-grid{grid-template-columns:1.4fr 1fr 1fr}.reg-row{grid-template-columns:48px minmax(0,1fr) 150px}}
@media (min-width:1100px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.chap{grid-template-columns:300px minmax(0,1fr)}.chead{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.chead.plain{grid-template-columns:minmax(0,1fr)}.art-grid{grid-template-columns:minmax(0,1fr) 270px}}
h1,.reg-b strong{hyphens:manual;overflow-wrap:break-word}
