.hero-video-file{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}.booking-section{background:#171614;color:#f4eee4;border-top:1px solid #8A7968}.booking-section em{color:#8A7968}.booking-lead{color:#aaa49a}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;margin-top:35px}.booking-main fieldset{border:1px solid #8A7968;border-radius:15px;padding:22px;margin:0 0 14px;background:#1e1c19}.booking-main legend{padding:0 8px;color:#8A7968;font-weight:800;font-size:14px}.choice-grid{display:flex;flex-wrap:wrap;gap:10px}.choice-grid label,.package-choices label,.extras-choices label{cursor:pointer}.choice-grid input,.package-choices input,.extras-choices input,.check-line input{accent-color:#8A7968}.choice-grid span{display:block;padding:11px 17px;border:1px solid #8A7968;border-radius:99px;color:#c8c0b4;font-size:13px}.choice-grid input:checked+span{background:#8A7968;color:#171614;border-color:#8A7968}.booking-main select,.booking-main input[type=datetime-local],.booking-main input[type=date],.distance-grid input{width:100%;background:#131210;border:1px solid #4b402e;color:#f4eee4;border-radius:9px;padding:13px;font:inherit}.package-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.package-choices span,.extras-choices span{display:block;height:100%;padding:13px;border:1px solid #8A7968;border-radius:10px;color:#dfd8cc;font-size:13px}.package-choices input:checked+span,.extras-choices input:checked+span{border-color:#8A7968;background:#302647}.package-choices small,.extras-choices small{display:block;color:#928c82;font-size:10px;margin:5px 0}.package-choices b,.extras-choices b{display:block;color:#8A7968;margin-top:8px}.datetime-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.datetime-grid label{color:#aaa49a;font-size:12px}.datetime-grid input{display:block;margin-top:7px}.extras-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.check-line{display:flex;align-items:center;gap:9px;color:#c8c0b4;font-size:13px;margin:9px 0}.check-line strong{margin-left:auto;color:#8A7968;font-size:12px}.distance-grid{display:grid;grid-template-columns:1fr auto;gap:8px}.distance-grid .button{padding:12px;font-size:12px}.booking-note{color:#8e887d;font-size:11px;margin:10px 0 0}.booking-summary{position:sticky;top:20px;border:1px solid #8A7968;border-radius:17px;padding:24px;background:#211e18;box-shadow:8px 8px 0 #8A7968}.booking-summary #booking-summary{display:flex;flex-direction:column;gap:10px;color:#c9c1b3;font-size:13px;margin:20px 0 28px}.summary-total{border-top:1px solid #8A7968;padding-top:16px;margin-bottom:20px}.summary-total small{display:block;color:#9f978b}.summary-total strong{font-size:32px;color:#8A7968}.booking-summary .button{width:100%}.summary-note{display:block;color:#8e887d;font-size:10px;line-height:1.5;margin-top:13px}#long-stay-note[hidden]{display:none}@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-summary{position:static}.package-choices{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.package-choices,.extras-choices,.datetime-grid{grid-template-columns:1fr}.distance-grid{grid-template-columns:1fr}.check-line{align-items:flex-start}.check-line strong{margin-left:auto;white-space:nowrap}}

.color-image-placeholder{position:relative;min-height:135px;margin-top:16px;border:1px dashed #8A7968;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#262039,#171321 45%,#8A7968);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8A7968}.color-image-placeholder:before{content:'▧';font-size:42px;line-height:1;color:#8A7968;margin-bottom:7px}.color-image-placeholder strong{font-size:14px}.color-image-placeholder span{font-size:11px;color:#8A7968;margin-top:4px}.package-choices{align-items:stretch}.package-choices label{min-width:0}.package-choices span{min-height:365px;padding:16px}.package-choices span>strong{display:block;color:#f4eee4;font-size:16px}.package-choices span>small{min-height:36px}.package-choices ul{padding:10px 0 0 16px;margin:0;border-top:1px solid #8A7968;color:#8A7968;list-style:'✓  ';font-size:10px;line-height:1.65}.package-choices li::marker{color:#8A7968}.extras-choices{grid-template-columns:1fr!important;max-height:485px;overflow:auto;padding-right:5px}.extras-choices span{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.extras-choices span small{grid-column:1/-1}.extras-choices span b{grid-column:2;grid-row:1}.booking-main fieldset:has(.package-choices),.booking-main fieldset:has(.extras-choices){overflow:hidden}@media(max-width:900px){.package-choices{grid-template-columns:repeat(2,1fr)}.package-choices span{min-height:330px}}@media(max-width:520px){.package-choices{grid-template-columns:1fr}.package-choices span{min-height:0}.extras-choices{max-height:none}}
.size-row{cursor:pointer;transition:border-color .2s,background .2s}.size-row:hover{border-color:#8A7968;background:#28223a}
.package-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%}.package-choices label{width:100%}.package-choices span{width:100%}
.package-photo-placeholder{height:118px;margin:8px 0 18px;border:1px dashed #8A7968;border-radius:12px;background:linear-gradient(135deg,#2b2144,#171321 55%,#8A7968);display:grid;place-items:center;color:#8A7968;font-size:11px;letter-spacing:.04em}.package-photo-placeholder:before{content:"▧";font-size:28px;margin-right:8px}@media(max-width:520px){.package-photo-placeholder{height:135px}}
.package-divider-title{margin:78px 0 28px;max-width:700px}.package-divider-title .section-title{margin:12px 0 10px}.package-divider-title p{color:#aaa49a;margin:0;font-size:14px}
.booking-grid{grid-template-columns:minmax(0,1fr) 372px}.booking-summary{padding:29px;font-size:1.2em}.booking-summary .eyebrow{font-size:13px}.booking-summary #booking-summary{font-size:13px}.booking-summary .summary-total strong{font-size:38px}.booking-summary .button{font-size:15px;padding:18px 22px}@media(max-width:900px){.booking-grid{grid-template-columns:1fr}}
@media(max-width:520px){.booking-main .package-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.booking-main .package-choices span{padding:11px;font-size:11px}.booking-main .package-choices span>strong{font-size:14px}.booking-main .package-choices ul{font-size:9px;line-height:1.5;padding-left:13px}}
.package-photo-placeholder img{width:100%;height:100%;display:block;object-fit:cover;border-radius:11px}
.package-photo-placeholder{height:180px;background:#fff}.package-photo-placeholder img{object-fit:contain;background:#fff}
.package-photo-placeholder{height:180px;margin:8px 0 18px;border:0;border-radius:0;background:transparent;display:block;overflow:hidden}.package-photo-placeholder:before{display:none}.package-photo-placeholder img{width:100%;height:100%;object-fit:contain;background:transparent;border-radius:0}
.package-photo-placeholder{height:420px;margin:28px 0 30px;display:flex;align-items:center;justify-content:center}.package-photo-placeholder img{width:100%;height:100%;object-fit:contain}
@media(max-width:900px){.package-photo-placeholder{height:360px}}@media(max-width:520px){.package-photo-placeholder{height:280px;margin:20px 0 24px}}
.package-photo-placeholder{margin-top:15px!important;margin-bottom:15px!important;padding:0!important}

/* Package cards based on the supplied reference */
.package{overflow:visible;background:#fff;border-radius:18px}.package.featured{border:2px solid #8A7968;box-shadow:0 12px 0 #8A796822,0 18px 35px #17132118}.package .eyebrow{color:#8A7968;letter-spacing:.14em}.package-photo-placeholder{height:300px;margin:15px 0!important}.package-photo-placeholder img{object-fit:contain}.package .price{border-bottom:1px solid #e5e1e5;padding-bottom:25px;margin-bottom:16px}.package .features{border-top:0;padding-top:0}.package .badge{background:#8A7968;color:#fff;left:25px}
@media(max-width:900px){.package-photo-placeholder{height:280px}}@media(max-width:520px){.package-photo-placeholder{height:240px}}

/* Reference spacing only: image is a real placeholder asset, not the supplied screenshot */
.package-photo-placeholder{height:300px;margin:15px 0!important;display:flex;align-items:center;justify-content:center;background:transparent;border:0}.package-photo-placeholder img{object-fit:contain;max-height:100%;width:100%}.package .price{margin-top:0;padding-top:0}.package .features{margin-top:0}
.package p{min-height:0;margin-bottom:8px}.package-photo-placeholder{margin-top:0!important;margin-bottom:15px!important}
.package-core .features li:last-child{font-weight:800;color:#171321}

/* Compact package cards and phone-safe layout */
.package{padding:22px}.package-photo-placeholder{height:190px!important;margin:10px 0 14px!important}.package p{font-size:13px;line-height:1.4}.package .features li{margin:5px 0;font-size:12px;line-height:1.35}.package .price{font-size:30px;padding-bottom:16px;margin-bottom:12px}.package-choices span{min-height:0!important}.package-choices ul{line-height:1.35}.booking-section,.packages{overflow:hidden}body{overflow-x:hidden}@media(max-width:850px){.package-grid{grid-template-columns:1fr}.package{width:100%;padding:20px}.package-photo-placeholder{height:170px!important}.package .features li{font-size:12px}}@media(max-width:520px){.package{padding:17px}.package-photo-placeholder{height:145px!important}.package .price{font-size:27px}.package .features li{font-size:11px;margin:4px 0}.package-choices span{padding:8px!important}.package-choices ul{font-size:8px!important}}
@keyframes calmBlink{0%,100%{opacity:1}50%{opacity:.48}}.package-core .features li:last-child{animation:calmBlink 2.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.package-core .features li:last-child{animation:none}}

/* Restore larger package image; reclaim height through tighter text rhythm */
.package-photo-placeholder{height:300px!important;margin:8px 0 12px!important}.package p{line-height:1.2;margin-top:5px;margin-bottom:4px}.package h3{margin:4px 0}.package .features li{line-height:1.15;margin:3px 0}.package .price{padding-bottom:12px;margin-bottom:9px}@media(max-width:900px){.package-photo-placeholder{height:280px!important}}@media(max-width:520px){.package-photo-placeholder{height:240px!important}.package p{line-height:1.15}.package .features li{line-height:1.1;margin:2px 0}}
.package .price{position:relative;padding-top:20px}.package .price>small:first-child{position:absolute;top:0;left:0;font-size:10px;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#77747e}.package .price>small:last-child{font-size:12px;margin-left:3px}
/* Configurator package details use the package cards as their content source. */
.package-choices span>small.package-choice-eyebrow{min-height:0!important;margin:0 0 4px;color:#8A7968;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.package-choice-image{display:block;width:100%;height:112px;object-fit:contain;background:#fff;border-radius:8px;margin:8px 0}
.package-choice-visual{position:relative;width:100%;margin:8px 0;overflow:hidden;border-radius:8px;background:#fff}
.package-choice-visual .package-choice-image{display:block;width:100%;height:auto;margin:0;border-radius:0;background:transparent;object-fit:fill}
.package-choice-visual .package-choice-image-tint{position:absolute;inset:0;height:100%;pointer-events:none;clip-path:polygon(14% 72%,14% 25%,37% 3%,41% 3%,85% 27%,85% 70%,69% 73%,45% 69%,24% 72%)}
.package-choice-visual[data-color="black"] .package-choice-image-tint{display:none}
.package-choice-visual[data-color="rose"] .package-choice-image-tint{filter:brightness(2.3) sepia(1) saturate(5) hue-rotate(285deg)}
.package-choice-visual[data-color="white"] .package-choice-image-tint{filter:grayscale(1) brightness(3) contrast(.7)}
.package-choice-visual[data-color="gold"] .package-choice-image-tint{filter:brightness(2.1) sepia(1) saturate(5) hue-rotate(345deg)}
.package-choices li.package-choice-highlight{font-weight:800;color:#f4eee4}
@media(max-width:520px){.package-choice-image{height:82px}.package-choices span>small.package-choice-eyebrow{font-size:8px}}
.color-image-placeholder.has-size-image{display:block;min-height:0;border:0;border-radius:0;background:transparent;padding:0}
.color-image-placeholder.has-size-image::before{display:none}
.color-image-placeholder.has-size-image img{display:block;width:100%;height:auto;object-fit:contain}
.booking-summary #booking-summary .summary-extra-item{padding-left:12px;border-left:2px solid #8A7968;font-size:12px;line-height:1.35}
.booking-deposit-note{margin:-8px 0 18px;color:#8A7968;font-size:13px;font-weight:700;line-height:1.4}
.booking-deposit-note[hidden]{display:none}
/* Match the configurator color buttons to the selected tent color. */
#booking-configurator input[name="color"][value="black"]+span{background:#171321;border-color:#6a6570;color:#fff}
#booking-configurator input[name="color"][value="rose"]+span{background:#ef338e;border-color:#ef338e;color:#fff}
#booking-configurator input[name="color"][value="white"]+span{background:#fff;border-color:#d8d8d8;color:#171321}
#booking-configurator input[name="color"][value="gold"]+span{background:#d9a52c;border-color:#d9a52c;color:#171321}
#booking-configurator input[name="color"]:checked+span{box-shadow:0 0 0 2px #fff,0 0 0 5px #8A7968;font-weight:800}
.extras-choices label{display:flex;align-items:center;gap:10px}
.extras-choices label>input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0}
.extras-choices label>span{flex:1;min-width:0}
.extras-choices label>input:disabled+span{opacity:.6;cursor:not-allowed}
@media(min-width:901px){
  body{overflow-x:clip}
  .booking-section{overflow:visible}
  .booking-summary{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow-y:auto}
}

/* Remove the heavy purple offset borders, keeping only subtle outlines. */
.hero-media-card,.review-badge,.sizes-photo,.booking-summary,.package.featured{box-shadow:none}
.package.featured{border:1px solid #8A7968}
#booking-configurator input[name="color"]:checked+span{box-shadow:none;outline:2px solid #fff;outline-offset:2px}
@media(max-width:767px){.booking-main .package-choices{grid-template-columns:minmax(0,1fr)!important}}

.wizard-progress,.wizard-nav{display:none}
@media(max-width:767px){
  #booking-configurator.mobile-wizard .booking-main fieldset,
  #booking-configurator.mobile-wizard .booking-summary{display:none}
  #booking-configurator.mobile-wizard .booking-main fieldset.wizard-step-active,
  #booking-configurator.mobile-wizard .booking-summary.wizard-step-active{display:block}
  #booking-configurator.mobile-wizard .booking-summary{position:static;max-height:none;overflow:visible}
  #booking-configurator.mobile-wizard .wizard-progress{display:block;margin:0 0 14px;color:#8A7968;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  #booking-configurator.mobile-wizard .wizard-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
  #booking-configurator.mobile-wizard .wizard-nav-final{grid-template-columns:1fr;margin:0 0 18px}
  .wizard-nav button{min-height:44px;padding:10px 14px;border:1px solid #8A7968;border-radius:10px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer}
  .wizard-nav .wizard-next{background:#8A7968}
  .wizard-nav button:disabled{opacity:.35;cursor:default}
}

@media(max-width:767px){
  .booking-main .package-choices label{position:relative;display:block}
  .booking-main .package-choices label>input[type="radio"]{position:absolute;z-index:2;top:18px;right:18px;width:21px;height:21px;margin:0;accent-color:#8A7968}
  .booking-main .package-choices label>span{padding:16px!important;font-size:14px;line-height:1.5}
  .booking-main .package-choices span>small.package-choice-eyebrow{font-size:12px;padding-right:32px}
  .booking-main .package-choices span>strong{font-size:20px;line-height:1.25}
  .booking-main .package-choices span>small:not(.package-choice-eyebrow){font-size:14px;line-height:1.5;min-height:0}
  .booking-main .package-choices span>b{font-size:21px;line-height:1.3}
  .booking-main .package-choices ul{font-size:13px!important;line-height:1.45;padding-left:19px}
}

.package .features{margin-bottom:14px}

/* Crop the empty upper canvas of the drive-in photos without changing the assets. */
.package-photo-placeholder:has(img[src*="drive-in-"]),
.package-choice-visual:has(img[src*="drive-in-"]){height:auto!important;aspect-ratio:1200/612;display:block;overflow:hidden;margin-top:0!important}
.package-photo-placeholder:has(img[src*="drive-in-e.webp"]),
.package-choice-visual:has(img[src*="drive-in-e.webp"]){aspect-ratio:1200/675}
.package-photo-placeholder img[src*="drive-in-"],
.package-choice-visual .package-choice-image-base[src*="drive-in-"]{width:100%;height:auto!important;max-height:none;transform:translateY(-32%);border-radius:0}
.package-photo-placeholder img[src*="drive-in-e.webp"],
.package-choice-visual .package-choice-image-base[src*="drive-in-e.webp"]{transform:translateY(-25%)}
.package-photo-placeholder:has(img[src*="drive-in-c.webp"]),
.package-choice-visual:has(img[src*="drive-in-c.webp"]){aspect-ratio:1200/702}
.package-photo-placeholder img[src*="drive-in-c.webp"],
.package-choice-visual .package-choice-image-base[src*="drive-in-c.webp"]{transform:translateY(-22%)}
.booth-grid span{color:#fff}
.booth-grid input:checked+span{color:#fff}
#booth-image{max-width:500px;margin:18px 0 0!important}
.package-photo-placeholder:has(img[src*="booth-scene-"]){display:block;height:auto!important;aspect-ratio:4/3;overflow:hidden;margin:12px 0 15px!important;border-radius:12px}
.package-photo-placeholder img[src*="booth-scene-"]{display:block;width:100%;height:auto!important;max-height:none;transform:none;object-fit:contain}
.package-choice-visual.configurator-scene{height:auto!important;aspect-ratio:4/3;overflow:hidden;background:transparent}
.package-choice-visual.configurator-scene .package-choice-image{display:block;width:100%;height:auto!important;max-height:none;transform:none!important;object-fit:contain;margin:0;border-radius:8px}

/* Keep each package radio centered directly above its card. */
.booking-main .package-choices label{display:flex;flex-direction:column;align-items:center;gap:9px}
.booking-main .package-choices label>input[type="radio"]{position:static;top:auto;right:auto;z-index:auto;flex:none;width:22px;height:22px;margin:0;accent-color:#8A7968}
.booking-main .package-choices label>span{width:100%;flex:1}

/* Two independent touch-swipe package carousels on phones. */
.package-carousel-controls{display:none}
@media(max-width:767px){
  .package-carousel{position:relative}
  .package-carousel-controls{position:absolute;z-index:5;top:50%;left:0;display:flex;align-items:center;justify-content:space-between;width:min(85%,340px);height:0;margin:0;transform:translateY(-50%);pointer-events:none}
  .package-carousel-arrow{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#8A7968;color:#fff;font-size:23px;font-weight:700;line-height:1;cursor:pointer;pointer-events:auto;box-shadow:0 3px 12px #17132155}
  .package-carousel-arrow:first-child{transform:translateX(-35%)}
  .package-carousel-arrow:last-child{transform:translateX(35%)}
  .package-carousel-arrow:disabled{opacity:.38;cursor:default}
  .package-carousel-arrow:focus-visible{outline:2px solid #171321;outline-offset:2px}
  .packages .package-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;padding:18px 1px 16px;scrollbar-width:none}
  .packages .package-grid::-webkit-scrollbar{display:none}
  .packages .package-grid>.package{flex:0 0 min(85%,340px);width:auto;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;transform:none}
  #booking-configurator .booking-package-carousel .package-choices{display:flex!important;grid-template-columns:none!important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;padding:8px 1px 16px;scrollbar-width:none}
  #booking-configurator .booking-package-carousel .package-choices::-webkit-scrollbar{display:none}
  #booking-configurator .booking-package-carousel .package-choices>label{flex:0 0 min(85%,340px);width:auto!important;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
}

/* All copy in the configurator's package options stays white, selected or not. */
#booking-configurator .package-choices label>span,
#booking-configurator .package-choices label>span>strong,
#booking-configurator .package-choices label>span>small,
#booking-configurator .package-choices label>span>b,
#booking-configurator .package-choices label>span ul,
#booking-configurator .package-choices label>span li,
#booking-configurator .package-choices label>span li::marker{color:#fff}

/* Logical groups make the extras list easier to scan without changing selections. */
.extras-choices{gap:22px}
.extras-group{min-width:0}
.extras-group h4{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #8A7968;color:#fff;font-size:15px;font-weight:800;line-height:1.3}
.extras-group-options{display:grid;gap:9px}

/* Package tag/eyebrow text uses the brand purple; other package copy stays white. */
#booking-configurator .package-choices label>span>small.package-choice-eyebrow{color:#8A7968}

/* Make configurator package prices twice as prominent. */
#booking-configurator .package-choices label>span>b{font-size:26px;line-height:1.15}
@media(max-width:767px){#booking-configurator .package-choices label>span>b{font-size:42px}}

/* Travel costs note directly below each package's bullet list. */
.package .features{margin-bottom:6px}
.package .package-travel-note{min-height:0;margin:0 0 14px;color:#77747e;font-size:12px;line-height:1.35}
#booking-configurator .package-choices label>span>small.package-choice-travel-note{display:block;min-height:0;margin:9px 0 0;color:#fff;font-size:12px;line-height:1.35}

/* Keep every price amount in the www.opblaasbarepartytenten.nl purple. */
.package .price,
#booking-configurator .package-choices label>span>b,
#booking-configurator .extras-choices label>span>b,
#booking-configurator .check-line strong,
#booking-configurator .summary-total strong,
#booking-configurator .summary-amount{color:#8A7968}
#booking-configurator .summary-amount{font-weight:800}

/* Same round down-arrow between the two package rows. */
.package-row-divider{position:relative;display:grid;place-items:center;min-height:64px;margin:28px 0 24px}
.package-row-divider::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #8A796866}
.package-row-divider .steps-to-packages{margin:0}
.package-row-divider+.package-divider-title{margin-top:0}

/* Drive-in feature lists stay regular and static. */
.drive-in-packages .package .features li,
.drive-in-packages .package .features li strong,
#booking-configurator[data-product-type="drive-in"] .package-choices li,
#booking-configurator[data-product-type="drive-in"] .package-choices li strong{font-weight:400!important;animation:none!important;opacity:1}

.party-datetime-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.party-datetime-grid>label:first-child{grid-column:1/-1}
.party-datetime-grid>label,.party-datetime-grid input{min-width:0}
.party-datetime-grid input{width:100%;box-sizing:border-box}
.package-rental-fields label.package-attendant{display:flex;align-items:center;gap:10px;cursor:pointer;color:#000;line-height:1.4}
.package-rental-fields .package-attendant input{width:20px;height:20px;min-width:20px;margin:0;accent-color:#8A7968}
.package[data-rental-package] .package-photo-placeholder{height:220px!important;margin:4px 0 8px!important}
.package[data-rental-package] .package-rental-fields{margin-top:10px;gap:8px}
@media(max-width:520px){.package[data-rental-package] .package-photo-placeholder{height:190px!important;margin:4px 0 8px!important}}

/* Keep the photos on the kinderfeest package cards compact. */
.child-package-content .package .package-photo-placeholder{height:190px!important;margin:2px 0 8px!important}
@media(max-width:520px){.child-package-content .package .package-photo-placeholder{height:160px!important}}
.child-package-content .package[data-rental-package^="sweet-"] .package-photo-placeholder{height:300px!important;margin:0 0 12px!important}
@media(max-width:520px){.child-package-content .package[data-rental-package^="sweet-"] .package-photo-placeholder{height:250px!important}}

/* One heading size for every reservation and article overview, including mobile. */
.booking-summary h3.summary-title,.rental-catalog .rental-summary h3.summary-title{margin:0 0 18px;color:#8A7968;font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.02em}

/* A single navigation row outside hidden fieldsets, with generous mobile tap targets. */
@media(max-width:767px){
  #booking-configurator.mobile-wizard > .wizard-nav{position:relative;z-index:2;isolation:isolate;clear:both;grid-column:1/-1;margin:18px 0 0}
  #booking-configurator.mobile-wizard > .wizard-nav button{min-height:48px;min-width:0;touch-action:manipulation;-webkit-appearance:none;appearance:none;pointer-events:auto}
  #booking-configurator.mobile-wizard > .wizard-nav button[hidden]{display:none!important}
  #booking-configurator.mobile-wizard > .wizard-nav button:focus-visible{outline:2px solid #fff;outline-offset:3px}
}

/* Compact mobile packages with fully visible content and natural card height. */
@media(max-width:767px){
  #booking-configurator .booking-package-carousel .package-choices>label{height:auto;gap:5px}
  #booking-configurator .package-choices>label>span{height:auto;min-height:0!important;overflow:visible;padding:10px!important}
  #booking-configurator .package-choices span>strong{font-size:18px;line-height:1.2}
  #booking-configurator .package-choices span>small{min-height:0;margin:4px 0;font-size:13px;line-height:1.35}
  #booking-configurator .package-choices span>small.package-choice-eyebrow{font-size:11px}
  #booking-configurator .package-choices span>b{font-size:19px;margin-top:5px}
  #booking-configurator .package-choices ul{padding-top:6px;font-size:12px!important;line-height:1.35}
  #booking-configurator .package-photo-placeholder{height:110px;margin:6px 0 10px}
}

.cart-page .cart-payment-note{color:#8A7968;font-weight:700;line-height:1.6;margin:12px 0 20px}

/* Anchor the mobile menu to the header rather than the full page. */
.site-header{position:relative;z-index:50;overflow:visible}
.site-header .nav{position:relative}
@media(max-width:850px){
  .site-header .menu-toggle{position:relative;z-index:52;min-width:44px;min-height:44px;flex-shrink:0;touch-action:manipulation}
  .site-header .nav-actions{flex-shrink:0}
  .site-header .menu.open{display:flex!important;position:absolute;z-index:51;top:100%;left:0;right:0;padding:16px;background:#18161e;flex-direction:column;gap:0;border:1px solid #8A7968;max-height:calc(100dvh - 110px);overflow-y:auto}
  .site-header .menu.open a{display:block;padding:12px 8px;min-height:44px;color:#fff}
}
@media(max-width:850px){
  .site-header .nav{gap:12px}
  .site-header .brand{flex:1;min-width:0}
  .site-header .brand-logo{width:352px;max-width:100%}
}

/* Consistent purple distance calculation buttons across all configurators. */
#calculate-distance,#rental-calculate-distance{background:#8A7968;color:#fff!important;border-color:#8A7968}
#calculate-distance:hover,#rental-calculate-distance:hover{background:#8A7968;border-color:#8A7968}

.party-finishing-extras{display:none!important}

/* Keep the package scroller within the viewport, including fieldset intrinsic sizing. */
#booking-configurator .booking-main,
#booking-configurator .booking-main fieldset,
#booking-configurator .booking-package-carousel{min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:767px){
 #booking-configurator .booking-package-carousel{width:100%}
 #booking-configurator .booking-package-carousel .package-choices{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
}

/* Native date controls must not impose their intrinsic width on the form. */
#booking-configurator .datetime-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:100%}
#booking-configurator .datetime-grid>label{display:block;min-width:0;max-width:100%}
#booking-configurator input[type="date"],
#booking-configurator input[type="datetime-local"],
#booking-configurator input[type="time"]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
#booking-configurator input::-webkit-date-and-time-value{min-width:0;text-align:left}
#booking-configurator input::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:520px){#booking-configurator .datetime-grid{grid-template-columns:minmax(0,1fr)}}

.booking-delivery-cost{margin:12px 0 0;padding:12px 14px;border:1px solid #8A7968;border-radius:10px;color:#f4eee4;background:#302647;font-weight:700;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.booking-delivery-cost[hidden]{display:none}

#booking-configurator.mobile-wizard{overflow-anchor:none}
#booking-configurator.mobile-wizard legend:focus{outline:none}

/* Apply the same bounded date fields to foam packages and individual rentals. */
.rental-catalog .rental-dates{min-width:0;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
.rental-catalog .rental-dates>label{min-width:0;max-width:100%}
.rental-catalog input[type="date"],.rental-catalog input[type="datetime-local"],.rental-catalog input[type="time"]{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.rental-catalog input::-webkit-date-and-time-value{min-width:0;text-align:left}
.rental-catalog input::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:520px){.rental-catalog .rental-dates{grid-template-columns:minmax(0,1fr)}}

/* Configurator step titles: white and 10% larger than the original sizes. */
#booking-configurator .booking-main legend{color:#fff;font-size:15.4px}
#booking-configurator .booking-summary>.eyebrow{color:#fff;font-size:14.3px}

/* Bound Safari's native date editor as well as the outer input box. */
#booking-configurator .datetime-grid>label,
.rental-catalog .rental-dates>label{width:100%;box-sizing:border-box;overflow:hidden}
#booking-configurator input[type="date"],
#booking-configurator input[type="datetime-local"],
#booking-configurator input[type="time"],
.rental-catalog input[type="date"],
.rental-catalog input[type="datetime-local"],
.rental-catalog input[type="time"]{
 -webkit-appearance:none;appearance:none;
 width:100%!important;inline-size:100%!important;
 min-width:0!important;min-inline-size:0!important;
 max-width:100%!important;max-inline-size:100%!important;
 box-sizing:border-box!important;overflow:hidden;
 height:48px;font-size:16px;line-height:22px;padding:12px 10px;
}
#booking-configurator input::-webkit-datetime-edit,
.rental-catalog input::-webkit-datetime-edit{display:inline-flex;max-width:100%;overflow:hidden}
