/* Ronde 2B: boekbare feestjes vergelijken; extra's per herkenbare categorie. */
#su-kinderfeestjes .q-bookable-grid{grid-template-columns:minmax(0,1fr);gap:32px 28px;border-top:0;align-items:stretch}
#su-kinderfeestjes .q-bookable-grid .q-card-button{display:flex;flex-direction:column;height:100%;padding:0;background:transparent}
#su-kinderfeestjes .q-bookable-grid .q-card-photo{width:100%;max-width:none;height:auto;aspect-ratio:3/2;object-position:var(--q-photo-position);margin:0;align-self:auto}
#su-kinderfeestjes .q-bookable-grid .q-card-body{display:flex;flex-direction:column;flex:1;width:100%;gap:10px;padding:16px 0 18px}
#su-kinderfeestjes .q-bookable-grid .q-card-name{font-size:27px;line-height:1.2;margin:0}
#su-kinderfeestjes .q-bookable-grid .q-card-description{font-size:16px;line-height:1.6}
#su-kinderfeestjes .q-bookable-grid .q-card-availability{font-size:14px}
#su-kinderfeestjes .q-bookable-grid .q-card-facts{font-size:13px}
#su-kinderfeestjes .q-bookable-grid .q-card-bottom{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px}
#su-kinderfeestjes .q-bookable-grid .q-card-price{flex:0 1 auto;text-align:left;font-size:13px;margin:0}
#su-kinderfeestjes .q-bookable-grid .q-card-price strong{display:inline;font-size:25px;margin:0 5px 0 0}
#su-kinderfeestjes .q-bookable-grid .q-card-price small{font-size:12px}
#su-kinderfeestjes .q-bookable-grid .q-card-action{font-size:14px;min-height:32px;margin:0}
#su-kinderfeestjes .q-choice-grid .q-detail-panel{border-top:2px solid var(--k-red);scroll-margin-top:20px}
#su-kinderfeestjes .q-future-parties{margin-top:40px;padding-top:28px;border-top:1px solid var(--k-line)}
#su-kinderfeestjes .q-future-parties>h3{font:400 27px/1.3 Georgia,serif;margin:0 0 10px}
#su-kinderfeestjes .q-future-parties>p{font-size:15px;line-height:1.65;max-width:65ch}
#su-kinderfeestjes .q-future-grid{grid-template-columns:minmax(0,1fr);margin-top:20px}
#su-kinderfeestjes .q-future-grid .q-card-button{display:block;padding:18px 0;background:transparent}
#su-kinderfeestjes .q-future-grid .q-card-body{display:grid;gap:5px;grid-template-columns:minmax(0,1fr);padding:0}
#su-kinderfeestjes .q-future-grid .q-card-body>*{grid-area:auto}
#su-kinderfeestjes .q-future-grid .q-card-name{font-size:23px;margin:0}
#su-kinderfeestjes .q-future-grid .q-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
#su-kinderfeestjes .q-future-grid .q-card-price{flex:0 1 auto;margin:0;text-align:left}
#su-kinderfeestjes .q-future-grid .q-card-action{min-height:28px;margin:0}
#su-kinderfeestjes .q-future-parties .q-new-party{border:0;margin:18px 0 0;padding:0}
#su-kinderfeestjes .q-future-parties .q-new-party p{margin:0;font-size:14px}
#su-kinderfeestjes .p-food-extra-groups{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--k-line)}
#su-kinderfeestjes .p-food-extra-groups>details{min-width:0;border-bottom:1px solid var(--k-line)}
#su-kinderfeestjes .p-food-extra-groups summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:18px 0;font:400 23px/1.3 Georgia,serif;color:var(--k-ink)}
#su-kinderfeestjes .p-food-extra-groups summary::-webkit-details-marker{display:none}
#su-kinderfeestjes .p-food-extra-groups summary::after{content:'+';font:400 25px/1 Georgia,serif;color:var(--k-red)}
#su-kinderfeestjes .p-food-extra-groups details[open]>summary::after{content:'−'}
#su-kinderfeestjes .p-food-extra-groups summary:focus-visible{outline:2px solid var(--k-red);outline-offset:4px}
#su-kinderfeestjes .p-food-extra-groups dl{max-width:720px;padding:0 0 18px}
#su-kinderfeestjes .p-food-extra-groups dl>div:last-child{border-bottom:0}
@container party (min-width:640px){
 #su-kinderfeestjes .q-bookable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #su-kinderfeestjes .q-future-grid .q-card-body{grid-template-columns:minmax(0,1fr) auto;column-gap:28px}
 #su-kinderfeestjes .q-future-grid .q-card-name,#su-kinderfeestjes .q-future-grid .q-card-description,#su-kinderfeestjes .q-future-grid .q-card-facts{grid-column:1}
 #su-kinderfeestjes .q-future-grid .q-card-body>.q-card-availability{grid-column:2;grid-row:1;text-align:right}
 #su-kinderfeestjes .q-future-grid .q-card-bottom{grid-column:2;grid-row:2/5;flex-direction:column;align-items:end;justify-content:start}
}
@container party (min-width:1100px){
 #su-kinderfeestjes .q-bookable-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* O9: korte opening, boeken op de dichte kaart en compacte extra's. */
#su-kinderfeestjes .p-opening{grid-template-areas:'intro' 'photo';gap:24px}
#su-kinderfeestjes .p-opening .p-lead{max-width:43ch}
#su-kinderfeestjes a.q-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 18px;border:1px solid var(--k-red);border-radius:3px;background:var(--k-red);color:#fff;font:600 15px/1.35 'Erfboek Tekst',Arial,sans-serif;text-decoration:none;white-space:normal;text-align:center}
#su-kinderfeestjes .q-primary-button:hover{filter:brightness(.93)}
#su-kinderfeestjes .q-primary-button:focus-visible{outline:2px solid var(--k-red);outline-offset:4px}
#su-kinderfeestjes .q-primary-button svg{width:18px;height:18px;flex:none}
#su-kinderfeestjes .q-bookable-grid .q-card{display:flex;flex-direction:column;padding-bottom:18px}
#su-kinderfeestjes .q-bookable-grid .q-card-button{height:auto;flex:1}
#su-kinderfeestjes .q-bookable-grid .q-card-body{gap:8px;padding-bottom:12px}
#su-kinderfeestjes .q-bookable-grid .q-card-description{line-height:1.5}
#su-kinderfeestjes .q-bookable-grid .q-card-book{align-self:stretch;margin-top:0}
#su-kinderfeestjes .q-bookable-grid{gap:24px 28px}
#su-kinderfeestjes .q-future-parties{margin-top:20px;padding:0;border-block:1px solid var(--k-line)}
#su-kinderfeestjes .q-future-parties>summary{display:flex;justify-content:space-between;gap:12px;padding:15px 0;list-style:none;cursor:pointer;font:600 15px/1.5 'Erfboek Tekst',Arial,sans-serif;color:var(--k-ink)}
#su-kinderfeestjes .q-future-parties>summary::-webkit-details-marker{display:none}
#su-kinderfeestjes .q-future-parties>summary::after{content:'+';color:var(--k-red);font-size:24px;line-height:1;flex:none}
#su-kinderfeestjes .q-future-parties[open]>summary::after{content:'−'}
#su-kinderfeestjes .q-future-parties>summary:focus-visible{outline:2px solid var(--k-red);outline-offset:4px}
#su-kinderfeestjes .q-future-content{padding:4px 0 20px}
#su-kinderfeestjes .q-future-content>p{font-size:15px;line-height:1.5;max-width:65ch}
#su-kinderfeestjes .q-food-intro-line{margin:12px 0 18px}
#su-kinderfeestjes .q-food-compact{display:grid;gap:18px;align-items:center}
#su-kinderfeestjes .p-food-menus{margin:0}
#su-kinderfeestjes .p-food-menu{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:14px 0}
#su-kinderfeestjes .p-food-menu h3{margin:0 0 4px;font:400 21px/1.2 Georgia,serif}
#su-kinderfeestjes .p-food-menu p{margin:0;font-size:14px;line-height:1.5}
#su-kinderfeestjes .p-food-menu .p-food-price{font:400 22px/1.25 Georgia,serif}
#su-kinderfeestjes .p-food-menu .p-food-price small{display:block;margin:3px 0 0;font:400 12px/1.4 'Erfboek Tekst',Arial,sans-serif}
#su-kinderfeestjes .q-food-surcharge,#su-kinderfeestjes .q-food-small{margin:10px 0 0;font-size:13px;line-height:1.5}
#su-kinderfeestjes .q-food-small{color:var(--k-muted)}
#su-kinderfeestjes .q-food-compact .q-food-photo{--owl-left:28px;width:190px;max-width:100%;margin:76px 0 0;justify-self:end}
#su-kinderfeestjes .p-food-extra-groups{margin-top:20px}
#su-kinderfeestjes .p-food-extra-groups summary{padding:14px 0;font-size:21px}
#su-kinderfeestjes .p-diet-note{margin-top:18px;font-size:13px;line-height:1.5}
@container party (min-width:900px){
 #su-kinderfeestjes .p-opening{grid-template-columns:1.1fr .9fr;grid-template-areas:'intro photo';align-items:center;gap:48px}
 #su-kinderfeestjes .p-opening .p-photo{max-width:360px;justify-self:end}
 #su-kinderfeestjes .q-food-compact{grid-template-columns:minmax(0,1fr) 230px;gap:40px}
 #su-kinderfeestjes .q-food-compact .q-food-photo{width:230px;margin:0}
}

#su-kinderfeestjes .p-booking .q-primary-button{margin:0 14px 12px 0}
