/* Roadmap-only layout: keep the shared booking families unchanged. */
.roadmap-booking [hidden] { display:none !important; }
.roadmap-booking .booking-details div { min-width:0; font-size:.875rem; }
.roadmap-booking .booking-details .booking-timezone { flex-direction:column; gap:8px; }
.roadmap-booking .booking-details .booking-timezone dd { min-width:0; text-align:left; }
.roadmap-booking .booking-details select { width:100%; max-width:100%; min-height:48px; font-size:1rem; }
.roadmap-booking .booking-details small { max-width:none; font-size:.75rem; }
.roadmap-booking .eyebrow,.roadmap-booking .privacy { font-size:.75rem; }
.roadmap-booking .helper,.roadmap-booking label,.roadmap-booking .booking-times-heading { font-size:.875rem; }
.roadmap-booking .calendar-month { font-size:1rem; }
.roadmap-booking .calendar-weekday { font-size:.75rem; }
.roadmap-booking .calendar-nav { width:44px; height:44px; flex-shrink:0; font-size:1.5rem; }
.roadmap-booking .calendar-day { min-height:44px; font-size:.875rem; }
.roadmap-booking .booking-slot { min-height:48px; padding:10px 12px; font-size:1rem; }
.roadmap-booking input,.roadmap-booking textarea { min-width:0; font-size:1rem; line-height:1.5; }
.roadmap-booking input { min-height:48px; }
.roadmap-booking textarea { min-height:100px; }
.roadmap-booking button,.roadmap-booking select { touch-action:manipulation; }
.roadmap-booking button:focus-visible,.roadmap-booking select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.roadmap-booking .selected-time,.roadmap-booking .form-message { font-size:1rem; overflow-wrap:anywhere; }
.roadmap-booking button[type="submit"] { min-height:50px; font-size:1rem; }
.roadmap-booking .booking-intro { overflow-wrap:anywhere; }
@media (max-width:900px) {
  .roadmap-booking .booking-shell { padding:20px 12px max(32px,env(safe-area-inset-bottom)); }
  .roadmap-booking .booking-card { grid-template-columns:1fr; margin-top:20px; }
  .roadmap-booking .booking-intro { padding:24px 20px; border-right:0; border-bottom:1px solid var(--line); }
  .roadmap-booking h1 { font-size:clamp(2rem,7.5vw,2.5rem); line-height:1.12; letter-spacing:-.035em; }
  .roadmap-booking .booking-details { margin-top:20px; padding-top:18px; gap:10px; }
  .roadmap-booking .booking-flow { padding:24px 16px; }
  .roadmap-booking .booking-step { grid-template-columns:28px minmax(0,1fr); gap:12px; margin-bottom:24px; padding-bottom:24px; }
  .roadmap-booking .booking-step > div:last-child { display:contents; }
  .roadmap-booking .booking-step h2 { align-self:center; font-size:1.125rem; }
  .roadmap-booking .booking-step > div:last-child > :not(h2) { grid-column:1 / -1; }
  .roadmap-booking .helper { margin:0; }
  .roadmap-booking .month-calendar { margin-top:0; padding:8px; }
  .roadmap-booking .calendar-weekdays,.roadmap-booking .calendar-grid { gap:3px; }
  .roadmap-booking .calendar-toolbar { margin-bottom:10px; }
  .roadmap-booking .booking-times-panel { margin:0; }
  .roadmap-booking .booking-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .roadmap-booking .booking-slot { width:100%; }
  .roadmap-booking form { margin:0; gap:16px; }
  .roadmap-booking .field-row { grid-template-columns:1fr; }
  .roadmap-booking button[type="submit"] { justify-self:stretch; width:100%; }
  .roadmap-booking .form-message:empty { display:none; }
  .roadmap-booking .privacy { font-size:.8125rem; line-height:1.6; }
}
@media (max-width:360px) {
  .roadmap-booking .booking-flow { padding-inline:12px; }
  .roadmap-booking .month-calendar { padding-inline:3px; }
  .roadmap-booking .calendar-weekdays,.roadmap-booking .calendar-grid { gap:2px; }
}
