/**
 * Anasayfa Presetleri (D — Klasik Arama, G — Vanis AI Sahne)
 *
 * Mockup kaynagi: MOCKUPS/anasayfa/minimal-D-canli.html + minimal-D-mobil.html
 * + SAGLAM-YEDEKLER/DESKTOP/minimal-G-desktop.html + TABLET MOBIL/minimal-G-mobil.html
 *
 * Tum renkler token'a baglandi: var(--necox-el-home-*, <fallback=mockup degeri>).
 * Fallback = hardcoded mockup varsayilani; K2/preset deger girilince token devreye girer.
 * Emitter (fonts.php) Faz 3'te --necox-el-home-* uretir; o zamana kadar fallback gecerlidir.
 *
 * Mockuplar tam-ekran fixed/absolute tasarlandi; tema header+footer ile bir arada
 * yasamak icin .necox-home-stage = position:relative + min-height (viewport-fixed DEGIL).
 * Kose ogeleri (brand/tr/botrow) stage'e GORE absolute; cift header olmaz.
 *
 * @package Necox
 * @since   7.16.39 (Faz 2)
 */

/* v7.16.41 — D/G sahnede dikey scrollbar boşlugunu iki yana esit dagit ->
   icerik (eyebrow/slogan/arama/trend) DAIMA gercek viewport ortasinda kalir
   (scrollbar 15px sagda yer kapinca 8px sola kayma sorunu cozulur). Sadece
   bu preset aktifken -> diger sayfalara bulasmaz. */
html:has(body.necox-home-preset-active){ scrollbar-gutter:stable both-edges; }

/* ── Header/Footer gizleme (tam-ekran sahne) ── */
/* body.necox-home-hide-header/-footer enqueue.php body_class filtresiyle eklenir. */
body.necox-home-hide-header #necox-header{ display:none !important; }
body.necox-home-hide-header .necox-skip-link{ display:none !important; }
body.necox-home-hide-footer #necox-footer{ display:none !important; }
/* Header gizliyse sahne tam viewport yuksekligi (header-h cikarma yok). */
body.necox-home-hide-header .necox-home-stage{ min-height:100vh; }
/* Header gizli -> main'in header'a ayirdigi ust padding (var(--necox-header-h))
   anlamsiz bir bos serit birakir. D/G sahnede sifirla; logo/butonlar gercekten
   ust koseye otursun. v7.16.41 */
body.necox-home-hide-header #necox-main-content,
body.necox-home-hide-header main.necox-content{ padding-top:0 !important; }

/* v8.3.324 (gorev #9) — GERCEK HEADER GORUNUR MODU (varsayilan): el_home_hide_header
   kapali -> body'de necox-home-hide-header YOK -> site header'i (dil secici +
   gunduz/gece + Karsilastir + Hesabim + Ilan Ver + hamburger; desktop/tablet/mobil
   builder duzenleri) anasayfada da basilir. Hero'ya monte edilen v7.16.41 kose
   ogeleri (hs-brand logosu + hs-tr arama/Ilan Ver) header ile MUKERRER olurdu ->
   yalniz header gizliyken gorunurler. Sahne yuksekligi zaten iki modu da bilir
   (calc(100vh - header-h) varsayilan; gizli modda yukaridaki 100vh override'i). */
body.necox-home-preset-active:not(.necox-home-hide-header) .necox-home-stage .hs-brand,
body.necox-home-preset-active:not(.necox-home-hide-header) .necox-home-stage .hs-tr{ display:none !important; }

/* ── DESKTOP TAM-EKRAN (statik, scroll YOK) — SADECE D/G preset aktifken ──
   Kullanici istegi (v7.16.41): masaustunde header + hero + footer tam 100vh'ye
   otursun, ust/altta mavi bosluk + sayfa kaymasi OLMASIN. Flexbox: body flex column,
   main flex:1 (hero kalan alani doldurur), footer dogal yukseklik. Footer yuksekligi
   ne olursa olsun bozulmaz. SADECE .necox-home-preset-active body'sinde -> diger
   sayfalara BULASMAZ. Mobil/tablet (<=980) dogal akista kalir (asagidaki media query). */
@media (min-width:981px){
  body.necox-home-preset-active{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden; /* desktop statik: sayfa kaymaz */
  }
  body.necox-home-preset-active #necox-main-content,
  body.necox-home-preset-active main.necox-content{
    flex:1 1 auto;
    min-height:0;       /* flex child tasma engeli */
    display:flex;
    flex-direction:column;
  }
  /* .necox-home da flex container olmali ki icindeki stage flex:1 referans bulsun. */
  body.necox-home-preset-active .necox-home{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  body.necox-home-preset-active .necox-home-stage{
    flex:1 1 auto;
    min-height:0;       /* calc(100vh-header) ezilir; flex kalan alani verir */
  }
  /* Footer'in ust bosluk margin'i tam-ekran dengeyi bozuyor -> sifirla. */
  body.necox-home-preset-active #necox-footer{
    margin-top:0 !important;
    flex:0 0 auto;
  }
}

