/* ============================================================================
   MFR-POLISH.CSS  —  Metropol Fleet Rentals · Son Görünüm Katmanı
   ----------------------------------------------------------------------------
   BU DOSYA NE YAPAR?
   Projede 14 ayrı CSS dosyası üst üste yükleniyor (style, premium-style,
   ultra-premium, final-polish, enterprise-responsive, ds-core, ds-site,
   mfr-brand ...). Bunlar birbirini kısmen eziyor ve sonuçta:

     · Aynı seviyedeki başlıklar farklı boyutlarda çıkıyor
       (.section-title = 26–36px  /  .partner-heading h2 = 20–30px)
     · Açıklama metinleri 15.5px, 16px ve 17px olmak üzere 3 farklı ölçekte
     · Mobil arama özetinde "7 Gün" rozeti konum yazısının üstüne biniyor
     · Tedarikçi logo şeridindeki büyüme efekti kesik/takılmalı çalışıyor

   Bu dosya EN SON yüklenir ve tek bir tipografi + boşluk ölçeği dayatır.
   Böylece alttaki dosyalara hiç dokunmadan tüm sayfalar hizaya girer.

   ÖNEMLİ: Bu dosya SADECE görünümle ilgilidir.
   Hiçbir API çağrısı, ödeme akışı, form alanı adı (name=), action, id veya
   JavaScript davranışı bu dosyadan etkilenmez. Sadece CSS özellikleri içerir.

   Yükleme sırası:  ... → mfr-brand.css → mfr-polish.css  (bu dosya)
   ============================================================================ */


/* ============================================================================
   0. ÖLÇEK DEĞİŞKENLERİ
   ----------------------------------------------------------------------------
   Tüm sayfalarda tek bir tipografi merdiveni. clamp() kullanıldığı için
   320px telefondan 1920px masaüstüne kadar akışkan (responsive) büyür/küçülür;
   ayrı ayrı medya sorgusu yazmaya gerek kalmaz.
   ============================================================================ */
:root {
    /* Başlık merdiveni */
    --mp-fs-hero:  clamp(27px, 4.6vw, 50px);   /* h1 / hero başlık        */
    --mp-fs-h1:    clamp(25px, 3.6vw, 40px);   /* iç sayfa h1             */
    --mp-fs-h2:    clamp(23px, 3.1vw, 36px);   /* bölüm başlıkları        */
    --mp-fs-h3:    clamp(18px, 1.9vw, 22px);   /* kart başlıkları         */
    --mp-fs-h4:    clamp(16px, 1.5vw, 18px);   /* alt başlıklar           */

    /* Gövde merdiveni */
    --mp-fs-lead:  clamp(15px, 1.35vw, 17px);  /* bölüm açıklaması        */
    --mp-fs-body:  clamp(14.5px, 1.05vw, 16px);/* normal metin            */
    --mp-fs-sm:    clamp(13px, .95vw, 14px);   /* yardımcı metin          */
    --mp-fs-xs:    clamp(11.5px, .85vw, 12.5px);/* etiket / rozet         */

    /* Satır yükseklikleri */
    --mp-lh-tight: 1.16;
    --mp-lh-head:  1.24;
    --mp-lh-body:  1.62;

    /* Bölüm iç boşlukları (dikey ritim) */
    --mp-sec-pad:  clamp(46px, 5.5vw, 88px);
    --mp-gap:      clamp(14px, 1.6vw, 22px);

    /* Köşe yarıçapı — tüm sitede tek standart */
    --mp-r-sm: 10px;
    --mp-r-md: 14px;
    --mp-r-lg: 18px;

    /* Gölge merdiveni */
    --mp-sh-1: 0 1px 2px rgba(16,32,56,.06), 0 2px 6px -2px rgba(16,32,56,.08);
    --mp-sh-2: 0 4px 10px -4px rgba(16,32,56,.10), 0 12px 28px -14px rgba(16,32,56,.16);
    --mp-sh-3: 0 10px 24px -10px rgba(16,32,56,.18), 0 24px 56px -28px rgba(16,32,56,.28);

    /* Renkler — mevcut marka değişkenleri varsa onlara devreder */
    --mp-ink:   #0F1F35;
    --mp-ink-2: #46586F;
    --mp-ink-3: #6C7E95;
    --mp-line:  #E4EAF3;
    --mp-line-2:#D4DEEC;
    --mp-blue:  #0B63F6;
    --mp-blue-d:#0A4FC4;
    --mp-canvas:#F5F8FC;
}


/* ============================================================================
   1. GLOBAL GÜVENLİK AĞLARI
   ----------------------------------------------------------------------------
   Yatay kaymayı (yan yana kayan sayfa) kesin olarak engeller. Mobilde
   "sayfa sağa sola oynuyor" şikayetinin ana sebebi bir elemanın viewport'tan
   taşmasıdır; burada kökten kapatılıyor.
   ============================================================================ */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

html, body {
    max-width: 100%;
    overflow-x: clip;               /* clip destekleyen tarayıcılar     */
}

@supports not (overflow: clip) {
    html, body { overflow-x: hidden; }
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Görsel ve gömülü içerik hiçbir zaman kabından taşmasın */
img, svg, video, iframe, canvas, table {
    max-width: 100%;
}
img, svg, video { height: auto; }

/* Uzun kelime / URL taşmasını engelle (özellikle Türkçe uzun kelimeler) */
p, li, td, th, label, a, strong, small {
    overflow-wrap: break-word;
    word-break: normal;
}

/* Basliklar KELIME ORTASINDAN bolunmesin.
   Onceki surumde basliklara da break-word verilmisti; dar footer
   sutununda "Hizmetlerimiz" -> "Hizmetlerim / iz" seklinde bolunuyordu. */
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Başlıklar satır sonlarını dengeli bölsün — kısa "yetim" satır kalmasın */
h1, h2, h3, .section-title, .hero-title {
    text-wrap: balance;
}
p, .section-desc, .hero-desc {
    text-wrap: pretty;
}

/* iOS Safari: 16px altındaki input'a dokununca sayfa otomatik zoom yapar.
   Bu, "yazılar kayıyor / ekran zıplıyor" şikayetinin klasik sebebidir. */
@media (max-width: 900px) {
    input[type="text"], input[type="email"], input[type="tel"],
    input[type="password"], input[type="number"], input[type="search"],
    input[type="date"], input[type="datetime-local"], input[type="time"],
    select, textarea {
        font-size: 16px !important;
    }
}

/* Dokunma hedefleri en az 44px (Apple HIG / WCAG 2.5.5) */
@media (max-width: 900px) {
    .btn, .btn-primary, .btn-outline, .btn-select, .btn-edit,
    button:not(.wa-bubble-close):not(.mobile-menu-close),
    .class-chip, .filter-toggle, .pagination a, .pagination span {
        min-height: 44px;
    }
}

/* Klavye ile gezinenler için görünür odak halkası (erişilebilirlik) */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
    outline: 3px solid rgba(11, 99, 246, .55) !important;
    outline-offset: 2px !important;
    border-radius: 6px;
}

/* iPhone çentik/alt çubuk güvenli alanı */
body {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}


/* ============================================================================
   2. TEK TİPOGRAFİ ÖLÇEĞİ  —  "metinlerin boyutu aynı değil" düzeltmesi
   ----------------------------------------------------------------------------
   Aşağıdaki seçici listeleri bilinçli olarak uzun: her CSS dosyasının kendi
   başlık seçicisi burada tek çatı altında toplanıyor. Böylece ana sayfadaki
   TÜM bölüm başlıkları birebir aynı boyutta oluyor.
   ============================================================================ */

/* ---- H1 / Hero başlık ---- */
body:not(.admin-portal-page) .hero-title,
body:not(.admin-portal-page) .hero h1 {
    font-size: var(--mp-fs-hero) !important;
    line-height: var(--mp-lh-tight) !important;
    letter-spacing: -.028em !important;
    margin-bottom: .38em !important;
}

body:not(.admin-portal-page) .hero-title-brand {
    display: block;
    font-size: clamp(12.5px, 1.3vw, 15px) !important;
    line-height: 1.3 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    opacity: .92;
    margin-bottom: .55em;
}

body:not(.admin-portal-page) h1:not(.hero-title) {
    font-size: var(--mp-fs-h1) !important;
    line-height: var(--mp-lh-tight) !important;
    letter-spacing: -.026em !important;
}

/* ---- H2 / Bölüm başlıkları — HEPSİ AYNI BOYUT ----
   Bu blok "ana girişteki metin boyutları farklı" sorununun asıl çözümü.  */
/* (b) BOLUM BASLIKLARI - burasi esitlenmesi gereken yer.
   Secicilerin hepsi ".section-header" / ".partner-heading" /
   ".network-heading" gibi BOLUM BASLIGI kapsayicilarinin icinde.
   Footer, kart, form ve arama kutusu basliklari bu listede YOK;
   onlar kendi olculerini korur.
   NOT: Burada bilerek "color" TANIMLANMIYOR. Onceki surumde
   color: koyu-lacivert veriliyordu ve .location-network / .cta gibi
   KOYU ZEMINLI bolumlerde baslik goze gorunmez oluyordu. */
body:not(.admin-portal-page) .section-header .section-title,
body:not(.admin-portal-page) .section-header h2,
body:not(.admin-portal-page) .section-title-wrap h2,
body:not(.admin-portal-page) .partner-heading h2,
body:not(.admin-portal-page) .network-heading h2,
body:not(.admin-portal-page) .home-campaigns > .container > h2,
body:not(.admin-portal-page) .service-matrix > .container > h2,
body:not(.admin-portal-page) .features > .container > h2,
body:not(.admin-portal-page) .how-it-works > .container > h2,
body:not(.admin-portal-page) .testimonials > .container > h2,
body:not(.admin-portal-page) .faq-section > .container > h2,
body:not(.admin-portal-page) .cta > .container > h2 {
    font-size: var(--mp-fs-h2) !important;
    line-height: var(--mp-lh-head) !important;
    letter-spacing: -.026em !important;
    font-weight: 800 !important;
    margin: 0 0 .38em !important;
}

