/* Scoped additions; the existing salon stylesheet remains the visual base. */
.stickyReserve.bookingSingle { grid-template-columns: 1fr; }
.stickyReserve.bookingSingle a:last-child { color: var(--ink, #211711); background: var(--turmeric, #f4b13d); font-size: 16px; font-weight: 700; }
.landingBooking { display: grid; place-items: center; padding-block: 64px; }
.landingBooking .button { min-width: min(340px, 100%); }
.bookingFunnelPage { min-height: 100svh; }
.bookingFunnelHeader { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.bookingFunnelLogo { display: block; width: clamp(148px, 22vw, 220px); }
.bookingFunnelLogo img { width: 100%; height: auto; }
.bookingFunnelBack { color: var(--emerald, #0e3d36); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.bookingFunnelMain { width: min(1040px, calc(100% - 40px)); margin: 0 auto; padding: 32px 0 64px; }
.bookingFunnelMain h1 { margin: 0 0 28px; font-family: 'Zen Old Mincho', 'Yu Mincho', serif; font-size: clamp(26px, 4.8vw, 44px); line-height: 1.5; }
.bookingQuestionMain { min-height: calc(100svh - 150px); display: grid; align-content: center; justify-items: center; padding-bottom: 100px; text-align: center; }
.bookingQuestionMain h1 { margin-bottom: 32px; }
.bookingPersonChoices { width: min(680px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bookingPersonChoices .button { min-height: 104px; padding: 22px; font-size: clamp(22px, 4vw, 30px); }
.bookingPersonChoices .buttonGhost { color: var(--emerald, #0e3d36); border: 2px solid var(--emerald, #0e3d36); background: var(--paper, #fffaf0); }
.bookingFunnelMain > .bookingCard { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); grid-template-rows: auto; }
.bookingFunnelMain > .bookingCard > img { height: 100%; min-height: 360px; }
.bookingFunnelMain .bookingCard h3 { line-height: 1.45; }
.bookingFunnelMain .bookingActions { margin-top: auto; padding-top: 18px; }
.bookingFunnelMain .bookingRequest { margin-top: 28px; }
.bookingFunnelPage a:focus-visible, .bookingSingle a:focus-visible { outline: 3px solid var(--coral, #d75f3f); outline-offset: 5px; }
@media (max-width: 700px) {
  .bookingFunnelHeader, .bookingFunnelMain { width: calc(100% - 28px); }
  .bookingFunnelHeader { padding: 18px 0; }
  .bookingFunnelMain { padding-top: 20px; }
  .bookingQuestionMain { padding-bottom: 80px; }
  .bookingPersonChoices { grid-template-columns: 1fr; gap: 14px; max-width: 390px; }
  .bookingPersonChoices .button { min-height: 84px; }
  .bookingFunnelMain > .bookingCard { grid-template-columns: 1fr; }
  .bookingFunnelMain > .bookingCard > img { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .bookingFunnelMain .bookingRequest { grid-template-columns: 1fr; }
  .bookingFunnelMain .bookingRequestForm { grid-template-columns: 1fr; }
}