/* ── Token kisayollari (yerel scope) ── */
.necox-home-stage{
  --hs-navy:    var(--necox-el-home-bg, #020912);
  /* v8.3.318 (4-PRESET UYUM): navy2 SABIT koyu idi -> acik presetlerde radial zeminin
     merkezinde "gri bulut" olusturuyordu. Artik fonts.php dark_mode=no'da preset'ten
     turetilmis --necox-el-home-bg2 emit eder; fallback = eski sabit (dark_mode=yes
     birebir). surface/surface-2/line-2 ayni desen: beyaz-alpha sabitler acik zeminde
     GORUNMEZDI -> preset-turevi koyu/acik alpha. */
  --hs-navy2:   var(--necox-el-home-bg2, #06121f);
  --hs-surface: var(--necox-el-home-surface, rgba(255,255,255,.05));
  --hs-surface-2: var(--necox-el-home-surface-2, rgba(255,255,255,.10));
  --hs-line-2:  var(--necox-el-home-line-2, rgba(255,255,255,.16));
  --hs-accent:  var(--necox-el-home-accent, #22d3ee);
  --hs-ink:     var(--necox-el-home-ink, #f3f6fb);
  --hs-ink-dim: var(--necox-el-home-ink-dim, #7e93b5);
  --hs-line:    var(--necox-el-home-line, rgba(255,255,255,.13));
  --hs-brand:   var(--necox-el-home-brand, #FFCC04);
  --hs-brand-ink: #020912;
  --hs-font:    var(--necox-el-home-font, "Inter","Helvetica Neue",Arial,system-ui,sans-serif);

  position:relative;
  min-height:calc(100vh - var(--necox-header-h, 72px));
  display:block;
  overflow:hidden;
  font-family:var(--hs-font);
  color:var(--hs-ink);
  background:radial-gradient(120% 115% at 50% 42%, var(--hs-navy2) 0%, var(--hs-navy) 68%);
  -webkit-font-smoothing:antialiased;
  isolation:isolate;
}
.necox-home-stage *{box-sizing:border-box;}

/* v8.3.318 (4-PRESET UYUM): brand ustundeki metin (Ilan Ver + ARA butonu) sabit koyu
   #020912 idi -> editorial'de primary KOYU lacivert (#2A3254) oldugundan koyu-ustu-koyu
   = OKUNMUYORDU (PSI color-contrast 1.6). Koyu-primary'li preset(ler)de beyaz metin;
   acik/parlak primary'lerde (super #c8896b, ocean #00b4d8, midnight #f0b429) mevcut
   koyu dogru (olcum 6.9-10.7). Yeni koyu-primary preset eklenirse buraya satir ekle. */
body.necox-preset-editorial-light .necox-home-stage{ --hs-brand-ink:#ffffff; }

/* G varyanti zemin: brand + cyan glow katmanlari */
.necox-home-stage--g{
  background:
    radial-gradient(80% 70% at 78% 30%, color-mix(in srgb, var(--hs-brand) 10%, transparent), transparent 60%),
    radial-gradient(70% 80% at 16% 78%, rgba(34,211,238,.06), transparent 62%),
    radial-gradient(120% 115% at 50% 42%, var(--hs-navy2) 0%, var(--hs-navy) 70%);
}

/* ── SAHNE ARKA PLANI K2 (432 paritesi, v7.16.48) ──
   K2'de arka plan girilirse --necox-hp-{d|g}-stage-bg degiskeni override eder
   (renk/gradient/gorsel/glass). Bos = yukaridaki tasarim varsayilani (D radial /
   G glow) fallback'i gecerli. size/position/attachment/backdrop ayri degiskenler. */
.necox-home-stage--d{
  background:var(--necox-hp-d-stage-bg, radial-gradient(120% 115% at 50% 42%, var(--hs-navy2) 0%, var(--hs-navy) 68%));
  background-size:var(--necox-hp-d-stage-bg-size, cover);
  background-position:var(--necox-hp-d-stage-bg-position, center center);
  background-repeat:no-repeat;
  background-attachment:var(--necox-hp-d-stage-bg-attachment, scroll);
  backdrop-filter:var(--necox-hp-d-stage-backdrop, none);
  -webkit-backdrop-filter:var(--necox-hp-d-stage-backdrop, none);
}
.necox-home-stage--g{
  /* v8.3.318: sari glow SABIT #FFCC04 idi -> brand turevi (dark_mode=yes'te brand
     fallback #FFCC04 oldugundan matematiksel BIREBIR; preset'te kendi primary glow'u). */
  background:var(--necox-hp-g-stage-bg,
    radial-gradient(80% 70% at 78% 30%, color-mix(in srgb, var(--hs-brand) 10%, transparent), transparent 60%),
    radial-gradient(70% 80% at 16% 78%, rgba(34,211,238,.06), transparent 62%),
    radial-gradient(120% 115% at 50% 42%, var(--hs-navy2) 0%, var(--hs-navy) 70%));
  background-size:var(--necox-hp-g-stage-bg-size, cover);
  background-position:var(--necox-hp-g-stage-bg-position, center center);
  background-repeat:no-repeat;
  background-attachment:var(--necox-hp-g-stage-bg-attachment, scroll);
  backdrop-filter:var(--necox-hp-g-stage-backdrop, none);
  -webkit-backdrop-filter:var(--necox-hp-g-stage-backdrop, none);
}
/* v7.16.56 — Sahne arka plan GORSELI ARTIK AYRI KATMAN (eskiden CSS background'da,
   renk/gradient ile ayni yerdeydi -> overlay zemini de karartiyordu). Render
   background-image'i INLINE style ile basar; size/position/attachment K2 var(...)
   ile okunur (cihaz/ayar bazli). z-index:0 -> video ile ayni medya katmani, overlay alti. */
.necox-home-stage__image{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-repeat:no-repeat;
}
.necox-home-stage--d .necox-home-stage__image{
  background-size:var(--necox-hp-d-stage-bg-size, cover);
  background-position:var(--necox-hp-d-stage-bg-position, center center);
  background-attachment:var(--necox-hp-d-stage-bg-attachment, scroll);
}
.necox-home-stage--g .necox-home-stage__image{
  background-size:var(--necox-hp-g-stage-bg-size, cover);
  background-position:var(--necox-hp-g-stage-bg-position, center center);
  background-attachment:var(--necox-hp-g-stage-bg-attachment, scroll);
}
/* Sahne arka plan VIDEO (Hero video paterni): absolute, cover, en altta (z-index:0).
   K2 renk/gradient zemini CSS background -> en altta; gorsel/video onun ustunde;
   overlay (.necox-home-stage__overlay) gorsel/video ustunde; icerik (z-index:2+) hepsinin ustunde. */
.necox-home-stage__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;pointer-events:none;border:0;background:transparent;
}
/* YouTube/Vimeo embed iframe — object-fit yok, 16:9 cover icin oversize+merkez teknigi.
   En az sahneyi kaplayacak kadar buyut (min 100% + 16:9 oran), ortala, tasani kirp. */
.necox-home-stage__embed{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:max(100%, 177.78vh);  /* 16:9 -> yukseklige gore genislik */
  height:max(100%, 56.25vw);  /* 16:9 -> genislige gore yukseklik */
  min-width:100%;min-height:100%;
  z-index:0;pointer-events:none;border:0;background:transparent;
}
/* v7.16.56 — Overlay ARTIK AYRI ELEMAN (eski ::before yerine .necox-home-stage__overlay).
   Render bu span'i SADECE gorsel/video VARSA basar -> medya yoksa overlay HIC olusmaz
   (renk/gradient zemin asla kararmaz). z-index:1 -> gorsel/video(0) ustu, icerik(2+) alti.
   Gorunurluk PHP kapisinda (display kaldirildi, eleman varsa gorunur). */
.necox-home-stage__overlay{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background-color:rgba(0,0,0,.3);opacity:1;
}
.necox-home-stage--d .necox-home-stage__overlay{
  background-color:var(--necox-hp-d-stage-overlay-color, rgba(0,0,0,.3));
  opacity:var(--necox-hp-d-stage-overlay-opacity, 1);
}
.necox-home-stage--g .necox-home-stage__overlay{
  background-color:var(--necox-hp-g-stage-overlay-color, rgba(0,0,0,.3));
  opacity:var(--necox-hp-g-stage-overlay-opacity, 1);
}

/* ── dev "VAN" filigrani ── */
.necox-home-stage .stage-watermark{
  position:absolute;left:26%;top:54%;
  transform:translate(-50%,-50%) rotate(-32deg);transform-origin:center;
  font-weight:800;line-height:.82;font-size:clamp(10rem,28vw,34rem);
  letter-spacing:-.04em;color:rgba(126,147,181,.045);
  pointer-events:none;user-select:none;z-index:0;white-space:nowrap;text-transform:uppercase;
}
/* v7.16.44 — K2 PILOT: G filigran boyut + pozisyon K2 degiskenleri (girilince
   override, bos = yukaridaki tasarim varsayilani). Cihaz-bazli emitter override eder. */
.necox-home-stage--g .stage-watermark{
  font-size:var(--necox-hp-g-wm-size,clamp(10rem,28vw,34rem));
  left:var(--necox-hp-g-wm-left,26%);
  top:var(--necox-hp-g-wm-top,54%);
  color:var(--necox-hp-g-wm-color,rgba(126,147,181,.045));
}

/* ===== KOSE / KENAR (v7.16.41: GERCEK logo sol + arama/avatar/ilan-ver sag) ===== */
/* Sol ust: gercek site logosu (necox_hf_render_logo). Header gizli -> hero'ya monte. */
.necox-home-stage .hs-brand{position:absolute;top:var(--necox-hp-g-logo-top,22px);left:var(--necox-hp-g-logo-left,clamp(24px,4vw,52px));z-index:6;
  display:flex;align-items:center;}
.necox-home-stage .hs-brand .necox-hf-logo,
.necox-home-stage .hs-brand a{display:inline-flex;align-items:center;text-decoration:none;
  color:var(--hs-ink);font-size:18px;font-weight:300;letter-spacing:.16em;}
.necox-home-stage .hs-brand img{height:var(--necox-hp-g-logo-h,38px);width:auto;display:block;}
/* necox_hf_render_logo otomatik modda light+dark IKI img basar (header'da CSS ile
   biri gizlenir). Sahne koyu zemin -> light logo gosterilir, dark kopya gizlenir
   (yoksa 2 logo yan yana cikar). v7.16.41 */
.necox-home-stage .hs-brand .necox-hf-logo__dark{display:none;}
.necox-home-stage .hs-brand b{font-weight:700;color:var(--hs-brand);}

/* Sag ust: [arama toggle] [avatar/Hesabim] [Ilan Ver] — normal header sirasi.
   Bilesenlerin kendi (header) stilleri header.css'ten gelir; burada sadece konum
   + sahne uzeri kontrast/hizalama. z-index avatar paneli sahne icerigi ustunde acsin. */
.necox-home-stage .hs-tr{position:absolute;top:var(--necox-hp-g-tr-top,18px);right:var(--necox-hp-g-tr-right,clamp(24px,4vw,52px));z-index:20;
  display:flex;gap:14px;align-items:center;}
/* Arama toggle (header'daki .necox-hf-search-toggle): yuvarlak kose kutu (kullanici
   bu hali tercih etti) -> avatar/Ilan Ver yaninda dursun. v7.16.41 */
.necox-home-stage .hs-tr .necox-hf-search-toggle{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;background:var(--hs-surface, rgba(255,255,255,.06));border:1px solid var(--hs-line);
  color:var(--hs-ink);cursor:pointer;transition:.2s;}
.necox-home-stage .hs-tr .necox-hf-search-toggle:hover{background:var(--hs-surface-2, rgba(255,255,255,.12));color:var(--hs-ink);}
.necox-home-stage .hs-tr .necox-hf-search-toggle .dashicons{font-size:20px;width:20px;height:20px;line-height:1;}
.necox-home-stage .hs-tr .necox-hf-search-toggle svg{width:20px;height:20px;display:block;}
/* v7.16.42 — Ilan Ver butonu (hero) MOCKUP SARISI; gercek bilesen necox-btn--primary
   preset rengini (Ocean mavi) aliyordu -> hero'da mockup brand (sari) + koyu metin
   ile ezilir (mockup kimligi: sari ilan ver butonu). */
.necox-home-stage .hs-tr .necox-hf-post-ad{
  background:var(--hs-brand) !important;
  color:var(--hs-brand-ink) !important;
  border-color:var(--hs-brand) !important;
}
/* v8.3.318: icteki span'i da hedefle — baska kural span rengini ezebiliyor
   (PSI color-contrast FAIL'i span'da olculmustu). */
.necox-home-stage .hs-tr .necox-hf-post-ad span{ color:var(--hs-brand-ink) !important; }
.necox-home-stage .hs-tr .necox-hf-post-ad:hover{ filter:brightness(1.06); }

/* UAP avatar paneli: sahne overflow:hidden + isolation:isolate paneli (absolute)
   kirpar -> panel'i FIXED yap (viewport'a gore, header'daki mobil cozumu gibi).
   Sag ust kosede acilir; hs-tr right ile hizali. */
.necox-home-stage .hs-tr .necox-uap{position:relative;z-index:30;}
.necox-home-stage .hs-tr .necox-uap__panel{
  position:fixed;
  top:calc(var(--necox-hp-g-tr-top,18px) + 44px);   /* hs-tr top + avatar buton yuksekligi */
  right:var(--necox-hp-g-tr-right,clamp(24px,4vw,52px));  /* hs-tr right ile ayni */
  left:auto;
}
.admin-bar .necox-home-stage .hs-tr .necox-uap__panel{ top:calc(32px + var(--necox-hp-g-tr-top,18px) + 44px); }

/* dikey yan etiketler */
.necox-home-stage .vleft,
.necox-home-stage .vright{position:absolute;top:50%;font-size:var(--necox-hp-g-vside-size,10px);letter-spacing:var(--necox-hp-g-vside-tracking,.4em);text-transform:uppercase;color:var(--necox-hp-g-vside-color,var(--hs-ink-dim));z-index:4;}
.necox-home-stage .vleft{left:var(--necox-hp-g-vside-offset,clamp(18px,2.6vw,38px));transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;}
.necox-home-stage .vright{right:var(--necox-hp-g-vside-offset,clamp(18px,2.6vw,38px));transform:translateY(-50%);writing-mode:vertical-rl;}
.necox-home-stage .vleft b,
.necox-home-stage .vright b{color:var(--necox-hp-g-vside-num-color,var(--hs-brand));font-weight:600;}

/* ── alt bar ── */
.necox-home-stage .botrow{position:absolute;left:0;right:0;bottom:var(--necox-hp-g-botrow-bottom,26px);display:flex;justify-content:space-between;align-items:center;
  padding:0 clamp(24px,4vw,52px);z-index:5;gap:16px;}
.necox-home-stage .botrow .bot-side{flex:1 1 0;display:flex;align-items:center;}
.necox-home-stage .botrow .bot-side.left{justify-content:flex-start;gap:24px;}
.necox-home-stage .botrow .bot-side.right{justify-content:flex-end;gap:20px;}
.necox-home-stage .botrow .social{flex:0 0 auto;}
.necox-home-stage .search-actions{display:inline-flex;align-items:center;gap:12px;}
.necox-home-stage .botrow a{font-size:var(--necox-hp-g-botrow-size,11px);letter-spacing:var(--necox-hp-g-botrow-tracking,.16em);text-transform:uppercase;color:var(--necox-hp-g-botrow-color,var(--hs-ink-dim));text-decoration:none;transition:.2s;}
.necox-home-stage .botrow a:hover{color:var(--necox-hp-g-botrow-hover-color,var(--hs-ink));}
.necox-home-stage .botrow .links{display:flex;gap:22px;align-items:center;}
.necox-home-stage .botmenu{display:flex;align-items:center;gap:20px;}
.necox-home-stage .botmenu a{font-size:var(--necox-hp-g-botrow-size,11px);letter-spacing:var(--necox-hp-g-botrow-tracking,.14em);text-transform:uppercase;color:var(--necox-hp-g-botrow-color,var(--hs-ink-dim));text-decoration:none;transition:.2s;white-space:nowrap;}
.necox-home-stage .botmenu a:hover{color:var(--necox-hp-g-botrow-hover-color,var(--hs-ink));}
.necox-home-stage .botmenu-extra{display:none;}
.necox-home-stage .botrow .detayli{display:inline-flex;align-items:center;gap:8px;color:var(--necox-hp-g-detayli-color,var(--hs-brand));
  background:color-mix(in srgb, var(--hs-brand) 6%, transparent);border:1px solid color-mix(in srgb, var(--hs-brand) 24%, transparent);
  padding:9px 16px;border-radius:9px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-weight:600;transition:.22s;}
.necox-home-stage .botrow .detayli:hover{background:color-mix(in srgb, var(--hs-brand) 12%, transparent);border-color:color-mix(in srgb, var(--hs-brand) 40%, transparent);color:var(--necox-hp-g-detayli-color,var(--hs-brand));}
.necox-home-stage .botrow .detayli svg{width:15px;height:15px;}
/* v8.3.318: sabit cyan acik presetlerde okunmuyordu -> --hs-accent zinciri
   (fonts.php dark_mode=no'da color-mix(cyan, preset-text) turetir: acik zeminde
   koyulasir, koyu zeminde acik kalir; dark_mode=yes fallback = eski cyan birebir). */
.necox-home-stage .botrow .haritali{color:var(--necox-hp-g-harita-color,var(--hs-accent, #22d3ee));background:color-mix(in srgb, var(--hs-accent, #22d3ee) 7%, transparent);border-color:color-mix(in srgb, var(--hs-accent, #22d3ee) 26%, transparent);}
.necox-home-stage .botrow .haritali:hover{background:color-mix(in srgb, var(--hs-accent, #22d3ee) 14%, transparent);border-color:color-mix(in srgb, var(--hs-accent, #22d3ee) 46%, transparent);color:var(--necox-hp-g-harita-color,var(--hs-accent, #22d3ee));}
.necox-home-stage .social{display:flex;gap:12px;align-items:center;}
.necox-home-stage .social a{color:var(--necox-hp-g-social-color,var(--hs-ink-dim));transition:.22s;display:grid;place-items:center;
  width:38px;height:38px;border-radius:10px;
  background:var(--hs-surface, rgba(255,255,255,.04));border:1px solid var(--hs-line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.necox-home-stage .social a:hover{background:var(--hs-surface-2, rgba(255,255,255,.08));border-color:var(--hs-line-2, rgba(255,255,255,.24));color:var(--hs-ink);transform:translateY(-2px);}
.necox-home-stage .social svg{width:var(--necox-hp-g-social-size,16px);height:var(--necox-hp-g-social-size,16px);}

/* ===== D — MERKEZ (klasik, ortali tek kolon) ===== */
.necox-home-stage--d main{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 clamp(40px,8vw,120px);gap:clamp(18px,2.8vh,30px);z-index:2;}
.necox-home-stage--d .eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--hs-ink-dim);}
.necox-home-stage--d .eyebrow b{color:var(--hs-brand);font-weight:600;}
/* v7.16.42 — slogan MOCKUP gibi: renk (--hs-ink beyaz) + FONT (--hs-font Inter).
   Tema geneli h1 hem color (--necox-text mavi) hem font (Hanken Grotesk) hem de
   GRADIENT-TEXT efekti (-webkit-text-fill-color:transparent + bg-clip) uyguluyor;
   bizim sloganda gradient yok ama text-fill seffaf kalinca renk bozuluyordu.
   Hepsini acikca mockup'a sabitle (-webkit-text-fill-color:currentColor). */
.necox-home-stage--d h1{font-weight:200;line-height:.96;letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;margin:0;
  color:var(--hs-ink);font-family:var(--hs-font);
  -webkit-text-fill-color:currentColor;background:none;-webkit-background-clip:border-box;background-clip:border-box;}
.necox-home-stage--d h1 .l1{display:block;font-size:clamp(2rem,6.4vw,5rem);font-weight:100;letter-spacing:0;color:var(--hs-ink);-webkit-text-fill-color:currentColor;}
.necox-home-stage--d h1 .l2{display:block;font-size:clamp(2rem,6.4vw,5rem);font-weight:800;color:var(--hs-ink);-webkit-text-fill-color:currentColor;}
/* v7.16.42 — slogan MOCKUP gibi: l1+l2 ikisi de BEYAZ (--hs-ink #f3f6fb), fark
   sadece kalinlik (l1 ince, l2 kalin). Accent kelime girilirse o sari. */
.necox-home-stage--d h1 em{font-style:normal;color:var(--hs-ink);-webkit-text-fill-color:currentColor;}
.necox-home-stage--d h1 .accent{color:var(--hs-brand);-webkit-text-fill-color:currentColor;}

/* D arama bari — minimal cizgi-alti (mockup: minimal-B-baslik.html).
   Konum/Kategori dropdown'lari kaldirildi; sade tek satir [ikon][input][Ara].
   v7.16.40 */
/* v7.16.41 — Header search box (.necox-hf-search-box) gibi KIBAR tasarim:
   yari-saydam zemin + ince cerceve + radius + focus glow. */
/* v7.16.41 — Header search box (.necox-hf-search-box) gibi KIBAR tasarim:
   yari-saydam zemin + ince cerceve + radius + focus glow. Yukseklik ferah. */
.necox-home-stage .dsearch{width:min(642px,92vw);display:flex;align-items:stretch;gap:12px;
  background:var(--hs-surface, rgba(255,255,255,.07));border:1px solid var(--hs-line-2, rgba(255,255,255,.16));border-radius:14px;
  /* sag padding 0 -> "Ara" butonu kutu sag kenariyla SIFIRLANIR (yapisir) */
  padding:0 0 0 18px;overflow:hidden;
  transition:border-color .15s, box-shadow .15s, background .15s;}
.necox-home-stage .dsearch:focus-within{
  border-color:var(--hs-brand);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--hs-brand) 20%, transparent);
  background:var(--hs-surface-2, rgba(255,255,255,.09));}
.necox-home-stage .dsearch .dsearch-ic{width:19px;height:19px;stroke:var(--hs-ink-dim);flex-shrink:0;align-self:center;}
.necox-home-stage .dsearch input{flex:1;background:transparent;border:0;color:var(--hs-ink);font-size:15px;
  /* v7.16.42 — bar yuksekligi 2px az (padding 16->15px). */
  letter-spacing:.02em;padding:15px 0;outline:none;min-width:60px;}
.necox-home-stage .dsearch input::placeholder{color:var(--hs-ink-dim);}
/* "Ara" butonu: kutu sag kenarina YAPISIK (radius 0, tam yukseklik), marka rengi */
.necox-home-stage .dsearch .go{flex-shrink:0;background:var(--hs-brand);color:var(--hs-brand-ink);border:0;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  padding:0 26px;border-radius:0;transition:.18s;align-self:stretch;}
.necox-home-stage .dsearch .go:hover{filter:brightness(1.07);}

/* kategori mini serit */
/* v7.16.41 — Trend Aramalar (kategori seridi yerine). Kategoriler gibi SADE/SIK:
   kutu/arkaplan YOK, duz metin, DAIMA buyuk harf, harf araligi. Search bar'dan
   nefes alsin diye ekstra ust mesafe. */
.necox-home-stage .trendrow{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);
  flex-wrap:wrap;justify-content:center;margin-top:clamp(10px,1.6vh,20px);}
.necox-home-stage .trendrow__label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--hs-brand);font-weight:600;}
.necox-home-stage .trendrow__item{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hs-ink-dim);text-decoration:none;transition:.2s;white-space:nowrap;
  /* v8.3.316 (#87 a11y target-size): tap alani ≥24px — padding buyutur, negatif margin
     gorunumu AYNEN korur (yerlesim kaymasi sifir; sadece dokunma alani genisler). */
  padding:7px 6px;margin:-7px -6px;}
.necox-home-stage .trendrow__item:hover{color:var(--hs-ink);}

/* ===== G — SAHNE (asimetrik cift kolon) ===== */
/* v7.16.43 — G de D gibi DESKTOP'ta SABIT TAM-EKRAN (scroll YOK, kullanici istegi
   "G yi de 100vh yap"). Onceki sabit padding 96/104 (200px) + sabit aibox/brand-col
   540px viewport'u 32px asiyordu (scrollHeight 932 > 900, overflow:hidden icerigi
   KESIYORDU). Cozum: dikey padding'i clamp(vh) ile esnet + aibox/brand-col
   yuksekligini min(540px, kalan alan) ile sinirla -> her viewport yuksekliginde
   tam oturur. Yatay padding aynen. */
.necox-home-stage--g main{position:absolute;inset:0;display:grid;
  grid-template-columns:minmax(380px,540px) 560px;
  justify-content:center;align-items:center;column-gap:clamp(28px,3.5vw,56px);
  padding:clamp(64px,9vh,96px) clamp(28px,4vw,64px) clamp(72px,10vh,104px);z-index:2;}
.necox-home-stage--g .brand-col{display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  justify-content:space-between;height:min(540px,calc(100vh - clamp(150px,20vh,210px)));}
.necox-home-stage--g .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:var(--necox-hp-g-eyebrow-size,10px);letter-spacing:.3em;
  text-transform:uppercase;color:var(--necox-hp-g-eb-color,var(--hs-ink-dim));font-weight:var(--necox-hp-g-eyebrow-weight,500);white-space:nowrap;
  /* v7.16.44 — K2: eyebrow<->slogan ust mesafe + sahne ust<->eyebrow mesafe + renk.
     Bos = 0/token (tasarim varsayilani). Cihaz-bazli emitter override eder. */
  margin-top:var(--necox-hp-g-eb-gap-top,0);margin-bottom:var(--necox-hp-g-gap-top,0);}
.necox-home-stage--g .eyebrow b{color:var(--hs-brand);font-weight:600;}
.necox-home-stage--g .eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--hs-brand),transparent);}
/* v7.16.43 — G slogan MOCKUP gibi: tema geneli h1 (Hanken Grotesk font + mavi
   --necox-text renk + GRADIENT-TEXT efekti -webkit-text-fill-color:transparent
   + bg-clip:text) G sloganini DA eziyordu (Playwright kaniti: h1 font=Hanken,
   text-fill=transparent, bg=linear-gradient). D'de v7.16.42'de yapilan sabitleme
   G'ye uygulanmamisti. Hepsini acikca mockup token'larina sabitle:
   color + font-family (--hs-font Inter) + text-fill:currentColor + background:none. */
.necox-home-stage--g h1{font-weight:200;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;margin:0;
  color:var(--hs-ink);font-family:var(--hs-font);
  -webkit-text-fill-color:currentColor;background:none;-webkit-background-clip:border-box;background-clip:border-box;
  /* v7.16.55 — sahne arka planina gorsel/video + koyu overlay konunca slogan her
     zeminde OKUNUR kalsin diye yumusak koyu golge (kenar tanimi). Audit P1 (mobil
     slogan okunurlugu). Sade zeminde gozle fark edilmez, gorselde ayristirir. */
  text-shadow:0 2px 18px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.4);}
.necox-home-stage--g h1.slogan{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,16px);
  /* v7.16.44 — K2: slogan<->aciklama alt mesafe (cihaz-bazli). Bos = 0 (brand-col gap). */
  margin-bottom:var(--necox-hp-g-gap-bottom,0);}