/* Marka vurgusu (mavi degrade) korunur; boyut yukarıdan miras alınır */
body:not(.admin-portal-page) .section-title span,
body:not(.admin-portal-page) h2 > span.highlight {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

/* ---- H3 / kart başlıkları ----
   NOT: Burada bilinçli olarak çıplak "h3" seçicisi KULLANILMIYOR.
   "body:not(.admin-portal-page) h3" (0,1,2) ağırlığındadır ve
   ".vehicle-hero h2" gibi tek sınıflı bileşen kurallarını (0,1,1)
   sessizce ezer. Sadece adı geçen bileşenler hedefleniyor. */
body:not(.admin-portal-page) .feature-card h3,
body:not(.admin-portal-page) .step-card h3,
body:not(.admin-portal-page) .campaign-benefit-card h3,
body:not(.admin-portal-page) .faq-item h3 {
    font-size: var(--mp-fs-h3) !important;
    line-height: var(--mp-lh-head) !important;
    letter-spacing: -.02em !important;
    font-weight: 800 !important;
    margin: 0 0 .4em !important;
}

/* ---- Bölüm açıklamaları — HEPSİ AYNI BOYUT ---- */
body:not(.admin-portal-page) .section-desc,
body:not(.admin-portal-page) .section-subtitle,
body:not(.admin-portal-page) .partner-heading p,
body:not(.admin-portal-page) .network-heading p,
body:not(.admin-portal-page) .service-matrix > .container > p,
body:not(.admin-portal-page) .cta p,
body:not(.admin-portal-page) .hero-desc {
    font-size: var(--mp-fs-lead) !important;
    line-height: var(--mp-lh-body) !important;
    max-width: 64ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hero açıklaması sola hizalı kalsın (ortalanmasın) */
body:not(.admin-portal-page) .hero-desc {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ---- Gövde metni ---- */
body:not(.admin-portal-page) .text-muted,
body:not(.admin-portal-page) .muted {
    font-size: var(--mp-fs-sm);
    line-height: 1.5;
}

/* ---- Üst etiket / rozet (eyebrow) — hepsi aynı ---- */
body:not(.admin-portal-page) .section-badge,
body:not(.admin-portal-page) .partner-heading > span,
body:not(.admin-portal-page) .network-heading > span,
body:not(.admin-portal-page) .hero-badge {
    font-size: var(--mp-fs-xs) !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-bottom: 14px !important;
}

/* ---- Bölüm dikey ritmi: tüm bölümler aynı nefes payı ---- */
body:not(.admin-portal-page) .home-campaigns,
body:not(.admin-portal-page) .service-matrix,
body:not(.admin-portal-page) .features,
body:not(.admin-portal-page) .location-network,
body:not(.admin-portal-page) .how-it-works,
body:not(.admin-portal-page) .testimonials,
body:not(.admin-portal-page) .faq-section,
body:not(.admin-portal-page) .cta,
body:not(.admin-portal-page) .partner-strip {
    padding-top: var(--mp-sec-pad) !important;
    padding-bottom: var(--mp-sec-pad) !important;
}

body:not(.admin-portal-page) .section-header,
body:not(.admin-portal-page) .partner-heading,
body:not(.admin-portal-page) .network-heading {
    margin: 0 auto clamp(24px, 3vw, 40px) !important;
    max-width: 860px;
    text-align: center;
}


/* ============================================================================
   3. HERO — hizalama ve okunabilirlik
   ============================================================================ */
body:not(.admin-portal-page) .hero-valueprops {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    list-style: none !important;
}

body:not(.admin-portal-page) .hero-valueprops li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: clamp(12.5px, 1vw, 14px) !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    margin: 0 !important;
}

body:not(.admin-portal-page) .hero-valueprops li i {
    font-size: 1em !important;
    flex: 0 0 auto;
}

/* Hero butonları: mobilde tam genişlik, masaüstünde yan yana */
body:not(.admin-portal-page) .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

body:not(.admin-portal-page) .hero-actions .btn {
    font-size: clamp(14px, 1.1vw, 15.5px) !important;
    font-weight: 700 !important;
    min-height: 50px !important;
    padding: 0 22px !important;
    border-radius: var(--mp-r-sm) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
}

@media (max-width: 560px) {
    body:not(.admin-portal-page) .hero-actions { flex-direction: column !important; }
    body:not(.admin-portal-page) .hero-actions .btn { width: 100% !important; }
}

/* Hero istatistikleri — üçü de aynı hizada, aynı boyutta */
body:not(.admin-portal-page) .hero-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

body:not(.admin-portal-page) .hero-stats .stat-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 12px 8px !important;
}

body:not(.admin-portal-page) .stat-number {
    font-size: clamp(19px, 2.1vw, 27px) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}

body:not(.admin-portal-page) .stat-label {
    font-size: clamp(10.5px, .9vw, 12.5px) !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

/* Güven şeridi ve ödeme rozetleri */
body:not(.admin-portal-page) .trust-rail,
body:not(.admin-portal-page) .payment-trust-rail {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

body:not(.admin-portal-page) .trust-pill {
    font-size: var(--mp-fs-xs) !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

body:not(.admin-portal-page) .payment-trust-rail i {
    font-size: clamp(20px, 2vw, 26px) !important;
}

body:not(.admin-portal-page) .payment-trust-rail span {
    font-size: var(--mp-fs-xs) !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Kampanya kartları (hero yanı) — başlık/metin ölçeği eşitleniyor */
body:not(.admin-portal-page) .campaign-card strong {
    font-size: var(--mp-fs-h4) !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin-bottom: 6px !important;
}

body:not(.admin-portal-page) .campaign-card span {
    font-size: var(--mp-fs-sm) !important;
    line-height: 1.55 !important;
    color: var(--mp-ink-2) !important;
}


/* ============================================================================
   4. KART AİLESİ — tüm sayfalarda aynı dil
   ----------------------------------------------------------------------------
   Farklı CSS dosyalarından gelen 6px/8px/12px/16px/20px yarıçapları
   tek standarda indiriliyor. Kartlar aynı gölge ve kenarlığı paylaşıyor.
   ============================================================================ */
body:not(.admin-portal-page) .feature-card,
body:not(.admin-portal-page) .step-card,
body:not(.admin-portal-page) .testimonial-card,
body:not(.admin-portal-page) .campaign-benefit-card,
body:not(.admin-portal-page) .quick-service-card,
body:not(.admin-portal-page) .service-matrix-grid article,
body:not(.admin-portal-page) .faq-item,
body:not(.admin-portal-page) .summary-card,
body:not(.admin-portal-page) .form-section,
body:not(.admin-portal-page) .account-card {
    border-radius: var(--mp-r-md) !important;
    border: 1px solid var(--mp-line) !important;
    box-shadow: var(--mp-sh-1) !important;
    background: #fff !important;
    padding: clamp(16px, 2vw, 24px) !important;
    transition: transform .22s cubic-bezier(.2,.8,.3,1),
                box-shadow .22s ease,
                border-color .22s ease !important;
}

@media (hover: hover) {
    body:not(.admin-portal-page) .feature-card:hover,
    body:not(.admin-portal-page) .step-card:hover,
    body:not(.admin-portal-page) .testimonial-card:hover,
    body:not(.admin-portal-page) .campaign-benefit-card:hover,
    body:not(.admin-portal-page) .service-matrix-grid article:hover {
        transform: translateY(-3px);
        box-shadow: var(--mp-sh-2) !important;
        border-color: var(--mp-line-2) !important;
    }
}

/* Kart içi metinler tek ölçekte */
body:not(.admin-portal-page) .feature-card p,
body:not(.admin-portal-page) .step-card p,
body:not(.admin-portal-page) .campaign-benefit-card p,
body:not(.admin-portal-page) .service-matrix-grid article p {
    font-size: var(--mp-fs-body) !important;
    line-height: var(--mp-lh-body) !important;
    color: var(--mp-ink-2) !important;
    margin: 0 !important;
}

/* Kart ikonları aynı boyut ve hizada */
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) .step-number {
    width: clamp(44px, 4vw, 54px) !important;
    height: clamp(44px, 4vw, 54px) !important;
    font-size: clamp(17px, 1.6vw, 21px) !important;
    border-radius: var(--mp-r-sm) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    margin-bottom: 14px !important;
}

/* Izgaralar: mobilde tek sütun, tablette iki, masaüstünde otomatik */
body:not(.admin-portal-page) .features-grid,
body:not(.admin-portal-page) .steps-grid,
body:not(.admin-portal-page) .testimonials-grid,
body:not(.admin-portal-page) .service-matrix-grid,
body:not(.admin-portal-page) .campaign-benefits {
    display: grid !important;
    gap: var(--mp-gap) !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
    align-items: stretch !important;
}

/* Lokasyon ağı ızgarası */
body:not(.admin-portal-page) .network-grid {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)) !important;
}

body:not(.admin-portal-page) .network-item {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 62px !important;
    padding: 12px 14px !important;
    border-radius: var(--mp-r-sm) !important;
    border: 1px solid var(--mp-line) !important;
    background: #fff !important;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

@media (hover: hover) {
    body:not(.admin-portal-page) .network-item:hover {
        border-color: var(--mp-blue) !important;
        box-shadow: var(--mp-sh-1) !important;
        transform: translateY(-2px);
    }
}

body:not(.admin-portal-page) .network-txt {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
    font-size: var(--mp-fs-sm) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--mp-ink) !important;
}

body:not(.admin-portal-page) .network-txt small {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase;
    color: var(--mp-ink-3) !important;
}

body:not(.admin-portal-page) .network-ico {
    width: 36px !important; height: 36px !important;
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    border-radius: 9px !important;
    flex: 0 0 auto !important;
    font-size: 15px !important;
}

/* SSS öğeleri */
body:not(.admin-portal-page) .faq-item h3,
body:not(.admin-portal-page) .faq-question {
    font-size: var(--mp-fs-h4) !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

body:not(.admin-portal-page) .faq-item p,
body:not(.admin-portal-page) .faq-answer {
    font-size: var(--mp-fs-body) !important;
    line-height: var(--mp-lh-body) !important;
    color: var(--mp-ink-2) !important;
}


/* ============================================================================
   5. TEDARİKÇİ LOGO ŞERİDİ — "sola kayarken patlayan" animasyon
   ----------------------------------------------------------------------------
   ÖNCEKİ SORUN:
   Şerit CSS keyframe ile sabit hızda kayıyordu; ortadaki logoyu büyütmek için
   JavaScript .is-center sınıfı ekleyip çıkarıyordu. Sınıfa 0.38s'lik bir CSS
   geçişi bağlı olduğu için efekt kaymaya yetişemiyor, kartlar merkezi geçtikten
   SONRA büyüyüp aniden küçülüyordu — ekranda "patlama/takılma" olarak görünüyordu.

   YENİ ÇÖZÜM:
   mfr-polish.js her karenin merkeze uzaklığını ölçüp ölçeği KESİNTİSİZ hesaplar
   ve doğrudan inline transform olarak yazar. CSS geçişi devre dışı bırakılır;
   büyüme merkeze yaklaştıkça yumuşakça artar, uzaklaştıkça yumuşakça azalır.
   Sonuç: logo tam ortadan geçerken "şişip" sönen akıcı bir dalga efekti.
   ============================================================================ */
body .partner-strip {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--mp-canvas) 100%) !important;
    border-top: 1px solid var(--mp-line) !important;
    border-bottom: 1px solid var(--mp-line) !important;
    overflow: hidden;
}

body .partner-marquee {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 34px 0 30px !important;   /* büyüyen kart üstten/alttan kesilmesin */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}

/* Ortadaki "sahne" ışığı — büyüyen logonun arkasında yumuşak parıltı */
body .partner-marquee::before {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 260px; height: 130px;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center,
                rgba(11,99,246,.13) 0%,
                rgba(11,99,246,.05) 45%,
                transparent 72%);
    pointer-events: none;
    z-index: 0;
}

