:root{--booking-bar-h: calc(48px + 2 * var(--space-2) + 1px)}.booking{padding:0 0 var(--section-y);color:var(--color-text);background:radial-gradient(90% 60% at 80% 0%,color-mix(in srgb,var(--color-brand) 14%,transparent),transparent),var(--color-bg)}.booking__inner{display:grid;gap:var(--space-6)}.booking__header .section-header__subtitle{text-wrap:balance}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.booking-layout__main{display:grid;align-content:start;gap:var(--space-6);min-width:0}.booking-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.booking-actions__end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3) var(--space-5);margin-left:auto}.booking-note{margin:0;font-size:var(--text-sm);text-align:center;color:var(--color-text-muted)}.booking-error{margin:0;padding:var(--space-3) var(--space-4);font-weight:600;color:var(--color-text);background:color-mix(in srgb,var(--color-danger) 14%,transparent);border:1px solid var(--color-danger);border-radius:var(--radius-sm)}.booking-error[hidden]{display:none}.order-summary{min-width:0}.order-summary__panel{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.order-summary__header{display:grid;gap:var(--space-1)}.order-summary__title{margin:0;font-size:var(--text-xl)}.order-summary__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.order-summary__edit{font-weight:600;color:var(--color-brand-bright);text-decoration:underline;text-underline-offset:3px}.order-summary__edit:hover{color:var(--color-text)}.order-summary__items{display:grid;gap:var(--space-2);max-height:30vh;margin:0;padding:0 0 var(--space-4);overflow-y:auto;list-style:none;border-bottom:1px solid var(--color-border)}.order-summary__item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm)}.order-summary__item-name{min-width:0;color:var(--color-text)}.order-summary__item-qty{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-gold)}.order-summary__item-amount{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--color-text)}.order-summary__empty{font-size:var(--text-sm);color:var(--color-text-muted)}.order-summary__rows{display:grid;gap:var(--space-2);margin:0}.order-summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.order-summary__row dt,.order-summary__row dd{margin:0}.order-summary__row dd{flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text)}.order-summary__row--total{align-items:center;margin-top:var(--space-2);padding-top:var(--space-3);font-size:var(--text-base);font-weight:600;color:var(--color-text);border-top:1px solid var(--color-border-strong)}.order-summary__row--total dd{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);color:var(--color-gold)}.order-summary__row--deposit dd{color:var(--color-text-muted)}.order-summary__notices{display:grid;gap:var(--space-2)}.order-summary__notices[hidden]{display:none}.order-summary__notice{margin:0;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--color-text);background:var(--color-gold-soft);border:1px solid color-mix(in srgb,var(--color-gold) 40%,transparent);border-radius:var(--radius-sm)}.order-summary__notice a{font-weight:600;color:var(--color-gold);text-decoration:underline;text-underline-offset:3px}.order-summary__notice a:hover{color:var(--color-text)}.order-summary__actions{display:grid;gap:var(--space-3)}.order-summary__bar{display:none}@media(min-width:1024px){.booking-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:var(--space-6)}.order-summary{position:sticky;top:calc(var(--header-h) + var(--space-5))}.order-summary--bar .order-summary__panel{max-height:calc(100vh - var(--header-h) - 2 * var(--space-5));overflow-y:auto}}@media(min-width:1280px){.booking-layout{grid-template-columns:minmax(0,1fr) 380px;gap:var(--space-7)}}@media(max-width:1023px){.order-summary--bar{position:fixed;left:0;right:0;bottom:0;z-index:2900;display:flex;flex-direction:column-reverse;transition:transform .25s ease,visibility 0s linear 0s}.order-summary--bar .order-summary__bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:var(--booking-bar-h);padding:var(--space-2) var(--gutter-right) calc(var(--space-2) + env(safe-area-inset-bottom,0px)) var(--gutter-left);background:color-mix(in srgb,var(--color-surface) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border-strong);box-shadow:0 -8px 24px color-mix(in srgb,var(--color-bg) 55%,transparent)}.order-summary__toggle{display:grid;justify-items:start;align-content:center;gap:2px;min-width:0;min-height:48px;padding:2px var(--space-2);line-height:1.2;margin-left:calc(var(--space-2) * -1);font:inherit;text-align:left;color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.order-summary__toggle:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.order-summary__toggle-label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.order-summary__toggle-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 var(--space-3)}.order-summary__toggle-total{font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--color-gold)}.order-summary__toggle-hint{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:600;color:var(--color-text);text-decoration:underline;text-underline-offset:3px}.order-summary__chevron{transform:rotate(-90deg);transition:transform .2s ease}.order-summary--bar.is-open .order-summary__chevron{transform:rotate(90deg)}.order-summary--bar .order-summary__panel{display:none;max-height:calc(100dvh - var(--header-h) - var(--booking-bar-h) - var(--space-5));overflow-y:auto;padding:var(--space-5) var(--gutter-right) var(--space-5) var(--gutter-left);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:none}.order-summary--bar.is-open .order-summary__panel{display:grid}.order-summary--bar .order-summary__items{max-height:none}.order-summary--bar.is-open:before{content:"";position:fixed;inset:0;z-index:-1;background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.order-summary--bar .order-summary__actions,.booking-layout:has(.order-summary--bar) .booking-actions__next{display:none}.is-typing .order-summary--bar:not(.is-open),.nav-open .order-summary--bar{transform:translateY(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}body:has(.order-summary--bar) .footer{padding-bottom:calc(var(--booking-bar-h) + env(safe-area-inset-bottom,0px))}html:has(.order-summary--bar){scroll-padding-bottom:calc(var(--booking-bar-h) + env(safe-area-inset-bottom,0px) + var(--space-3))}}@media(max-width:639px){.booking-actions{flex-direction:column-reverse;align-items:stretch}.booking-actions>.btn,.booking-actions__end,.booking-actions__end>.btn{width:100%}.booking-actions__end{flex-direction:column-reverse;align-items:stretch;margin-left:0}}
