/* Approved boutique booking design. Scoped to the freezer enquiry only. */
.booking-heading{text-align:center;margin:48px auto 24px;position:relative}
.booking-heading .eyebrow{display:inline-block;background:#f8cce0;border-radius:30px;padding:5px 22px;margin:0 0 12px}
.booking-heading h2{color:var(--berry);font-size:clamp(38px,6.5vw,84px);line-height:1.05;text-transform:uppercase;margin:0 0 12px}
.booking-heading>p:last-child{font-size:clamp(18px,2vw,23px);line-height:1.35;margin:0}
.enquiry-form.freezer-booking{--booking-line:#efb5cf;margin-top:24px;padding:clamp(20px,3.5vw,44px);border:1px solid #f4d3e2;border-radius:24px;box-shadow:0 12px 40px #93274f0a;background:#fff}
.freezer-booking .enquiry-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 28px}
.freezer-booking .enquiry-wide{grid-column:1/-1}
.freezer-booking .booking-section-title{display:flex;align-items:center;gap:16px;color:var(--berry);font-size:clamp(23px,2.7vw,32px);line-height:1.2;margin:8px 0 0;padding:26px 0 0;border-top:1px solid #f4d3e2}
.freezer-booking .booking-section-title:first-child{border-top:0;padding-top:0;margin-top:0}
.freezer-booking .booking-section-title>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#fad8e9;font-size:24px}
.freezer-booking label{min-width:0}
.freezer-booking input:not([type=radio]):not([type=checkbox]),.freezer-booking select,.freezer-booking textarea{background:#fff;border:1px solid var(--booking-line);border-radius:10px;min-height:48px;padding:11px 14px;margin-top:8px;box-shadow:0 2px 5px #93274f03;transition:border-color .15s,box-shadow .15s}
.freezer-booking input::placeholder,.freezer-booking textarea::placeholder{color:#8e8389;opacity:1}
.freezer-booking input:focus-visible,.freezer-booking select:focus-visible,.freezer-booking textarea:focus-visible{outline:2px solid var(--berry);outline-offset:3px;border-color:var(--berry)}
.freezer-booking input[type=date]{min-width:0;max-width:100%}
.freezer-booking .package-preview,.freezer-booking .package-preview[data-package]{max-width:none;width:100%;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:14px 24px;margin:0}
.freezer-booking .package-artwork{grid-column:1;grid-row:1;align-self:stretch;display:flex;align-items:center;padding:12px 12px 0;border:1px solid var(--booking-line);border-bottom:0;border-radius:14px 14px 0 0;overflow:hidden}
.freezer-booking .package-preview .package-artwork img{margin:0;max-width:100%;height:auto;max-height:250px;object-fit:contain}
.freezer-booking .package-flavours{grid-column:2;grid-row:1/3;border:1px solid var(--booking-line);border-radius:14px;padding:20px;gap:18px;justify-content:flex-start}
.freezer-booking .package-flavours label{font-size:18px}
.freezer-booking .package-flavours input{height:48px;min-height:48px}
.freezer-booking .package-serving{grid-column:1;grid-row:2;height:auto;min-height:60px;align-self:stretch;border:1px solid var(--booking-line);border-radius:0 0 14px 14px;margin-top:-15px;padding:8px 16px 12px;background:#fff}
.freezer-booking .package-serving legend,.freezer-booking .package-sauce legend,.freezer-booking .package-sprinkles legend{font-size:17px;line-height:1.3;padding:0 7px;margin:0}
.freezer-booking .package-serving-options{height:auto;gap:10px 24px;flex-wrap:wrap}
.freezer-booking .package-sauce,.freezer-booking .package-sprinkles{grid-column:1/-1;min-width:0;border:1px solid var(--booking-line);border-radius:12px;margin:4px 0 0;padding:10px 16px 14px}
.freezer-booking .package-sauce{grid-row:3}
.freezer-booking .package-sprinkles{grid-row:4}
.freezer-booking .package-sauce-options,.freezer-booking .package-sprinkles-options{display:flex;flex-wrap:wrap;gap:10px 24px}
.freezer-booking .package-serving-options label,.freezer-booking .package-sauce-options label,.freezer-booking .package-sprinkles-options label{font-size:17px;min-height:36px;gap:10px}
.freezer-booking input[type=radio],.freezer-booking input[type=checkbox]{width:21px;height:21px;min-height:0;accent-color:var(--berry);box-shadow:none;cursor:pointer}
.freezer-booking input:disabled{cursor:default}
.freezer-booking .delivery-choice legend{font-size:19px;margin-bottom:8px}
.freezer-booking .delivery-help{font-size:16px;line-height:1.45;margin:0 0 14px}
.freezer-booking .delivery-options{gap:12px}
.freezer-booking .delivery-options label{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 24px;min-width:100px;border:1px solid var(--booking-line);border-radius:10px;background:white}
.freezer-booking .delivery-options label:has(input:checked){background:#fff0f6;border-color:var(--berry)}
.freezer-booking .delivery-address{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1.2fr);gap:16px}
.freezer-booking textarea{min-height:100px}
.enquiry-form.freezer-booking .enquiry-note{border-top:1px solid #f4d3e2;margin:26px 0 18px!important;padding-top:18px;text-align:center;color:#76515b}
.freezer-booking>.pill{display:block;width:min(100%,520px);margin:0 auto;padding:16px 28px;background:var(--berry);color:white;font-size:21px;border-radius:40px;box-shadow:0 5px 14px #b51e4914;transition:transform .15s,box-shadow .15s}
.freezer-booking>.pill:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #b51e4926}
.freezer-booking>.pill:focus-visible{outline:2px solid var(--berry);outline-offset:4px}
.freezer-booking>.enquiry-status{text-align:center}
@media(max-width:650px){
 .freezer-booking .enquiry-fields{gap:18px 14px}
 .freezer-booking .booking-section-title{gap:12px;padding-top:22px}
 .freezer-booking .booking-section-title>span{flex-basis:36px;height:36px;font-size:21px}
 .freezer-booking .package-preview,.freezer-booking .package-preview[data-package]{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:12px}
 .freezer-booking .package-flavours{padding:12px;gap:15px}
 .freezer-booking .package-artwork{padding:5px 5px 0}
 .freezer-booking .package-serving{margin-top:-13px;padding:6px 8px 10px}
 .freezer-booking .package-serving legend{font-size:14px;padding:0 3px}
 .freezer-booking .package-serving-options{gap:4px 10px}
 .freezer-booking .package-serving-options label{font-size:15px;gap:6px}
 .freezer-booking .package-flavours label{font-size:16px}
 .freezer-booking .package-flavours input{padding:9px 8px;font-size:16px}
 .freezer-booking .delivery-address{gap:8px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr)}
 .freezer-booking .delivery-address label{font-size:14px}
 .freezer-booking .delivery-address input{padding:9px 7px;font-size:16px}
}
@media(max-width:420px){
 .enquiry-form.freezer-booking{padding:18px 12px;border-radius:18px}
 .freezer-booking .enquiry-fields{column-gap:10px}
 .freezer-booking .package-preview,.freezer-booking .package-preview[data-package]{column-gap:8px}
 .freezer-booking .package-flavours{padding:10px 8px}
 .freezer-booking .package-serving-options{display:grid;gap:0}
 .freezer-booking .package-sauce-options,.freezer-booking .package-sprinkles-options{gap:4px 14px}
 .freezer-booking .field-state{margin-left:4px;width:16px;height:16px;font-size:14px}
 .freezer-booking>.pill{font-size:19px;padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){.freezer-booking input,.freezer-booking select,.freezer-booking textarea,.freezer-booking>.pill{transition:none}.freezer-booking>.pill:hover:not(:disabled){transform:none}}

/* Compact selection rows and live choice totals. */
.freezer-booking .package-sauce legend,.freezer-booking .package-sprinkles legend{float:left;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:36px;padding:0;margin-right:24px}
.freezer-booking .package-sauce::after,.freezer-booking .package-sprinkles::after{content:"";display:block;clear:both}
.freezer-booking .topping-count{display:inline-block;white-space:nowrap;border-radius:20px;background:#fad8e9;color:var(--berry);padding:5px 12px;font-size:15px;line-height:1.2}
.freezer-booking .topping-count[hidden]{display:none}
@media(max-width:650px){.freezer-booking .package-sauce legend,.freezer-booking .package-sprinkles legend{float:none;margin:0 0 6px}}

/* Native, responsive lettering and hand-drawn accents on the section background. */
.booking-heading-native{container-type:inline-size;width:100%;max-width:900px;margin:48px auto 24px;background:none}
.booking-heading-native .eyebrow{font-family:Londrina,Arial,sans-serif;font-size:clamp(12px,2.3cqi,21px);line-height:1.3;letter-spacing:1.4px;color:#d81750;background:#fbcce0;padding:5px 22px;margin:0 0 8px;border-radius:30px}
.booking-title-line{display:flex;align-items:center;justify-content:center;gap:1.2%;width:100%}
.booking-heading-native h2{font-family:OdderChocolateLetters,Londrina,sans-serif;font-weight:400;font-size:8.6cqi;line-height:1.05;letter-spacing:-.045em;color:#d81750;text-transform:uppercase;white-space:nowrap;margin:0;padding:0;flex:0 1 auto}
.booking-rays{display:block;width:5.6%;height:auto;flex:0 0 5.6%;overflow:visible;align-self:center;transform:translateY(-8%)}
.booking-rays path{fill:none;stroke:#d81750;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.booking-rays-right{transform:translateY(-2%) scaleX(-1) rotate(-7deg)}
.booking-heading-native>p.booking-subtitle{font-family:Londrina,Arial,sans-serif;font-size:clamp(15px,3.05cqi,27px);line-height:1.25;font-weight:900;color:var(--ink);margin:5px 0 0;padding:0 5%;text-wrap:balance}
@media(max-width:500px){.booking-heading-native .eyebrow{margin-bottom:10px;padding:4px 16px}.booking-heading-native>p.booking-subtitle{margin-top:9px;padding-inline:3%}}

.freezer-booking .delivery-time{grid-column:1/-1;display:block;margin-top:4px}
.freezer-booking .delivery-time input{display:block;width:min(100%,260px)}
.freezer-booking .delivery-time small{display:block;margin-top:7px;font-size:15px;line-height:1.4;color:#76515b}

.freezer-date-note{display:block;font-size:14px;line-height:1.5;margin-top:9px;color:#805565;font-weight:400}
.freezer-price-summary{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;justify-content:space-between;padding:16px 20px;border:1px solid #ecc5d6;border-radius:18px;background:#fff5f9;color:#ad1749}
.freezer-price-summary[hidden]{display:none}.freezer-price-summary strong{font-size:24px}.freezer-price-summary span{font-size:16px}.freezer-price-summary small{flex-basis:100%;font-size:14px;line-height:1.5;font-weight:400}

/* The approved December card: native heading, wave, price seal and dates. */
.party-package-card.package-offer-card{container-type:inline-size;padding:0;border:2px solid #ef91b6;border-radius:20px;overflow:hidden;box-shadow:0 6px 18px #bd004512;background:#fff}
.package-offer-card h3{display:flex;align-items:center;justify-content:center;gap:4%;font-size:clamp(28px,15cqw,92px);line-height:1;margin:0;padding:6% 5% 2%;color:#bd0045;text-transform:uppercase}
.package-offer-card h3::before,.package-offer-card h3::after{content:"";display:block;width:9%;height:1em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 42'%3E%3Cpath d='M8 5L22 12M3 21L19 23M7 38L21 32' fill='none' stroke='%23bd0045' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;flex-shrink:0}
.package-offer-card h3::after{transform:scaleX(-1)}
.package-offer-card .party-package-art{padding:0 3%;aspect-ratio:1.38}
.package-offer-card .package-december-offer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2%;margin:5% 0 0;padding:0 4% 5%;background:#fad8e9;color:#bd0045;text-align:center;line-height:1.1}
.offer-wave{position:absolute;left:0;bottom:calc(100% - 1px);width:100%;height:8cqw;color:#fad8e9;overflow:visible;pointer-events:none}
.offer-copy{position:relative;width:62%;min-width:0;padding-top:3%}
.offer-title{display:block;font-size:clamp(14px,7.1cqw,45px);line-height:1.05;font-weight:900;letter-spacing:-.02em}
.offer-title>span{display:inline-block}
.package-offer-card .offer-dates{color:#48271e;font-size:clamp(12px,4.4cqw,28px);line-height:1.25;margin:7% 0 0;font-weight:900}
.offer-dates b{font-weight:900}
.offer-seal{position:relative;width:34%;aspect-ratio:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:url('assets/offer-seal.svg') center/contain no-repeat;color:#fff;font-weight:900;line-height:.9;transform:rotate(-4deg)}
.offer-number{font-size:clamp(30px,17.2cqw,112px);letter-spacing:-.035em;display:block}
.offer-currency{display:block;font-size:clamp(17px,8cqw,52px);line-height:.9;margin-top:2%}
.party-package-card .package-price.offer-regular-price{margin:0;padding:7px 8px 9px;font-size:12px;line-height:1.25;text-align:center;color:#805565;background:#fff}
.package-offer-card .package-zoom-hint{bottom:auto;top:30%;font-size:13px}
@container (max-width:210px){.offer-title>span{display:block}.offer-copy{width:56%}.offer-seal{width:40%}.offer-number{font-size:20cqw}.offer-currency{font-size:10cqw}}
.package-zoom-content .package-offer-card{width:min(700px,100%);margin:0 auto;text-align:left}
.package-zoom-content .package-offer-card .party-package-one img{max-height:none;width:100%;height:auto;margin:-16.1064% 0 0}
.package-zoom-content .package-offer-card .offer-regular-price{font-size:clamp(12px,2.8cqw,16px)}