body .partner-track {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    width: max-content !important;
    position: relative;
    z-index: 1;
    will-change: transform;
}

/* Fareyle üzerine gelince şerit dursun (JS ile de destekleniyor) */
body .partner-marquee:hover .partner-track {
    animation-play-state: paused !important;
}

body .partner-marquee .partner-logo-card {
    flex: 0 0 168px !important;
    height: 84px !important;
    display: grid !important;
    place-items: center !important;
    padding: 12px 16px !important;
    border-radius: var(--mp-r-md) !important;
    background: #FFFFFF !important;
    border: 1px solid var(--mp-line) !important;
    box-shadow: 0 2px 8px -4px rgba(16,32,56,.16) !important;
    /* transform'u JS her karede yazar; CSS geçişi olursa gecikme/titreme olur */
    transition: box-shadow .25s ease, border-color .25s ease !important;
    transform-origin: center center;
    will-change: transform;
    opacity: 1 !important;
    filter: none !important;
    backface-visibility: hidden;
}

body .partner-marquee .partner-logo-card img {
    display: block !important;
    max-width: 124px !important;
    max-height: 44px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    /* filtre/opaklık da JS tarafından kesintisiz hesaplanır */
    transition: none !important;
}

/* JS çalıştığında bu sınıf eklenir; merkeze yaklaşan karta güçlü bir
   "pop" gölgesi ve mavi hale verir. Şiddeti JS'in yazdığı
   --mp-pop değişkeniyle (0 → 1) orantılıdır. */
body .partner-marquee.mp-pop-on .partner-logo-card {
    box-shadow:
        0 calc(2px + 16px * var(--mp-pop, 0)) calc(8px + 34px * var(--mp-pop, 0))
        calc(-4px - 12px * var(--mp-pop, 0)) rgba(10,45,90, calc(.16 + .30 * var(--mp-pop, 0))),
        0 0 0 1px rgba(11,99,246, calc(.05 + .28 * var(--mp-pop, 0))),
        0 0 calc(30px * var(--mp-pop, 0)) calc(-8px * var(--mp-pop, 0))
        rgba(56,169,255, calc(.85 * var(--mp-pop, 0))) !important;
    border-color: rgba(11,99,246, calc(.10 + .30 * var(--mp-pop, 0))) !important;
    z-index: calc(1 + 10 * var(--mp-pop, 0));
}

/* JS devre dışıysa (veya "hareketi azalt" seçiliyse) şerit yine de akıcı
   şekilde kayar — sadece büyüme efekti olmaz. Bozuk görünmez. */
body .partner-marquee:not(.mp-pop-on) .partner-track {
    animation: mpMarquee 30s linear infinite;
}

@keyframes mpMarquee {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(calc(-50% - 10px), 0, 0); }
}

@media (max-width: 640px) {
    body .partner-marquee { padding: 26px 0 24px !important; }
    body .partner-marquee::before { width: 180px; height: 100px; }
    body .partner-marquee .partner-logo-card {
        flex-basis: 132px !important;
        height: 68px !important;
        padding: 10px 12px !important;
    }
    body .partner-marquee .partner-logo-card img {
        max-width: 98px !important;
        max-height: 34px !important;
    }
    body .partner-track { gap: 12px !important; }
}


/* ============================================================================
   6. ARAMA SAYFASI — MOBİL ARAMA ÖZET ÇUBUĞU  (1. ekran görüntüsü düzeltmesi)
   ----------------------------------------------------------------------------
   ÖNCEKİ SORUN (search.php satır ~2511):
       .search-info-card { grid-template-columns: 1fr auto }
   "7 Gün" rozeti + "Aramayı Düzenle" butonu birlikte ~300px yer kaplıyor.
   375px'lik iPhone ekranında konum sütununa 60px kalıyor; ancak grid öğeleri
   varsayılan olarak içeriğinden daha dar olamadığı (min-width:auto) için
   sütun daralmıyor, sağdaki blok konum yazısının ÜSTÜNE biniyor.

   YENİ YAPI (mobil):
       ┌──────────────────────────────────────┐
       │ ALIŞ            →     DÖNÜŞ          │   ← iki eşit sütun, taşmaz
       │ İstanbul              İstanbul       │
       │ 03.09.2026 10:00      10.09.2026 …   │
       ├──────────────────────────────────────┤
       │  [ 7 Gün ]   [ ✏ Aramayı Düzenle ]   │   ← ayrı satır, çakışma yok
       └──────────────────────────────────────┘
   ============================================================================ */
body .search-summary {
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--mp-line) !important;
    padding: 12px 0 !important;
}

body .search-summary .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
}

body .search-summary .search-info-card {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    border-radius: 0 !important;
}

body .search-summary .location-info {
    display: flex !important;
    align-items: stretch !important;
    gap: 14px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;                /* ← taşmayı önleyen kritik satır */
}

body .search-summary .location-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;                /* ← metin kırpılabilsin           */
    flex: 1 1 0 !important;
    color: var(--mp-ink) !important;
}

