/* Bloemenstof — grotere kleurvlakken, dezelfde Ruth-typografie. */
.site-header{max-width:none;padding-inline:max(24px,calc((100% - 1312px)/2));background:var(--pink);border-bottom:0}
.site-header .brand{color:var(--ink)}
.site-header .brand span{color:var(--ink)}
.hero{padding-bottom:0}
.hero-main{border-bottom:8px solid var(--coral)}
.hero-art::after{background:linear-gradient(90deg,var(--paper) 0%,color-mix(in srgb,var(--pink) 22%,var(--paper)) 34%,color-mix(in srgb,var(--paper) 30%,transparent) 63%,transparent 82%)}
.hero .eyebrow{background:var(--mustard);color:var(--ink);padding:6px 12px;border-radius:20px}
.hero-intro{border-left:5px solid var(--pink)}
.hero .retro-badge{background:var(--lime);border:3px dashed var(--petrol);box-shadow:0 0 0 7px var(--mustard);color:var(--ink)}
.hero .ticket-button{background:var(--red);color:var(--paper)}

/* Twee identieke kleurreeksen schuiven over precies één herhaling. */
.ruth-ribbon{position:relative;isolation:isolate;background:var(--paper)}
.ruth-ribbon .stripe-divider{position:relative;margin:0;height:48px;overflow:hidden;border-radius:0;transform:none;background:var(--palette-stripe)}
.ruth-ribbon .stripe-divider::before{content:"";position:absolute;inset:0 auto 0 0;width:200%;background-image:var(--palette-stripe);background-repeat:repeat-x;background-size:50% 100%;transform:translate3d(0,0,0)}
.ruth-motion-on .ruth-ribbon .stripe-divider::before{animation:ruth-ribbon-drift 48s linear infinite;will-change:transform}
@keyframes ruth-ribbon-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ruth-tab-hidden .ruth-ribbon .stripe-divider::before{animation-play-state:paused}
.ruth-ribbon .motion-toggle{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:1;color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:24px;padding:5px 12px;font-size:12px;text-decoration:none;font-weight:700}

/* Kleur rondom de tekst; de leesvlakken blijven helder. */
.story-with-poster{position:relative;isolation:isolate;background:var(--pink);max-width:none;padding-inline:max(32px,calc((100% - 1312px)/2));gap:48px}
.story-copy{position:relative;background:var(--paper);padding:28px 30px;border-radius:8px 40px 8px 8px;box-shadow:7px 7px 0 var(--coral)}
.story-copy h2{color:var(--indigo)}
.short-story blockquote{border-left-color:var(--mustard);color:var(--petrol)}
.story-copy .overline{color:var(--wood)}
.short-story figure.poster-frame{background:var(--mustard);border:1px solid var(--wood);box-shadow:8px 8px 0 var(--indigo);padding:14px 14px 16px}
.poster-frame figcaption,.poster-frame figcaption a{color:var(--ink)}
.ruth-flower{position:absolute;pointer-events:none;user-select:none;z-index:-1;font:130px/1 Georgia,serif}
.story-with-poster>.ruth-flower{right:3%;top:16px;color:var(--mustard);transform:rotate(12deg)}

/* Het podium krijgt geel, met kleurrijke kaartjes per rol. */
.cast-section{position:relative;isolation:isolate;max-width:none;background:var(--mustard);padding:32px max(32px,calc((100% - 1312px)/2)) 36px}
.cast-heading h2{color:var(--ink)}
.cast-heading .overline,.cast-heading .text-link{color:var(--ink)}
.cast-group{background:var(--mint);border:2px solid var(--petrol);border-radius:52px 52px 8px 8px}
.cast-group .cast-empty{background:var(--mint)}
.cast-group .cast-empty strong,.cast-group .cast-empty span{color:var(--ink)}
.cast-person{background:var(--cast-accent);border:0;border-radius:8px;padding:8px;box-shadow:0 3px 0 var(--wood)}
.cast-person figcaption{background:var(--paper);padding:9px 7px 7px;border-radius:0 0 3px 3px}
.cast-person figcaption strong{color:var(--indigo)}
.cast-person .cast-empty{background:color-mix(in srgb,var(--cast-accent) 28%,var(--paper))}
.cast-person .cast-empty strong,.cast-person .cast-empty span{color:var(--ink)}
.cast-section>.ruth-flower{right:28px;bottom:4px;color:var(--coral);font-size:100px}
.cast-controls button{background:var(--paper);border-color:var(--ink);color:var(--ink)}