/* v7.16.43 — slogan-box: GORSEL container DEGIL (panel/glass/border YOK; kullanici
   karari: sahne tek kahraman = chatbox, slogan sessiz/sinematik kalir). Sadece
   layout sarmalayicisi: dikey blok, kolon genisligini referans verir. */
.necox-home-stage--g h1.slogan .slogan-box{display:flex;flex-direction:column;gap:clamp(8px,1.4vh,16px);width:100%;}
/* v7.16.43 — slogan KELIME KELIME: her .l1/.l2 ayri kelime span'i. .sline
   flex-wrap:wrap ile kelimeler kolona sigacak sekilde SARAR (eski tek-span nowrap
   AI kutusunun altina tasiyordu). Kelimeler arasi yatay+dikey bosluk gap ile. */
.necox-home-stage--g h1.slogan .sline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;}
/* v7.16.44 — K2 PILOT: font-size K2 degiskeni var(--necox-hp-g-l1/l2-size, <tasarim
   varsayilani clamp>). K2 deger girilince o, bos kalinca clamp akar. Cihaz-bazli:
   emitter tablet/mobil media query'de ayni degiskeni override eder (fonts.php). */
.necox-home-stage--g h1.slogan .l1{display:inline-block;font-size:var(--necox-hp-g-l1-size,clamp(1.5rem,3.1vw,3rem));font-weight:var(--necox-hp-g-l1-weight,100);
  letter-spacing:0;line-height:1.04;color:var(--necox-hp-g-l1-color,var(--hs-ink-dim));-webkit-text-fill-color:currentColor;background:none;}
