/* GitHub booking composition, using Amelia's live controls and step lifecycle. */
.booking-flow { min-width: 0; }
.booking-progress { flex-wrap: wrap; row-gap: 20px; }
.booking-progress li { flex: 1 1 70px; }
.booking-services > label:has(input:disabled),
.booking-durations label:has(input:disabled) { cursor: not-allowed; opacity: .55; }
.booking-durations > div { flex-wrap: wrap; }
.booking-durations label { min-width: 100px; }
.chanand-booking-information { display: inline-block; margin: 20px 20px 0 0; min-height: 32px; font-size: 13px; }
.chanand-booking-selection { margin-top: 24px; }
.chanand-booking-selection > div { grid-template-columns: 1fr 1.5fr; gap: 16px; margin-bottom: 16px; }
.chanand-booking-selection dd > span { display: block; }
.chanand-booking-native-details { margin: 24px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted); }
.chanand-booking-native-details > div { padding: 8px 0; }
.chanand-booking-native-details dt { font-weight: 400; }
.chanand-booking-native-details dd { margin: 0; }
.chanand-booking-native-details > .is-selected { color: var(--ink); }
.chanand-booking-native-details[hidden] { display: none !important; }

/* The existing shortcode's Stackable column carries a -100px theme offset.
   The GitHub page already owns spacing; retain the block and its content. */
#chanand-native-booking .stk-block-column:has(#amelia-container) { margin-top: 0 !important; }

/* Remove only the old application frame. Calendar, staff/location/extras,
   required fields, notifications, payment and completion views stay native. */
#chanand-native-booking .amelia-v2-booking,
#chanand-native-booking #amelia-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
#chanand-native-booking #amelia-container {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}
#chanand-native-booking .am-fs__main,
#chanand-native-booking .am-fs__main-inner,
#chanand-native-booking .am-fs__main-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#chanand-native-booking .am-fs__main { order: 1; flex: none !important; }
#chanand-native-booking .am-fs__main-inner,
#chanand-native-booking .am-fs__main-content { overflow: visible !important; }
#chanand-native-booking .am-fs__main-heading {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#chanand-native-booking .am-heading-prev { margin: 0 0 24px !important; }

/* Mirrored provider text and eligible service cards have their original
   GitHub radio-row presentation above. No unseen native stage is suppressed. */
#chanand-native-booking[data-chanand-service-options="true"] .am-fs-service-step .am-fs__init-item { display: none !important; }
#chanand-native-booking[data-chanand-step-heading="true"] .am-fs__main-heading-inner-title { display: none !important; }
#chanand-native-booking[data-chanand-step-progress="true"] .am-progress-bar,
#chanand-native-booking[data-chanand-step-progress="true"] .am-fs-sb__step { display: none !important; }

/* Keep the real support links and post-booking Add to calendar controls,
   including their native tokens, outside the obsolete vertical navigation. */
#chanand-native-booking .am-fs-sb {
  order: 2;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#chanand-native-booking .am-fs-sb__step-wrapper {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}
#chanand-native-booking .am-fs-sb__menu { display: none !important; }
#chanand-native-booking .am-fs-sb__footer {
  position: static !important;
  inset: auto !important;
  height: auto !important;
}
#chanand-native-booking .am-fs-sb__support,
#chanand-native-booking .am-fs-sb-cs-cals {
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 24px 0 0 !important;
  padding: 24px 0 0 !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
}
#chanand-native-booking .am-fs-sb__support a,
#chanand-native-booking .am-fs-sb-cs-cals a { color: var(--ink) !important; }
#chanand-native-booking .am-fs-sb__support-heading { color: var(--muted) !important; }

/* Native continuation keeps Amelia's disabled/loading/payment behavior. */
#chanand-native-booking .am-fs__main-footer {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 40px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#chanand-native-booking .am-fs__main-footer .am-button {
  min-height: 54px !important;
  min-width: 200px;
  padding: 16px 24px !important;
  border-radius: 0 !important;
  font: 400 11px/normal Manrope, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
#chanand-native-booking .am-button-continue {
  color: var(--cream) !important;
  background: var(--accent) !important;
  border-color: var(--accent) !important;
}
#chanand-native-booking .am-button-continue:hover { background: var(--ink) !important; }
#chanand-native-booking .am-button:disabled { cursor: not-allowed; opacity: .5; }
#chanand-native-booking .am-input-wrapper,
#chanand-native-booking .el-input__wrapper,
#chanand-native-booking .el-textarea__inner,
#chanand-native-booking .el-select__wrapper,
#chanand-native-booking .am-select,
#chanand-native-booking .am-fs__init-item { border-radius: 0 !important; }
#chanand-native-booking .el-form-item__label {
  font: 400 13px/1.5 Manrope, Arial, sans-serif !important;
  color: var(--ink) !important;
}
#chanand-native-booking .el-input__wrapper {
  min-height: 50px !important;
  padding: 0 12px !important;
  background: transparent !important;
}
/* Element Plus owns the field border/focus/error state on its wrapper. */
#chanand-native-booking input.el-input__inner {
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font: 400 16px/1.5 Manrope, Arial, sans-serif !important;
}
#chanand-native-booking input[type="checkbox"] { width: auto; }

