:root{--navy:#08284b;--navy-2:#041a32;--blue:#0d4f87;--gold:#f2bf33;--gold-2:#ffd966;--white:#fff;--soft:#f3f6f9;--ink:#152334;--muted:#647386;--line:#dbe3ea;--green:#18a85b;--shadow:0 18px 50px rgba(6,35,66,.12);--radius:18px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 32px),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:var(--navy-2);color:#dbe8f4;font-size:.84rem}.topbar__inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a:hover{text-decoration:underline}.brandbar{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{display:block;width:min(360px,46vw);max-height:86px;object-fit:contain;object-position:left center}.brandbar__actions{display:flex;align-items:center;gap:12px}.main-nav{background:var(--navy);color:#fff;border-bottom:4px solid var(--gold)}.main-nav ul{display:flex;align-items:center;gap:0;list-style:none;padding:0;margin:0}.main-nav a{display:block;padding:17px 16px;font-weight:700;font-size:.94rem}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.1);color:var(--gold-2)}.menu-toggle{display:none;border:0;background:var(--navy);width:46px;height:46px;border-radius:10px;padding:11px;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 19px;border-radius:999px;font-weight:800;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.14)}.button--ghost{border-color:var(--line);background:#fff;color:var(--navy)}.button--live{background:var(--gold);color:var(--navy-2)}.button--light{background:#fff;color:var(--navy)}.button--large{min-height:54px;padding:14px 25px}.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(24,168,91,.17)}
.hero{background:linear-gradient(125deg,var(--navy-2),var(--navy) 63%,#0e5a93);color:#fff;padding:76px 0;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-140px;top:-180px;width:520px;height:520px;border:85px solid rgba(255,255,255,.035);border-radius:50%}.hero__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:56px;align-items:center;position:relative;z-index:1}.hero h1{font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.02;letter-spacing:-.045em;max-width:850px;margin:16px 0 22px}.hero p{font-size:clamp(1.05rem,2vw,1.28rem);max-width:720px;color:#d8e5f1}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.13em;font-size:.77rem;font-weight:900;color:#ca8c00}.hero .eyebrow{color:var(--gold-2)}.onair-card{background:rgba(255,255,255,.96);color:var(--ink);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}.onair-card__label{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:900}.onair-card h2{font-size:1.75rem;line-height:1.15;margin:10px 0}.onair-card p{font-size:1rem;color:var(--muted)}.onair-card a,.text-link,.feature-card a,.section-heading>a{font-weight:800;color:var(--blue)}
.section{padding:74px 0}.section--soft{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2,.section h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;letter-spacing:-.03em;margin:8px 0}.feature-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px}.feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-height:280px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 30px rgba(8,40,75,.05)}.feature-card--primary{background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;border:0}.feature-card h3{font-size:1.55rem;line-height:1.18;margin:18px 0 12px}.feature-card p{color:var(--muted);flex:1}.feature-card--primary p{color:#dce9f3}.feature-card--primary a{color:var(--gold-2)}.tag{display:inline-block;background:#f7e5a9;color:#6e5100;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.two-column{display:grid;grid-template-columns:1.4fr .7fr;gap:52px;align-items:center}.schedule-list{display:grid;gap:12px;margin:26px 0}.schedule-list article{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 20px}.schedule-list time{font-size:1.2rem;font-weight:900;color:var(--blue)}.schedule-list article.schedule-list__current{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 24px rgba(196,31,47,.22)}.schedule-list article.schedule-list__current time,.schedule-list article.schedule-list__current span{color:#fff}.schedule-list strong,.schedule-list span{display:block}.schedule-list span{color:var(--muted);font-size:.93rem}.ad-slot{min-height:260px;border:2px dashed #b9c7d3;border-radius:var(--radius);background:#fff;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.ad-slot>span{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}.ad-slot>div{font-weight:900;color:var(--ink);font-size:1.2rem;margin-top:13px}.cta-panel{background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;border-radius:26px;padding:42px 46px;display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-panel p{color:#dce8f3;max-width:760px;margin-bottom:0}.cta-panel h2{margin-top:8px}
.site-footer{background:var(--navy-2);color:#dce8f3;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:54px;padding:58px 0}.site-footer h2{font-size:1.2rem;color:#fff;margin-top:0}.footer-links{list-style:none;margin:0;padding:0}.footer-links li+li{margin-top:8px}.footer-links a:hover{text-decoration:underline;color:var(--gold-2)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.88rem;color:#a9bed0}
@media(max-width:860px){.topbar{display:none}.brandbar{min-height:88px}.brandbar__actions{display:none}.menu-toggle{display:block}.main-nav{display:none}.main-nav.is-open{display:block}.main-nav ul{display:block;padding:8px 0}.main-nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.1)}body.menu-open{overflow:hidden}.hero{padding:52px 0}.hero__grid,.two-column{grid-template-columns:1fr;gap:30px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:unset}.footer-grid{grid-template-columns:1fr;gap:28px}.cta-panel{display:block;padding:32px}.cta-panel .button{margin-top:22px}}
@media(max-width:560px){.container{width:min(calc(100% - 22px),var(--container))}.brand img{width:230px;max-height:66px}.hero h1{font-size:2.55rem}.hero__actions{display:grid}.hero__actions .button{width:100%}.section{padding:52px 0}.section-heading{align-items:flex-start;display:block}.section-heading>a{display:inline-block;margin-top:10px}.schedule-list article{grid-template-columns:62px 1fr;padding:15px}.cta-panel{border-radius:18px}.footer-bottom{display:block}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Fase 2: databasegestuurde inhoud */
.page-hero{padding:56px 0;background:linear-gradient(135deg,#092a50,#114b7a);color:#fff}.page-hero h1{margin:.35rem 0 .6rem;font-size:clamp(2.1rem,5vw,4rem)}.page-hero p{max-width:720px;font-size:1.1rem;margin:0}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(9,42,80,.10);display:flex;flex-direction:column}.news-card--featured{grid-column:span 2}.news-card__image{display:block;aspect-ratio:16/9;background:#eaf0f6;overflow:hidden}.news-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.news-card:hover .news-card__image img{transform:scale(1.025)}.news-card__body{padding:20px}.news-card__body time{font-size:.82rem;color:#65768a}.news-card__body h2,.news-card__body h3{margin:.4rem 0 .65rem;line-height:1.2}.news-card__body h2{font-size:1.35rem}.news-card__body a{color:#092a50;text-decoration:none}.news-card__body p{margin:0;color:#566678}.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.person-card{background:#fff;border:1px solid #dfe7ef;border-radius:18px;overflow:hidden}.person-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.person-card div{padding:18px}.person-card h3{margin:0 0 .35rem}.person-card p{margin:0;color:#65768a}.empty-state{padding:28px;border-radius:14px;background:#f3f6f9;color:#4e6175}.article-header{padding:52px 0 28px;background:#f4f7fa}.article-container{max-width:860px}.article-header h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.08;margin:.4rem 0 1rem}.article-header time{color:#65768a}.article-image{width:100%;max-height:560px;object-fit:cover;border-radius:20px;margin:32px 0}.article-content{font-size:1.08rem;line-height:1.75}.article-content img{max-width:100%;height:auto}.article-content h2,.article-content h3{margin-top:1.8em}.ad-slot--article{margin:36px 0}.program-days{display:grid;gap:32px}.program-day{scroll-margin-top:20px}.program-day>h2{padding-bottom:10px;border-bottom:3px solid #e6b800}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program-card{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:18px;background:#fff;border:1px solid #dfe7ef;border-radius:14px}.program-card__time{font-weight:800;color:#0b4776}.program-card h3{margin:0}.program-card p{margin:.35rem 0 0;color:#65768a}.muted{color:#65768a}
@media (max-width:900px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card--featured{grid-column:span 2}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.news-grid,.people-grid,.program-grid{grid-template-columns:1fr}.news-card--featured{grid-column:auto}.program-card{grid-template-columns:88px 1fr}.page-hero{padding:40px 0}.article-image{border-radius:12px;margin:22px 0}}

/* Fase 3: nieuws, delen en paginering */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0 0 1.25rem;font-size:.9rem;color:rgba(255,255,255,.78)}
.breadcrumbs a{color:#fff;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.article-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;color:rgba(255,255,255,.8);font-size:.95rem}
.share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:1.4rem 0;padding:1rem 1.1rem;border:1px solid #dce4ee;border-radius:14px;background:#f7f9fc}
.share-bar strong{margin-right:.25rem;color:#092a50}
.share-bar a{display:inline-flex;align-items:center;min-height:38px;padding:.45rem .8rem;border-radius:999px;background:#fff;border:1px solid #ccd7e4;color:#092a50;font-weight:700;text-decoration:none}
.share-bar a:hover{border-color:#e2aa00;background:#fff9e6}
.related-news{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid #dce4ee}
.news-grid--related{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-grid--related .news-card__body h3{font-size:1.05rem;line-height:1.35;margin:.35rem 0 0}
.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2.5rem 0 0;flex-wrap:wrap}
.pagination__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:10px;background:#092a50;color:#fff;text-decoration:none;font-weight:800}
.pagination__link:hover{background:#0d3d72}
.pagination__status{font-weight:700;color:#536273}
.article-content img{max-width:100%;height:auto}
.article-content iframe{max-width:100%}
@media (max-width:800px){
  .news-grid--related{grid-template-columns:1fr}
  .share-bar{align-items:stretch}
  .share-bar strong{width:100%}
  .share-bar a{flex:1;justify-content:center}
}


/* Fase 3.1: meer rood uit het logo en nieuwsarchief */
:root{--red:#c6202e;--red-dark:#9e1521;--red-soft:#fff0f2}
.topbar{background:var(--red-dark)}
.button--live{background:var(--red);border-color:var(--red);box-shadow:0 9px 24px rgba(198,32,46,.24)}
.button--live:hover{background:var(--red-dark);border-color:var(--red-dark)}
.main-nav a.active,.main-nav a:hover{background:var(--red);color:#fff}
.eyebrow{color:var(--red)}
.live-dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}
.program-day>h2{border-bottom-color:var(--red)}
.news-card__body a:hover,.section-heading>a:hover,.text-link:hover{color:var(--red)}
.cta-panel{background:linear-gradient(135deg,var(--navy),#0b4776 65%,var(--red-dark))}
.page-hero{background:linear-gradient(135deg,var(--navy-2),var(--navy) 65%,var(--red-dark))}
.pagination__link{background:var(--red)}
.pagination__link:hover{background:var(--red-dark)}

.news-archive-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,210px) minmax(170px,230px) auto auto;gap:16px;align-items:end;margin:0 0 30px;padding:22px;border:1px solid var(--line);border-left:5px solid var(--red);border-radius:16px;background:var(--soft)}
.news-archive-filter__intro{display:flex;flex-direction:column;align-self:center;line-height:1.35}
.news-archive-filter__intro strong{font-size:1.08rem;color:var(--navy)}
.news-archive-filter__intro span{font-size:.9rem;color:var(--muted)}
.news-archive-filter label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--navy)}
.news-archive-filter select{width:100%;min-height:46px;padding:0 40px 0 12px;border:1px solid #bdc9d5;border-radius:10px;background:#fff;color:var(--ink)}
.news-archive-filter select:focus{outline:3px solid rgba(198,32,46,.18);border-color:var(--red)}
.button--archive{min-height:46px;background:var(--red);border-color:var(--red);color:#fff;white-space:nowrap}
.button--archive:hover{background:var(--red-dark);border-color:var(--red-dark)}
.news-archive-filter__reset{align-self:center;color:var(--red);font-weight:700;white-space:nowrap}
.archive-result-heading{margin:-10px 0 24px;padding:12px 16px;border-radius:10px;background:var(--red-soft);color:#6e2027}
@media(max-width:980px){.news-archive-filter{grid-template-columns:1fr 1fr}.news-archive-filter__intro{grid-column:1/-1}.news-archive-filter__reset{justify-self:start}}
@media(max-width:620px){.news-archive-filter{grid-template-columns:1fr}.news-archive-filter__intro{grid-column:auto}.button--archive{width:100%}}

/* Stap 4: logische programmaverdeling en live-markering */
.program-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.program-column{display:grid;grid-auto-rows:1fr;gap:14px;min-width:0}
.program-card{height:100%;min-height:112px;align-items:start}
.program-card__content{min-width:0}
.program-card--live{border-color:var(--red);box-shadow:0 10px 28px rgba(198,32,46,.14);background:linear-gradient(135deg,#fff,var(--red-soft))}
.program-live-badge{display:inline-flex;align-items:center;gap:7px;margin:0 0 7px;padding:4px 9px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.program-live-badge span{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.program-day>h2{display:flex;align-items:center;gap:12px}
.program-day__today{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:var(--red-soft);color:var(--red-dark);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:620px){.program-columns{grid-template-columns:1fr}.program-column{display:contents}.program-card{min-height:0}}

/* Contrastcorrectie advertentieblok */
.cta-panel .eyebrow{color:#fff}


/* Fase 5: radio-identiteit, vaste muziekrubrieken en nieuwe publieks­pagina's */
.radio-features{background:#fff}
.radio-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.radio-feature-card{display:grid;grid-template-columns:minmax(180px,42%) 1fr;min-height:280px;border-radius:22px;overflow:hidden;color:#fff;box-shadow:0 16px 38px rgba(9,42,80,.16)}
.radio-feature-card--flitsschijf{background:linear-gradient(135deg,var(--red-dark),var(--red))}
.radio-feature-card--flitsende50{background:linear-gradient(135deg,var(--navy-2),#12649b)}
.radio-feature-card__image{display:block;min-height:100%;overflow:hidden;background:rgba(255,255,255,.1)}
.radio-feature-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.radio-feature-card:hover .radio-feature-card__image img{transform:scale(1.03)}
.radio-feature-card__body{padding:28px;align-self:center}
.radio-feature-card__label{display:inline-flex;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.radio-feature-card h3{margin:0 0 .75rem;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.18}
.radio-feature-card h3 a,.radio-feature-card .text-link{color:#fff}
.radio-feature-card p{margin:0 0 1rem;color:rgba(255,255,255,.87)}
.radio-feature-card .text-link:hover{color:#fff;text-decoration:underline}
.footer-grid--expanded{grid-template-columns:1.2fr repeat(3,1fr)}
.footer-brand p{max-width:310px}
.footer-studio{font-weight:800;color:#fff}
.footer-bottom a{color:#a9bed0;text-decoration:none}
.footer-bottom a:hover{color:#fff;text-decoration:underline}
.people-grid--all{grid-template-columns:repeat(4,minmax(0,1fr))}
.people-grid--all .person-card h2{font-size:1.2rem;margin:0 0 .45rem}
.listen-hero__grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px}
.listen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.listen-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(9,42,80,.08)}
.listen-card--primary{border-top:5px solid var(--red)}
.listen-card__icon{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:42px;padding:0 10px;margin-bottom:17px;border-radius:10px;background:var(--red-soft);color:var(--red-dark);font-size:.82rem;font-weight:900}
.listen-card h2{margin:.1rem 0 .65rem}
.listen-card p{color:var(--muted)}
.listen-cta{margin:0}
@media(max-width:980px){.radio-feature-grid{grid-template-columns:1fr}.footer-grid--expanded{grid-template-columns:repeat(2,1fr)}.people-grid--all{grid-template-columns:repeat(3,minmax(0,1fr))}.listen-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.radio-feature-card{grid-template-columns:1fr}.radio-feature-card__image{aspect-ratio:16/9}.listen-hero__grid{grid-template-columns:1fr}.listen-hero__grid .button{justify-self:start}.listen-grid{grid-template-columns:1fr}.people-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.footer-grid--expanded,.people-grid--all{grid-template-columns:1fr}.radio-feature-card__body{padding:22px}}


/* Now playing */
.nowplaying{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;margin:16px 0 20px}.nowplaying__cover{width:96px;height:96px;object-fit:cover;border-radius:14px;background:#eef3f7;box-shadow:0 8px 22px rgba(9,42,80,.16)}.nowplaying__artist{display:block;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}.nowplaying h2{margin:0;font-size:1.55rem}.onair-card__program{border-top:1px solid #dfe7ef;border-bottom:1px solid #dfe7ef;padding:14px 0;display:grid;gap:3px}.onair-card__program>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.onair-card__program strong{color:var(--navy)}.onair-card__program small{color:var(--muted)}.onair-card__links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px}.onair-card__links a:first-child{color:var(--red)}
@media(max-width:420px){.nowplaying{grid-template-columns:78px minmax(0,1fr)}.nowplaying__cover{width:78px;height:78px}.nowplaying h2{font-size:1.3rem}}


/* Now-playing en vaste muziekrubrieken: volledige afbeeldingen en betere leesbaarheid */
.nowplaying{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center;margin-top:18px}
.nowplaying__cover{width:110px;height:110px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;display:block}
.nowplaying__artist{display:block;color:var(--red);font-weight:900;margin-bottom:4px}
.nowplaying__text h2{overflow-wrap:anywhere}
.radio-feature-card__image--contain{display:flex;align-items:center;justify-content:center;background:#fff;padding:12px}
.radio-feature-card__image--contain img{object-fit:contain;object-position:center;max-width:100%;max-height:100%}
.radio-feature-card__body h3,.radio-feature-card__body p{overflow-wrap:anywhere}
@media(max-width:700px){.nowplaying{grid-template-columns:84px minmax(0,1fr);gap:14px}.nowplaying__cover{width:84px;height:84px}.radio-feature-card__image--contain{aspect-ratio:auto;min-height:220px}}


/* HTML5 liveplayer */
.radio-player{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:44px;align-items:center;max-width:980px;margin:0 auto;padding:34px;border-radius:26px;background:#fff;box-shadow:0 22px 60px rgba(9,42,80,.16);border:1px solid var(--line)}
.radio-player__visual{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#f5f7fa;border-radius:20px;overflow:hidden}
.radio-player__cover{width:100%;height:100%;object-fit:contain;padding:12px;background:#fff}
.radio-player__live{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--red);color:#fff;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 8px 18px rgba(198,32,46,.3)}
.radio-player__live span{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}
.radio-player__label{display:block;margin-bottom:8px;color:var(--red);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.radio-player__content h2{margin:0 0 6px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.12;color:var(--navy);overflow-wrap:anywhere}
.radio-player__artist{margin:0 0 24px;font-size:1.1rem;color:var(--muted);font-weight:700}
.radio-player__audio{display:block;width:100%;min-height:54px;accent-color:var(--red)}
.radio-player__help{margin:10px 0 0;color:var(--muted);font-size:.9rem}
@media(max-width:760px){.radio-player{grid-template-columns:1fr;gap:24px;padding:20px}.radio-player__visual{max-width:420px;width:100%;margin:0 auto}.radio-player__content{text-align:center}.radio-player__audio{margin-top:4px}}

/* Compacte liveplayer als venster over de huidige pagina */
body.player-open{overflow:hidden}
.live-player-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
.live-player-modal.is-open{display:flex}
.live-player-modal__backdrop{position:absolute;inset:0;background:rgba(2,15,29,.76);backdrop-filter:blur(5px)}
.live-player-modal__panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,340px) minmax(280px,430px);gap:32px;align-items:center;width:min(100%,820px);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.38)}
.live-player-modal__close{position:absolute;right:13px;top:10px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(4,26,50,.88);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.live-player-modal__close:hover{background:var(--red)}
.live-player-modal__cover-wrap{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#f4f6f8}
.live-player-modal__cover{display:block;width:100%;height:100%;padding:8px;object-fit:contain;background:#fff}
.live-player-modal__live{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:var(--red);color:#fff;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.live-player-modal__live span{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}
.live-player-modal__station{display:block;margin-bottom:7px;color:var(--red);font-size:.77rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.live-player-modal__info h2{margin:0 0 8px;color:var(--navy);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.1;overflow-wrap:anywhere}
.live-player-modal__info>p:not(.live-player-modal__status){margin:0 0 22px;color:var(--muted);font-size:1.05rem;font-weight:700}
.live-player-modal__audio{display:block;width:100%;min-height:54px;accent-color:var(--red)}
.live-player-modal__status{margin:10px 0 0;color:var(--muted);font-size:.88rem}
.live-player-modal__status.is-error{color:var(--red-dark);font-weight:700}
.live-player-modal__more{display:inline-block;margin-top:15px;color:var(--blue);font-weight:800}
@media(max-width:700px){.live-player-modal{padding:10px}.live-player-modal__panel{grid-template-columns:1fr;gap:18px;max-width:450px;padding:18px}.live-player-modal__cover-wrap{width:min(100%,300px);margin-inline:auto}.live-player-modal__info{text-align:center}.live-player-modal__audio{margin-top:4px}}


/* Zelfstandig player-venster - brede landscape uitvoering */
html:has(.player-page),body.player-page{width:100%;height:100%;overflow:hidden}
.player-page{min-height:100vh;margin:0;background:linear-gradient(145deg,#061c35 0%,#092a50 62%,#b5192d 145%);color:#fff;font-family:Arial,Helvetica,sans-serif}
.popup-player{height:100vh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:14px 18px;box-sizing:border-box;overflow:hidden}
.popup-player__brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;min-height:48px}
.popup-player__brand img{display:block;width:210px;max-width:42%;height:58px;object-fit:contain;object-position:left center;border-radius:8px;background:#fff;padding:4px}
.popup-player__live{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#c6202e;color:#fff;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.popup-player__live span{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.popup-player__card{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:26px;row-gap:8px;align-items:center;min-height:0;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.09);box-shadow:0 20px 50px rgba(0,0,0,.28);backdrop-filter:blur(12px);overflow:hidden}
.popup-player__cover-wrap{grid-row:1 / 4;position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 14px 32px rgba(0,0,0,.25)}
.popup-player__cover{display:block;width:100%;height:100%;object-fit:contain;background:#fff;padding:6px}
.popup-player__meta{align-self:end;padding:0;text-align:left;min-width:0}
.popup-player__meta h1{margin:0 0 6px;color:#fff;font-size:clamp(1.55rem,3.2vw,2.45rem);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.popup-player__meta p{margin:0;color:#d9e4ef;font-size:1.05rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.popup-player__controls{display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:8px 0 0}
.popup-player__play{display:grid;place-items:center;flex:0 0 auto;width:68px;height:68px;padding:0;border:0;border-radius:50%;background:#c6202e;color:#fff;box-shadow:0 13px 30px rgba(198,32,46,.4);cursor:pointer;transition:transform .18s ease,background .18s ease}
.popup-player__play:hover{transform:translateY(-2px);background:#df2637}
.popup-player__play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.popup-player__play svg{width:29px;height:29px;fill:currentColor}
.popup-player__play .icon-pause{display:none}
.popup-player__play.is-playing .icon-play{display:none}
.popup-player__play.is-playing .icon-pause{display:block}
.popup-player__volume{display:flex;align-items:center;gap:10px;color:#fff;min-width:0}
.popup-player__volume svg{width:22px;height:22px;fill:currentColor;flex:0 0 auto}
.popup-player__volume input{width:min(220px,28vw);accent-color:#c6202e}
.popup-player__status{align-self:start;min-height:20px;margin:0;color:#cbd8e5;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.popup-player__status.is-error{color:#ffd3d8;font-weight:700}
.popup-player__footer{margin:0;text-align:center;color:#bdccda;font-size:.76rem;line-height:1.2}
@media(max-width:680px){html:has(.player-page),body.player-page{overflow:auto}.popup-player{height:auto;min-height:100vh;overflow:visible}.popup-player__card{grid-template-columns:170px minmax(0,1fr);column-gap:16px}.popup-player__meta h1{font-size:1.5rem}.popup-player__volume input{width:120px}}


/* Luister-liveknoppen en homepage playerlinks */
.button--live,
.button--live:visited,
.button--live:hover,
.button--live:focus-visible {
    color: #fff;
}
.onair-card__links a[data-player-window],
.onair-card__links a[data-player-window]:visited {
    color: #fff;
    background: var(--red);
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 900;
    text-decoration: none;
}
.onair-card__links a[data-player-window]:hover,
.onair-card__links a[data-player-window]:focus-visible {
    background: var(--red-dark);
    color: #fff;
}


/* Header: doorlopende witte stationsbalk met huidig programma */
.brandbar{padding-top:12px;padding-bottom:12px}
.brandbar__station{display:flex;align-items:center;align-self:stretch;flex:1;min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(4,26,50,.08)}
.brandbar__station .brand{display:flex;align-items:center;align-self:stretch;flex:0 0 auto;padding:8px 18px;background:#fff}
.brandbar__station .brand img{width:min(300px,35vw);max-height:76px}
.brandbar__onair{display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding:14px 22px;border-left:1px solid var(--line)}
.brandbar__onair-label{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.brandbar__onair-label span{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(198,32,46,.12)}
.brandbar__onair strong{display:block;overflow:hidden;color:var(--navy);font-size:1.08rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.brandbar__onair small{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:.86rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.brandbar__actions{flex:0 0 auto}
@media(max-width:1050px){.brandbar__station .brand img{width:240px}.brandbar__onair{padding-inline:16px}.brandbar__actions .button--ghost{display:none}}
@media(max-width:860px){.brandbar{gap:12px}.brandbar__station{border-radius:12px}.brandbar__station .brand{padding:6px 10px}.brandbar__station .brand img{width:210px;max-height:62px}.brandbar__onair{padding:10px 12px}.brandbar__onair strong{font-size:.94rem}.brandbar__onair small{font-size:.76rem}}
@media(max-width:620px){.brandbar__station .brand img{width:170px}.brandbar__onair-label{font-size:.62rem}.brandbar__onair small{display:none}}
@media(max-width:480px){.brandbar__station .brand img{width:145px}.brandbar__onair{padding-left:9px;padding-right:9px}.brandbar__onair strong{font-size:.82rem}}

/* Header on-air strip: forced layout update */
.brandbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.brandbar__station{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(4,26,50,.08)}
.brandbar__station .brand{display:flex;align-items:center;padding:8px 18px;background:#fff}
.brandbar__onair{display:flex!important;min-width:0;justify-content:center;padding:13px 22px;border-left:1px solid var(--line);background:#fff}
.brandbar__actions{display:flex;align-items:center;gap:12px}
.button--live{color:#fff!important}
.button--live:visited{color:#fff!important}
@media(max-width:860px){.brandbar{display:flex}.brandbar__station{grid-template-columns:auto minmax(120px,1fr)}.brandbar__onair{display:flex!important}.brandbar__actions{display:none}}
@media(max-width:520px){.brandbar__station{grid-template-columns:auto minmax(90px,1fr)}.brandbar__onair{padding:8px}.brandbar__onair-label{display:none}.brandbar__onair strong{font-size:.78rem}.brandbar__station .brand img{width:140px}}


/* Player/header correctie v19 */
.brandbar__onair{gap:3px}
.brandbar__onair strong{margin:0}

.player-page{margin:0;overflow:hidden;background:linear-gradient(135deg,#071f3b,#0b315d)}
.popup-player{box-sizing:border-box;width:100%;height:100vh;max-width:none;padding:18px;display:grid;grid-template-rows:82px minmax(0,1fr) auto;gap:14px;overflow:hidden}
.popup-player__brandbar{box-sizing:border-box;display:grid!important;grid-template-columns:250px minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;width:100%!important;height:82px!important;min-height:82px!important;padding:8px 12px 8px 16px!important;border:1px solid #d8e1ea!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important;overflow:hidden!important}
.popup-player__brand-logo{display:block!important;width:215px!important;max-width:215px!important;height:62px!important;max-height:62px!important;object-fit:contain!important;object-position:center center!important;margin:0 auto!important;justify-self:center!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
.popup-player__program{min-width:0!important;padding:0 4px 0 18px!important;border-left:1px solid #dfe6ed!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-self:stretch!important}
.popup-player__program span{display:block!important;margin:0 0 3px!important;color:#c6202e!important;font-size:.68rem!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.popup-player__program strong{display:block!important;overflow:hidden!important;margin:0!important;color:#092a50!important;font-size:1.08rem!important;line-height:1.18!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.popup-player__program small{display:block!important;overflow:hidden!important;margin-top:3px!important;color:#5d6a77!important;font-size:.82rem!important;font-weight:700!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.popup-player__brandbar .popup-player__live{justify-self:end!important;display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:10px 15px!important;border-radius:999px!important;background:#c6202e!important;color:#fff!important;font-size:.78rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.07em!important}
.popup-player__brandbar .popup-player__live span{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.popup-player__card{min-height:0!important;overflow:hidden!important}
.popup-player__footer{margin:0!important}
@media(max-width:680px){
 .popup-player{padding:10px;grid-template-rows:70px minmax(0,1fr) auto;gap:10px}
 .popup-player__brandbar{grid-template-columns:155px minmax(0,1fr) auto!important;height:70px!important;min-height:70px!important;gap:8px!important;padding:6px 8px!important}
 .popup-player__brand-logo{width:145px!important;max-width:145px!important;height:52px!important;max-height:52px!important}
 .popup-player__program{padding-left:9px!important}
 .popup-player__program span,.popup-player__program small{display:none!important}
 .popup-player__program strong{font-size:.86rem!important}
 .popup-player__brandbar .popup-player__live{padding:8px 10px!important;font-size:.68rem!important}
}

/* Fase 6: rustige header en beveiligd contactformulier */
.brandbar__station{display:flex!important;align-items:center!important;min-height:82px}
.brandbar__station .brand{justify-content:center}
.brandbar__station .brand img{width:min(300px,35vw)}
.topbar__inner>a{color:#fff;font-weight:800;text-decoration:none}
.topbar__inner>a:hover{text-decoration:underline}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:32px;align-items:start}
.contact-panel,.contact-info-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(9,42,80,.09)}
.contact-panel{padding:clamp(24px,4vw,42px)}
.contact-panel>h2,.contact-info-card h2{margin-top:0}
.contact-panel>p{color:var(--muted);max-width:720px}
.contact-form{display:grid;gap:20px;margin-top:28px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-form label{display:grid;gap:7px;color:var(--navy);font-weight:800}
.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;border:1px solid #b8c5d1;border-radius:11px;background:#fff;color:var(--ink);font:inherit;padding:13px 14px;transition:border-color .18s ease,box-shadow .18s ease}
.contact-form textarea{min-height:190px;resize:vertical;line-height:1.55}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px rgba(198,32,46,.13)}
.contact-form__bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.contact-form__bottom p{margin:0;color:var(--muted);font-size:.88rem}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message{margin:22px 0 0;padding:15px 18px;border-radius:12px}
.form-message ul{margin:8px 0 0;padding-left:20px}
.form-message--success{border:1px solid #87c999;background:#edf9f0;color:#165a28}
.form-message--error{border:1px solid #e6a1a8;background:#fff0f1;color:#7b1d27}
.contact-info-card{padding:30px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff}
.contact-info-card .eyebrow,.contact-info-card h2{color:#fff}
.contact-info-card p{color:#d8e3ed}
.contact-info-card ul{display:grid;gap:18px;margin:26px 0 0;padding:0;list-style:none}
.contact-info-card li{padding-top:17px;border-top:1px solid rgba(255,255,255,.18);color:#d8e3ed}
.contact-info-card strong{color:#fff}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr}.brandbar__station{min-height:70px}.brandbar__station .brand img{width:210px}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.contact-form__bottom{align-items:stretch;flex-direction:column}.contact-form__bottom .button{width:100%}.brandbar__station .brand img{width:170px}}

/* Contactpagina redesign v21 */
.contact-hero{position:relative;overflow:hidden;padding:64px 0 58px;background:linear-gradient(118deg,#061c35 0%,#0a315d 68%,#b51f31 140%);color:#fff}
.contact-hero:after{content:"";position:absolute;right:-110px;top:-190px;width:430px;height:430px;border:78px solid rgba(255,255,255,.035);border-radius:50%}
.contact-hero__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:48px}
.contact-hero h1{max-width:760px;margin:8px 0 14px;font-size:clamp(2.45rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.045em}
.contact-hero p{max-width:760px;margin:0;color:#dce7f1;font-size:1.08rem;line-height:1.65}
.contact-hero .eyebrow{color:#fff}
.contact-hero__badge{display:grid;place-items:center;flex:0 0 124px;width:124px;height:124px;border:1px solid rgba(255,255,255,.22);border-radius:30px;background:rgba(255,255,255,.09);box-shadow:0 22px 55px rgba(0,0,0,.2);font-size:4rem;font-weight:900;color:#fff;transform:rotate(4deg)}
.contact-main{padding:68px 0 86px;background:#f3f6f9}
.contact-shell{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);gap:28px;align-items:stretch}
.contact-sidebar,.contact-form-card{border:1px solid #dce4eb;border-radius:24px;box-shadow:0 16px 42px rgba(8,40,75,.08)}
.contact-sidebar{display:flex;flex-direction:column;padding:34px;background:linear-gradient(155deg,#08284b,#041a32);color:#fff}
.contact-sidebar__kicker{color:#ff7a87;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.contact-sidebar h2{margin:10px 0 13px;color:#fff;font-size:1.8rem;line-height:1.15;letter-spacing:-.025em}
.contact-sidebar>p{margin:0;color:#cbd9e5;line-height:1.65}
.contact-topic-list{display:grid;gap:0;margin:30px 0}
.contact-topic{display:grid;grid-template-columns:40px 1fr;gap:13px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}
.contact-topic:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.contact-topic__number{color:#ff6675;font-size:.78rem;font-weight:900;letter-spacing:.05em}
.contact-topic strong,.contact-topic small{display:block}
.contact-topic strong{margin-bottom:3px;color:#fff;font-size:.98rem}
.contact-topic small{color:#aec0d0;font-size:.82rem;line-height:1.45}
.contact-sidebar__note{margin-top:auto;padding:18px;border-radius:14px;background:rgba(255,255,255,.08)}
.contact-sidebar__note strong,.contact-sidebar__note span{display:block}
.contact-sidebar__note strong{color:#fff}
.contact-sidebar__note span{margin-top:3px;color:#cbd9e5;font-size:.84rem}
.contact-form-card{padding:clamp(26px,4vw,46px);background:#fff}
.contact-form-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #e4e9ee}
.contact-form-card__step{color:#c6202e;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.contact-form-card__header h2{max-width:620px;margin:7px 0 0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.12;letter-spacing:-.035em}
.contact-form-card__secure{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#edf8f1;color:#267143;font-size:.72rem;font-weight:900;white-space:nowrap}
.contact-form--modern{gap:22px;margin-top:28px}
.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field{display:grid;gap:8px}
.contact-field__label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#08284b;font-size:.9rem;font-weight:900}
.contact-field__label em{color:#8995a1;font-size:.66rem;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.contact-form--modern input,.contact-form--modern textarea{width:100%;border:1px solid #c9d3dc;border-radius:13px;background:#f9fbfc;color:#152334;padding:14px 15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.contact-form--modern input{min-height:52px}
.contact-form--modern textarea{min-height:210px;line-height:1.6;resize:vertical}
.contact-form--modern input::placeholder,.contact-form--modern textarea::placeholder{color:#97a3ae}
.contact-form--modern input:focus,.contact-form--modern textarea:focus{outline:0;border-color:#c6202e;background:#fff;box-shadow:0 0 0 4px rgba(198,32,46,.1)}
.contact-field__hint{color:#7b8996;font-size:.78rem;font-weight:500}
.contact-form__footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:23px;border-top:1px solid #e4e9ee}
.contact-form__footer p{max-width:440px;margin:0;color:#778592;font-size:.82rem;line-height:1.45}
.contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:13px 22px;border:0;border-radius:13px;background:#c6202e;color:#fff;font-weight:900;box-shadow:0 12px 25px rgba(198,32,46,.24);cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.contact-submit:hover{transform:translateY(-2px);background:#a71829;box-shadow:0 15px 30px rgba(198,32,46,.3)}
.contact-submit:focus-visible{outline:3px solid rgba(198,32,46,.22);outline-offset:4px}
.contact-submit svg{width:20px;height:20px;fill:currentColor}
.contact-form-card .form-message{display:grid;gap:4px;margin:22px 0 0;padding:16px 18px}
.contact-form-card .form-message span{font-size:.9rem}
@media(max-width:930px){.contact-shell{grid-template-columns:1fr}.contact-sidebar{min-height:auto}.contact-sidebar__note{margin-top:8px}.contact-hero__badge{display:none}}
@media(max-width:640px){.contact-hero{padding:48px 0}.contact-main{padding:34px 0 56px}.contact-sidebar,.contact-form-card{border-radius:18px}.contact-sidebar{padding:26px}.contact-form-card{padding:24px 18px}.contact-form-card__header{display:block}.contact-form-card__secure{display:inline-block;margin-top:13px}.contact-form__row{grid-template-columns:1fr}.contact-form__footer{align-items:stretch;flex-direction:column}.contact-submit{width:100%}}

/* Fase 7: presentatoren en luisteren */
.presenters-hero__inner,.listen-landing-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px}
.button--large{min-height:56px;padding:0 28px;font-size:1.02rem}
.presenter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.presenter-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(9,42,80,.08);transition:transform .2s ease,box-shadow .2s ease}
.presenter-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(9,42,80,.13)}
.presenter-card__image{aspect-ratio:4/3;overflow:hidden;background:#e9eef4}
.presenter-card__image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.presenter-card__body{display:flex;flex:1;flex-direction:column;padding:21px}
.presenter-card h2{margin:0 0 9px;font-size:1.24rem;line-height:1.2;color:var(--blue)}
.presenter-card p{margin:0;color:var(--muted);line-height:1.6}
.listen-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.listen-option-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;align-items:start;padding:30px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 32px rgba(9,42,80,.08)}
.listen-option-card--featured{border-top:5px solid var(--red)}
.listen-option-card__icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:18px;background:var(--blue);color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.04em}
.listen-option-card--featured .listen-option-card__icon{background:var(--red)}
.listen-option-card__label{display:block;margin-bottom:5px;color:var(--red-dark);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.listen-option-card h2{margin:0 0 10px;color:var(--blue);font-size:1.55rem}
.listen-option-card p{margin:0 0 18px;color:var(--muted);line-height:1.65}
.listen-cta-section{padding-top:0}
.listen-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px 38px;border-radius:24px;background:linear-gradient(135deg,var(--blue),#124f80);color:#fff}
.listen-cta h2{margin:.2rem 0 .5rem;font-size:clamp(1.7rem,3vw,2.4rem)}
.listen-cta p{margin:0;color:rgba(255,255,255,.82)}
.listen-cta__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.listen-cta .button--outline{border-color:rgba(255,255,255,.7);color:#fff}
.listen-cta .button--outline:hover{background:#fff;color:var(--blue)}
@media(max-width:980px){.presenter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.presenters-hero__inner,.listen-landing-hero__grid{grid-template-columns:1fr}.presenters-hero__inner .button,.listen-landing-hero__grid .button{justify-self:start}.listen-options-grid{grid-template-columns:1fr}.listen-cta{align-items:flex-start;flex-direction:column}.listen-cta__actions{justify-content:flex-start}}
@media(max-width:650px){.presenter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listen-option-card{grid-template-columns:58px minmax(0,1fr);padding:23px;gap:17px}.listen-option-card__icon{width:54px;height:54px;border-radius:14px;font-size:.72rem}}
@media(max-width:440px){.presenter-grid{grid-template-columns:1fr}.listen-option-card{grid-template-columns:1fr}.listen-option-card__icon{width:auto;min-width:64px;padding:0 12px;justify-self:start}.listen-cta{padding:27px 23px}}

/* Fase 7.1: luisterpagina en actuele muziek */
.listen-cta{justify-items:center;text-align:center}
.listen-cta>div:first-child{max-width:680px;margin-inline:auto}
.listen-cta__actions{justify-content:center}
.app-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.app-download{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;background:var(--navy);color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 8px 18px rgba(9,42,80,.14)}
.app-download:hover,.app-download:focus-visible{background:var(--red);color:#fff!important}
.playlist-now{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:42px;align-items:center;max-width:980px;margin:0 auto;padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(9,42,80,.12)}
.playlist-now__cover-wrap{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:#f5f7fa}
.playlist-now__cover{display:block;width:100%;height:100%;object-fit:contain;background:#fff;padding:8px}
.playlist-now__content h2{margin:.25rem 0 .5rem;font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;color:var(--navy)}
.playlist-now__content p{margin:0;color:var(--red);font-size:1.15rem;font-weight:900}
.playlist-now__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.playlist-note{max-width:780px;margin:22px auto 0;text-align:center;color:var(--muted)}
@media(max-width:760px){.playlist-now{grid-template-columns:1fr;gap:24px;padding:22px}.playlist-now__cover-wrap{max-width:360px;width:100%;margin-inline:auto}.playlist-now__content{text-align:center}.playlist-now__actions{justify-content:center}.app-downloads{justify-content:flex-start}}


/* Fase 7.2: gecentreerde luister-CTA en zachtere pill-navigatie */
.listen-cta{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.listen-cta>div:first-child{width:100%;max-width:680px;margin:0 auto}
.listen-cta__actions{width:100%;justify-content:center}

.main-nav{padding:9px 0;border-bottom:0;box-shadow:0 8px 24px rgba(4,26,50,.14)}
.main-nav ul{gap:8px;flex-wrap:wrap}
.main-nav li{display:flex}
.main-nav a{
    padding:11px 16px;
    border-radius:999px;
    color:#fff;
    transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.main-nav a:hover{
    background:rgba(255,255,255,.14);
    color:#fff;
    transform:translateY(-1px);
}
.main-nav a.active{
    background:var(--red);
    color:#fff;
    box-shadow:0 7px 18px rgba(196,31,47,.28);
}
@media(max-width:860px){
    .main-nav{padding:0;box-shadow:none}
    .main-nav ul{gap:0;padding:10px 0}
    .main-nav li{display:block}
    .main-nav a{border-radius:12px;margin:4px 0;padding:13px 14px;border-bottom:0}
}


/* Fase 8: definitief gecentreerde ontvangst-CTA en DAB+ bereik */
.listen-cta-section .listen-cta{
    width:min(calc(100% - 32px),var(--container));
    max-width:var(--container);
    margin-left:auto!important;
    margin-right:auto!important;
}

.coverage-intro{max-width:820px;margin:0 auto;text-align:center}
.coverage-intro p{margin:0;color:rgba(255,255,255,.84);font-size:1.08rem}
.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.coverage-card{position:relative;overflow:hidden;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(9,42,80,.09)}
.coverage-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--red)}
.coverage-card__channel{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:38px;padding:0 13px;margin-bottom:18px;border-radius:999px;background:var(--navy);color:#fff;font-weight:900;letter-spacing:.04em}
.coverage-card h2{margin:0 0 8px;font-size:1.65rem;color:var(--navy)}
.coverage-card p{margin:0 0 18px;color:var(--muted)}
.coverage-card ul{margin:0;padding-left:20px;color:var(--ink)}
.coverage-card li+li{margin-top:7px}
.coverage-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:center;padding:34px 38px;border-radius:24px;background:linear-gradient(135deg,var(--navy),#104d7d);color:#fff}
.coverage-summary h2{margin:.2rem 0 .65rem}
.coverage-summary p{margin:0;color:rgba(255,255,255,.82)}
.coverage-summary__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.coverage-note{margin-top:24px;padding:20px 22px;border-left:5px solid var(--red);border-radius:14px;background:var(--red-soft);color:#57242a}
.coverage-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.coverage-place-group{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.coverage-place-group h3{margin:0 0 12px;color:var(--navy)}
.coverage-place-group p{margin:0;color:var(--muted);line-height:1.7}
@media(max-width:900px){.coverage-grid,.coverage-places{grid-template-columns:1fr}.coverage-summary{grid-template-columns:1fr}.coverage-summary__actions{justify-content:flex-start}}
@media(max-width:560px){.listen-cta-section .listen-cta{width:min(calc(100% - 22px),var(--container))}.coverage-card,.coverage-summary{padding:24px}.coverage-summary__actions .button{width:100%}}


/* Fase 8.1: originele DAB+ dekkingskaart */
.coverage-map-section{padding-top:48px;padding-bottom:48px}
.coverage-map{margin:0 auto;max-width:1080px}
.coverage-map__heading{max-width:760px;margin:0 auto 28px;text-align:center}
.coverage-map__heading h2{margin:.25rem 0 .65rem;color:var(--navy);font-size:clamp(1.8rem,3.4vw,2.8rem)}
.coverage-map__heading p{margin:0;color:var(--muted);line-height:1.65}
.coverage-map__image-link{display:block;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 52px rgba(9,42,80,.13);transition:transform .2s ease,box-shadow .2s ease}
.coverage-map__image-link:hover{transform:translateY(-2px);box-shadow:0 26px 60px rgba(9,42,80,.18)}
.coverage-map__image-link:focus-visible{outline:4px solid rgba(198,32,46,.22);outline-offset:4px}
.coverage-map img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.coverage-map figcaption{margin-top:12px;text-align:center;color:var(--muted);font-size:.88rem}
@media(max-width:640px){.coverage-map-section{padding-top:32px;padding-bottom:34px}.coverage-map__heading{margin-bottom:20px}.coverage-map__image-link{border-radius:16px}}

/* Fase 8.2 - volledig plaats- en kanaaloverzicht */
.section-heading--centered{justify-content:center;text-align:center}
.section-heading--centered>div{max-width:780px;margin:0 auto}
.section-heading--centered p{margin:.5rem 0 0;color:var(--muted);line-height:1.65}
.coverage-directory{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:26px;align-items:start;margin-top:30px}
.coverage-directory__region{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(9,42,80,.09)}
.coverage-directory__header{display:flex;gap:18px;align-items:center;padding:26px 28px;background:linear-gradient(135deg,var(--navy),#104d7d);color:#fff}
.coverage-directory__header h3{margin:0 0 6px;font-size:1.55rem;color:#fff}
.coverage-directory__header p{margin:0;color:rgba(255,255,255,.8);line-height:1.55}
.coverage-directory__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:58px;height:58px;border-radius:18px;background:var(--red);color:#fff;font-size:.82rem;font-weight:900;letter-spacing:.04em;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.coverage-directory__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:12px 22px 22px}
.coverage-directory__list--compact{grid-template-columns:1fr}
.coverage-directory__item{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:12px 8px;border-bottom:1px solid var(--line)}
.coverage-directory__item:nth-last-child(-n+2){border-bottom-color:transparent}
.coverage-directory__list--compact .coverage-directory__item:last-child{border-bottom-color:transparent}
.coverage-directory__place{font-weight:750;color:var(--ink)}
.coverage-directory__channel{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:.8rem;font-weight:850}
.coverage-rescan-note{margin:0 22px 24px;padding:18px 20px;border-radius:16px;background:#f2f6fa;border-left:5px solid var(--red)}
.coverage-rescan-note strong{display:block;margin-bottom:4px;color:var(--navy)}
.coverage-rescan-note p{margin:0;color:var(--muted);line-height:1.55}
@media(max-width:980px){.coverage-directory{grid-template-columns:1fr}.coverage-directory__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.coverage-directory__header{align-items:flex-start;padding:22px}.coverage-directory__icon{width:50px;height:50px;border-radius:15px}.coverage-directory__header h3{font-size:1.3rem}.coverage-directory__list{grid-template-columns:1fr;padding:8px 18px 18px}.coverage-directory__item:nth-last-child(-n+2){border-bottom-color:var(--line)}.coverage-directory__item:last-child{border-bottom-color:transparent}.coverage-rescan-note{margin:0 18px 20px}}

/* Fase 8.4: kaart + plaatsen samen, landscape hulpblok en officieel DAB+ logo */
.coverage-complete-section{padding-top:52px}
.coverage-map--embedded{margin-top:30px;margin-bottom:34px}
.coverage-directory--balanced{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start}
.coverage-directory__stack{display:grid;gap:26px;min-width:0}
.coverage-directory__logo{display:block;flex:0 0 auto;width:82px;height:auto;max-height:44px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.16))}
.coverage-directory__region--belgium .coverage-directory__header{background:linear-gradient(135deg,#0d315c,#183f75)}
.coverage-rescan-note--wide{margin:28px 0 0}
.coverage-help-section{padding-top:10px}
.coverage-summary--landscape{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-height:180px;gap:36px}
.coverage-summary--landscape>div:first-child{min-width:0;max-width:760px}
.coverage-summary--landscape .coverage-summary__actions{flex:0 0 auto;justify-content:flex-end}
.coverage-highlights-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.coverage-mini-card{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(9,42,80,.08)}
.coverage-mini-card strong{color:var(--navy);font-size:1rem}
.coverage-mini-card span{color:var(--muted);font-size:.9rem;line-height:1.45}
@media(max-width:980px){
  .coverage-directory--balanced{grid-template-columns:1fr}
  .coverage-summary--landscape{flex-direction:row}
  .coverage-highlights-inline{grid-template-columns:1fr}
}
@media(max-width:720px){
  .coverage-summary--landscape{flex-direction:column;align-items:flex-start;min-height:0}
  .coverage-summary--landscape .coverage-summary__actions{justify-content:flex-start;width:100%}
  .coverage-summary--landscape .coverage-summary__actions .button{width:100%}
}

/* Fase 8.5: compactere Belgische plaatsenlijst voor gelijke onderzijde */
.coverage-directory__region--belgium .coverage-directory__header{
    padding-top:20px;
    padding-bottom:20px;
}
.coverage-directory__region--belgium .coverage-directory__header h3{
    margin-bottom:3px;
}
.coverage-directory__region--belgium .coverage-directory__header p{
    font-size:.88rem;
    line-height:1.35;
}
.coverage-directory__region--belgium .coverage-directory__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-top:8px;
    padding-bottom:14px;
}
.coverage-directory__region--belgium .coverage-directory__item{
    min-height:38px;
    padding:6px 6px;
    gap:8px;
}
.coverage-directory__region--belgium .coverage-directory__place{
    font-size:.84rem;
    line-height:1.15;
}
.coverage-directory__region--belgium .coverage-directory__channel{
    padding:4px 7px;
    font-size:.7rem;
}
@media(max-width:640px){
    .coverage-directory__region--belgium .coverage-directory__list{
        grid-template-columns:1fr;
    }
    .coverage-directory__region--belgium .coverage-directory__place{
        font-size:.9rem;
    }
}

/* Fase 8.6: exact uitgelijnde bereikblokken */
.coverage-directory--balanced{align-items:stretch}
.coverage-directory--balanced>.coverage-directory__region{height:100%}
.coverage-directory__stack{height:100%;grid-template-rows:auto 1fr}
.coverage-directory__stack>.coverage-directory__region{min-height:0}
.coverage-directory__region--belgium{display:flex;flex-direction:column}
.coverage-directory__region--belgium .coverage-directory__list{flex:1;align-content:start}
@media(min-width:981px){
 .coverage-directory--balanced{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}
 .coverage-directory__stack{display:grid;grid-template-rows:auto 1fr;gap:26px}
 .coverage-directory__region--belgium{height:100%}
}

/* Fase 9: adverteren */
.advertising-hero{background:linear-gradient(135deg,var(--navy),#123f70);color:#fff}
.advertising-hero h1,.advertising-hero p{color:#fff}
.advertising-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.advertising-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(9,42,80,.08)}
.advertising-card h2{margin-top:0}
.advertising-price{display:block;margin:18px 0 4px;color:var(--red);font-size:2rem;font-weight:900}
.advertising-list{margin:18px 0 0;padding-left:20px;line-height:1.8}
.advertising-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:24px;background:var(--red);color:#fff}
.advertising-cta h2,.advertising-cta p{margin:0;color:#fff}
@media(max-width:760px){.advertising-grid{grid-template-columns:1fr}.advertising-cta{align-items:flex-start;flex-direction:column}}


/* Fase 9.1: bereikblokken exact uitlijnen en leesbare kanaalbadges */
.coverage-directory__channel{
    background:#fff!important;
    color:var(--red)!important;
    border:1px solid rgba(196,31,47,.45);
    box-shadow:0 2px 8px rgba(9,42,80,.05);
}
@media(min-width:981px){
    .coverage-directory--balanced{align-items:stretch}
    .coverage-directory--balanced>.coverage-directory__region{height:100%}
    .coverage-directory__stack{display:grid;grid-template-rows:auto 1fr;height:100%;gap:26px}
    .coverage-directory__region--belgium{height:100%;display:flex;flex-direction:column}
    .coverage-directory__region--belgium .coverage-directory__list{flex:1;align-content:space-evenly}
    .coverage-directory__region--belgium .coverage-directory__item{min-height:46px;padding:9px 7px}
}

/* Fase 10: volledige playlist */
.playlist-page{max-width:1080px}
.playlist-history-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:56px 0 20px}
.playlist-history-heading h2{margin:.2rem 0 0;color:var(--navy);font-size:clamp(1.7rem,3vw,2.5rem)}
.playlist-history-heading__refresh{color:var(--muted);font-size:.88rem}
.playlist-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.playlist-track{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(9,42,80,.06)}
.playlist-track__cover{display:block;width:82px;height:82px;object-fit:contain;border-radius:12px;background:#f4f6f8;padding:3px}
.playlist-track__body{min-width:0}
.playlist-track__body h3{margin:0 0 5px;overflow:hidden;color:var(--navy);font-size:1rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.playlist-track__body p{margin:0;overflow:hidden;color:var(--red);font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.playlist-track__time{align-self:start;padding:7px 9px;border-radius:999px;background:#f2f5f8;color:var(--muted);font-size:.76rem;font-weight:800;white-space:nowrap}
.playlist-loading,.playlist-empty,.playlist-error{grid-column:1/-1;padding:24px;border-radius:16px;background:#fff;text-align:center;color:var(--muted)}
.playlist-error{margin:16px 0 0;border-left:4px solid var(--red);background:var(--red-soft);color:#61252b}
@media(max-width:760px){
    .playlist-history{grid-template-columns:1fr}
    .playlist-history-heading{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(max-width:480px){
    .playlist-track{grid-template-columns:68px minmax(0,1fr);gap:12px}
    .playlist-track__cover{width:68px;height:68px}
    .playlist-track__time{grid-column:2;justify-self:start;margin-top:-3px}
}

/* Fase 10.1: Belgische plaatsen alfabetisch per kolom */
@media(min-width:641px){
  .coverage-directory__region--belgium .coverage-directory__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(8,auto);
    grid-auto-flow:column;
    align-content:space-between;
  }
}


.playlist-history__column{display:flex;min-width:0;flex-direction:column;gap:24px}
.playlist-hour{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(9,42,80,.06)}
.playlist-hour__heading{margin:0;padding:13px 18px;background:var(--navy);color:#fff;font-size:1rem;line-height:1.2}
.playlist-hour__tracks{display:flex;flex-direction:column;gap:10px;padding:12px}
.playlist-hour .playlist-track{box-shadow:none}
.playlist-hour__empty{margin:0;padding:22px 18px;color:var(--muted);font-size:.9rem;text-align:center}
@media(max-width:760px){.playlist-history{grid-template-columns:1fr}.playlist-history__column{gap:18px}}

/* Fase 11: Over ons */
.about-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:34px;align-items:stretch}
.about-story,.about-facts,.about-value,.about-cta{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(9,42,80,.07)}
.about-story{padding:clamp(28px,4vw,48px)}
.about-story h2,.about-cta h2{margin:.35rem 0 1rem;color:var(--navy);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12}
.about-story p,.about-cta p{color:var(--muted);line-height:1.75}
.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.about-facts{display:grid;grid-template-columns:1fr;padding:12px}
.about-fact{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:20px;border-bottom:1px solid var(--line)}
.about-fact:last-child{border-bottom:0}
.about-fact strong{color:var(--red);font-size:1.15rem}
.about-fact span{color:var(--muted);font-size:.94rem}
.section-heading--centered{text-align:center;max-width:760px;margin:0 auto 30px}
.section-heading--centered h2{margin:.35rem 0;color:var(--navy);font-size:clamp(1.8rem,3vw,2.5rem)}
.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.about-value{padding:30px;text-align:center}
.about-value__icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:18px;background:rgba(199,31,46,.09);color:var(--red);font-size:1.55rem;font-weight:800}
.about-value h3{margin:0 0 10px;color:var(--navy)}
.about-value p{margin:0;color:var(--muted);line-height:1.65}
.about-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(28px,4vw,46px)}
.about-cta .about-actions{margin-top:0;justify-content:flex-end}
@media(max-width:900px){.about-layout{grid-template-columns:1fr}.about-values{grid-template-columns:1fr}.about-cta{align-items:flex-start;flex-direction:column}.about-cta .about-actions{justify-content:flex-start}}

/* Fase 12: historische tijdlijn */
.station-timeline {
    position: relative;
    max-width: 980px;
    margin: 2.5rem auto 0;
    display: grid;
    gap: 1rem;
}
.station-timeline::before {
    content: "";
    position: absolute;
    left: 148px;
    top: 10px;
    bottom: 10px;
    width: 3px;
    background: linear-gradient(var(--red, #c7002b), var(--navy, #0a2b55));
    border-radius: 999px;
}
.station-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}
.station-timeline__item::before {
    content: "";
    position: absolute;
    left: 141px;
    top: 1.25rem;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid var(--red, #c7002b);
    box-shadow: 0 0 0 5px rgba(199, 0, 43, .10);
}
.station-timeline__date {
    padding-top: 1rem;
    color: var(--red, #c7002b);
    font-weight: 800;
    text-align: right;
    line-height: 1.25;
}
.station-timeline__content {
    background: #fff;
    border: 1px solid rgba(10, 43, 85, .12);
    border-radius: 18px;
    padding: 1.15rem 1.35rem;
    box-shadow: 0 12px 30px rgba(10, 43, 85, .08);
}
.station-timeline__content h3 { margin: 0 0 .35rem; }
.station-timeline__content p { margin: 0; }
@media (max-width: 720px) {
    .station-timeline::before { left: 10px; }
    .station-timeline__item { grid-template-columns: 1fr; gap: .4rem; padding-left: 2.25rem; }
    .station-timeline__item::before { left: 2px; top: .35rem; }
    .station-timeline__date { text-align: left; padding-top: 0; }
}

/* Fase 13 en 14: historie, profielen, programmering en reclame */
.station-timeline__date small{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;font-weight:700}
.milestone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.milestone-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(9,42,80,.07)}
.milestone-card>strong{display:inline-flex;min-width:58px;min-height:42px;align-items:center;justify-content:center;margin-bottom:14px;padding:7px 12px;border-radius:12px;background:var(--red);color:#fff;font-size:1.15rem}
.milestone-card h3{margin:0 0 8px;color:var(--navy)}
.milestone-card p{margin:0;color:var(--muted)}
.presenter-card--linked .presenter-card__image{display:block}
.presenter-card--linked h2 a{color:inherit;text-decoration:none}
.presenter-card--linked h2 a:hover{color:var(--red)}
.presenter-profile-hero{background:linear-gradient(135deg,var(--navy),#174f84);color:#fff}
.presenter-profile-hero h1,.presenter-profile-hero p{color:#fff}
.presenter-profile-hero__inner{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:center}
.presenter-profile-hero__photo{overflow:hidden;aspect-ratio:1;border:7px solid rgba(255,255,255,.2);border-radius:50%;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.presenter-profile-hero__photo img{width:100%;height:100%;object-fit:cover}
.presenter-profile-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:40px;align-items:start}
.presenter-profile-copy,.presenter-schedule{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(9,42,80,.07)}
.presenter-schedule__item{display:block;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.presenter-schedule__item:last-child{border-bottom:0}
.presenter-schedule__item strong,.presenter-schedule__item span{display:block}
.presenter-schedule__item strong{color:var(--navy)}
.presenter-schedule__item span{margin-top:4px;color:var(--muted);font-size:.9rem}
.program-card--rich{grid-template-columns:72px 82px minmax(0,1fr)}
.program-card__visual{overflow:hidden;width:72px;height:72px;border-radius:14px;background:#f3f5f7}
.program-card__visual img{width:100%;height:100%;object-fit:cover}
.program-card__content a{color:inherit;text-decoration:none}
.program-card__content a:hover{color:var(--red)}
.advertising-banner{padding:46px 0;background:linear-gradient(135deg,var(--navy),#123f70);color:#fff}
.advertising-banner__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:44px;align-items:center}
.advertising-banner__copy h1,.advertising-banner__copy p{color:#fff}
.advertising-banner__copy h1{margin:.35rem 0 .8rem;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02}
.advertising-banner__copy p{max-width:650px;font-size:1.08rem}
.advertising-banner__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.button--outline-light{border:1px solid rgba(255,255,255,.65);background:transparent;color:#fff}
.button--outline-light:hover{background:#fff;color:var(--navy)}
.advertising-banner__image img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.24)}
@media(max-width:980px){
 .milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .presenter-profile-layout,.advertising-banner__inner{grid-template-columns:1fr}
 .advertising-banner__image{max-width:760px}
}
@media(max-width:720px){
 .presenter-profile-hero__inner{grid-template-columns:1fr;text-align:center}
 .presenter-profile-hero__photo{width:210px;margin:0 auto}
 .program-card--rich{grid-template-columns:60px minmax(0,1fr)}
 .program-card__visual{width:60px;height:60px}
 .program-card--rich .program-card__time{grid-column:2}
 .milestone-grid{grid-template-columns:1fr}
}

/* Over ons: titel, subtitel en toelichting altijd onder elkaar over volledige breedte */
.section-heading.section-heading--centered{
    display:block;
    width:100%;
    max-width:860px;
    margin:0 auto 30px;
    text-align:center;
}
.section-heading.section-heading--centered > .eyebrow,
.section-heading.section-heading--centered > h2,
.section-heading.section-heading--centered > p{
    display:block;
    width:100%;
}
.section-heading.section-heading--centered > h2{
    margin:.45rem 0 .75rem;
}
.section-heading.section-heading--centered > p{
    max-width:820px;
    margin:0 auto;
}


/* Definitieve fix Over ons: kop Rivierenland Radio vandaag altijd onder elkaar */
.today-intro{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:880px!important;
  margin:0 auto 32px!important;
  text-align:center!important;
  grid-column:1 / -1!important;
  gap:0!important;
}
.today-intro>.eyebrow,.today-intro>h2,.today-intro>p{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
}
.today-intro>h2{margin:.45rem 0 .8rem!important;}
.today-intro>p{margin:0!important;color:var(--muted);line-height:1.65;}

/* Consistente correctie: Over ons distributiekaarten */
.distribution-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}
.distribution-card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    min-height:290px;
    padding:26px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 35px rgba(9,42,80,.07);
}
.distribution-card__logo{
    display:block;
    width:108px;
    height:auto;
    margin:0 0 18px;
}
.distribution-card__channel{
    position:absolute;
    top:24px;
    right:24px;
    padding:6px 11px;
    border:1px solid rgba(196,31,47,.35);
    border-radius:999px;
    background:#fff;
    color:var(--red);
    font-size:.88rem;
    font-weight:900;
}
.distribution-card h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:1.16rem;
    line-height:1.25;
}
.distribution-card p{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.6;
}
.distribution-card a{
    margin-top:auto;
    color:var(--red);
    font-weight:800;
    text-decoration:none;
}
.distribution-card a:hover{text-decoration:underline}
.distribution-card__online-icon{
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    margin:0 0 18px;
    border-radius:17px;
    background:var(--red);
    color:#fff;
    font-size:1.25rem;
    font-weight:900;
}

/* Consistente correctie: programmafoto's klein en landscape */
.program-card.program-card--rich{
    grid-template-columns:105px 96px minmax(0,1fr)!important;
    align-items:center!important;
}
.program-card--rich .program-card__visual{
    width:96px!important;
    height:54px!important;
    aspect-ratio:16 / 9!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:#f3f5f7!important;
}
.program-card--rich .program-card__visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

@media(max-width:980px){
    .distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .distribution-grid{grid-template-columns:1fr}
    .distribution-card{min-height:0}
    .program-card.program-card--rich{
        grid-template-columns:88px 84px minmax(0,1fr)!important;
    }
    .program-card--rich .program-card__visual{
        width:84px!important;
        height:47px!important;
    }
    .program-card--rich .program-card__time{grid-column:auto!important}
}


/* Luisterpagina: merknaam bij elkaar, mediaspelers en radioportals */
.keep-together{white-space:nowrap}
.listen-section-heading{display:block!important;margin-bottom:24px}
.listen-section-heading>div{width:100%}
.listen-section-heading h2,.listen-section-heading p{max-width:780px}
.listen-format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.listen-format-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 12px 30px rgba(9,42,80,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.listen-format-card:hover{transform:translateY(-3px);border-color:rgba(196,31,47,.35);box-shadow:0 18px 36px rgba(9,42,80,.11)}
.listen-format-card__mark{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:54px;padding:6px 10px;border-radius:999px;background:var(--red);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.06em}
.listen-format-card strong{font-size:1.05rem}
.listen-format-card span:last-child{color:var(--muted);font-size:.92rem;line-height:1.5}
.radio-portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.radio-portal-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-weight:750;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease}
.radio-portal-grid a:hover{border-color:var(--red);background:#fff7f7;color:var(--red)}
.radio-portal-grid a span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:980px){.listen-format-grid,.radio-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.keep-together{white-space:normal}.listen-format-grid,.radio-portal-grid{grid-template-columns:1fr}}


/* Fase 17: luisterkop op één regel en moderne luisterhulp */
.listen-section-heading{width:100%!important;max-width:none!important}
.listen-section-heading>div{display:block!important;width:100%!important;max-width:none!important}
.listen-section-heading .listen-nowrap-title{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:.45rem 0 .75rem!important;
    white-space:nowrap!important;
    font-size:clamp(1.55rem,3vw,2.45rem)!important;
    line-height:1.12!important;
}
.listen-help-heading{max-width:820px;margin:0 auto 28px;text-align:center}
.listen-help-heading h2{margin:.45rem 0 .75rem;color:var(--navy);font-size:clamp(1.7rem,3vw,2.4rem)}
.listen-help-heading p{margin:0;color:var(--muted);line-height:1.65}
.listen-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.listen-help-grid details{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(9,42,80,.06);overflow:hidden}
.listen-help-grid summary{position:relative;cursor:pointer;list-style:none;padding:19px 52px 19px 20px;color:var(--navy);font-weight:850;line-height:1.35}
.listen-help-grid summary::-webkit-details-marker{display:none}
.listen-help-grid summary::after{content:'+';position:absolute;right:20px;top:50%;translate:0 -50%;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff4f4;color:var(--red);font-size:1.2rem;font-weight:900}
.listen-help-grid details[open] summary::after{content:'–'}
.listen-help-grid details p{margin:0;padding:0 20px 20px;color:var(--muted);line-height:1.65}
@media(max-width:760px){
  .listen-help-grid{grid-template-columns:1fr}
  .listen-section-heading .listen-nowrap-title{font-size:clamp(1.08rem,5vw,1.55rem)!important;letter-spacing:-.02em}
}


/* Fase 18: bedrijfsgegevens, WhatsApp en streams voor internetradio */
.listen-section-heading--stacked{display:block!important;width:100%!important;max-width:900px!important;margin-bottom:26px}
.listen-section-heading--stacked h2{margin:.45rem 0 .75rem;color:var(--navy);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.12}
.listen-section-heading--stacked p{margin:0;color:var(--muted);line-height:1.65}
.stream-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.stream-address-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(9,42,80,.07)}
.stream-address-card--primary{border-top:5px solid var(--red)}
.stream-address-card__label{color:var(--red-dark);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.stream-address-card h3{margin:0;color:var(--navy);font-size:1.35rem}
.stream-address-card code{display:block;width:100%;padding:13px 14px;border:1px solid #d9e1e8;border-radius:12px;background:#f5f8fa;color:#193653;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow-wrap:anywhere;user-select:all}
.stream-address-note{margin:18px 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}
.contact-whatsapp{display:flex;align-items:center;gap:13px;margin-top:18px;padding:15px 16px;border:1px solid rgba(255,255,255,.28);border-radius:15px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;transition:background .18s ease,transform .18s ease}
.contact-whatsapp:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.contact-whatsapp__icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#25d366;color:#073b1a;font-size:.72rem;font-weight:950}
.contact-whatsapp span:last-child{display:grid;gap:2px}
.contact-whatsapp small{color:rgba(255,255,255,.72);font-size:.78rem}
.company-details-section{padding-top:58px}
.company-details-heading{max-width:760px;margin:0 auto 30px;text-align:center}
.company-details-heading h2{margin:.45rem 0 .7rem;color:var(--navy);font-size:clamp(1.8rem,3vw,2.6rem)}
.company-details-heading p{margin:0;color:var(--muted);line-height:1.65}
.company-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.company-detail-card{position:relative;min-width:0;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(9,42,80,.07)}
.company-detail-card--wide{grid-column:1/-1}
.company-detail-card__number{display:inline-flex;margin-bottom:16px;color:var(--red);font-size:.74rem;font-weight:950;letter-spacing:.1em}
.company-detail-card h3{margin:0 0 16px;color:var(--navy);font-size:1.35rem}
.company-detail-card address{color:#405267;font-style:normal;line-height:1.75}
.company-detail-card__links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}
.company-detail-card__links a,.company-detail-card p a{color:var(--red-dark);font-weight:850;text-decoration:none}
.company-detail-card__links a:hover,.company-detail-card p a:hover{text-decoration:underline}
.company-data-list{display:grid;gap:0;margin:0}
.company-data-list div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #e8edf1}
.company-data-list div:last-child{border-bottom:0}
.company-data-list dt{color:var(--muted);font-size:.86rem;font-weight:800}
.company-data-list dd{margin:0;color:var(--navy);font-weight:850;overflow-wrap:anywhere}
.company-detail-card--wide p{max-width:860px;margin:0;color:var(--muted);line-height:1.7}
.company-detail-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:760px){.stream-address-grid,.company-details-grid{grid-template-columns:1fr}.company-detail-card--wide{grid-column:auto}.company-data-list div{grid-template-columns:1fr;gap:4px}.company-detail-card__actions .button{width:100%}}


/* Fase 19: modern contact, juridische pagina's en database-links */
.contact-hero--refined .contact-hero__inner{align-items:center;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)}
.contact-hero__quicklinks{display:grid;gap:12px}
.contact-hero__quicklinks a{display:grid;gap:3px;padding:15px 18px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.contact-hero__quicklinks span{font-size:.82rem;color:rgba(255,255,255,.72)}
.contact-layout-modern{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;align-items:start}
.contact-side-stack{display:grid;gap:22px}
.whatsapp-card,.contact-details-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(9,42,80,.08)}
.whatsapp-card{border-top:6px solid #25d366}
.whatsapp-card__badge{display:inline-flex;padding:6px 11px;border-radius:999px;background:#e9fbef;color:#157638;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.whatsapp-card h2,.contact-details-card h2{margin:14px 0 10px;color:var(--navy);font-size:1.45rem}
.whatsapp-card p{color:var(--muted);line-height:1.6}
.whatsapp-form{display:grid;gap:15px;margin-top:20px}.whatsapp-form label{display:grid;gap:7px;color:var(--navy);font-weight:800;font-size:.88rem}
.whatsapp-form input,.whatsapp-form textarea{width:100%;padding:13px 14px;border:1px solid #d6dee7;border-radius:13px;background:#fbfcfd;font:inherit;color:var(--navy)}
.whatsapp-form input:focus,.whatsapp-form textarea:focus{outline:3px solid rgba(37,211,102,.18);border-color:#25d366;background:#fff}
.whatsapp-submit{border:0;border-radius:13px;padding:14px 18px;background:#25d366;color:#073b1a;font-weight:950;cursor:pointer}
.whatsapp-card small{display:block;margin-top:11px;color:var(--muted);line-height:1.45}
.contact-details-card address{margin:14px 0 18px;color:#405267;font-style:normal;line-height:1.75}.contact-details-card dl{display:grid;margin:0}.contact-details-card dl div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:10px 0;border-top:1px solid #e8edf1}.contact-details-card dt{color:var(--muted);font-weight:750}.contact-details-card dd{margin:0;color:var(--navy);font-weight:800;overflow-wrap:anywhere}.contact-details-card a{color:var(--red-dark);text-decoration:none}
.contact-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.contact-action-grid article{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(9,42,80,.06)}.contact-action-grid article>span{color:var(--red);font-weight:950;font-size:.75rem}.contact-action-grid h3{margin:12px 0 8px;color:var(--navy)}.contact-action-grid p{margin:0 0 16px;color:var(--muted);line-height:1.55}.contact-action-grid a{margin-top:auto;color:var(--red-dark);font-weight:900;text-decoration:none}
.legal-hero{padding:56px 0;background:linear-gradient(135deg,#092a50,#16426d);color:#fff}.legal-hero h1{margin:.45rem 0 .7rem;font-size:clamp(2rem,5vw,3.4rem)}.legal-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.8);line-height:1.7}
.legal-main,.links-main{padding:58px 0}.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;align-items:start}.legal-toc{position:sticky;top:22px;display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.legal-toc strong{margin-bottom:6px;color:var(--navy)}.legal-toc a{color:var(--muted);text-decoration:none}.legal-toc a:hover{color:var(--red)}.legal-content{display:grid;gap:18px}.legal-content section{padding:26px 28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(9,42,80,.05)}.legal-content h2{margin:0 0 12px;color:var(--navy)}.legal-content p,.legal-content li{color:#405267;line-height:1.75}.legal-content a{color:var(--red-dark);font-weight:800}
.link-groups{display:grid;gap:38px}.link-group h2{margin:0 0 16px;color:var(--navy)}.link-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.link-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:23px;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 10px 26px rgba(9,42,80,.05)}.link-card:hover{border-color:rgba(196,31,47,.45);transform:translateY(-2px)}.link-card span{color:var(--muted);line-height:1.55}.link-card em{margin-top:auto;color:var(--red-dark);font-style:normal;font-weight:900}
@media(max-width:980px){.contact-layout-modern{grid-template-columns:1fr}.contact-action-grid,.link-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.contact-hero--refined .contact-hero__inner{grid-template-columns:1fr}.contact-action-grid,.link-card-grid{grid-template-columns:1fr}.legal-toc{grid-template-columns:1fr}.contact-details-card dl div{grid-template-columns:1fr;gap:3px}}


/* Fase 20.1: vaste merknamen nooit tussen de woorden afbreken. */
.brand-name,.brand-lock{white-space:nowrap;display:inline-block}
.device-stream-card h2,.contact-location__content h2{max-width:none;width:100%;overflow-wrap:normal;word-break:normal}
@media (min-width: 760px){
  .device-stream-card h2,.contact-location__content h2{white-space:nowrap;font-size:clamp(1.45rem,2.2vw,2.25rem)}
}


/* Fase 20.1 definitief: koppen op één regel zonder afkappen. */
.listen-device-title{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:.45rem 0 .75rem!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:clamp(.95rem,3.15vw,2.05rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
}
.contact-location__grid{
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)!important;
}
.contact-location__content{
  overflow:visible!important;
}
.contact-location-title{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:clamp(1.05rem,1.65vw,1.72rem)!important;
  letter-spacing:-.025em;
}
@media(max-width:930px){
  .contact-location__grid{grid-template-columns:1fr!important}
  .contact-location-title{font-size:clamp(1.05rem,4.4vw,1.9rem)!important}
}
@media(max-width:480px){
  .listen-device-title{font-size:clamp(.82rem,3.65vw,1.05rem)!important}
  .contact-location-title{font-size:clamp(.9rem,4.05vw,1.12rem)!important}
}


/* Gastenboek */
.guestbook-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem;align-items:start}
.guestbook-form-card,.guestbook-post{background:#fff;border:1px solid #e3e8ee;border-radius:18px;box-shadow:0 10px 30px rgba(9,42,80,.08)}
.guestbook-form-card{padding:1.5rem;position:sticky;top:1rem}
.guestbook-posts{display:grid;gap:1rem}.guestbook-posts h2{margin:0 0 .25rem}
.guestbook-post{padding:1.25rem}.guestbook-post header{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #edf1f5;padding-bottom:.7rem;margin-bottom:.8rem}.guestbook-post time{color:#607080;font-size:.9rem}.guestbook-post p{margin:0;line-height:1.7}
.form-honeypot{position:absolute!important;left:-9999px!important}
@media(max-width:800px){.guestbook-layout{grid-template-columns:1fr}.guestbook-form-card{position:static}.guestbook-post header{display:block}.guestbook-post time{display:block;margin-top:.25rem}}


/* Gastenboek: 10 berichten per pagina, twee kolommen, formulier onderaan */
.guestbook-page{display:grid;gap:2.25rem}
.guestbook-posts-section{min-width:0}
.guestbook-heading,.guestbook-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.guestbook-heading h2,.guestbook-form-heading h2{margin:.1rem 0 0}
.guestbook-heading>p{margin:0;color:#607080;font-weight:700}
.guestbook-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.guestbook-post{height:100%;display:flex;flex-direction:column}
.guestbook-post p{flex:1}
.guestbook-more{display:flex;justify-content:center;margin-top:1.5rem}
.guestbook-form-card{position:static;top:auto;max-width:900px;width:100%;margin:0 auto;padding:clamp(1.25rem,3vw,2rem)}
.guestbook-form{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:1.1rem 1.25rem;align-items:start}
.guestbook-form .form-group:nth-of-type(2){grid-column:2;grid-row:1 / span 2}
.guestbook-form button{grid-column:1;justify-self:start}
@media(max-width:800px){
  .guestbook-post-grid{grid-template-columns:1fr}
  .guestbook-heading,.guestbook-form-heading{display:block}
  .guestbook-heading>p{margin-top:.35rem}
  .guestbook-form{grid-template-columns:1fr}
  .guestbook-form .form-group:nth-of-type(2),.guestbook-form button{grid-column:auto;grid-row:auto}
}


/* Gastenboek professionele vormgeving */
.guestbook-page{gap:3rem}
.guestbook-posts-section,.guestbook-form-card{max-width:1180px;width:100%;margin-inline:auto}
.guestbook-heading{padding-bottom:1rem;border-bottom:1px solid #dfe6ed}
.guestbook-post-grid{gap:1.35rem}
.guestbook-post{
  position:relative;
  min-height:210px;
  padding:1.5rem 1.6rem 1.65rem;
  border:1px solid #dce4eb;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%);
  box-shadow:0 12px 34px rgba(9,42,80,.09);
  overflow:hidden;
}
.guestbook-post::after{
  content:"“";
  position:absolute;
  right:1rem;
  bottom:-1.2rem;
  font-size:7rem;
  line-height:1;
  font-family:Georgia,serif;
  color:rgba(192,25,37,.07);
  pointer-events:none;
}
.guestbook-post__header{
  display:flex!important;
  align-items:center;
  justify-content:flex-start!important;
  gap:.9rem!important;
  padding:0 0 1rem!important;
  margin:0 0 1rem!important;
  border-bottom:1px solid #e7edf2!important;
}
.guestbook-post__avatar{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#c01925;
  color:#fff;
  font-weight:800;
  font-size:1.05rem;
}
.guestbook-post__meta{display:flex;flex-direction:column;min-width:0}
.guestbook-post__meta strong{font-size:1.05rem;color:#0a2a50;line-height:1.2}
.guestbook-post__meta time{margin-top:.25rem;color:#6b7785;font-size:.88rem}
.guestbook-post__message{
  position:relative;
  z-index:1;
  color:#263746;
  font-size:1rem;
  line-height:1.78;
  overflow-wrap:anywhere;
}
.guestbook-more{margin-top:2rem}
.guestbook-form-card{
  max-width:1040px;
  padding:clamp(1.6rem,4vw,3rem);
  border:1px solid #dce4eb;
  border-top:5px solid #c01925;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 42px rgba(9,42,80,.11);
}
.guestbook-form-heading{display:block;margin-bottom:.65rem}
.guestbook-form-heading h2{font-size:clamp(1.65rem,3vw,2.2rem)}
.guestbook-form-intro{max-width:760px;margin:0 0 1.6rem;color:#526272;line-height:1.7}
.guestbook-form{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
.guestbook-form .form-group:nth-of-type(2),.guestbook-form button{grid-column:auto;grid-row:auto}
.guestbook-form .form-group{display:grid;gap:.55rem}
.guestbook-form label{font-weight:800;color:#0a2a50}
.guestbook-form input,
.guestbook-form textarea{
  width:100%;
  border:1px solid #cfd9e2;
  border-radius:12px;
  background:#fdfefe;
  color:#172b3a;
  font:inherit;
  padding:.95rem 1rem;
  box-shadow:inset 0 1px 2px rgba(9,42,80,.03);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.guestbook-form input{min-height:52px}
.guestbook-form textarea{min-height:260px;resize:vertical;line-height:1.65}
.guestbook-form input:focus,.guestbook-form textarea:focus{
  outline:0;
  border-color:#c01925;
  background:#fff;
  box-shadow:0 0 0 4px rgba(192,25,37,.12);
}
.guestbook-form button{min-width:220px;min-height:52px;justify-self:start;font-size:1rem}
@media(max-width:800px){
  .guestbook-post{min-height:0;padding:1.25rem}
  .guestbook-form-card{padding:1.35rem}
  .guestbook-form textarea{min-height:220px}
  .guestbook-form button{width:100%;justify-self:stretch}
}
