@import url('module-search-date-display.css');

/* Bus Search Form — homepage + modify search (design system aligned) */

/* ============================================
   Field Icons
   ============================================ */
.bus_form .field-icon {
  position: absolute;
  color: var(--color-text-secondary);
  z-index: 1;
  pointer-events: none;
  transition: var(--transition-all);
}

.bus_form .field-icon-right {
  right: var(--spacing-2);
  top: 20px;
  font-size: 20px;
  line-height: 1;
}

.bus_form .plcetogo:hover .field-icon-right,
.bus_form .plcetogo:focus-within .field-icon-right {
}

/* ============================================
   Form Container
   ============================================ */
.bus_form {
  float: none;
  width: var(--width-full);
  margin-top: var(--spacing-0);
  padding: var(--spacing-0);
  background: transparent;
  border-radius: var(--border-radius-none);
}

.bus_form .tabrow,
.bus_form .bus_search_row {
  float: none;
}

.tab-content.custmtab #bus.tab-pane .bus_form {
  overflow: visible;
}

/* ============================================
   Form Layout
   ============================================ */
.bus_form .bus_search_row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 0.95fr) minmax(148px, 168px);
  align-items: stretch;
  width: var(--width-full);
  background: var(--color-bg-primary);
  border: var(--border-width-thin) var(--border-style-solid) var(--border-color-medium);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
}

.bus_form .bus_field_col {
  display: flex;
  min-width: 0;
  position: relative;
  align-items: stretch;
}

.bus_form .bus_field_col:not(:last-child) {
  border-right: var(--border-width-thin) var(--border-style-solid) var(--border-color-medium);
}

.bus_form .bus_field_inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: var(--width-full);
  min-height: var(--spacing-20);
  height: var(--spacing-20);
  position: relative;
  padding: var(--spacing-0);
  box-sizing: border-box;
}

/* ============================================
   Labels
   ============================================ */
.bus_form .lablform,
.tab-content.custmtab #bus.tab-pane .bus_form .lablform {
  position: absolute !important;
  top: var(--spacing-2) !important;
  left: var(--spacing-3) !important;
  right: auto !important;
  margin: var(--spacing-0) !important;
  padding: var(--spacing-0) !important;
  font-family: var(--font-family-base);
  font-size: 11px !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-text-secondary) !important;
  line-height: 1 !important;
  pointer-events: none;
  z-index: 2;
}

/* ============================================
   Input Fields
   ============================================ */
.bus_form .plcetogo {
  display: flex;
  align-items: center;
  width: var(--width-full);
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  margin: var(--spacing-0);
  padding: var(--spacing-6) var(--spacing-8) var(--spacing-3) var(--spacing-3) !important;
  box-sizing: border-box;
}

.bus_form .normalinput,
.bus_form .plcetogo input.normalinput,
.bus_form .plcetogo .form-control {
  float: none !important;
  width: var(--width-full) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: var(--spacing-0) !important;
  margin: var(--spacing-0) !important;
  border: var(--border-width-none) !important;
  background: transparent !important;
  box-shadow: var(--shadow-none) !important;
  border-radius: var(--border-radius-none) !important;
  font-family: var(--font-family-base);
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  color: var(--color-text-primary) !important;
  line-height: 1.2 !important;
  position: relative !important;
  top: var(--spacing-0) !important;
  left: var(--spacing-0) !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
  transition: var(--transition-all);
}

.bus_form .normalinput::placeholder {
  color: var(--color-text-muted);
  font-weight: var(--font-weight-normal);
}

.bus_form .normalinput:focus {
  outline: none;
  box-shadow: none;
}

/* ============================================
   Search Button
   ============================================ */
.bus_form .bus_field_col--submit .bus_field_inner {
  padding: var(--spacing-0);
  min-height: var(--spacing-20);
  height: var(--spacing-20);
}

.bus_form .bus_search_btn_wrap {
  width: var(--width-full);
  height: var(--height-full);
  display: flex;
  align-items: stretch;
}

.bus_form .bus_search_btn,
.bus_form .bus_search_btn.searchsbmt {
  width: var(--width-full);
  height: var(--height-full);
  border: var(--border-width-none) !important;
  border-radius: var(--border-radius-none) !important;
  margin: var(--spacing-0);
  background: linear-gradient(135deg, var(--gradient-orange-start) 0%, var(--gradient-orange-mid) 50%, var(--gradient-orange-end) 100%) !important;
  background-size: 200% 200% !important;
  color: var(--color-white) !important;
  font-family: var(--font-family-base);
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-semibold) !important;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px var(--shadow-orange-default) !important;
  text-transform: capitalize;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
}

.bus_form .bus_search_btn:hover,
.bus_form .bus_search_btn.searchsbmt:hover {
  background-position: right center !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--shadow-orange-hover) !important;
}

.bus_form .bus_search_btn:active,
.bus_form .bus_search_btn.searchsbmt:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px var(--shadow-orange-active) !important;
}

/* ============================================
   Alerts
   ============================================ */
.bus_form .alert-box {
  margin-top: var(--spacing-3);
  color: var(--color-text-danger);
  font-family: var(--font-family-base);
  font-size: var(--font-size-sm);
}

.bus_form .alert-box.hide {
  display: none;
}

/* ============================================
   Responsive
   ============================================ */
@media (max-width: 991px) {
  .bus_form .bus_search_row {
    grid-template-columns: 1fr 1fr;
  }

  .bus_form .bus_field_col--date {
    border-right: none !important;
  }

  .bus_form .bus_field_col--submit {
    grid-column: 1 / -1;
    border-top: var(--border-width-thin) var(--border-style-solid) var(--border-color-medium);
  }

  .bus_form .bus_field_col--submit .bus_field_inner,
  .bus_form .bus_search_btn {
    border-radius: var(--border-radius-none) var(--border-radius-none) var(--border-radius-lg) var(--border-radius-lg) !important;
  }
}

@media (max-width: 575px) {
  .bus_form .bus_search_row {
    grid-template-columns: 1fr;
  }

  .bus_form .bus_field_col:not(:last-child) {
    border-right: none !important;
    border-bottom: var(--border-width-thin) var(--border-style-solid) var(--border-color-medium);
  }

  .bus_form .bus_field_inner,
  .bus_form .bus_field_col--submit .bus_field_inner {
    min-height: var(--size-2xl);
    height: var(--size-2xl);
  }

  .bus_form .plcetogo {
    padding: var(--spacing-5) var(--spacing-10) var(--spacing-2) var(--spacing-3) !important;
  }

  .bus_form .field-icon-right {
    font-size: var(--icon-size-md);
  }

  .bus_form .lablform,
  .tab-content.custmtab #bus.tab-pane .bus_form .lablform {
    font-size: 10px !important;
    top: var(--spacing-1) !important;
  }

  .bus_form .normalinput,
  .bus_form .plcetogo input.normalinput,
  .bus_form .plcetogo .form-control {
    font-size: var(--font-size-sm) !important;
  }
}
