:root{--bg:#100d15;--panel:#1b1622;--panel2:#241d2b;--text:#fff;--muted:#b8afbf;--red:#C32D2B;--purple:#423954;--line:rgba(255,255,255,.1);--max:1500px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);position:sticky;top:0;z-index:30;background:rgba(16,13,21,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand img{width:190px;display:block}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{font-weight:800;font-size:15px}.nav-cta{background:var(--red);padding:12px 18px;border-radius:999px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;padding:10px;gap:5px;flex-direction:column;justify-content:center}.menu-toggle span{height:2px;width:100%;background:white;display:block}.hero{min-height:620px;position:relative;display:flex;align-items:flex-end;padding:72px clamp(18px,5vw,80px);background-image:var(--hero-image);background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,21,.95) 0%,rgba(16,13,21,.55) 45%,rgba(16,13,21,.12) 75%),linear-gradient(0deg,rgba(16,13,21,.86),transparent 55%)}.hero-copy{position:relative;z-index:1;max-width:760px}.eyebrow{font-size:13px;letter-spacing:.18em;font-weight:900;color:#ff736e}.hero h1{font-size:clamp(50px,6.4vw,110px);line-height:.88;letter-spacing:-.06em;margin:14px 0 22px}.hero p{font-size:clamp(18px,1.5vw,24px);line-height:1.45;color:#e4dde7;max-width:650px}.hero-meta{display:flex;gap:10px;align-items:center;margin:24px 0;font-size:17px}.hero-actions{display:flex;gap:12px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:10px;color:#fff;font-weight:900;cursor:pointer}.primary-button{background:var(--red)}.secondary-button{background:var(--purple)}main{max-width:var(--max);margin:0 auto;padding:70px clamp(18px,4vw,64px) 100px}.intro-line{display:grid;grid-template-columns:220px 1fr;gap:30px;margin-bottom:40px}.intro-line>span{font-size:12px;letter-spacing:.18em;font-weight:900;color:#ff736e;padding-top:10px}.intro-line h2{font-size:clamp(38px,5vw,74px);margin:0;letter-spacing:-.05em}.agenda-section{scroll-margin-top:105px}.agenda-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:34px}.filter-strip{display:flex;gap:10px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:#1a1520;color:white;border-radius:999px;padding:12px 17px;font-weight:800;cursor:pointer}.filter-chip.active{background:var(--red);border-color:var(--red)}.agenda-controls{display:flex;gap:12px;align-items:center}.agenda-controls label{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:14px}.agenda-controls select,.date-filter{border:1px solid var(--line);background:#1a1520;color:#fff;padding:10px 12px;border-radius:10px}.agenda-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.event-card{min-width:0;background:var(--panel);border-radius:18px;overflow:hidden;cursor:pointer;transition:.2s;outline:none}.event-card:hover,.event-card:focus{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.25)}.card-image-wrap{aspect-ratio:16/10;position:relative;overflow:hidden}.card-image-wrap img{width:100%;height:100%;object-fit:cover}.card-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,13,21,.65),transparent 55%)}.category-pill{position:absolute;left:14px;bottom:14px;background:rgba(195,45,43,.95);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}.category-pill.static{position:static;display:inline-block}.card-copy{padding:18px}.card-copy h3{font-size:21px;line-height:1.06;margin:0 0 10px;letter-spacing:-.025em}.card-copy p{margin:5px 0}.venue{color:#d8cedc}.when{color:#ff746f;font-weight:900;font-size:14px}.empty-state{padding:70px;text-align:center;background:var(--panel);border-radius:18px}.empty-state h3{font-size:28px;margin:0 0 8px}footer{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);padding:38px clamp(18px,4vw,64px) 50px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}footer img{width:160px}footer div{display:flex;gap:20px}dialog{background:var(--panel);color:#fff;border:1px solid var(--line);border-radius:20px;padding:0;max-width:760px;width:calc(100% - 32px);box-shadow:0 30px 100px rgba(0,0,0,.55)}dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#111;color:#fff;font-size:28px;z-index:2}.dialog-image{width:100%;height:330px;object-fit:cover}.dialog-copy{padding:28px}.dialog-copy h2{font-size:42px;line-height:1;margin:16px 0}.dialog-venue{color:var(--muted)}.schedule-list{display:grid;gap:8px;margin:10px 0 24px}.schedule-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0}.link-button{margin-top:5px}.loading,.error-state{min-height:100vh;display:grid;place-items:center;align-content:center;gap:20px}.loading img{width:220px}
/* Deelnemers */.subpage-hero{padding:70px clamp(18px,4vw,64px) 45px;max-width:var(--max);margin:auto}.subpage-hero h1{font-size:clamp(48px,7vw,92px);letter-spacing:-.06em;margin:8px 0 15px}.subpage-hero p{color:var(--muted);font-size:20px;max-width:760px;line-height:1.5}.participants-grid{max-width:var(--max);margin:auto;padding:0 clamp(18px,4vw,64px) 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.participant-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;gap:16px;align-items:center}.participant-avatar{flex:0 0 62px;width:62px;height:62px;border-radius:50%;background:var(--purple);display:grid;place-items:center;font-weight:900}.participant-card h2{font-size:18px;margin:0 0 8px}.participant-card a{display:inline-block;color:#ff746f;font-size:13px;font-weight:800;margin-right:12px}
/* Form */.form-wrap{max-width:980px;margin:auto;padding:0 clamp(18px,4vw,64px) 100px}.activity-form{display:grid;gap:22px}.form-section{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px}.form-section h2{margin:0 0 20px;font-size:25px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800}.field small{color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#120f17;color:#fff;border-radius:10px;padding:13px 14px}.field textarea{min-height:120px;resize:vertical}.required-star{color:#ff746f}.extra-settings{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.extra-settings summary{padding:22px 26px;font-size:20px;font-weight:900;cursor:pointer}.extra-settings .extra-inner{padding:0 26px 26px}.checkbox-row{display:flex;align-items:center;gap:9px}.checkbox-row input{width:auto}.submit-row{display:flex;align-items:center;gap:14px}.submit-note{color:var(--muted);font-size:13px}
/* Participant narrowcast */.participant-cast-body{margin:0;overflow:hidden;background:#0c0910}.pc-shell{width:100vw;height:100vh;padding:2.2vh 2.2vw 1.5vh;display:grid;grid-template-rows:auto 1fr auto;gap:1.5vh}.pc-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2vw}.pc-header img{width:min(18vw,290px);max-height:8vh}.pc-header span{font-size:clamp(10px,1vw,20px);letter-spacing:.18em;color:#ff746f;font-weight:900}.pc-header h1{font-size:clamp(22px,2.8vw,54px);margin:.2vh 0 0;line-height:.95}.pc-date{text-transform:capitalize;font-size:clamp(12px,1.1vw,22px);color:#cfc6d3;text-align:right}.pc-grid{display:grid;gap:1.1vw;min-height:0}.pc-card{position:relative;min-height:0;overflow:hidden;border-radius:1.1vw;background:var(--purple)}.pc-card img{width:100%;height:100%;object-fit:cover}.pc-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,8,15,.96),rgba(11,8,15,.1) 75%)}.pc-copy{position:absolute;left:1.35vw;right:1.35vw;bottom:1.25vw}.pc-copy>span{font-size:clamp(9px,.7vw,14px);font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#ff746f}.pc-copy h2{font-size:clamp(24px,2.6vw,52px);line-height:.92;letter-spacing:-.045em;margin:.35vw 0 .45vw}.pc-copy p{margin:0;color:#ded6e1;font-size:clamp(12px,1vw,19px)}.pc-copy strong{display:block;color:#ff746f;font-size:clamp(13px,1.15vw,22px);margin-top:.35vw}.pc-footer{border-top:1px solid var(--line);padding-top:1vh;display:flex;justify-content:space-between;color:#b0a7b7;font-size:clamp(10px,.75vw,15px)}.pc-empty{display:grid;place-items:center;text-align:center;align-content:center}.pc-empty h2{font-size:5vw;margin:0}.pc-empty p{font-size:1.4vw;color:var(--muted);max-width:750px}.count-1 .pc-grid{grid-template-columns:1fr}.count-2 .pc-grid{grid-template-columns:repeat(2,1fr)}.count-3 .pc-grid{grid-template-columns:repeat(3,1fr)}.count-4 .pc-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.count-5 .pc-grid,.count-6 .pc-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.count-7 .pc-grid,.count-8 .pc-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}
@media(max-width:1050px){.agenda-grid{grid-template-columns:repeat(3,1fr)}.participants-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:74px}.brand img{width:155px}.menu-toggle{display:flex}.main-nav{position:fixed;left:0;right:0;top:74px;background:#15101b;border-bottom:1px solid var(--line);padding:22px 18px 28px;display:none;flex-direction:column;align-items:stretch;gap:8px}.main-nav.open{display:flex}.main-nav a{padding:14px 4px;font-size:18px}.main-nav .nav-cta{text-align:center;padding:14px}.hero{min-height:560px;padding:50px 18px}.hero h1{font-size:56px}.hero-shade{background:linear-gradient(0deg,rgba(16,13,21,.95) 0%,rgba(16,13,21,.35) 70%)}main{padding:48px 18px 70px}.intro-line{grid-template-columns:1fr;gap:8px}.agenda-toolbar{flex-direction:column}.agenda-controls{width:100%;justify-content:space-between;flex-wrap:wrap}.agenda-grid{grid-template-columns:1fr 1fr;gap:12px}.card-copy{padding:14px}.card-copy h3{font-size:18px}.participants-grid{grid-template-columns:1fr;padding:0 18px 70px}.subpage-hero{padding:45px 18px 30px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-wrap{padding:0 18px 70px}.form-section{padding:20px}.extra-settings summary{padding:20px}.extra-settings .extra-inner{padding:0 20px 20px}footer{padding:30px 18px;align-items:flex-start;gap:20px;flex-direction:column}dialog .dialog-image{height:240px}.dialog-copy h2{font-size:34px}.schedule-list>div{flex-direction:column;gap:4px}}
@media(max-width:480px){.agenda-grid{grid-template-columns:1fr}.hero h1{font-size:47px}.hero-actions{flex-direction:column}.primary-button,.secondary-button{width:100%}}
@media(orientation:portrait){.participant-cast-body .pc-shell{padding:1.5vh 2.8vw}.participant-cast-body .pc-header{grid-template-columns:1fr auto}.participant-cast-body .pc-header img{width:30vw}.participant-cast-body .pc-header>div:nth-child(2){grid-column:1/-1;grid-row:2}.participant-cast-body .pc-header h1{font-size:4.2vw}.participant-cast-body .pc-grid{gap:1.5vw}.participant-cast-body .count-2 .pc-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,1fr)}.participant-cast-body .count-3 .pc-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.participant-cast-body .count-4 .pc-grid,.participant-cast-body .count-5 .pc-grid,.participant-cast-body .count-6 .pc-grid,.participant-cast-body .count-7 .pc-grid,.participant-cast-body .count-8 .pc-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr}.participant-cast-body .pc-copy h2{font-size:4vw}.participant-cast-body .pc-copy p{font-size:2vw}.participant-cast-body .pc-copy strong{font-size:2.2vw}.participant-cast-body .pc-copy>span{font-size:1.5vw}}

.submit-status{margin:22px 0 0;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.08);color:#fff}
.submit-status.error{background:rgba(195,45,43,.18);border:1px solid rgba(195,45,43,.55)}

.card-image-wrap{position:relative}
.price-pill{position:absolute;right:12px;bottom:12px;z-index:3;background:rgba(15,15,18,.88);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
.card-organizer{margin:3px 0 2px;color:#d8d1e5;font-size:.82rem;font-weight:700}
.event-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}
.event-detail{padding:13px 14px;background:#17171d;min-width:0}
.event-detail span{display:block;color:#aaa4b2;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.event-detail strong{display:block;color:#fff;font-size:.95rem;overflow-wrap:anywhere}
.public-contact{margin-top:22px;padding-top:2px}
.public-contact p{color:#ddd6e7}
.public-contact a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.dialog-actions .link-button{margin:0}
@media(max-width:650px){
  .event-details{grid-template-columns:1fr}
}

#extra-occurrences{min-height:110px;font-family:inherit}
.schedule-list>div{gap:18px}
.schedule-list>div span{line-height:1.45}

.schedule-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.schedule-type-card{position:relative;min-height:142px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel2);cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:.18s}
.schedule-type-card:hover{border-color:rgba(255,255,255,.24);transform:translateY(-1px)}
.schedule-type-card.active{background:var(--purple);border-color:#ff6a64;box-shadow:0 0 0 1px rgba(255,106,100,.35)}
.schedule-type-card input{position:absolute;opacity:0;pointer-events:none}
.schedule-type-card strong{font-size:19px;line-height:1.05}
.schedule-type-card span{color:#c8bdce;font-size:14px;font-weight:700}
.schedule-type-card small{margin-top:auto;color:#94899d;line-height:1.35;font-size:12px}
.schedule-type-card.active small{color:#ddd4e4}
.schedule-type-help{margin:12px 0 0;color:var(--muted);font-size:13px}
@media(max-width:980px){.schedule-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.schedule-type-grid{grid-template-columns:1fr}.schedule-type-card{min-height:118px}}


/* Gezamenlijke narrowcasting — responsive 16:9 / 9:16 */
.narrowcast-body{margin:0;overflow:hidden;background:#0b0810;color:#fff}
.narrowcast-body #screen{width:100vw;height:100vh}
.joint-nc-shell{width:100vw;height:100vh;padding:2.2vh 2.3vw;display:grid;grid-template-rows:auto 1fr;gap:1.7vh;background:radial-gradient(circle at 80% 0%,rgba(66,57,84,.42),transparent 35%),#0b0810}
.joint-nc-top{display:grid;grid-template-columns:auto 1fr auto;gap:2vw;align-items:center;min-height:8vh}
.joint-nc-top img{width:min(16vw,280px);max-height:7.5vh;display:block}
.joint-nc-top div span{display:block;color:#ff746f;font-weight:900;letter-spacing:.18em;font-size:clamp(10px,.75vw,15px)}
.joint-nc-top div strong{display:block;font-size:clamp(20px,2vw,38px);line-height:1;margin-top:.25vh}
.joint-nc-top time{font-size:clamp(18px,2vw,38px);font-weight:900}
.joint-nc-days{min-height:0;display:grid;grid-template-rows:1fr 1fr;gap:1.8vh}
.joint-nc-day{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:.75vh}
.joint-nc-dayhead{display:flex;align-items:end;justify-content:space-between;gap:1vw}
.joint-nc-dayhead div{display:flex;align-items:baseline;gap:1.2vw}
.joint-nc-dayhead span{font-size:clamp(20px,2.25vw,44px);font-weight:1000;letter-spacing:-.035em;color:#fff}
.joint-nc-dayhead strong{font-size:clamp(12px,1vw,19px);text-transform:capitalize;color:#c7bdcc}
.joint-nc-dayhead em{font-style:normal;color:#9d93a4;font-size:clamp(10px,.8vw,15px)}
.joint-nc-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1vw}
.joint-nc-card{min-height:0;overflow:hidden;border-radius:1.05vw;background:#18131d;border:1px solid rgba(255,255,255,.08);display:grid;grid-template-rows:55% 45%}
.joint-nc-image{position:relative;min-height:0;overflow:hidden}
.joint-nc-image img{width:100%;height:100%;object-fit:cover;display:block}
.joint-nc-image div{position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,8,16,.55),transparent 55%)}
.joint-nc-copy{min-height:0;padding:.85vw 1vw 1vw;display:grid;grid-template-rows:auto minmax(2.25em,auto) auto auto;align-content:start}
.joint-nc-copy>span{color:#ff746f;text-transform:uppercase;font-weight:900;letter-spacing:.1em;font-size:clamp(9px,.62vw,12px)}
.joint-nc-copy h3{font-size:clamp(20px,1.65vw,32px);line-height:1.02;letter-spacing:-.035em;margin:.3vw 0 .3vw;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.joint-nc-copy p{margin:0;color:#cfc5d2;font-size:clamp(11px,.8vw,16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.joint-nc-copy strong{margin-top:.35vw;color:#fff;font-size:clamp(13px,1vw,20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.joint-nc-empty{height:100%;display:grid;place-items:center;background:#15111a;border:1px solid rgba(255,255,255,.07);border-radius:1vw;color:#a99eaf;font-size:1.2vw}
.joint-nc-error{width:100vw;height:100vh;display:grid;place-items:center;font-size:4vw}

@media(orientation:portrait){
  .joint-nc-shell{padding:1.4vh 3vw;gap:1.2vh}
  .joint-nc-top{grid-template-columns:1fr auto;gap:2vw;min-height:7vh}
  .joint-nc-top img{width:31vw;max-height:6vh}
  .joint-nc-top>div{grid-column:1/-1;grid-row:2}
  .joint-nc-top div strong{font-size:4.2vw}
  .joint-nc-top time{font-size:3.4vw;grid-row:1;grid-column:2}
  .joint-nc-days{gap:1.3vh}
  .joint-nc-dayhead div{gap:2vw}
  .joint-nc-dayhead span{font-size:5.4vw}
  .joint-nc-dayhead strong{font-size:2.25vw}
  .joint-nc-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:1.5vw}
  .joint-nc-card{border-radius:2vw;grid-template-rows:54% 46%}
  .joint-nc-copy{padding:1.4vw 1.7vw 1.5vw}
  .joint-nc-copy>span{font-size:1.45vw}
  .joint-nc-copy h3{font-size:3.4vw;margin:.6vw 0}
  .joint-nc-copy p{font-size:1.85vw}
  .joint-nc-copy strong{font-size:2.15vw;margin-top:.55vw}
  .joint-nc-empty{font-size:2.5vw;border-radius:2vw}
}


/* v18.10 — narrowcasting vult altijd het beschikbare scherm.
   Eén en dezelfde URL kiest automatisch landscape (16:9-stijl)
   of portrait (9:16-stijl) op basis van de actuele schermoriëntatie. */
html:has(.narrowcast-body),
html:has(.participant-cast-body){
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:#0b0810;
}
.narrowcast-body,
.participant-cast-body{
  width:100dvw;
  height:100dvh;
  min-width:100dvw;
  min-height:100dvh;
  max-width:100dvw;
  max-height:100dvh;
  margin:0;
  padding:0;
  overflow:hidden;
  position:fixed;
  inset:0;
  overscroll-behavior:none;
}
.narrowcast-body #screen,
.participant-cast-body #participant-screen{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.narrowcast-body .joint-nc-shell,
.participant-cast-body .pc-shell{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none;
  margin:0;
}

/* LANDSCAPE: bedoeld voor 16:9 displays */
@media (orientation:landscape){
  .narrowcast-body .joint-nc-shell{
    padding:2vh 2.2vw 1.6vh;
    gap:1.35vh;
  }
  .narrowcast-body .joint-nc-days{
    min-height:0;
    height:100%;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  }
  .narrowcast-body .joint-nc-day,
  .narrowcast-body .joint-nc-grid,
  .narrowcast-body .joint-nc-card{
    min-width:0;
    min-height:0;
  }
  .participant-cast-body .pc-shell{
    padding:2vh 2.1vw 1.25vh;
  }
}

/* PORTRAIT: bedoeld voor 9:16 displays */
@media (orientation:portrait){
  .narrowcast-body .joint-nc-shell{
    padding:1.3vh 2.7vw 1.1vh;
    gap:1vh;
  }
  .narrowcast-body .joint-nc-days{
    min-height:0;
    height:100%;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  }
  .narrowcast-body .joint-nc-day{
    min-height:0;
  }
  .narrowcast-body .joint-nc-grid{
    min-height:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  .participant-cast-body .pc-shell{
    padding:1.25vh 2.5vw 1vh;
  }
}

/* Bij browser-chrome / digital-signage afwijkingen blijft het canvas exact
   binnen de dynamische viewport; nooit scrollbars. */
@supports not (height:100dvh){
  .narrowcast-body,
  .participant-cast-body{
    width:100vw;
    height:100vh;
    min-width:100vw;
    min-height:100vh;
    max-width:100vw;
    max-height:100vh;
  }
}

.example-pill{position:absolute;left:12px;top:12px;z-index:4;background:#fff;color:#151018;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:1000;letter-spacing:.08em}
.example-event-card{outline:1px solid rgba(255,255,255,.08)}


/* ==========================================================
   v18.12 FIXED NARROWCAST CANVAS
   Eén URL, maar twee vaste ontwerpen:
   - landscape: 1920 x 1080
   - portrait: 1080 x 1920
   Het volledige canvas schaalt als één geheel mee met het scherm.
   ========================================================== */
.narrowcast-body,
.participant-cast-body{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0b0810!important;
}
.narrowcast-body #screen,
.participant-cast-body #participant-screen{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.narrowcast-body .joint-nc-shell,
.participant-cast-body .pc-shell{
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* -------- gezamenlijke narrowcasting LANDSCAPE 1920x1080 -------- */
.nc-landscape .joint-nc-shell{
  padding:34px 42px 28px!important;
  display:grid!important;
  grid-template-rows:105px 1fr!important;
  gap:18px!important;
  background:radial-gradient(circle at 82% 0%,rgba(66,57,84,.46),transparent 36%),#0b0810!important;
}
.nc-landscape .joint-nc-top{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:260px 1fr 150px!important;
  align-items:center!important;
  gap:28px!important;
}
.nc-landscape .joint-nc-top img{width:250px!important;max-height:82px!important}
.nc-landscape .joint-nc-top div span{font-size:13px!important}
.nc-landscape .joint-nc-top div strong{font-size:38px!important;margin-top:5px!important}
.nc-landscape .joint-nc-top time{font-size:34px!important}
.nc-landscape .joint-nc-days{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  min-height:0!important;
}
.nc-landscape .joint-nc-day{
  display:grid!important;
  grid-template-rows:48px minmax(0,1fr)!important;
  gap:8px!important;
  min-height:0!important;
}
.nc-landscape .joint-nc-dayhead span{font-size:38px!important}
.nc-landscape .joint-nc-dayhead strong{font-size:17px!important}
.nc-landscape .joint-nc-dayhead em{font-size:14px!important}
.nc-landscape .joint-nc-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:20px!important;
  min-height:0!important;
}
.nc-landscape .joint-nc-card{
  border-radius:20px!important;
  display:grid!important;
  grid-template-rows:56% 44%!important;
  min-height:0!important;
}
.nc-landscape .joint-nc-copy{padding:15px 18px 17px!important}
.nc-landscape .joint-nc-copy>span{font-size:11px!important}
.nc-landscape .joint-nc-copy h3{font-size:29px!important;margin:6px 0 5px!important}
.nc-landscape .joint-nc-copy p{font-size:15px!important}
.nc-landscape .joint-nc-copy strong{font-size:18px!important;margin-top:7px!important}

/* -------- gezamenlijke narrowcasting PORTRAIT 1080x1920 -------- */
.nc-portrait .joint-nc-shell{
  padding:36px 40px 32px!important;
  display:grid!important;
  grid-template-rows:154px 1fr!important;
  gap:22px!important;
  background:radial-gradient(circle at 85% 0%,rgba(66,57,84,.5),transparent 35%),#0b0810!important;
}
.nc-portrait .joint-nc-top{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr 145px!important;
  grid-template-rows:72px 62px!important;
  gap:5px 20px!important;
  align-items:center!important;
}
.nc-portrait .joint-nc-top img{width:300px!important;max-height:70px!important}
.nc-portrait .joint-nc-top>div{grid-column:1/-1!important;grid-row:2!important}
.nc-portrait .joint-nc-top div span{font-size:13px!important}
.nc-portrait .joint-nc-top div strong{font-size:44px!important;margin-top:3px!important}
.nc-portrait .joint-nc-top time{grid-column:2!important;grid-row:1!important;font-size:31px!important}
.nc-portrait .joint-nc-days{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  gap:24px!important;
  min-height:0!important;
}
.nc-portrait .joint-nc-day{
  display:grid!important;
  grid-template-rows:62px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:0!important;
}
.nc-portrait .joint-nc-dayhead span{font-size:46px!important}
.nc-portrait .joint-nc-dayhead strong{font-size:21px!important}
.nc-portrait .joint-nc-dayhead em{font-size:16px!important}
.nc-portrait .joint-nc-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:0!important;
}
.nc-portrait .joint-nc-card{
  border-radius:22px!important;
  display:grid!important;
  grid-template-rows:57% 43%!important;
  min-height:0!important;
}
.nc-portrait .joint-nc-copy{padding:17px 19px 20px!important}
.nc-portrait .joint-nc-copy>span{font-size:12px!important}
.nc-portrait .joint-nc-copy h3{font-size:31px!important;margin:7px 0 6px!important}
.nc-portrait .joint-nc-copy p{font-size:17px!important}
.nc-portrait .joint-nc-copy strong{font-size:21px!important;margin-top:8px!important}

/* -------- participant narrowcast LANDSCAPE -------- */
.pc-landscape .pc-shell{
  padding:32px 40px 24px!important;
  display:grid!important;
  grid-template-rows:100px 1fr 32px!important;
  gap:16px!important;
}
.pc-landscape .pc-header{grid-template-columns:260px 1fr 330px!important;gap:26px!important}
.pc-landscape .pc-header img{width:250px!important;max-height:78px!important}
.pc-landscape .pc-header span{font-size:13px!important}
.pc-landscape .pc-header h1{font-size:48px!important}
.pc-landscape .pc-date{font-size:18px!important}
.pc-landscape .pc-grid{gap:18px!important}
.pc-landscape .pc-copy{left:24px!important;right:24px!important;bottom:22px!important}
.pc-landscape .pc-copy>span{font-size:12px!important}
.pc-landscape .pc-copy h2{font-size:38px!important;margin:7px 0 8px!important}
.pc-landscape .pc-copy p{font-size:17px!important}
.pc-landscape .pc-copy strong{font-size:20px!important}

/* -------- participant narrowcast PORTRAIT -------- */
.pc-portrait .pc-shell{
  padding:34px 38px 26px!important;
  display:grid!important;
  grid-template-rows:160px 1fr 38px!important;
  gap:18px!important;
}
.pc-portrait .pc-header{
  display:grid!important;
  grid-template-columns:1fr 260px!important;
  grid-template-rows:74px 72px!important;
  gap:4px 18px!important;
}
.pc-portrait .pc-header img{width:300px!important;max-height:72px!important}
.pc-portrait .pc-header>div:nth-child(2){grid-column:1/-1!important;grid-row:2!important}
.pc-portrait .pc-header span{font-size:13px!important}
.pc-portrait .pc-header h1{font-size:46px!important}
.pc-portrait .pc-date{font-size:19px!important}
.pc-portrait .pc-grid{gap:16px!important}
.pc-portrait .count-1 .pc-grid{grid-template-columns:1fr!important}
.pc-portrait .count-2 .pc-grid{grid-template-columns:1fr!important;grid-template-rows:repeat(2,1fr)!important}
.pc-portrait .count-3 .pc-grid{grid-template-columns:1fr!important;grid-template-rows:repeat(3,1fr)!important}
.pc-portrait .count-4 .pc-grid,
.pc-portrait .count-5 .pc-grid,
.pc-portrait .count-6 .pc-grid,
.pc-portrait .count-7 .pc-grid,
.pc-portrait .count-8 .pc-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;
}
.pc-portrait .pc-copy{left:22px!important;right:22px!important;bottom:20px!important}
.pc-portrait .pc-copy>span{font-size:12px!important}
.pc-portrait .pc-copy h2{font-size:34px!important;margin:7px 0!important}
.pc-portrait .pc-copy p{font-size:17px!important}
.pc-portrait .pc-copy strong{font-size:20px!important}

/* ==========================================================
   v18.13 — website cards: image first, minimal information
   ========================================================== */
.event-card{background:#1c1722}
.card-image-wrap{aspect-ratio:16/11}
.compact-card-copy{padding:17px 18px 19px}
.compact-card-copy h3{font-size:22px;margin:0 0 13px;line-height:1.04}
.card-date-time{display:flex;align-items:center;gap:12px;font-size:14px}
.card-date-time span{color:#ddd4e2;font-weight:800;text-transform:lowercase}
.card-date-time strong{color:#ff746f;font-size:15px}
.free-pill{position:absolute;right:13px;bottom:13px;z-index:4;background:#54df8d;color:#101411;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:1000}
.price-pill,.card-organizer,.event-card .venue{display:none!important}

/* ==========================================================
   v18.13 — detail modal: title + explanation + organiser +
   dates/times + price prominent; everything else collapsible.
   ========================================================== */
dialog{max-width:1040px;border-radius:24px;overflow:hidden;background:#1b1622}
.event-modal-hero{height:420px;position:relative;overflow:hidden}
.event-modal-hero .dialog-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.event-modal-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,14,25,.97) 0%,rgba(19,14,25,.45) 55%,rgba(19,14,25,.08) 100%)}
.event-modal-title{position:absolute;left:38px;right:90px;bottom:32px;z-index:2}
.event-modal-title .category-pill{margin-bottom:14px}
.event-modal-title h2{font-size:52px;line-height:.98;letter-spacing:-.04em;margin:0 0 13px}
.event-modal-title p{max-width:790px;color:#e7dfeb;font-size:18px;line-height:1.5;margin:0}
.event-modal-copy{padding:30px 38px 36px}
.event-primary-grid{display:grid;grid-template-columns:1fr auto;gap:18px;margin-bottom:28px}
.event-primary{border-bottom:1px solid var(--line);padding:0 0 20px}
.event-primary span{display:block;color:#a89dad;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.event-primary strong{font-size:20px}
.price-block{text-align:right;min-width:190px}
.price-block strong{font-size:28px}
.event-dates h3{font-size:22px;margin:0 0 13px}
.date-list{display:grid;gap:8px}
.date-row{display:grid;grid-template-columns:175px 1fr;gap:18px;align-items:center;background:#2a2132;border-radius:12px;padding:12px 15px}
.date-row strong{font-size:14px;text-transform:capitalize}
.date-row span{color:#ff7b76;font-weight:900;line-height:1.4}
.event-extra{margin-top:28px;border:1px solid var(--line);border-radius:15px;background:#211a28;overflow:hidden}
.event-extra summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;cursor:pointer}
.event-extra summary::-webkit-details-marker{display:none}
.event-extra summary span{display:flex;flex-direction:column;gap:4px}
.event-extra summary strong{font-size:18px}
.event-extra summary small{color:#aaa0b0;font-size:13px}
.event-extra summary b{font-size:25px;transition:.2s}
.event-extra[open] summary b{transform:rotate(180deg)}
.event-extra-content{padding:0 20px 22px}
.event-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.08);border-radius:12px;overflow:hidden}
.event-extra-grid>div{padding:13px 14px;background:#18131e}
.event-extra-grid span{display:block;color:#a89dad;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.event-extra-grid strong{font-size:14px;line-height:1.4}
.public-contact{margin-top:18px}
.dialog-actions{margin-top:24px}
@media(max-width:760px){
  .event-modal-hero{height:360px}
  .event-modal-title{left:22px;right:68px;bottom:22px}
  .event-modal-title h2{font-size:38px}
  .event-modal-title p{font-size:16px}
  .event-modal-copy{padding:24px 22px 28px}
  .event-primary-grid{grid-template-columns:1fr}
  .price-block{text-align:left}
  .date-row{grid-template-columns:1fr;gap:4px}
  .event-extra-grid{grid-template-columns:1fr}
}

/* ==========================================================
   v18.13 — narrowcasting: fixed 1920x1080 / 1080x1920
   canvases, but use almost the entire screen and image-first cards.
   ========================================================== */
.nc-landscape .joint-nc-shell{
  padding:22px 28px 18px!important;
  grid-template-rows:84px 1fr!important;
  gap:12px!important;
}
.nc-landscape .joint-nc-top{
  grid-template-columns:235px 1fr 135px!important;
  min-height:0!important;
  gap:22px!important;
  border-bottom:1px solid rgba(255,255,255,.09);
  padding-bottom:9px;
}
.nc-landscape .joint-nc-top img{width:220px!important;max-height:66px!important}
.nc-landscape .joint-nc-top div span{font-size:12px!important}
.nc-landscape .joint-nc-top div strong{font-size:34px!important}
.nc-landscape .joint-nc-top time{font-size:32px!important}
.nc-landscape .joint-nc-days{gap:10px!important}
.nc-landscape .joint-nc-day{grid-template-rows:48px minmax(0,1fr)!important;gap:7px!important}
.nc-landscape .joint-nc-dayhead{padding:0 4px}
.nc-landscape .joint-nc-dayhead span{font-size:31px!important}
.nc-landscape .joint-nc-dayhead strong{font-size:16px!important}
.nc-landscape .joint-nc-grid{gap:10px!important}
.nc-landscape .joint-nc-card{
  position:relative!important;
  display:block!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#17121d!important;
}
.joint-nc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.joint-nc-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,9,16,.96) 0%,rgba(12,9,16,.68) 30%,rgba(12,9,16,.06) 66%)}
.nc-landscape .joint-nc-copy{position:absolute!important;left:22px!important;right:22px!important;bottom:18px!important;padding:0!important;display:block!important}
.nc-landscape .joint-nc-copy>span{font-size:12px!important;color:#ff756f}
.nc-landscape .joint-nc-copy h3{font-size:31px!important;line-height:1.02!important;margin:6px 0 11px!important;min-height:0!important}
.joint-nc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.joint-nc-meta b,.joint-nc-meta strong,.joint-nc-meta em,.joint-nc-meta i{font-style:normal;border-radius:9px;background:rgba(66,57,84,.84);padding:7px 10px;font-size:15px}
.joint-nc-meta strong{color:#ff7b76}
.joint-nc-meta em{font-size:13px}
.joint-nc-meta i{background:#53df8d;color:#0d1a12;font-weight:1000}

.nc-portrait .joint-nc-shell{
  padding:24px 25px 19px!important;
  grid-template-rows:130px 1fr!important;
  gap:14px!important;
}
.nc-portrait .joint-nc-top{
  grid-template-columns:1fr 130px!important;
  grid-template-rows:64px 54px!important;
}
.nc-portrait .joint-nc-top img{width:255px!important;max-height:62px!important}
.nc-portrait .joint-nc-top div strong{font-size:38px!important}
.nc-portrait .joint-nc-top time{font-size:29px!important}
.nc-portrait .joint-nc-days{gap:15px!important}
.nc-portrait .joint-nc-day{grid-template-rows:61px minmax(0,1fr)!important;gap:9px!important}
.nc-portrait .joint-nc-dayhead span{font-size:40px!important}
.nc-portrait .joint-nc-dayhead strong{font-size:20px!important}
.nc-portrait .joint-nc-grid{gap:11px!important}
.nc-portrait .joint-nc-card{position:relative!important;display:block!important;border-radius:15px!important;overflow:hidden!important}
.nc-portrait .joint-nc-copy{position:absolute!important;left:22px!important;right:22px!important;bottom:20px!important;padding:0!important;display:block!important}
.nc-portrait .joint-nc-copy>span{font-size:13px!important;color:#ff756f}
.nc-portrait .joint-nc-copy h3{font-size:33px!important;line-height:1.03!important;margin:7px 0 12px!important;min-height:0!important}
.nc-portrait .joint-nc-meta b,.nc-portrait .joint-nc-meta strong,.nc-portrait .joint-nc-meta em,.nc-portrait .joint-nc-meta i{font-size:17px;padding:8px 11px}

/* Participant narrowcasting: same full-bleed card language. */
.pc-card{position:relative;overflow:hidden}
.pc-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-card .pc-shade{background:linear-gradient(0deg,rgba(12,9,16,.96) 0%,rgba(12,9,16,.68) 31%,rgba(12,9,16,.06) 67%)}
.pc-card .pc-copy{display:block!important}
.pc-card .pc-copy p{display:none!important}
.pc-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}
.pc-meta b,.pc-meta strong,.pc-meta i{font-style:normal;background:rgba(66,57,84,.84);border-radius:9px;padding:7px 10px}
.pc-meta strong{color:#ff7b76}
.pc-meta i{background:#53df8d;color:#101611;font-weight:1000}
.pc-landscape .pc-shell{padding:22px 28px 18px!important;grid-template-rows:88px 1fr 24px!important;gap:11px!important}
.pc-landscape .pc-grid{gap:10px!important}
.pc-landscape .pc-copy h2{font-size:36px!important}
.pc-portrait .pc-shell{padding:24px 25px 18px!important;grid-template-rows:135px 1fr 28px!important;gap:12px!important}
.pc-portrait .pc-grid{gap:11px!important}


/* ==========================================================
   v18.14 fixes — cleaner modal, no TEST label, better NC fill
   ========================================================== */
.example-pill,.example-event-card{display:none!important}
.card-image-wrap{aspect-ratio:16/10!important}
.compact-card-copy{padding:16px 18px 18px!important}
.compact-card-copy h3{font-size:22px!important;line-height:1.06!important;margin:0 0 12px!important}
.card-date-time{display:flex;gap:12px;align-items:center;font-size:14px}
.card-date-time span{color:#d7cfdd;font-weight:800;text-transform:lowercase}
.card-date-time strong{color:#ff7b76;font-size:15px}

dialog#event-dialog{max-width:min(1180px,94vw)!important;padding:0!important;border:1px solid rgba(255,255,255,.08)!important;background:#18131e!important}
#dialog-content{padding:0!important}
.event-modal-layout{display:grid;grid-template-columns:minmax(340px,43%) minmax(0,57%);min-height:min(76vh,920px)}
.event-modal-media{position:relative;min-height:100%;background:#100d15}
.event-modal-media .dialog-image{width:100%;height:100%;object-fit:cover;display:block}
.event-modal-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,14,.08) 0%,rgba(10,8,14,.28) 100%)}
.event-modal-panel{padding:30px 30px 28px;display:flex;flex-direction:column;overflow:auto}
.event-modal-panel h2{font-size:48px;line-height:.98;letter-spacing:-.04em;margin:14px 0 10px}
.event-lead{font-size:18px;line-height:1.55;color:#e7dfeb;margin:0 0 22px}
.event-primary-grid.stacked{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.event-primary-grid.stacked .event-primary{padding-bottom:16px}
.event-primary-grid.stacked .price-block.left{text-align:left;min-width:0}
.event-dates.compact{margin-top:0}
.event-dates.compact h3{font-size:22px;margin:0 0 12px}
.date-list{display:grid;gap:8px}
.date-row{display:grid;grid-template-columns:170px 1fr;gap:15px;align-items:center;padding:12px 14px;background:#261f2f;border-radius:12px}
.dialog-actions.compact-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.dialog-actions.compact-actions a{margin:0!important}
.event-extra{margin-top:24px}
@media (max-width:900px){
  .event-modal-layout{grid-template-columns:1fr;min-height:0}
  .event-modal-media{height:280px}
  .event-modal-panel{padding:22px 20px 24px}
  .event-modal-panel h2{font-size:36px}
  .event-primary-grid.stacked{grid-template-columns:1fr}
  .event-lead{font-size:16px}
  .date-row{grid-template-columns:1fr;gap:4px}
}
.narrowcast-body, .narrowcast-body #screen{background:#0b0810!important;overflow:hidden!important}
.narrowcast-body .joint-nc-shell{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;transform:none!important;left:0!important;top:0!important;background:radial-gradient(circle at 78% 0%,rgba(66,57,84,.42),transparent 34%),#0b0810!important;box-sizing:border-box!important}
.narrowcast-body .joint-nc-top{display:grid!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.narrowcast-body .joint-nc-top img{display:block!important;height:auto!important}
.narrowcast-body .joint-nc-days{min-height:0!important;display:grid!important}
.narrowcast-body .joint-nc-day{min-height:0!important;display:grid!important}
.narrowcast-body .joint-nc-grid{min-height:0!important;display:grid!important}
.narrowcast-body .joint-nc-card{position:relative!important;display:block!important;min-height:0!important;overflow:hidden!important;border-radius:18px!important;background:#15101b!important;border:1px solid rgba(255,255,255,.08)!important}
.narrowcast-body .joint-nc-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.narrowcast-body .joint-nc-shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(11,8,16,.18) 0%,rgba(11,8,16,.24) 26%,rgba(11,8,16,.92) 100%)!important}
.narrowcast-body .joint-nc-copy{position:absolute!important;left:18px!important;right:18px!important;bottom:16px!important;padding:0!important;display:block!important;z-index:2!important}
.narrowcast-body .joint-nc-copy>span{display:block!important;color:#ff746f!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.narrowcast-body .joint-nc-copy h3{color:#fff!important;letter-spacing:-.04em!important;line-height:1.02!important;margin:8px 0 12px!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.narrowcast-body .joint-nc-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
.narrowcast-body .joint-nc-meta b,.narrowcast-body .joint-nc-meta strong,.narrowcast-body .joint-nc-meta em,.narrowcast-body .joint-nc-meta i{display:inline-flex!important;align-items:center!important;padding:7px 10px!important;border-radius:10px!important;background:rgba(66,57,84,.86)!important;color:#fff!important;font-style:normal!important;font-weight:900!important;line-height:1!important}
.narrowcast-body .joint-nc-meta strong{color:#ff7b76!important}
.narrowcast-body .joint-nc-meta i{background:#53df8d!important;color:#0f1a13!important}
.narrowcast-body .joint-nc-empty{height:100%!important;display:grid!important;place-items:center!important;border-radius:18px!important;background:#15111a!important;color:#ab9fb2!important}
.narrowcast-body.nc-landscape .joint-nc-shell{padding:18px 22px 16px!important;display:grid!important;grid-template-rows:82px 1fr!important;gap:10px!important}
.narrowcast-body.nc-landscape .joint-nc-top{grid-template-columns:230px 1fr 120px!important;gap:18px!important;padding-bottom:10px!important}
.narrowcast-body.nc-landscape .joint-nc-top img{width:205px!important;max-height:58px!important}
.narrowcast-body.nc-landscape .joint-nc-top div span{font-size:11px!important}
.narrowcast-body.nc-landscape .joint-nc-top div strong{font-size:26px!important;line-height:1.05!important}
.narrowcast-body.nc-landscape .joint-nc-top time{font-size:28px!important;font-weight:900!important}
.narrowcast-body.nc-landscape .joint-nc-days{grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
.narrowcast-body.nc-landscape .joint-nc-day{grid-template-rows:42px minmax(0,1fr)!important;gap:8px!important}
.narrowcast-body.nc-landscape .joint-nc-dayhead{display:flex!important;justify-content:space-between!important;align-items:end!important;padding:0 2px!important}
.narrowcast-body.nc-landscape .joint-nc-dayhead div{display:flex!important;align-items:baseline!important;gap:14px!important}
.narrowcast-body.nc-landscape .joint-nc-dayhead span{font-size:24px!important;font-weight:1000!important;letter-spacing:-.03em!important}
.narrowcast-body.nc-landscape .joint-nc-dayhead strong{font-size:16px!important;color:#cdc2d3!important;text-transform:capitalize!important}
.narrowcast-body.nc-landscape .joint-nc-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:1fr!important;gap:10px!important}
.narrowcast-body.nc-landscape .joint-nc-copy>span{font-size:11px!important}
.narrowcast-body.nc-landscape .joint-nc-copy h3{font-size:21px!important;-webkit-line-clamp:2!important;min-height:2.05em!important}
.narrowcast-body.nc-landscape .joint-nc-meta b,.narrowcast-body.nc-landscape .joint-nc-meta strong,.narrowcast-body.nc-landscape .joint-nc-meta em,.narrowcast-body.nc-landscape .joint-nc-meta i{font-size:13px!important}
.narrowcast-body.nc-portrait .joint-nc-shell{padding:24px 24px 20px!important;display:grid!important;grid-template-rows:120px 1fr!important;gap:14px!important}
.narrowcast-body.nc-portrait .joint-nc-top{grid-template-columns:1fr 110px!important;grid-template-rows:56px 44px!important;gap:8px 16px!important;padding-bottom:12px!important}
.narrowcast-body.nc-portrait .joint-nc-top img{width:220px!important;max-height:54px!important}
.narrowcast-body.nc-portrait .joint-nc-top>div{grid-column:1/-1!important;grid-row:2!important}
.narrowcast-body.nc-portrait .joint-nc-top div span{font-size:12px!important}
.narrowcast-body.nc-portrait .joint-nc-top div strong{font-size:34px!important;line-height:1.04!important}
.narrowcast-body.nc-portrait .joint-nc-top time{grid-column:2!important;grid-row:1!important;font-size:26px!important;font-weight:900!important}
.narrowcast-body.nc-portrait .joint-nc-days{grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important}
.narrowcast-body.nc-portrait .joint-nc-day{grid-template-rows:52px minmax(0,1fr)!important;gap:10px!important}
.narrowcast-body.nc-portrait .joint-nc-dayhead{display:flex!important;justify-content:space-between!important;align-items:end!important;padding:0 2px!important}
.narrowcast-body.nc-portrait .joint-nc-dayhead div{display:flex!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important}
.narrowcast-body.nc-portrait .joint-nc-dayhead span{font-size:34px!important;font-weight:1000!important;letter-spacing:-.03em!important}
.narrowcast-body.nc-portrait .joint-nc-dayhead strong{font-size:18px!important;color:#cdc2d3!important;text-transform:capitalize!important}
.narrowcast-body.nc-portrait .joint-nc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.narrowcast-body.nc-portrait .joint-nc-copy>span{font-size:12px!important}
.narrowcast-body.nc-portrait .joint-nc-copy h3{font-size:30px!important;-webkit-line-clamp:3!important;min-height:3.1em!important}
.narrowcast-body.nc-portrait .joint-nc-meta b,.narrowcast-body.nc-portrait .joint-nc-meta strong,.narrowcast-body.nc-portrait .joint-nc-meta em,.narrowcast-body.nc-portrait .joint-nc-meta i{font-size:16px!important}


/* ==========================================================
   v18.15 — rustiger agenda item + labels op foto + hero intro kort
   ========================================================== */
.hero p{
  max-width:620px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.category-pill{
  left:14px!important;
  top:14px!important;
  bottom:auto!important;
  background:rgba(27,22,34,.88)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  padding:7px 10px!important;
  z-index:3!important;
}
.free-pill{
  right:14px!important;
  top:14px!important;
  bottom:auto!important;
}

.card-image-wrap{aspect-ratio:16/10.5!important}
.compact-card-copy{padding:16px 18px 18px!important}
.compact-card-copy h3{font-size:20px!important;line-height:1.08!important;margin:0 0 11px!important}
.card-date-time{gap:10px!important;flex-wrap:wrap!important}
.card-date-time span{font-size:13px!important}
.card-date-time strong{font-size:14px!important}

#event-dialog{
  max-width:min(920px,92vw)!important;
  width:min(920px,92vw)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#18131e!important;
}
#dialog-content{padding:0!important}
.event-modal-stack{display:flex;flex-direction:column}
.event-modal-hero.calm-hero{
  position:relative!important;
  height:360px!important;
  overflow:hidden!important;
  background:#120e18!important;
}
.event-modal-hero.calm-hero .dialog-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.event-modal-hero.calm-hero .event-modal-gradient{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(16,13,21,.12) 0%, rgba(16,13,21,.18) 38%, rgba(16,13,21,.52) 100%)!important;
}
.modal-category{position:absolute!important;left:18px!important;top:18px!important}
.event-modal-copy.calm-copy{
  padding:28px 30px 30px!important;
}
.event-heading-block{margin-bottom:20px!important}
.event-heading-block h2{
  margin:0 0 10px!important;
  font-size:48px!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}
.calm-lead{
  margin:0!important;
  color:#e3dbe7!important;
  font-size:17px!important;
  line-height:1.55!important;
  max-width:740px!important;
}
.event-fact-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 24px!important;
}
.event-fact{
  background:#231c2b!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:14px!important;
  padding:14px 16px!important;
}
.event-fact span{
  display:block!important;
  color:#a89dad!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-bottom:6px!important;
}
.event-fact strong{
  display:block!important;
  font-size:20px!important;
  line-height:1.25!important;
}
.calm-dates{margin-top:0!important}
.calm-dates h3{margin:0 0 12px!important;font-size:20px!important}
.date-list{gap:10px!important}
.date-row{
  background:#231c2b!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  grid-template-columns:150px 1fr!important;
  gap:12px!important;
}
.date-row strong{font-size:14px!important}
.date-row span{font-size:15px!important;color:#ff7b76!important}
.calm-actions{margin-top:22px!important;display:flex!important;gap:12px!important;flex-wrap:wrap!important}
.calm-actions .link-button{margin-top:0!important}
.event-extra{margin-top:24px!important}
.public-contact h3{margin:0 0 8px!important;font-size:16px!important}
.public-contact p{margin:0!important;color:#ddd5e2!important;line-height:1.5!important}

@media (max-width:760px){
  .hero p{max-width:100%!important}
  #event-dialog{max-width:calc(100vw - 24px)!important;width:calc(100vw - 24px)!important}
  .event-modal-hero.calm-hero{height:250px!important}
  .event-modal-copy.calm-copy{padding:22px 18px 22px!important}
  .event-heading-block h2{font-size:34px!important}
  .calm-lead{font-size:15px!important}
  .event-fact-row{grid-template-columns:1fr!important}
  .date-row{grid-template-columns:1fr!important;gap:5px!important}
}


/* ==========================================================
   v18.16 finesse — calmer website layout
   ========================================================== */
.hero-copy{max-width:720px!important}
.hero h1{margin-bottom:16px!important}
.hero p{font-size:clamp(17px,1.25vw,21px)!important;max-width:610px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0 0 18px!important}
.hero-meta{margin:14px 0 22px!important}

.event-card{border:1px solid rgba(255,255,255,.055)!important}
.card-image-wrap{aspect-ratio:16/10.2!important}
.card-gradient{background:linear-gradient(180deg,rgba(16,13,21,.04) 35%,rgba(16,13,21,.22) 100%)!important}
.category-pill{left:12px!important;top:12px!important;bottom:auto!important;background:rgba(22,17,29,.86)!important;border:1px solid rgba(255,255,255,.13)!important;color:#fff!important;font-size:9px!important;letter-spacing:.1em!important;text-transform:uppercase!important;padding:6px 9px!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important}
.free-pill{right:12px!important;top:12px!important;bottom:auto!important;font-size:10px!important;padding:6px 9px!important}
.compact-card-copy{padding:15px 17px 17px!important}
.compact-card-copy h3{font-size:20px!important;line-height:1.08!important;margin-bottom:10px!important}
.card-date-time span{font-size:12px!important;color:#cec5d3!important}
.card-date-time strong{font-size:13px!important;color:#ff7d78!important}

#event-dialog{max-width:min(900px,92vw)!important;width:min(900px,92vw)!important;border-radius:22px!important;background:#18131e!important}
.event-modal-hero.calm-hero{height:350px!important}
.event-modal-hero.calm-hero .event-modal-gradient{background:linear-gradient(180deg,rgba(16,13,21,.05) 0%,rgba(16,13,21,.08) 50%,rgba(16,13,21,.36) 100%)!important}
.modal-category{left:16px!important;top:16px!important}
.event-modal-copy.calm-copy{padding:26px 28px 28px!important}
.event-heading-block{margin-bottom:18px!important}
.event-heading-block h2{font-size:44px!important;line-height:1!important;margin-bottom:9px!important}
.calm-lead{font-size:16px!important;line-height:1.5!important;max-width:720px!important;color:#ded6e2!important}
.event-fact-row{gap:10px!important;margin-bottom:20px!important}
.event-fact{padding:12px 14px!important;border-radius:12px!important;background:#211a29!important}
.event-fact span{font-size:10px!important;margin-bottom:5px!important}
.event-fact strong{font-size:18px!important}
.calm-dates h3{font-size:19px!important;margin-bottom:10px!important}
.date-list{gap:7px!important}
.date-row{padding:10px 12px!important;border-radius:11px!important;background:#211a29!important;grid-template-columns:140px 1fr!important}
.date-row strong{font-size:13px!important}
.date-row span{font-size:14px!important}
.calm-actions{margin-top:18px!important}
.calm-actions .primary-button,.calm-actions .secondary-button{min-height:44px!important;padding:0 18px!important}
.event-extra{margin-top:20px!important;border-radius:12px!important;background:#1f1926!important}
.event-extra summary{padding:15px 16px!important}
.event-extra summary strong{font-size:16px!important}
.event-extra summary small{font-size:12px!important}
.event-extra-content{padding:0 16px 16px!important}
.event-extra-grid>div{padding:11px 12px!important}
.event-extra-grid span{font-size:10px!important}
.event-extra-grid strong{font-size:13px!important}

@media(max-width:760px){
  .hero p{white-space:nowrap!important;max-width:100%!important}
  .event-modal-hero.calm-hero{height:245px!important}
  .event-modal-copy.calm-copy{padding:20px 18px 22px!important}
  .event-heading-block h2{font-size:32px!important}
  .calm-lead{font-size:15px!important}
  .date-row{grid-template-columns:1fr!important}
}


/* v18.17 — modal scroll fix */
#event-dialog{
  max-height:92vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#event-dialog #dialog-content{
  overflow:visible!important;
  max-height:none!important;
}
#event-dialog .dialog-close{
  position:sticky!important;
  float:right;
  top:12px!important;
  right:12px!important;
  margin:12px 12px -52px 0!important;
  z-index:20!important;
}
#event-dialog[open]{
  scrollbar-width:thin;
}
@media(max-width:760px){
  #event-dialog{
    max-height:94vh!important;
  }
}


/* Update — actuele looptijd en duidelijke data/tijden */
.card-date-time{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:7px 10px!important;
}
.card-date-time span{
  color:#d9d0de!important;
  font-size:13px!important;
  font-weight:850!important;
  text-transform:none!important;
}
.card-date-time strong{
  color:#ff7b76!important;
  font-size:14px!important;
  font-weight:950!important;
}
.date-list{
  display:grid!important;
  gap:10px!important;
}
.date-detail-block{
  background:#231c2b!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:14px!important;
  padding:12px 15px!important;
}
.date-detail-line{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:baseline!important;
}
.date-detail-line + .date-detail-line{
  margin-top:7px!important;
  padding-top:7px!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}
.date-detail-line span{
  color:#9f94a5!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
}
.date-detail-line strong{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.4!important;
}
.date-detail-line:last-child strong{
  color:#ff7b76!important;
}
@media(max-width:600px){
  .date-detail-line{grid-template-columns:1fr!important;gap:3px!important}
}


/* ==========================================================
   V4 + V2 MOBILE BASELINE
   Doel: V2-achtige rust en swipe-beleving op mobiel,
   zonder huidige functionaliteit terug te draaien.
   ========================================================== */

/* Kaarten: beeld dominant, rustig label linksboven */
.event-card{
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:18px!important;
  background:#1b1622!important;
}
.card-image-wrap{
  aspect-ratio:16/10!important;
}
.card-image-wrap img{
  transition:transform .35s ease;
}
.event-card:hover .card-image-wrap img{
  transform:scale(1.025);
}
.category-pill{
  position:absolute!important;
  left:12px!important;
  top:12px!important;
  bottom:auto!important;
  padding:6px 9px!important;
  background:rgba(25,19,31,.76)!important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.free-pill{
  position:absolute!important;
  right:12px!important;
  top:12px!important;
  bottom:auto!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:10px!important;
}
.compact-card-copy{
  padding:15px 16px 17px!important;
}
.compact-card-copy h3{
  font-size:20px!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  margin:0 0 9px!important;
}
.card-date-time{
  margin-top:0!important;
}
.card-date-time span{
  color:#d2c8d7!important;
  font-size:13px!important;
}
.card-date-time strong{
  color:#ff746f!important;
  font-size:13px!important;
}
.playtimes{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px;
}
.playtimes span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 8px;
  border-radius:8px;
  background:#2b2332;
  border:1px solid rgba(255,255,255,.07);
  color:#fff;
  font-size:11px;
  font-weight:850;
}

/* Filters mogen op kleinere schermen als één rustige rij swipen. */
@media(max-width:900px){
  .site-header{
    height:74px!important;
  }
  .brand img{
    width:160px!important;
  }
  .menu-toggle{
    display:flex!important;
  }

  .hero{
    min-height:520px!important;
    padding:46px 18px 42px!important;
    background-position:center!important;
  }
  .hero h1{
    font-size:clamp(44px,13vw,58px)!important;
    line-height:.92!important;
    margin:10px 0 14px!important;
  }
  .hero p{
    font-size:17px!important;
    line-height:1.4!important;
    margin:0 0 17px!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .hero-meta{
    margin:15px 0 18px!important;
    font-size:14px!important;
    flex-wrap:wrap!important;
  }
  .hero-actions{
    gap:9px!important;
  }

  main{
    padding:42px 18px 68px!important;
    overflow:hidden;
  }
  .intro-line{
    display:block!important;
    margin-bottom:26px!important;
  }
  .intro-line>span{
    display:block;
    padding:0!important;
    margin-bottom:8px;
    font-size:10px!important;
  }
  .intro-line h2{
    font-size:clamp(36px,10vw,48px)!important;
    line-height:.98!important;
  }

  .agenda-toolbar{
    display:flex!important;
    flex-direction:column!important;
    gap:13px!important;
    margin-bottom:22px!important;
  }
  .filter-strip{
    width:calc(100vw - 18px)!important;
    margin-right:-18px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding:2px 18px 6px 0!important;
    -webkit-overflow-scrolling:touch;
  }
  .filter-strip::-webkit-scrollbar{display:none}
  .filter-chip{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    padding:10px 15px!important;
  }
  .agenda-controls{
    width:100%!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  /* Dit is het belangrijke V2-gedrag: één grote kaart en horizontaal swipen. */
  .agenda-grid{
    width:calc(100vw - 18px)!important;
    margin-right:-18px!important;
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(82vw,390px)!important;
    grid-template-columns:none!important;
    grid-template-rows:1fr!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:3px 18px 22px 0!important;
    scroll-snap-type:x proximity!important;
    scroll-padding-left:0;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .agenda-grid::-webkit-scrollbar{display:none}
  .event-card{
    scroll-snap-align:start!important;
    min-width:0!important;
  }
  .card-image-wrap{
    aspect-ratio:16/10!important;
  }
  .compact-card-copy{
    padding:15px 16px 17px!important;
  }
  .compact-card-copy h3{
    font-size:20px!important;
  }

  .empty-state{
    padding:42px 24px!important;
  }

  #event-dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
  }
}

@media(max-width:480px){
  .agenda-grid{
    grid-auto-columns:84vw!important;
  }
  .hero-actions{
    flex-direction:row!important;
    flex-wrap:wrap!important;
  }
  .hero-actions .primary-button,
  .hero-actions .secondary-button{
    width:auto!important;
    min-height:46px!important;
    padding:0 17px!important;
  }
}

/* Desktop blijft bewust V4: grid, filter/sortering en huidige detailweergave. */


/* ==========================================================
   V4 + V2 COMPLETE DISCOVERY DESIGN
   ========================================================== */
:root{
  --bg:#120d17;
  --panel:#211a29;
  --panel2:#2c2236;
  --text:#fff;
  --muted:#c3b7c8;
  --red:#d4434c;
  --purple:#5a466d;
  --line:rgba(255,255,255,.09);
}
body{
  background:
    radial-gradient(circle at 85% 12%,rgba(90,70,109,.16),transparent 30%),
    var(--bg)!important;
}
.site-header{
  background:rgba(18,13,23,.91)!important;
}
.primary-button,.secondary-button,.filter-chip,.nav-cta,.ticket-button{
  border-radius:999px!important;
}
.primary-button{
  box-shadow:0 10px 30px rgba(212,67,76,.22);
}
.secondary-button{
  background:#5a466d!important;
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(18,13,23,.97) 0%,rgba(18,13,23,.76) 38%,rgba(18,13,23,.10) 75%),
    linear-gradient(0deg,rgba(18,13,23,.90),transparent 54%)!important;
}
.hero p{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.hero-free-label{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:#f0fff5;
  color:#16301f;
  font-weight:900;
  border:1px solid rgba(122,255,169,.45);
}
.discovery-intro{
  padding-top:10px!important;
  margin-bottom:24px!important;
}
.discovery-intro h2{
  max-width:980px;
}
.agenda-toolbar{
  position:relative;
  align-items:center!important;
  margin-bottom:24px!important;
}
.filter-strip{
  flex:1;
  min-width:0;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  padding:9px 2px 12px!important;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.filter-strip::-webkit-scrollbar{display:none}
.filter-chip{
  flex:0 0 auto;
  scroll-snap-align:start;
  background:#2a2133!important;
  padding:10px 16px!important;
}
.filter-chip.active{
  background:var(--red)!important;
  border-color:var(--red)!important;
}
.agenda-controls{
  flex:0 0 auto;
}
.agenda-controls select,.date-filter{
  border-radius:999px!important;
  background:#2a2133!important;
}

.content-section{
  margin:20px 0 52px;
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:15px;
}
.section-heading h2{
  margin:0;
  font-size:29px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.section-heading p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}
.section-heading>span{
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

/* Horizontal discovery is now also the desktop baseline. */
.card-row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(300px,340px);
  grid-template-rows:1fr;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 3px 22px;
  scroll-snap-type:x proximity;
  scrollbar-color:#695a75 transparent;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.card-row .event-card{
  scroll-snap-align:start;
}
.event-card{
  background:#211a29!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-radius:20px!important;
}
.event-card:hover,.event-card:focus{
  transform:translateY(-6px) scale(1.008)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.30)!important;
}
.card-image-wrap{
  aspect-ratio:16/10!important;
}
.category-pill{
  background:rgba(28,20,34,.72)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  backdrop-filter:blur(12px);
}
.free-pill{
  background:#effff4!important;
  color:#173321!important;
  border:1px solid rgba(128,255,171,.45)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.14);
}
.compact-card-copy{
  padding:15px 16px 17px!important;
}
.card-date-time{
  margin-top:2px!important;
}
.playtimes span{
  background:#30263a!important;
  border-radius:8px!important;
}
.card-actions{
  margin-top:13px;
}
.ticket-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  background:#5a466d;
  color:#fff;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.08);
}
.ticket-button:hover{
  filter:brightness(1.08);
}
.ticket-hero{
  min-height:48px;
}

.submit-cta{
  max-width:var(--max);
  margin:0 auto 60px;
  padding:34px clamp(18px,4vw,64px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:linear-gradient(135deg,#2b2135,#1c1623);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
}
.submit-cta h2{
  font-size:clamp(30px,4vw,48px);
  margin:8px 0;
  letter-spacing:-.04em;
}
.submit-cta p{
  margin:0;
  color:var(--muted);
}

@media(max-width:900px){
  .agenda-toolbar{
    align-items:stretch!important;
  }
  .card-row{
    grid-auto-columns:min(82vw,390px)!important;
    width:calc(100vw - 18px);
    margin-right:-18px;
    gap:14px;
    padding-right:18px;
  }
  .section-heading h2{
    font-size:26px;
  }
  .submit-cta{
    margin:0 18px 45px;
    padding:25px 22px;
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:480px){
  .card-row{
    grid-auto-columns:84vw!important;
  }
}


/* ==========================================================
   V4/V2 kaartfinesse
   - geen ticketknop in overzicht
   - titel + organisator rustiger zoals V2
   - alle datum/tijd-info rood
   - pijlen in knoppen V2-stijl
   ========================================================== */

.card-actions,
.event-card .ticket-button{
  display:none!important;
}

.compact-card-copy{
  padding:15px 16px 18px!important;
}

.compact-card-copy h3{
  font-size:20px!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  margin:0 0 7px!important;
  color:#fff!important;
  font-weight:850!important;
}

.card-organizer-v2{
  margin:0 0 11px!important;
  color:#bdb4c6!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
}

.card-date-time{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:6px 10px!important;
  margin-top:0!important;
}

.card-date-time span,
.card-date-time strong{
  color:#ff746f!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:850!important;
  text-transform:none!important;
}

.playtimes{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  margin-top:9px!important;
}

.playtimes span{
  padding:5px 8px!important;
  border-radius:8px!important;
  background:rgba(211,67,76,.14)!important;
  border:1px solid rgba(255,116,111,.28)!important;
  color:#ff746f!important;
  font-size:11px!important;
  font-weight:850!important;
}

/* V2-achtige pijlen: iets losser, compact en optisch rechts. */
.primary-button span,
.secondary-button span,
.link-button span,
.ticket-hero span{
  display:inline-block!important;
  margin-left:4px!important;
  font-size:1.05em!important;
  line-height:1!important;
  transform:translateY(-1px);
}

.primary-button:hover span,
.secondary-button:hover span,
.link-button:hover span,
.ticket-hero:hover span{
  transform:translate(2px,-1px)!important;
  transition:transform .18s ease!important;
}


/* ==========================================================
   V2-uitvulling desktop
   Bij weinig items vullen de kaarten de volledige rij.
   Bij meer items blijft de horizontale slider behouden.
   ========================================================== */
@media(min-width:901px){
  .card-row{
    width:100%!important;
    grid-auto-columns:minmax(310px,1fr)!important;
    grid-template-rows:1fr!important;
  }

  /* 1 kaart: volledige rij, maar niet absurd hoog */
  .card-row:has(> .event-card:only-child){
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
  }

  /* 2 kaarten: twee ruime kaarten naast elkaar */
  .card-row:has(> .event-card:nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }

  /* 3 kaarten: drie gelijkwaardige kaarten */
  .card-row:has(> .event-card:nth-child(3):last-child){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }

  /* 4 of meer: V2 horizontale discovery-slider */
  .card-row:has(> .event-card:nth-child(4)){
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(310px,1fr)!important;
    overflow-x:auto!important;
  }
}


/* ==========================================================
   Kaarten rustiger: geen datum, neutrale V4-tijdblokken
   ========================================================== */
.event-card .card-date-time{
  display:flex!important;
  align-items:center!important;
  margin-top:2px!important;
}
.event-card .card-date-time strong{
  color:#ff746f!important;
  font-size:13px!important;
  font-weight:850!important;
}

/* Meerdere tijden weer als rustige V4-chips, dus niet rood. */
.event-card .playtimes{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  margin-top:9px!important;
}
.event-card .playtimes span{
  padding:5px 8px!important;
  border-radius:8px!important;
  background:#30263a!important;
  border:1px solid rgba(255,255,255,.07)!important;
  color:#f7f0fa!important;
  font-size:11px!important;
  font-weight:800!important;
}

/* Gratis duidelijk in hoofdletters, maar licht van stijl. */
.event-card .free-pill{
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:950!important;
}

/* Onderste aanmeld-CTA is verwijderd uit de HTML. */


/* ==========================================================
   Formulier v5 — eenvoudiger planning
   ========================================================== */
.planning-section .planning-fields{
  display:grid;
  gap:18px;
  margin-top:22px;
}
.planning-only[hidden]{
  display:none!important;
}
.planning-date-row,
.planning-time-row{
  align-items:end;
}
.extra-settings summary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}
.extra-settings summary small{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
#participant{
  appearance:auto;
}
@media(max-width:760px){
  .planning-date-row,
  .planning-time-row{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   Vandaag/Morgen + vaste tijd-uitlijning
   ========================================================== */
.card-organizer-v2{
  font-weight:400!important;
  color:#bdb4c6!important;
}

.card-time-area{
  min-height:58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:7px;
  margin-top:auto;
}

.card-day-label{
  display:block;
  color:#ff746f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.1;
}

.event-card .card-date-time{
  min-height:24px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
}

.event-card .card-date-time strong{
  display:block;
  line-height:1.2!important;
}

.event-card .playtimes{
  min-height:28px!important;
  margin-top:0!important;
  align-items:center!important;
}

/* Zorg dat de tijdzone van alle kaarten onderaan gelijk begint. */
.compact-card-copy{
  display:flex!important;
  flex-direction:column!important;
  min-height:150px!important;
}

.section-heading p{
  display:none!important;
}


/* ==========================================================
   Detailvenster rustiger — meer lucht en regelafstand
   ========================================================== */

#event-dialog{
  max-width:min(900px,92vw)!important;
}

.event-modal-copy.calm-copy{
  padding:34px 38px 38px!important;
}

.event-heading-block{
  margin-bottom:28px!important;
}

.event-heading-block h2{
  margin:0 0 14px!important;
  font-size:46px!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
}

.calm-lead{
  max-width:760px!important;
  font-size:17px!important;
  line-height:1.7!important;
  color:#ddd5e2!important;
}

.event-fact-row{
  gap:16px!important;
  margin-bottom:30px!important;
}

.event-fact{
  padding:17px 18px!important;
  border-radius:16px!important;
}

.event-fact span{
  margin-bottom:8px!important;
}

.event-fact strong{
  font-size:19px!important;
  line-height:1.45!important;
}

.calm-dates{
  margin-top:4px!important;
}

.calm-dates h3{
  margin:0 0 16px!important;
  font-size:21px!important;
  line-height:1.3!important;
}

.date-list{
  gap:13px!important;
}

.date-detail-block{
  padding:15px 17px!important;
  border-radius:15px!important;
}

.date-detail-line{
  grid-template-columns:100px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}

.date-detail-line + .date-detail-line{
  margin-top:10px!important;
  padding-top:10px!important;
}

.date-detail-line span{
  padding-top:2px!important;
}

.date-detail-line strong{
  font-size:15px!important;
  line-height:1.6!important;
}

.calm-actions{
  margin-top:28px!important;
  gap:14px!important;
}

.event-extra{
  margin-top:30px!important;
}

.event-extra summary{
  padding:20px 22px!important;
}

.event-extra summary span{
  gap:6px!important;
}

.event-extra summary strong{
  font-size:18px!important;
}

.event-extra summary small{
  line-height:1.45!important;
}

.event-extra-content{
  padding:0 22px 24px!important;
}

.event-extra-grid>div{
  padding:15px 16px!important;
}

.event-extra-grid strong{
  line-height:1.55!important;
}

.public-contact{
  margin-top:22px!important;
}

.public-contact p{
  line-height:1.7!important;
}

@media(max-width:760px){
  .event-modal-copy.calm-copy{
    padding:26px 22px 30px!important;
  }

  .event-heading-block{
    margin-bottom:24px!important;
  }

  .event-heading-block h2{
    font-size:34px!important;
    line-height:1.08!important;
    margin-bottom:12px!important;
  }

  .calm-lead{
    font-size:15px!important;
    line-height:1.65!important;
  }

  .event-fact-row{
    gap:12px!important;
    margin-bottom:25px!important;
  }

  .date-detail-line{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }

  .date-detail-line + .date-detail-line{
    margin-top:12px!important;
    padding-top:12px!important;
  }

  .calm-actions{
    margin-top:24px!important;
  }

  .event-extra{
    margin-top:26px!important;
  }
}


/* ==========================================================
   V2 rood + V2 pijltjes in knoppen
   ========================================================== */
:root{
  --red:#c32d2b!important;
}

/* Helder Cultuur Hoorn-rood uit V2. */
.primary-button,
.filter-chip.active,
.date-filter-button{
  background:#c32d2b!important;
  border-color:#c32d2b!important;
  color:#fff!important;
}

.primary-button{
  border-radius:999px!important;
  padding:14px 20px!important;
  font-weight:850!important;
  gap:12px!important;
  box-shadow:0 10px 28px rgba(195,45,43,.24)!important;
}

.primary-button:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.06)!important;
}

/* Pijltje weer rustig zoals V2: geen overdreven verschuiving/animatie. */
.primary-button span,
.secondary-button span,
.link-button span,
.ticket-hero span{
  display:inline-block!important;
  margin-left:0!important;
  font-size:1em!important;
  line-height:1!important;
  transform:none!important;
  transition:none!important;
}

.primary-button:hover span,
.secondary-button:hover span,
.link-button:hover span,
.ticket-hero:hover span{
  transform:none!important;
}

/* Rode accenten terug naar dezelfde heldere V2-familie. */
.eyebrow,
.card-day-label,
.event-card .card-date-time strong,
.date-detail-line:last-child strong{
  color:#ff746f!important;
}


/* ==========================================================
   Alle datum/tijd-info exact onderin en op één horizontale lijn
   ========================================================== */
.card-row .event-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}

.card-row .event-card .card-image-wrap{
  flex:0 0 auto!important;
}

.card-row .event-card .compact-card-copy{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:168px!important;
}

.card-organizer-v2{
  margin-bottom:12px!important;
}

/* Dit blok wordt altijd naar de bodem van de kaart gedrukt. */
.card-time-area{
  margin-top:auto!important;
  min-height:32px!important;
  display:flex!important;
  align-items:flex-end!important;
}

/* Vandaag/Morgen + één tijd + meerdere tijdchips delen dezelfde onderlijn. */
.card-time-line{
  width:100%!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.card-day-label{
  flex:0 0 auto!important;
  margin:0!important;
  line-height:28px!important;
}

.event-card .card-date-time{
  min-height:28px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
}

.event-card .card-date-time strong{
  line-height:28px!important;
}

.event-card .playtimes{
  min-height:28px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}

.event-card .playtimes span{
  min-height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
}

/* Ook op mobiel blijft de tijdregel onderin staan. */
@media(max-width:900px){
  .card-row .event-card .compact-card-copy{
    min-height:158px!important;
  }
}


/* ==========================================================
   MOBIEL FIX — voorkom dat de hele pagina horizontaal schuift
   Alleen filters en kaarten mogen nog horizontaal scrollen.
   ========================================================== */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}

.site-header{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:100vw!important;
  box-sizing:border-box!important;
}

#app,
main,
.hero,
.agenda-section,
.content-section,
.discovery-rows,
footer{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.hero,
main,
.discovery-rows{
  overflow-x:clip!important;
}

@media(max-width:900px){
  /* Header blijft altijd volledig binnen het scherm. */
  .site-header{
    width:100%!important;
    max-width:100%!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .brand{
    min-width:0!important;
    max-width:calc(100% - 64px)!important;
    overflow:hidden!important;
  }

  .brand img{
    max-width:160px!important;
    width:100%!important;
    height:auto!important;
  }

  .menu-toggle{
    flex:0 0 46px!important;
    margin-left:auto!important;
  }

  /* Geen 100vw + negatieve marge meer:
     de scroller blijft binnen de inhoudsbreedte. */
  .filter-strip{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
  }

  .card-row{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
  }

  .agenda-toolbar,
  .agenda-controls,
  .section-heading{
    max-width:100%!important;
    min-width:0!important;
  }

  .hero-copy,
  .intro-line,
  .discovery-intro{
    min-width:0!important;
    max-width:100%!important;
  }

  .hero h1,
  .hero p,
  .intro-line h2{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}


/* Kaartdatum/tijden + mobiel scrollen */
@media(max-width:900px){
  .card-row,.filter-strip{touch-action:auto!important;}
}
.card-time-area{margin-top:auto!important;min-height:32px!important;display:flex!important;align-items:flex-end!important;}
.card-time-line{width:100%!important;min-height:32px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;overflow:hidden!important;}
.card-day-label{flex:0 0 auto!important;color:#ff746f!important;font-size:12px!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important;line-height:28px!important;white-space:nowrap!important;}
.card-time-chip{flex:0 1 auto!important;min-height:28px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:5px 9px!important;border-radius:8px!important;background:#30263a!important;border:1px solid rgba(255,255,255,.07)!important;color:#f7f0fa!important;font-size:11px!important;font-weight:850!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.primary-button,.secondary-button,.link-button,.ticket-hero{gap:12px!important;}
.primary-button span,.secondary-button span,.link-button span,.ticket-hero span{display:inline!important;margin:0!important;padding:0!important;font-size:1em!important;line-height:inherit!important;transform:none!important;transition:none!important;}
.primary-button:hover span,.secondary-button:hover span,.link-button:hover span,.ticket-hero:hover span{transform:none!important;}
.event-card .card-date-time,.event-card .playtimes{display:none!important;}


/* ==========================================================
   KOM NAAR HOORN — lichte kleurvariant
   Gebaseerd op de aangeleverde rode kleur #AD3B30.
   Paars verwijderd uit de gewone website.
   Narrowcasting blijft bewust onaangeraakt.
   ========================================================== */

/* Basis website */
body:not(.narrowcast-body):not(.participant-cast-body){
  background:#f6f3ef!important;
  color:#242020!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) #app,
body:not(.narrowcast-body):not(.participant-cast-body) main{
  background:transparent!important;
}

/* Header */
body:not(.narrowcast-body):not(.participant-cast-body) .site-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #e6dfda!important;
  color:#241f1f!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .main-nav a{
  color:#241f1f!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .nav-cta{
  background:#AD3B30!important;
  color:#fff!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .menu-toggle{
  background:#fff!important;
  border-color:#d9d0cb!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .menu-toggle span{
  background:#241f1f!important;
}

/* Hero: fotografie blijft, copy krijgt lichte rustige basis */
body:not(.narrowcast-body):not(.participant-cast-body) .hero{
  background:#ece7e2!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .hero-shade{
  background:
    linear-gradient(90deg,rgba(250,248,245,.97) 0%,rgba(250,248,245,.88) 37%,rgba(250,248,245,.24) 70%,rgba(250,248,245,.06) 100%),
    linear-gradient(0deg,rgba(246,243,239,.80),transparent 45%)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .hero h1{
  color:#201c1c!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .hero p,
body:not(.narrowcast-body):not(.participant-cast-body) .hero-meta{
  color:#514747!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .hero-meta strong{
  color:#201c1c!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .eyebrow{
  color:#AD3B30!important;
}

/* Alle paarse hoofdknoppen vervangen door rood / licht */
body:not(.narrowcast-body):not(.participant-cast-body) .primary-button,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.active,
body:not(.narrowcast-body):not(.participant-cast-body) .date-filter-button,
body:not(.narrowcast-body):not(.participant-cast-body) .ticket-button{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(173,59,48,.18)!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .secondary-button,
body:not(.narrowcast-body):not(.participant-cast-body) .ticket-hero{
  background:#fff!important;
  color:#AD3B30!important;
  border:1px solid #AD3B30!important;
  box-shadow:none!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .hero-free-label{
  background:#fff!important;
  color:#242020!important;
  border:1px solid #ddd4ce!important;
}

/* Intro + filterbalk */
body:not(.narrowcast-body):not(.participant-cast-body) .intro-line>span{
  color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .intro-line h2,
body:not(.narrowcast-body):not(.participant-cast-body) .section-heading h2{
  color:#242020!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip{
  background:#fff!important;
  color:#332d2d!important;
  border:1px solid #dcd4ce!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip:hover{
  border-color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .agenda-controls label{
  color:#645a56!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .agenda-controls select,
body:not(.narrowcast-body):not(.participant-cast-body) .date-filter{
  background:#fff!important;
  color:#2b2626!important;
  border:1px solid #dcd4ce!important;
}

/* Kaarten */
body:not(.narrowcast-body):not(.participant-cast-body) .event-card{
  background:#fff!important;
  border:1px solid #e3ddd8!important;
  box-shadow:0 8px 24px rgba(42,31,28,.07)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card:hover,
body:not(.narrowcast-body):not(.participant-cast-body) .event-card:focus{
  box-shadow:0 16px 36px rgba(42,31,28,.12)!important;
  border-color:#d6ccc6!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .compact-card-copy h3{
  color:#242020!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .card-organizer-v2{
  color:#746966!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .card-day-label{
  color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .card-time-chip{
  background:#f0ebe7!important;
  border:1px solid #dfd7d1!important;
  color:#332d2d!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill{
  background:rgba(255,255,255,.93)!important;
  color:#AD3B30!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .free-pill{
  background:#fff!important;
  color:#AD3B30!important;
  border:1px solid rgba(173,59,48,.24)!important;
}

/* Lijstkoppen / aantallen */
body:not(.narrowcast-body):not(.participant-cast-body) .section-heading>span{
  color:#8a7f7a!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .card-row{
  scrollbar-color:#cfc5bf transparent!important;
}

/* Detailvenster */
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog{
  background:#fff!important;
  color:#242020!important;
  border:1px solid #e2dad5!important;
  box-shadow:0 30px 90px rgba(37,27,25,.22)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog::backdrop{
  background:rgba(34,28,27,.48)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-modal-copy,
body:not(.narrowcast-body):not(.participant-cast-body) .calm-copy{
  background:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-heading-block h2,
body:not(.narrowcast-body):not(.participant-cast-body) .calm-dates h3,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra summary strong{
  color:#242020!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .calm-lead{
  color:#615653!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-fact,
body:not(.narrowcast-body):not(.participant-cast-body) .date-detail-block,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra-grid>div{
  background:#f7f3f0!important;
  border-color:#e5ddd8!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-fact span,
body:not(.narrowcast-body):not(.participant-cast-body) .date-detail-line span,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra-grid span{
  color:#8a7d77!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-fact strong,
body:not(.narrowcast-body):not(.participant-cast-body) .date-detail-line strong,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra-grid strong{
  color:#2b2524!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .date-detail-line:last-child strong{
  color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .dialog-close{
  background:rgba(255,255,255,.94)!important;
  color:#262121!important;
  border:1px solid #ded6d1!important;
}

/* Formulier en deelnemers */
body:not(.narrowcast-body):not(.participant-cast-body) .form-section,
body:not(.narrowcast-body):not(.participant-cast-body) .extra-settings,
body:not(.narrowcast-body):not(.participant-cast-body) .participant-card{
  background:#fff!important;
  border-color:#e3dcd7!important;
  color:#242020!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .field input,
body:not(.narrowcast-body):not(.participant-cast-body) .field select,
body:not(.narrowcast-body):not(.participant-cast-body) .field textarea{
  background:#fbfaf8!important;
  color:#292424!important;
  border-color:#dcd4cf!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .field small,
body:not(.narrowcast-body):not(.participant-cast-body) .submit-note,
body:not(.narrowcast-body):not(.participant-cast-body) .subpage-hero p{
  color:#776c67!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .schedule-type-card{
  background:#faf7f4!important;
  color:#2c2726!important;
  border-color:#ded6d1!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .schedule-type-card.active{
  border-color:#AD3B30!important;
  box-shadow:0 0 0 1px #AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .required-star,
body:not(.narrowcast-body):not(.participant-cast-body) .participant-card a{
  color:#AD3B30!important;
}

/* Footer */
body:not(.narrowcast-body):not(.participant-cast-body) footer{
  background:#eee8e3!important;
  border-top:1px solid #ddd5cf!important;
  color:#4f4643!important;
}

/* Mobiel menu ook licht */
@media(max-width:760px){
  body:not(.narrowcast-body):not(.participant-cast-body) .main-nav{
    background:#fff!important;
    border-bottom-color:#e1d9d4!important;
  }
}


/* ==========================================================
   Kom naar Hoorn — zachtere paarse tekst + rode header/footer
   Paarse tekstkleur uit aangeleverde referentie: #2F2D41
   ========================================================== */

/* Zwarte/donkere teksten zachter maken */
body:not(.narrowcast-body):not(.participant-cast-body){
  color:#2F2D41!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .hero h1,
body:not(.narrowcast-body):not(.participant-cast-body) .intro-line h2,
body:not(.narrowcast-body):not(.participant-cast-body) .section-heading h2,
body:not(.narrowcast-body):not(.participant-cast-body) .compact-card-copy h3,
body:not(.narrowcast-body):not(.participant-cast-body) .event-heading-block h2,
body:not(.narrowcast-body):not(.participant-cast-body) .calm-dates h3,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra summary strong,
body:not(.narrowcast-body):not(.participant-cast-body) .event-fact strong,
body:not(.narrowcast-body):not(.participant-cast-body) .date-detail-line strong,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra-grid strong,
body:not(.narrowcast-body):not(.participant-cast-body) .form-section h2,
body:not(.narrowcast-body):not(.participant-cast-body) .subpage-hero h1,
body:not(.narrowcast-body):not(.participant-cast-body) .participant-card h2{
  color:#2F2D41!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .hero p,
body:not(.narrowcast-body):not(.participant-cast-body) .hero-meta,
body:not(.narrowcast-body):not(.participant-cast-body) .card-organizer-v2,
body:not(.narrowcast-body):not(.participant-cast-body) .calm-lead,
body:not(.narrowcast-body):not(.participant-cast-body) .field small,
body:not(.narrowcast-body):not(.participant-cast-body) .submit-note,
body:not(.narrowcast-body):not(.participant-cast-body) .subpage-hero p,
body:not(.narrowcast-body):not(.participant-cast-body) .agenda-controls label,
body:not(.narrowcast-body):not(.participant-cast-body) .section-heading>span{
  color:rgba(47,45,65,.72)!important;
}

/* Header rood met wit logo/menucontrast */
body:not(.narrowcast-body):not(.participant-cast-body) .site-header{
  background:#AD3B30!important;
  border-bottom-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav a,
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .brand,
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .nav-cta{
  color:#fff!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .site-header .nav-cta{
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.28)!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .site-header .brand img{
  filter:brightness(0) invert(1)!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) .menu-toggle{
  background:transparent!important;
  border-color:rgba(255,255,255,.34)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .menu-toggle span{
  background:#fff!important;
}

/* Mobiel menu rood houden */
@media(max-width:760px){
  body:not(.narrowcast-body):not(.participant-cast-body) .main-nav{
    background:#AD3B30!important;
    border-bottom-color:rgba(255,255,255,.16)!important;
  }
  body:not(.narrowcast-body):not(.participant-cast-body) .main-nav a{
    color:#fff!important;
  }
}

/* Footer rood */
body:not(.narrowcast-body):not(.participant-cast-body) footer{
  background:#AD3B30!important;
  border-top-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) footer a{
  color:#fff!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) footer img{
  filter:brightness(0) invert(1)!important;
}


/* ==========================================================
   V5 — speelser, homepage + Uitgelicht
   ========================================================== */

/* Speelse sectiekoppen */
.section-kicker{
  display:block;
  margin-bottom:7px;
  color:#AD3B30;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
}
.playful-heading{
  align-items:flex-end;
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#AD3B30!important;
  font-weight:900;
}

/* Categorie-labels met eigen kleur */
.category-pill{
  color:#fff!important;
  border:0!important;
  box-shadow:0 4px 14px rgba(31,25,27,.12)!important;
}
.category-pill.cat-theater{background:#AD3B30!important}
.category-pill.cat-muziek{background:#13786f!important}
.category-pill.cat-film{background:#465a8a!important}
.category-pill.cat-kunst{background:#c27b24!important}
.category-pill.cat-erfgoed{background:#69753a!important}
.category-pill.cat-jeugd{background:#db6d53!important}
.category-pill.cat-festival-en-evenement{background:#bd4770!important}
.category-pill.cat-creatief{background:#367d9b!important}
.category-pill.cat-eten-en-drinken{background:#c8672f!important}
.category-pill.cat-sport{background:#4d8b50!important}
.category-pill.cat-winkelen{background:#536eb3!important}
.category-pill.cat-cultuur{background:#2F2D41!important}

/* Homepage hero slider */
.home-hero-slider{
  position:relative;
  height:min(72vh,720px);
  min-height:560px;
  overflow:hidden;
  background:#eae4df;
}
.home-slides,
.home-slide{
  position:absolute;
  inset:0;
}
.home-slide{
  opacity:0;
  pointer-events:none;
  background-image:var(--slide-image);
  background-size:cover;
  background-position:center;
  transition:opacity .6s ease;
}
.home-slide.active{
  opacity:1;
  pointer-events:auto;
}
.home-slide-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(47,45,65,.84) 0%,rgba(47,45,65,.54) 42%,rgba(47,45,65,.08) 78%),
    linear-gradient(0deg,rgba(47,45,65,.54),transparent 55%);
}
.home-slide-copy{
  position:absolute;
  left:max(24px,calc((100vw - 1500px)/2 + 64px));
  bottom:72px;
  z-index:2;
  max-width:760px;
  color:#fff;
}
.home-slide-copy h1{
  margin:18px 0 14px;
  max-width:800px;
  font-size:clamp(48px,6.2vw,98px);
  line-height:.9;
  letter-spacing:-.055em;
}
.home-slide-copy p{
  max-width:650px;
  margin:0 0 24px;
  font-size:18px;
  line-height:1.55;
  color:rgba(255,255,255,.9);
}
.home-slide-copy .secondary-button{
  background:rgba(255,255,255,.93)!important;
  color:#2F2D41!important;
  border:0!important;
}
.hero-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:48px;
  height:48px;
  margin-top:-24px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#2F2D41;
  font-size:23px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.hero-prev{left:22px}
.hero-next{right:22px}
.hero-dots{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}
.hero-dots button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  cursor:pointer;
}
.hero-dots button.active{
  width:28px;
  border-radius:999px;
  background:#fff;
}

/* Homepage intro */
.home-main{
  max-width:1500px!important;
  margin:0 auto;
  padding:70px clamp(18px,4vw,64px) 100px!important;
}
.home-intro{
  max-width:1020px;
  margin:0 auto 78px;
  text-align:center;
}
.home-intro h2{
  margin:10px 0 22px;
  color:#2F2D41;
  font-size:clamp(44px,5vw,78px);
  line-height:.98;
  letter-spacing:-.05em;
}
.home-intro p{
  margin:0 auto;
  max-width:930px;
  color:rgba(47,45,65,.78);
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.65;
}
.home-intro strong{
  color:#AD3B30;
}

/* Uitgelicht — hoger en beeldgerichter, zoals een redactionele tipsectie */
.featured-section{
  margin:0 0 76px;
}
.featured-row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(340px,430px);
  gap:18px;
  overflow-x:auto;
  padding:4px 2px 22px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.featured-card{
  scroll-snap-align:start;
  min-width:0;
  cursor:pointer;
}
.featured-media{
  position:relative;
  height:500px;
  overflow:hidden;
  border-radius:26px;
  background:#ddd5cf;
  box-shadow:0 12px 34px rgba(47,45,65,.12);
}
.featured-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.featured-card:hover .featured-media img{
  transform:scale(1.035);
}
.featured-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(47,45,65,.92) 0%,rgba(47,45,65,.22) 55%,rgba(47,45,65,.02) 76%);
}
.featured-media .category-pill{
  position:absolute;
  top:16px;
  left:16px;
}
.featured-media .free-pill{
  top:16px!important;
  right:16px!important;
}
.featured-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:22px;
  color:#fff;
}
.featured-organizer{
  margin:0 0 7px;
  font-size:13px;
  opacity:.8;
}
.featured-copy h3{
  margin:0 0 16px;
  font-size:30px;
  line-height:1.02;
  letter-spacing:-.03em;
}
.featured-when{
  display:flex;
  align-items:center;
  gap:8px;
}
.featured-when span{
  color:#ffd1cc;
  font-weight:900;
}
.featured-when strong{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:8px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:11px;
  font-weight:900;
}

/* Homepage CTA */
.home-agenda-cta{
  margin-top:70px;
  padding:42px clamp(24px,4vw,60px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-radius:30px;
  background:#f0e7e1;
}
.home-agenda-cta h2{
  margin:6px 0 10px;
  color:#2F2D41;
  font-size:clamp(34px,4vw,58px);
  letter-spacing:-.045em;
}
.home-agenda-cta p{
  margin:0;
  color:rgba(47,45,65,.7);
}

/* Agenda-page heading */
.agenda-page-main{
  max-width:1500px!important;
  margin:0 auto;
  padding:70px clamp(18px,4vw,64px) 100px!important;
}
.agenda-page-head{
  max-width:900px;
  margin-bottom:58px;
}
.agenda-page-head h1{
  margin:10px 0 16px;
  color:#2F2D41;
  font-size:clamp(54px,7vw,100px);
  line-height:.92;
  letter-spacing:-.055em;
}
.agenda-page-head p{
  margin:0;
  max-width:760px;
  color:rgba(47,45,65,.72);
  font-size:20px;
  line-height:1.55;
}

/* Klein speels detail in kaarten */
.event-card:nth-child(3n+1) .card-image-wrap{border-radius:20px 20px 6px 6px}
.event-card:nth-child(3n+2) .card-image-wrap{border-radius:8px 20px 6px 6px}
.event-card:nth-child(3n+3) .card-image-wrap{border-radius:20px 8px 6px 6px}

@media(max-width:900px){
  .home-hero-slider{
    min-height:620px;
    height:72vh;
  }
  .home-slide-copy{
    left:18px;
    right:18px;
    bottom:64px;
  }
  .home-slide-copy h1{
    font-size:clamp(44px,13vw,68px);
  }
  .home-slide-copy p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .hero-arrow{
    width:42px;
    height:42px;
    top:auto;
    bottom:18px;
    margin:0;
  }
  .hero-prev{left:18px}
  .hero-next{right:18px}
  .hero-dots{bottom:33px}
  .home-main,
  .agenda-page-main{
    padding:48px 18px 70px!important;
  }
  .home-intro{
    text-align:left;
    margin-bottom:54px;
  }
  .home-intro h2{
    font-size:clamp(42px,12vw,58px);
  }
  .featured-row{
    grid-auto-columns:82vw;
  }
  .featured-media{
    height:470px;
  }
  .home-agenda-cta{
    flex-direction:column;
    align-items:flex-start;
    margin-top:50px;
    padding:28px 24px;
  }
}

@media(max-width:520px){
  .featured-media{
    height:430px;
  }
  .featured-copy h3{
    font-size:26px;
  }
}


/* ==========================================================
   V5 fix — fotoheader op agenda + pageMode-fix
   ========================================================== */
.agenda-photo-head{
  position:relative;
  min-height:430px;
  margin:0 0 64px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-radius:30px;
  background-image:var(--agenda-head-image);
  background-size:cover;
  background-position:center;
  box-shadow:0 14px 40px rgba(47,45,65,.12);
}
.agenda-photo-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(47,45,65,.88) 0%,rgba(47,45,65,.56) 42%,rgba(47,45,65,.12) 78%),
    linear-gradient(0deg,rgba(47,45,65,.66),transparent 58%);
}
.agenda-photo-copy{
  position:relative;
  z-index:1;
  max-width:820px;
  padding:52px 56px;
  color:#fff;
}
.agenda-photo-copy .eyebrow{
  color:#ffd2cd!important;
}
.agenda-photo-copy h1{
  margin:10px 0 16px;
  color:#fff!important;
  font-size:clamp(54px,7vw,96px);
  line-height:.92;
  letter-spacing:-.055em;
}
.agenda-photo-copy p{
  margin:0;
  max-width:700px;
  color:rgba(255,255,255,.9)!important;
  font-size:20px;
  line-height:1.55;
}

@media(max-width:900px){
  .agenda-photo-head{
    min-height:500px;
    margin-bottom:48px;
    border-radius:22px;
  }
  .agenda-photo-copy{
    padding:34px 24px;
  }
  .agenda-photo-copy h1{
    font-size:clamp(48px,13vw,68px);
  }
  .agenda-photo-copy p{
    font-size:17px;
  }
}


/* ==========================================================
   V5 — duidelijke labelkleuren + herbruikbaar content-hero
   ========================================================== */

/* Definitieve categorie-labelkleuren.
   Deze staan bewust helemaal onderaan zodat eerdere algemene
   .category-pill-regels ze niet meer kunnen overschrijven. */
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-theater{
  background:#AD3B30!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-muziek{
  background:#148579!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-film{
  background:#536AA3!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-kunst{
  background:#D18A2F!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-erfgoed{
  background:#758548!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-jeugd{
  background:#DE765E!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-festival-en-evenement{
  background:#C64E78!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-creatief{
  background:#3D87A4!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-eten-en-drinken{
  background:#C86B35!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-sport{
  background:#4F9256!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-winkelen{
  background:#6079B8!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-cultuur{
  background:#2F2D41!important;color:#fff!important;
}

/* Herbruikbaar content-hero:
   alleen subheader, titel, korte leestekst en foto.
   Geen agenda-item, datum, knop of organisator. */
.content-hero{
  position:relative;
  min-height:600px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background:#e9e3de;
}
.content-hero-image{
  position:absolute;
  inset:0;
  background-image:var(--content-hero-image);
  background-size:cover;
  background-position:center;
}
.content-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(47,45,65,.86) 0%,rgba(47,45,65,.58) 42%,rgba(47,45,65,.12) 76%),
    linear-gradient(0deg,rgba(47,45,65,.50),transparent 58%);
}
.content-hero-copy{
  position:relative;
  z-index:2;
  width:min(820px,calc(100% - 48px));
  margin-left:max(24px,calc((100vw - 1500px)/2 + 64px));
  padding:0 0 72px;
  color:#fff;
}
.content-hero-copy .eyebrow{
  color:#FFD0CB!important;
}
.content-hero-copy h1{
  margin:12px 0 18px;
  color:#fff!important;
  font-size:clamp(54px,6.5vw,104px);
  line-height:.9;
  letter-spacing:-.055em;
}
.content-hero-copy p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Oude homepage-slider verborgen voor het geval oude markup gecachet staat. */
.home-hero-slider{
  display:none!important;
}

@media(max-width:900px){
  .content-hero{
    min-height:560px;
  }
  .content-hero-copy{
    width:calc(100% - 36px);
    margin-left:18px;
    padding-bottom:48px;
  }
  .content-hero-copy h1{
    font-size:clamp(46px,13vw,68px);
  }
  .content-hero-copy p{
    font-size:17px;
    -webkit-line-clamp:4;
  }
}


/* ==========================================================
   V5 — frissere pastelbasis + filterkleuren + hogere foto's
   ========================================================== */

/* Frisse, zeer lichte warme pastelachtergrond */
body:not(.narrowcast-body):not(.participant-cast-body){
  background:#FBF6F2!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .home-main,
body:not(.narrowcast-body):not(.participant-cast-body) .agenda-page-main,
body:not(.narrowcast-body):not(.participant-cast-body) main{
  background:transparent!important;
}

/* Kleine agenda-kaarten: foto ongeveer 20 px hoger dan hiervoor */
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-image-wrap{
  aspect-ratio:1.45 / 1!important;
}

/* Categorie-filters krijgen exact dezelfde kleurtaal als de labels op foto's. */
.filter-chip.cat-theater{background:#F5E2DF!important;border-color:#E8BDB7!important;color:#7E2923!important}
.filter-chip.cat-muziek{background:#DDF1EE!important;border-color:#A8D8D2!important;color:#0E5D56!important}
.filter-chip.cat-film{background:#E3E8F4!important;border-color:#BCC8E1!important;color:#394E82!important}
.filter-chip.cat-kunst{background:#F7EBD8!important;border-color:#E7CAA1!important;color:#8E5C17!important}
.filter-chip.cat-erfgoed{background:#E9EDDD!important;border-color:#CAD3AA!important;color:#52602E!important}
.filter-chip.cat-jeugd{background:#FAE6E0!important;border-color:#EEC2B7!important;color:#9A4938!important}
.filter-chip.cat-festival-en-evenement{background:#F7E1E9!important;border-color:#E9B7C9!important;color:#8D3154!important}
.filter-chip.cat-creatief{background:#E0EEF3!important;border-color:#B5D4DF!important;color:#28647B!important}
.filter-chip.cat-eten-en-drinken{background:#F7E8DD!important;border-color:#E7C3A8!important;color:#8B4C26!important}
.filter-chip.cat-sport{background:#E3F0E4!important;border-color:#BCD8BF!important;color:#34693A!important}
.filter-chip.cat-winkelen{background:#E4E9F6!important;border-color:#BEC8E4!important;color:#40568E!important}

/* Tijdfilters ook elk een eigen zachte tint. */
.filter-chip.filter-vandaag{background:#F6E3DF!important;border-color:#E8BBB4!important;color:#8B2F27!important}
.filter-chip.filter-morgen{background:#E4EEF7!important;border-color:#BED2E5!important;color:#3F6485!important}
.filter-chip.filter-weekend{background:#E7F0E4!important;border-color:#C4D8BE!important;color:#4B6D42!important}
.filter-chip.filter-datum{background:#EEE7F4!important;border-color:#D4C5E2!important;color:#655078!important}

/* Actieve filter: volle variant van dezelfde tint, met wit voor contrast. */
.filter-chip.cat-theater.active,.filter-chip.filter-vandaag.active{background:#AD3B30!important;border-color:#AD3B30!important;color:#fff!important}
.filter-chip.cat-muziek.active{background:#148579!important;border-color:#148579!important;color:#fff!important}
.filter-chip.cat-film.active{background:#536AA3!important;border-color:#536AA3!important;color:#fff!important}
.filter-chip.cat-kunst.active{background:#D18A2F!important;border-color:#D18A2F!important;color:#fff!important}
.filter-chip.cat-erfgoed.active{background:#758548!important;border-color:#758548!important;color:#fff!important}
.filter-chip.cat-jeugd.active{background:#DE765E!important;border-color:#DE765E!important;color:#fff!important}
.filter-chip.cat-festival-en-evenement.active{background:#C64E78!important;border-color:#C64E78!important;color:#fff!important}
.filter-chip.cat-creatief.active{background:#3D87A4!important;border-color:#3D87A4!important;color:#fff!important}
.filter-chip.cat-eten-en-drinken.active{background:#C86B35!important;border-color:#C86B35!important;color:#fff!important}
.filter-chip.cat-sport.active{background:#4F9256!important;border-color:#4F9256!important;color:#fff!important}
.filter-chip.cat-winkelen.active{background:#6079B8!important;border-color:#6079B8!important;color:#fff!important}
.filter-chip.filter-morgen.active{background:#557D9E!important;border-color:#557D9E!important;color:#fff!important}
.filter-chip.filter-weekend.active{background:#66805A!important;border-color:#66805A!important;color:#fff!important}
.filter-chip.filter-datum.active{background:#715985!important;border-color:#715985!important;color:#fff!important}

/* ==========================================================
   Homepage content-slider
   Herbruikbare redactionele contentblokken, geen agenda-items.
   ========================================================== */
.content-hero{
  display:none!important;
}
.content-hero-slider{
  position:relative;
  min-height:600px;
  overflow:hidden;
  background:#EDE4DE;
}
.content-hero-slides,
.content-hero-slide{
  position:absolute;
  inset:0;
}
.content-hero-slide{
  opacity:0;
  pointer-events:none;
  transition:opacity .65s ease;
}
.content-hero-slide.active{
  opacity:1;
  pointer-events:auto;
}
.content-hero-slide .content-hero-image{
  position:absolute;
  inset:0;
  background-image:var(--content-hero-image);
  background-size:cover;
  background-position:center;
}
.content-hero-slide .content-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(47,45,65,.84) 0%,rgba(47,45,65,.55) 42%,rgba(47,45,65,.10) 76%),
    linear-gradient(0deg,rgba(47,45,65,.48),transparent 58%);
}
.content-hero-slide .content-hero-copy{
  position:absolute;
  left:max(24px,calc((100vw - 1500px)/2 + 64px));
  bottom:72px;
  z-index:2;
  width:min(820px,calc(100% - 48px));
  margin:0;
  padding:0;
  color:#fff;
}
.content-hero-slide .content-hero-copy .eyebrow{
  color:#FFD0CB!important;
}
.content-hero-slide .content-hero-copy h1{
  margin:12px 0 18px;
  color:#fff!important;
  font-size:clamp(54px,6.5vw,104px);
  line-height:.9;
  letter-spacing:-.055em;
}
.content-hero-slide .content-hero-copy p{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(18px,1.45vw,22px);
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.content-hero-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:48px;
  height:48px;
  margin-top:-24px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#2F2D41;
  font-size:23px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.content-hero-prev{left:22px}
.content-hero-next{right:22px}

.content-hero-dots{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:5;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}
.content-hero-dots button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.48);
  cursor:pointer;
}
.content-hero-dots button.active{
  width:28px;
  border-radius:999px;
  background:#fff;
}

@media(max-width:900px){
  body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-image-wrap{
    aspect-ratio:1.42 / 1!important;
  }
  .content-hero-slider{
    min-height:570px;
  }
  .content-hero-slide .content-hero-copy{
    left:18px;
    right:18px;
    bottom:54px;
    width:auto;
  }
  .content-hero-slide .content-hero-copy h1{
    font-size:clamp(46px,13vw,68px);
  }
  .content-hero-slide .content-hero-copy p{
    font-size:17px;
    -webkit-line-clamp:4;
  }
  .content-hero-arrow{
    top:auto;
    bottom:17px;
    width:40px;
    height:40px;
    margin:0;
  }
  .content-hero-prev{left:18px}
  .content-hero-next{right:18px}
  .content-hero-dots{bottom:31px}
}


/* ==========================================================
   FIX — filterkleuren, hogere foto's, roze pastelachtergrond
   ========================================================== */

/* Achtergrond exact richting aangeleverde roze pastelreferentie. */
body:not(.narrowcast-body):not(.participant-cast-body){
  background:#F6E8E9!important;
}

/* Categorie-filters: actief blijft dezelfde categorie-kleur.
   Deze regels staan bewust helemaal onderaan om oudere rode active-regels te overrulen. */
.filter-chip.cat-theater.active{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
}
.filter-chip.cat-muziek.active{
  background:#148579!important;
  border-color:#148579!important;
  color:#fff!important;
}
.filter-chip.cat-film.active{
  background:#536AA3!important;
  border-color:#536AA3!important;
  color:#fff!important;
}
.filter-chip.cat-kunst.active{
  background:#D18A2F!important;
  border-color:#D18A2F!important;
  color:#fff!important;
}
.filter-chip.cat-erfgoed.active{
  background:#758548!important;
  border-color:#758548!important;
  color:#fff!important;
}
.filter-chip.cat-jeugd.active{
  background:#DE765E!important;
  border-color:#DE765E!important;
  color:#fff!important;
}
.filter-chip.cat-festival-en-evenement.active{
  background:#C64E78!important;
  border-color:#C64E78!important;
  color:#fff!important;
}
.filter-chip.cat-creatief.active{
  background:#3D87A4!important;
  border-color:#3D87A4!important;
  color:#fff!important;
}
.filter-chip.cat-eten-en-drinken.active{
  background:#C86B35!important;
  border-color:#C86B35!important;
  color:#fff!important;
}
.filter-chip.cat-sport.active{
  background:#4F9256!important;
  border-color:#4F9256!important;
  color:#fff!important;
}
.filter-chip.cat-winkelen.active{
  background:#6079B8!important;
  border-color:#6079B8!important;
  color:#fff!important;
}

/* Ook hover/focus blijft in dezelfde kleurfamilie i.p.v. rood. */
.filter-chip.cat-kunst:hover,.filter-chip.cat-kunst:focus-visible{border-color:#D18A2F!important}
.filter-chip.cat-muziek:hover,.filter-chip.cat-muziek:focus-visible{border-color:#148579!important}
.filter-chip.cat-film:hover,.filter-chip.cat-film:focus-visible{border-color:#536AA3!important}
.filter-chip.cat-erfgoed:hover,.filter-chip.cat-erfgoed:focus-visible{border-color:#758548!important}
.filter-chip.cat-jeugd:hover,.filter-chip.cat-jeugd:focus-visible{border-color:#DE765E!important}
.filter-chip.cat-festival-en-evenement:hover,.filter-chip.cat-festival-en-evenement:focus-visible{border-color:#C64E78!important}
.filter-chip.cat-creatief:hover,.filter-chip.cat-creatief:focus-visible{border-color:#3D87A4!important}
.filter-chip.cat-eten-en-drinken:hover,.filter-chip.cat-eten-en-drinken:focus-visible{border-color:#C86B35!important}
.filter-chip.cat-sport:hover,.filter-chip.cat-sport:focus-visible{border-color:#4F9256!important}
.filter-chip.cat-winkelen:hover,.filter-chip.cat-winkelen:focus-visible{border-color:#6079B8!important}
.filter-chip.cat-theater:hover,.filter-chip.cat-theater:focus-visible{border-color:#AD3B30!important}

/* Foto in kleine kaart nog iets hoger, maar de kaart zelf niet hoger.
   We vergroten alleen de beeldzone en maken de tekstzone compacter. */
body:not(.narrowcast-body):not(.participant-cast-body) .event-card{
  height:100%!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-image-wrap{
  aspect-ratio:auto!important;
  height:250px!important;
  flex:0 0 250px!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .compact-card-copy{
  min-height:138px!important;
  padding:13px 16px 14px!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .compact-card-copy h3{
  margin-bottom:5px!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-organizer-v2{
  margin-bottom:8px!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-time-area{
  min-height:28px!important;
}

@media(max-width:900px){
  body:not(.narrowcast-body):not(.participant-cast-body) .event-card .card-image-wrap{
    height:235px!important;
    flex-basis:235px!important;
  }
  body:not(.narrowcast-body):not(.participant-cast-body) .event-card .compact-card-copy{
    min-height:132px!important;
  }
}


/* ==========================================================
   DEFINITIEF KLEURENPALET — aangeleverde huisstijl
   Baksteen  #AD3B30
   Wijnrood  #6E1F1A
   Blos      #F5C9C0
   Mint      #9ED9C8
   Citroen   #E9E46E
   Papier    #F6F1EA
   Nacht     #2F2D43
   ========================================================== */

:root{
  --brand-baksteen:#AD3B30!important;
  --brand-wijnrood:#6E1F1A!important;
  --brand-blos:#F5C9C0!important;
  --brand-mint:#9ED9C8!important;
  --brand-citroen:#E9E46E!important;
  --brand-papier:#F6F1EA!important;
  --brand-nacht:#2F2D43!important;

  --bg:#F6F1EA!important;
  --text:#2F2D43!important;
  --red:#AD3B30!important;
  --purple:#2F2D43!important;
}

/* Basis */
body:not(.narrowcast-body):not(.participant-cast-body){
  background:#F6F1EA!important;
  color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .home-main,
body:not(.narrowcast-body):not(.participant-cast-body) .agenda-page-main,
body:not(.narrowcast-body):not(.participant-cast-body) main{
  background:transparent!important;
}

/* Header = baksteen, footer = wijnrood */
body:not(.narrowcast-body):not(.participant-cast-body) .site-header{
  background:#AD3B30!important;
  border-bottom-color:rgba(255,255,255,.16)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) footer{
  background:#6E1F1A!important;
  color:#fff!important;
  border-top-color:rgba(255,255,255,.14)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) footer a{
  color:#fff!important;
}

/* Tekst */
body:not(.narrowcast-body):not(.participant-cast-body) h1,
body:not(.narrowcast-body):not(.participant-cast-body) h2,
body:not(.narrowcast-body):not(.participant-cast-body) h3{
  color:#2F2D43;
}
body:not(.narrowcast-body):not(.participant-cast-body) .eyebrow,
body:not(.narrowcast-body):not(.participant-cast-body) .section-kicker,
body:not(.narrowcast-body):not(.participant-cast-body) .text-link,
body:not(.narrowcast-body):not(.participant-cast-body) .card-day-label{
  color:#AD3B30!important;
}

/* Hoofdknoppen */
body:not(.narrowcast-body):not(.participant-cast-body) .primary-button,
body:not(.narrowcast-body):not(.participant-cast-body) .date-filter-button{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .primary-button:hover,
body:not(.narrowcast-body):not(.participant-cast-body) .date-filter-button:hover{
  background:#6E1F1A!important;
  border-color:#6E1F1A!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .secondary-button{
  background:#F5C9C0!important;
  color:#2F2D43!important;
  border-color:transparent!important;
}

/* Kaarten */
body:not(.narrowcast-body):not(.participant-cast-body) .event-card{
  background:#fff!important;
  color:#2F2D43!important;
  border-color:rgba(47,45,67,.08)!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .card-time-chip{
  background:#F5C9C0!important;
  color:#2F2D43!important;
  border:0!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .free-pill{
  background:#E9E46E!important;
  color:#2F2D43!important;
  border:0!important;
}

/* GEEN wit lijntje / outline om categorie-labels op foto's */
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill,
body:not(.narrowcast-body):not(.participant-cast-body) .featured-media .category-pill,
body:not(.narrowcast-body):not(.participant-cast-body) .modal-category{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Categorieën uitsluitend uit het aangeleverde palet */
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-theater{
  background:#AD3B30!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-muziek{
  background:#9ED9C8!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-film{
  background:#2F2D43!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-kunst{
  background:#E9E46E!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-erfgoed{
  background:#6E1F1A!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-jeugd{
  background:#F5C9C0!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-festival-en-evenement{
  background:#AD3B30!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-creatief{
  background:#9ED9C8!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-eten-en-drinken{
  background:#F5C9C0!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-sport{
  background:#9ED9C8!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-winkelen{
  background:#2F2D43!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-cultuur{
  background:#2F2D43!important;color:#fff!important;
}

/* Filters: zelfde categorie-kleur als label, ook actief.
   Ruststand = zachte transparante versie; actief = volle kleur. */
.filter-chip.cat-theater{
  background:rgba(173,59,48,.13)!important;border-color:rgba(173,59,48,.30)!important;color:#6E1F1A!important;
}
.filter-chip.cat-muziek{
  background:#DDF3EC!important;border-color:#9ED9C8!important;color:#2F2D43!important;
}
.filter-chip.cat-film{
  background:#E5E4EA!important;border-color:#B8B6C3!important;color:#2F2D43!important;
}
.filter-chip.cat-kunst{
  background:#F7F3B8!important;border-color:#E9E46E!important;color:#2F2D43!important;
}
.filter-chip.cat-erfgoed{
  background:rgba(110,31,26,.10)!important;border-color:rgba(110,31,26,.28)!important;color:#6E1F1A!important;
}
.filter-chip.cat-jeugd{
  background:#FBE2DD!important;border-color:#F5C9C0!important;color:#6E1F1A!important;
}
.filter-chip.cat-festival-en-evenement{
  background:rgba(173,59,48,.13)!important;border-color:rgba(173,59,48,.30)!important;color:#6E1F1A!important;
}
.filter-chip.cat-creatief,
.filter-chip.cat-sport{
  background:#DDF3EC!important;border-color:#9ED9C8!important;color:#2F2D43!important;
}
.filter-chip.cat-eten-en-drinken{
  background:#FBE2DD!important;border-color:#F5C9C0!important;color:#6E1F1A!important;
}
.filter-chip.cat-winkelen{
  background:#E5E4EA!important;border-color:#B8B6C3!important;color:#2F2D43!important;
}

/* Actieve categorieën: exact gelijk aan fotolabel */
.filter-chip.cat-theater.active,
.filter-chip.cat-festival-en-evenement.active{
  background:#AD3B30!important;border-color:#AD3B30!important;color:#fff!important;
}
.filter-chip.cat-muziek.active,
.filter-chip.cat-creatief.active,
.filter-chip.cat-sport.active{
  background:#9ED9C8!important;border-color:#9ED9C8!important;color:#2F2D43!important;
}
.filter-chip.cat-film.active,
.filter-chip.cat-winkelen.active{
  background:#2F2D43!important;border-color:#2F2D43!important;color:#fff!important;
}
.filter-chip.cat-kunst.active{
  background:#E9E46E!important;border-color:#E9E46E!important;color:#2F2D43!important;
}
.filter-chip.cat-erfgoed.active{
  background:#6E1F1A!important;border-color:#6E1F1A!important;color:#fff!important;
}
.filter-chip.cat-jeugd.active,
.filter-chip.cat-eten-en-drinken.active{
  background:#F5C9C0!important;border-color:#F5C9C0!important;color:#2F2D43!important;
}

/* Tijdfilters krijgen ook het huisstijlpalet */
.filter-chip.filter-vandaag{
  background:#FBE2DD!important;border-color:#F5C9C0!important;color:#6E1F1A!important;
}
.filter-chip.filter-vandaag.active{
  background:#AD3B30!important;border-color:#AD3B30!important;color:#fff!important;
}
.filter-chip.filter-morgen{
  background:#DDF3EC!important;border-color:#9ED9C8!important;color:#2F2D43!important;
}
.filter-chip.filter-morgen.active{
  background:#9ED9C8!important;border-color:#9ED9C8!important;color:#2F2D43!important;
}
.filter-chip.filter-weekend{
  background:#F7F3B8!important;border-color:#E9E46E!important;color:#2F2D43!important;
}
.filter-chip.filter-weekend.active{
  background:#E9E46E!important;border-color:#E9E46E!important;color:#2F2D43!important;
}
.filter-chip.filter-datum{
  background:#E5E4EA!important;border-color:#B8B6C3!important;color:#2F2D43!important;
}
.filter-chip.filter-datum.active{
  background:#2F2D43!important;border-color:#2F2D43!important;color:#fff!important;
}

/* Uitgelicht / CTA speelser met palet */
.home-agenda-cta{
  background:#F5C9C0!important;
}
.featured-section .section-kicker{
  color:#6E1F1A!important;
}
.featured-when strong{
  background:#F5C9C0!important;
  color:#2F2D43!important;
}

/* Formulier / modal in Papier + Nacht */
body:not(.narrowcast-body):not(.participant-cast-body) .form-section,
body:not(.narrowcast-body):not(.participant-cast-body) .extra-settings,
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog{
  color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .schedule-type-card.active{
  border-color:#AD3B30!important;
  box-shadow:0 0 0 1px #AD3B30!important;
}


/* ==========================================================
   FIX — categorie filter exact gelijk aan label + leesbare Uitgelicht
   ========================================================== */

/* Geen wit/blauw lijntje of focus-ring rond fotolabels of filters */
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill,
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill:focus,
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip:focus,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip:focus-visible{
  outline:0!important;
  box-shadow:none!important;
}

/* EXACT dezelfde volle kleur voor categorie-label én actief filter */
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-theater,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-theater.active{
  background:#AD3B30!important;color:#fff!important;border-color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-muziek,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-muziek.active{
  background:#9ED9C8!important;color:#2F2D43!important;border-color:#9ED9C8!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-film,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-film.active{
  background:#2F2D43!important;color:#fff!important;border-color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-kunst,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-kunst.active{
  background:#E9E46E!important;color:#2F2D43!important;border-color:#E9E46E!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-erfgoed,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-erfgoed.active{
  background:#6E1F1A!important;color:#fff!important;border-color:#6E1F1A!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-jeugd,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-jeugd.active{
  background:#F5C9C0!important;color:#2F2D43!important;border-color:#F5C9C0!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-festival-en-evenement,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-festival-en-evenement.active{
  background:#AD3B30!important;color:#fff!important;border-color:#AD3B30!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-creatief,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-creatief.active{
  background:#9ED9C8!important;color:#2F2D43!important;border-color:#9ED9C8!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-eten-en-drinken,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-eten-en-drinken.active{
  background:#F5C9C0!important;color:#2F2D43!important;border-color:#F5C9C0!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-sport,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-sport.active{
  background:#9ED9C8!important;color:#2F2D43!important;border-color:#9ED9C8!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .category-pill.cat-winkelen,
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-winkelen.active{
  background:#2F2D43!important;color:#fff!important;border-color:#2F2D43!important;
}

/* Uitgelicht: titel en tekst altijd licht boven de foto */
body:not(.narrowcast-body):not(.participant-cast-body) .featured-copy,
body:not(.narrowcast-body):not(.participant-cast-body) .featured-copy h3,
body:not(.narrowcast-body):not(.participant-cast-body) .featured-organizer{
  color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .featured-organizer{
  opacity:.88!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .featured-shade{
  background:linear-gradient(0deg,rgba(47,45,67,.93) 0%,rgba(47,45,67,.34) 58%,rgba(47,45,67,.03) 80%)!important;
}


/* ==========================================================
   DETAILFIX — links leesbaar + actieve knop rood
   ========================================================== */

/* Links in detail / extra informatie duidelijk leesbaar op licht vlak. */
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog a,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra a,
body:not(.narrowcast-body):not(.participant-cast-body) .public-contact a,
body:not(.narrowcast-body):not(.participant-cast-body) .secondary-link{
  color:#6E1F1A!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:3px!important;
  font-weight:800!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog a:hover,
body:not(.narrowcast-body):not(.participant-cast-body) .event-extra a:hover,
body:not(.narrowcast-body):not(.participant-cast-body) .public-contact a:hover,
body:not(.narrowcast-body):not(.participant-cast-body) .secondary-link:hover{
  color:#AD3B30!important;
}

/* Contactregel niet meer wegvallen tegen de lichte achtergrond. */
body:not(.narrowcast-body):not(.participant-cast-body) .public-contact p,
body:not(.narrowcast-body):not(.participant-cast-body) .public-contact{
  color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .public-contact a{
  color:#6E1F1A!important;
}

/* Actieve hoofdknop in detailvenster: Baksteenrood met witte tekst. */
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .primary-button,
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .ticket-button,
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .calm-actions .primary-button{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
  box-shadow:none!important;
}

body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .primary-button:hover,
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .ticket-button:hover{
  background:#6E1F1A!important;
  border-color:#6E1F1A!important;
  color:#fff!important;
}

/* Secundaire knop licht houden voor duidelijk verschil. */
body:not(.narrowcast-body):not(.participant-cast-body) #event-dialog .secondary-button{
  background:#F5C9C0!important;
  color:#2F2D43!important;
  border:0!important;
}


/* ==========================================================
   V6 — Vandaag & Morgen + Doorlopend
   ========================================================== */
.filter-chip.filter-vandaag-en-morgen{
  background:#FBE2DD!important;
  border-color:#F5C9C0!important;
  color:#6E1F1A!important;
}
.filter-chip.filter-vandaag-en-morgen.active{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
}


/* Definitieve laadfix:
   het oude witte middenlogo uit .loading mag op gewone websitepagina's nooit verschijnen. */
body:not(.narrowcast-body):not(.participant-cast-body) #app > .loading img{
  display:none!important;
}


/* ==========================================================
   V7 — websiteheader, vaste filters en compacte sortering
   ========================================================== */

/* Header: alleen het logo, alle rechter links/knoppen verwijderd. */
body:not(.narrowcast-body):not(.participant-cast-body) .site-header{
  justify-content:flex-start!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav,
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .menu-toggle{
  display:none!important;
}

/* De vaste filterset blijft compact en horizontaal scrollbaar. */
.filter-strip{
  gap:8px!important;
}
.filter-chip{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

/* Nieuwe themanamen binnen het bestaande palet. */
.filter-chip.cat-expositie{
  background:#F7F3B8!important;
  border-color:#E9E46E!important;
  color:#2F2D43!important;
}
.filter-chip.cat-expositie.active{
  background:#E9E46E!important;
  border-color:#E9E46E!important;
  color:#2F2D43!important;
}
.filter-chip.cat-museum{
  background:#E5E4EA!important;
  border-color:#B8B6C3!important;
  color:#2F2D43!important;
}
.filter-chip.cat-museum.active{
  background:#2F2D43!important;
  border-color:#2F2D43!important;
  color:#fff!important;
}
.filter-chip.cat-evenement{
  background:rgba(173,59,48,.13)!important;
  border-color:rgba(173,59,48,.30)!important;
  color:#6E1F1A!important;
}
.filter-chip.cat-evenement.active{
  background:#AD3B30!important;
  border-color:#AD3B30!important;
  color:#fff!important;
}

/* Kaartdatum bijvoorbeeld 'zo 17 maart'. */
.card-day-label{
  white-space:nowrap!important;
}

/* Sorteerfunctie als klein icoon met popover. */
.compact-sort-controls{
  width:auto!important;
  min-width:44px!important;
  flex:0 0 auto!important;
  position:relative!important;
}
.sort-menu{
  position:relative;
}
.sort-toggle{
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(47,45,67,.16);
  background:#fff;
  color:#2F2D43;
  cursor:pointer;
}
.sort-toggle svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sort-toggle:hover,
.sort-toggle[aria-expanded="true"]{
  background:#AD3B30;
  border-color:#AD3B30;
  color:#fff;
}
.sort-popover{
  position:absolute;
  right:0;
  top:52px;
  z-index:60;
  min-width:170px;
  padding:7px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(47,45,67,.10);
  box-shadow:0 14px 34px rgba(47,45,67,.18);
}
.sort-popover[hidden]{
  display:none!important;
}
.sort-popover button{
  width:100%;
  display:block;
  border:0;
  border-radius:9px;
  padding:10px 12px;
  background:transparent;
  color:#2F2D43;
  text-align:left;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.sort-popover button:hover,
.sort-popover button.active{
  background:#F5C9C0;
  color:#6E1F1A;
}

@media(max-width:900px){
  .agenda-toolbar{
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .filter-strip{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .compact-sort-controls{
    margin-left:auto!important;
  }
}


/* V8 — deelnemers zonder profielbeeld/avatar en zonder zichtbare narrowcast-link */
.participant-card-simple{
  display:block!important;
  padding:22px!important;
}
.participant-card-simple .participant-card-copy{
  display:block;
}
.participant-card-simple h2{
  margin:0 0 10px!important;
}


/* V10 — hoofdmenu terug zoals V6; links/rechts hero-pijlen weg */
body:not(.narrowcast-body):not(.participant-cast-body) .site-header{justify-content:space-between!important}
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav{display:flex!important;align-items:center!important}
body:not(.narrowcast-body):not(.participant-cast-body) .site-header .menu-toggle{display:none!important}
.content-hero-arrow,.hero-arrow{display:none!important}
@media(max-width:760px){
  body:not(.narrowcast-body):not(.participant-cast-body) .site-header .menu-toggle{display:flex!important}
  body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav{
    display:none!important;position:fixed!important;left:0!important;right:0!important;top:74px!important;
    background:#AD3B30!important;border-bottom:1px solid rgba(255,255,255,.16)!important;
    padding:22px 18px 28px!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important
  }
  body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav.open{display:flex!important}
  body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav a{color:#fff!important;padding:14px 4px!important;font-size:18px!important}
  body:not(.narrowcast-body):not(.participant-cast-body) .site-header .main-nav .nav-cta{text-align:center!important;padding:14px!important}
}


/* ==========================================================
   V11 — kaartbreedte, filterkleuren, CMS CTA en iOS-pijl
   ========================================================== */

/* Een enkele kaart mag op desktop nooit meer over de volledige rij uitrekken.
   De rij reserveert minimaal twee kaartkolommen. */
@media(min-width:901px){
  .card-row:has(> .event-card:only-child){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }
  .card-row:has(> .event-card:only-child) > .event-card{
    grid-column:1!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* Iedere inhoudelijke filtercategorie een eigen tint. */
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-theater{
  background:#F1D2CE!important;border-color:#DFA59E!important;color:#7C2922!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-theater.active{
  background:#AD3B30!important;border-color:#AD3B30!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-expositie{
  background:#F7F0B7!important;border-color:#E9E46E!important;color:#625E13!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-expositie.active{
  background:#D8D24C!important;border-color:#D8D24C!important;color:#2F2D43!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-museum{
  background:#DDD9EA!important;border-color:#BCB4D4!important;color:#51466E!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-museum.active{
  background:#6B5B8A!important;border-color:#6B5B8A!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-film{
  background:#DDE7F2!important;border-color:#B6C9DE!important;color:#355A7C!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-film.active{
  background:#4E7395!important;border-color:#4E7395!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-muziek{
  background:#D7EFE9!important;border-color:#9ED9C8!important;color:#24665A!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-muziek.active{
  background:#4D9E8D!important;border-color:#4D9E8D!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-erfgoed{
  background:#E8D7D4!important;border-color:#C89B95!important;color:#6E1F1A!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-erfgoed.active{
  background:#6E1F1A!important;border-color:#6E1F1A!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-evenement{
  background:#F4DDE6!important;border-color:#DDA7BC!important;color:#8C3D5D!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-evenement.active{
  background:#B9577C!important;border-color:#B9577C!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-creatief{
  background:#DCECF2!important;border-color:#ADD0DC!important;color:#35697A!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-creatief.active{
  background:#4A8CA2!important;border-color:#4A8CA2!important;color:#fff!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-jeugd{
  background:#F8DCD5!important;border-color:#E9B3A7!important;color:#8C4739!important;
}
body:not(.narrowcast-body):not(.participant-cast-body) .filter-chip.cat-jeugd.active{
  background:#D87A64!important;border-color:#D87A64!important;color:#fff!important;
}

/* Geen emoji-pijl op iOS; nette schaalbare lijnpijl. */
.button-external-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  margin-left:7px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  vertical-align:middle!important;
}
.primary-button .button-external-icon,
.secondary-button .button-external-icon,
.link-button .button-external-icon,
.ticket-hero .button-external-icon{
  transform:none!important;
}
.primary-button:hover .button-external-icon,
.secondary-button:hover .button-external-icon,
.link-button:hover .button-external-icon,
.ticket-hero:hover .button-external-icon{
  transform:translate(1px,-1px)!important;
  transition:transform .18s ease!important;
}