/* Limoengroen voor kaarten, blauwpaars voor de praktische informatie. */
.booking-section{max-width:none;background:var(--lime);border-top:8px solid var(--leaf);border-bottom:0;padding-inline:max(32px,calc((100% - 1312px)/2))}
.booking-heading h2,.booking-heading .overline{color:var(--ink)}
.booking-section .ruth-schedule{border-top:1px solid var(--petrol)}
.booking-section .ruth-schedule li{color:var(--ink);border-bottom-color:var(--petrol)}
.ticket-panel{border:2px solid var(--indigo);box-shadow:7px 7px 0 var(--petrol);border-radius:14px}
.ticket-panel-top{background:var(--indigo);color:var(--paper)}
.ticket-test-banner{background:var(--mustard);color:var(--ink)}
.provider-note{background:var(--mint);color:var(--ink)}
.practical{max-width:none;padding-inline:max(32px,calc((100% - 1312px)/2));background:var(--indigo);border-top:8px solid var(--blue);color:var(--paper)}
.practical h2,.practical>.practical-copy .text-link,.practical>div>.text-link{color:var(--paper)}
.practical .overline{color:var(--paper)}
.practical .faq{color:var(--ink);background:var(--paper);border-radius:18px;padding:4px 22px}
.practical .faq details{border-bottom-color:var(--taupe)}
.practical .faq details:last-child{border-bottom:0}
.practical .faq summary{color:var(--ink)}
.practical .faq details[open] summary{color:var(--indigo)}
.practical .faq summary:focus-visible{outline-color:var(--indigo)}
.practical>div>.text-link:focus-visible{outline-color:var(--paper)}
footer{max-width:none;background:var(--mint);color:var(--ink);border-top:0;padding-inline:max(24px,calc((100% - 1312px)/2))}
.mobile-ticket{background:var(--red);color:var(--paper)}

@media(max-width:950px){
 .site-header{padding-inline:24px}
 .story-with-poster{gap:30px;padding-inline:32px}
 .story-copy{padding:24px}
 .cast-section,.booking-section,.practical{padding-inline:32px}
}
@media(max-width:720px){
 .site-header{padding-inline:18px}
 .hero-art::after{background:linear-gradient(color-mix(in srgb,var(--pink) 22%,var(--paper)),color-mix(in srgb,var(--paper) 90%,transparent) 47%,transparent 88%)}
 .hero-main{border-bottom-width:5px}
 .hero-intro{border-left-width:4px}
 .hero .retro-badge{box-shadow:0 0 0 4px var(--mustard)}
 .ruth-ribbon .stripe-divider{height:40px}
 .ruth-ribbon .motion-toggle{right:12px;font-size:11px;padding:4px 10px}
 .story-with-poster{padding:26px 18px;gap:24px}
 .story-copy{padding:22px 20px;border-radius:6px 28px 6px 6px;box-shadow:4px 4px 0 var(--coral)}
 .story-with-poster>.ruth-flower{font-size:96px;top:auto;bottom:40px;right:18px}
 .cast-section{padding:24px 22px 28px}
 .cast-heading{align-items:flex-start;flex-wrap:wrap}
 .cast-heading .text-link{white-space:normal}
 .cast-section>.ruth-flower{font-size:72px;right:10px;bottom:0}
 .booking-section{padding:28px 20px;border-top-width:5px}
 .ticket-panel{box-shadow:4px 4px 0 var(--petrol)}
 .practical{padding:28px 22px;border-top-width:5px}
 .practical .faq{padding:4px 16px}
 footer{padding-inline:22px}
}
@media(max-width:360px){.site-header{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){
 .ruth-ribbon .stripe-divider::before{animation:none!important;transform:none}
}
.ruth-motion-paused .ruth-ribbon .stripe-divider::before{animation:none!important;transform:none}