body .search-summary .location-item > div {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

body .search-summary .location-item i {
    font-size: 15px !important;
    margin-top: 3px !important;
    flex: 0 0 auto !important;
    width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 8px;
}
body .search-summary .location-item i.pickup  { color: #0B63F6 !important; background: rgba(11,99,246,.10); }
body .search-summary .location-item i.dropoff { color: #C77700 !important; background: rgba(199,119,0,.10); }

body .search-summary .location-item .label {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--mp-ink-3) !important;
    opacity: 1 !important;
}

body .search-summary .location-item .value {
    display: block !important;
    font-size: 14.5px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: var(--mp-ink) !important;
    /* Uzun lokasyon adları taşmasın, üç nokta ile kısalsın */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

body .search-summary .location-item .date {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: var(--mp-ink-2) !important;
    white-space: nowrap !important;
    opacity: 1 !important;
}

body .search-summary .location-arrow {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    color: var(--mp-ink-3) !important;
    font-size: 13px !important;
    transform: none !important;
    align-self: center !important;
}

body .search-summary .rental-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
}

body .search-summary .rental-info .days {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    white-space: nowrap !important;
    background: linear-gradient(135deg, #0B63F6, #0A4FC4) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 0 14px !important;
    height: 40px !important;
    border-radius: 999px !important;
}

body .search-summary .btn-edit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    height: 40px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: #EAF2FF !important;
    color: #0A4FC4 !important;
    -webkit-text-fill-color: #0A4FC4 !important;
    border: 1px solid rgba(11,99,246,.22) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease !important;
}
body .search-summary .btn-edit i {
    color: #0A4FC4 !important;
    -webkit-text-fill-color: #0A4FC4 !important;
    font-size: 12px !important;
}
body .search-summary .btn-edit:hover {
    background: #DCE9FF !important;
    border-color: rgba(11,99,246,.40) !important;
}

/* ---- MOBİL (≤ 860px): iki satırlı düzen, çakışma yok ---- */
@media (max-width: 860px) {
    body .search-summary {
        padding: 10px 0 !important;
    }

    body .search-summary .search-info-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        /* Önceki grid kuralını kesin olarak iptal et */
        grid-template-columns: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 12px 14px !important;
        background: #FFFFFF !important;
        border: 1px solid var(--mp-line) !important;
        border-radius: var(--mp-r-md) !important;
        box-shadow: var(--mp-sh-1) !important;
    }

    /* Satır 1 — iki lokasyon eşit genişlikte yan yana */
    body .search-summary .location-info {
        display: flex !important;
        grid-template-columns: none !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
    }

    body .search-summary .location-item {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        gap: 8px !important;
    }

    body .search-summary .location-item i {
        width: 22px; height: 22px;
        font-size: 12px !important;
        margin-top: 2px !important;
    }

    body .search-summary .location-item .label {
        display: block !important;
        font-size: 9.5px !important;
    }

    body .search-summary .location-item .value {
        font-size: 14px !important;
    }

    body .search-summary .location-item .date {
        font-size: 11.5px !important;
        white-space: normal !important;   /* dar ekranda alta sarsın */
        line-height: 1.35 !important;
    }

    body .search-summary .location-arrow {
        display: flex !important;
        font-size: 11px !important;
        opacity: .55;
    }

    /* Satır 2 — rozet + buton, tam genişlik, üst üste binmez */
    body .search-summary .rental-info {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        padding-top: 10px !important;
        border-top: 1px dashed var(--mp-line-2) !important;
    }

    body .search-summary .rental-info .days {
        height: 38px !important;
        font-size: 12.5px !important;
        padding: 0 13px !important;
    }

    body .search-summary .btn-edit {
        width: 100% !important;
        height: 38px !important;
        font-size: 13px !important;
    }
}

/* Çok dar ekranlar (≤ 380px): lokasyonlar alt alta ---- */
@media (max-width: 380px) {
    body .search-summary .location-info {
        flex-direction: column !important;
        gap: 8px !important;
    }
    body .search-summary .location-arrow {
        display: none !important;
    }
    body .search-summary .location-item .date { white-space: nowrap !important; }

    /* 320px'de buton icerigi kabina sigmiyordu; olcek biraz kucultuluyor */
    body .search-summary .rental-info { gap: 6px !important; }
    body .search-summary .rental-info .days {
        font-size: 12px !important;
        padding: 0 11px !important;
        gap: 5px !important;
    }
    body .search-summary .btn-edit {
        font-size: 12.5px !important;
        padding: 0 10px !important;
        gap: 6px !important;
    }
}


/* ============================================================================
   7. ARAMA SAYFASI — SONUÇ ARAYÜZÜ
   ============================================================================ */

/* Üst araç çubuğu: sayı + sıralama tek satırda, taşmadan */
body .agency-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .agency-toolbar .public-price-note {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: var(--mp-fs-sm) !important;
    font-weight: 600 !important;
    color: var(--mp-ink-2) !important;
    padding: 8px 12px !important;
    border-radius: var(--mp-r-sm) !important;
    background: #F0F6FF !important;
    border: 1px solid rgba(11,99,246,.14) !important;
}

body .toolbar-right {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
}

/* NOT: buradaki <span> "<strong>90</strong> araç listeleniyor..." iceriyor.
   inline-flex yapilirsa metin dugumleri ayri flex ogesi olur ve rakamla
   kelime arasindaki bosluk kaybolur ("90araç"). Bu yuzden inline birakildi. */
body .toolbar-right > span {
    font-size: var(--mp-fs-sm) !important;
    font-weight: 600 !important;
    color: var(--mp-ink-2) !important;
    white-space: nowrap !important;
}
body .toolbar-right > span strong { font-weight: 800 !important; color: var(--mp-ink) !important; }

body .toolbar-right > label {
    font-size: var(--mp-fs-sm) !important;
    font-weight: 600 !important;
    color: var(--mp-ink-2) !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

/* Siralama kutusu.
   ds-site.css bu elemana "flex: 1 1 220px" ve bir chevron SVG'sini
   background-image olarak veriyordu; sonuc olarak kutu masaustunde
   900px'e kadar uzayip kendi satirina dusuyordu. Burada genislik
   sabitleniyor ve chevron korunuyor (background yerine background-color). */
body .sort-select {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 186px !important;
    max-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: var(--mp-r-sm) !important;
    border: 1px solid var(--mp-line-2) !important;
    background-color: #FFFFFF !important;
    color: var(--mp-ink) !important;
    -webkit-text-fill-color: var(--mp-ink) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    padding: 0 34px 0 13px !important;
    cursor: pointer !important;
}
body .sort-select:focus {
    border-color: var(--mp-blue) !important;
    box-shadow: 0 0 0 3px rgba(11,99,246,.14) !important;
}

/* Sag blok tum satiri kaplamasin, saga dayali kalsin */
body .agency-toolbar .toolbar-right {
    width: auto !important;
    flex: 0 1 auto !important;
    justify-content: flex-end !important;
}

/* Masaustunde: sag blok alt satira dusmesin, kutu sabit genislikte dursun.
   (enterprise-responsive.css "flex: 1 1 220px !important" veriyordu; kutu
   ~390px'e uzayip kendi satirina kayiyordu.) */
@media (min-width: 861px) {
    body .agency-toolbar .toolbar-right { flex-wrap: nowrap !important; }
    body .sort-select {
        width: 200px !important;
        max-width: 200px !important;
        flex: 0 0 200px !important;
    }
}

@media (max-width: 860px) {
    body .agency-toolbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    body .agency-toolbar .public-price-note {
        order: 2;
        justify-content: center !important;
        font-size: 12.5px !important;
    }
    body .agency-toolbar .toolbar-right {
        order: 1;
        display: grid !important;
        width: 100% !important;
        grid-template-columns: 1fr auto !important;
        align-items: center !important;
        gap: 8px !important;
    }
    /* "90 araç listeleniyor" solda, sıralama sağda; "Sırala:" etiketi gizli */
    body .toolbar-right > label { display: none !important; }
    body .sort-select { width: 100% !important; min-width: 148px !important; }
}

/* Stok uyarı bandı */
body .stock-banner {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    border-radius: var(--mp-r-sm) !important;
    background: #FFF8E9 !important;
    border: 1px solid #F2DFB4 !important;
    color: #8A5B00 !important;
    font-size: var(--mp-fs-sm) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    margin-bottom: 12px !important;
}
body .stock-banner i { flex: 0 0 auto !important; font-size: 14px !important; }

/* Sınıf karuseli */
body .class-carousel {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 10px !important;
    margin-bottom: 12px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
body .class-carousel::-webkit-scrollbar { height: 5px; }
body .class-carousel::-webkit-scrollbar-thumb { background: var(--mp-line-2); border-radius: 99px; }

body .class-carousel .class-chip {
    flex: 0 0 158px !important;
    min-width: 158px !important;
    scroll-snap-align: start;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 12px 10px !important;
    border-radius: var(--mp-r-md) !important;
    border: 1px solid var(--mp-line) !important;
    background: #fff !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body .class-carousel .class-chip img { max-height: 42px !important; width: auto !important; object-fit: contain !important; }
body .class-carousel .class-chip span { font-size: 13px !important; font-weight: 700 !important; color: var(--mp-ink) !important; line-height: 1.25 !important; }
body .class-carousel .class-chip strong { font-size: 12.5px !important; font-weight: 800 !important; color: var(--mp-blue) !important; }
body .class-carousel .class-chip.active {
    border-color: var(--mp-blue) !important;
    box-shadow: 0 0 0 2px rgba(11,99,246,.14) !important;
}

/* ---- ARAÇ KARTI ---- */
body .cars-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
}

body:not(.admin-portal-page) .car-card {
    display: grid !important;
    grid-template-columns: minmax(0, 300px) minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: var(--mp-r-md) !important;
    border: 1px solid var(--mp-line) !important;
    background: #fff !important;
    box-shadow: var(--mp-sh-1) !important;
    transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease !important;
}

@media (hover: hover) {
    body:not(.admin-portal-page) .car-card:hover {
        box-shadow: var(--mp-sh-2) !important;
        border-color: var(--mp-line-2) !important;
        transform: translateY(-2px);
    }
}

body .car-image {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    min-width: 0 !important;
    background: linear-gradient(180deg, #FBFDFF 0%, #EFF5FC 100%) !important;
    border-right: 1px solid var(--mp-line) !important;
    padding: 24px 18px 64px !important;
}

body .car-image > img {
    max-width: 92% !important;
    max-height: 150px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    mix-blend-mode: multiply;
}

body .car-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 18px !important;
    min-width: 0 !important;
}

body .car-header {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body .car-name {
    font-size: clamp(16px, 1.5vw, 19px) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    margin: 0 !important;
    color: var(--mp-ink) !important;
    min-width: 0 !important;
}

body .car-class {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #EEF4FF !important;
    color: #0A4FC4 !important;
    white-space: nowrap !important;
}

body .car-features {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)) !important;
    gap: 10px 14px !important;
}

body .car-features .feature {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--mp-ink-2) !important;
    min-width: 0 !important;
    line-height: 1.3 !important;
}
body .car-features .feature i { color: var(--mp-blue) !important; font-size: 13px !important; flex: 0 0 auto; width: 15px; text-align: center; }
body .car-features .feature span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

body .car-meta {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)) !important;
    gap: 7px 14px !important;
    padding-top: 10px !important;
    border-top: 1px dashed var(--mp-line-2) !important;
}

body .car-meta span {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    color: var(--mp-ink-3) !important;
    font-weight: 600 !important;
    min-width: 0 !important;
}
body .car-meta span i { color: var(--mp-ink-3) !important; font-size: 12px !important; flex: 0 0 auto; width: 14px; text-align: center; }

body .car-footer {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--mp-line) !important;
    margin-top: auto !important;
}

