/* ═══════════════════════════════════════════════
   FLATPICKR — ÖZEL SAAT SEÇİCİ
═══════════════════════════════════════════════ */

/* Flatpickr'ın kendi saat alanını gizle */
.flatpickr-time { display: none !important; }

/* Takvimi gizleyip sadece saat listesini göster */
.flatpickr-calendar.fp-only-time .flatpickr-innerContainer,
.flatpickr-calendar.fp-only-time .flatpickr-months,
.flatpickr-calendar.fp-only-time .flatpickr-weekdays {
  display: none !important;
}
.flatpickr-calendar.fp-only-time .fp-time-list {
  margin-top: .75rem;
  border-top: 0;
  padding-top: 0;
}

/* Saat listesi kapsayıcı */
.fp-time-list {
  margin: .5rem .75rem .75rem;
  padding-top: .5rem;
  border-top: 1px solid var(--bs-border-color);
}

/* Başlık satırı: sol taraf + geri butonu */
.fp-time-list .fp-time-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .85rem;
  color: var(--bs-secondary-color);
  margin-bottom: .5rem;
  gap: .4rem;
}
.fp-time-list .fp-time-title .fp-time-left {
  display: flex;
  align-items: center;
  gap: .4rem;
}
.fp-time-list .fp-back-date {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  border-radius: .6rem;
  padding: .25rem .5rem;
  font-size: .8rem;
  line-height: 1.2;
  cursor: pointer;
}
.fp-time-list .fp-back-date:active { transform: scale(.99); }

/* Saat ızgarası */
.fp-time-list .fp-time-grid {
  max-height: 220px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .4rem;
  padding-right: .25rem;
}

/* Saat butonları */
.fp-time-list .fp-time-btn {
  border: 1px solid var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  border-radius: .6rem;
  padding: .45rem .35rem;
  font-size: .9rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .06s ease, background .12s ease, border-color .12s ease;
  user-select: none;
}
.fp-time-list .fp-time-btn:hover {
  background: var(--bs-secondary-bg);
  border-color: var(--bs-border-color-translucent);
}
.fp-time-list .fp-time-btn:active { transform: scale(.98); }
.fp-time-list .fp-time-btn.is-disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════
   GİDİŞ / DÖNÜŞ TARİH ALANI
═══════════════════════════════════════════════ */
.date-range-wrapper {
  position: relative;
}
.date-range-wrapper > .form-border-bottom {
  position: relative;
}

/* Gidiş sağ kenarı / Dönüş sol kenarı boşluk kapama */
[data-bs-theme=light] .date-range-wrapper > .form-border-bottom:first-child::after {
  content: "";
  position: absolute;
  right: 0; bottom: -1px;
  width: 14px;
  background: #fff;
  z-index: 2;
}
[data-bs-theme=dark] .date-range-wrapper > .form-border-bottom:first-child::after {
  content: "";
  position: absolute;
  right: 0; bottom: -1px;
  width: 14px;
  background: var(--bs-mode) !important;
  z-index: 2;
}
[data-bs-theme=light] .date-range-wrapper > .form-border-bottom:last-child::before {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 14px; height: 2px;
  background: #fff;
  z-index: 2;
}
[data-bs-theme=dark] .date-range-wrapper > .form-border-bottom:last-child::before {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 14px; height: 2px;
  background: var(--bs-mode) !important;
  z-index: 2;
}

/* Dönüş gizliyken Gidiş full genişlik */
#return_datetime_wrap.d-none { display: none !important; }

/* Mini görünüm (kaplama katmanı) */
.dr-wrap { position: relative; }

.dr-mini {
  position: absolute;
  left: 12px; right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
[data-bs-theme=light] .dr-mini-value {
  font-size: 1.2rem;
  font-weight: 500;
  color: rgba(0,0,0,1);
  line-height: 1.1;
  white-space: nowrap;
}
[data-bs-theme=dark] .dr-mini-value {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--bs-heading-color);
  line-height: 1.1;
  white-space: nowrap;
}

/* Mini modda input metnini gizle */
.dr-wrap.is-mini input {
  color: transparent !important;
  caret-color: transparent !important;
}
.dr-wrap.is-mini input::placeholder { color: transparent !important; }

/* ═══════════════════════════════════════════════
   KONUM İNPUTLARI (Başlangıç / Varış)
═══════════════════════════════════════════════ */
.konum-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.konum-wrapper input {
  padding-right: 28px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100% !important;
  min-width: 0;
}
.konum-temizle {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
  color: var(--bs-secondary-color);
  cursor: pointer;
  display: none;
  font-size: 0.85rem;
}
.konum-temizle:hover { color: var(--bs-danger); }
.konum-temizle.goster { display: block; }

