/* ============================================================================
   METROPOL FLEET RENTALS — KURUMSAL MARKA SİSTEMİ
   ----------------------------------------------------------------------------
   Bu dosya TÜM sayfalarda EN SON yüklenir ve nihai görünümü belirler.
   Koyu lacivert moddan, markanın mavi + beyaz kurumsal kimliğine geçiş.

   KAPSAM
     Ana sayfa, arama, rezervasyon, rezervasyon özeti, ödeme, başarı,
     hesap, bilgi sayfaları, alt bilgi ve yönetim paneli.

   İLKELER
     1. Zemin beyaz/açık gri; koyu renk yalnızca üst menü ve alt bilgide
        vurgu olarak kullanılır.
     2. Tek bir tipografi ölçeği; tüm başlıklar clamp() ile akışkan.
     3. Dokunma hedefleri mobilde en az 44px.
     4. Renk kontrastları WCAG AA (4.5) eşiğinin üzerinde.

   API, form alanları ve JavaScript ile hiçbir ilişkisi yoktur.
   ============================================================================ */

:root {
  /* ---- Marka mavileri ---- */
  --mfr-blue-900: #062B52;
  --mfr-blue-800: #08386B;
  --mfr-blue-700: #0A4E96;
  --mfr-blue-600: #0D6CBE;
  --mfr-blue-500: #1E88E5;
  --mfr-blue-400: #52A9F0;
  --mfr-blue-300: #8FCBF7;
  --mfr-blue-100: #DCEBFB;
  --mfr-blue-50:  #F2F8FE;

  /* ---- Nötrler ---- */
  --mfr-white:    #FFFFFF;
  --mfr-canvas:   #F6F9FC;
  --mfr-panel:    #FBFDFF;
  --mfr-line:     #E1E9F2;
  --mfr-line-2:   #CFDBE8;

  /* ---- Metin ---- */
  --mfr-ink:      #0F2742;
  --mfr-ink-2:    #47566E;
  --mfr-ink-3:    #7A8AA0;

  /* ---- Durum ---- */
  --mfr-ok:       #0E8A4F;
  --mfr-ok-bg:    #E9F8F0;
  --mfr-warn:     #A66A00;
  --mfr-warn-bg:  #FEF6E7;
  --mfr-err:      #C4362C;
  --mfr-err-bg:   #FDEDEC;

  /* ---- Yükseklik ---- */
  --mfr-sh-1: 0 1px 2px rgba(15,39,66,.06), 0 1px 3px rgba(15,39,66,.08);
  --mfr-sh-2: 0 4px 10px -4px rgba(15,39,66,.12), 0 2px 6px rgba(15,39,66,.06);
  --mfr-sh-3: 0 18px 40px -24px rgba(15,39,66,.34);

  /* ---- Yarıçap ---- */
  --mfr-r-sm: 8px;
  --mfr-r-md: 12px;
  --mfr-r-lg: 16px;
  --mfr-r-xl: 20px;
}

/* ============================================================
   1. ZEMİN — açık kurumsal mod
   ============================================================ */