body .price-info { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
body .price-days   { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .05em !important; text-transform: uppercase !important; color: var(--mp-ink-3) !important; }
body .price-total  { font-size: clamp(20px, 2.1vw, 26px) !important; line-height: 1.1 !important; font-weight: 900 !important; letter-spacing: -.025em !important; color: var(--mp-ink) !important; }
body .price-detail { font-size: 12.5px !important; font-weight: 600 !important; color: var(--mp-ink-2) !important; }
body .free-cancel  {
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    margin-top: 6px !important;
    font-size: 12px !important; font-weight: 700 !important;
    color: #0A7A43 !important;
}
body .free-cancel i { color: #0A7A43 !important; }

body .btn-select {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: var(--mp-r-sm) !important;
    border: 0 !important;
    background: linear-gradient(135deg, #0B63F6, #0A4FC4) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.005em !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 20px -10px rgba(11,99,246,.9) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body .btn-select:hover { filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 12px 26px -10px rgba(11,99,246,1) !important; }
body .btn-select:active { transform: translateY(0); }

/* Tedarikçi logosu / puanı — resmin üstünde düzgün konumlansın */
body .car-vendor {
    position: absolute !important;
    left: 16px !important;
    bottom: 14px !important;
    right: 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
}

body .vendor-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 70px !important;
    height: 34px !important;
    padding: 4px 8px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid var(--mp-line) !important;
    box-shadow: var(--mp-sh-1) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: var(--mp-ink) !important;
    overflow: hidden !important;
}
body .vendor-logo img { max-height: 24px !important; max-width: 76px !important; width: auto !important; object-fit: contain !important; }

/* Dar ekranda yorum sayısı gizlenir; puan ve yıldız kalır */
@media (max-width: 480px) {
    body .car-vendor .vendor-rating small { display: none !important; }
}

/* ".car-class" öncesindeki "veya benzeri" etiketi ile sınıf adı
   bitişik yazılıyordu ("VEYA BENZERİECONOMY"). Satır sonu boşlukları
   HTML'de daraltıldığı için araya gerçek bir boşluk veriliyor. */
body .car-class::before {
    margin-right: 5px;
}

body .car-vendor > span:not(.vendor-logo):not(.vendor-rating) {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--mp-ink-2) !important;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}

body .car-vendor .vendor-rating {
    position: static !important;      /* eski left/bottom konumlaması iptal */
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    /* flex-shrink KAPALI: aksi halde tedarikçi adının yanında 50px'e
       sıkışıp içindeki puan/yıldız/yorum sayısı iç içe geçiyor ve
       koyu bir leke gibi görünüyordu. */
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid var(--mp-line) !important;
    font-size: 11.5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
/* Puan rozeti: tasarim geregi KOYU zeminli bir cip (rgb(11,29,51)).
   Bu dosyanin onceki surumu yaziya da koyu renk veriyordu; sonuc
   koyu-uzerine-koyu, yani okunmayan bir leke oluyordu. Yazi beyaz. */
body .car-vendor .vendor-rating strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 22px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
body .car-vendor .vendor-rating .stars { color: #F5A524 !important; font-size: 10.5px !important; letter-spacing: -.5px; }
body .car-vendor .vendor-rating small { font-size: 10.5px !important; color: var(--mp-ink-3) !important; }

body .findeks-badge {
    position: absolute !important;
    top: 12px !important; left: 12px !important;
    z-index: 3 !important;
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #FFF3E0 !important;
    border: 1px solid #F0D6A8 !important;
    color: #8A5B00 !important;
    font-size: 11px !important; font-weight: 800 !important;
}

/* ---- Araç kartı: MOBİL ---- */
@media (max-width: 900px) {
    body:not(.admin-portal-page) .car-card { grid-template-columns: 1fr !important; }
    body .car-image {
        border-right: 0 !important;
        border-bottom: 1px solid var(--mp-line) !important;
        padding: 20px 16px 62px !important;
        min-height: 200px !important;
    }
    body .car-image > img { max-height: 132px !important; }
    body .car-content { padding: 16px !important; gap: 11px !important; }
    body .car-features { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body .car-meta     { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body .car-footer {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    body .btn-select { width: 100% !important; }
    body .select-form { width: 100% !important; }
}

@media (max-width: 420px) {
    body .car-meta { grid-template-columns: 1fr !important; }
}

/* Filtre kenar çubuğu */
body:not(.admin-portal-page) .filters-sidebar {
    border-radius: var(--mp-r-md) !important;
    border: 1px solid var(--mp-line) !important;
    box-shadow: var(--mp-sh-1) !important;
    background: #fff !important;
    overflow: hidden !important;
}
body:not(.admin-portal-page) .filter-toggle {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--mp-ink) !important;
    min-height: 48px !important;
}
body .filter-option, body .checkbox-label {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    color: var(--mp-ink-2) !important;
}

body .results-layout {
    display: grid !important;
    grid-template-columns: 278px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
}

/* ============================================================
   MOBIL FILTRE CEKMECESI — DOKUNULMAZ
   ------------------------------------------------------------
   HATA (1. ekran goruntusu): arama ozetinin altinda kocaman bos
   bir alan olusuyor ve araclar cok asagida kaliyordu.

   SEBEP: Bu dosyanin onceki surumunde <=1024px icin
       .filters-sidebar { position: static !important }
   yaziliyordu. Oysa enterprise-responsive.css <=900px'te bu
   paneli yandan acilan bir cekmeceye ceviriyor:
       position: fixed + transform: translateX(-105%)
   "static" verilince panel sayfa akisina geri donuyor, ama
   translateX(-105%) hala uygulandigi icin ekranin SOLUNA
   kayiyor. Sonuc: gorunmez ama YER KAPLAYAN dev bir blok.

   COZUM: <=900px'te cekmeceye HIC dokunma. Duzlestirme sadece
   901-1024px araliginda (cekmecenin devrede olmadigi tablet
   genisliginde) uygulanir.
   ============================================================ */
@media (max-width: 1024px) {
    body .results-layout { grid-template-columns: 1fr !important; }
}

@media (min-width: 901px) and (max-width: 1024px) {
    body:not(.admin-portal-page) .filters-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        margin-bottom: 14px !important;
    }
}

/* Cekmece modunda panel akista yer KAPLAMASIN */
@media (max-width: 900px) {
    body .results-layout > .filters-sidebar {
        position: fixed !important;
        margin: 0 !important;
    }
    /* Sonuc sutunu tum genisligi alsin, ustte bosluk kalmasin */
    body .results-layout {
        display: block !important;
        gap: 0 !important;
    }
    body .results-content {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 0 !important;
    }
    body .search-results-page { padding-top: 12px !important; }
}

/* Sayfalama */
body .pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 24px !important;
}
body .pagination a, body .pagination span {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    min-width: 42px !important; min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: var(--mp-r-sm) !important;
    border: 1px solid var(--mp-line) !important;
    background: #fff !important;
    font-size: 13.5px !important; font-weight: 700 !important;
    color: var(--mp-ink) !important; text-decoration: none !important;
}
body .pagination .active, body .pagination a.active {
    background: linear-gradient(135deg, #0B63F6, #0A4FC4) !important;
    border-color: transparent !important;
    color: #fff !important; -webkit-text-fill-color: #fff !important;
}


/* ============================================================================
   8. REZERVASYON / ÖDEME / ÖZET / BAŞARI SAYFALARI
   ============================================================================ */
body .reservation-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 20px !important;
    align-items: start !important;
}

@media (max-width: 1024px) {
    body .reservation-layout { grid-template-columns: 1fr !important; }
    body .reservation-summary-sidebar { position: static !important; width: 100% !important; }
}

body .reservation-form-section,
body .summary-card,
body .form-section {
    border-radius: var(--mp-r-md) !important;
    border: 1px solid var(--mp-line) !important;
    background: #fff !important;
    box-shadow: var(--mp-sh-1) !important;
}

body .form-section { padding: clamp(16px, 2vw, 22px) !important; margin-bottom: 14px !important; }

/* Form bolum basliklari (Surucu Bilgileri, Fatura Bilgileri ...)
   KENDI olculerini korur. Onceki surumde 20px'ten 18px'e dusuruluyordu;
   bu sayfalarin kendi tasarimina gereksiz mudahaleydi. Sadece alt
   bosluk hizalaniyor. */
body .section-header h3,
body .form-section h3 {
    margin: 0 0 4px !important;
    line-height: 1.3 !important;
}

/* Form alanları: tüm sayfalarda tek görünüm */
body:not(.admin-portal-page) .form-group { margin-bottom: 14px !important; }

body:not(.admin-portal-page) .form-group label,
body:not(.admin-portal-page) .form-label {
    display: block !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    color: var(--mp-ink-2) !important;
    margin-bottom: 6px !important;
}

body:not(.admin-portal-page) input[type="text"],
body:not(.admin-portal-page) input[type="email"],
body:not(.admin-portal-page) input[type="tel"],
body:not(.admin-portal-page) input[type="password"],
body:not(.admin-portal-page) input[type="number"],
body:not(.admin-portal-page) input[type="date"],
body:not(.admin-portal-page) input[type="datetime-local"],
body:not(.admin-portal-page) select,
body:not(.admin-portal-page) textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: var(--mp-r-sm) !important;
    border: 1px solid var(--mp-line-2) !important;
    background: #fff !important;
    color: var(--mp-ink) !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    transition: border-color .16s ease, box-shadow .16s ease !important;
}

body:not(.admin-portal-page) input:focus,
body:not(.admin-portal-page) select:focus,
body:not(.admin-portal-page) textarea:focus {
    border-color: var(--mp-blue) !important;
    box-shadow: 0 0 0 3px rgba(11,99,246,.14) !important;
    outline: none !important;
}

body:not(.admin-portal-page) textarea { min-height: 96px !important; resize: vertical !important; }

/* Adım göstergesi (1 → 2 → 3) */
body .reservation-steps {
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--mp-line) !important;
    background: #fff !important;
}
body .reservation-steps .container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(8px, 2vw, 22px) !important;
    flex-wrap: wrap !important;
}
body .reservation-steps .step,
body .reservation-steps li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--mp-ink-3) !important;
    white-space: nowrap !important;
}
body .reservation-steps .step.active,
body .reservation-steps li.active { color: var(--mp-blue) !important; }