/* ═══════════════════════════════════════════════
   GOOGLE AUTOCOMPLETE DROPDOWN
═══════════════════════════════════════════════ */
.pac-container {
  background-color: var(--bs-mode);
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow);
  font-family: var(--bs-body-font-family);
  padding: 4px 0;
  margin-top: 8px;
  z-index: 9999;
}
.pac-logo::after { display: none !important; }
.pac-icon        { display: none !important; }

.pac-item {
  padding: 5px 14px;
  font-size: 0.875rem;
  color: var(--bs-body-color);
  border-top: 1px solid var(--bs-border-color);
  cursor: pointer;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}
.pac-item:first-child { border-top: none; }
.pac-item:hover,
.pac-item-selected {
  background-color: var(--bs-primary-bg-subtle);
  color: var(--bs-heading-color);
}

.pac-item-icon {
  flex-shrink: 0;
  width: 16px; height: 16px;
  display: inline-flex;
  align-items: center;
  align-self: center;
  color: var(--bs-primary);
  margin-top: 0;
}
.pac-item-icon svg { width: 16px; height: 16px; fill: currentColor; }

.pac-item-text {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1;
}
.pac-item-query {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--bs-heading-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.pac-item-adres {
  font-size: 0.72rem;
  color: var(--bs-secondary-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  margin-top: 1px;
}

[data-bs-theme=dark] .pac-container  { background-color: var(--bs-body-bg); border-color: var(--bs-border-color); }
[data-bs-theme=dark] .pac-item       { border-color: var(--bs-border-color); }
[data-bs-theme=dark] .pac-item:hover,
[data-bs-theme=dark] .pac-item-selected { background-color: var(--bs-primary-bg-subtle); }

/* ═══════════════════════════════════════════════
   FORM VALİDASYON HATA STİLLERİ
═══════════════════════════════════════════════ */
#wrap_baslangic.hata,
#wrap_varis.hata,
#wrap_tarih.hata {
  border-bottom: 1px solid var(--bs-danger) !important;
}
#wrap_baslangic.hata input::placeholder,
#wrap_varis.hata input::placeholder,
#wrap_tarih.hata input::placeholder {
  color: var(--bs-danger) !important;
}
.konum-wrapper.hata input {
  border-bottom: 1px solid var(--bs-danger) !important;
  color: var(--bs-danger);
}
.konum-wrapper.hata input::placeholder { color: var(--bs-danger); }
.dr-wrap.hata input                    { border-bottom: 1px solid var(--bs-danger) !important; }
.dr-wrap.hata input::placeholder       { color: var(--bs-danger); }

.form-border-bottom:has(> .konum-wrapper.hata),
.konum-wrapper.hata {
  border-bottom-color: var(--bs-danger) !important;
}

.form-hata-mesaj {
  font-size: .75rem;
  color: var(--bs-danger);
  margin-top: .25rem;
  display: none;
}
.form-hata-mesaj.goster { display: block; }

[data-bs-theme=light] .date-range-wrapper > #wrap_tarih.hata::after { background: #fff; }
[data-bs-theme=dark]  .date-range-wrapper > #wrap_tarih.hata::after { background: var(--bs-mode) !important; }

/* ═══════════════════════════════════════════════
   FORM GENEL DÜZEN (booking-row)
═══════════════════════════════════════════════ */
.booking-row .h6                { line-height: 1.1; min-height: 20px; }
.booking-row .form-select,
.booking-row .form-control      { height: 44px; padding-top: .5rem; padding-bottom: .5rem; }
.booking-row .form-border-bottom { padding-bottom: .15rem; }
.booking-row .form-switch.form-switch-lg {
  display: flex;
  align-items: center;
  height: 44px;
  margin-top: .5rem;
}
.booking-row .choices__inner    { min-height: 44px !important; padding-top: .35rem !important; padding-bottom: .35rem !important; }
.booking-row .choices__list--single { padding: 0 !important; }

.form-switch.form-switch-lg .form-check-input {
  transform: scale(1.5);
  margin-left: 0;
  cursor: pointer;
}

/* ═══════════════════════════════════════════════
   SİDEBAR DÜZEN
═══════════════════════════════════════════════ */
.transfer-sidebar-wrap .bg-mode { padding: 1.25rem !important; }

.transfer-sidebar-wrap .row.g-4 > [class*="col-xl-3"],
.transfer-sidebar-wrap .row.g-4 > [class*="col-md-6"] {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
.transfer-sidebar-wrap .col-12.text-end { text-align: left !important; }
.transfer-sidebar-wrap #transfer_ara_btn { width: 100%; margin-bottom: 0 !important; }
.transfer-sidebar-wrap .mb-n7-5         { margin-bottom: 0 !important; }
