/* ======================================================================================================
   WRS Car — yeni tasarım v2 "Kurumsal Showroom" (A: Apple benzeri vitrin · B: kurumsal güven · C: karanlık bant)
   Yalnız v2'de yüklenir: sunucu (design.js) <html class="d2"> ve bu dosyayı styles.css'ten SONRA ekler.
   Kurallar .d2 önekli: v1 kuralları ve betiklerin eklediği <style> blokları (auth.js, price-alert.js, favorites.js) üzerine
   özgüllükle yazılır. v1'e (styles.css) dokunulmaz; v1'de bu dosya hiç yok.
   Kontrast (WCAG 1.4.3, ≥4,5): mürekkep #0F2A40 fildişinde 14,4 · #4B5565 7,0 · #5B6473 5,9 · koyu altın #8A6D3B 4,6 (yalnız
   13 px+ kalın göz başlıkları) · teal #176F6F 5,5 · lacivertte altın #C9AD7D 6,8 · koyu bantta altın 8,8.
   Tema: açık (fildişi) — koyu şema tercihinde de açık kalır (color-scheme:light; v1'in koyu tema değişkenleri ezilir).
   ====================================================================================================== */

/* ---------- Geist (OFL, public/fonts — bkz. fonts/LICENSE.txt). Arapça glifi yok → Arapça metin yığındaki sistem fontuna düşer ---------- */
@font-face{ font-family:"Geist"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(/fonts/geist-latin.woff2?v=1) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face{ font-family:"Geist"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(/fonts/geist-latin-ext.woff2?v=1) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }
@font-face{ font-family:"Geist"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(/fonts/geist-cyrillic.woff2?v=1) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116 }
/* Geist yüklenene kadar ölçüleri Geist'e eşitlenmiş yedek (fontTools ile ölçüldü: ortalama genişlik Arial'in %104,8'i,
   ascent 1005 / descent 295 / 1000) → font gelince satırlar kaymaz (CLS). Yalnız Latin/Kiril: Arapça bu yüzden sistem fontuna gider. */
@font-face{ font-family:"Geist Fallback"; src:local("Arial"), local("Helvetica Neue"), local("Helvetica"), local("Roboto");
  size-adjust:104.8%; ascent-override:95.9%; descent-override:28.1%; line-gap-override:0%;
  unicode-range:U+0000-024F,U+0300-036F,U+0400-04FF,U+2000-206F,U+20AC,U+2116,U+2122,U+2212 }

/* ---------- tokenlar ---------- */
html.d2{
  --v2-bg:#FBFAF7; --v2-ink:#0F2A40; --v2-navy:#0F2A40; --v2-navy2:#1A435D; --v2-gold:#C9AD7D; --v2-gold-d:#8A6D3B; --v2-teal:#176F6F;
  --v2-line:#E6E1D6; --v2-line2:#ECE8DF; --v2-mut:#4B5565; --v2-mut2:#5B6473; --v2-mut3:#6B7482; --v2-dark:#07111D; --v2-card:#FFFFFF;
  --v2-shadow:0 16px 44px rgba(15,42,64,.09); --v2-shadow-s:0 6px 18px rgba(15,42,64,.07); --v2-shadow-l:0 30px 80px rgba(15,42,64,.18);
  --v2-r:22px; --v2-r-l:32px; --v2-wrap:1200px; --v2-gut:clamp(16px,4vw,48px);
  --v2-font:"Geist","Geist Fallback",system-ui,-apple-system,"Segoe UI",Tahoma,"Noto Sans Arabic","Geeza Pro","Noto Sans Georgian",Sylfaen,"PingFang SC","Microsoft YaHei","Noto Sans SC",Roboto,sans-serif;
  /* v1 tokenları v2 paletine: dokunulmayan bileşenler (betiklerin stilleri dahil) de uyumlu renk alır */
  --navy:#0F2A40; --navy-2:#1A435D; --ink:#0F2A40; --paper:#FBFAF7; --card:#FFFFFF; --amber:#C9AD7D; --amber-d:#B8975F; --teal:#176F6F;
  --muted:#4B5565; --line:#E6E1D6; --line-strong:#858B96; --focus:#0F2A40; --radius:22px;
  --shadow:0 16px 44px rgba(15,42,64,.09); --pop-shadow:0 30px 80px rgba(15,42,64,.18);
  color-scheme:light; scroll-padding-top:84px }
.d2 body{ font-family:var(--v2-font); background:var(--v2-bg); color:var(--v2-ink); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.5 }
.d2[dir=rtl] body{ font-family:var(--v2-font) }
.d2 h1, .d2 h2, .d2 h3, .d2 .sec-head h2, .d2 .how h2, .d2 .contact h2, .d2 .price .total, .d2 .total-box .t, .d2 .feat-price b,
.d2 .foot-slogan, .d2 .d-code, .d2 .lx-hero h1, .d2 .lx-code, .d2 .bk-head h1, .d2 .bk-total strong{ font-family:var(--v2-font) }
.d2 .muted{ color:var(--v2-mut) }
/* Arapça: harf aralığı bitişik yazıyı bozar → sıfır */
.d2[dir=rtl] :is(h1,h2,h3,.v2-display,.v2-eyebrow,.v2-fact-n,.v2-wow h2){ letter-spacing:0 !important }

/* odak: açık zeminde lacivert, koyu zeminde altın halka */
.d2 :focus-visible{ outline:2px solid var(--v2-navy); outline-offset:3px }
.d2 .top :focus-visible, .d2 .contact :focus-visible, .d2 .hero-text :focus-visible{ outline-color:var(--v2-navy) }
.d2 .foot :focus-visible, .d2 .v2-wow :focus-visible, .d2 .v2-tr-panel :focus-visible, .d2 .v2-map :focus-visible, .d2 .wc-head :focus-visible,
.d2 .d2-preview:focus-visible, .d2 .v2-band :focus-visible{ outline-color:var(--v2-gold) }

/* düğmeler: hap biçimi; birincil = lacivert (koyu zeminde altın) */
.d2 .btn{ border-radius:999px; font-weight:600 }
.d2 .btn.primary{ background:var(--v2-navy); color:#fff }
.d2 .btn.primary:hover{ background:var(--v2-navy2) }
.d2 .btn.primary::after{ display:none }
.d2 .btn.dark{ background:var(--v2-navy); color:#fff }
.d2 .btn.dark:hover{ background:var(--v2-navy2) }
.d2 .btn.ghost{ border-color:var(--v2-line); background:#fff; color:var(--v2-ink) }
.d2 .btn.ghost:hover{ border-color:var(--v2-ink) }
.d2 .btn .spin{ border-color:rgba(255,255,255,.35); border-top-color:#fff }
.d2 .link{ color:var(--v2-teal) }
.d2 .v2-pill{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 30px; border-radius:999px; border:0;
  font:inherit; font-weight:600; font-size:16.5px; cursor:pointer; text-decoration:none; transition:background .2s var(--ease), transform .2s var(--ease) }
.d2 .v2-pill:active{ transform:scale(.98) }
.d2 .v2-pill-gold{ background:var(--v2-gold); color:var(--v2-navy) }
.d2 .v2-pill-gold:hover{ background:#D8C29C }
.d2 .v2-eyebrow{ margin:0 0 14px; font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--v2-gold-d); line-height:1.45 }
.d2 .v2-arrow{ width:16px; height:16px; flex:none }
.d2[dir=rtl] .v2-arrow, .d2[dir=rtl] .v2-link svg{ transform:scaleX(-1) }

/* ---------- 1) şirket bandı ---------- */
.d2 .v2-band{ margin:0; min-height:34px; padding:env(safe-area-inset-top,0px) var(--v2-gut) 0; display:flex; align-items:center; justify-content:center;
  background:var(--v2-navy); color:rgba(251,250,247,.86); font-size:12.5px; font-weight:500; letter-spacing:.01em; line-height:34px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.d2 .v2-band span{ overflow:hidden; text-overflow:ellipsis }
.d2 .v2-band-short{ display:none }
@media (max-width:760px){ .d2 .v2-band-long{ display:none } .d2 .v2-band-short{ display:inline } }

/* ---------- 2) başlık: açık, bulanık cam; menü + para birimi/dil + koyu giriş hapı ---------- */
.d2 .top{ background:rgba(251,250,247,.88); -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); color:var(--v2-ink);
  min-height:70px; padding:10px var(--v2-gut); border-bottom:1px solid transparent; gap:16px; transition:border-color .25s var(--ease), background .25s var(--ease) }
.d2 .top.scrolled{ box-shadow:none; border-bottom-color:var(--v2-line); background:rgba(251,250,247,.94) }
.d2 .brand img{ height:36px; max-width:min(160px,40vw); mix-blend-mode:multiply }
.d2 .v2-nav{ display:flex; align-items:center; justify-content:center; gap:2px; flex:1 1 auto; min-width:0 }
.d2 .v2-nav a{ display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:999px; color:var(--v2-ink); font-size:15px; font-weight:500; text-decoration:none; white-space:nowrap; transition:background .2s var(--ease) }
.d2 .v2-nav a:hover{ background:rgba(15,42,64,.06) }
@media (max-width:1100px){ .d2 .v2-nav{ display:none } }
.d2 .top-controls{ gap:8px }
.d2 .top .select-wrap select{ min-height:42px; padding:0 30px 0 14px; border-radius:999px; border:1px solid var(--v2-line); background:#fff; color:var(--v2-ink); font-weight:600; font-size:14px }
.d2[dir=rtl] .top .select-wrap select{ padding:0 14px 0 30px }
.d2 .top .select-wrap select:hover{ border-color:var(--v2-mut3) }
.d2 .top .select-wrap{ color:var(--v2-ink) }
.d2 .auth-pill{ background:var(--v2-navy); border-color:var(--v2-navy); color:#fff; min-height:42px; padding:6px 16px 6px 6px }
.d2 .auth-pill.out{ padding:0 18px }
.d2 .auth-pill:hover{ background:var(--v2-navy2) }
.d2 .auth-avatar{ background:var(--v2-gold); color:var(--v2-navy) }
.d2 .auth-menu{ border-radius:18px; border-color:var(--v2-line2); box-shadow:var(--v2-shadow) }
.d2 .auth-pill:focus-visible{ outline:2px solid var(--v2-navy); outline-offset:3px }
.d2 .wfav-pill{ background:#fff; color:var(--v2-ink); border-color:var(--v2-line); min-height:42px }
.d2 .wfav-pill:hover{ background:#fff; border-color:var(--v2-mut3) }
.d2 .wfav-pill svg{ fill:var(--v2-gold-d) }
@media (max-width:520px){
  .d2 .top{ min-height:62px; padding-inline:12px; gap:8px }
  .d2 .brand img{ height:30px !important }
  .d2 .top .select-wrap select{ min-height:44px; padding:0 22px 0 10px; font-size:13px }
  .d2[dir=rtl] .top .select-wrap select{ padding:0 10px 0 22px }
  .d2 .auth-pill{ min-height:44px }
}
/* dar ekran: giriş hapı yalnız ikon (metin ekran okuyucuda kalır) — dört öğe 390 px genişliğe sığsın; tarih ikonları gizli */
@media (max-width:420px){
  .d2 .auth-pill.out{ padding:0; width:44px; min-width:44px; justify-content:center }
  .d2 .auth-pill.out .name{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
  .d2 .date-trigger svg{ display:none }
  /* Arapça tarih etiketleri uzun ("الخميس، 1 أكتوبر · 10:00") → tarihler alt alta, tam genişlik */
  /* Almanca da uzun ("Do., 1. Okt. · 10:00" kesiliyordu) */
  .d2:is([dir=rtl],[lang=de]) .search-card > .field.half{ grid-column:1 / -1 !important }
  .d2:is([dir=rtl],[lang=de]) .search-card > .field.half::before{ display:none }
}

/* ---------- ana sayfa yerleşimi: bölümler ortalanmış kap; sonuçlar görsel olarak hero'nun hemen altında ---------- */
.d2 main.d2-home{ padding:0; display:flex; flex-direction:column }
.d2 .d2-home > *{ order:2; width:100%; max-width:calc(var(--v2-wrap) + 2 * var(--v2-gut)); margin-inline:auto; padding-inline:var(--v2-gut) }
.d2 .d2-home > .hero{ order:0; max-width:none }
.d2 .d2-home > .results{ order:1 }
.d2 .d2-home > .v2-wow{ max-width:none; padding-inline:0 }
.d2 .sec-head{ max-width:none; margin-bottom:30px }
.d2 .sec-head h2, .d2 .how h2, .d2 .seo-intro h2, .d2 .v2-air h2, .d2 .contact h2{ font-size:clamp(32px,4.2vw,54px); font-weight:600; letter-spacing:-.035em; line-height:1.05; color:var(--v2-ink) }
.d2 .sec-head .v2-eyebrow{ font-size:13px; color:var(--v2-gold-d); margin:0 0 14px; max-width:none; line-height:1.45 }
.d2 .sec-head p:not(.v2-eyebrow){ font-size:17px; color:var(--v2-mut); max-width:62ch; margin-top:14px; line-height:1.6 }

/* ---------- 3) hero: ortalanmış, büyük sıkı başlık, hap arama ---------- */
.d2 .hero{ display:flex; flex-direction:column; align-items:center; text-align:center; margin:0; gap:0;
  padding:clamp(56px,8vw,112px) var(--v2-gut) clamp(36px,5vw,64px); background:none; color:var(--v2-ink); overflow:visible; isolation:auto }
.d2 .hero::before, .d2 .hero::after{ display:none }
.d2 .hero-text{ display:flex; flex-direction:column; align-items:center; max-width:1000px }
.d2 .hero-text > *{ animation:none }
.d2 .hero-text > .eyebrow, .d2 .hero-text > .trust{ display:none }
/* belge başlığı (h1 "WRS Car — Drive Your World.") iki tasarımda da aynı kalır; v2'de görsel slogan ayrı, h1 ekran okuyucuya açık gizli */
.d2 .hero-text > h1{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.d2 .v2-hero-eyebrow{ order:-2; margin-bottom:18px }
.d2 .v2-display{ order:-1; margin:0; font-size:clamp(50px,7vw,92px); font-weight:600; letter-spacing:-.045em; line-height:.98; color:var(--v2-ink); text-wrap:balance }
.d2 .hero .lead{ color:var(--v2-mut); font-size:clamp(17px,1.5vw,20px); line-height:1.55; max-width:60ch; margin:24px auto 40px }
.d2[dir=rtl] .hero h1{ text-align:center }
/* Latin marka ifadeleri RTL sayfada kendi yönünde (nokta başa kaçmaz) */
.d2 .v2-display, .d2 .v2-hero-eyebrow{ unicode-bidi:plaintext }

/* arama: masaüstünde yatay hap (form ızgara; beyaz hap zemini ::before, 1. satırın tamamını kaplar) */
.d2 .hero .search-card{ -webkit-backdrop-filter:none; backdrop-filter:none; position:relative; width:100%; max-width:1080px; margin:0 auto; padding:0; background:transparent; border:0; box-shadow:none; border-radius:0;
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto; column-gap:0; row-gap:12px; text-align:start; color:var(--v2-ink); animation:none }
.d2 .hero .search-card:focus-within{ box-shadow:none; border-color:transparent }
.d2 .hero .search-card::before{ content:""; grid-row:1; grid-column:1 / -1; background:#fff; border:1px solid var(--v2-line); border-radius:999px; box-shadow:var(--v2-shadow); z-index:0 }
.d2 .search-card > *{ position:relative; z-index:1 }
/* açılan konum listesi alttaki anahtar/not satırlarının üstünde kalsın */
.d2 .search-card > .field:first-child, .d2 .search-card > #dropField{ z-index:3 }
.d2 .search-card > .field:focus-within{ z-index:4 }
.d2 .search-card > .field:first-child{ grid-row:1; grid-column:1 }
/* ::before 1. satırın tüm hücrelerini kapladığı için otomatik yerleşim yeni sütun açardı → her öğe açıkça yerleştirilir
   (form çocukları: 1 alış yeri · 2 anahtar · 3 teslim yeri · 4–5 tarihler · 6 düğme · 7 not) */
.d2 .search-card > .field.half{ grid-row:1 }
.d2 .search-card > .field.half:nth-child(1 of .field.half){ grid-column:2 }
.d2 .search-card > .field.half:nth-child(2 of .field.half){ grid-column:3 }
.d2 .search-card > #searchBtn{ grid-row:1; grid-column:4 }
.d2 .search-card > .switch-row{ grid-row:2; grid-column:1 / 3 }
.d2 .search-card > .fineprint{ grid-row:2; grid-column:3 / -1 }
.d2 .search-card > #dropField{ grid-row:3; grid-column:1 / 3 }
.d2 .search-card > .field:not(.collapsible){ padding:13px 22px 11px; gap:1px; min-width:0; border-radius:999px; transition:background .2s var(--ease), box-shadow .2s var(--ease) }
.d2 .search-card > .field:first-child{ padding-inline-start:32px }
.d2 .search-card > .field.half::before{ content:""; position:absolute; inset-block:16px; inset-inline-start:0; width:1px; background:var(--v2-line2) }
.d2 .search-card > .field:not(.collapsible):hover{ background:rgba(15,42,64,.035) }
.d2 .search-card > .field:not(.collapsible):focus-within{ background:rgba(15,42,64,.045); box-shadow:inset 0 0 0 2px var(--v2-navy) }
.d2 .search-card > .field:not(.collapsible):focus-within::before, .d2 .search-card > .field:not(.collapsible):focus-within + .field.half::before{ opacity:0 }
.d2 .search-card .field label{ font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--v2-mut2) }
.d2[dir=rtl] .search-card .field label{ letter-spacing:0 }
.d2 .search-card .field input{ border:0; background:transparent; padding:3px 0; min-height:30px; border-radius:0; font-size:17px; font-weight:500; color:var(--v2-ink); box-shadow:none }
.d2 .search-card .field input:focus{ outline:none; box-shadow:none; border-color:transparent }
.d2 .search-card .field input::placeholder{ color:var(--v2-mut3) }
.d2 .date-trigger{ border:0; background:transparent; padding:3px 0; min-height:30px; border-radius:0; font-size:17px; font-weight:500; gap:8px; color:var(--v2-ink) }
/* odak: alanın halkası (focus-within) + düğmenin kendisinde altın alt çizgi — klavyeyle gezen görsün */
.d2 .date-trigger:focus-visible{ outline:none; text-decoration:underline; text-decoration-color:var(--v2-gold); text-decoration-thickness:2px; text-underline-offset:5px }
.d2 .date-trigger svg{ width:18px; height:18px; color:var(--v2-teal) }
.d2 .date-trigger.active{ box-shadow:none; border-color:transparent }
.d2 .search-card > .field:has(.date-trigger.active){ background:rgba(15,42,64,.045); box-shadow:inset 0 0 0 2px var(--v2-navy) }
.d2 .search-card > #searchBtn{ align-self:center; margin:8px; margin-inline-start:6px; min-height:58px; padding:0 30px; border-radius:999px; background:var(--v2-navy); color:#fff; font-size:16.5px; gap:10px; width:auto; box-shadow:none }
.d2 .search-card > #searchBtn:hover{ background:var(--v2-navy2) }
.d2 .search-card > #searchBtn svg{ width:20px; height:20px }
.d2 .search-card > #searchBtn:focus-visible{ outline:2px solid var(--v2-navy); outline-offset:3px }
.d2 .search-card > .switch-row{ margin:0; padding-inline-start:28px; min-height:44px; font-weight:500; font-size:14.5px; color:var(--v2-mut) }
.d2 .search-card > .fineprint{ align-self:center; text-align:end; font-size:13px; color:var(--v2-mut2); padding-inline-end:26px }
.d2 .switch-row input:checked + .switch{ background:var(--v2-teal) }
.d2 .switch-row input:focus-visible + .switch{ outline:2px solid var(--v2-navy); outline-offset:3px }
.d2 #dropInner{ gap:6px; padding:2px }
.d2 #dropField .combo input{ background:#fff; border:1px solid var(--v2-line); border-radius:999px; padding:14px 22px; font-size:16.5px }
.d2 #dropField .combo input:focus{ outline:2px solid var(--v2-navy); outline-offset:2px }
.d2 #dropField label{ padding-inline-start:22px }
/* taşma yalnız açılış geçişi bittikten sonra serbest (.opened, app.js) → animasyon sırasında tarihlerin üstüne binmez */
.d2 .collapsible.open.opened .collapsible-inner{ overflow:visible }
.d2 #dropField.invalid .combo input{ border-color:#B42318; box-shadow:0 0 0 1px #B42318 }
/* kapalıyken iç dolgu da sıfır: görünmez 4px boşluk kalmasın */
.d2 .collapsible:not(.open) .collapsible-inner{ padding-block:0 !important }
.d2 .combo-list{ border-radius:20px; border-color:var(--v2-line2); box-shadow:var(--v2-shadow-l); padding:6px; top:calc(100% + 10px); min-width:min(420px,calc(100vw - 32px)) }
.d2 .combo-list .opt{ border-radius:12px; padding:11px 12px }
.d2 .combo-list .opt:hover, .d2 .combo-list .opt.active{ background:rgba(15,42,64,.05) }
.d2 .combo-list .opt.sel{ background:rgba(201,173,125,.14) }
.d2 .combo-list .grp{ color:var(--v2-mut2); padding:10px 12px 4px }
@media (max-width:899px){
  /* mobil: yığılmış yuvarlak kart */
  .d2 .hero .search-card{ max-width:560px; grid-template-columns:1fr 1fr; background:#fff; border:1px solid var(--v2-line); border-radius:28px; box-shadow:var(--v2-shadow); padding:6px; row-gap:0 }
  .d2 .hero .search-card::before{ display:none }
  .d2 .search-card > *{ grid-row:auto !important; grid-column:1 / -1 !important }
  .d2 .search-card > .field.half{ grid-column:auto !important }
  .d2 .search-card > .field:not(.collapsible){ border-radius:20px; padding:12px 16px 10px }
  .d2 .search-card > .field:first-child{ padding-inline-start:16px }
  .d2 .search-card > .field.half::before{ inset-block:12px }
  .d2 .search-card > .field.half:nth-child(1 of .field.half)::before{ display:none }
  .d2 .search-card > .switch-row{ padding:2px 16px 4px; min-height:44px }
  .d2 .search-card > #dropField .collapsible-inner{ padding:0 10px 8px }
  .d2 .search-card > #searchBtn{ margin:6px 4px 4px; width:auto; min-height:54px }
  .d2 .search-card > .fineprint{ text-align:center; padding:8px 12px 6px }
  .d2 .hero .lead{ margin-bottom:30px }
}

/* güven maddeleri (hap'ın altında) */
.d2 .v2-trust{ list-style:none; margin:28px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; font-size:14.5px; font-weight:500; color:var(--v2-mut) }
.d2 .v2-trust li{ display:inline-flex; align-items:center; gap:8px }
.d2 .v2-trust svg{ width:19px; height:19px; flex:none; color:var(--v2-teal); fill:none }
@media (max-width:520px){ .d2 .v2-trust{ gap:10px 18px; font-size:13.5px } }

/* ---------- 4) şeffaflık: lacivert panel + beyaz fiyat dökümü ---------- */
.d2 .v2-tr{ padding-block:clamp(28px,4vw,56px) }
.d2 .v2-tr-panel{ position:relative; overflow:hidden; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:clamp(28px,5vw,72px); align-items:center;
  padding:clamp(28px,5.4vw,72px); border-radius:var(--v2-r-l); background:var(--v2-navy); color:#fff }
.d2 .v2-tr-panel::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 80% at 100% 0%, rgba(201,173,125,.20), transparent 60%), radial-gradient(50% 70% at 0% 100%, rgba(26,67,93,.9), transparent 70%) }
.d2 .v2-tr .v2-eyebrow{ color:var(--v2-gold) }
.d2 .v2-tr h2{ margin:0 0 18px; font-size:clamp(34px,4.4vw,58px); font-weight:600; letter-spacing:-.04em; line-height:1.02; color:#fff; max-width:14ch; text-wrap:balance }
.d2 .v2-tr-text{ color:rgba(251,250,247,.8); font-size:17px; line-height:1.65; max-width:48ch }
.d2 .v2-bd{ display:flex; flex-direction:column; background:#fff; color:var(--v2-ink); border-radius:26px; padding:26px 26px 20px; box-shadow:0 30px 70px rgba(0,0,0,.28); text-align:start }
.d2 .v2-bd-head{ order:0; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:30px; margin-bottom:14px }
.d2 .v2-bd-title{ font-weight:600; font-size:15px; color:var(--v2-mut) }
.d2 .v2-live{ display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:999px; background:rgba(23,111,111,.09); color:var(--v2-teal); font-size:12.5px; font-weight:600 }
.d2 .v2-live[hidden]{ display:none }
.d2 .v2-live i{ width:7px; height:7px; border-radius:50%; background:currentColor; animation:v2Pulse 1.8s var(--ease) 3 }
@keyframes v2Pulse{ 0%{ box-shadow:0 0 0 0 rgba(23,111,111,.45) } 70%,100%{ box-shadow:0 0 0 8px rgba(23,111,111,0) } }
.d2 .v2-bd-note{ order:1; margin:0; min-height:51px; font-size:14px; line-height:1.5; color:var(--v2-mut) }
.d2 .v2-bd-note[hidden]{ display:none }
.d2 .v2-bd-car{ order:2; margin:0; height:28px; font-size:20px; font-weight:600; letter-spacing:-.015em; line-height:28px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.d2 .v2-bd-where{ order:3; margin:2px 0 0; height:21px; font-size:14px; line-height:21px; color:var(--v2-mut2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.d2 .v2-bd.nodata .v2-bd-car, .d2 .v2-bd.nodata .v2-bd-where{ display:none }
.d2 .v2-bd-list{ order:4; margin:18px 0 0 }
.d2 .v2-bd-list > div{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid var(--v2-line2) }
.d2 .v2-bd-list dt{ color:var(--v2-mut); font-size:15px; min-width:0 }
.d2 .v2-bd-list dd{ margin:0; min-height:24px; font-size:16.5px; font-weight:600; text-align:end; white-space:nowrap; font-variant-numeric:tabular-nums }
.d2 .v2-bd-list .v2-bd-total{ border-top:1px solid var(--v2-ink); padding-top:15px; margin-top:4px }
.d2 .v2-bd-list .v2-bd-total dt{ color:var(--v2-ink); font-weight:600 }
.d2 .v2-bd-list .v2-bd-total dd{ font-size:26px; letter-spacing:-.025em; line-height:1 }
/* yüklenirken: sayı yerine iskelet çubuk (yükseklik sabit → CLS yok); veri yoksa boş kalır (sayı uydurulmaz) */
.d2 .v2-bd[aria-busy="true"] :is(.v2-bd-car,.v2-bd-where,dd):empty::before{ content:""; display:inline-block; vertical-align:middle; width:7em; max-width:100%; height:.8em; border-radius:6px;
  background:linear-gradient(90deg,var(--v2-line2) 25%,#F6F3EE 50%,var(--v2-line2) 75%); background-size:200% 100%; animation:sh 1.2s infinite }
.d2 .v2-bd[aria-busy="true"] dd:empty::before{ width:5em }
.d2 .v2-bd.nodata dd::before{ content:"—"; color:var(--v2-line) }
@media (max-width:860px){ .d2 .v2-tr-panel{ grid-template-columns:1fr } .d2 .v2-tr h2{ max-width:none } }
@media (max-width:520px){ .d2 .v2-tr-panel{ border-radius:28px; padding:28px 18px 18px } .d2 .v2-bd{ padding:22px 18px 16px; border-radius:22px } }

/* ---------- 5) rakamlar şeridi ---------- */
.d2 .v2-facts{ padding-block:clamp(28px,5vw,64px) }
.d2 .v2-facts-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) }
.d2 .v2-facts-list li{ display:flex; flex-direction:column; gap:6px; padding:6px clamp(16px,3vw,40px); border-inline-start:1px solid var(--v2-line); min-width:0 }
.d2 .v2-facts-list li:first-child{ border-inline-start:0; padding-inline-start:0 }
.d2 .v2-fact-n{ font-size:clamp(44px,5.2vw,68px); font-weight:600; letter-spacing:-.045em; line-height:1; color:var(--v2-ink); font-variant-numeric:tabular-nums }
.d2 .v2-facts-list span{ font-size:16.5px; font-weight:500; color:var(--v2-mut) }
.d2 .v2-facts-list small{ font-size:12.5px; font-weight:600; letter-spacing:.1em; color:var(--v2-mut2) }
@media (max-width:760px){
  .d2 .v2-facts-list{ grid-template-columns:1fr 1fr; row-gap:28px }
  .d2 .v2-facts-list li:nth-child(3){ border-inline-start:0; padding-inline-start:0 }
}

/* ---------- 6) öne çıkan araçlar ---------- */
.d2 .featured{ padding-block:clamp(40px,6vw,88px) clamp(20px,3vw,40px) }
.d2 #featLead{ min-height:0 }
.d2 .feat-card{ border-radius:var(--v2-r); border-color:var(--v2-line2); box-shadow:none; background:#fff }
.d2 a.feat-card:hover, .d2 .fb-card:hover{ transform:translateY(-3px); box-shadow:var(--v2-shadow); border-color:var(--v2-line) }
.d2 .feat-card:focus-visible{ outline:2px solid var(--v2-navy); outline-offset:3px }
.d2 .feat-price{ border-top:1px solid var(--v2-line2); color:var(--v2-mut) }
.d2 .feat-price b{ font-weight:600; font-size:19px; letter-spacing:-.015em; color:var(--v2-ink) }
.d2 .feat-cta{ color:var(--v2-teal) }
.d2 .feat-note{ color:var(--v2-mut2) }
@media (max-width:640px){ .d2 .feat-card{ box-shadow:none } }

/* araç görseli (vitrin + sonuçlar + detay): açık zemin, beyaz sınıf rozeti; temsili fotoğraf notu ve atıf aynen kalır */
.d2 .car-art{ background:linear-gradient(160deg,#F3F0EA,#E6E1D6); color:var(--v2-ink) }
.d2 .car-art.photo{ background:#ECE8DF }
.d2 .car-art.photo::before{ display:none }
.d2 .car-art .cls, .d2 .car-art.photo .cls{ background:rgba(255,255,255,.94); color:var(--v2-ink); letter-spacing:.08em; box-shadow:0 2px 8px rgba(15,42,64,.08) }
.d2 .car-art .badge{ background:var(--v2-navy); color:#fff }

/* ---------- sonuçlar: başlık, süzgeç çipleri, sıralama, kartlar ---------- */
.d2 .results{ padding-block:clamp(24px,4vw,48px) 64px }
.d2 .results-head h2{ font-size:clamp(28px,3.4vw,42px); font-weight:600; letter-spacing:-.035em }
.d2 .chip{ border-color:var(--v2-line); background:#fff; color:var(--v2-ink); font-weight:500; padding:8px 16px; min-height:42px }
.d2 .chip:hover:not(.on){ border-color:var(--v2-ink); background:#fff }
.d2 .chip.on{ background:var(--v2-navy); border-color:var(--v2-navy); color:#fff }
.d2 .results .select-wrap select{ border-radius:999px; background:#fff; border-color:var(--v2-line); min-height:42px; padding-inline:16px 34px; font-weight:600 }
.d2[dir=rtl] .results .select-wrap select{ padding-inline:16px 34px }
.d2 .ai-recommend{ border-radius:var(--v2-r); border-color:var(--v2-line2); background:#fff; padding:20px 22px }
.d2 .ai-recommend input{ border-radius:999px; padding:13px 18px; background:var(--v2-bg); border-color:var(--v2-line) }
.d2 .ai-recommend .btn{ border-radius:999px; padding-inline:22px }
.d2 .grid{ gap:18px }
.d2 .car{ border-radius:var(--v2-r); border-color:var(--v2-line2); box-shadow:none; background:#fff }
.d2 .car:hover{ transform:translateY(-3px); box-shadow:var(--v2-shadow); border-color:var(--v2-line) }
.d2 .car h3{ font-size:19px; font-weight:600; letter-spacing:-.015em }
.d2 .car .sub, .d2 .specs, .d2 .dep, .d2 .price .per{ color:var(--v2-mut) }
.d2 .specs svg{ color:var(--v2-teal) }
.d2 .price-row{ border-top:1px solid var(--v2-line2) }
.d2 .price .total{ font-weight:600; font-size:28px; letter-spacing:-.025em }
.d2 .car .btn{ min-height:48px }
.d2 .empty, .d2 .error{ border-radius:var(--v2-r); background:#fff }
.d2 .wpa{ border-radius:var(--v2-r); border-color:var(--v2-line2); box-shadow:none }
.d2 .wpa-btn{ border-radius:999px; border-color:var(--v2-navy); color:var(--v2-navy) }
.d2 .wpa-btn.primary{ background:var(--v2-navy); color:#fff }
.d2 .wpa-ico{ background:rgba(201,173,125,.18); color:var(--v2-gold-d) }
.d2 .wpa :focus-visible{ outline:2px solid var(--v2-navy) }
.d2 .wpa-check input{ accent-color:var(--v2-navy) }
.d2 .wfav-heart{ background:rgba(255,255,255,.95); color:var(--v2-navy) }
.d2 .wfav-heart[aria-pressed="true"]{ color:#B03A2E }

/* ---------- 7) havalimanları + harita ---------- */
.d2 .v2-air{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(28px,5vw,72px); align-items:center; padding-block:clamp(48px,7vw,104px) }
.d2 .v2-air h2{ margin:0; max-width:15ch; text-wrap:balance }
.d2 .v2-lead{ margin:16px 0 26px; font-size:17px; line-height:1.6; color:var(--v2-mut); max-width:52ch }
.d2 .v2-air-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px }
.d2 .v2-apt{ display:flex; align-items:center; gap:12px; height:100%; min-height:62px; padding:12px 16px; border-radius:18px; background:#fff; border:1px solid var(--v2-line2);
  color:var(--v2-ink); text-decoration:none; transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease) }
.d2 .v2-apt:hover{ transform:translateY(-2px); box-shadow:var(--v2-shadow-s); border-color:var(--v2-line) }
.d2 .v2-apt-code{ flex:none; min-width:40px; font-size:14px; font-weight:700; letter-spacing:.06em; color:var(--v2-gold-d) }
.d2 .v2-apt-name{ flex:1; min-width:0; font-size:15px; font-weight:500; line-height:1.3 }
.d2 .v2-apt .v2-arrow{ color:var(--v2-mut3); transition:transform .2s var(--ease) }
.d2 .v2-apt:hover .v2-arrow{ transform:translateX(3px) }
.d2[dir=rtl] .v2-apt:hover .v2-arrow{ transform:scaleX(-1) translateX(3px) }
.d2 .v2-link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:18px; font-weight:600; color:var(--v2-teal); text-decoration:none }
.d2 .v2-link svg{ width:18px; height:18px; transition:transform .2s var(--ease) }
.d2 .v2-link:hover svg{ transform:translateX(4px) }
.d2 .v2-map{ position:relative; overflow:hidden; isolation:isolate; margin:0; padding:clamp(20px,3vw,40px) clamp(16px,3vw,40px) clamp(18px,2.4vw,28px); border-radius:var(--v2-r-l); background:var(--v2-navy) }
.d2 .v2-map::before{ content:""; position:absolute; inset:0; z-index:-1; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size:32px 32px }
.d2 .v2-map-svg{ display:block; width:100%; height:auto; direction:ltr; overflow:visible }
.d2 .m-land{ fill:rgba(255,255,255,.06); stroke:rgba(201,173,125,.6); stroke-width:1.2; stroke-linejoin:round }
.d2 .m-city{ fill:rgba(251,250,247,.5) }
.d2 .m-air{ fill:var(--v2-gold) }
.d2 .m-top{ fill:none; stroke:var(--v2-gold); stroke-width:1.4; opacity:.75 }
.d2 .m-labels text{ fill:#fff; font-family:var(--v2-font); font-size:13px; font-weight:600; letter-spacing:.06em }
.d2 .v2-map figcaption{ margin-top:14px; font-size:13px; color:rgba(251,250,247,.74) }
/* dünya → Türkiye rota haritası (world-map.js sunucuda çizer; app.js: görünüm düğmeleri, dil değişimi, havalimanı seçimi).
   Bölüm düzeni: masaüstünde solda başlık + havalimanı listesi, sağda harita kartı; dar ekranda başlık → harita → liste. */
.d2 .v2-air{ grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr); grid-template-areas:"head map" "copy map"; grid-template-rows:auto 1fr; align-items:start; row-gap:22px }
.d2 .v2-air-head{ grid-area:head; align-self:end }
.d2 .v2-air > .wm{ grid-area:map; align-self:center }
.d2 .v2-air-copy{ grid-area:copy }
.d2 .v2-air-copy .v2-lead{ margin-top:0 }
.d2 .wm{ --wm-from:rgba(251,250,247,.2); --wm-from-line:rgba(251,250,247,.75); padding:clamp(14px,2vw,22px) }
.d2 .wm-bar{ display:flex; align-items:center; justify-content:space-between; gap:10px 14px; margin-bottom:14px }
.d2 .wm-sub{ margin:0; font-size:14.5px; line-height:1.45; color:rgba(251,250,247,.86); max-width:46ch }
.d2 .wm-views{ display:inline-flex; flex:none; gap:2px; padding:3px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14) }
.d2 .wm-views button{ appearance:none; border:0; margin:0; min-height:34px; padding:0 14px; border-radius:999px; background:transparent; color:rgba(251,250,247,.8);
  font:600 13px/1 var(--v2-font); cursor:pointer; transition:background .2s var(--ease), color .2s var(--ease) }
.d2 .wm-views button[aria-pressed="true"]{ background:var(--v2-gold); color:var(--v2-navy) }
.d2 .wm-stage, .d2 .wm-pane-tr{ position:relative; aspect-ratio:3/2; border-radius:14px; overflow:hidden; background:rgba(4,16,28,.35) }
.d2 .wm-pane-tr{ display:grid; place-items:center; padding:4%; background:none }
.d2 .wm-pane[hidden]{ display:none }
.d2 .wm-pane-tr .v2-map-svg{ max-height:100% }
.d2 .wm-svg{ position:absolute; inset:0; width:100%; height:100%; display:block; direction:ltr }
.d2 .wm-sea{ fill:transparent }
.d2 .wm-land, .d2 .wm-c{ fill:rgba(255,255,255,.075); stroke:rgba(255,255,255,.2); stroke-width:.7px; vector-effect:non-scaling-stroke; stroke-linejoin:round }
.d2 .wm-inv{ fill:rgba(201,173,125,.3); stroke:var(--v2-gold); stroke-width:1.2px }
.d2 .wm-aps circle{ fill:rgba(201,173,125,.75) }
.d2 .wm-arc{ fill:none; stroke:var(--v2-gold); stroke-width:var(--sw); stroke-linecap:round; opacity:.9 }
.d2 .wm-flow{ fill:none; stroke:#FFF6E4; stroke-width:calc(var(--sw) * 1.9); stroke-linecap:round; stroke-dasharray:.04 1; stroke-dashoffset:.04 }
.d2 .wm-o{ fill:var(--v2-gold) }
.d2 .wm-ring{ fill:none; stroke:var(--v2-gold); stroke-width:var(--sw); opacity:.6; transform-box:fill-box; transform-origin:center }
.d2 .wm-ap{ fill:var(--v2-gold); stroke:var(--v2-navy); stroke-width:calc(var(--sw) * .8) }
.d2 .wm-pins{ position:absolute; inset:0; pointer-events:none }
.d2 .wm-pin, .d2 .wm-olabel, .d2 .wm-lead{ position:absolute }
.d2 .wm-pin{ pointer-events:auto; box-sizing:border-box; width:42px; height:24px; margin:0; padding:0; border-radius:999px; border:1px solid var(--v2-gold);
  background:rgba(15,42,64,.94); color:#fff; font:700 11.5px/1 var(--v2-font); letter-spacing:.06em; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.35);
  transform:translate(-50%,-50%) translate(var(--dx),var(--dy)); transition:background .15s var(--ease), color .15s var(--ease) }
.d2 .wm-pin::after{ content:""; position:absolute; inset:-7px -3px } /* dokunma alanı */
.d2 .wm-pin:hover, .d2 .wm-pin[aria-pressed="true"]{ background:var(--v2-gold); color:var(--v2-navy) }
.d2 .wm-pin[aria-pressed="true"]{ box-shadow:0 0 0 3px rgba(201,173,125,.35), 0 2px 10px rgba(0,0,0,.35) }
.d2 .wm .wm-pin:focus-visible{ outline:2px solid #fff; outline-offset:2px }
.d2 .wm-olabel{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:6px; white-space:nowrap; pointer-events:none;
  background:rgba(251,250,247,.14); border:1px solid rgba(251,250,247,.28); color:#fff; font:600 11.5px/1 var(--v2-font); transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) }
.d2 .wm-lead{ width:var(--len); height:1px; background:rgba(201,173,125,.75); transform-origin:0 50%; transform:rotate(var(--ang)) }
.d2 .wm figcaption{ margin-top:12px }
/* canlandırma: yalnız JS .wm-anim eklediyse (hareket azaltma kapalı) ve harita görünür alana girince (.wm-play) */
.d2 .wm-anim .wm-arc{ stroke-dasharray:1; stroke-dashoffset:1 }
.d2 .wm-anim .wm-pin, .d2 .wm-anim .wm-olabel{ opacity:0 }
.d2 .wm-play .wm-arc{ animation:wm-draw 1.3s cubic-bezier(.45,0,.2,1) forwards; animation-delay:calc(var(--i) * .13s) }
.d2 .wm-play .wm-flow{ animation:wm-fly 3.4s linear infinite; animation-delay:calc(1.3s + var(--i) * .45s) }
.d2 .wm-play .wm-ring{ animation:wm-pulse 2.6s ease-out infinite }
.d2 .wm-play .wm-pin, .d2 .wm-play .wm-olabel{ animation:wm-pop .35s ease-out forwards; animation-delay:calc(.7s + var(--i, 0) * .13s) }
.d2 .wm-off *{ animation-play-state:paused !important }
@keyframes wm-draw{ to{ stroke-dashoffset:0 } }
@keyframes wm-fly{ from{ stroke-dashoffset:.04 } to{ stroke-dashoffset:-1 } }
@keyframes wm-pulse{ 0%{ transform:scale(.35); opacity:.9 } 100%{ transform:scale(1.7); opacity:0 } }
@keyframes wm-pop{ to{ opacity:1 } }
/* haritadan seçilen havalimanı: arama kartı kısa bir altın halkayla belirir */
.d2 .search-card.wm-flash{ animation:wm-flash 1.4s ease-out }
@keyframes wm-flash{ 0%{ box-shadow:0 0 0 0 rgba(201,173,125,.9) } 100%{ box-shadow:0 0 0 14px rgba(201,173,125,0) } }
@media (max-width:900px){ .d2 .v2-air{ grid-template-columns:1fr; grid-template-areas:"head" "map" "copy"; grid-template-rows:none } .d2 .v2-air h2{ max-width:none } }
@media (max-width:560px){
  .d2 .wm{ padding:12px 10px }
  .d2 .wm-bar{ flex-wrap:wrap; padding-inline:4px }
  .d2 .wm-sub{ flex:1 1 100%; font-size:14px }
  .d2 .wm-stage, .d2 .wm-pane-tr{ border-radius:10px }
  .d2 .wm figcaption{ padding-inline:4px }
}
@media (max-width:420px){ .d2 .v2-air-list{ grid-template-columns:1fr } }

/* ---------- 8) karanlık "wow" bandı ---------- */
.d2 .v2-wow{ position:relative; overflow:hidden; isolation:isolate; display:grid; justify-items:center; align-content:start; text-align:center;
  min-height:clamp(460px,46vw,660px); margin-block:clamp(24px,4vw,56px) 0; background:var(--v2-dark); color:#fff }
.d2 .v2-wow-road{ position:absolute; inset:0; z-index:-1; width:100%; height:100% }
.d2 .w-horizon{ stroke:rgba(201,173,125,.4); stroke-width:1; fill:none }
.d2 .w-asphalt{ fill:rgba(255,255,255,.04) }
.d2 .w-edge{ stroke:rgba(251,250,247,.6); stroke-width:2; fill:none }
.d2 .w-lane{ stroke:rgba(251,250,247,.12); stroke-width:1; fill:none }
.d2 .w-center{ stroke:var(--v2-gold); stroke-width:5; stroke-dasharray:22 26; fill:none }
.d2 .v2-wow.run .w-center{ animation:v2Dash 1.4s linear infinite }   /* app.js .run'ı yalnız bant görünürken ekler */
@keyframes v2Dash{ to{ stroke-dashoffset:-48 } }
.d2 .v2-wow-inner{ padding:clamp(64px,8vw,112px) var(--v2-gut) 0; max-width:1100px }
.d2 .v2-wow h2{ margin:0; font-size:clamp(50px,8.4vw,120px); font-weight:600; letter-spacing:-.05em; line-height:.96; color:#fff; text-shadow:0 2px 30px rgba(7,17,29,.6) }
.d2 .v2-wow h2 span{ display:block }
.d2 .v2-gold{ color:var(--v2-gold) }
.d2 .v2-wow .v2-pill{ margin-top:clamp(28px,4vw,44px); box-shadow:0 14px 34px rgba(201,173,125,.22) }
@media (prefers-reduced-motion: reduce){ .d2 .v2-wow .w-center{ animation:none !important } }

/* ---------- 9) mevcut bölümler: güvence, nasıl çalışır, SSS, iletişim ---------- */
.d2 .assure{ padding-block:clamp(56px,7vw,104px) 16px }
.d2 .assure-grid{ gap:16px }
.d2 .assure-card{ border-radius:var(--v2-r); border-color:var(--v2-line2); background:#fff; box-shadow:none; padding:26px 24px 24px }
.d2 .assure-card::before{ display:none }
.d2 .assure-card:hover{ transform:translateY(-3px); box-shadow:var(--v2-shadow); border-color:var(--v2-line) }
.d2 .a-ico{ background:rgba(23,111,111,.09); color:var(--v2-teal); border-radius:16px }
.d2 .assure-card h3{ font-size:18px; letter-spacing:-.015em }
.d2 .assure-card p{ color:var(--v2-mut) }
.d2 .how{ padding-block:clamp(48px,6vw,88px) clamp(40px,5vw,72px) }
.d2 .steps{ gap:16px; margin-top:28px }
.d2 .steps::before{ background:repeating-linear-gradient(90deg, var(--v2-line) 0 8px, transparent 8px 16px); opacity:1; top:43px }
.d2 .step{ border-radius:var(--v2-r); border-color:var(--v2-line2); background:#fff; padding:26px 24px }
.d2 .step span{ width:40px; height:40px; background:var(--v2-navy); color:#fff; box-shadow:0 0 0 6px #fff; margin-bottom:14px }
.d2 .step h3{ font-size:19px; letter-spacing:-.015em }
.d2 .step p{ color:var(--v2-mut) }
.d2 .seo-copy{ padding-block:clamp(24px,4vw,48px) clamp(40px,6vw,80px) }
.d2 .seo-intro p{ color:var(--v2-mut); font-size:16.5px; line-height:1.65 }
.d2 .faq-list details{ border-radius:18px; border-color:var(--v2-line2); background:#fff; padding:18px 22px }
.d2 .faq-list summary{ font-weight:600; font-size:16px }
.d2 .faq-list p{ color:var(--v2-mut) }
.d2 .d2-home > .contact{ width:calc(100% - 2 * var(--v2-gut)); max-width:var(--v2-wrap); margin:clamp(24px,4vw,48px) auto 0; padding:clamp(36px,5vw,64px) clamp(20px,4vw,56px);
  border-radius:var(--v2-r-l); background:#fff; border:1px solid var(--v2-line2); color:var(--v2-ink) }
.d2 .contact::before{ display:none }
.d2 .contact .muted{ color:var(--v2-mut) }
.d2 .contact .btn.ghost{ border-color:var(--v2-line); color:var(--v2-ink) }
.d2 .contact .btn.ghost:hover{ background:#fff; border-color:var(--v2-ink) }
.d2 .contact .btn.primary{ background:var(--v2-navy); color:#fff }

/* ---------- 10) alt bilgi: lacivert, 4 sütun ---------- */
.d2 .foot{ margin-top:clamp(56px,7vw,104px); padding:clamp(48px,6vw,80px) var(--v2-gut) calc(32px + var(--safe-b)); background:var(--v2-navy); color:rgba(251,250,247,.74); font-size:14.5px }
.d2 .foot-grid{ max-width:var(--v2-wrap); grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px }
.d2 .foot h3{ color:var(--v2-gold); font-size:12.5px; font-weight:600; letter-spacing:.16em }
.d2[dir=rtl] .foot h3{ letter-spacing:0 }
.d2 .foot-brand img{ height:40px }
.d2 .foot-slogan{ margin:14px 0 6px; font-size:26px; font-weight:600; letter-spacing:-.035em; color:#fff }
.d2 .foot .muted{ color:rgba(251,250,247,.66) }
.d2 .foot a, .d2 .foot .link{ color:rgba(251,250,247,.88) }
.d2 .foot a:hover, .d2 .foot .link:hover{ color:var(--v2-gold) }
.d2 .foot-note{ max-width:var(--v2-wrap); border-top-color:rgba(251,250,247,.12) }
@media (max-width:1000px){ .d2 .foot-grid{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .d2 .foot-grid{ grid-template-columns:1fr; gap:28px } }

/* ---------- önizleme çipi (yalnız v2 varsayılan değilken; sol alt, RTL'de sağ alt — sohbet balonunun karşı köşesi) ---------- */
.d2 .d2-preview{ position:fixed; z-index:65; left:16px; bottom:calc(16px + var(--safe-b)); display:inline-flex; align-items:center; gap:6px; min-height:44px; max-width:calc(100vw - 110px);
  padding:0 16px; border-radius:999px; background:rgba(15,42,64,.94); color:rgba(251,250,247,.86); font-size:13px; font-weight:500; text-decoration:none;
  box-shadow:0 12px 30px rgba(7,17,29,.28); white-space:nowrap; overflow:hidden }
.d2 .d2-preview b{ color:var(--v2-gold); font-weight:600; text-decoration:underline; text-underline-offset:3px }
.d2 .d2-preview:hover b{ color:#E2CFA9 }
.d2[dir=rtl] .d2-preview{ left:auto; right:16px }
body.modal-open .d2-preview, body.chat-open .d2-preview{ visibility:hidden }
@media (max-width:480px){ .d2 .d2-preview > span{ display:none } .d2 .d2-preview{ gap:0 } .d2 .d2-preview{ padding:0 14px; font-size:12.5px } }

/* ---------- detay paneli, rezervasyon adımları, ödeme formu, onay ---------- */
.d2 .sheet-backdrop{ background:rgba(7,17,29,.42); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px) }
.d2 .sheet{ background:#fff; padding:30px 28px calc(28px + var(--safe-b)); border-start-start-radius:28px; border-end-start-radius:28px; box-shadow:-30px 0 80px rgba(15,42,64,.2) }
.d2 .sheet h2{ font-size:28px; font-weight:600; letter-spacing:-.03em }
.d2 .sheet h3{ letter-spacing:-.015em }
.d2 .sheet-close{ width:44px; height:44px; background:#fff; border-color:var(--v2-line); color:var(--v2-ink) }
.d2 .sheet-close:hover{ border-color:var(--v2-ink) }
.d2 .sheet .art{ border-radius:var(--v2-r); background:linear-gradient(160deg,#F3F0EA,#E6E1D6) }
.d2 .sheet .art.photo{ background:#ECE8DF }
.d2 .credit, .d2 .note{ color:var(--v2-mut2) }
.d2 .kv{ border-top-color:var(--v2-line2) }
.d2 .kv dt{ color:var(--v2-mut) }
.d2 .extras{ border-top-color:var(--v2-line2) }
.d2 .extras label span:last-child{ color:var(--v2-mut) }
.d2 .extras input{ accent-color:var(--v2-navy) }
.d2 .total-box{ background:var(--v2-bg); border:1px solid var(--v2-line2); border-radius:20px; padding:16px 20px }
.d2 .total-box .t{ font-weight:600; font-size:30px; letter-spacing:-.03em }
.d2 .sheet .btn.big{ min-height:56px }
.d2 .flow .f{ border-radius:16px; border-color:var(--v2-line2) }
.d2 .flow .f.on{ border-color:var(--v2-gold); background:rgba(201,173,125,.10) }
.d2 .flow .f span{ background:var(--v2-navy) }
.d2 .flow .f small{ color:var(--v2-mut) }
.d2 .form2 input, .d2 .form2 select{ border-radius:14px; background:var(--v2-bg); padding:13px 14px }
.d2 .pay .lock{ color:var(--v2-teal) }
@media (max-width:520px){ .d2 .sheet{ border-radius:28px 28px 0 0; padding:26px 18px calc(22px + var(--safe-b)) } }

/* ---------- tarih seçici ---------- */
.d2 .dp-backdrop{ background:rgba(7,17,29,.22) }
.d2 .dp-pop{ border-radius:24px; border-color:var(--v2-line2); box-shadow:var(--v2-shadow-l) }
.d2 .dp-nav{ border-radius:999px; background:#fff }
.d2 .dp-day.sel{ background:var(--v2-navy) }
.d2 .dp-band{ background:rgba(15,42,64,.06) }
@media (max-width:520px){ .d2 .dp-pop{ border-radius:26px 26px 0 0 } }

/* ---------- çerez bandı, sohbet balonu, bildirimler, giriş/favori pencereleri ---------- */
.d2 .consent{ border-radius:24px; border-color:var(--v2-line2); box-shadow:var(--v2-shadow-l); padding:18px 20px }
.d2 .wc-fab{ background:var(--v2-navy); box-shadow:0 14px 34px rgba(15,42,64,.32) }
.d2 .wc-fab:hover{ background:var(--v2-navy2) }
.d2 .wc-dot{ border-color:var(--v2-navy) }
.d2 .wc-panel{ border-radius:26px; border-color:var(--v2-line2) }
.d2 .wc-head{ background:var(--v2-navy) }
.d2 .wc-msg.me{ background:var(--v2-navy) }
.d2 .wc-msg.bot{ border-color:var(--v2-line2) }
.d2 .wc-chip{ border-color:var(--v2-line); color:var(--v2-navy) }
.d2 .wc-input input{ border-radius:999px; padding-inline:16px }
.d2 .wc-input input:focus{ outline:2px solid var(--v2-navy) }
.d2 .wc-send{ border-radius:999px; background:var(--v2-navy); color:#fff }
.d2 .wc-send:hover{ background:var(--v2-navy2) }
@media (max-width:480px){ .d2 .wc-panel{ border-radius:26px 26px 0 0 } }
.d2 .toast{ background:var(--v2-navy); border-radius:999px; padding:12px 20px; box-shadow:var(--v2-shadow-l) }
.d2 .auth-card{ border-radius:28px; padding:30px 26px 24px }
.d2 .auth-btn{ border-radius:999px; min-height:50px }
.d2 .auth-close{ background:#fff }
.d2 .wfav-panel{ background:#fff }
.d2 .wfav-item{ border-radius:18px; border-color:var(--v2-line2) }
.d2 .wfav-btn{ border-radius:999px; border-color:var(--v2-line) }
.d2 .wfav-btn.primary{ background:var(--v2-navy); border-color:var(--v2-navy); color:#fff }
.d2 .wfav-note{ border-radius:14px }
.d2 .wfav-x{ background:#fff }
@media (min-width:521px){ .d2 .wfav-panel{ border-start-start-radius:28px; border-end-start-radius:28px } }

/* ---------- Rezervasyonlarım (bookings.html) ---------- */
.d2 .bk-eyebrow{ color:var(--v2-gold-d); font-size:13px; font-weight:600; letter-spacing:.16em }
.d2 .bk-head h1{ font-weight:600; font-size:clamp(30px,9vw,64px); overflow-wrap:anywhere; letter-spacing:-.045em; line-height:1 }
.d2 .bk-lead{ color:var(--v2-mut) }
.d2 .bk-panel, .d2 .bk-card{ border-radius:var(--v2-r); border-color:var(--v2-line2); box-shadow:none; background:#fff }
.d2 .bk-panel .bk-ico{ background:rgba(23,111,111,.09); color:var(--v2-teal) }
.d2 .bk-total strong{ font-weight:600; letter-spacing:-.025em }
.d2 .bk-auth a{ border-radius:999px; min-height:50px }
.d2 .bk-actions .btn, .d2 .bk-acc .row .btn{ border-radius:999px }
.d2 .bk-dlg{ border-radius:28px }
.d2 .bk-dlg input{ border-radius:14px; background:var(--v2-bg) }
.d2 .bk-dlg input:focus{ outline:2px solid var(--v2-navy) }
.d2 .bk :focus-visible, .d2 .bk-dlg :focus-visible{ outline-color:var(--v2-navy) }
.d2 .bk-toast{ background:var(--v2-navy); border-radius:999px }

/* ---------- yasal sayfalar + destek ---------- */
.d2 .legal{ padding-top:clamp(36px,5vw,64px) }
.d2 .legal h1{ font-size:clamp(38px,5.4vw,60px); font-weight:600; letter-spacing:-.045em; line-height:1.02 }
.d2 .legal h2{ font-size:22px; font-weight:600; letter-spacing:-.02em }
.d2 .legal .upd{ color:var(--v2-mut2) }
.d2 .legal a.back{ color:var(--v2-teal) }
.d2 .legal .company, .d2 .legal .note, .d2 .support-card, .d2 .legal details{ border-radius:20px; border-color:var(--v2-line2); background:#fff }
.d2 .legal .lang-switch a{ border-color:var(--v2-line); background:#fff; min-height:40px; display:inline-flex; align-items:center }
.d2 .support-card a{ color:var(--v2-teal) }

/* ---------- şehir / havalimanı sayfaları (landing.js) ---------- */
.d2 .lx-page{ color-scheme:light }
.d2 .lx-langs{ background:#fff; border-color:var(--v2-line) }
.d2 .lx-langs a{ color:var(--v2-mut); min-height:36px; display:inline-flex; align-items:center; justify-content:center }
.d2 .lx-langs a:hover{ color:var(--v2-ink); background:rgba(15,42,64,.06) }
.d2 .lx-langs a[aria-current]{ background:var(--v2-navy); color:#fff }
.d2 .lx-hero, .d2 .lx-hero-index{ background:none; color:var(--v2-ink); padding-top:clamp(28px,5vw,56px) }
.d2 .lx-hero{ padding-bottom:clamp(88px,10vw,120px) }
.d2 .lx-hero-index{ padding-bottom:40px }
.d2 .lx-hero::after{ display:none }
.d2 .lx-hero h1{ color:var(--v2-ink); font-weight:600; font-size:clamp(38px,6.4vw,72px); letter-spacing:-.045em; line-height:1.02 }
.d2 .lx-lead{ color:var(--v2-mut) }
.d2 .lx-eyebrow{ padding:0; border:0; background:none; color:var(--v2-gold-d); font-size:13px; font-weight:600; letter-spacing:.16em }
.d2 .lx-eyebrow::before{ display:none }
.d2 .lx-crumbs ol{ color:var(--v2-mut2) }
.d2 .lx-crumbs a:hover{ color:var(--v2-ink); border-color:var(--v2-mut3) }
.d2 .lx-crumbs [aria-current]{ color:var(--v2-ink) }
.d2 .lx-card{ border-radius:var(--v2-r); border-color:var(--v2-line2); box-shadow:none }
.d2 .lx-search{ border-top:0; border-radius:28px; box-shadow:var(--v2-shadow) }
.d2 .lx-field select, .d2 .lx-field input, .d2 .lx-fixed{ border-radius:14px; background:var(--v2-bg); border-color:var(--v2-line) }
.d2 .lx-field select:focus, .d2 .lx-field input:focus{ border-color:var(--v2-navy); box-shadow:0 0 0 3px rgba(15,42,64,.12) }
.d2 .lx-go{ background:var(--v2-navy); color:#fff; border-radius:999px; box-shadow:none }
.d2 .lx-go:hover{ background:var(--v2-navy2); box-shadow:none }
.d2 .lx-all .lx-go{ color:#fff }
.d2 .lx-all .btn{ border-radius:999px; background:#fff }
.d2 .lx-code{ background:var(--v2-navy); color:#fff; font-weight:600 }
.d2 .lx-sup li{ border-radius:14px; background:var(--v2-bg) }
.d2 .lx-near, .d2 .lx-loc, .d2 .lx-faq{ border-radius:18px; border-color:var(--v2-line2) }
.d2 .lx-near:hover, .d2 .lx-loc:hover{ border-color:var(--v2-line); box-shadow:var(--v2-shadow-s) }
.d2 .lx-facts a, .d2 .lx-faq a, .d2 .lx-km{ color:var(--v2-teal) }
.d2 .lx-filter input{ border-radius:999px; background:var(--v2-bg) }
.d2 .lx-count{ background:rgba(201,173,125,.2) }
.d2 .lx-faq summary:focus-visible, .d2 .lx-near:focus-visible, .d2 .lx-loc:focus-visible, .d2 .lx-langs a:focus-visible, .d2 .lx-go:focus-visible{ outline:2px solid var(--v2-navy) }
.d2 .lx-foot{ background:var(--v2-navy); border-top:0; color:rgba(251,250,247,.72) }
.d2 .lx-foot-links a{ color:#fff }
.d2 .lx-foot-links a:hover{ color:var(--v2-gold) }
.d2 .lx-foot :focus-visible{ outline-color:var(--v2-gold) }

/* ---------- koyu şema tercihinde bile açık tema: v1'in koyu tema kurallarının v2'de görünen kısmı ---------- */
@media (prefers-color-scheme: dark){
  .d2 .a-ico{ color:var(--v2-teal) }
  .d2 .wpa-btn{ border-color:var(--v2-navy); color:var(--v2-navy) }
  .d2 .wpa-btn.primary{ background:var(--v2-navy); color:#fff }
  .d2 .wpa-check input{ accent-color:var(--v2-navy) }
  .d2 .wfav-btn.primary{ background:var(--v2-navy); border-color:var(--v2-navy); color:#fff }
  .d2 .auth-btn.google{ border-color:#dadce0 }
  .d2 .bk-eyebrow{ color:var(--v2-gold-d) }
  .d2 .bk-pill.ok{ color:#16704A } .d2 .bk-pill.pending{ color:#8A5A00 }
  .d2 .bk-panel .bk-ico{ color:var(--v2-teal) }
  .d2 .bk-auth .g{ border-color:#dadce0 }
  .d2 .lx-hero{ background:none }
  .d2 .lx-code{ background:var(--v2-navy); color:#fff }
  .d2 .lx-facts a, .d2 .lx-faq a, .d2 .lx-km{ color:var(--v2-teal) }
}

/* ---------- hareket ---------- */
@media (prefers-reduced-motion: reduce){
  .d2 .v2-live i{ animation:none }
  .d2 .v2-apt, .d2 .v2-apt .v2-arrow, .d2 .v2-link svg, .d2 .v2-pill{ transition:none }
  .d2 .wm .wm-arc{ animation:none !important; stroke-dashoffset:0 !important }
  .d2 .wm .wm-flow{ display:none }
  .d2 .wm .wm-ring{ animation:none !important }
  .d2 .wm .wm-pin, .d2 .wm .wm-olabel{ animation:none !important; opacity:1 !important }
  .d2 .search-card.wm-flash{ animation:none }
}

/* ---------- denetim düzeltmeleri (24 Eyl 2026) ---------- */
/* konum listesi mobilde alanın iç kutusuna göre hizalanıp sağdan taşıyordu → alanın kenarlarına otur */
@media (max-width:767px){
  .d2 .combo-list{ min-width:0; inset-inline:-16px }
}

/* çentikli telefon (viewport-fit=cover): kaydırınca yapışkan başlık saat/pil şeridinin altına girmesin.
   Başlık güvenli alanın altında yapışır; üstteki boşluğu lacivert şerit kapatır (sayfa başında bant zaten orada, kayma yok) */
@media (display-mode: standalone){ /* yalnız ana ekrana eklenmiş uygulamada: Safari sekmesinde iPhone güvenli alanı yine bildirir, başlık gereksiz kalınlaşıyordu */
  .d2 .top{ top:env(safe-area-inset-top,0px) }
  .d2 .top::before{ content:""; position:absolute; left:0; right:0; bottom:100%; height:env(safe-area-inset-top,0px); background:var(--v2-navy); pointer-events:none }
}

/* Faz A: sabit toplam şeridinin taşma payı v2 panel dolgusuyla aynı */
.d2 .sheet{ --sp-x:28px; --sp-b:calc(28px + var(--safe-b)) }
.d2 .key3 > div, .d2 .bring li{ background:var(--v2-bg); border:1px solid var(--v2-line2) }
.d2 .bring, .d2 .cond{ border-top-color:var(--v2-line2) }
.d2 .sheet-cta{ background:var(--v2-navy) }
@media (max-width:520px){ .d2 .sheet{ --sp-x:18px; --sp-b:calc(22px + var(--safe-b)) } }