.necox-home-stage--g h1.slogan .l1 .akilli{color:var(--necox-hp-g-accent-color,var(--hs-ink));font-weight:500;-webkit-text-fill-color:currentColor;}
.necox-home-stage--g h1.slogan .l2{display:inline-block;font-size:var(--necox-hp-g-l2-size,clamp(2.8rem,6vw,5.6rem));font-weight:var(--necox-hp-g-l2-weight,800);
  line-height:1.02;letter-spacing:0;color:var(--hs-ink);-webkit-text-fill-color:currentColor;}
.necox-home-stage--g h1.slogan .l2 em{font-style:normal;color:var(--necox-hp-g-l2-color,var(--hs-brand));-webkit-text-fill-color:currentColor;}
.necox-home-stage--g h1.slogan .l1 em{font-style:normal;-webkit-text-fill-color:currentColor;}
/* v7.16.44 — K2: aciklama boyut + renk + alt mesafe (cihaz-bazli boyut/mesafe). */
.necox-home-stage--g .brand-desc{font-size:var(--necox-hp-g-desc-size,15px);font-weight:300;line-height:1.7;
  color:var(--necox-hp-g-desc-color,var(--hs-ink-dim));max-width:48ch;
  margin-bottom:var(--necox-hp-g-desc-gap-bottom,0);}
