body.booking-popup-open{overflow:hidden}
/* A compact, accessible Gen Z booking ticket. */
.booking-popup{padding:0;width:min(600px,calc(100vw - 26px));max-height:92dvh;overflow:auto;border:2px solid #e8bf77;border-radius:26px 9px 26px 9px;background:#f8ecd1;color:#22351a;box-shadow:0 20px 90px #0009;overscroll-behavior:contain}
.booking-popup::backdrop{background:#091609c9;backdrop-filter:blur(5px)}.booking-popup[open]{animation:booking-pop-in .28s ease-out}.booking-popup-shell{position:relative}.booking-popup-close{position:absolute;right:15px;top:13px;z-index:3;width:36px;height:36px;border:1px solid #edcf99;border-radius:50%;background:#17351d;color:#fff0cf;font-size:17px}.booking-popup-close:hover{background:#805038}
.booking-popup-heading{position:relative;top:auto;z-index:auto;border:0;background:linear-gradient(#1c3b23ed,#1c3b23ed),url('assets/palette/moss.webp') center/600px;color:#fff1d3;padding:27px 30px 24px;overflow:hidden}.booking-popup-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:1.4px;margin-bottom:13px;padding-right:25px}.booking-popup-heading h2{font:italic 800 47px/.95 'Barlow Condensed',sans-serif;letter-spacing:.2px;margin:0 100px 16px 0;position:relative;color:#fff1d3}.booking-popup-heading h2 em{font-style:inherit;color:#ffd080}.booking-popup-heading>p{font-size:12px;line-height:1.7;max-width:370px;margin:0;color:#efdbb9}.booking-popup-deal{position:absolute;right:30px;top:66px;transform:rotate(7deg);background:#a84d33;padding:13px 13px 12px;border-radius:15px 5px 15px 5px;color:#ffdc8c;text-align:center}.booking-popup-deal strong{display:block;font:800 38px/1 'Barlow Condensed',sans-serif}.booking-popup-deal span{display:block;font-size:8px;line-height:1.4;letter-spacing:1px;font-weight:800;margin-top:5px;color:#fff1d3}
.booking-popup-content{padding:22px 30px 25px}.booking-channel-note{font-size:11px;line-height:1.7;background:#e9d9b8;border-radius:8px;padding:10px 12px;margin-bottom:19px;color:#5e492f}.booking-channel-note.is-ready{background:#dae6cd;color:#284320}.booking-popup-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px}.booking-popup-fields label{display:block;font-size:11px;font-weight:800;line-height:1.6;color:#2a3d22;min-width:0}.booking-popup-fields label>span{color:#9b452c}.booking-field-wide{grid-column:1/-1}.booking-popup-fields input,.booking-popup-fields select,.booking-popup-fields textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #a59470;background:#fffaf0;color:#20361b;border-radius:8px;padding:11px 12px;margin-top:6px;font-family:'Be Vietnam Pro',sans-serif;font-size:13px;line-height:1.4;min-height:43px}.booking-popup-fields input:focus,.booking-popup-fields select:focus,.booking-popup-fields textarea:focus{outline:2px solid #a66835;outline-offset:2px}.booking-popup-fields textarea{resize:vertical;min-height:77px}
.booking-popup-perk{display:flex;gap:10px;align-items:center;border-top:1px dashed #ad946d;border-bottom:1px dashed #ad946d;padding:12px 0;margin:18px 0 15px}.booking-popup-perk>span{font-size:26px;color:#9b492c}.booking-popup-perk p{margin:0;font-size:10px;line-height:1.7;color:#6d5539}.booking-popup-perk strong{font-size:12px;color:#25431e}.booking-popup-consent{display:flex;align-items:flex-start;gap:9px;font-size:10px;line-height:1.7;color:#4a4d37}.booking-popup-consent input{width:17px;height:17px;flex-shrink:0;accent-color:#284c24;margin-top:2px}.booking-trap{display:none!important}.booking-popup-submit,.booking-popup-done{display:flex;align-items:center;justify-content:center;gap:17px;width:100%;border:1px solid #e3b86b;border-radius:9px;background:#ffd080;color:#1b351b;font-size:14px;font-weight:900;min-height:50px;padding:12px;margin-top:18px}.booking-popup-submit:disabled{background:#d9cbaa;color:#6c6552;cursor:not-allowed;border-color:#c7b994}.booking-popup-submit:not(:disabled):hover,.booking-popup-done:hover{background:#ffe3a7}.booking-popup-submit>span{font-size:20px}.booking-popup-call{display:block;text-align:center;font-size:12px;margin-top:15px;color:#315125;text-decoration:underline;text-underline-offset:4px}.booking-popup-privacy{margin:13px 0 0;text-align:center;font-size:9px;line-height:1.6;color:#7a6c53}.booking-popup-error{font-size:11px;line-height:1.7;color:#8b2926;background:#f5dcd2;border-radius:7px;padding:10px 12px;margin:15px 0 0}
.booking-popup-success{text-align:center}.booking-popup-success[hidden]{display:none}.booking-success-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;margin:3px auto 17px;background:#214724;color:#ffdc89;font-size:32px}.booking-popup-success h3{font:800 32px/1 'Barlow Condensed',sans-serif;margin:0 0 15px}.booking-popup-success>p{font-size:12px;line-height:1.8}.booking-success-ticket{border-block:1px dashed #a38b62;padding:20px 0;margin:20px 0}.booking-success-ticket>span{display:block;font-size:9px;letter-spacing:2px}.booking-success-ticket>strong{display:block;font-size:24px;margin:8px}.booking-success-ticket>b{display:block;color:#9b452c;font-size:12px}.booking-success-ticket>p{white-space:pre-line;font-size:12px;line-height:1.8;margin-bottom:0}
@keyframes booking-pop-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:600px){.booking-popup{width:calc(100vw - 20px);max-height:93dvh;border-radius:21px 7px 21px 7px}.booking-popup-heading{padding:25px 21px 21px}.booking-popup-heading h2{font-size:40px;margin-right:82px}.booking-popup-deal{right:21px;top:65px;padding:11px 10px}.booking-popup-deal strong{font-size:33px}.booking-popup-eyebrow{font-size:8px;letter-spacing:1px;max-width:260px}.booking-popup-content{padding:18px 20px 23px}.booking-popup-fields{gap:13px 11px}.booking-popup-fields input,.booking-popup-fields select,.booking-popup-fields textarea{font-size:16px;padding:10px;min-height:44px}.booking-popup-heading>p{font-size:11px}.booking-popup-consent{font-size:10px}.booking-popup-submit{font-size:13px}}
@media(prefers-reduced-motion:reduce){.booking-popup[open]{animation:none}}

.booking-popup #booking-popup-form{padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;display:block}
@media(max-width:600px){.booking-popup-heading h2{font-size:35px;margin-right:74px}.booking-popup-heading h2 em{white-space:nowrap;font-size:.94em}.booking-popup-deal{padding:10px 9px;right:20px}.booking-popup-deal strong{font-size:31px}}

.booking-popup-heading>p{padding-top:18px}

/* Shorter booking ticket, keeping comfortable mobile inputs. */
.booking-popup{width:min(510px,calc(100vw - 28px));max-height:90dvh;border-radius:21px 7px 21px 7px}
.booking-popup-heading{padding:20px 23px 16px}.booking-popup-eyebrow{margin-bottom:9px;font-size:8px}.booking-popup-heading h2{font-size:37px;margin:0 90px 9px 0}.booking-popup-heading>p{padding-top:5px;font-size:11px;line-height:1.5}.booking-popup-close{top:10px;right:10px;width:32px;height:32px}.booking-popup-deal{top:48px;right:23px;padding:9px 10px;animation:booking-discount-sway 2.8s ease-in-out infinite;box-shadow:0 0 14px #ffd08066}.booking-popup-deal strong{font-size:32px;text-shadow:0 0 9px #ffd080b3}.booking-popup-deal span{font-size:7px}
.booking-popup-content{padding:14px 23px 17px}.booking-channel-note{font-size:10px;line-height:1.5;padding:8px 10px;margin-bottom:12px}.booking-popup-fields{gap:10px 11px}.booking-popup-fields label{font-size:10px}.booking-popup-fields input,.booking-popup-fields select{min-height:40px;padding:9px 10px;margin-top:4px}.booking-popup-fields textarea{min-height:60px;margin-top:4px}.booking-optional-note{font-size:10px;color:#3d512d}.booking-optional-note summary{cursor:pointer;padding:6px 0;font-weight:700;line-height:1.6}.booking-optional-note[open] label{margin-top:5px}.booking-popup-perk{padding:8px 0;margin:11px 0 10px;gap:8px}.booking-popup-perk>span{font-size:21px}.booking-popup-perk strong{font-size:11px}.booking-popup-perk p{font-size:9px;line-height:1.5}.booking-inline-discount{display:inline-block;color:#874123;text-shadow:0 0 8px #e3ae4e99;animation:booking-discount-inline 2.8s ease-in-out infinite}.booking-popup-consent{font-size:9px;line-height:1.5;gap:8px}.booking-popup-consent input{width:20px;height:20px;margin-top:0}.booking-popup-submit{margin-top:12px;min-height:44px;padding:10px;font-size:13px}.booking-popup-call{margin-top:10px;font-size:11px}.booking-popup-privacy{margin-top:8px;font-size:8px}
@keyframes booking-discount-sway{0%,100%{transform:rotate(5deg);box-shadow:0 0 9px #ffd08044}50%{transform:rotate(-5deg);box-shadow:0 0 22px #ffd080aa}}
@keyframes booking-discount-inline{0%,100%{transform:rotate(-5deg);text-shadow:0 0 4px #dba34955}50%{transform:rotate(5deg);text-shadow:0 0 10px #dba349cc}}
@media(max-width:600px){.booking-popup{width:calc(100vw - 24px);max-height:91dvh}.booking-popup-heading{padding:18px 17px 14px}.booking-popup-heading h2{font-size:31px;margin-right:76px}.booking-popup-heading>p{font-size:10px;padding-top:4px;padding-right:2px}.booking-popup-deal{top:45px;right:17px;padding:8px}.booking-popup-deal strong{font-size:29px}.booking-popup-content{padding:12px 15px 15px}.booking-popup-fields{gap:9px 10px}.booking-popup-fields input,.booking-popup-fields select,.booking-popup-fields textarea{font-size:16px;min-height:42px;padding:8px 9px}.booking-popup-fields textarea{min-height:62px}.booking-popup-submit{min-height:44px}.booking-popup-eyebrow{font-size:7px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.booking-popup-deal,.booking-inline-discount{animation:none}.booking-popup-deal{box-shadow:0 0 12px #ffd08066}}