@media (max-width: 560px) {
    body .reservation-steps .step span,
    body .reservation-steps li span { font-size: 11.5px !important; }
}

/* Özet kartı (fiyat dökümü) — sayılar sağa hizalı, okunaklı */
body:not(.admin-portal-page) .summary-card { padding: clamp(16px, 2vw, 20px) !important; }

body .summary-row,
body .summary-card .row,
body .price-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 8px 0 !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    border-bottom: 1px dashed var(--mp-line) !important;
}
body .summary-row:last-child, body .price-row:last-child { border-bottom: 0 !important; }
body .summary-row strong, body .price-row strong { font-variant-numeric: tabular-nums; white-space: nowrap; }

body .summary-total,
body .total-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 10px !important;
    padding-top: 12px !important;
    border-top: 2px solid var(--mp-line-2) !important;
    font-size: clamp(17px, 1.8vw, 21px) !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
    color: var(--mp-ink) !important;
}
body .summary-total span:last-child, body .total-row span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Ödeme sayfası kart formu */
body #payButton,
body .btn-pay,
body .btn-submit,
body .btn-continue {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: var(--mp-r-sm) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

/* Başarı sayfası */
body .success-icon, body .success-check {
    width: clamp(64px, 8vw, 84px) !important;
    height: clamp(64px, 8vw, 84px) !important;
    font-size: clamp(28px, 3.4vw, 38px) !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    margin: 0 auto 18px !important;
}

/* Uyarı / bilgi kutuları */
body .alert, body .notice, body .page-alert, body .account-alert {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 13px 15px !important;
    border-radius: var(--mp-r-sm) !important;
    font-size: var(--mp-fs-sm) !important;
    line-height: 1.5 !important;
    border: 1px solid transparent !important;
}
body .alert i, body .notice i { flex: 0 0 auto; margin-top: 2px; }


/* ============================================================================
   9. ADMİN PANELİ — tablolar mobilde kart olur
   ----------------------------------------------------------------------------
   Admin tabloları telefonda yatay kayıyordu. Artık ≤ 820px'de her satır
   kendi kartına dönüşüyor; hücrelerin başlıkları data-label ile solda
   gösteriliyor (data-label yoksa da düzen bozulmuyor, sadece değer görünür).
   ============================================================================ */
.admin-portal-page .admin-content,
.admin-portal-page .admin-main {
    min-width: 0 !important;
}

.admin-portal-page .table-wrap,
.admin-portal-page .table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--mp-r-md);
}

.admin-portal-page table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 13.5px !important;
}

.admin-portal-page thead th {
    font-size: 11.5px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    padding: 11px 12px !important;
}

.admin-portal-page tbody td {
    padding: 12px !important;
    vertical-align: middle !important;
    line-height: 1.45 !important;
}

body.admin-portal-page .stat-card {
    border-radius: var(--mp-r-md) !important;
    padding: clamp(14px, 1.8vw, 20px) !important;
}

body.admin-portal-page .stats-grid,
body.admin-portal-page .admin-stats {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
}

@media (max-width: 820px) {
    .admin-portal-page table,
    .admin-portal-page table.table,
    .admin-portal-page thead,
    .admin-portal-page tbody,
    .admin-portal-page tr,
    .admin-portal-page th,
    .admin-portal-page td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;   /* ds-admin.css'teki 760px'i iptal eder */
    }

    .admin-portal-page thead {
        position: absolute !important;
        width: 1px; height: 1px;
        overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
    }

    .admin-portal-page tbody tr {
        margin-bottom: 10px !important;
        border: 1px solid var(--mp-line) !important;
        border-radius: var(--mp-r-md) !important;
        background: #fff !important;
        box-shadow: var(--mp-sh-1) !important;
        overflow: hidden !important;
        padding: 4px 0 !important;
    }

    .admin-portal-page tbody td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 9px 14px !important;
        border: 0 !important;
        border-bottom: 1px solid #F1F5FA !important;
        text-align: right !important;
        min-height: 42px !important;
    }
    .admin-portal-page tbody td:last-child { border-bottom: 0 !important; }

    .admin-portal-page tbody td[data-label]::before {
        content: attr(data-label);
        flex: 0 0 auto;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
        color: var(--mp-ink-3);
        text-align: left;
    }

    .admin-portal-page .admin-sidebar {
        position: fixed !important;
        z-index: 60 !important;
    }
}


/* ============================================================================
   10. WHATSAPP BALONU — sonuçların üstünü kapatmasın (1. görsel)
   ----------------------------------------------------------------------------
   Balon mobilde ekranın ortasına denk gelip "90 araç listeleniyor / Sırala"
   satırını örtüyordu. Artık daha dar, daha alçak ve daha şeffaf bir gölgeyle
   duruyor; ayrıca mfr-polish.js 8 saniye sonra kendiliğinden kapatıyor.
   ============================================================================ */
body .wa-dock {
    z-index: 90 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
}

@media (max-width: 640px) {
    body .wa-dock {
        right: 12px !important;
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body .wa-bubble {
        max-width: min(232px, calc(100vw - 96px)) !important;
        padding: 10px 13px !important;
        box-shadow: 0 10px 28px -14px rgba(16,32,56,.5) !important;
    }
    body .wa-bubble-title { font-size: 13.5px !important; }
    body .wa-bubble-text  { font-size: 12px !important; line-height: 1.4 !important; }
    body .whatsapp-float  { height: 52px !important; width: 52px !important; }
}

/* Alt sabit CTA varsa WhatsApp onunla çakışmasın */
@media (max-width: 640px) {
    body:has(.mobile-sticky-cta) .wa-dock {
        bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

body .mobile-sticky-cta {
    z-index: 80 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}


/* ============================================================================
   11. ALT BİLGİ (FOOTER)
   ============================================================================ */
/* ------------------------------------------------------------
   ALT BILGI, BU DOSYANIN OLCEGININ DISINDADIR.
   Footer'in kendi tasarimi (ds-site.css + mfr-brand.css) zaten
   dogru calisiyordu. Bu dosyanin onceki surumu buradaki
   basliklari da 36px'e cikariyordu; dar sutunda "Hizmetlerimiz"
   ortadan bolunuyor, "Hizli Baglantilar" iki satira tasiyordu
   (3. ve 6. ekran goruntuleri).

   Asagidaki kurallar YENI bir tasarim getirmez; sadece bu
   dosyanin taban olceginin footer'a sizmasini engeller ve
   orijinal degerleri geri sabitler.
   ------------------------------------------------------------ */
body:not(.admin-portal-page) .site-footer h2,
body:not(.admin-portal-page) .site-footer-column h2,
body:not(.admin-portal-page) .site-footer-brand h2 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    margin: 0 0 14px !important;
    text-transform: none !important;
}

body:not(.admin-portal-page) .site-footer-locations > h2 {
    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 20px !important;
}

body:not(.admin-portal-page) .site-footer-loc-group h3 {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    margin: 0 0 10px !important;
}

/* Footer basliklari asla kelime ortasindan bolunmesin */
body:not(.admin-portal-page) .site-footer h2,
body:not(.admin-portal-page) .site-footer h3 {
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    hyphens: none !important;
    text-wrap: nowrap;
}
@supports not (text-wrap: nowrap) {
    body:not(.admin-portal-page) .site-footer-column h2 { white-space: nowrap; }
}


/* ============================================================================
   12. BAĞLANTI / BUTON TUTARLILIĞI (genel)
   ============================================================================ */
/* DIKKAT: Burada "display" TANIMLANMAZ.
   ds-site.css satir 1846 mobilde
       .nav-actions .btn-nav, .nav-actions .btn-account-cta { display:none !important }
   diyor; bu secici (0,2,0) agirligindadir. Bizim (0,2,1) agirligindaki
   ".btn" kuralimiz "display: inline-flex !important" verdiginde o gizleme
   eziliyor, butonlar mobilde geri geliyor ve ust menu 390px ekrandan
   594px'e tasip yarim gorunuyordu (kullanicinin 1. ekran goruntusu).
   Hizalama ozellikleri korunur, gorunurluk kararini sayfa CSS'i verir. */
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) .btn-secondary {
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border-radius: var(--mp-r-sm) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.005em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease !important;
}

body:not(.admin-portal-page) .btn:active { transform: translateY(1px); }


/* ============================================================================
   ÜST MENÜ — TAŞMA GÜVENCESİ
   ----------------------------------------------------------------------------
   Menü öğeleri hiçbir ekran genişliğinde viewport dışına taşmasın.
   Taşarsa telefonda butonlar yarım görünür (kullanıcının 1. görüntüsü).
   ============================================================================ */
body:not(.admin-portal-page) .main-header .container,
body:not(.admin-portal-page) .search-header .container {
    max-width: 100% !important;
    overflow-x: clip;
}

body:not(.admin-portal-page) .navbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

body:not(.admin-portal-page) .nav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
}

@media (max-width: 900px) {
    /* Telefonda üst menüde yalnızca: telefon ikonu, dil seçici ve
       hamburger kalır. Diğer butonlar zaten mobil menünün içinde var. */
    body:not(.admin-portal-page) .main-header .nav-actions .btn-nav,
    body:not(.admin-portal-page) .main-header .nav-actions .btn-account-cta {
        display: none !important;
    }
    body:not(.admin-portal-page) .nav-actions { gap: 6px !important; }
    body:not(.admin-portal-page) .nav-phone span { display: none !important; }
    body:not(.admin-portal-page) .mobile-menu-toggle { display: inline-flex !important; }
}

