/* =========================================================
   ARAMA SAYFASI — Yerel Stil (v1.1)
   ========================================================= */

/* Slogan (UA h1 değişikliği uyarısı için explicit boyutlar) */
.hero-slogan { text-align:center; margin-bottom:1.5rem; padding:0 1rem; }
.hero-slogan .slogan { font-weight:700; line-height:1.3; color: var(--h-color, var(--primary-color)); margin:0; }
.hero-slogan h1.slogan-desktop{ font-size:2.25rem; line-height:1.2; font-weight:800; margin:0 0 1rem; display:block; }
.hero-slogan h2.slogan-mobile { font-size:1.375rem; line-height:1.3; font-weight:700; margin:0; display:none; }
@media (max-width: 992px){
  .hero-slogan h1.slogan-desktop{ display:none; }
  .hero-slogan h2.slogan-mobile{ display:block; }
}

/* ================== HERO SEARCH — FINAL ================== */

/* Kapsayıcı ve kart */
.hero-search{ background:transparent; border:0; padding:0; }
.hero-search .search-shell{ max-width:100%; margin:0; padding:0; background:transparent; border:0; box-shadow:none; }
.hero-search .search-form{
  position:relative; z-index:1;
  background: var(--card-bg);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: clamp(12px, 2vw, 20px);
  font-size:16px; line-height:1.5;
  overflow: visible; /* fab görünür kalsın */
}

/* Grid — masaüstü */
.hero-search .search-grid{
  --gap: 12px;
  display:grid; align-items:center; gap:var(--gap);
  grid-template-columns:
    minmax(220px,1.2fr) 56px minmax(220px,1.2fr)
    minmax(140px,.55fr) minmax(170px,.7fr) minmax(170px,.7fr) auto;
}
.hero-search .search-grid > *{ min-width:0; }
.hero-search .switch-wrap{ display:flex; align-items:center; justify-content:center; }

/* Daha geniş ekranlar */
@media (min-width:1400px){
  .hero-search .search-grid{
    grid-template-columns:
      minmax(300px,1.35fr) 60px minmax(300px,1.35fr)
      180px minmax(240px,.9fr) minmax(240px,.9fr) auto;
  }
}

/* Etiket / ikon */
.hero-search .form-label{ color: var(--text-color); font-weight:600; font-size:.92rem; letter-spacing:.2px; margin-bottom:.4rem; }
.hero-search .label-pill{ border:0; background:transparent; padding:0; gap:.45rem; font-weight:600; font-size:.9rem; color: var(--text-color); }
.hero-search .form-icon-wrap{ position:relative; }
.hero-search .form-icon{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); font-size:1.15rem; opacity:.9; pointer-events:none; }

/* Form öğeleri */
.hero-search .form-control,
.hero-search .input-group .form-control,
.hero-search .form-select{
  background: var(--card-bg) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-color) !important;
  height: 48px; border-radius: 12px; box-shadow:none !important; min-width:0;
}
.hero-search .form-control::placeholder{ color: color-mix(in oklab, var(--muted-text-color) 80%, transparent); opacity:1; }
.hero-search .form-control.ps-5{ padding-left: 2.6rem !important; }
.hero-search .form-control:focus,
.hero-search .form-select:focus{
  border-color: var(--accent-color) !important;
  box-shadow: 0 0 0 0.2rem color-mix(in oklab, var(--accent-color) 35%, transparent) !important;
  outline: none;
}

/* Kişi sayısı */
.hero-search .number-input{ display:flex; align-items:center; gap:0; width:100%; max-width:260px; }
.hero-search .number-input .btn-people{
  height:48px !important; min-width:44px !important; padding:0 !important;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border-color) !important; background: var(--card-bg);
}
.hero-search .number-input .form-control{
  height:48px !important; text-align:center;
  border-inline:0 !important; border-top:1px solid var(--border-color) !important; border-bottom:1px solid var(--border-color) !important;
}
.hero-search input[type=number]{ appearance:textfield; -webkit-appearance:none; }
.hero-search input[type=number]::-webkit-outer-spin-button,
.hero-search input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Tarih disabled */
.hero-search #id_donus_datetime[disabled]{
  background: var(--bg-color) !important; color: var(--muted-text-color) !important;
  cursor:not-allowed; pointer-events:none;
}

