@charset "UTF-8";
/* Booking form (/{shop}/booking) and reservation page. Uses the form styles of takeout.css (to-*);
   these are the booking-only parts. Design-system tokens only. */

.bk-wrap{ max-width:760px; }
.bk-head{ display:flex; flex-direction:column; gap:4px; }
.bk-head__kicker{ font:var(--weight-bold) var(--text-sm)/1 var(--font-display); color:var(--ganesh-orange-700); letter-spacing:0.08em; }
.bk-head .to-help a{ font-weight:var(--weight-bold); }

/* Plan cards */
.bk-plans{ display:grid; gap:10px; }
.bk-plan{ display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:14px 16px; border-radius:var(--radius-lg); border:2px solid var(--border-subtle); background:var(--surface-card); text-align:left; font:inherit; color:inherit; cursor:pointer; transition:all var(--dur-fast) var(--ease-out); }
.bk-plan:hover{ border-color:var(--ganesh-orange-300); background:var(--ganesh-orange-050); }
.bk-plan__radio{ width:24px; height:24px; border-radius:50%; border:2px solid var(--border-strong); display:grid; place-items:center; color:transparent; }
.bk-plan__radio .g-icon{ width:14px; height:14px; stroke-width:3.2; }
.bk-plan__body{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.bk-plan__tag{ align-self:flex-start; padding:1px 10px; border-radius:var(--radius-pill); background:var(--action-primary-bg); color:var(--ganesh-paper); font:var(--weight-bold) var(--text-2xs)/1.5 var(--font-display); }
.bk-plan__name{ font:var(--weight-heavy) var(--text-base)/1.3 var(--font-display); color:var(--text-heading); }
.bk-plan__sub{ font:var(--type-small); color:var(--text-muted); }
.bk-plan__price{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; white-space:nowrap; font:var(--type-caption); color:var(--text-muted); }
.bk-plan__price strong{ font:var(--weight-bold) var(--text-xl)/1 var(--font-latin-display); color:var(--text-price); }
.bk-plan--hero .bk-plan__name{ font-size:var(--text-md); }
.bk-plan[aria-checked="true"]{ border-color:var(--action-secondary-bg); background:var(--ganesh-green-050); box-shadow:0 0 0 2px var(--action-secondary-bg); }
.bk-plan[aria-checked="true"] .bk-plan__radio{ background:var(--action-secondary-bg); border-color:var(--action-secondary-bg); color:var(--ganesh-paper); }
@media (max-width:420px){
  .bk-plan{ grid-template-columns:26px minmax(0,1fr); }
  .bk-plan__price{ grid-column:2; flex-direction:row; align-items:baseline; gap:6px; }
}
.bk-biryani{ margin-top:4px; background:var(--ganesh-yellow-100); border-color:var(--ganesh-yellow-400); }

/* Guests */
.bk-guests{ display:flex; align-items:center; gap:10px; }
.bk-guests__unit{ font:var(--weight-bold) var(--text-base)/1 var(--font-display); color:var(--text-heading); }

/* Dates: one scrolling row of chips (30 days) */
.bk-dates{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; padding:2px 2px 8px; scroll-snap-type:x proximity; }
.bk-date{ flex:none; min-width:118px; scroll-snap-align:start; }
.bk-date.is-weekend .to-choice__main{ color:var(--ganesh-red-600); }
.bk-date.is-weekend[aria-checked="true"] .to-choice__main{ color:var(--ganesh-green-800); }

/* Summary */
.bk-summary{ display:flex; flex-direction:column; }
.bk-summary__total{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; padding-top:12px; font:var(--weight-bold) var(--text-base)/1.3 var(--font-display); color:var(--text-heading); }
.bk-summary__total strong{ font:var(--weight-black) var(--text-2xl)/1 var(--font-latin-display); color:var(--text-price); }
.bk-summary__total .to-help{ flex-basis:100%; }
