/* ===== Shared Floating Input Styles ===== */
.form-floating-custom {
  position: relative;
  margin-bottom: 1.5rem;
}

.form-floating-custom input,
.form-floating-custom select {
  height: 50px;
  width: 100%;
  border: 1px solid #ececec;
  color: var(--text-color);
  padding: 13px 18px 13px 61px;
  border-radius: 5px;
  font-size: 15px;
  appearance: none;
  background-color: white;
}

.form-floating-custom input,
.form-floating-custom .date-selector {
  height: 50px;
  width: 100%;
  border: 1px solid #ececec;
  color: var(--text-color);
  padding: 13px 18px 13px 13px;
  border-radius: 5px;
  font-size: 15px;
  appearance: none;
  background-color: white;
}

/* ===== Datepicker specific ===== */
.form-floating-custom input[type="date"],
.form-floating-custom input.datepicker {
  background-color: white; /* light background */
  color: var(--text-color); /* text color */
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* Focus state */
.form-floating-custom input[type="date"]:focus,
.form-floating-custom input.datepicker:focus {
  outline: none;
  border-color: var(--brand);
  background-color: #fff;
}

/* Hide default calendar icon */
.form-floating-custom input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
  position: absolute;
  right: 13px;
}

/* Floating label */
.form-floating-custom label {
  position: absolute;
  top: 50%;
  left: 25px;
  transform: translateY(-50%);
  color: var(--text-color);
  background: white;
  padding: 0 10px;
  transition: 0.2s;
  pointer-events: none;
}

.form-floating-custom input:focus + label,
.form-floating-custom input:not(:placeholder-shown) + label,
.form-floating-custom select:focus + label,
.form-floating-custom select:not([value=""]) + label {
  top: 0;
  font-size: 12px;
  color: var(--brand); /* label color when active */
}

/* Font Awesome icon */
.form-floating-custom .fa-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand); /* change this color to what you want */
  font-size: 16px;
  pointer-events: none;
}

.form-floating-custom .fa-icon-right {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand); /* change this color to what you want */
  font-size: 16px;
  pointer-events: none;
}

a {
  color: var(--text-color);
}

/* Custom dropdown caret for select */
.form-floating-custom select {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='6'%20viewBox='0%200%2010%206'%3E%3Cpath%20fill='var(--text-color)'%20d='M0%200l5%206%205-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 10px;
}

.location-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-top: none;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  list-style: none;
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.location-suggestions li {
  padding: 10px 15px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}

.location-suggestions li:hover {
  background-color: #f5f5f5;
}

.location-suggestions li:last-child {
  border-bottom: none;
}

.form-floating-custom .fa-calendar-icon {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--brand);
  font-size: 16px;
  pointer-events: none;
}

.form-search .date-control {
  font-size: 14px;
  color: #999999;
  border-radius: 0;
  height: 50px;
  padding-left: 18px;
  border-color: #ececec;
}
