.booking-step.hidden {
  display: none;
}

.slot-option[data-selected="true"] {
  border-color: rgb(16 185 129); /* emerald-500 */
  color: rgb(4 120 87);
  background-color: rgb(236 252 245);
}

.tw-chip {
  padding: 0.35rem 0.75rem;
  font-size: 0.75rem;
  border-radius: 9999px;
}

[data-step-panel="4"] .tw-chip {
  padding: 0.3rem 0.6rem;
  font-size: 0.72rem;
}

.slot-option {
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
}

#booking-alert[data-variant="error"] {
  border-color: rgb(248 113 113);
  background-color: rgb(254 242 242);
  color: rgb(185 28 28);
}

#booking-alert[data-variant="success"] {
  border-color: rgb(52 211 153);
  background-color: rgb(236 252 245);
  color: rgb(4 120 87);
}

#booking-success {
  border-color: rgb(52 211 153);
  color: rgb(4 120 87);
}

#submit-booking-btn.is-disabled {
  opacity: 0.65;
}

#cancel-results > .empty-placeholder {
  border: 1px dashed rgb(148 163 184);
  border-radius: 0.75rem;
  padding: 1rem;
  color: rgb(71 85 105);
  font-size: 0.875rem;
}


#cancel-captcha-wrapper,
#cancel-captcha-wrapper-modal,
#cancel-captcha-wrapper-lookup,
#booking-captcha-wrapper {
  display: none;
  max-width: 100%;
  overflow-x: auto;
  padding-top: 0.25rem;
}

#cancel-captcha-wrapper.active,
#cancel-captcha-wrapper-modal.active,
#cancel-captcha-wrapper-lookup.active,
#booking-captcha-wrapper.active {
  display: block;
}

@media (max-width: 480px) {
  #booking-captcha-wrapper .g-recaptcha,
  #cancel-captcha-wrapper-modal .g-recaptcha,
  #cancel-captcha-wrapper-lookup .g-recaptcha {
    transform: scale(0.88);
    transform-origin: left top;
  }

  #booking-captcha-wrapper .g-recaptcha iframe,
  #cancel-captcha-wrapper-modal .g-recaptcha iframe,
  #cancel-captcha-wrapper-lookup .g-recaptcha iframe {
    transform: scale(0.88);
    transform-origin: 0 0;
  }
}

.tw-step[disabled], .tw-step.tw-step-disabled { opacity: 0.4; pointer-events: none; }
.tw-chip.disabled { opacity: 0.4; pointer-events: none; }

/* Force toast position to top-right across environments */
#toast-root {
  position: fixed !important;
  top: 1rem !important;
  right: 1rem !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 9999 !important;
}
