/* ==========================================================================
   GAZALI AVIATION — teklif.css
   Yalniz /teklif sayfasinda eslesen kurallar.
   Ortak katman main.css'tedir; bu dosya ONUN USTUNE biner.
   ========================================================================== */

.btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* --------------------------------------------------------------------------
   14. Teklif sihirbazı
   -------------------------------------------------------------------------- */
/* ⚠ overflow: hidden YOK (2026-09-23): köşe yuvarlamasını kırpmak için
     duruyordu ama kalkış/varış kutusunun havalimanı listesini de KIRPIYORDU
     — 10 öneri + "Listede yok" 1. adımın altına taşar ve sihirbazın alt
     kenarında kesilirdi. Köşeleri artık şeridin ve alt çubuğun KENDİ
     yuvarlaması tutar (dış yarıçap − 1px kenarlık).
   ⚠ position + z-index: açılan liste sihirbazın ALTINDAKİ kartların
     (.reveal) üstünde kalsın. */
.wizard {
  position: relative;
  z-index: 2;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.wizard__steps {
  display: flex;
  gap: 0;
  padding: 1.25rem clamp(1.25rem, 3vw, 2.5rem);
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  border-start-start-radius: calc(var(--radius-lg) - 1px);
  border-start-end-radius: calc(var(--radius-lg) - 1px);
  overflow-x: auto;
}

.wizard__step {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding-inline-end: 1.25rem;
  flex-shrink: 0;
}

.wizard__step:not(:last-child)::after {
  content: "";
  width: clamp(1rem, 4vw, 3rem);
  height: 1px;
  background: var(--line-strong);
  margin-inline-start: 0.25rem;
}

.wizard__num {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--slate-500);
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  flex-shrink: 0;
  transition: all 0.25s var(--ease);
}

.wizard__label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--slate-500);
  white-space: nowrap;
  transition: color 0.25s var(--ease);
}

.wizard__step.is-active .wizard__num {
  color: var(--navy-950);
  background: var(--gold-500);
  border-color: var(--gold-500);
}

.wizard__step.is-active .wizard__label {
  color: var(--ink);
  font-weight: 600;
}

.wizard__step.is-done .wizard__num {
  color: var(--white);
  background: var(--navy-700);
  border-color: var(--navy-700);
}

.wizard__panels {
  padding: clamp(1.75rem, 3.5vw, 3rem);
}

.wizard__panel {
  display: none;
}

.wizard__panel.is-active {
  display: block;
  animation: fadeUp 0.35s var(--ease);
}

/* ⚠ h2 de kapsıyor: form bölüm başlıkları h3'ten h2'ye çevrildi
   (h1'den hemen sonra geldikleri için h1=>h3 atlaması yapıyorlardı).
   Görünüm aynı kalsın diye eski seçici de duruyor. */
.wizard__panel h2,
.wizard__panel h3 {
  margin-bottom: 0.5rem;
}

.wizard__panel > p {
  margin-bottom: 2rem;
  color: var(--slate-600);
}

.wizard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem clamp(1.25rem, 3vw, 2.5rem);
  background: var(--paper);
  border-top: 1px solid var(--line);
  border-end-start-radius: calc(var(--radius-lg) - 1px);
  border-end-end-radius: calc(var(--radius-lg) - 1px);
}

/* Seçenek düğmeleri (segment) */
.segment {
  display: inline-flex;
  padding: 4px;
  background: var(--paper-2);
  border-radius: var(--radius-pill);
}

.segment button {
  padding: 0.55rem 1.4rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--slate-600);
  background: transparent;
  border: 0;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: all 0.22s var(--ease);
}

.segment button.is-active {
  color: var(--navy-950);
  background: var(--white);
  font-weight: 600;
  box-shadow: var(--shadow-sm);
}

/* ⚠ KART SEÇİMİ (.choice / .choice-grid) ve fieldset sıfırlaması
     (.secim-alan) secim.css'TE (2026-09-23): satış ve motor talep formları da
     aynı kartları kullanıyor; bileşen tek dosyada, TeklifModel onu bu
     dosyadan ÖNCE yükler. Aşağıda yalnız sihirbaza özgü üstyazımlar kalır. */

/* Kiralama türü (1. adım, ZORUNLU) — fieldset.secim-alan içinde radyo kartları. */
.tur-secim {
  margin: 0 0 1.75rem;
}

/* ⚠ SÜTUN SAYISI AÇIK: 2, auto-fit DEĞİL (2026-09-23). auto-fit sütun
     sayısını sihirbazın genişliğine bırakıyordu: 11rem'le 1280 px'te, 13rem'le
     780–1100 px arasında üç kart sığıyor ve dördüncü tür (Uzun dönem ve
     ACMI) satırda TEK BAŞINA kalıyordu — 3+1 (bağımsız doğrulayıcı ölçtü).
     Dört tür için doğru dizilim her genişlikte 2 × 2; dar ekranda tek sütun.
     Tür sayısı KIRALAMA_TURLERI'nden gelir: değişirse (3 ya da 5) burası
     2+1 / 2+2+1 verir — o gün yeniden bakılmalı. */
.tur-secim .choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 480px) {
  .tur-secim .choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Özet */
.summary {
  display: grid;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  background: var(--paper);
  border-radius: var(--radius);
}

.summary__row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.9375rem;
}

.summary__row dt {
  color: var(--slate-500);
}

.summary__row dd {
  font-weight: 600;
  text-align: end;
}

/* ---- 768 ve altı ---- */
@media (max-width: 768px) {

  .wizard__foot {
    flex-wrap: wrap;
  }
}


/* ---- 480 ve altı ---- */
@media (max-width: 480px) {

  .wizard__steps,
  .wizard__foot {
    padding-inline: 1.375rem;
  }
}


/* ---- 390 ve altı ---- */
@media (max-width: 390px) {

  .wizard__step:not(.is-active) .wizard__label {
    display: none;
  }

  .segment button {
    padding-inline: 1rem;
    font-size: 0.875rem;
  }
}


/* ---- 320 ---- */
@media (max-width: 340px) {

  .wizard__steps,
  .wizard__foot {
    padding-inline: 1.125rem;
  }

  .summary__row {
    flex-direction: column;
    gap: 0.15rem;
  }

  .summary__row dd {
    text-align: start;
  }
}