@media (max-width: 400px) {
    /* 320px'lik kucuk telefonlarda logo(138px)+menu(175px) 300px'lik
       alana sigmiyor, hamburger disari tasiyordu. Logo ve dil secici
       kucultulur; hicbir oge kirpilmaz. */
    body:not(.admin-portal-page) .navbar { gap: 6px !important; }
    body:not(.admin-portal-page) .logo img {
        max-width: 104px !important;
        width: auto !important;
        height: auto !important;
    }
    body:not(.admin-portal-page) .lang-switch-btn {
        padding: 0 8px !important;
        gap: 4px !important;
    }
    /* NOT: .lang-flag GIZLENMEZ. ds-site.css satir 6198 mobilde
       ".lang-code" ogesini zaten gizliyor (tasarim: sadece bayrak/kod
       kalsin). Ikisini birden gizlersek dugmede yalnizca ok isareti
       kaliyor ve dil secici ne oldugu anlasilmaz hale geliyor. */
    body:not(.admin-portal-page) .lang-switch-btn .lang-flag {
        display: inline-flex !important;
    }
    body:not(.admin-portal-page) .nav-actions { gap: 4px !important; }
    body:not(.admin-portal-page) .mobile-menu-toggle {
        flex: 0 0 auto !important;
        margin-right: 0 !important;
    }
}


/* ============================================================================
   13. HAREKETİ AZALT TERCİHİ
   ----------------------------------------------------------------------------
   İşletim sisteminde "Hareketi Azalt" açıksa tüm animasyonlar kapanır.
   Vestibüler rahatsızlığı olan kullanıcılar için WCAG 2.3.3 gereği.
   ============================================================================ */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    body .partner-track { animation: none !important; }
    body .partner-marquee {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}


/* ============================================================================
   KOYU ZEMINLI BOLUMLER — BASLIK GORUNURLUK KORUMASI
   ----------------------------------------------------------------------------
   TESPIT EDILEN HATA (4. ekran goruntusu):
   "Yurtici ve Yurtdisi Genelinde Teslimat" ve CTA basligi koyu lacivert
   zeminde koyu lacivert renkte cikiyor, yani hic okunmuyordu.

   SEBEBI (bu dosyadan onceki, sitede zaten var olan bir catisma):
   ds-site.css satir 880'de

       .section-title, section > .container > h2, ... { color: var(--ds-text) !important; }

   kurali var. "section > .container > h2" secicisi (0,1,2) agirliginda ve
   .cta / .location-network gibi KOYU bolumlerin baslik kurallarini
   ( ".cta h2 { color:#fff !important }" -> sadece (0,1,1) ) eziyor.

   COZUM: Koyu zeminli bolumlerin basliklarina daha yuksek agirlikli
   (0,2,2)+ secicilerle acik renk sabitleniyor. Yalnizca RENK belirtilir;
   olcu ve yerlesim degistirilmez.
   ============================================================================ */

body:not(.admin-portal-page) .cta > .container > h2,
body:not(.admin-portal-page) .cta .section-title,
body:not(.admin-portal-page) .cta h2,
body:not(.admin-portal-page) .location-network > .container > h2,
body:not(.admin-portal-page) .location-network .network-heading h2,
body:not(.admin-portal-page) .location-network h2,
/* DIKKAT: Burada ".hero h2" KULLANILMAZ.
   Arama kutusu (.search-box) hero'nun ICINDEDIR ve baslik olarak
   <h2> kullanir. Genis ".hero h2" secicisi bu basligi da beyaz
   yapiyordu; kutunun zemini beyaz oldugu icin "Hemen Arac Kiralayin"
   yazisi tamamen kayboluyordu (kullanicinin 1. ekran goruntusu).
   Sadece hero'nun DOGRUDAN cocugu olan basliklar hedeflenir. */