body:not(.admin-portal-page) {
  background: var(--mfr-canvas);
  color: var(--mfr-ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   2. TİPOGRAFİ ÖLÇEĞİ — tüm sayfalarda ortak, akışkan
   ============================================================ */

body:not(.admin-portal-page) h1,
body:not(.admin-portal-page) h2,
body:not(.admin-portal-page) h3,
body:not(.admin-portal-page) h4,
body:not(.admin-portal-page) .section-title,
body:not(.admin-portal-page) .hero-title {
  font-family: 'Manrope', 'Inter', sans-serif;
  letter-spacing: -.022em;
  color: var(--mfr-ink);
}

body:not(.admin-portal-page) .hero-title  { font-size: clamp(26px, 4.2vw, 48px) !important; line-height: 1.12 !important; }
body:not(.admin-portal-page) h1           { font-size: clamp(24px, 3.6vw, 40px); line-height: 1.16; }
body:not(.admin-portal-page) .section-title,
body:not(.admin-portal-page) h2           { font-size: clamp(20px, 2.6vw, 30px); line-height: 1.24; }
body:not(.admin-portal-page) h3           { font-size: clamp(16px, 1.7vw, 20px); line-height: 1.32; }
body:not(.admin-portal-page) h4           { font-size: clamp(15px, 1.4vw, 17px); line-height: 1.36; }
body:not(.admin-portal-page) p,
body:not(.admin-portal-page) li           { font-size: clamp(14px, 1.05vw, 15.5px); line-height: 1.66; color: var(--mfr-ink-2); }
body:not(.admin-portal-page) small,
body:not(.admin-portal-page) .text-muted  { font-size: clamp(12px, .95vw, 13.5px); color: var(--mfr-ink-3); }
body:not(.admin-portal-page) .section-desc { font-size: clamp(14px, 1.15vw, 16px); color: var(--mfr-ink-2); max-width: 62ch; margin-left: auto; margin-right: auto; }

/* ============================================================
   3. ÜST MENÜ — beyaz zemin, mavi vurgu
   ============================================================ */

body:not(.admin-portal-page) .top-bar {
  background: var(--mfr-blue-900) !important;
  background-image: none !important;
  color: rgba(255,255,255,.86) !important;
  border-bottom: 0 !important;
  font-size: 13px;
}
body:not(.admin-portal-page) .top-bar a,
body:not(.admin-portal-page) .top-bar span { color: rgba(255,255,255,.86) !important; text-shadow: none !important; }
body:not(.admin-portal-page) .top-bar i { color: var(--mfr-blue-300) !important; }

body:not(.admin-portal-page) .main-header,
body:not(.admin-portal-page) .main-header.scrolled,
body.ds-scrolled:not(.admin-portal-page) .main-header,
body:not(.admin-portal-page) .search-header,
body:not(.admin-portal-page) .info-topbar {
  background: var(--mfr-white) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--mfr-line) !important;
  box-shadow: var(--mfr-sh-1) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Marka yazısı ve logo */
body:not(.admin-portal-page) .main-header .brand-fallback,
body:not(.admin-portal-page) .main-header .logo span,
body:not(.admin-portal-page) .main-header .logo strong,
body:not(.admin-portal-page) .search-header .brand-fallback,
body:not(.admin-portal-page) .info-topbar .brand b {
  color: var(--mfr-ink) !important;
  -webkit-text-fill-color: var(--mfr-ink) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
body:not(.admin-portal-page) .main-header .logo img,
body:not(.admin-portal-page) .search-header .logo img {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: var(--mfr-r-sm);
}

/* Menü bağlantıları */
body:not(.admin-portal-page) .main-header .nav-menu a,
body.ds-scrolled:not(.admin-portal-page) .main-header .nav-menu a,
body:not(.admin-portal-page) .main-header.scrolled .nav-menu a {
  color: var(--mfr-ink-2) !important;
  -webkit-text-fill-color: var(--mfr-ink-2) !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  height: 40px;
  padding: 0 13px !important;
  border-radius: var(--mfr-r-sm) !important;
}
body:not(.admin-portal-page) .main-header .nav-menu a:hover {
  color: var(--mfr-blue-700) !important;
  -webkit-text-fill-color: var(--mfr-blue-700) !important;
  background: var(--mfr-blue-50) !important;
}
body:not(.admin-portal-page) .main-header .nav-menu a.active,
body.ds-scrolled:not(.admin-portal-page) .main-header .nav-menu a.active,
body:not(.admin-portal-page) .main-header.scrolled .nav-menu a.active {
  color: var(--mfr-blue-700) !important;
  -webkit-text-fill-color: var(--mfr-blue-700) !important;
  background: var(--mfr-blue-100) !important;
  font-weight: 700 !important;
}
body:not(.admin-portal-page) .main-header .nav-menu a.active::after {
  transform: scaleX(1) !important;
  height: 3px !important;
  bottom: 3px !important;
  border-radius: 3px !important;
  background: var(--mfr-blue-600) !important;
  box-shadow: none !important;
}
body:not(.admin-portal-page) .main-header .nav-menu a:not(.active)::after { background: var(--mfr-blue-400) !important; box-shadow: none !important; }

/* Telefon */
body:not(.admin-portal-page) .main-header .nav-phone {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  color: var(--mfr-ink) !important;
  height: 42px;
  border-radius: var(--mfr-r-sm) !important;
  font-weight: 700;
  text-shadow: none !important;
}
body:not(.admin-portal-page) .main-header .nav-phone i {
  background: var(--mfr-blue-100) !important;
  color: var(--mfr-blue-700) !important;
}

/* Dil seçici */
body:not(.admin-portal-page) .lang-switch-btn {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  color: var(--mfr-ink) !important;
  height: 42px;
  border-radius: var(--mfr-r-sm);
}
body:not(.admin-portal-page) .lang-switch-btn:hover { background: var(--mfr-blue-50) !important; border-color: var(--mfr-blue-400) !important; }

/* Üye Ol — çerçeveli ikincil */
body:not(.admin-portal-page) .main-header .btn-account-cta,
body.ds-scrolled:not(.admin-portal-page) .main-header .btn-account-cta {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  color: var(--mfr-ink) !important;
  -webkit-text-fill-color: var(--mfr-ink) !important;
  height: 42px;
  border-radius: var(--mfr-r-sm) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body:not(.admin-portal-page) .main-header .btn-account-cta i { color: var(--mfr-blue-600) !important; }
body:not(.admin-portal-page) .main-header .btn-account-cta:hover { background: var(--mfr-blue-50) !important; border-color: var(--mfr-blue-400) !important; }

/* Araç Ara — birincil */
body:not(.admin-portal-page) .main-header .nav-actions .btn-nav,
body:not(.admin-portal-page) .main-header .nav-actions .btn-primary {
  background: var(--mfr-blue-600) !important;
  border: 0 !important;
  color: var(--mfr-white) !important;
  -webkit-text-fill-color: var(--mfr-white) !important;
  height: 42px;
  border-radius: var(--mfr-r-sm) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: var(--mfr-sh-2) !important;
}
body:not(.admin-portal-page) .main-header .nav-actions .btn-nav:hover { background: var(--mfr-blue-700) !important; }

/* Hamburger */
body:not(.admin-portal-page) .mobile-menu-toggle {
  background-color: var(--mfr-blue-600) !important;
  border: 0 !important;
  border-radius: var(--mfr-r-sm) !important;
  width: 44px; height: 44px;
}
body:not(.admin-portal-page) .mobile-menu-toggle span { background: var(--mfr-white) !important; }

/* ============================================================
   4. HERO — açık mavi degrade, video üstünde okunur
   ============================================================ */

body .hero-bg::before {
  background: linear-gradient(105deg,
      rgba(6,43,82,.86) 0%,
      rgba(8,56,107,.64) 34%,
      rgba(13,108,190,.30) 58%,
      rgba(13,108,190,.12) 78%,
      rgba(6,43,82,.30) 100%) !important;
}
body .hero-bg::after {
  background: radial-gradient(90% 70% at 78% 8%, rgba(82,169,240,.20) 0%, rgba(82,169,240,0) 60%) !important;
}

body .hero-title,
body .hero-title span:not(.hero-title-brand) {
  color: var(--mfr-white) !important;
  -webkit-text-fill-color: var(--mfr-white) !important;
  background: none !important;
  filter: none !important;
  text-shadow: 0 2px 16px rgba(4,20,40,.72) !important;
}
body .hero-title-brand {
  color: var(--mfr-blue-300) !important;
  -webkit-text-fill-color: var(--mfr-blue-300) !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 10px rgba(4,20,40,.7) !important;
}

body .hero-valueprops li {
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  color: var(--mfr-white) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none !important;
  font-size: clamp(12.5px, 1.1vw, 14px) !important;
  padding: 8px 14px !important;
}
body .hero-valueprops li i { color: var(--mfr-blue-300) !important; }
body .hero-valueprops li.is-primary {
  background: var(--mfr-blue-600) !important;
  border-color: var(--mfr-blue-600) !important;
}
body .hero-valueprops li.is-primary i { color: var(--mfr-white) !important; }

body .hero-badge {
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: var(--mfr-white) !important;
  box-shadow: none !important;
}

/* ============================================================
   5. ARAMA KUTUSU — beyaz kart
   ============================================================ */

body .search-box {
  background: var(--mfr-white) !important;
  background-image: none !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-xl) !important;
  box-shadow: var(--mfr-sh-3) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body .search-box::before { display: none !important; }

body .search-box-header {
  background: var(--mfr-white) !important;
  border-bottom: 1px solid var(--mfr-line) !important;
}
body .search-box-header h2 { color: var(--mfr-ink) !important; font-size: clamp(16px,1.6vw,20px) !important; }
body .search-box-header h2 i,
body .search-box-header > i { color: var(--mfr-blue-600) !important; }

body .search-box .form-group > label {
  color: var(--mfr-ink-3) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
}
body .search-box .form-group > label i { color: var(--mfr-blue-600) !important; }

body .search-box input[type="text"],
body .search-box select,
body .search-box .date-picker,
body .search-box .time-select,
body .search-box .datetime-picker {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  color: var(--mfr-ink) !important;
  min-height: 50px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: var(--mfr-r-md) !important;
  box-shadow: none !important;
}
body .search-box input::placeholder { color: var(--mfr-ink-3) !important; font-weight: 400; }
body .search-box input[type="text"]:hover,
body .search-box select:hover { border-color: var(--mfr-blue-400) !important; }
body .search-box input[type="text"]:focus,
body .search-box select:focus,
body .search-box .datetime-picker:focus {
  border-color: var(--mfr-blue-600) !important;
  box-shadow: 0 0 0 3px rgba(13,108,190,.16) !important;
}
body .search-box .same-location,
body .search-box .different-dropoff-toggle { color: var(--mfr-ink-2) !important; }

body .btn-search,
body .search-box .btn-primary {
  background: var(--mfr-blue-600) !important;
  color: var(--mfr-white) !important;
  border: 0 !important;
  min-height: 54px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: var(--mfr-r-md) !important;
  box-shadow: var(--mfr-sh-2) !important;
  text-shadow: none !important;
}
body .btn-search:hover { background: var(--mfr-blue-700) !important; }

body .search-trust-line span { color: var(--mfr-white) !important; }
body .search-trust-line i { color: var(--mfr-blue-300) !important; }

/* Öneri listesi */
body .location-suggestions {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-md) !important;
  box-shadow: var(--mfr-sh-3) !important;
}
body .location-suggestions .location-item .main-text { color: var(--mfr-ink) !important; }
body .location-suggestions .location-item .main-text i { background: var(--mfr-blue-100) !important; color: var(--mfr-blue-700) !important; }
body .location-suggestions .location-item .secondary-text { color: var(--mfr-ink-3) !important; }
body .location-suggestions .location-item:hover { background: var(--mfr-blue-50) !important; }

/* ============================================================
   6. GENEL BİLEŞENLER
   ============================================================ */

body:not(.admin-portal-page) .btn-primary,
body:not(.admin-portal-page) .btn-book,
body:not(.admin-portal-page) .btn-continue {
  background: var(--mfr-blue-600) !important;
  color: var(--mfr-white) !important;
  -webkit-text-fill-color: var(--mfr-white) !important;
  border: 0 !important;
  border-radius: var(--mfr-r-md) !important;
  font-weight: 700 !important;
  min-height: 48px;
  box-shadow: var(--mfr-sh-2) !important;
  text-shadow: none !important;
}
body:not(.admin-portal-page) .btn-primary:hover { background: var(--mfr-blue-700) !important; }

body:not(.admin-portal-page) .btn-outline,
body:not(.admin-portal-page) .btn-secondary {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  color: var(--mfr-ink) !important;
  border-radius: var(--mfr-r-md) !important;
  min-height: 48px;
  backdrop-filter: none !important;
}
body:not(.admin-portal-page) .btn-outline:hover { background: var(--mfr-blue-50) !important; border-color: var(--mfr-blue-400) !important; }

body:not(.admin-portal-page) .section-badge {
  background: var(--mfr-blue-100) !important;
  color: var(--mfr-blue-700) !important;
  border: 1px solid rgba(13,108,190,.20) !important;
  font-size: 11.5px !important;
  font-weight: 700;
  letter-spacing: .06em;
  box-shadow: none !important;
}
body:not(.admin-portal-page) .section-title span {
  color: var(--mfr-blue-700) !important;
  -webkit-text-fill-color: var(--mfr-blue-700) !important;
  background: none !important;
}

body:not(.admin-portal-page) .car-card,
body:not(.admin-portal-page) .summary-card,
body:not(.admin-portal-page) .payment-card,
body:not(.admin-portal-page) .filters-sidebar,
body:not(.admin-portal-page) .info-card,
body:not(.admin-portal-page) .feature-card,
body:not(.admin-portal-page) .quick-service-card,
body:not(.admin-portal-page) .campaign-benefit-card {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-lg) !important;
  box-shadow: var(--mfr-sh-1) !important;
}
body:not(.admin-portal-page) .car-card:hover,
body:not(.admin-portal-page) .feature-card:hover,
body:not(.admin-portal-page) .quick-service-card:hover {
  border-color: var(--mfr-blue-400) !important;
  box-shadow: var(--mfr-sh-2) !important;
}

body:not(.admin-portal-page) .feature-icon,
body:not(.admin-portal-page) .campaign-icon,
body:not(.admin-portal-page) .quick-service-card > span,
body:not(.admin-portal-page) .network-ico,
body:not(.admin-portal-page) .empty-state-icon {
  background: var(--mfr-blue-600) !important;
  color: var(--mfr-white) !important;
  box-shadow: none !important;
}

body:not(.admin-portal-page) .stat-number {
  color: var(--mfr-blue-700) !important;
  -webkit-text-fill-color: var(--mfr-blue-700) !important;
  background: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Form alanları (açık sayfalar) */
body:not(.admin-portal-page) .form-control,
body:not(.admin-portal-page) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body:not(.admin-portal-page) select,
body:not(.admin-portal-page) textarea {
  border-radius: var(--mfr-r-md);
  min-height: 46px;
  font-size: 15px;
}
body:not(.admin-portal-page) .form-control:focus,
body:not(.admin-portal-page) input:focus,
body:not(.admin-portal-page) select:focus,
body:not(.admin-portal-page) textarea:focus {
  border-color: var(--mfr-blue-600) !important;
  box-shadow: 0 0 0 3px rgba(13,108,190,.16) !important;
  outline: none;
}

/* Filtreler */
body .filter-toggle { color: var(--mfr-ink) !important; min-height: 48px; }
body .filter-toggle:hover { color: var(--mfr-blue-700) !important; }
body .filter-option input[type="checkbox"],
body .filter-option input[type="radio"] { accent-color: var(--mfr-blue-600); width: 18px; height: 18px; }
body .filter-tag {
  background: var(--mfr-blue-100) !important;
  border: 1px solid rgba(13,108,190,.24) !important;
  color: var(--mfr-blue-700) !important;
}

/* ============================================================
   7. ALT BİLGİ
   ============================================================ */

body:not(.admin-portal-page) .site-footer {
  background: var(--mfr-blue-900) !important;
  background-image: none !important;
  border-top: 0 !important;
  color: rgba(255,255,255,.74) !important;
}
body:not(.admin-portal-page) .site-footer h2,
body:not(.admin-portal-page) .site-footer h3,
body:not(.admin-portal-page) .site-footer h4,
body:not(.admin-portal-page) .site-footer strong { color: var(--mfr-white) !important; }
body:not(.admin-portal-page) .site-footer a { color: rgba(255,255,255,.74) !important; }
body:not(.admin-portal-page) .site-footer a:hover { color: var(--mfr-blue-300) !important; }
body:not(.admin-portal-page) .site-footer i { color: var(--mfr-blue-400) !important; }
body .site-footer-loc-group h3 { color: var(--mfr-blue-300) !important; }
body .site-footer-loc-links a {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.80) !important;
}
body .site-footer-loc-links a:hover {
  background: var(--mfr-blue-600) !important;
  border-color: var(--mfr-blue-600) !important;
  color: var(--mfr-white) !important;
}

/* ============================================================
   9. MOBİL — dokunma hedefleri ve ölçek
   ============================================================ */

@media (max-width: 899px) {
  body:not(.admin-portal-page) .btn,
  body:not(.admin-portal-page) .btn-primary,
  body:not(.admin-portal-page) .btn-outline,
  body:not(.admin-portal-page) a.btn { min-height: 48px; }

  body .search-box input[type="text"],
  body .search-box select,
  body .search-box .datetime-picker { min-height: 48px !important; font-size: 16px !important; }
  /* 16px: iOS Safari daha küçük yazıda sayfayı otomatik yakınlaştırır */

  body .btn-search { min-height: 52px !important; font-size: 16px !important; }
  body:not(.admin-portal-page) .section-header { margin-bottom: 20px !important; }
  body:not(.admin-portal-page) .feature-card,
  body:not(.admin-portal-page) .quick-service-card,
  body:not(.admin-portal-page) .campaign-benefit-card { padding: 16px !important; }
  body:not(.admin-portal-page) .feature-icon,
  body:not(.admin-portal-page) .campaign-icon,
  body:not(.admin-portal-page) .quick-service-card > span {
    width: 42px !important; height: 42px !important; font-size: 17px !important;
  }
}

/* Yatay taşma koruması — mobilde en sık görülen bozulma */
html, body { max-width: 100%; overflow-x: hidden; }
body:not(.admin-portal-page) img,
body:not(.admin-portal-page) video { max-width: 100%; height: auto; }

/* Klavye erişimi */
body:not(.admin-portal-page) a:focus-visible,
body:not(.admin-portal-page) button:focus-visible {
  outline: 2px solid var(--mfr-blue-600);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   10. TARİH + SAAT ALANLARI VE TAKVİM
   ============================================================ */

body .search-box .datetime-row {
  display: grid !important;
  grid-template-columns: 1.45fr 1fr !important;
  gap: 12px !important;
}
body .search-box .date-picker {
  cursor: pointer;
  font-variant-numeric: tabular-nums;
}
body .search-box .time-select {
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  /* Saat listesi beyaz zeminde okunur olmalı — koyu temadan miras
     alınan beyaz yazı, açılır listede görünmez oluyordu. */
  color-scheme: light;
}
body .search-box .time-select option {
  background: #FFFFFF !important;
  color: var(--mfr-ink) !important;
  font-weight: 600;
}
body .search-box .time-select option:checked { background: var(--mfr-blue-100) !important; }

@media (max-width: 420px) {
  body .search-box .datetime-row { grid-template-columns: 1.3fr 1fr !important; gap: 9px !important; }
  body .search-box .datetime-row label { font-size: 10px !important; }
}

/* ---- Takvim: kompakt ve okunaklı ---- */
body .flatpickr-calendar {
  z-index: 4000 !important;
  width: auto !important;
  max-width: calc(100vw - 20px) !important;
  padding: 12px !important;
  border-radius: var(--mfr-r-lg) !important;
  border: 1px solid var(--mfr-line) !important;
  box-shadow: var(--mfr-sh-3) !important;
  font-family: 'Inter', sans-serif;
}
body .flatpickr-months { padding-bottom: 6px; }
body .flatpickr-current-month { font-size: 14.5px !important; }
body .flatpickr-current-month .cur-month { font-weight: 800 !important; color: var(--mfr-ink); }
body .flatpickr-months .flatpickr-prev-month,
body .flatpickr-months .flatpickr-next-month {
  width: 32px !important; height: 32px !important; top: 2px !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  border-radius: 50% !important;
  border: 1px solid var(--mfr-line) !important;
  color: var(--mfr-ink-2) !important;
}
body .flatpickr-months .flatpickr-prev-month:hover,
body .flatpickr-months .flatpickr-next-month:hover {
  background: var(--mfr-blue-600) !important;
  border-color: var(--mfr-blue-600) !important;
  color: #fff !important;
}
body span.flatpickr-weekday {
  font-size: 10.5px !important; font-weight: 700 !important;
  color: var(--mfr-ink-3) !important;
}
body .flatpickr-day {
  height: 36px !important; line-height: 36px !important; max-width: 36px !important;
  font-size: 13.5px !important; border-radius: 10px !important;
  color: var(--mfr-ink) !important;
}
body .flatpickr-day:hover { background: var(--mfr-blue-50) !important; border-color: transparent !important; }
body .flatpickr-day.selected,
body .flatpickr-day.selected:hover {
  background: var(--mfr-blue-600) !important;
  border-color: var(--mfr-blue-600) !important;
  color: #fff !important;
}
body .flatpickr-day.today { border-color: var(--mfr-blue-400) !important; }
body .flatpickr-day.flatpickr-disabled { color: #C3CDDA !important; }
body .flatpickr-calendar.multiMonth .dayContainer + .dayContainer {
  padding-left: 10px !important; margin-left: 10px !important;
  border-left: 1px solid var(--mfr-line);
}

@media (max-width: 640px) {
  body .flatpickr-calendar { width: calc(100vw - 20px) !important; max-width: 360px !important; }
  body .flatpickr-day { height: 42px !important; line-height: 42px !important; max-width: 42px !important; font-size: 15px !important; }
}

/* ============================================================================
   11. ACİL DÜZELTMELER — görünmeyen bileşenler
   ----------------------------------------------------------------------------
   Aşağıdaki kurallar, koyu temadan miras kalan ve açık zeminde
   GÖRÜNMEZ hale gelen bileşenleri onarır.
   ============================================================================ */

/* ---- 11.1 ÖZEL SELECT (ds-select) ----
   ds.js native <select> etiketlerini .ds-select bileşenine çeviriyor.
   Eski kural: body .search-box .ds-select__trigger { color:#fff }
   Beyaz arama kutusunda beyaz yazı = tamamen görünmez.
   Bu yüzden "Alış Saati", "Bırakış Saati", "Yaş" ve "Ülke" alanları
   ekranda hiç görünmüyordu. */

body .ds-select,
body .search-box .ds-select { width: 100%; }

body .ds-select__trigger,
body .search-box .ds-select__trigger,
body:not(.admin-portal-page) .ds-select__trigger {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 50px !important;
  padding: 0 14px !important;
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line-2) !important;
  border-radius: var(--mfr-r-md) !important;
  color: var(--mfr-ink) !important;
  -webkit-text-fill-color: var(--mfr-ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  cursor: pointer;
}
body .ds-select__trigger:hover,
body .search-box .ds-select__trigger:hover {
  border-color: var(--mfr-blue-400) !important;
  background: var(--mfr-white) !important;
  color: var(--mfr-ink) !important;
}
body .ds-select.is-open .ds-select__trigger,
body .search-box .ds-select.is-open .ds-select__trigger {
  border-color: var(--mfr-blue-600) !important;
  box-shadow: 0 0 0 3px rgba(13,108,190,.16) !important;
  color: var(--mfr-ink) !important;
}
body .ds-select__caret,
body .search-box .ds-select__caret { color: var(--mfr-ink-3) !important; }
body .ds-select.is-open .ds-select__caret { color: var(--mfr-blue-600) !important; }

body .ds-select__panel {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-md) !important;
  box-shadow: var(--mfr-sh-3) !important;
  z-index: 4200 !important;
}
body .ds-select__option {
  color: var(--mfr-ink-2) !important;
  min-height: 42px;
  font-size: 14.5px;
}
body .ds-select__option:hover { background: var(--mfr-blue-50) !important; color: var(--mfr-ink) !important; }
body .ds-select__option[aria-selected="true"] {
  background: var(--mfr-blue-100) !important;
  color: var(--mfr-blue-700) !important;
  font-weight: 700;
}

/* Native select yedeği: ds.js çalışmazsa yine görünür olsun */
body .search-box select:not(.ds-select__native),
body:not(.admin-portal-page) select:not(.ds-select__native) {
  background-color: var(--mfr-white) !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235A6B80' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 38px !important;
  color: var(--mfr-ink) !important;
  -webkit-text-fill-color: var(--mfr-ink) !important;
  border: 1px solid var(--mfr-line-2) !important;
  opacity: 1 !important;
}
body .search-box select option,
body:not(.admin-portal-page) select option {
  background: var(--mfr-white) !important;
  color: var(--mfr-ink) !important;
}

/* ---- 11.2 MENÜ — aktif sekme çizgisi kutuyla aynı genişlikte ----
   Eski kural çizgiyi bağlantıdan taşırıyordu. */
body:not(.admin-portal-page) .main-header .nav-menu a::after,
body:not(.admin-portal-page) .main-header .nav-menu a.active::after {
  left: 50% !important;
  right: auto !important;
  width: 22px !important;
  transform: translateX(-50%) scaleX(0) !important;
  bottom: 2px !important;
  height: 3px !important;
  border-radius: 3px !important;
  background: var(--mfr-blue-600) !important;
  box-shadow: none !important;
  transition: transform .2s ease;
}
body:not(.admin-portal-page) .main-header .nav-menu a:hover::after,
body:not(.admin-portal-page) .main-header .nav-menu a.active::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* ---- 11.3 ALT BİLGİ — hayalet yazı düzeltmesi ----
   Miras kalan düşük opaklık değerleri metni okunmaz yapıyordu. */
body:not(.admin-portal-page) .site-footer,
body:not(.admin-portal-page) .site-footer * { opacity: 1 !important; }
body:not(.admin-portal-page) .site-footer p,
body:not(.admin-portal-page) .site-footer li,
body:not(.admin-portal-page) .site-footer span,
body:not(.admin-portal-page) .site-footer small,
body:not(.admin-portal-page) .site-footer a {
  color: #C8D6E8 !important;
  -webkit-text-fill-color: #C8D6E8 !important;
}
body:not(.admin-portal-page) .site-footer a:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
body:not(.admin-portal-page) .site-footer h2,
body:not(.admin-portal-page) .site-footer h3,
body:not(.admin-portal-page) .site-footer h4,
body:not(.admin-portal-page) .site-footer strong,
body:not(.admin-portal-page) .site-footer b {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
/* Destek kartındaki numaralar */
body .site-footer-support strong,
body .site-footer-action strong { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
body .site-footer-support small,
body .site-footer-action small { color: rgba(255,255,255,.80) !important; -webkit-text-fill-color: rgba(255,255,255,.80) !important; }
body .site-footer-locations h2 { color: #FFFFFF !important; }
body .site-footer-loc-group h3 { color: #8FCBF7 !important; -webkit-text-fill-color: #8FCBF7 !important; }
body .site-footer-loc-links a { color: #D5E3F2 !important; -webkit-text-fill-color: #D5E3F2 !important; }

/* ---- 11.4 HERO — mobilde kaybolan öğeler ----
   Miras kalan opacity/animasyon kuralları mobilde içeriği
   görünmez bırakıyordu. */
@media (max-width: 899px) {
  body .hero-content,
  body .hero-grid,
  body .hero-text,
  body .hero-intro,
  body .search-box,
  body .search-trust-line { opacity: 1 !important; transform: none !important; visibility: visible !important; }
  body .search-trust-line {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 12px !important;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  body .search-trust-line::-webkit-scrollbar { display: none; }
  body .search-trust-line span { flex: 0 0 auto; white-space: nowrap; font-size: 12.5px !important; }
}

/* Üst menüdeki boş kutular: içi olmayan butonlar gizlenir */
body .main-header .nav-actions > a:empty,
body .main-header .nav-actions > button:empty { display: none !important; }

/* ============================================================
   12. WHATSAPP CANLI DESTEK
   ============================================================ */

body .wa-dock {
  position: fixed;
  right: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 9500;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  pointer-events: none;
}
body .wa-dock > * { pointer-events: auto; }

/* Yuvarlak yerine etiketli hap — ne işe yaradığı belli olur */
body .whatsapp-float {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  height: 56px;
  padding: 0 20px 0 16px !important;
  border-radius: 999px !important;
  background: #0B7A43 !important;   /* beyaz yazı ile 5.41 kontrast (marka yeşilinde 1.98 idi) */
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none;
  width: auto !important;
  box-shadow: 0 10px 26px -10px rgba(11,122,67,.85), 0 2px 8px rgba(0,0,0,.14) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body .whatsapp-float i { font-size: 26px !important; line-height: 1; }
body .wa-float-text { white-space: nowrap; }
body .whatsapp-float:hover {
  background: #0A6B3B !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -10px rgba(11,122,67,1) !important;
}
body .whatsapp-float:focus-visible { outline: 3px solid #0F2742; outline-offset: 3px; }

/* Davet balonu */
body .wa-bubble {
  position: relative;
  max-width: 260px;
  padding: 13px 16px;
  border-radius: 16px 16px 4px 16px;
  background: var(--mfr-white);
  border: 1px solid var(--mfr-line);
  box-shadow: var(--mfr-sh-3);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}
body .wa-bubble.is-in { opacity: 1; transform: translateY(0); }
body .wa-bubble[hidden] { display: none !important; }
body .wa-bubble-title {
  display: block;
  font-size: 14.5px;
  font-weight: 800;
  color: var(--mfr-ink);
  margin-bottom: 2px;
}
body .wa-bubble-text {
  display: block;
  font-size: 12.8px;
  line-height: 1.45;
  color: var(--mfr-ink-2);
}
body .wa-bubble-close {
  position: absolute;
  top: -9px; right: -9px;
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--mfr-white);
  border: 1px solid var(--mfr-line-2);
  color: var(--mfr-ink-3);
  font-size: 17px; line-height: 1;
  cursor: pointer;
  box-shadow: var(--mfr-sh-1);
}
body .wa-bubble-close:hover { background: var(--mfr-canvas); color: var(--mfr-ink); }

/* Mobil: metin gizlenir, sadece ikon kalır (yer darlığı) */
@media (max-width: 560px) {
  body .wa-dock {
    right: 14px;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  }
  body .whatsapp-float { height: 54px; width: 54px !important; padding: 0 !important; justify-content: center; }
  body .wa-float-text { display: none; }
  body .wa-bubble { max-width: calc(100vw - 90px); }
}

/* ============================================================================
   18. WHATSAPP KONUM GÜVENCESİ
   ----------------------------------------------------------------------------
   HATA: §12'de .whatsapp-float'a "position: static" verilmişti; bu
   yalnızca .wa-dock (position: fixed) içindeyken doğru çalışır.
   search.php'de dock sarmalayıcısı olmadığı için buton sayfa akışına
   girip SOL ÜST köşeye düşüyordu.

   ÇÖZÜM: Varsayılan konum yeniden "fixed". "static" yalnızca dock
   içindeyken uygulanır. Böylece dock olsun olmasın buton her sayfada
   sağ altta durur.
   ============================================================================ */

body .whatsapp-float {
  position: fixed !important;
  right: 20px !important;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 9500 !important;
}
body .wa-dock .whatsapp-float {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
}

@media (max-width: 560px) {
  body .whatsapp-float {
    right: 14px !important;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }
  body .wa-dock .whatsapp-float { right: auto !important; bottom: auto !important; }
}

/* ============================================================================
   22. HERO ARAMA FORMU — CSS Grid ile kesin hizalama
   ----------------------------------------------------------------------------
   Esnek kutu (flex-wrap) kullanıldığında alanlar sığmayınca rastgele
   satır atlıyor ve kutular farklı genişliklerde kalıyordu.
   Izgara (grid) ile her alanın yeri ve genişliği SABİT tanımlanır;
   sarma diye bir şey olmaz, kutular her zaman hizalı ve eşit olur.

   Formun doğrudan div çocukları:
     div#1 .form-group    Alış lokasyonu
     div#2 .form-group    Dönüş lokasyonu
     div#3 .datetime-row  Alış tarihi + saati
     div#4 .datetime-row  Bırakış tarihi + saati
     div#5 .form-row      Yaş + Ülke
   (:nth-of-type tüm div kardeşleri sayar, sınıfa göre değil.)

   Masaüstü yerleşimi — mantıksal gruplama:
     Satır 1: [ Alış Lokasyonu ][ Alış Tarihi ][ Alış Saati ][ Bırakış Tarihi ][ Bırakış Saati ]
     Satır 2: [ Dönüş Lokasyonu ][ Yaş ][ Ülke ][ ARAÇ ARA ]
   Alış saati alış tarihinin, bırakış saati bırakış tarihinin YANINDA.
   ============================================================================ */

@media (min-width: 1100px) {
  body .hero-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 24px !important; }
  body .hero-search-col { width: 100%; }
  body .search-box { max-width: none !important; width: 100% !important; padding: 0 !important; }

  body .search-box-header {
    padding: 12px 24px !important;
    background: var(--mfr-canvas) !important;
    border-bottom: 1px solid var(--mfr-line) !important;
    border-radius: var(--mfr-r-xl) var(--mfr-r-xl) 0 0;
  }
  body .search-box-header h2 { font-size: 16px !important; }

  /* 20 sütunluk ızgara: her alan tam olarak yerine oturur */
  body #searchForm {
    display: grid !important;
    grid-template-columns: repeat(20, minmax(0, 1fr)) !important;
    align-items: end;
    gap: 14px !important;
    padding: 20px 24px !important;
  }
  body #searchForm > .datetime-row { display: contents !important; }

  /* --- Satır 1 --- */
  body #searchForm > .form-group:nth-of-type(1)                                { grid-column: 1 / span 6;  grid-row: 1; }
  body #searchForm > .datetime-row:nth-of-type(3) > .form-group:nth-child(1)   { grid-column: 7 / span 4;  grid-row: 1; }
  body #searchForm > .datetime-row:nth-of-type(3) > .form-group:nth-child(2)   { grid-column: 11 / span 3; grid-row: 1; }
  body #searchForm > .datetime-row:nth-of-type(4) > .form-group:nth-child(1)   { grid-column: 14 / span 4; grid-row: 1; }
  body #searchForm > .datetime-row:nth-of-type(4) > .form-group:nth-child(2)   { grid-column: 18 / span 3; grid-row: 1; }

  /* --- Satır 2 --- */
  body #searchForm > .form-group:nth-of-type(2)        { grid-column: 1 / span 6;  grid-row: 2; }
  body #searchForm > .form-row:not(.datetime-row) {
    grid-column: 7 / span 8; grid-row: 2;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
  body #searchForm > .btn-search {
    grid-column: 15 / span 6; grid-row: 2;
    margin: 0 !important;
    width: 100%;
  }

  /* Tüm alanlar aynı yükseklikte */
  body .search-box input[type="text"],
  body .search-box select,
  body .search-box .date-picker,
  body .search-box .time-select,
  body .search-box .ds-select__trigger,
  body .search-box .btn-search { min-height: 52px !important; }

  body .search-box .form-group { min-width: 0; }
  body .search-box .form-group > label {
    font-size: 10.5px !important;
    margin-bottom: 6px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* "Aynı lokasyona dönüş" onay kutusu dönüş alanının altında */
  body .search-box .same-location,
  body .search-box .different-dropoff-toggle { margin-top: 8px !important; }
}

/* --- Tablet: iki sütun, mantıksal çiftler bozulmadan --- */
@media (min-width: 768px) and (max-width: 1099px) {
  body #searchForm {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: end;
    gap: 12px !important;
  }
  body #searchForm > .datetime-row { display: contents !important; }
  body #searchForm > .form-group:nth-of-type(1) { grid-column: 1 / span 2; }
  body #searchForm > .form-group:nth-of-type(2) { grid-column: 3 / span 2; }
  body #searchForm > .datetime-row:nth-of-type(3) > .form-group:nth-child(1) { grid-column: 1 / span 1; }
  body #searchForm > .datetime-row:nth-of-type(3) > .form-group:nth-child(2) { grid-column: 2 / span 1; }
  body #searchForm > .datetime-row:nth-of-type(4) > .form-group:nth-child(1) { grid-column: 3 / span 1; }
  body #searchForm > .datetime-row:nth-of-type(4) > .form-group:nth-child(2) { grid-column: 4 / span 1; }
  body #searchForm > .form-row:not(.datetime-row) {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  body #searchForm > .btn-search { grid-column: 1 / -1; }
}

/* --- Mobil: tek sütun, tarih ve saat yan yana --- */
@media (max-width: 767px) {
  body #searchForm {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body #searchForm > .datetime-row {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr !important;
    gap: 10px !important;
  }
  body #searchForm > .form-row:not(.datetime-row) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  body .search-box input[type="text"],
  body .search-box select,
  body .search-box .date-picker,
  body .search-box .time-select,
  body .search-box .ds-select__trigger { min-height: 50px !important; font-size: 16px !important; }
  body #searchForm > .btn-search { min-height: 54px !important; }
}

/* ============================================================================
   23. ALT BİLGİ — çok sütunlu kurumsal düzen (referans tarzı)
   ============================================================================ */

body .site-footer-grid {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr !important;
  gap: 32px !important;
  align-items: start;
}

body .site-footer-column h2,
body .site-footer-brand h2 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin: 0 0 14px !important;
  letter-spacing: -.01em;
}
body .site-footer-column ul {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  gap: 9px;
}
body .site-footer-column a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  line-height: 1.5;
  text-decoration: none;
  transition: color .16s ease;
}
body .site-footer-brand p {
  font-size: 13.8px !important;
  line-height: 1.7 !important;
  max-width: 42ch;
}
body .site-footer-brand img { max-height: 46px; width: auto; }

/* İletişim sütunu kartları */
body .site-footer-contact .site-footer-action,
body .site-footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 11px 13px;
  border-radius: var(--mfr-r-md);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
body .site-footer-contact i { color: var(--mfr-blue-300) !important; margin-top: 2px; }
body .site-footer-contact strong { display: block; font-size: 14px; }
body .site-footer-contact small { display: block; font-size: 12.3px; opacity: .85; }

/* Güven rozetleri */
body .site-footer-badges {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;
}
body .site-footer-badges > * {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  font-size: 12.2px;
}

/* Alt şerit */
body .site-footer-bottom {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

/* --- Tablet --- */
@media (max-width: 1024px) {
  body .site-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 26px !important; }
  body .site-footer-brand { grid-column: 1 / -1; }
}

/* --- Mobil --- */
@media (max-width: 640px) {
  body .site-footer-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
  body .site-footer-column h2 { font-size: 14.5px !important; margin-bottom: 10px !important; }
  body .site-footer-column ul { gap: 2px; }
  body .site-footer-column a { min-height: 40px; font-size: 14px !important; }
  body .site-footer-brand p { font-size: 13.5px !important; max-width: none; }
  body .site-footer-bottom { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* ============================================================================
   25. HERO — küçük güven şeridi masaüstünde kaldırıldı
   ----------------------------------------------------------------------------
   "110+ Araç Kiralama Firması / Vade Farksız 3 Taksit / Anında Rezervasyon
   Onayı / Ücretsiz İptal Avantajı" satırı, hemen üstündeki CTA haplarıyla
   AYNI bilgiyi tekrar ediyordu ve arka planda silik duruyordu.
   Masaüstünde gizlendi; mobilde de gerekmiyor (haplar zaten var).
   ============================================================================ */

body .search-trust-line { display: none !important; }

/* ============================================================================
   26. ARAMA SONUÇLARI — lokasyon özeti hizalaması
   ----------------------------------------------------------------------------
   Lokasyon adları "İstanbul Ay..." şeklinde kırpılıyor, kart içindeki
   sütunlar eşit genişlikte olmadığı için düzen kayıyordu.
   ============================================================================ */

@media (min-width: 768px) {
  body .search-info-card {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 18px 22px !important;
    gap: 24px !important;
  }
  /* İki lokasyon EŞİT genişlikte; ok ortada sabit */
  body .search-info-card .location-info {
    grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  /* Kırpma yerine iki satıra sarma — şehir adı tam görünür */
  body .search-info-card .value {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow-wrap: anywhere;
    line-height: 1.28 !important;
  }
  body .search-info-card .rental-info { flex-wrap: nowrap; }
  body .search-info-card .days,
  body .search-info-card .btn-edit { height: 46px; }
}

/* Filtre paneli ve sonuç sütunu hizası */
@media (min-width: 992px) {
  body .search-layout,
  body .search-results-layout,
  body .results-wrapper {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start;
  }
  body .filters-sidebar {
    position: sticky !important;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
  }
  body .filters-sidebar::-webkit-scrollbar { width: 6px; }
  body .filters-sidebar::-webkit-scrollbar-thumb { background: var(--mfr-line-2); border-radius: 99px; }
}

/* Sonuç başlığı ve sıralama tek satırda */
@media (min-width: 768px) {
  body .results-header,
  body .results-toolbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
  }
  body .results-header .sort-wrapper,
  body .results-toolbar .sort-wrapper { margin-left: auto; min-width: 220px; }
  body .results-header select,
  body .results-toolbar select { min-height: 44px; }
}

/* Sınıf/fiyat şeridi kartları eşit ölçüde */
body .class-scroller .class-card,
body .category-scroller > * {
  min-width: 190px;
  border-radius: var(--mfr-r-md) !important;
  border: 1px solid var(--mfr-line) !important;
  background: var(--mfr-white) !important;
}


/* ============================================================================
   28. YÖNETİM PANELİ — YALNIZCA MARKA RENKLERİ
   ----------------------------------------------------------------------------
   ÖNEMLİ DERS: ds-admin.css zaten eksiksiz ve doğru çalışan bir yönetim
   paneli düzeni içeriyor:
     • Masaüstü: 260px sabit dikey ray (.admin-layout grid)
     • ≤1180px : ray 76px'e iner, yalnızca ikonlar
     • ≤900px  : ray çekmeceye dönüşür (translateX + body.ds-sidebar-open)

   Önceki sürümlerde bu düzeni YATAY bir çubuğa çevirmeye çalışmıştım.
   İki tasarım çakışınca menü ya görünmüyor ya da tıklanmıyordu.

   Bu blok artık DÜZENE HİÇ DOKUNMAZ — sadece renkleri markaya uyarlar.
   Konum, genişlik, yön ve çekmece davranışı ds-admin.css'e bırakılmıştır.
   ============================================================================ */

/* --- Ray: marka lacivert degradesi --- */
body.admin-portal-page .admin-layout .sidebar {
  background: linear-gradient(180deg, #0A3161 0%, #062B52 100%) !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}
body.admin-portal-page .sidebar-header {
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
body.admin-portal-page .sidebar-logo span { color: #FFFFFF !important; }
body.admin-portal-page .sidebar-nav::before { color: rgba(255,255,255,.38) !important; }

/* --- Menü öğeleri --- */
body.admin-portal-page .sidebar-nav .nav-item {
  color: rgba(255,255,255,.74) !important;
  border-color: transparent !important;
}
body.admin-portal-page .sidebar-nav .nav-item i { color: var(--mfr-blue-300) !important; }
body.admin-portal-page .sidebar-nav .nav-item:hover {
  background: rgba(255,255,255,.08) !important;
  color: #FFFFFF !important;
}
body.admin-portal-page .sidebar-nav .nav-item:hover i { color: #FFFFFF !important; }
body.admin-portal-page .sidebar-nav .nav-item.active {
  background: var(--mfr-blue-600) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
}
body.admin-portal-page .sidebar-nav .nav-item.active i { color: #FFFFFF !important; }
body.admin-portal-page .sidebar-nav .nav-item.active::before { background: var(--mfr-blue-300) !important; }

/* Süs katmanları tıklamayı yutmasın (menülerin tıklanmama sebebi) */
body.admin-portal-page .sidebar::before,
body.admin-portal-page .sidebar::after,
body.admin-portal-page .sidebar-nav::before,
body.admin-portal-page .nav-item::before,
body.admin-portal-page .nav-item::after { pointer-events: none !important; }
body.admin-portal-page .sidebar-nav .nav-item { pointer-events: auto !important; }

/* --- İçerik alanı: kart ve form renkleri --- */
body.admin-portal-page .card,
body.admin-portal-page .panel,
body.admin-portal-page .settings-card {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-lg) !important;
  box-shadow: var(--mfr-sh-1) !important;
}
body.admin-portal-page .btn-primary,
body.admin-portal-page button[type="submit"] {
  background: var(--mfr-blue-600) !important;
  border: 0 !important;
  color: #FFFFFF !important;
  border-radius: var(--mfr-r-md) !important;
  min-height: 44px;
}
body.admin-portal-page .stat-card i,
body.admin-portal-page .kpi-icon {
  background: var(--mfr-blue-600) !important;
  color: #FFFFFF !important;
}
body.admin-portal-page input:focus,
body.admin-portal-page select:focus,
body.admin-portal-page textarea:focus {
  border-color: var(--mfr-blue-600) !important;
  box-shadow: 0 0 0 3px rgba(13,108,190,.16) !important;
}
body.admin-portal-page .table th {
  background: var(--mfr-canvas) !important;
  color: var(--mfr-ink-3) !important;
}
body.admin-portal-page .card-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Müşteri sayfalarının üst menüsü admin'de görünmesin */
body.admin-portal-page .main-header,
body.admin-portal-page .top-bar,
body.admin-portal-page .site-footer { display: none !important; }

/* ============================================================================
   29. ARAMA ÖZET KARTI — nihai düzen (mobil + masaüstü)
   ----------------------------------------------------------------------------
   search.php yapısı:
     .search-info-card
        .location-info  ( .location-item ×2 + .location-arrow )
        .rental-info    ( .days + .btn-edit )

   Önceki sürümlerde mobilde "7 Gün" ve "Aramayı Düzenle" düğmeleri
   lokasyon metinlerinin ÜZERİNE biniyordu; masaüstünde ise kart sola
   yapışık kalıp sağdaki sonuç sütunuyla hizalanmıyordu.
   ============================================================================ */

body .search-info-card {
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-line) !important;
  border-radius: var(--mfr-r-lg) !important;
  box-shadow: var(--mfr-sh-1) !important;
}

body .search-info-card .location-item {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
body .search-info-card .location-item > i {
  flex: 0 0 auto;
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--mfr-r-md);
  font-size: 15px;
  background: var(--mfr-blue-50) !important;
  color: var(--mfr-blue-600) !important;
}
body .search-info-card .location-item > i.dropoff {
  background: #FFF4E3 !important;
  color: #B7791F !important;
}
body .search-info-card .location-item > div { min-width: 0; flex: 1 1 auto; }

body .search-info-card .label {
  display: block;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mfr-ink-3) !important;
  margin: 0 0 3px !important;
  line-height: 1.3 !important;
  white-space: nowrap;
}
body .search-info-card .value {
  display: block;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--mfr-ink) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body .search-info-card .date {
  display: block;
  font-size: 12.5px !important;
  color: var(--mfr-ink-2) !important;
  font-variant-numeric: tabular-nums;
  margin: 3px 0 0 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}

body .search-info-card .location-arrow {
  flex: 0 0 auto;
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--mfr-canvas);
  border: 1px solid var(--mfr-line);
  color: var(--mfr-ink-3) !important;
  font-size: 12px;
  align-self: center;
}

body .search-info-card .days {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--mfr-blue-600) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  font-size: 14.5px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: none !important;
}
body .search-info-card .days i { color: #FFFFFF !important; font-size: 13px; }

body .search-info-card .btn-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 18px;
  border-radius: var(--mfr-r-md);
  background: var(--mfr-white) !important;
  border: 1px solid var(--mfr-blue-300) !important;
  color: var(--mfr-blue-700) !important;
  font-size: 14.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
}
body .search-info-card .btn-edit:hover {
  background: var(--mfr-blue-50) !important;
  border-color: var(--mfr-blue-600) !important;
}
body .search-info-card .btn-edit i { color: var(--mfr-blue-600) !important; font-size: 13px; }

/* ---------- MASAÜSTÜ (≥992px) ----------
   Kart, sağdaki sonuç sütunuyla aynı hizada başlar ve biter.       */
@media (min-width: 992px) {
  body .search-info-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 24px !important;
    padding: 18px 22px !important;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
  }
  body .search-info-card .location-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) !important;
    align-items: center;
    gap: 18px !important;
    min-width: 0;
  }
  body .search-info-card .rental-info {
    display: flex !important;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
  }
}

/* ---------- TABLET (768–991px) ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  body .search-info-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 16px !important;
  }
  body .search-info-card .location-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) !important;
    align-items: center;
    gap: 14px !important;
  }
  body .search-info-card .rental-info {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
  }
}

/* ---------- MOBİL (≤767px) ----------
   Düğmeler artık lokasyonların ÜZERİNE binmiyor; kendi satırında. */
@media (max-width: 767px) {
  body .search-info-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  /* Ok gizlenir; alış ve dönüş alt alta, kesikli ayraçla */
  body .search-info-card .location-info {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  body .search-info-card .location-arrow { display: none !important; }
  body .search-info-card .location-item { padding: 10px 0 !important; }
  body .search-info-card .location-item + .location-item {
    border-top: 1px dashed var(--mfr-line);
  }
  body .search-info-card .location-item > i { width: 34px; height: 34px; font-size: 13px; }

  /* Etiket ve değer alt alta, sarma yok */
  body .search-info-card .label { font-size: 10px !important; }
  body .search-info-card .value { font-size: 15.5px !important; }
  body .search-info-card .date  { font-size: 12.5px !important; white-space: normal; }

  /* Düğmeler kendi satırında, yan yana ve eşit */
  body .search-info-card .rental-info {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding-top: 12px;
    border-top: 1px solid var(--mfr-line);
  }
  body .search-info-card .days   { height: 46px; padding: 0 16px; }
  body .search-info-card .btn-edit { height: 46px; width: 100%; }
}

@media (max-width: 380px) {
  body .search-info-card .rental-info { grid-template-columns: 1fr !important; }
  body .search-info-card .days { width: 100%; }
}
