/* V0LT V18.49 — Contact input suggestions and one-row topic choices only.
   The V18.48 orange floating fields and desktop/mobile form grids stay intact. */
#ct-contact-form .ct-topic-options {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 7px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 3px;
  margin: -3px;
  box-sizing: content-box;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y pinch-zoom;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 3px;
  overscroll-behavior-x: contain;
  cursor: grab;
}
#ct-contact-form .ct-topic-options::-webkit-scrollbar { display: none; }
#ct-contact-form .ct-topic-options label {
  flex: 1 0 auto;
  min-width: 88px;
  margin: 0;
  scroll-snap-align: start;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
#ct-contact-form .ct-topic-options span {
  min-height: 46px;
  padding: 10px 19px;
  white-space: nowrap;
}
#ct-contact-form .ct-topic-options input:focus-visible + span {
  outline: 2px solid var(--v0lt-field-focus, #ff4b16);
  outline-offset: 1px;
}
#ct-contact-form .ct-topic-options.ct-topics-scrollable label { cursor: grab; }
#ct-contact-form .ct-topic-options.is-dragging {
  scroll-snap-type: none;
  cursor: grabbing;
}
#ct-contact-form .ct-topic-options.is-dragging label { cursor: grabbing; }
#ct-contact-form .ct-topic-options input:disabled + span { opacity: .65; cursor: wait; }
/* The editable combobox keeps the real floating label immediately after input.
   Suggestions overlay neighbouring fields without moving the form grid. */
#ct-contact-form .ct-email-open { z-index: 8; }
#ct-contact-form .ct-email-suggestions {
  position: absolute;
  z-index: 20;
  top: 64px;
  left: 0;
  right: 0;
  padding: 5px;
  border: 1px solid #e2d8d1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(31, 37, 43, .14);
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
#ct-contact-form .ct-email-suggestions.ct-email-above { top: auto; bottom: calc(100% + 6px); }
#ct-contact-form .ct-email-suggestions[hidden] { display: none !important; }
#ct-contact-form .ct-email-option {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px;
  gap: 0;
  border-radius: 7px;
  font: 400 16px/1.4 Inter, Arial, sans-serif;
  text-align: left;
  color: #334155;
  cursor: pointer;
}
#ct-contact-form .ct-email-option > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ct-contact-form .ct-email-option > strong {
  flex: 0 0 auto;
  font-weight: 650;
  color: var(--v0lt-field-label, #c9360a);
  white-space: nowrap;
}
#ct-contact-form .ct-email-option[aria-selected="true"] {
  background: #fff2eb;
  box-shadow: inset 3px 0 0 var(--v0lt-field-focus, #ff4b16);
}
@media (hover: hover) {
  #ct-contact-form .ct-email-option:hover { background: #fff5ef; }
}
@media (max-width: 900px) {
  #ct-contact-form .ct-topic-options label { min-width: 94px; }
  #ct-contact-form .ct-topic-options span { font-size: 16px; min-height: 48px; }
  #ct-contact-form .ct-email-option { font-size: 17px; min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  #ct-contact-form .ct-topic-options { scroll-behavior: auto; scroll-snap-type: none; }
}