.necox-home-stage--g .chat-col{display:flex;justify-content:flex-start;position:relative;}

/* G — AI sohbet kutusu (Vanis) */
/* v7.16.43 — height sabit 540px -> min(540px, kalan viewport) ile esnetildi
   (G desktop 100vh sabit-sayfa: aibox viewport'u asmasin, scroll olmasin). brand-col
   ile AYNI formul -> iki kolon ust/alt hizali kalir. */
/* v7.16.45 — K2: chatbox max-width + height degiskenleri. Desktop'ta height yine
   calc ile sinirli (sabit-sayfa: K2 deger viewport'u asarsa min() kirpar). */
.necox-home-stage .aibox{width:100%;max-width:var(--necox-hp-g-aibox-w,560px);height:min(var(--necox-hp-g-aibox-h,540px),calc(100vh - clamp(150px,20vh,210px)));background:#070f1b;
  border:var(--necox-hp-g-aibox-bw,1px) solid var(--necox-hp-g-aibox-bc,var(--hs-line));border-radius:var(--necox-hp-g-aibox-rad,20px);padding:0;display:flex;flex-direction:column;
  box-shadow:0 40px 90px -36px rgba(0,0,0,.92), 0 0 0 1px rgba(255,255,255,.02) inset;
  transition:border-color .25s, box-shadow .25s;position:relative;overflow:hidden;}
/* v7.16.43 — AI VURGUSU (6): aibox kenarligi statik gradient -> ANIMASYONLU
   (kenar boyunca akan sari->cyan isik). conic-gradient + yavas donus = premium AI
   urunu hissi. Mask ile sadece 1px kenar gosterilir (govde etkilenmez). */
.necox-home-stage .aibox::before{content:"";position:absolute;inset:0;border-radius:var(--necox-hp-g-aibox-rad,20px);padding:1.4px;
  background:conic-gradient(from var(--hs-ai-angle,0deg),
    rgba(255,204,4,.7), rgba(34,211,238,.55) 25%, rgba(255,204,4,0) 45%,
    rgba(34,211,238,0) 55%, rgba(255,204,4,.5) 75%, rgba(34,211,238,.6) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.65;pointer-events:none;transition:opacity .3s;
  animation:hsAiBorder 6s linear infinite;}
/* @property ile aci animasyonu (destekleyen tarayicida akar; degilse statik kalir) */
@property --hs-ai-angle{syntax:"<angle>";initial-value:0deg;inherits:false;}
@keyframes hsAiBorder{from{--hs-ai-angle:0deg;}to{--hs-ai-angle:360deg;}}
@media (prefers-reduced-motion: reduce){ .necox-home-stage .aibox::before{animation:none;} }
.necox-home-stage .aibox:focus-within{border-color:rgba(255,204,4,.4);box-shadow:0 40px 100px -34px rgba(0,0,0,.95),0 0 0 4px rgba(255,204,4,.06);}
.necox-home-stage .aibox:focus-within::before{opacity:.9;}
.necox-home-stage .aibox-top{display:flex;align-items:center;gap:9px;padding:9px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  border-bottom:1px solid var(--hs-line);}
/* v7.16.43 — AI VURGUSU: chatbot toggle'daki DONEN ISIK (neon ring) + GOZ KIRPMA
   mekanizmasi chatbox avatarina tasindi (kullanici istegi). position:relative ki
   ::before/::after donen halkalar avatara gore konumlansin. */
/* v7.16.43 — avatar+donen isik BUTUN olarak 3px buyuk (34->37px, kullanici).
   ::before/::after inset ile bagli oldugundan halka da oranli buyur. */
.necox-home-stage .ai-avatar{flex-shrink:0;width:var(--necox-hp-g-ai-avatar-size,37px);height:var(--necox-hp-g-ai-avatar-size,37px);border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,#0a1626,#05101c);border:1px solid rgba(255,204,4,.3);
  box-shadow:0 0 0 2px rgba(255,204,4,.06),0 6px 18px -6px rgba(0,0,0,.6);padding:3px;
  position:relative;isolation:isolate;}
.necox-home-stage .ai-avatar svg{width:100%;height:100%;position:relative;z-index:2;}
/* Dis donen neon halka (chatbot toggle ::before uyarlamasi, sari+cyan marka) */
.necox-home-stage .ai-avatar::before{content:"";position:absolute;inset:-4px;border-radius:50%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg,
    transparent 0%, rgba(34,211,238,0) 3%, rgba(34,211,238,1) 14%, rgba(180,240,255,1) 20%, rgba(34,211,238,0) 30%,
    transparent 50%, rgba(255,204,4,0) 54%, rgba(255,204,4,1) 66%, rgba(255,230,150,1) 72%, rgba(255,204,4,0) 82%, transparent 100%);
  animation:hsAvatarRing var(--necox-hp-g-ai-ring-out,3.5s) linear infinite;}
/* Ic ters donen ince halka */
.necox-home-stage .ai-avatar::after{content:"";position:absolute;inset:-2px;border-radius:50%;z-index:1;pointer-events:none;
  background:conic-gradient(from 120deg,
    transparent 0%, rgba(34,211,238,.4) 10%, transparent 25%, transparent 60%, rgba(255,204,4,.35) 72%, transparent 87%);
  animation:hsAvatarRing var(--necox-hp-g-ai-ring-in,6s) linear infinite reverse;}