body:not(.admin-portal-page) .hero > .container > h2,
body:not(.admin-portal-page) .hero > .container > .hero-content > h2 {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Arama kutusu basligi kendi rengini korusun (koyu zemin kurallarindan muaf) */
body:not(.admin-portal-page) .hero .search-box-header h2 {
    color: var(--mfr-ink, #0F2742) !important;
    -webkit-text-fill-color: var(--mfr-ink, #0F2742) !important;
}

body:not(.admin-portal-page) .cta > .container > p,
body:not(.admin-portal-page) .cta p,
body:not(.admin-portal-page) .location-network .network-heading p,
body:not(.admin-portal-page) .location-network > .container > p {
    color: rgba(255, 255, 255, .80) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .80) !important;
}

/* Hero basligi: gradyan metin efekti korunur, ama efekt
   desteklenmezse ACIK renk yedegi devreye girer (asla koyu kalmaz). */
body:not(.admin-portal-page) .hero .hero-title {
    color: #FFFFFF !important;
}
body:not(.admin-portal-page) .hero .hero-title span:not(.hero-title-brand) {
    -webkit-text-fill-color: transparent;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    body:not(.admin-portal-page) .hero .hero-title span:not(.hero-title-brand) {
        color: #9BD8FF !important;
        -webkit-text-fill-color: #9BD8FF !important;
    }
}
body:not(.admin-portal-page) .hero .hero-desc {
    color: rgba(255, 255, 255, .86) !important;
}

/* Alt bilgi de koyu zeminlidir — baslik ve baglantilar acik kalsin */
body:not(.admin-portal-page) .site-footer h2,
body:not(.admin-portal-page) .site-footer h3,
body:not(.admin-portal-page) .site-footer-locations > h2 {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
body:not(.admin-portal-page) .site-footer-loc-group h3 {
    color: #8FC7FF !important;
    -webkit-text-fill-color: #8FC7FF !important;
}

/* GUVENLIK AGI: koyu zeminli bir bolumde metin, zemine cok yakin bir
   renge duserse diye "renk devralma" zorlanir. Ileride bu bolumlere
   eklenecek yeni basliklar da otomatik olarak acik renkte cikar. */
body:not(.admin-portal-page) .cta,
body:not(.admin-portal-page) .location-network {
    color: rgba(255, 255, 255, .88);
}


/* ============================================================================
   14. YAZDIRMA (rezervasyon özeti çıktısı)
   ============================================================================ */
@media print {
    body .wa-dock, body .mobile-sticky-cta, body .whatsapp-float,
    body header, body footer, body .reservation-steps, body .partner-strip {
        display: none !important;
    }
    body { background: #fff !important; }
    body .summary-card, body .form-section {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        break-inside: avoid;
    }
}
/* ============================================================
   PREMIUM YÜKSELTME KATMANI
   Referans kalite: Skyscanner / Enterprise / Kayak
   Hedef: ilk ekranda arama, tek net eylem, sakin hiyerarşi.
   Bu blok dosyanın SONUNDA yer alır; önceki kuralları ezer.
   ============================================================ */

/* --- 1. HERO DİKEY RİTMİ -------------------------------------
   Sorun: header ile rozet arasında ~110px ölü alan vardı ve
   arama kutusunun CTA'sı 1440x800 ve altında ekranın dışında
   kalıyordu. Boşluklar sıkıştırıldı. --- */
@media (min-width: 1024px) {
  body:not(.admin-portal-page) .hero { min-height: auto !important; }
  body:not(.admin-portal-page) .hero-content {
    padding-top: calc(var(--ds-header-h, 76px) + 34px) !important;
    padding-bottom: 34px !important;
  }
  body:not(.admin-portal-page) .hero-badge { margin-bottom: 14px !important; }
  body:not(.admin-portal-page) .hero-title { margin-bottom: 14px !important; }
  body:not(.admin-portal-page) .hero-valueprops { margin-bottom: 16px !important; }
  body:not(.admin-portal-page) .hero-desc { margin-bottom: 18px !important; }
  body:not(.admin-portal-page) .hero-actions { margin-bottom: 22px !important; }
}

/* Alçak ekranlarda kademeli sıkıştırma: CTA her zaman görünür.
   Eşikler gerçek ölçümle belirlendi — 1440x800'de yığın 903px
   yer kaplıyordu, 103px fazlaydı. */
@media (min-width: 1024px) and (max-height: 900px) {
  body:not(.admin-portal-page) .hero-content {
    padding-top: calc(var(--ds-header-h, 76px) + 20px) !important;
    padding-bottom: 20px !important;
  }
  body:not(.admin-portal-page) .hero-desc { display: none !important; }
  body:not(.admin-portal-page) .hero-title { font-size: clamp(30px, 2.9vw, 40px) !important; margin-bottom: 12px !important; }
  body:not(.admin-portal-page) .hero-badge { margin-bottom: 12px !important; }
  body:not(.admin-portal-page) .hero-valueprops { margin-bottom: 14px !important; }
  body:not(.admin-portal-page) .hero-actions { margin-bottom: 16px !important; }
}

/* 860px altı: ikincil butonlar gizlenir.
   Arama kutusunun kendi CTA'sı zaten aynı işi yapıyor. */
@media (min-width: 1024px) and (max-height: 860px) {
  body:not(.admin-portal-page) .hero-actions { display: none !important; }
  body:not(.admin-portal-page) .hero-title { font-size: clamp(28px, 2.7vw, 36px) !important; }
  body:not(.admin-portal-page) .hero-valueprops { margin-bottom: 16px !important; }
}

/* 740px altı: rozet de gizlenir, başlık daha kompakt */
@media (min-width: 1024px) and (max-height: 740px) {
  body:not(.admin-portal-page) .hero-badge { display: none !important; }
  body:not(.admin-portal-page) .hero-title { font-size: clamp(25px, 2.4vw, 32px) !important; margin-bottom: 10px !important; }
  body:not(.admin-portal-page) .hero-title-brand { font-size: 14px !important; margin-bottom: 5px; }
  body:not(.admin-portal-page) .hero-content {
    padding-top: calc(var(--ds-header-h, 76px) + 14px) !important;
    padding-bottom: 14px !important;
  }
}

/* --- 2. BAŞLIK TİPOGRAFİSİ ----------------------------------
   Marka satırı fazla soluktu; başlıkla arasında hiyerarşi yoktu. */
body:not(.admin-portal-page) .hero-title-brand {
  display: block;
  margin-bottom: 8px;
  font-size: clamp(15px, 1.3vw, 18px) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: rgba(255, 255, 255, .82) !important;
}
body:not(.admin-portal-page) .hero-title {
  letter-spacing: -.035em !important;
  line-height: 1.05 !important;
  text-wrap: balance;
}

/* --- 3. DEĞER ÖNERMELERİ -----------------------------------
   Rozetler eşit yükseklikte, okunur, tek ritimde. */
body:not(.admin-portal-page) .hero-valueprops {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
}
body:not(.admin-portal-page) .hero-valueprops li {
  min-height: 38px;
  padding: 8px 15px !important;
  border-radius: 999px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, .09) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  color: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(8px);
}
/* Öne çıkan önerme markanın rengiyle vurgulanır */
body:not(.admin-portal-page) .hero-valueprops li.is-primary {
  background: rgba(30, 155, 255, .18) !important;
  border-color: rgba(30, 155, 255, .45) !important;
  color: #ffffff !important;
}
body:not(.admin-portal-page) .hero-valueprops li i { color: var(--ds-gold-400, #5BB8FF) !important; font-size: 12px; }

/* --- 4. ARAMA KONSOLU --------------------------------------
   İMZA BİLEŞEN. Beyaz panel, yumuşak yükselti, hizalı ızgara. */
body:not(.admin-portal-page) .search-box {
  border-radius: 20px !important;
  box-shadow:
    0 32px 64px -28px rgba(4, 20, 44, .55),
    0 0 0 1px rgba(255, 255, 255, .10) !important;
  overflow: visible !important;
}

/* Başlık şeridi sakinleşti */
body:not(.admin-portal-page) .search-box-header {
  padding: 16px 24px !important;
  border-bottom: 1px solid var(--ds-line, #E1E7EF) !important;
  border-radius: 20px 20px 0 0 !important;
}
body:not(.admin-portal-page) .search-box-header h2 {
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
}

/* Alan etiketleri: küçük, sakin, tutarlı */
body:not(.admin-portal-page) .search-box .form-group > label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  margin-bottom: 6px !important;
  opacity: .72;
}

/* Alanlar: tek yükseklik, net odak */
body:not(.admin-portal-page) .search-box input[type="text"],
body:not(.admin-portal-page) .search-box select,
body:not(.admin-portal-page) .search-box .datetime-picker,
body:not(.admin-portal-page) .search-box .ds-select__trigger {
  min-height: 54px !important;
  border-radius: 12px !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  transition: border-color .16s, box-shadow .16s, background .16s;
}
body:not(.admin-portal-page) .search-box input[type="text"]:focus,
body:not(.admin-portal-page) .search-box select:focus,
body:not(.admin-portal-page) .search-box .datetime-picker:focus,
body:not(.admin-portal-page) .search-box .ds-select__trigger:focus-visible {
  box-shadow: 0 0 0 4px rgba(30, 155, 255, .18) !important;
  outline: none !important;
}

/* Ana CTA: tek, büyük, tereddütsüz */
body:not(.admin-portal-page) .search-box .btn-search,
body:not(.admin-portal-page) .search-box button[type="submit"] {
  min-height: 58px !important;
  border-radius: 12px !important;
  font-size: 16.5px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  box-shadow: 0 14px 30px -12px rgba(30, 155, 255, .65) !important;
}
body:not(.admin-portal-page) .search-box .btn-search:hover,
body:not(.admin-portal-page) .search-box button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px -12px rgba(30, 155, 255, .75) !important;
}

/* --- 5. CTA HİYERARŞİSİ ------------------------------------
   Sorun: "Hemen Araç Ara" (mavi) arama kutusunun kendi CTA'sıyla
   yarışıyordu. İkincil hâle getirildi; tek birincil eylem kalır. */
body:not(.admin-portal-page) .hero-actions .btn-primary {
  background: rgba(255, 255, 255, .10) !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
}
body:not(.admin-portal-page) .hero-actions .btn-primary:hover {
  background: rgba(255, 255, 255, .18) !important;
  border-color: rgba(255, 255, 255, .45) !important;
}
body:not(.admin-portal-page) .hero-actions .btn {
  min-height: 48px !important;
  padding: 0 22px !important;
  border-radius: 11px !important;
  font-size: 14.5px !important;
}

/* --- 6. ÜST MENÜ -------------------------------------------- */
body:not(.admin-portal-page) .nav-menu a {
  padding: 10px 15px !important;
  font-size: 14.5px !important;
  border-radius: 9px !important;
}
body:not(.admin-portal-page) .nav-actions .btn { border-radius: 10px !important; }

/* --- 7. ARAÇ KARTLARI --------------------------------------- */
body:not(.admin-portal-page) .car-card {
  border-radius: 16px !important;
  transition: transform .2s, box-shadow .2s, border-color .2s !important;
}
body:not(.admin-portal-page) .car-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px -20px rgba(4, 20, 44, .30) !important;
}
body:not(.admin-portal-page) .btn-select {
  min-height: 52px !important;
  border-radius: 11px !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
}

/* --- 8. MOBİL ---------------------------------------------- */
@media (max-width: 1023px) {
  body:not(.admin-portal-page) .hero-content {
    padding-top: calc(var(--ds-header-h, 64px) + 20px) !important;
    padding-bottom: 26px !important;
  }
  body:not(.admin-portal-page) .hero-title {
    font-size: clamp(27px, 6.4vw, 36px) !important;
    margin-bottom: 12px !important;
  }
  body:not(.admin-portal-page) .hero-title-brand { font-size: 14px !important; margin-bottom: 6px; }
  body:not(.admin-portal-page) .hero-valueprops { gap: 6px !important; margin-bottom: 16px !important; }
  body:not(.admin-portal-page) .hero-valueprops li {
    min-height: 34px;
    padding: 6px 12px !important;
    font-size: 12.5px !important;
  }
  body:not(.admin-portal-page) .search-box { border-radius: 16px !important; }
  body:not(.admin-portal-page) .search-box-header { padding: 14px 16px !important; border-radius: 16px 16px 0 0 !important; }
  body:not(.admin-portal-page) .search-box form { padding: 16px !important; }
  body:not(.admin-portal-page) .search-box .form-group { margin-bottom: 12px !important; }
  /* iOS'ta odakta yakınlaşmayı önler */
  body:not(.admin-portal-page) .search-box input[type="text"],
  body:not(.admin-portal-page) .search-box select,
  body:not(.admin-portal-page) .search-box .datetime-picker,
  body:not(.admin-portal-page) .search-box .ds-select__trigger {
    font-size: 16px !important;
    min-height: 52px !important;
  }
  body:not(.admin-portal-page) .search-box .btn-search,
  body:not(.admin-portal-page) .search-box button[type="submit"] { min-height: 56px !important; font-size: 16px !important; }
}

/* ============================================================
   HERO YÜKSEKLİK KİLİDİ — EN YÜKSEK ÖZGÜLLÜK
   Dosyada ".hero .hero-title" (0,3,1) özgüllüklü kurallar var.
   Aşağıdakiler (0,3,2) ile yazıldı; alçak ekranlarda arama
   CTA'sının ilk ekranda kalmasını garanti eder.
   ============================================================ */
@media (min-width: 1024px) and (max-height: 900px) {
  html body:not(.admin-portal-page) .hero .hero-title {
    font-size: clamp(30px, 2.9vw, 40px) !important;
    line-height: 1.06 !important;
    margin-bottom: 12px !important;
  }
  html body:not(.admin-portal-page) .hero .hero-desc { display: none !important; }
}
@media (min-width: 1024px) and (max-height: 870px) {
  html body:not(.admin-portal-page) .hero .hero-title {
    font-size: clamp(27px, 2.5vw, 34px) !important;
  }
  html body:not(.admin-portal-page) .hero .hero-actions { display: none !important; }
  html body:not(.admin-portal-page) .hero .hero-valueprops { margin-bottom: 14px !important; }
}
@media (min-width: 1024px) and (max-height: 760px) {
  html body:not(.admin-portal-page) .hero .hero-title {
    font-size: clamp(24px, 2.2vw, 30px) !important;
    margin-bottom: 9px !important;
  }
  html body:not(.admin-portal-page) .hero .hero-badge { display: none !important; }
  html body:not(.admin-portal-page) .hero .hero-title-brand {
    font-size: 13.5px !important;
    margin-bottom: 4px !important;
  }
  html body:not(.admin-portal-page) .hero .hero-content {
    padding-top: calc(var(--ds-header-h, 76px) + 12px) !important;
    padding-bottom: 12px !important;
  }
  html body:not(.admin-portal-page) .hero .search-box .form-group { margin-bottom: 10px !important; }
  html body:not(.admin-portal-page) .hero .search-box input[type="text"],
  html body:not(.admin-portal-page) .hero .search-box select,
  html body:not(.admin-portal-page) .hero .search-box .datetime-picker,
  html body:not(.admin-portal-page) .hero .search-box .ds-select__trigger {
    min-height: 48px !important;
  }
}
/* Çok alçak ekran (1024x600 gibi netbook) */
@media (min-width: 1024px) and (max-height: 660px) {
  html body:not(.admin-portal-page) .hero .hero-valueprops { display: none !important; }
  html body:not(.admin-portal-page) .hero .search-box-header { padding: 11px 18px !important; }
  html body:not(.admin-portal-page) .hero .search-box form { padding: 14px 18px !important; }
  html body:not(.admin-portal-page) .hero .search-box .btn-search,
  html body:not(.admin-portal-page) .hero .search-box button[type="submit"] {
    min-height: 50px !important;
  }
}