/* The source design used native date/time inputs. Amelia supplies real
   availability here; keep its calendar controls in the same square, restrained
   field style without changing disabled dates, prices or waiting-list states. */
#chanand-native-booking .am-advsc__wrapper {
  --am-c-cal-init: var(--ink) !important;
  --am-c-cal-init-text: var(--ink) !important;
  --am-c-cal-selected: var(--accent) !important;
  --am-c-cal-selected-text: var(--cream) !important;
}
#chanand-native-booking .am-advsc__header {
  position: static !important;
  margin: 0 0 20px !important;
  gap: 12px !important;
}
#chanand-native-booking .am-advsc__wrapper .fc-view-harness {
  height: auto !important;
  min-height: 0 !important;
}
#chanand-native-booking .am-advsc__wrapper .fc-view-harness-active > .fc-view {
  position: relative !important;
  inset: auto !important;
}
#chanand-native-booking .am-advsc__wrapper :is(.fc-scrollgrid, .fc-scrollgrid-sync-table, .fc-daygrid-body, .fc-scroller-harness, .fc-scroller) {
  height: auto !important;
  min-height: 0 !important;
}
#chanand-native-booking .am-advsc__wrapper :is(.fc-scroller-harness, .fc-scroller) {
  position: relative !important;
  inset: auto !important;
  overflow: visible !important;
}
/* FullCalendar's liquid layout and Amelia's absolute day frames require a
   fixed-height application. This page grows with its contents instead: keep
   each month row in flow so its real day controls size the calendar/footer. */
#chanand-native-booking .am-advsc__wrapper .fc-dayGridMonth-view :is(.fc-scrollgrid-section, .fc-scrollgrid-section > td),
#chanand-native-booking .am-advsc__wrapper .fc-daygrid-body > table > tbody > tr {
  height: auto !important;
}
#chanand-native-booking .am-advsc__wrapper .fc-daygrid-day,
#chanand-native-booking .am-advsc__slots-item { border-radius: 0 !important; }
#chanand-native-booking .am-advsc__wrapper .fc-daygrid-day-frame {
  position: relative !important;
  inset: auto !important;
  min-height: 44px !important;
  height: auto !important;
}
#chanand-native-booking .am-advsc__wrapper .fc-daygrid-day-top {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  display: flex !important;
  min-height: 44px !important;
  height: auto !important;
  align-items: center;
  justify-content: center;
}
#chanand-native-booking .am-advsc__wrapper .fc-daygrid-day-number { padding: 8px !important; font-size: 13px !important; }
#chanand-native-booking .am-advsc__wrapper .fc-col-header-cell-cushion { font: 400 12px/1.7 Manrope, Arial, sans-serif !important; color: var(--muted); }
#chanand-native-booking .am-advsc__wrapper .am-advsc__dayGridMonth-cell:not(.am-advsc__dayGridMonth-selected):not(.am-advsc__dayGridMonth-low):not(.am-advsc__dayGridMonth-high) {
  background: transparent !important;
}
#chanand-native-booking .am-advsc__wrapper .am-advsc__dayGridMonth-disabled { color: var(--muted) !important; }
#chanand-native-booking .am-advsc__slots { gap: 12px !important; }
#chanand-native-booking .am-advsc__slots-item {
  min-height: 44px !important;
  padding: 12px 16px !important;
  border: 1px solid var(--line) !important;
  font: 400 14px/1.5 Manrope, Arial, sans-serif !important;
}
#chanand-native-booking .am-advsc__slots-item:not(.am-advsc__slots-item__selected):not(.am-advsc__slots-item__low):not(.am-advsc__slots-item__high):not(.am-advsc__slots-item-waiting) { background: transparent !important; }
#chanand-native-booking .am-advsc__slots-item__selected { border-color: var(--ink) !important; background: var(--surface) !important; color: var(--ink) !important; }
#chanand-native-booking .am-advsc__slots-item-disabled { opacity: .5; cursor: not-allowed; }
#chanand-native-booking .am-advsc__slots-heading { margin: 24px 0 16px !important; font: 400 16px/1.5 Manrope, Arial, sans-serif !important; }
@media (max-width: 767px) {
  .chanand-booking-selection > div { grid-template-columns: 1fr; gap: 8px; }
  #chanand-native-booking .am-fs__main-footer .am-button { min-width: 0; flex: 1 1 auto; }
}