/* Avatar govdesi donen halkayi maskelesin (ring sadece kenardan tasar) */
.necox-home-stage .ai-avatar svg{background:radial-gradient(circle at 50% 40%,#0a1626,#05101c);border-radius:50%;}
@keyframes hsAvatarRing{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* Goz kirpma (chatbot eye-blink uyarlamasi) — SVG goz gruplarina */
.necox-home-stage .ai-avatar .hs-eye{transform-box:fill-box;transform-origin:center 50%;animation:hsEyeBlink 4s ease-in-out infinite;}
.necox-home-stage .ai-avatar .hs-eye-r{animation-delay:.08s;}
@keyframes hsEyeBlink{0%,42%,58%,100%{transform:scaleY(1);}50%{transform:scaleY(.05);}}
@media (prefers-reduced-motion: reduce){
  .necox-home-stage .ai-avatar::before,.necox-home-stage .ai-avatar::after,.necox-home-stage .ai-avatar .hs-eye{animation:none;}
}
.necox-home-stage .ai-title{display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.15;font-weight:var(--necox-hp-g-ai-title-weight,700);font-size:var(--necox-hp-g-ai-title-size,15px);color:var(--necox-hp-g-ai-title-color,var(--hs-ink));}
.necox-home-stage .ai-title small{font-weight:400;font-size:var(--necox-hp-g-ai-subtitle-size,11px);letter-spacing:.02em;color:var(--necox-hp-g-ai-subtitle-color,var(--hs-ink-dim));margin-top:2px;}
.necox-home-stage .ai-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--necox-hp-g-ai-live-color,var(--hs-ink-dim));letter-spacing:.04em;}
.necox-home-stage .ai-live i{width:7px;height:7px;border-radius:50%;background:var(--necox-hp-g-ai-live-color,#3ddc84);box-shadow:0 0 8px var(--necox-hp-g-ai-live-color,#3ddc84);animation:hsAiPulse 2s infinite;}
@keyframes hsAiPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
/* v7.16.53 — .ai-chat artik DIS sarmalayici: arka plan (sayfa arka plani setinin
   AYNISI, el_home_g_aibox_stage) + video + overlay katmanlari. Ic scroll
   .ai-chat__scroll'da (balonlar). overflow:hidden -> video/gorsel kose tasmaz. */
.necox-home-stage .ai-chat{position:relative;flex:1;min-height:0;margin:10px 10px 0;border:1px solid var(--hs-line);border-radius:14px;overflow:hidden;
  background:var(--necox-hp-gaibox-stage-bg, #0a131f);
  background-size:var(--necox-hp-gaibox-stage-bg-size, cover);
  background-position:var(--necox-hp-gaibox-stage-bg-position, center center);
  background-repeat:no-repeat;
  background-attachment:var(--necox-hp-gaibox-stage-bg-attachment, scroll);
  backdrop-filter:var(--necox-hp-gaibox-stage-backdrop, none);
  -webkit-backdrop-filter:var(--necox-hp-gaibox-stage-backdrop, none);}
/* v7.16.56 — Sohbet alani GORSELI ARTIK AYRI KATMAN (eskiden .ai-chat CSS background'da,
   renk/gradient ile ayni yerde -> overlay zemini de karartiyordu). Render inline
   background-image basar; size/position/attachment gaibox var(...) ile. z-index:0 (medya). */
.necox-home-stage .necox-aichat__image{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-repeat:no-repeat;
  background-size:var(--necox-hp-gaibox-stage-bg-size, cover);
  background-position:var(--necox-hp-gaibox-stage-bg-position, center center);
  background-attachment:var(--necox-hp-gaibox-stage-bg-attachment, scroll);}
/* Arka plan video/iframe — sohbet alanini kaplar, balonlarin ALTINDA (z-index:0). */
.necox-home-stage .necox-aichat__video,
.necox-home-stage .necox-aichat__embed{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;pointer-events:none;border:0;background:transparent;}
/* YouTube/Vimeo iframe cover (16:9 oversize+merkez), kucuk kutuda da kapsar. */
.necox-home-stage .necox-aichat__embed{top:50%;left:50%;transform:translate(-50%,-50%);
  width:max(100%,177.78%);height:max(100%,56.25vw);min-width:100%;min-height:100%;}
/* Overlay (gorsel/video uzerine karartma) — balon ALTI, arka plan USTU (z-index:1).
   v7.16.56 — eleman render'da SADECE medya+overlay-renk varsa basilir; display:var
   kaldirildi (eleman varsa gorunur, emitter'a bagimli degil; sahne d/g ile tutarli). */
.necox-home-stage .ai-chat__overlay{position:absolute;inset:0;pointer-events:none;z-index:1;
  background-color:var(--necox-hp-gaibox-stage-overlay-color, rgba(0,0,0,.3));
  opacity:var(--necox-hp-gaibox-stage-overlay-opacity, 1);}
/* Ic scroll — balonlar burada (JS #necoxAiChat'e basar). z-index:2 -> arka plan ustunde. */
.necox-home-stage .ai-chat__scroll{position:relative;z-index:2;height:100%;overflow-y:auto;padding:14px;
  display:flex;flex-direction:column;gap:12px;}
/* v8.3.209 (#95b) — CANLI VANIS MODU: kullanici etkilesince GERCEK chatbot
   penceresi .ai-chat icine gomulur (chatbot.js inline mod + home-vanis.js devir
   koprusu); simulasyon katmani ve mock input satiri gizlenir. Arka plan
   katmanlari (gorsel/video/overlay) .ai-chat'te KALIR — pencere zemini seffaf
   (chatbot dinamik CSS inline-mod blogu), sahne arka plani gorunmeye devam eder. */
.necox-home-stage .aibox.aibox--live .ai-chat__scroll{display:none;}
.necox-home-stage .aibox.aibox--live .aibox-body{display:none;}
.necox-home-stage .aibox.aibox--live .ai-chat{margin:10px;}
/* v8.3.210 (kullanici) — sim user balonunda gercek Vanis isim etiketi
   (chatbot-message-name v8.3.189 deseni birebir: sag alt, 8.5px, soluk). */
.necox-home-stage .ai-msg .ai-msg-name{font-size:8.5px;font-weight:600;opacity:.45;
  text-align:right;margin:4px 0 -2px;line-height:1;letter-spacing:.3px;}
.necox-home-stage .ai-chat__scroll::-webkit-scrollbar{width:8px;}
.necox-home-stage .ai-chat__scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px;}
.necox-home-stage .ai-empty{margin:auto;text-align:center;color:var(--hs-ink-dim);font-size:13px;line-height:1.6;max-width:80%;opacity:.7;}
.necox-home-stage .ai-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:13px 16px;border-radius:14px;
  background:rgba(255,255,255,.06);border:1px solid var(--hs-line);border-bottom-left-radius:5px;}
.necox-home-stage .ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--hs-ink-dim);animation:hsDotBounce 1.3s infinite;}
.necox-home-stage .ai-typing span:nth-child(2){animation-delay:.18s;}
.necox-home-stage .ai-typing span:nth-child(3){animation-delay:.36s;}
@keyframes hsDotBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}
.necox-home-stage .aibox textarea.simulating{caret-color:var(--hs-brand);}
.necox-home-stage .ai-msg{width:84%;max-width:84%;padding:11px 16px;border-radius:14px;font-size:var(--necox-hp-g-chat-bubble-size,13px);line-height:1.5;}
.necox-home-stage .ai-msg.bot{align-self:flex-start;
  /* v7.16.54 — zemin/metin opaklik: color-mix ile alpha (arka plana gorsel/video
     konunca balon/metin seffaflastirilabilir -> oynayan oge gorunur). Bos alpha=100%. */
  background:color-mix(in srgb, var(--necox-hp-g-chat-bot-bg,rgba(255,255,255,.06)) var(--necox-hp-g-chat-bot-bg-alpha,100%), transparent);
  border:1px solid var(--hs-line);
  color:color-mix(in srgb, var(--necox-hp-g-chat-bot-text,#cfd9ea) var(--necox-hp-g-chat-bot-text-alpha,100%), transparent);border-bottom-left-radius:5px;
  /* v7.16.43 — AI VURGUSU (5): bot mesajlarinda AI imzasi (alt kosede soluk
     "Vanis AI ✦"). position:relative + alt padding -> imza icin yer. */
  position:relative;padding-bottom:22px;}
.necox-home-stage .ai-msg.bot::after{content:"Vanis AI ✦";position:absolute;left:16px;bottom:6px;
  font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  color:var(--hs-brand);opacity:.55;pointer-events:none;}
.necox-home-stage .ai-msg.user{align-self:flex-end;
  /* v7.16.54 — zemin/metin opaklik (color-mix alpha). Bos alpha=100%. */
  background:color-mix(in srgb, var(--necox-hp-g-chat-user-bg,rgba(255,204,4,.10)) var(--necox-hp-g-chat-user-bg-alpha,100%), transparent);
  color:color-mix(in srgb, var(--necox-hp-g-chat-user-text,#ffe89a) var(--necox-hp-g-chat-user-text-alpha,100%), transparent);
  border:1px solid rgba(255,204,4,.28);border-bottom-right-radius:5px;font-weight:400;}
.necox-home-stage .aibox-body{padding:10px 12px 10px;display:flex;flex-direction:column;gap:8px;}
.necox-home-stage .aibox-bottom{display:flex;align-items:flex-end;gap:8px;
  background:var(--necox-hp-g-chat-input-bg,rgba(255,255,255,.03));border:1px solid var(--hs-line);border-radius:16px;padding:7px 7px 7px 8px;}
.necox-home-stage .aibox textarea{flex:1;min-width:0;background:transparent;border:0;color:var(--necox-hp-g-chat-input-text,var(--hs-ink));resize:none;
  font-family:inherit;font-size:var(--necox-hp-g-chat-input-size,14px);line-height:1.5;outline:none;height:44px;
  padding:11px 4px;overflow-y:auto;white-space:normal;word-break:break-word;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent;}
.necox-home-stage .aibox textarea::placeholder{color:var(--hs-ink-dim);}
.necox-home-stage .aibox textarea::-webkit-scrollbar{width:7px;}
.necox-home-stage .aibox textarea::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:7px;}
.necox-home-stage .ai-mic,
.necox-home-stage .ai-go{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  width:var(--necox-hp-g-chat-btn-size,42px);height:var(--necox-hp-g-chat-btn-size,42px);border-radius:12px;cursor:pointer;transition:.2s;}
.necox-home-stage .ai-mic{background:rgba(255,255,255,.05);border:1px solid var(--hs-line);color:var(--hs-ink-dim);}
.necox-home-stage .ai-mic:hover{color:var(--hs-ink);border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.09);}
.necox-home-stage .ai-mic.rec{color:#ff5a6e;border-color:rgba(255,90,110,.5);background:rgba(255,90,110,.12);animation:hsMicPulse 1.1s ease-in-out infinite;}
@keyframes hsMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,90,110,.4);}50%{box-shadow:0 0 0 7px rgba(255,90,110,0);}}
.necox-home-stage .ai-go{background:var(--necox-hp-g-chat-send-bg,var(--hs-brand));color:var(--necox-hp-g-chat-send-icon,var(--hs-brand-ink));border:0;box-shadow:0 8px 22px -8px rgba(255,204,4,.55);}
.necox-home-stage .ai-go:hover{filter:brightness(1.07);transform:translateY(-1px);}
.necox-home-stage .ai-mic svg,
.necox-home-stage .ai-go svg{width:18px;height:18px;flex-shrink:0;}
.necox-home-stage .ai-hint{font-size:var(--necox-hp-g-chat-hint-size,10px);color:var(--necox-hp-g-chat-hint-color,var(--hs-ink-dim));letter-spacing:.03em;text-align:center;opacity:.8;}

