
:root{
  --blue:#07579d;--blue-dark:#063a70;--red:#e9162a;--yellow:#fbb30b;--black:#1b1a19;
  --cream:#f6f1d7;--teal:#2b9b8f;--white:#fff;--muted:#6b6a64;--line:rgba(27,26,25,.13);
  --shadow:0 18px 50px rgba(7,49,88,.14);--radius:24px;--max:1160px;--stage-gray:#606060;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f1;color:var(--black);font-family:Arial,Helvetica,sans-serif;line-height:1.45;padding-bottom:78px}
button,input{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;background:#fff;padding:.8rem 1rem;z-index:1000}.skip-link:focus{top:1rem}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - var(--max))/2));background:rgba(248,247,241,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--black)}.brand-orb{width:44px;height:44px}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:1.45rem;letter-spacing:.02em}.brand small{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;margin-top:5px}
.poster-button,.secondary-button{border:2px solid var(--black);background:transparent;padding:.68rem 1rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.poster-button:hover,.secondary-button:hover{background:var(--black);color:#fff}
main{overflow:clip}.hero{min-height:580px;position:relative;background:var(--blue);color:#fff;display:flex;align-items:center;padding:75px max(24px,calc((100vw - var(--max))/2));isolation:isolate}.hero:after{content:'';position:absolute;right:-10%;bottom:-33%;width:64%;height:76%;background:var(--black);clip-path:polygon(0 100%,100% 0,100% 100%);z-index:-2}.hero-art .shape{position:absolute;z-index:-1}.shape-a{width:34vw;height:34vw;max-width:490px;max-height:490px;min-width:280px;min-height:280px;background:var(--red);border-radius:50%;left:-8vw;top:-12vw}.shape-b{width:240px;height:390px;background:var(--yellow);right:9%;top:0}.shape-c{width:260px;height:260px;background:var(--teal);border-radius:50%;left:45%;bottom:-150px}.hero-copy{max-width:820px;position:relative;z-index:3}.eyebrow{text-transform:uppercase;font-size:.78rem;font-weight:900;letter-spacing:.16em;margin:0 0 14px}.hero h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(4.2rem,11vw,9.5rem);line-height:.82;letter-spacing:-.02em;margin:0;max-width:900px}.hero h1 span{color:var(--yellow)}.hero-dates{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(1.8rem,4vw,3.1rem);color:var(--cream);margin:25px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-button{display:inline-flex;background:var(--red);color:#fff;text-decoration:none;padding:.95rem 1.25rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--red)}.primary-button:hover{background:#fff;color:var(--black);border-color:#fff}.hero .secondary-button{color:#fff;border-color:#fff}.hero .secondary-button:hover{background:#fff;color:var(--black)}.hero-orb{position:absolute;width:min(33vw,370px);right:max(20px,calc((100vw - var(--max))/2));bottom:-65px;filter:drop-shadow(0 18px 25px rgba(0,0,0,.28));z-index:4}
.status-strip{max-width:var(--max);margin:0 auto;padding:98px 22px 32px;display:grid;grid-template-columns:1fr;gap:16px}.status-strip>div{background:#fff;border:1px solid var(--line);padding:20px;border-radius:18px;box-shadow:0 8px 25px rgba(0,0,0,.04);display:flex;flex-direction:column}.status-strip strong{font-size:1.05rem}.status-strip span{color:var(--muted);margin-top:4px;font-size:.9rem}
.controls{max-width:var(--max);margin:0 auto;padding:20px 22px 20px}.search-wrap label{display:block;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-bottom:8px}.search-wrap input{width:100%;border:2px solid var(--black);background:#fff;border-radius:0;padding:17px 18px;font-size:1rem;outline:none}.search-wrap input:focus{box-shadow:0 0 0 4px rgba(251,179,11,.4)}.period-filter{display:flex;gap:8px;margin:14px 0 0}.filter{border:1px solid var(--line);background:#fff;border-radius:99px;padding:.68rem 1.05rem;font-weight:800;cursor:pointer}.filter.active{background:var(--black);color:#fff;border-color:var(--black)}
.program-area{position:relative}.date-picker-sticky{position:sticky;top:72px;z-index:65;background:rgba(248,247,241,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:72px}.date-picker-inner{max-width:var(--max);margin:0 auto;padding:10px 22px 9px;display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:14px}.date-picker-title{display:flex;flex-direction:column;line-height:1}.date-picker-title span{text-transform:uppercase;font-size:.64rem;font-weight:900;letter-spacing:.16em;color:var(--red)}.date-picker-title strong{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:1.55rem;margin-top:5px}.date-nav{display:flex;gap:8px;overflow-x:auto;padding:3px 0 7px;scrollbar-width:thin}.date-chip{flex:0 0 auto;min-width:88px;border:0;background:var(--cream);color:var(--black);padding:9px 11px;cursor:pointer;text-align:left;border-left:6px solid var(--yellow)}.date-chip strong,.date-chip span{display:block}.date-chip strong{text-transform:uppercase;font-size:.64rem;letter-spacing:.09em}.date-chip span{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:1.2rem;margin-top:2px}.date-chip.active{background:var(--blue);color:#fff;border-color:var(--red)}
.program{max-width:var(--max);margin:0 auto;padding:28px 22px 70px}.day-section{scroll-margin-top:180px;margin:0 0 56px}.day-hero{min-height:290px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--black);color:#fff;overflow:hidden;position:relative}.day-hero-copy{padding:34px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.day-hero-copy:before{content:'';position:absolute;left:0;top:0;width:180px;height:16px;background:var(--red)}.day-hero-copy:after{content:'';position:absolute;left:190px;top:0;width:90px;height:16px;background:var(--yellow)}.day-hero .date-kicker{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.day-hero h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,6vw,5.3rem);line-height:.92;margin:9px 0 0}.day-hero p{margin:14px 0 0;color:var(--cream);font-weight:700}.day-hero-img{min-height:290px;background-size:cover;background-position:center;position:relative}.day-hero-img:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,26,25,.35),transparent 50%)}
.period{margin-top:18px}.period-title{display:flex;align-items:center;gap:10px;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:2rem;margin:0 0 12px}.period-title:after{content:'';height:3px;flex:1;background:var(--line)}.period-title .period-dot{width:18px;height:18px;border-radius:50%;background:var(--yellow)}.period.evening .period-dot{background:var(--red)}.act-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.act-card{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;padding:0;display:grid;grid-template-columns:128px 1fr;min-height:150px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;cursor:pointer}.act-card:hover,.act-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(7,87,157,.45);outline:none}.act-card:focus-visible{box-shadow:0 0 0 4px rgba(251,179,11,.55),var(--shadow)}.act-card.no-photo{grid-template-columns:1fr;min-height:132px;border-left:8px solid var(--yellow)}.evening .act-card.no-photo{border-left-color:var(--red)}.act-image{min-height:150px;background:var(--blue);position:relative;overflow:hidden}.act-image img.photo{width:100%;height:100%;object-fit:cover;display:block}.act-content{padding:17px 17px 15px 18px;display:flex;flex-direction:column;align-items:flex-start}.act-card.no-photo .act-content{padding:20px 22px 16px}.act-time{display:inline-flex;background:var(--yellow);color:var(--black);font-weight:900;padding:4px 7px;font-size:.78rem;letter-spacing:.05em}.evening .act-time{background:var(--red);color:#fff}.act-content .act-title{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:1.45rem;line-height:1.02;margin:10px 0 6px}.act-content p{margin:0;color:#555;font-size:.89rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{display:inline-flex;padding:4px 7px;border:1px solid var(--line);font-size:.68rem;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.badge.partner{background:var(--cream)}.read-more{margin-top:auto;padding-top:11px;color:var(--blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.read-more span{font-size:1.05rem;vertical-align:-1px}.evening .read-more{color:var(--red)}
.poster-break{margin:20px 0 58px;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--red);color:#fff;overflow:hidden}.poster-break img{width:100%;height:100%;max-height:620px;object-fit:cover;object-position:top}.poster-break-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.poster-break h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:clamp(3rem,7vw,6rem);line-height:.9;text-transform:uppercase;margin:0}.poster-break p{font-size:1.05rem;max-width:430px}.poster-break button{align-self:flex-start;background:var(--yellow);border:0;padding:.9rem 1.1rem;font-weight:900;text-transform:uppercase;cursor:pointer}
.no-results{padding:50px;background:var(--cream);text-align:center}.no-results h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:2.8rem;margin:0}
.partners{background:var(--black);color:#fff;padding:75px max(22px,calc((100vw - var(--max))/2));text-align:center;scroll-margin-top:72px}.partners h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;margin:0 0 34px}.partner-grid{display:grid;gap:14px}.partner-grid-stage{grid-template-columns:repeat(3,1fr)}.partner-logo{display:flex;align-items:center;justify-content:center;overflow:hidden}.partner-stage{min-height:170px;background:var(--stage-gray);border:1px solid rgba(255,255,255,.12)}.partner-stage img{width:100%;height:100%;max-height:160px;object-fit:contain;display:block}.partner-subtitle{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:1.75rem;letter-spacing:.03em;margin:42px 0 16px;color:var(--yellow)}.partner-grid-support{grid-template-columns:repeat(2,minmax(0,280px));justify-content:center}.partner-light{min-height:145px;background:#fff;padding:22px}.partner-light img{max-width:100%;max-height:100px;object-fit:contain}
footer{background:#0e0e0e;color:#fff;min-height:170px;padding:35px max(22px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:18px}.footer-orb{width:70px}footer div{display:flex;flex-direction:column}footer strong{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:1.7rem}footer span{color:#bbb}footer a{margin-left:auto;color:#fff;font-weight:800}
.poster-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,720px);max-height:92vh}.poster-dialog::backdrop,.act-dialog::backdrop{background:rgba(0,0,0,.85)}.poster-dialog img{display:block;max-width:100%;max-height:90vh}.dialog-close{position:fixed;right:20px;top:20px;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:#111;font-size:2rem;cursor:pointer;z-index:5;box-shadow:0 5px 18px rgba(0,0,0,.2)}
.act-dialog{width:min(92vw,760px);max-height:90vh;border:0;padding:0;background:#fff;color:var(--black);overflow:auto}.act-dialog-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:420px}.act-dialog-shell.no-photo{grid-template-columns:1fr;min-height:0}.act-dialog-media{background:var(--blue);min-height:420px}.act-dialog-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.act-dialog-copy{padding:46px 42px 40px;position:relative}.act-dialog-copy:before{content:'';display:block;width:92px;height:10px;background:var(--red);margin-bottom:25px;box-shadow:102px 0 0 var(--yellow)}.act-dialog-date{display:block;color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem}.act-dialog-time{display:inline-flex;margin-top:12px;background:var(--yellow);padding:5px 9px;font-weight:900}.act-dialog-copy.evening .act-dialog-time{background:var(--red);color:#fff}.act-dialog h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,7vw,4.5rem);line-height:.95;margin:15px 0 18px}.act-dialog-description{font-size:1.05rem;color:#454545;margin:0 0 20px}.act-dialog-note{font-size:.92rem;color:var(--muted);margin:0 0 20px}.act-dialog .meta{margin-top:18px}.act-dialog-close{position:fixed}
.bottom-nav{display:none}
@media(max-width:820px){
 body{padding-bottom:74px}.topbar{height:62px;padding:0 15px}.brand-orb{width:37px;height:37px}.brand strong{font-size:1.18rem}.brand small{font-size:.62rem}.poster-button{padding:.52rem .72rem;font-size:.76rem}
 .hero{min-height:520px;padding:54px 20px 95px;align-items:flex-end}.hero:after{width:110%;height:53%;right:-55%;bottom:-20%}.shape-a{left:-35vw;top:-25vw}.shape-b{width:85px;height:240px;right:7%;top:0}.shape-c{width:190px;height:190px;left:48%;bottom:-130px}.hero h1{font-size:clamp(3rem,12vw,4rem);letter-spacing:-.035em}.hero-orb{width:185px;right:-25px;bottom:-47px}.hero-dates{font-size:1.9rem}.hero-actions{max-width:250px}.hero-actions>*{width:100%;text-align:center;justify-content:center}
 .status-strip{grid-template-columns:1fr;padding:75px 15px 20px;gap:8px}.status-strip>div{padding:15px}
 .controls{padding:18px 15px 15px}.date-picker-sticky{top:62px;scroll-margin-top:62px}.date-picker-inner{padding:8px 15px;grid-template-columns:102px minmax(0,1fr);gap:8px}.date-picker-title span{font-size:.55rem}.date-picker-title strong{font-size:1.25rem}.date-chip{min-width:82px;padding:8px 9px}.date-chip span{font-size:1.1rem}
 .program{padding:22px 15px 45px}.day-section{margin-bottom:44px;scroll-margin-top:164px}.day-hero{grid-template-columns:1fr;min-height:0}.day-hero-copy{min-height:220px;padding:27px 23px}.day-hero-img{min-height:230px;order:-1}.day-hero-img:after{background:linear-gradient(0deg,rgba(27,26,25,.5),transparent 60%)}.day-hero h2{font-size:clamp(2rem,8vw,2.8rem);overflow-wrap:normal;word-break:normal;hyphens:none}
 .period-title{font-size:1.7rem}.act-list{grid-template-columns:1fr}.act-card{grid-template-columns:105px 1fr;min-height:135px}.act-card.no-photo{grid-template-columns:1fr;min-height:118px}.act-image{min-height:135px}.act-content{padding:14px}.act-card.no-photo .act-content{padding:17px 18px 14px}.act-content .act-title{font-size:1.3rem}.act-content p{font-size:.84rem}
 .poster-break{grid-template-columns:1fr}.poster-break img{max-height:520px}.poster-break-copy{padding:30px}.poster-break h2{font-size:3.6rem}
 .partner-grid-stage{grid-template-columns:1fr 1fr}.partner-stage{min-height:125px}.partner-stage img{max-height:120px}.partner-grid-support{grid-template-columns:1fr 1fr}.partner-light{min-height:115px;padding:16px}
 footer{padding:30px 20px 105px;align-items:flex-start;flex-wrap:wrap}footer a{margin-left:0;width:100%}
 .act-dialog-shell{grid-template-columns:1fr}.act-dialog-media{min-height:250px;max-height:38vh}.act-dialog-media img{min-height:250px;max-height:38vh}.act-dialog-copy{padding:33px 24px 30px}.act-dialog h2{font-size:2.65rem}.dialog-close{right:12px;top:12px}
 .bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));box-shadow:0 -12px 30px rgba(0,0,0,.08)}.bottom-nav a,.bottom-nav button{border:0;background:transparent;color:var(--black);text-decoration:none;display:flex;min-height:54px;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-weight:800;font-size:.68rem;cursor:pointer}.bottom-nav img{width:25px;height:25px}.dot-icon{width:19px;height:19px;border-radius:50%;background:var(--yellow);border:5px solid var(--blue)}.poster-icon{font-size:1.25rem;font-weight:900;height:24px}.partners-icon{width:22px;height:22px;border:2px solid var(--black);display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900}
}
@media(max-width:430px){.act-card.has-photo{grid-template-columns:90px 1fr}.act-content .act-title{font-size:1.18rem}.partner-grid-stage{grid-template-columns:1fr 1fr}.partner-grid-support{grid-template-columns:1fr 1fr}.hero .eyebrow{max-width:230px}.date-picker-inner{grid-template-columns:88px minmax(0,1fr)}.date-picker-title strong{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.act-card{transition:none}}

/* iOS Safari: zet 2026 op een aparte regel om afkapping te vermijden. */
@supports (-webkit-touch-callout:none){@media(max-width:820px){.hero h1 span{display:block;margin-top:.10em;line-height:.82}}}


/* Place Musette: apart programma in rood/zwart, zonder de Luisterplein-layout te wijzigen. */
.musette-button{display:inline-flex;align-items:center;gap:.55rem;background:var(--black);color:#fff;border:2px solid var(--black);box-shadow:inset 7px 0 0 var(--red);padding:.95rem 1.25rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.musette-button span{color:var(--red);font-size:1.35rem;line-height:0}.musette-button:hover{background:#fff;color:var(--black);border-color:#fff}.musette-button:hover span{color:var(--red)}
.musette-dialog{width:min(96vw,1080px);max-width:1080px;height:min(93vh,920px);max-height:93vh;border:0;padding:0;background:#f3f0ea;color:#171717;overflow:auto}.musette-dialog::backdrop{background:rgba(0,0,0,.88)}.musette-close{position:fixed;background:var(--red);color:#fff}.musette-hero{min-height:330px;position:relative;background:#111 url('assets/images/place-musette-header.webp') center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}.musette-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 47%,rgba(0,0,0,.24) 100%);z-index:-1}.musette-hero:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:12px;background:linear-gradient(90deg,var(--red) 0 34%,#111 34% 100%)}.musette-hero-copy{padding:52px 46px 45px;max-width:760px}.musette-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:900;color:#fff;margin:0 0 8px}.musette-hero h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(3rem,7vw,6.5rem);line-height:.88;margin:0;letter-spacing:-.055em}.musette-hero h2 span{color:var(--red);font-family:Arial,sans-serif}.musette-hero h2 strong{font-family:Arial,Helvetica,sans-serif;font-size:.38em;letter-spacing:.03em;color:#fff;margin-left:.12em}.musette-hero-copy>p:not(.musette-kicker){font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:22px 0 0}.musette-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.musette-facts span{background:var(--red);padding:7px 10px;font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.05em}.musette-date-wrap{position:sticky;top:0;z-index:4;background:rgba(17,17,17,.98);color:#fff;padding:11px 18px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:center;border-bottom:5px solid var(--red)}.musette-date-label{display:flex;flex-direction:column;line-height:1}.musette-date-label span{text-transform:uppercase;color:var(--red);font-size:.62rem;letter-spacing:.18em;font-weight:900}.musette-date-label strong{text-transform:uppercase;font-size:1.15rem;margin-top:5px}.musette-date-nav{display:flex;gap:7px;overflow-x:auto;padding:2px 0 5px}.musette-date-chip{flex:0 0 auto;min-width:80px;border:1px solid rgba(255,255,255,.22);border-left:5px solid var(--red);background:#252525;color:#fff;padding:8px 10px;text-align:left;cursor:pointer}.musette-date-chip strong,.musette-date-chip span{display:block}.musette-date-chip strong{text-transform:uppercase;font-size:.62rem;letter-spacing:.08em}.musette-date-chip span{font-weight:900;font-size:1rem;margin-top:2px}.musette-date-chip.active{background:var(--red);border-color:var(--red)}.musette-program{padding:28px;background:#f3f0ea}.musette-day{max-width:960px;margin:0 auto}.musette-day+.musette-day{margin-top:46px;padding-top:42px;border-top:3px solid #111}.musette-day-head{background:#111;color:#fff;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-left:12px solid var(--red)}.musette-day-head h3{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(2rem,5vw,3.6rem);line-height:.95;margin:0}.musette-day-head p{margin:0;color:#ddd;font-size:.85rem;text-align:right}.musette-act-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.musette-act-card{background:#fff;border:1px solid rgba(0,0,0,.14);border-top:8px solid var(--red);padding:20px;min-height:185px;box-shadow:0 8px 22px rgba(0,0,0,.05)}.musette-act-time{display:inline-flex;background:#111;color:#fff;padding:5px 8px;font-weight:900;font-size:.78rem;letter-spacing:.04em}.musette-act-card h4{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:1.55rem;line-height:1.02;margin:13px 0 5px}.musette-act-subtitle{display:block;color:var(--red);font-weight:900;font-size:.78rem;text-transform:uppercase;margin-bottom:8px}.musette-act-card p{margin:0;color:#4b4b4b;font-size:.92rem}.musette-painter{margin:12px 0 0;background:#dedbd5;color:#111;padding:10px 14px;font-size:.8rem}.musette-painter strong{text-transform:uppercase;color:var(--red);letter-spacing:.07em}.musette-empty{background:#fff;padding:30px;text-align:center}
@media(max-width:820px){.musette-dialog{width:100vw;height:100vh;max-height:100vh}.musette-hero{min-height:330px}.musette-hero-copy{padding:70px 22px 36px}.musette-hero h2{font-size:clamp(3.2rem,16vw,5.2rem);max-width:330px}.musette-hero h2 strong{display:block;font-size:.32em;margin:10px 0 0;letter-spacing:.12em}.musette-date-wrap{grid-template-columns:92px minmax(0,1fr);padding:9px 12px}.musette-date-label strong{font-size:1rem}.musette-date-chip{min-width:77px}.musette-program{padding:18px 14px 80px}.musette-day-head{padding:19px 17px;align-items:flex-start;flex-direction:column}.musette-day-head p{text-align:left}.musette-act-grid{grid-template-columns:1fr}.musette-act-card{min-height:0;padding:18px}.musette-close{right:12px;top:12px}.hero-actions .musette-button{width:100%;justify-content:center;text-align:center}}


/* Installatieknop en PWA-instructies */
.install-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;background:var(--cream);color:var(--black);padding:.85rem 1.15rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;cursor:pointer;box-shadow:5px 5px 0 var(--yellow)}
.install-button:hover,.install-button:focus-visible{background:#fff;transform:translateY(-2px);outline:none;box-shadow:7px 7px 0 var(--yellow)}
.install-button img{width:25px;height:25px;object-fit:contain}
.install-button[hidden]{display:none!important}
.install-dialog{width:min(92vw,570px);max-height:90vh;border:0;padding:0;background:#fff;color:var(--black);overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.install-dialog::backdrop{background:rgba(0,0,0,.82)}
.install-dialog-content{padding:46px 44px 38px;text-align:center;position:relative}
.install-dialog-content:before{content:'';position:absolute;left:0;top:0;width:100%;height:12px;background:linear-gradient(90deg,var(--red) 0 34%,var(--black) 34% 68%,var(--yellow) 68%)}
.install-dialog-icon{width:94px;height:94px;border-radius:22%;margin:8px auto 20px;display:block;box-shadow:0 12px 32px rgba(7,87,157,.22)}
.install-dialog .eyebrow{color:var(--red);margin-bottom:8px}
.install-dialog h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-size:clamp(2.4rem,8vw,4rem);line-height:.94;margin:0 0 24px}
.install-instructions{background:var(--cream);padding:20px 22px;text-align:left;border-left:8px solid var(--yellow);font-size:1rem}
.install-instructions p{margin:0 0 12px}.install-instructions p:last-child{margin-bottom:0}
.install-instructions strong{color:var(--blue)}
.install-steps{margin:0;padding-left:1.25rem}.install-steps li{margin:.55rem 0}
.install-share-symbol{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border:2px solid var(--blue);color:var(--blue);font-weight:900;margin:0 3px;vertical-align:-5px}
.install-dialog-done{margin-top:22px;border:0;background:var(--red);color:#fff;padding:.82rem 1.35rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.install-dialog-done:hover{background:var(--black)}
.install-dialog-close{position:fixed}
@media(max-width:820px){.install-dialog-content{padding:40px 23px 30px}.install-dialog-icon{width:82px;height:82px}.install-instructions{padding:17px 18px}.hero-actions .install-button{width:100%}}

/* Installatieknop in de bovenbalk */
.topbar-install-button[hidden]{display:none!important}

/* Discreet creator credit */
footer{flex-wrap:wrap}
.powered-by{display:block;width:100%;margin-top:2px;text-align:center;color:#777;font-size:.68rem;letter-spacing:.04em;line-height:1.4}
.powered-by a{display:inline;margin:0;width:auto;color:#999;font-weight:700;text-decoration:none}
.powered-by a:hover,.powered-by a:focus-visible{color:#fff;text-decoration:underline}
