.booking-lite__pet-hair-slider-label { display: block; font-size: .875rem; margin: .75rem 0; }
.booking-lite__pet-hair-slider { display: block; width: 100%; min-width: 0; accent-color: #c12846; cursor: pointer; }
.booking-lite__pet-hair-options { display: flex; justify-content: space-between; gap: .4rem; margin-top: .75rem; }
.booking-lite__pet-hair-options .booking-lite__chip > span { padding: .65rem .25rem; justify-content: center; font-size: .8rem; }

.booking-lite__pet-hair-options .booking-lite__chip > span,
.booking-lite__pet-hair-options .booking-lite__chip input:checked + span {
  border: 0;
  background: transparent;
  color: hsl(var(--foreground));
}
.booking-lite__pet-hair-options .booking-lite__chip input:checked + span {
  color: hsl(var(--accent));
  text-decoration: underline;
  text-underline-offset: .25em;
}
.booking-lite__price-summary { border-top: 1px solid hsl(var(--border)); padding-top: 1.25rem; margin: 1.5rem 0 1.25rem; min-width: 0; }
.booking-lite__price-summary dl { margin: .75rem 0; }
.booking-lite__price-row, .booking-lite__price-total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.booking-lite__price-row { margin: .5rem 0; font-size: .875rem; }
.booking-lite__price-row dt { min-width: 0; }
.booking-lite__price-row dd { margin: 0; text-align: right; }
.booking-lite__price-total { border-top: 1px solid hsl(var(--border)); padding-top: .75rem; margin-top: .75rem; flex-wrap: wrap; }
.booking-lite__price-total strong { font-size: 1.35rem; }
.booking-cal__slot-tag { display: block; margin-top: .15rem; font-size: .65rem; font-style: normal; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .75; }
.booking-cal__slot input:checked + span .booking-cal__slot-tag { color: #fff; opacity: .9; }
.booking-cal__head { flex-wrap: wrap; row-gap: .5rem; }
.booking-cal__hours-field { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; min-width: 0; max-width: 100%; }
.booking-cal__hours-label { font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; opacity: .75; }
.booking-cal__hours { max-width: 100%; padding: .4rem 2rem .4rem .6rem; border: 1px solid hsl(var(--border)); border-radius: 0; background-color: transparent; color: inherit; font: inherit; font-size: .875rem; }
.booking-cal__hours option { color: #111; }
.booking-cal__slot-group { grid-column: 1 / -1; flex-basis: 100%; width: 100%; margin: .75rem 0 .1rem; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.booking-cal__slot-group:first-child { margin-top: 0; }
.booking-cal__hours-hint { font-size: .7rem; opacity: .75; }
@media (max-width: 600px) { .booking-cal__hours-field { margin-left: 0; flex-basis: 100%; align-items: stretch; } .booking-cal__hours { width: 100%; } }
/* Page scroll over the calendar (2026-10-24): the shared bundle made the start list its own
   scroller (max-height + overflow-y:auto + overscroll-behavior-y:contain), which swallowed the
   wheel/touch over the calendar. Let the list grow and the page scroll. */
.booking-cal__slots--starts { max-height: none; overflow-y: visible; overscroll-behavior-y: auto; scroll-snap-type: none; }