/* ════════════════ RESPONSIVE ════════════════ */

/* ── D: tablet genis (<=980) — watermark ortala, alt bar akisa ── */
@media(max-width:980px){
  .necox-home-stage--d{min-height:auto;overflow-x:hidden;overflow-y:visible;}
  /* v8.3.206 (#66/#75 OVERLAY SIZMASI FIX): mobil kirilimlarinda main/botrow position:static'e
     dusuruluyordu -> z-index:2/5 ETKISIZ (static'te z-index calismaz) -> absolute overlay (z1)
     STATIK icerigin USTUNE boyaniyordu (mobilde icerik kararmasi). static->RELATIVE: akis/duzen
     BIREBIR ayni, z-index aktif olur, overlay iceriğin altina iner. 6 kural birden. */
  .necox-home-stage--d main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    text-align:center;row-gap:clamp(24px,4vh,40px);padding:clamp(84px,12vh,108px) clamp(24px,5vw,48px) clamp(120px,16vh,140px);}
  .necox-home-stage--d h1{display:flex;flex-direction:column;align-items:center;row-gap:clamp(10px,2.4vw,22px);}
  .necox-home-stage--d .stage-watermark{left:50%;top:38%;font-size:clamp(8rem,36vw,18rem);}
  .necox-home-stage--d .botrow{position:relative;margin-top:8px;}
}
/* v7.16.41 — Dikey yan etiketler (Aktif Uye/Ilan): tablette GORUNSUN (kullanici
   istegi). Sadece dar mobilde (<=640) gizle (orada kenar bosluk yok, cakisir). */
@media(max-width:640px){
  .necox-home-stage .vleft,
  .necox-home-stage .vright{display:none;}
}
/* D tablet (641–980) — alt bar: [Detayli] [sosyal] [Haritada], menu altta.
   v7.16.43 — ust sinir 820 -> 980 (kullanici: "Detayli<->Haritada arasi sosyal,
   altta tek satir menu BOZULMUS"). 821–980 ARASI OLU BOLGE idi: bu ozel alt-bar
   duzeni sadece 641-820'de kuruluyordu; 821-980 arasinda sadece genel max-width:980
   kurali vardi (Detayli/sosyal/Haritada order'siz dogal akista DAGILIYOR + Haritada
   viewport'u TASIYORDU, Playwright kaniti vw=900: haritali.right=1067>900, order=0).
   Ust siniri 980'e cekince tum tablet araligi ayni duzgun duzeni alir. */
