.booking-ages, .booking-terms {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.booking-ages { margin-top: 8px; }
.booking-ages summary { padding: 9px 12px; color: var(--text); cursor: pointer; }
.booking-ages-copy { padding: 0 12px 12px; }
.booking-ages ul { margin: 0 0 8px; padding-inline-start: 18px; }
.booking-ages li + li { margin-top: 4px; }
.booking-ages p, .booking-terms-copy p { margin: 0; }
.booking-terms summary { padding: 12px; color: var(--cyan); font-weight: 700; cursor: pointer; }
.booking-terms-copy { padding: 0 12px 12px; }
.booking-terms-copy p + p, #bookingTermsSunrise:not([hidden]) + p { margin-top: 8px; }
.booking-consent { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; font-size: 13px; line-height: 1.5; }
.booking-consent input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cyan); }
.booking-consent label { display: inline; cursor: pointer; }
.booking-terms-link { color: var(--cyan); text-decoration: underline; border: 0; padding: 0; background: transparent; font: inherit; cursor: pointer; }
.booking-schedule-note { margin: 6px 0 10px; color: var(--muted); font-size: 11px; line-height: 1.4; letter-spacing: -0.15px; }
#checkoutUnavailable { margin-bottom: 14px; }
.booking-consent[hidden], .booking-total[hidden] { display: none; }
#bookingTermsSunrise ul { margin: 6px 0 8px; padding-inline-start: 20px; }