/* Ara CTA – kontrast uyumlu */
.hero-search .btn-search{
  background: #008C7A; color:#fff; font-weight:700;
  border: none; border-radius: 12px;
  padding-inline: 1.25rem; height: 48px;
  box-shadow: 0 8px 22px rgba(0, 140, 122, .25);
  transition: transform .08s ease, filter .2s ease, box-shadow .2s ease;
}
.hero-search .btn-search:hover{ background:#00997F; box-shadow:0 10px 26px rgba(0,140,122,.32); filter:brightness(1.05); }
.hero-search .btn-search:active{ transform: translateY(1px); }
.hero-search .btn-search:focus-visible{ outline:3px solid color-mix(in oklab, #008C7A 35%, transparent); outline-offset:2px; }

/* Switch butonu (masaüstü) */
.hero-search #switch-addresses.btn-switch{
  width:48px; height:48px; border-radius:50%;
  background: var(--card-bg); border:1px solid var(--border-color);
  display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow);
  transition: transform .08s ease, box-shadow .2s ease, filter .2s ease;
  transform: translateY(2px); /* küçük terazileme */
}
.hero-search #switch-addresses.btn-switch i{ font-size:1.1rem; color: var(--muted-text-color); }
.hero-search #switch-addresses.btn-switch:hover{ box-shadow:0 10px 28px rgba(0,0,0,.12); filter:brightness(1.03); }
.hero-search #switch-addresses.btn-switch:active{ transform: translateY(2px) scale(.96); }

/* === Ortak değişkenler (mobil hesaplamalar) === */
:root{
  --control-h: 48px;   /* input/buton yüksekliği */
  --fab-size: 44px;    /* switch butonu çapı */
  --fab-gap: 12px;     /* iki adres alanı arasındaki boşluk */
}

/* Tablet/dar masaüstü – taşma koruması */
@media (max-width: 1400px){
  .hero-search .search-grid{
    --gap: 10px;
    grid-template-columns:
      minmax(220px,1fr) 56px minmax(220px,1fr)
      minmax(120px,.6fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;
  }
}
@media (max-width: 1200px){
  .hero-search .search-grid{
    --gap: 10px;
    grid-template-columns:
      minmax(200px,1fr) 52px minmax(200px,1fr)
      minmax(110px,.55fr) minmax(170px,.75fr) minmax(170px,.75fr) auto;
  }
}

/* === Mobil düzen === */
@media (max-width: 992px){
  .hero-search .search-form{ padding:12px; border-radius:16px; }
  .hero-search .search-grid{
    --gap: 8px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "start" "switch" "end" "people" "depart" "return" "action";
    row-gap: var(--gap);
  }
  .hero-search .search-grid .search-field-wrap:nth-of-type(1){ grid-area:start; }

  /* Switch taşıyıcı satır yer kaplamasın */
  .hero-search .search-grid .switch-wrap{
    grid-area: switch;
    position: relative;
    height: 0; margin: 0;
  }

  /* Switch butonu iki adres alanının tam ORTASINDA */
  .hero-search #switch-addresses.btn-switch{
    position: absolute !important;
    left: 50%; top: 0;
    transform: translate(-50%, calc(-0.5 * var(--fab-size) - -15px));
    z-index: 5;
    width: var(--fab-size); height: var(--fab-size);
    border-radius: 50%;
    background: var(--card-bg, #fff);
    border: 1.5px solid var(--border-color, #e5e7eb);
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
  }

  /* Kişi ve tarih alanları tam genişlik */
  .hero-search .people-field .number-input{ max-width:none; width:100%; }

  /* Ara butonu: tam genişlik */
  .hero-search .btn-search{ width:100%; justify-content:center; }
}



/* Autocomplete / Flatpickr üstte kalsın */
.autocomplete-list{ z-index: 1055; }

/* Erişilebilirlik: focus görünür kıl */
.hero-search .form-check-input:focus{
  box-shadow: 0 0 0 .15rem color-mix(in oklab, var(--accent-color) 25%, transparent);
}

/* Hareket azalt */
@media (prefers-reduced-motion: reduce){
  .hero-search *{ transition:none !important; animation:none !important; }
}



/* Chip/pill */
.feature-chip{
  color: #0A7A2E;                   /* koyu metin */
  background: #E6F4F1;              /* açık yeşil zemin */
  border: 1px solid #B9E2DB;
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  line-height: 1.25;
  gap: .45rem;
}
.feature-chip i{ color: currentColor; }

/* Dark mode için ters palet */
@media (prefers-color-scheme: dark){
  .feature-chip{
    color: #0D2B23;                 /* koyu metin (açık chip üstünde) */
    background: #9EF4D8;            /* açık chip rengi */
    border-color: #74e0c7;
  }
}


/* =========================================================
   Info Columns (Güvenli Ödeme / Hızlı Rezervasyon / 7/24 Destek)
   ========================================================= */
.info-col {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1rem;
  border-radius: var(--radius-lg);
  background: var(--surface);
  border: 1px solid var(--bd-soft);
  box-shadow: var(--shadow-sm);
  height: 100%;
  transition: transform .2s ease, box-shadow .25s ease;
  text-align: left;
}

@media (max-width: 576px){
  .info-col{ text-align: center; justify-content: center; flex-direction: column; }
}

/* Hover efekti */
@media (hover: hover){
  .info-col:hover{
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
  }
}

/* İkon kapsayıcı */
.info-col .icon-badge {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: color-mix(in oklab, var(--brand) 15%, var(--surface));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--brand) 40%, transparent);
}

/* Başlık */
.info-col h6 {
  font-weight: 600;
  font-size: 1rem;
  color: var(--ink);
  margin: 0 0 .35rem 0;
}

/* Açıklama */
.info-col p {
  font-size: .9rem;
  color: var(--muted);
  margin: 0;
}


/* =========================================================
   Araç Kategorileri – Profesyonel Kartlar
   ========================================================= */

/* Genel konteyner */
.arac-kart { margin-top: 3rem; }

/* Kart */
.arac-kategori {
  --tone: #9aa4c4; /* varsayılan gri ton */
  --tone-bg: color-mix(in oklab, var(--tone) 18%, transparent);
  --tone-bg-hover: color-mix(in oklab, var(--tone) 28%, transparent);

  position: relative;
  border: 1px solid var(--bd-soft);
  border-radius: var(--radius-xl);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  padding: 1.1rem .9rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--ink);
  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  cursor: default;
}