@media(min-width:641px) and (max-width:980px){
  .necox-home-stage--d main{padding:96px 28px 24px;}
  .necox-home-stage--d h1 .l1,
  .necox-home-stage--d h1 .l2{font-size:clamp(2.4rem,7vw,3.6rem);}
  /* v7.16.41 — tablet: search bar GENISLIGI %20 kisa (640->512px) + yukseklik 6px az
     (input padding 16->13px = ust+alt toplam 6px daralma). */
  .necox-home-stage--d .dsearch{width:min(512px,92vw);}
  .necox-home-stage--d .dsearch input{padding:13px 0;}
  /* v7.16.41 — eyebrow ile slogan arasi, Detayli<->Trend arasi kadar (108px) olsun.
     main row-gap 40px -> eyebrow'a +68px margin-bottom = toplam 108px. */
  .necox-home-stage--d .eyebrow{margin-bottom:68px;}
  /* v7.16.41 — tablet: Ilan Ver butonu DESKTOP'un %92'si (padding 10/20 -> 9/18,
     font 14 -> ~12.9). Header'in kendi tablet kuralini ezer. */
  .necox-home-stage .hs-tr .necox-hf-post-ad{padding:9px 18px !important;font-size:12.9px !important;}
  .necox-home-stage .hs-tr .necox-hf-post-ad svg{width:14.7px;height:14.7px;}
  /* v7.16.41 — tablet: alt bar (Detayli/sosyal/Haritada) 70px asagi (nefes).
     v7.16.43 — D + G ORTAK (kullanici: G alt kismi D ile birebir ayni olsun). */
  .necox-home-stage--d .botrow,
  .necox-home-stage--g .botrow{position:relative;flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;padding:14px 28px 12px;margin-top:70px;}
  .necox-home-stage--d .bot-side.left,
  .necox-home-stage--d .bot-side.right,
  .necox-home-stage--d .botrow .links,
  .necox-home-stage--d .search-actions,
  .necox-home-stage--g .bot-side.left,
  .necox-home-stage--g .bot-side.right,
  .necox-home-stage--g .botrow .links,
  .necox-home-stage--g .search-actions{display:contents;}
  .necox-home-stage--d .detayli:not(.haritali),
  .necox-home-stage--g .detayli:not(.haritali){order:1;flex:0 0 auto;padding:11px 20px;font-size:11px;letter-spacing:.12em;}
  /* v7.16.41 — Sosyal ikonlar iki arama butonu ARASINI esit doldurup ORTALANIR.
     flex:1 = kalan tum alan, justify-content:center = grup ortada. */
  .necox-home-stage--d .social,
  .necox-home-stage--g .social{order:2;flex:1 1 auto;display:flex;justify-content:center;}
  /* haritali SAG kose. margin-left:auto YOK (sosyal flex:1 zaten ortaliyor). */
  .necox-home-stage--d .haritali,
  .necox-home-stage--g .haritali{order:3;flex:0 0 auto;padding:11px 20px;font-size:11px;letter-spacing:.12em;}
  .necox-home-stage--d .botmenu,
  .necox-home-stage--g .botmenu{order:4;width:100%;display:flex;flex-wrap:nowrap;justify-content:center;gap:22px;margin:10px 0 0;
    padding-top:16px;border-top:1px solid var(--hs-line);}
  .necox-home-stage--d .botmenu a,
  .necox-home-stage--g .botmenu a{font-size:10.5px;letter-spacing:.08em;white-space:nowrap;}
  .necox-home-stage--d .botmenu-extra,
  .necox-home-stage--g .botmenu-extra{display:inline;}
  .necox-home-stage--d .botrow .links a:not(.haritali),
  .necox-home-stage--g .botrow .links a:not(.haritali){display:none;}
}
/* D mobil (<=640) */
@media(max-width:640px){
  /* v7.16.41 — mobil: logo biraz kucuk (38->30px) -> sag grup ile cakisma biter. */
  .necox-home-stage--d .hs-brand{font-size:15px;top:20px;}
  .necox-home-stage--d .hs-brand img{height:30px;}
  .necox-home-stage--d .hs-tr{gap:8px;top:16px;}
  .necox-home-stage--d .hs-btn{padding:9px 14px;font-size:11px;}
  /* v7.16.41 — 'Hesabim' metni gizleme CSS hilesi KALDIRILDI: dinamik butonun
     KENDI cihaz-bazli avatar modu (icon-avatar) zaten label'i render ETMIYOR
     (Playwright kaniti: labelInDOM=false). CSS override gereksizdi. */
  .necox-home-stage .hs-tr{gap:8px;top:16px;}
  /* v7.16.55 — mobil: Ilan Ver butonu touch target (eski 94x28 -> min-height 40px).
     Header dogal mobil boyut korunur (kullanici v42 karari) ama dokunma alani buyur. Audit P2. */
  .necox-home-stage .hs-tr .necox-hf-post-ad{min-height:40px;display:inline-flex;align-items:center;}
  .necox-home-stage--d main{padding:84px 20px 24px;}
  /* v7.16.41 — mobil: eyebrow ile slogan arasi +50px (34 -> 84px). */
  .necox-home-stage--d .eyebrow{margin-bottom:50px;}
  .necox-home-stage--d h1 .l1,
  .necox-home-stage--d h1 .l2{font-size:2rem;}
  /* v7.16.41 — mobil: bar border-radius 10px. */
  .necox-home-stage--d .dsearch{width:92vw;gap:10px;border-radius:10px;}
  /* v7.16.41 — mobil: bar yuksekligi %15 az (input padding 16->10px) +
     input yazisi %15 kucuk (14->12px). */
  .necox-home-stage--d .dsearch input{font-size:12px;padding:10px 0;}
  /* v7.16.41 — mobil: ARA butonu minimum genislik (sadece kelime sigsin). */
  .necox-home-stage--d .dsearch .go{padding:0 12px;}
  /* v7.16.41 — trend serizi footer menu ile ayni boyut (8px) tek satir hissi.
     + trend'i search bar'a %40 yaklastir (47px bosluk -> ~28px): margin-top -19px. */
  .necox-home-stage--d .trendrow{gap:9px;margin-top:-19px;}
  .necox-home-stage--d .trendrow__item{font-size:8px;letter-spacing:.02em;}
  .necox-home-stage--d .trendrow__label{font-size:8px;letter-spacing:.04em;}
  /* v7.16.43 — D + G ORTAK mobil alt bar (kullanici: G alt kismi D ile birebir). */
  .necox-home-stage--d .botrow,
  .necox-home-stage--g .botrow{position:relative;flex-direction:column;gap:12px;padding:14px 20px 10px;}
  .necox-home-stage--d .bot-side.left,
  .necox-home-stage--d .bot-side.right,
  .necox-home-stage--d .botrow .links,
  .necox-home-stage--d .search-actions,
  .necox-home-stage--g .bot-side.left,
  .necox-home-stage--g .bot-side.right,
  .necox-home-stage--g .botrow .links,
  .necox-home-stage--g .search-actions{display:contents;}
  /* v7.16.41 — mobil: Detayli(1) + Haritada(2) ALT ALTA, ikisi de TAM GENISLIK.
     v7.16.41 — iki buton AYNI yukseklik: padding 9px 16px + font 11px. */
  .necox-home-stage--d .detayli:not(.haritali),
  .necox-home-stage--g .detayli:not(.haritali){order:1;width:100%;justify-content:center;padding:9px 16px;font-size:11px;letter-spacing:.14em;}
  .necox-home-stage--d .haritali,
  .necox-home-stage--g .haritali{order:2;width:100%;justify-content:center;padding:9px 16px;font-size:11px;letter-spacing:.14em;margin:0;}
  /* v7.16.41 — footer menu TEK SERIT: 6 oge tek satira sigsin. butonlardan 25px uzak. */
  .necox-home-stage--d .botmenu,
  .necox-home-stage--g .botmenu{order:3;width:100%;margin:41px auto 0;
    display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:9px;}
  /* v7.16.55 — footer menu linkleri: gorsel font 8px ama TIKLAMA ALANI buyusun
     (eski ~13px yukseklik -> dikey padding ile ~36px, parmakla dokunulur). Audit P2. */
  .necox-home-stage--d .botmenu a,
  .necox-home-stage--g .botmenu a{font-size:8px;letter-spacing:.02em;text-align:center;white-space:nowrap;
    display:inline-flex;align-items:center;min-height:36px;padding:4px 2px;}
  .necox-home-stage--d .botmenu-extra,
  .necox-home-stage--g .botmenu-extra{display:block;}
  /* v7.16.41 — sosyal ikonlar 25px asagi. */
  .necox-home-stage--d .social,
  .necox-home-stage--g .social{order:4;width:100%;justify-content:center;margin-top:33px;}
  .necox-home-stage--d .botrow .links a:not(.haritali),
  .necox-home-stage--g .botrow .links a:not(.haritali){display:none;}
}

/* ── G: tablet+mobil — tek kolon akis ── */
@media(max-width:1024px){
  .necox-home-stage--g{min-height:auto;overflow-x:hidden;overflow-y:visible;}
  .necox-home-stage--g main{position:relative;display:flex;flex-direction:column;align-items:center;
    row-gap:clamp(28px,5vh,44px);padding:clamp(84px,12vh,104px) clamp(24px,5vw,48px) clamp(110px,15vh,140px);}
  /* v7.16.43 — tablet brand-col FERAH (kullanici: "tikis tikis, D gibi ferah olsun").
     gap 18px -> clamp(28px,4.5vh,48px) (D tablet ferahligi referans). eyebrow ile
     slogan arasi + slogan ile aciklama arasi nefes alir. */
  .necox-home-stage--g .brand-col{align-items:center;text-align:center;height:auto;gap:clamp(28px,4.5vh,48px);}
  /* v7.16.43 — eyebrow ile slogan arasi D ile AYNI (108px). brand-col gap 46px +
     eyebrow'a margin-bottom 62px = toplam 108px (D tablet referans).
     v7.16.43 — tablette eyebrow font 2px buyuk (10 -> 12px, kullanici istegi). */
  .necox-home-stage--g .eyebrow{margin-bottom:62px;font-size:12px;}
  .necox-home-stage--g h1.slogan{align-items:center;gap:clamp(10px,1.8vh,18px);}
  /* v7.16.43 — tablette slogan 2px buyuk (l1 24->26, l2 44.8->46.8; kullanici). */
  .necox-home-stage--g h1.slogan .l1{font-size:26px;}
  .necox-home-stage--g h1.slogan .l2{font-size:46.8px;}
  .necox-home-stage--g h1.slogan .sline{justify-content:center;}
  .necox-home-stage--g .brand-desc{max-width:60ch;line-height:1.75;}
  .necox-home-stage--g .chat-col{width:100%;justify-content:center;}
  /* v7.16.43 — TABLET chatbox %20 yuksek (540->648, 72vh->86vh; kullanici istegi).
     Tablet scroll'lu oldugu icin viewport tasma sorunu olmaz.
     v7.16.45 — K2 degiskeni: tablet override emitter'dan --necox-hp-g-aibox-h/-w ile
     gelir (girilmemisse 648/560 varsayilani). max-width ortak degiskeni kullanir. */
  .necox-home-stage--g .aibox{max-width:var(--necox-hp-g-aibox-w,560px);width:100%;height:min(var(--necox-hp-g-aibox-h,648px),86vh);}
  .necox-home-stage--g .stage-watermark{left:50%;top:34%;font-size:clamp(8rem,40vw,18rem);}
  /* v7.16.43 — G alt bar (botrow) artik D ile BIREBIR AYNI (kullanici istegi).
     Botrow kurallari asagidaki D tablet (641-980) + mobil (<=640) bloklarinda
     .necox-home-stage--d, .necox-home-stage--g ORTAK selektorle tanimli. Burada
     sadece akisa al (position:static) — duzen alttaki ortak kurallardan gelir. */
  .necox-home-stage--g .botrow{position:relative;}
}
@media(max-width:640px){
  .necox-home-stage--g main{padding:84px 20px 28px;}
  .necox-home-stage--g .aibox{height:min(500px,70vh);}
  .necox-home-stage--g h1.slogan .l2{font-size:clamp(2.4rem,12vw,3.6rem);}
  .necox-home-stage--g .hs-brand{font-size:15px;top:20px;}
}
