/* O15: shared rhythm and controls for active visitor pages. Frozen booking/A-B sources do not load this stylesheet. */
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density{--su-copy-leading:1.45;--su-section-space:20px;--su-block-gap:16px;--su-heading-copy:8px;--su-copy-action:16px;--su-footer-link-height:30px;--su-footer-column-gap:12px}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density :is(.d-crumb,.p-crumb){padding-block:4px 0;min-height:32px}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main :is(h2,h3)+p{margin-top:var(--su-heading-copy)}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main p+:is(.k-quiet-button,.q-primary-button,.fp-cta,.he-primary,.c-actions,.np-actions,.c-booking-options){margin-top:var(--su-copy-action)}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main :is(.k-quiet-button,.q-primary-button,.fp-cta,.he-primary){width:fit-content;max-width:100%;align-self:flex-start;justify-self:start;box-sizing:border-box}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .su-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid #b9a696;color:#873d2e;text-decoration:none;padding:10px 15px;min-height:44px;border-radius:3px;font-weight:600}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-secondary :is(span,svg){color:inherit}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details{border:0;border-top:1px solid #d4c9ba;margin:0;padding:0;background:transparent;border-radius:0}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 0;list-style:none;cursor:pointer;font:600 1rem/1.4 'Erfboek Tekst',Arial,sans-serif;color:var(--k-ink);box-sizing:border-box}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary::-webkit-details-marker{display:none}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary::marker{content:''}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary::before{display:none}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary::after{content:'+';font:400 24px/1 Georgia,serif;color:#a24736;flex:none;position:static;transform:none;width:20px;text-align:center}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details[open]>summary::after{content:'−'}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>summary>:is(i,svg){display:none}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main details>p{margin:0 0 12px;padding:0;line-height:1.45}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density main :is(summary,a,button):focus-visible{outline:2px solid #267b42;outline-offset:4px}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-footer{padding-block:20px 16px}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-footer .k-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0;column-gap:12px}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-footer .k-footer-links a{min-height:30px;padding-block:3px;font-size:13px}
/* Shared score precedes the badge and citations. */
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-review-rating{font:600 1rem/1.4 'Erfboek Tekst',Arial,sans-serif;margin:14px 0 8px;color:#38332f}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-review-trust{grid-column:1/-1}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-review-trust .su-award{margin:8px 0 0}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-social-proof :is(.sp-layout,.sp-compact-quotes){margin-top:20px;gap:20px}
#su-dagje-uit.fp-page .fp-proof{display:block}
#su-dagje-uit.fp-page .fp-reviews{margin-top:20px}
/* Icons share a baseline with the heading; descriptive copy spans the card. */
#su-dagje-uit.su-density .cc-card:has(>.c-functional-icon){display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px 10px;align-content:start}
#su-dagje-uit.su-density .cc-card>.c-functional-icon{grid-column:1;grid-row:1;width:24px;height:24px;margin:0}
#su-dagje-uit.su-density .cc-card:has(>.c-functional-icon)>h3{grid-column:2;grid-row:1;margin:0}
#su-dagje-uit.su-density .cc-card:has(>.c-functional-icon)>:not(h3):not(.c-functional-icon){grid-column:1/-1;margin:0}
/* Same compact Afterschool treatment wherever it is promoted. */
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-afterschool{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:14px 20px;background:#eee4ce;border-block:1px solid #d8ccbe}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-afterschool p{flex:1 1 225px;margin:0;font-size:.875rem;line-height:1.4}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density .su-afterschool small{display:block;font-size:.75rem}
:is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .su-afterschool .su-secondary{flex:none;margin:0;padding:8px 12px;font-size:.875rem}
#su-dagje-uit .a12-upcoming .su-afterschool{margin:18px 0;padding:12px;grid-column:1/-1}
/* Dagtickets: calendar first, inclusions follow it. */
#su-dagje-uit.np-tickets.su-density.su-density.su-density .np-tickets-hero{padding-block:8px}
#su-dagje-uit.np-tickets.su-density.su-density.su-density .np-ticket-intro{padding-block:6px 12px}
#su-dagje-uit.np-tickets.su-density.su-density.su-density .np-prices article{padding-block:4px}
#su-dagje-uit.np-tickets.su-density .np-pass-teaser{display:inline-flex;align-items:center;min-height:36px;color:#a24736;font-size:.8125rem;text-underline-offset:3px}
#su-dagje-uit.np-tickets.su-density .np-booking-copy h2{font-size:1.25rem}
#su-dagje-uit.np-tickets.su-density.su-density.su-density .np-booking-section{padding-block:14px 20px}
#su-dagje-uit.np-tickets.su-density .np-included>h2{margin:0 0 12px}
#su-dagje-uit.su-density .su-included{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0;padding:0}
#su-dagje-uit.su-density .su-included li{display:flex;align-items:center;gap:8px;font-size:.875rem}
#su-dagje-uit.su-density .su-included svg{width:21px;height:21px;flex:none;color:#267b42}
#su-dagje-uit.np-tickets.su-density .np-passes .np-recras-switch{background:transparent;color:#873d2e;border-color:#b9a696}
#su-dagje-uit.su-density .su-visitor-prices{margin:12px 0}
#su-dagje-uit.su-density .su-visitor-prices>div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px solid #d8ccbe}
#su-dagje-uit.su-density .su-visitor-prices dd{margin:0;font-weight:600}
/* Compact closed party rows; existing panels and booking routes are unchanged. */
#su-kinderfeestjes.su-density .q-bookable-grid{grid-template-columns:1fr;gap:12px}
#su-kinderfeestjes.su-density .q-bookable-grid>.q-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;align-items:center;border-bottom:1px solid #d8ccbe;padding:10px 0;background:transparent}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-button{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:0;align-items:center;width:100%;height:auto}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-photo{width:86px;height:116px;aspect-ratio:auto;object-fit:cover;grid-row:1;grid-column:1}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-body{display:flex;gap:5px;padding:0;text-align:left;min-width:0}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-name{font:400 19px/1.2 Georgia,serif}
#su-kinderfeestjes.su-density .q-bookable-grid :is(.q-card-description,.q-card-availability){display:none}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-facts{font-size:11px;line-height:1.3}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-bottom{display:flex;flex-direction:column;align-items:start;gap:4px;margin:0;padding:0}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-price{font-size:11px;line-height:1.4}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-price strong{font-size:17px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-price small{display:inline;margin-left:4px;font-size:10px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-action{font-size:11px;min-height:28px;gap:4px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-action svg{width:14px;height:14px}
#su-kinderfeestjes.su-density.su-density.su-density .q-bookable-grid .q-card-book{align-self:center;margin:0;padding:9px 10px;font-size:13px;gap:5px;min-height:44px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-book svg{width:15px;height:15px}
#su-kinderfeestjes.su-density .q-food-compact{grid-template-columns:1fr}
#su-kinderfeestjes.su-density .q-food-compact .q-food-photo{display:none}
/* Camping merge: offers, compact arrangement rows and the seasonal summary. */
#su-dagje-uit.cc-rates .cc-current-actions{background:#dde1e7}
#su-dagje-uit.cc-rates .cc-current-actions h2{font-size:1.5rem;margin-bottom:10px}
#su-dagje-uit.cc-rates .cc-current-actions p{margin:6px 0;font-size:.9375rem}
#su-dagje-uit.cc-rates .cc-current-actions [hidden]{display:none}
#su-dagje-uit.cc-rates .cc-from .k-quiet-button{margin-top:18px}
#su-dagje-uit.cc-rates .cc-arrangement-list{margin-top:12px}
#su-dagje-uit.cc-rates.su-density.su-density.su-density .cc-arrangement-list summary{font-weight:400;align-items:center}
#su-dagje-uit.cc-rates .cc-arrangement-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;flex:1}
#su-dagje-uit.cc-rates .cc-arrangement-summary strong{font-size:1.05rem;grid-column:1}
#su-dagje-uit.cc-rates .cc-arrangement-summary .cc-row-date{font-size:.8125rem;grid-column:1}
#su-dagje-uit.cc-rates .cc-row-price{grid-column:2;grid-row:1/3;align-self:center;font-weight:600;font-size:1.1rem}
#su-dagje-uit.cc-rates .cc-arrangement-detail{padding:2px 0 16px;font-size:.9375rem}
#su-dagje-uit.cc-rates .cc-arrangement-detail p{margin:8px 0}
#su-dagje-uit.cc-rates .cc-arrangement-detail ul{padding-left:20px;margin:8px 0}
#su-dagje-uit.cc-rates .cc-vacations p{margin:8px 0}
#su-dagje-uit.su-camping .bell-photos{display:block}
#su-dagje-uit.su-camping .bell-photos figure{max-width:560px;margin-inline:auto}
#su-dagje-uit.su-camping .c-subpage-links{display:flex;flex-wrap:wrap;gap:8px}
#su-dagje-uit.su-camping .c-subpage-links a{white-space:nowrap}
@media(max-width:899px){
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main :is(.k-section-label,.k-eyebrow){margin-bottom:6px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main>section:first-child{padding-top:12px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main :is(h2,h3){margin-bottom:8px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density main :is(.c-story-copy,.cc-split,.c-copy)>p+p{margin-top:10px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density :is(.np-hours>div,.cc-list li,.p-food-extra-groups dl>div){padding-block:6px}
 #su-dagje-uit.su-density .cc-card-grid{gap:14px}
 #su-dagje-uit.su-density .cc-card{padding:14px}
 #su-dagje-uit.su-density .np-hours{margin:0}
 #su-dagje-uit.su-density .np-hours>div{gap:12px}
 #su-home-responsive.su-density .he-opening .he-primary{font-size:.9375rem;padding:10px 15px}
 #su-dagje-uit.fp-page .fp-hero-links{align-items:flex-start}
 #su-dagje-uit.fp-page .fp-hero-links .fp-cta{width:fit-content}
}
@media(min-width:900px){
 #su-dagje-uit.su-density .su-included{grid-template-columns:repeat(3,minmax(0,1fr))}
 #su-kinderfeestjes.su-density .q-bookable-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 #su-kinderfeestjes.su-density .q-bookable-grid>.q-card{grid-template-columns:minmax(0,1fr);gap:12px;align-content:start}
 #su-kinderfeestjes.su-density .q-bookable-grid .q-card-photo{height:145px;width:100px}
 #su-kinderfeestjes.su-density .q-bookable-grid .q-card-button{grid-template-columns:100px minmax(0,1fr)}
 #su-kinderfeestjes.su-density.su-density.su-density .q-bookable-grid .q-card-book{margin-left:112px}
 #su-kinderfeestjes.su-density .q-bookable-grid .q-card-name{font-size:23px}
 #su-kinderfeestjes.su-density .q-bookable-grid .q-card-action{font-size:13px}
 #su-dagje-uit.cc-rates .cc-arrangement-summary{grid-template-columns:240px minmax(0,1fr) 80px;align-items:center}
 #su-dagje-uit.cc-rates .cc-arrangement-summary .cc-row-date{grid-column:1;grid-row:1}
 #su-dagje-uit.cc-rates .cc-arrangement-summary strong{grid-column:2;grid-row:1}
 #su-dagje-uit.cc-rates .cc-row-price{grid-column:3;grid-row:1}
 #su-dagje-uit.fp-page .fp-reviews{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
/* Review corrections: no inherited flex-basis creates empty space in the small party cards. */
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-price{flex:0 0 auto}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-button{border-bottom:0}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-facts{font-size:12px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-action{font-size:12px}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-price{font-size:12px}
#su-dagje-uit.su-density.su-density.su-density main .cc-list{margin-top:12px}
#su-dagje-uit.su-density.su-density.su-density main .cc-list li{padding-block:2px;margin-top:4px}
@media(max-width:899px){
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 18px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-header .k-logo-link{width:165px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-header-actions{flex-direction:row;gap:8px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-tickets{padding:9px 10px;font-size:14px;min-height:44px;white-space:nowrap;text-decoration:none}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density .k-menu{min-width:42px;min-height:44px;font-size:14px}
 :is(#su-home-responsive,#su-dagje-uit,#su-kinderfeestjes).su-density.su-density.su-density nav:is(.p-crumb,.d-crumb){padding-block:4px 0}
 #su-dagje-uit.su-density.su-density.su-density .np-hero{gap:20px}
 #su-kinderfeestjes.su-density.su-density.su-density .p-opening{padding-top:12px}
}
#su-dagje-uit.su-density .a12-hours-list{margin:0;padding:0;border-top:1px solid #bdc3cb}
#su-dagje-uit.su-density .a12-hours-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid #bdc3cb}
#su-dagje-uit.su-density .a12-hours-list dt{font-weight:600;text-transform:capitalize}
#su-dagje-uit.su-density .a12-hours-list dd{margin:0;font-size:.9375rem}
#su-dagje-uit.su-density .a12-hours-list small{display:block;font-size:.75rem;color:#6d625a}
#su-dagje-uit.su-density .a12-programme-pending{margin:12px 0;font-size:.9375rem;font-weight:600}

#su-kinderfeestjes.su-density .q-bookable-grid .q-card-button{grid-template-rows:auto}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-body{grid-column:2;grid-row:1}
#su-kinderfeestjes.su-density .q-bookable-grid .q-card-button{grid-template-areas:none}
/* One primary day-ticket action; the featured holiday remains a secondary route. */
#su-dagje-uit.su-density .su-agenda-card--featured .su-agenda-link{background:transparent;color:#873d2e;border:1px solid #b9a696}
@media(min-width:900px){#su-dagje-uit.fp-page .fp-reviews{max-width:none}}
@media(min-width:900px){#su-dagje-uit.cc-rates .cc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
