.booking-panel-inner{display:flex;flex-direction:column;gap:.85rem}.booking-dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.booking-field{display:flex;flex-direction:column;gap:.35rem}.booking-label{font-size:var(--text-2xs);font-weight:600;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em}.booking-input,.booking-textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);background:var(--color-white);color:var(--color-ink)}.booking-input:focus,.booking-textarea:focus{outline:2px solid var(--color-yellow);outline-offset:1px}.booking-time-select{margin-top:.25rem}.booking-textarea{resize:vertical;min-height:4.5rem}.booking-terms{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-xs);line-height:1.45;color:var(--color-ink-soft);cursor:pointer}.booking-terms input[type=checkbox]{appearance:none;-webkit-appearance:none;margin-top:.1rem;flex-shrink:0;width:1.125rem;height:1.125rem;border:2px solid var(--color-ink);border-radius:4px;background:var(--color-white);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.booking-terms input[type=checkbox]:checked{background:var(--color-ink);border-color:var(--color-ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.85rem}.booking-terms input[type=checkbox]:focus-visible{outline:2px solid var(--color-yellow);outline-offset:2px}.booking-terms a{color:var(--color-ink);font-weight:600}.booking-submit{width:100%}.booking-error{margin:0;font-size:var(--text-sm);color:#b42318}.booking-notice{margin:0;padding:.65rem .75rem;background:var(--color-yellow-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.45;color:var(--color-ink-soft)}.booking-muted{margin:0;font-size:var(--text-sm);color:var(--color-ink-muted)}.booking-price-breakdown{display:flex;flex-direction:column;gap:.4rem;padding:.75rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.booking-price-row{display:flex;justify-content:space-between;gap:.75rem;font-size:var(--text-sm);color:var(--color-ink-soft)}.booking-price-row--total{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--color-border);font-weight:700;color:var(--color-ink)}.booking-price-row--vat{font-size:var(--text-xs);color:var(--color-ink-soft)}.booking-price-row--deposit{font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-price-hint{font-weight:500;color:var(--color-ink-muted)}.booking-price-link{font-size:var(--text-2xs);color:var(--color-ink)}.booking-price-note{margin:.35rem 0 0;font-size:var(--text-2xs);line-height:1.4;color:var(--color-ink-muted)}.booking-drawer-root{position:fixed;inset:0;z-index:var(--z-overlay);pointer-events:none}.booking-drawer-root.is-open{pointer-events:auto}.booking-drawer-backdrop{position:absolute;inset:0;z-index:0;background:#0a0a0a73;opacity:0;transition:opacity .22s ease}.booking-drawer-root.is-open .booking-drawer-backdrop{opacity:1}.booking-drawer{position:absolute;top:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;width:100%;max-width:100%;background:var(--color-white);box-shadow:-8px 0 32px #0a0a0a1f;transform:translate(100%);transition:transform .28s ease}.booking-drawer-root.is-open .booking-drawer{transform:translate(0)}.booking-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.booking-drawer-listing{display:flex;align-items:center;gap:.65rem;min-width:0}.booking-drawer-thumb{flex-shrink:0;width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-white);border:1px solid var(--color-border)}.booking-drawer-title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.booking-drawer-close{flex-shrink:0;border:none;background:transparent;font-size:1.625rem;line-height:1;cursor:pointer;color:var(--color-ink-muted);padding:.15rem .25rem}.booking-drawer-close:hover{color:var(--color-ink)}.booking-drawer-steps{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-bottom:1px solid var(--color-border);font-size:var(--text-xs);flex-shrink:0}.booking-drawer-step{color:var(--color-ink-muted);font-weight:500}.booking-drawer-step.is-active{color:var(--color-ink);font-weight:700}.booking-drawer-step.is-done{color:var(--color-ink-soft)}.booking-drawer-step-sep{color:var(--color-ink-muted);font-size:var(--text-2xs)}.booking-drawer-body{flex:1;overflow-y:auto;padding:1rem;background:var(--color-white);-webkit-overflow-scrolling:touch}.booking-panel-inner--review{gap:1rem}.booking-field--compact{gap:.3rem}.booking-textarea--compact{min-height:3rem}.booking-review{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.booking-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-bottom:1px solid var(--color-border)}.booking-review-dates{margin:0;font-size:var(--text-sm);font-weight:600;line-height:1.35;color:var(--color-ink)}.booking-review-meta{margin:.2rem 0 0;font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-review-items{list-style:none;margin:0;padding:0}.booking-review-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;border-bottom:1px solid var(--color-border)}.booking-review-item:last-child{border-bottom:none}.booking-review-item-thumb{flex-shrink:0;width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.booking-review-item-thumb--empty{background:var(--color-white)}.booking-review-item-title{flex:1;min-width:0;font-size:var(--text-sm);line-height:1.3;color:var(--color-ink-soft)}.booking-review-item-qty{flex-shrink:0;font-size:var(--text-xs);font-weight:700;color:var(--color-ink-muted)}.booking-review-details-toggle{display:block;width:100%;padding:.55rem .85rem;border:none;border-top:1px solid var(--color-border);background:transparent;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-ink-muted);text-align:left;cursor:pointer}.booking-review-details-toggle:hover{color:var(--color-ink)}.booking-review-details{display:flex;flex-direction:column;gap:.35rem;padding:0 .85rem .65rem}.booking-review-note{margin:0;padding:.55rem .85rem .7rem;border-top:1px solid var(--color-border);font-size:var(--text-2xs);line-height:1.4;color:var(--color-ink-muted);background:var(--color-white)}.booking-drawer-lead{margin:0;font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.45}.booking-drawer-hint{margin:-.35rem 0 0;font-size:var(--text-xs);color:var(--color-ink-muted);line-height:1.4}.booking-drawer-hint a{color:var(--color-ink);font-weight:600}.booking-drawer-footer{flex-shrink:0;display:flex;flex-direction:column;gap:.65rem;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-white)}.booking-drawer-footer-price{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem}.booking-drawer-footer-label{font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-drawer-footer-total{font-size:1.125rem;font-weight:700}.booking-drawer-footer-deposit{flex-basis:100%;font-size:var(--text-xs);color:var(--color-ink-muted);text-align:right}.booking-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.booking-summary-dates{margin:.15rem 0 0;font-size:var(--text-sm);font-weight:600;color:var(--color-ink)}.booking-summary-items{margin:.2rem 0 0;font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-summary-edit{flex-shrink:0;border:none;background:transparent;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:.15rem 0}.booking-trust-footer{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:0;width:100%}.booking-trust-footer-label{margin:0;font-size:var(--text-2xs);font-weight:600;color:var(--color-ink-muted);text-align:center}.booking-payment-methods{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin:0;padding:0;list-style:none}.booking-payment-methods li{display:flex}.booking-payment-methods img{height:26px;width:auto;border:1px solid var(--color-border);border-radius:6px;padding:4px 7px;background:var(--color-white);object-fit:contain}.booking-cart{display:flex;flex-direction:column;gap:.65rem;margin-top:.25rem;padding-top:.85rem;border-top:var(--border-hairline)}.booking-cart-more-label{margin-top:.35rem}.booking-cart-more{display:flex;flex-direction:column;gap:.5rem;max-height:14rem;overflow-y:auto}.booking-cart-row{display:flex;align-items:center;gap:.65rem;padding:.55rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white)}.booking-cart-row--dim{opacity:.55}.booking-cart-thumb{flex-shrink:0;width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-white);border:1px solid var(--color-border)}.booking-cart-thumb--placeholder{display:block}.booking-cart-info{flex:1;min-width:0}.booking-cart-title{margin:0;font-size:var(--text-sm);font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.booking-cart-price{margin:.15rem 0 0;font-size:var(--text-2xs);color:var(--color-ink-muted)}.booking-cart-price span{color:var(--color-ink-soft)}.booking-cart-unavailable{margin:.15rem 0 0;font-size:var(--text-2xs);color:var(--color-ink-muted)}.booking-qty-stepper{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.booking-qty-btn{width:28px;height:28px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-white);font-size:1rem;line-height:1;cursor:pointer;color:var(--color-ink)}.booking-qty-btn:disabled{opacity:.35;cursor:not-allowed}.booking-qty-value{min-width:1.25rem;text-align:center;font-size:var(--text-sm);font-weight:600}.booking-price-items{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.35rem;margin-bottom:.15rem;border-bottom:1px solid var(--color-border)}.booking-price-row--item{font-size:var(--text-xs);color:var(--color-ink-soft)}.booking-inline-auth{padding:.85rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.booking-auth-lead{margin:0 0 .85rem;font-size:var(--text-sm);line-height:1.5;color:var(--color-ink-soft)}.booking-auth-form{display:flex;flex-direction:column;gap:.65rem}.booking-auth-code{font-size:1.25rem;font-weight:600;letter-spacing:.22em;text-align:center}.booking-auth-secondary{border:none;background:transparent;padding:0;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-ink-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;align-self:flex-start}.booking-auth-secondary:hover{color:var(--color-ink)}.booking-auth-existing-toggle{margin-top:.85rem;border:none;background:transparent;padding:0;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-ink-muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;align-self:flex-start}.booking-auth-existing-toggle:hover{color:var(--color-ink)}.booking-auth-existing{display:flex;flex-direction:column;gap:.75rem}.booking-auth-existing-back{border:none;background:transparent;padding:0;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--color-ink-muted);cursor:pointer;align-self:flex-start}.booking-auth-existing-back:hover{color:var(--color-ink)}.booking-auth-existing-lead{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--color-ink-soft)}.booking-auth-divider{margin:0;font-size:var(--text-2xs);font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted)}.booking-auth-social{display:flex;flex-direction:column;gap:.45rem}.booking-auth-social-btn{width:100%;justify-content:center}.booking-profile-phone-hint{margin:-.35rem 0 0;font-size:var(--text-2xs);line-height:1.4;color:var(--color-ink-muted)}.booking-handoff{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center}.booking-handoff-sub{font-size:var(--text-2xs);font-weight:500;opacity:.85}.booking-phone-prompt{margin-top:.85rem;padding:.75rem .85rem;background:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.booking-phone-text{margin:0 0 .55rem;font-size:var(--text-xs);line-height:1.45;color:var(--color-ink-soft)}.booking-phone-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.booking-skip{border:none;background:transparent;font:inherit;font-size:var(--text-xs);color:var(--color-ink-muted);text-decoration:underline;cursor:pointer}.booking-status-page{padding-block:2rem 3rem}.booking-status-card{max-width:32rem;margin-inline:auto;padding:1.5rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.booking-status-badge{display:inline-block;padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.booking-status-badge--pending{background:var(--color-yellow-soft);color:var(--color-ink)}.booking-status-badge--accepted{background:#dcfce7;color:var(--color-verified)}.booking-status-badge--denied,.booking-status-badge--canceled{background:#fee2e2;color:#991b1b}.booking-status-title{margin:.75rem 0 .35rem;font-family:var(--font-display);font-size:1.375rem;font-weight:600}.booking-status-lead{margin:0 0 1rem;font-size:var(--text-sm);line-height:1.55;color:var(--color-ink-soft)}.booking-status-meta{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem;font-size:var(--text-sm);color:var(--color-ink-muted)}.booking-status-back{margin-top:1rem;display:inline-flex}.booking-status-page--success{padding-block:1.5rem 3rem}.booking-success{display:grid;grid-template-columns:1fr;max-width:52rem;margin-inline:auto;padding:0;overflow:hidden;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.booking-success-visual-col{display:flex;align-items:flex-end;justify-content:center;padding:1.25rem 1.5rem 0;background:var(--color-cream)}.booking-success-visual-hero{display:block;width:min(100%,11rem);height:auto;object-fit:contain}.booking-success-content{display:flex;flex-direction:column;padding:1.5rem}.booking-success-hero{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.booking-success-title{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.375rem;font-weight:600;line-height:1.2}.booking-success-subtitle{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--color-ink-soft)}.booking-success-summary{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.booking-success-listing{margin:0 0 .75rem;font-size:var(--text-sm);font-weight:600;line-height:1.35;color:var(--color-ink)}.booking-success-dates{display:grid;grid-template-columns:1fr;gap:.65rem;margin:0}.booking-success-dates>div{display:grid;gap:.15rem}.booking-success-dates dt{margin:0;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-muted)}.booking-success-dates dd{margin:0;font-size:var(--text-sm);line-height:1.35;color:var(--color-ink-soft)}.booking-success-action{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.booking-success-action .booking-handoff{width:100%}.booking-success-download{display:flex;align-items:center;gap:.85rem}.booking-success-qr-link{flex-shrink:0;display:block;line-height:0}.booking-success-qr-link img{display:block;border-radius:var(--radius-sm)}.booking-success-qr-hint{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--color-ink-muted)}.booking-success-stores-compact{margin:0;font-size:var(--text-xs);color:var(--color-ink-muted);text-align:center}.booking-success-stores-compact a{font-weight:600;color:var(--color-ink-soft);text-decoration:underline;text-underline-offset:2px}.booking-success-footnote{margin:1.25rem 0 0;padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:var(--text-xs);line-height:1.5;text-align:center;color:var(--color-ink-muted)}.booking-success-visual{display:block;width:min(100%,15rem);height:auto;object-fit:contain}.booking-success-app-title{margin:0 0 .55rem;font-family:var(--font-display);font-size:1.0625rem;font-weight:600}.booking-success-rating{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .85rem;font-size:var(--text-xs);color:var(--color-ink-muted)}.booking-success-stars{display:inline-flex;align-items:center;gap:.1rem;color:#f5b301}.booking-success-rating strong{color:var(--color-ink);font-weight:700}.booking-success-stores{display:flex;flex-wrap:wrap;gap:.45rem}.booking-success-store{display:inline-flex;align-items:center;padding:.45rem .85rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-white);font-size:var(--text-xs);font-weight:600;color:var(--color-ink);text-decoration:none;transition:border-color .15s,background .15s}.booking-success-store:hover{border-color:var(--color-ink)}.booking-success-store--primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.booking-success-store--primary:hover{background:#222;border-color:#222;color:var(--color-white)}.booking-success-actions{display:flex;flex-direction:column;gap:.75rem}.booking-success-manage{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--color-ink-soft)}.booking-success .only-desktop{display:none}.booking-success .only-mobile{display:block}@media(min-width:640px){.booking-success-dates{grid-template-columns:1fr 1fr;gap:1rem}}@media(min-width:768px){.booking-success{grid-template-columns:minmax(14rem,.44fr) minmax(0,1fr);align-items:stretch}.booking-success-visual-col{align-items:center;justify-content:flex-end;padding:2rem 1.25rem 0;min-height:100%}.booking-success-visual-hero{width:100%;max-width:none;height:100%;max-height:28rem;object-fit:contain;object-position:bottom center}.booking-success-content{padding:1.75rem 1.75rem 1.5rem}.booking-success-hero{align-items:flex-start;text-align:left}.booking-success-footnote{text-align:left}.booking-success .only-desktop{display:flex}.booking-success .only-mobile{display:none}}@media(min-width:900px){.booking-drawer{max-width:32rem}}@media(max-width:899px){.booking-drawer{inset:auto 0 0;max-height:96vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(100%)}.booking-drawer-root.is-open .booking-drawer{transform:translateY(0)}}.shop-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:.65rem;padding:.75rem var(--container-pad);padding-bottom:calc(.75rem + env(safe-area-inset-bottom));background:var(--color-cream);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0a0a0a0f}.shop-sticky-ask{flex-shrink:0;padding-inline:1rem}.shop-sticky-cta{flex:1;justify-content:center;gap:.35rem}.hb-sticky-bar{gap:.85rem}.hb-sticky-meta{flex:1;min-width:0}.hb-sticky-kicker{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-muted)}.hb-sticky-title{margin:.1rem 0 0;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-sticky-bar .shop-sticky-cta{flex:0 0 auto;min-width:9.5rem}.hb-sticky-bar .shop-sticky-cta:disabled{opacity:.55;cursor:not-allowed}@media(min-width:900px){.shop-sticky-bar{display:none}.hb-sticky-bar{display:flex;left:50%;right:auto;bottom:1.25rem;width:min(42rem,calc(100% - 2rem));transform:translate(-50%);border:var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}}.shop-contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.shop-contact-success{display:flex;flex-direction:column;gap:.85rem}.shop-contact-form{padding-bottom:.5rem}.turnstile-field{margin-top:.25rem}