/* Hover efekti */
@media (hover:hover){
  .arac-kategori:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: color-mix(in oklab, var(--tone) 36%, var(--bd-soft));
    background: color-mix(in oklab, var(--surface) 92%, var(--tone) 8%);
  }
}
.arac-kategori:active { transform: translateY(-1px) scale(.995); }

/* Başlık */
.arac-kategori__title {
  font-weight: 700;
  font-size: 1rem;
  color: var(--ink);
  margin-top: .6rem;
}

/* Açıklama */
.arac-kategori__desc {
  font-size: .86rem;
  color: var(--muted);
  margin-top: .25rem;
}

/* İkon */
.arac-kategori img {
  display: block;
  width: 44px;
  height: 44px;
  padding: .5rem;
  border-radius: 50%;
  background: var(--tone-bg);
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--tone) 32%, transparent);
  object-fit: contain;
  transition: transform .18s ease, background .18s ease, filter .18s ease;
}
@media (hover:hover){
  .arac-kategori:hover img {
    background: var(--tone-bg-hover);
    transform: scale(1.06);
    filter: brightness(1.05) contrast(1.05);
  }
}

/* Kategoriye göre renk varyantları */
.arac-kategori.vip        { --tone: #c59d00; }   /* altın */
.arac-kategori.luxury     { --tone: #8e44ad; }   /* mor */
.arac-kategori.business   { --tone: #2563eb; }   /* mavi */
.arac-kategori.economy    { --tone: #16a34a; }   /* yeşil */
.arac-kategori.family     { --tone: #e67e22; }   /* turuncu */
.arac-kategori.accessible { --tone: #dc2626; }   /* kırmızı */

/* Responsive */
@media (max-width: 576px){
  .arac-kategori { padding: .9rem .6rem; }
  .arac-kategori__title { font-size: .95rem; }
  .arac-kategori__desc { font-size: .8rem; }
}


/* =========================================================
   Araç Kartları – Kurumsal Stil
   ========================================================= */

.vehicle-card {
  border: 1px solid var(--bd-soft, rgba(0,0,0,.08));
  border-radius: 1rem;
  background: var(--surface,#fff);
  box-shadow: var(--shadow-sm, 0 6px 18px rgba(20,24,80,.06));
  overflow: hidden;
  transition: transform .22s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex;
  flex-direction: column;
}

.vehicle-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md, 0 12px 32px rgba(20,24,80,.12));
  border-color: color-mix(in oklab, var(--brand) 25%, var(--bd-soft));
}

/* Görsel alanı */
.vehicle-card figure {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: var(--surface-2, #f8f9fb);
}

.vehicle-media-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}

.vehicle-card:hover .vehicle-media-img {
  transform: scale(1.05);
}

/* Üst rozet (Yeni vb.) */
.vehicle-badge {
  background: #fff;
  color: var(--brand,#4C6EF5);
  font-size: .8rem;
  font-weight: 600;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

/* Kart gövdesi */
.vehicle-card .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.25rem 1.5rem;
}

/* Başlık */
.vehicle-card .card-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .75rem;
  line-height: 1.3;
}

/* Özellik listesi */
.vehicle-specs {
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
  font-size: .92rem;
}

.vehicle-specs li {
  margin-bottom: .4rem;
  display: flex;
  align-items: flex-start;
  gap: .3rem;
  color: var(--muted);
}

.vehicle-specs strong {
  color: var(--ink);
}

.spec-emoji {
  width: 1.2em;
  display: inline-block;
  text-align: center;
  flex-shrink: 0;
}

/* CTA butonu */
.btn-primary-soft {
  background: color-mix(in oklab, var(--brand,#4C6EF5) 15%, #fff);
  color: var(--brand,#4C6EF5);
  border: 1px solid color-mix(in oklab, var(--brand,#4C6EF5) 40%, #fff);
  font-weight: 600;
  transition: background .2s ease, color .2s ease, transform .1s ease;
}

.btn-primary-soft:hover {
  background: var(--brand,#4C6EF5);
  color: #fff;
  border-color: var(--brand,#4C6EF5);
  transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 576px) {
  .vehicle-card .card-body { padding: 1rem; }
  .vehicle-card .card-title { font-size: 1rem; }
  .vehicle-specs { font-size: .85rem; }
}



/* ---- How-it cards: tipografi vurgusu ---- */
.howit-card {
  text-align: center;
  padding: 1.6rem 1.1rem;
  border: 1px solid var(--bd-soft);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease;
}

.howit-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: color-mix(in oklab, var(--brand) 30%, var(--bd-soft));
}

/* ikon kapsülü + numara rozeti */
.howit-icon {
  position: relative;
  width: 64px; height: 64px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  background: color-mix(in oklab, var(--brand) 14%, #fff);
  display: grid; place-items: center;
  box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--brand) 40%, transparent);
  color: var(--brand);
}
.howit-icon i {
  font-size: 1.6rem;
  line-height: 1;
  display: inline-block;
}
/* Numara rozeti */
.howit-step{
  position: absolute;
  right: -6px; top: -6px;
  width: 22px; height: 22px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  font-size: .8rem;
  display: grid; place-items: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

.howit-title{
  font-size: 1.08rem;
  font-weight: 800;            /* daha belirgin başlık */
  letter-spacing: .1px;
  color: var(--ink);
  margin-bottom: .4rem;
}
.howit-text{
  font-size: .96rem;
  color: var(--muted);
  margin: 0 auto;
  max-width: 32ch;             /* okunabilir satır uzunluğu */
}

/* Mobil uyum */
@media (max-width: 576px){
  .howit-card{ padding: 1.25rem .9rem; }
  .howit-icon{ width: 56px; height: 56px; }
  .howit-icon i{ font-size: 1.4rem; }
  .howit-title{ font-size: 1.02rem; }
  .howit-text{ font-size: .92rem; }
}

/* ---- Bootstrap Icons fallback: font yoksa emoji göster ---- */
@supports not (font-variation-settings: normal) { /* harmless gate */
  .howit-icon i::before{
    content: attr(data-fallback);
    font-family: inherit !important;
  }
}
/* Alternatif: ikon fontu yüklenmemişse (güvenli tespit) */
.bi:not([class*="bi-"])::before { content: attr(data-fallback); }

/* Kontrast küçük dokunuş (dark mode) */
@media (prefers-color-scheme: dark){
  .howit-icon{
    background: color-mix(in oklab, var(--brand) 22%, var(--surface));
  }
}


/* === Heading size deprecation fix (Chrome) === */
/* Tek, responsive h1 boyutu (istersen rakamları değiştir) */
:root{
  --fs-h1: clamp(1.875rem, 1.1rem + 2vw, 2.5rem);
}

/* Global h1 (tüm sayfa) */
h1{
  font-size: var(--fs-h1) !important;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: .75rem;
  font-weight: 700;
}

/* Sectioning content içinde h1 (Chrome'un yeni davranışını bastır) */
:where(section, article, aside, nav) h1,
:where(section, article, aside, nav) .h1{
  font-size: var(--fs-h1) !important;
  line-height: 1.2;
}

/* Mobilde biraz küçültmek istersen: sadece değişkeni düşür */
@media (max-width: 576px){
  :root{ --fs-h1: 1.75rem; } /* ~28px */
}


