


@media (hover:hover) and (pointer:fine){
  :root{
    --ttm-cursor-size: 34px;
    --ttm-cursor-dot: 6px;
  }

  body.ttm-cursor-on{ cursor:none; }
  body.ttm-cursor-on a,
  body.ttm-cursor-on button,
  body.ttm-cursor-on [role="button"]{ cursor:none; }

  .ttm-cursor{
    position: fixed;
    left:0; top:0;
    width: var(--ttm-cursor-size);
    height: var(--ttm-cursor-size);
    margin-left: calc(var(--ttm-cursor-size) / -2);
    margin-top:  calc(var(--ttm-cursor-size) / -2);
    border-radius: 9999px;
    pointer-events:none;
    z-index: 2147483646;

    opacity: 0;
    transform: translate3d(var(--x, -999px), var(--y, -999px), 0);
    filter: drop-shadow(0 12px 28px rgba(2,6,23,.18));
  }

  body.ttm-cursor-on .ttm-cursor{ opacity: 1; }

  .ttm-cursor::before{
    content:"";
    position:absolute; inset:0;
    border-radius: inherit;
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(15,23,42,.20);
    backdrop-filter: blur(8px);
    box-shadow:
      0 0 0 1px rgba(15,23,42,.10) inset,
      0 10px 30px rgba(2,6,23,.10);
  }

  .ttm-cursor::after{
    content:"";
    position:absolute;
    left:50%; top:50%;
    width: var(--ttm-cursor-dot);
    height: var(--ttm-cursor-dot);
    transform: translate(-50%,-50%);
    border-radius: 9999px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 8px 18px rgba(2,6,23,.22);
  }

  .ttm-cursor__label{
    position:absolute;
    left: 50%;
    top: calc(100% + 10px);
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    padding: 6px 10px;
    border-radius: 9999px;
    color: rgba(255,255,255,.95);
    background: rgba(15,23,42,.88);
    border: 1px solid rgba(255,255,255,.16);
    white-space: nowrap;
    opacity: 0;
    transition: opacity .14s ease, transform .14s ease;
  }

  .ttm-cursor.show-label .ttm-cursor__label{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


  .ttm-cursor.is-hidden{ opacity: 0 !important; }

  .ttm-cursor.is-link{
    transform: translate3d(var(--x,0px), var(--y,0px), 0) scale(1.05);
  }

  .ttm-cursor.is-cta{
    width: 44px;
    height: 44px;
    margin-left: -22px;
    margin-top: -22px;
    transform: translate3d(var(--x,0px), var(--y,0px), 0);
  }
}

/* ======================================================
   GLOBAL HELPERS
====================================================== */
html { scroll-behavior: smooth; }
.glass { background: rgba(255,255,255,.78); backdrop-filter: blur(10px); }
.modal-backdrop { background: rgba(2,6,23,.65); }
.no-scroll { overflow: hidden; }
.faq-btn[aria-expanded="true"] .faq-icon { transform: rotate(180deg); }

/* ======================================================
   Announcement Bar
====================================================== */
@keyframes ttmPulse {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.02); filter: brightness(1.05); }
}
@keyframes ttmBlink {
  0%, 100% { opacity: .25; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.15); }
}
.ttm-pulse { animation: ttmPulse 1.6s ease-in-out infinite; }
.ttm-blink { animation: ttmBlink 1s ease-in-out infinite; }

/* mobil pulse daha küçük */
@media (max-width: 767px){
  .ttm-pulse { animation: ttmPulseMobile 1.8s ease-in-out infinite; }
  @keyframes ttmPulseMobile {
    0%, 100% { transform: scale(1); filter: brightness(1); }
    50% { transform: scale(1.005); filter: brightness(1.03); }
  }
}

.ttm-announce{
  position: relative;
  z-index: 1;
  padding: 6px 12px;
  border-radius: 9999px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 30px rgba(0,0,0,.18), 0 0 0 6px rgba(220, 38, 38, .22);
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.ttm-announce::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-10px;
  border-radius:9999px;
  background: radial-gradient(circle at 50% 50%,
    rgba(255,255,255,.65) 0%,
    rgba(248,113,113,.35) 35%,
    rgba(255,255,255,0) 70%);
  filter: blur(10px);
  opacity: .55;
  pointer-events:none;
}
.ttm-announce::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:9999px;
  background: linear-gradient(120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 45%,
    rgba(255,255,255,0) 70%);
  opacity: .18;
  transform: translateX(-35%);
  animation: ttmShine 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes ttmShine{
  0% { transform: translateX(-45%); opacity: .12; }
  50% { transform: translateX(45%); opacity: .22; }
  100% { transform: translateX(45%); opacity: .12; }
}

/* bar */
.ttm-bar-red{
  background: linear-gradient(90deg,
    rgba(153,27,27,.96) 0%,
    rgba(220,38,38,.96) 45%,
    rgba(127,29,29,.96) 100%);
  border-bottom: 1px solid rgba(127,29,29,.9);
  box-shadow: 0 10px 30px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.06) inset;
}
.ttm-bar-red::before{
  content:"";
  position:absolute;
  inset:-18px 0 -18px 0;
  background: radial-gradient(circle at 50% 30%,
    rgba(255,255,255,.22) 0%,
    rgba(255,255,255,.10) 20%,
    rgba(255,255,255,0) 60%);
  filter: blur(14px);
  opacity: .55;
  pointer-events:none;
}
@keyframes ttmSlideDown{
  0% { transform: translateY(-14px); opacity: 0; }
  100%{ transform: translateY(0); opacity: 1; }
}
.ttm-slide-in{ animation: ttmSlideDown .55s ease-out both; }

/* announce text wrap */
.ttm-announce-text{
  max-width: 92vw;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  display:block;
  line-height: 1.15;
  text-align:center;
}
@media (min-width: 768px){
  .ttm-announce-text{ max-width: 900px; white-space: nowrap; }
}



/* ======================================================
   Micro interactions
====================================================== */
.ttm-shine{ position:relative; overflow:hidden; transform: translateZ(0); }
.ttm-shine::after{
  content:"";
  position:absolute;
  top:-40%; left:-60%;
  width:60%; height:180%;
  background: linear-gradient(120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 45%,
    rgba(255,255,255,0) 70%);
  transform: skewX(-18deg);
  opacity: 0;
}
.ttm-shine:hover::after{
  opacity: .22;
  animation: ttmBtnShine .85s ease-out both;
}
@keyframes ttmBtnShine{
  0% { left:-60%; }
  100%{ left:140%; }
}
.ttm-press:active{ transform: translateY(1px) scale(.99); }

.ttm-glow{ position:relative; overflow:hidden; }
.ttm-glow::before{
  content:"";
  position:absolute; inset:-80px;
  background: radial-gradient(circle at 30% 20%,
    rgba(99,102,241,.18) 0%,
    rgba(59,130,246,.12) 28%,
    rgba(16,185,129,.10) 46%,
    rgba(255,255,255,0) 65%);
  opacity:0;
  transition: opacity .25s ease;
  pointer-events:none;
}
.ttm-glow:hover::before{ opacity:1; }

/* ======================================================
   Scroll reveal
====================================================== */
.reveal{
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .55s ease, transform .55s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{ opacity:1; transform: translateY(0); }
.reveal-stagger > *{
  opacity:0;
  transform: translateY(40px);
  transition: opacity .55s ease, transform .55s ease;
}
.reveal-stagger.is-visible > *{ opacity:1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(1){ transition-delay:.04s; }
.reveal-stagger.is-visible > *:nth-child(2){ transition-delay:.10s; }
.reveal-stagger.is-visible > *:nth-child(3){ transition-delay:.16s; }
.reveal-stagger.is-visible > *:nth-child(4){ transition-delay:.22s; }
.reveal-stagger.is-visible > *:nth-child(5){ transition-delay:.28s; }
.reveal-stagger.is-visible > *:nth-child(6){ transition-delay:.34s; }
.reveal-stagger.is-visible > *:nth-child(7){ transition-delay:.40s; }
.reveal-stagger.is-visible > *:nth-child(8){ transition-delay:.46s; }

/* ======================================================
   Hero first load helper
====================================================== */
.hero-in{
  opacity:0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
body.is-loaded .hero-in{ opacity:1; transform: translateY(0); }
.hero-in.d1{ transition-delay:.06s; }
.hero-in.d2{ transition-delay:.12s; }
.hero-in.d3{ transition-delay:.18s; }
.hero-in.d4{ transition-delay:.24s; }
.hero-in.d5{ transition-delay:.30s; }

/* ======================================================
   Cookie Banner (GLOBAL)
====================================================== */
.cookie{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 14px;
  z-index: 2147483647;
  pointer-events: none;
}
.cookie__inner{
  max-width: 980px;
  margin: 0 auto;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(2,6,23,.20);
  pointer-events:auto;
}
.cookie__title{ font-weight:900; font-size:14px; color:#0f172a; }
.cookie__desc{ margin-top:2px; font-size:13px; line-height:1.35; color:#475569; }
.cookie__link{ font-weight:800; color:#0f172a; text-decoration: underline; text-underline-offset:4px; }
.cookie__actions{ display:flex; gap:10px; flex: 0 0 auto; }
.cookie__btn{
  border-radius:14px;
  padding:10px 12px;
  font-size:12px;
  font-weight:900;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
}
.cookie__btn--primary{ background:#0f172a; color:#fff; border-color: rgba(15,23,42,.20); }
.cookie__btn--ghost{ background: rgba(255,255,255,.65); }
@media (max-width: 640px){
  .cookie__inner{ flex-direction:column; align-items:stretch; }
  .cookie__actions{ width:100%; }
  .cookie__btn{ width:100%; }
}



/* ======================================================
   Page Loader (GLOBAL)
====================================================== */
#pageLoader{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  transition: opacity .45s ease, visibility .45s ease;
}

.loader-card{
  width: min(420px, calc(100vw - 36px));
  border-radius: 28px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 90px rgba(2,6,23,.18);
  padding: 18px;
}
.loader-row{ display:flex; align-items:center; gap:14px; }
.loader-logo{
  width:56px; height:56px;
  border-radius:18px;
  background:#fff;
  border: 1px solid rgba(15,23,42,.10);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  position:relative;
}
.loader-logo img{ width:100%; height:100%; object-fit:contain; padding:8px; }
.loader-ring{
  position:absolute;
  inset:-10px;
  border-radius:9999px;
  border:2px solid rgba(15,23,42,.12);
  border-top-color: rgba(15,23,42,.75);
  animation: ttmSpin 1.05s linear infinite;
}
@keyframes ttmSpin{ to { transform: rotate(360deg);} }
.loader-text .t1{ font-weight:900; color:#0f172a; font-size:14px; line-height:1.1; }
.loader-text .t2{ margin-top:3px; color:#475569; font-size:12px; line-height:1.3; }
.loader-bar{
  margin-top:12px;
  height:8px;
  border-radius:9999px;
  background: rgba(15,23,42,.08);
  overflow:hidden;
  position:relative;
}
.loader-bar::after{
  content:"";
  position:absolute;
  left:-40%;
  top:0; bottom:0;
  width:40%;
  background: rgba(15,23,42,.65);
  border-radius:9999px;
  animation: ttmLoad 1.2s ease-in-out infinite;
}
@keyframes ttmLoad{
  0%{ left:-40%; opacity:.4; }
  50%{ opacity:1; }
  100%{ left:100%; opacity:.4; }
}
@media (prefers-reduced-motion: reduce){
  .loader-ring, .loader-bar::after{ animation:none !important; }
}


/* HARD KILL — PageLoader gerçekten kaybolsun */
#pageLoader.is-hidden{
  display: none !important;
}



/* =========================
   TTM Header FINAL (Premium)
========================= */

.ttm-header{
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(148,163,184,.45);
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}
.ttm-header::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background: linear-gradient(90deg,
    rgba(16,185,129,0) 0%,
    rgba(16,185,129,.9) 22%,
    rgba(59,130,246,.9) 55%,
    rgba(99,102,241,.9) 82%,
    rgba(16,185,129,0) 100%);
  opacity:.55;
  pointer-events:none;
}
.ttm-navbar{
  flex-wrap: nowrap;
  white-space: nowrap;
}

.ttm-navlink{
  white-space: nowrap;
}


/* nav bar (tek parça pill) */
.ttm-navbar{
  display:flex;
  align-items:center;
  gap:4px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(248,250,252,.80);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95);
}

/* nav link (tek tanım) */
.ttm-navlink{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size: 13px;
  font-weight: 800;
  color:#334155;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ttm-navlink:hover{
  background: rgba(15,23,42,.06);
  color:#0f172a;
}
.ttm-navlink.is-active{
  background: #0f172a;
  color:#fff;
  box-shadow: 0 10px 22px rgba(15,23,42,.18);
}

/* CTA — RED Premium */
.ttm-cta{
  position: relative;
  overflow: hidden;
  border-radius: 9999px;
  background: linear-gradient(135deg,
    #7f1d1d 0%,
    #dc2626 45%,
    #991b1b 100%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow:
    0 18px 45px rgba(2,6,23,.26),
    0 0 0 1px rgba(255,255,255,.10) inset;
}

.ttm-cta::before{
  content:"";
  position:absolute;
  inset:-50%;
  background: radial-gradient(circle at 30% 30%,
    rgba(255,255,255,.55) 0%,
    rgba(255,255,255,0) 60%);
  opacity:.22;
  pointer-events:none;
}

.ttm-cta::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-30%;
  width:40%;
  height:220%;
  background: linear-gradient(120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.60) 45%,
    rgba(255,255,255,0) 70%);
  transform: skewX(-18deg);
  opacity:0;
  pointer-events:none;
}

.ttm-cta:hover{
  filter: brightness(1.04);
  box-shadow:
    0 22px 55px rgba(2,6,23,.32),
    0 0 0 1px rgba(255,255,255,.12) inset;
}
.ttm-cta:hover::after{
  opacity:.24;
  animation: ttmRedShine .85s ease-out both;
}
@keyframes ttmRedShine{
  0% { left:-30%; }
  100%{ left:140%; }
}



/* Announce bar slim (premium) */
#announceBar .ttm-announce{
  padding: 5px 10px;
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}
#announceBar .ttm-announce::before{ opacity:.35; filter: blur(12px); }
#announceBar .ttm-announce-text{ line-height:1.1; }


/* =========================
   Mobile Menu (Premium Drawer) - FIX
========================= */
.ttm-mnav{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: block;
}
.ttm-mnav.hidden{ display:none !important; } /* Tailwind hidden garanti */

.ttm-mnav__backdrop{
  position:absolute; inset:0;
  background: rgba(2,6,23,.55);
  backdrop-filter: blur(6px);
}

.ttm-mnav__panel{
  position:absolute;
  right: 10px; top: 10px; bottom: 10px;
  width: min(420px, calc(100vw - 20px));
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 30px 90px rgba(2,6,23,.30);
  backdrop-filter: blur(14px);
  overflow: hidden;

  /* görünürlük garanti */
  transform: translateX(0);
  opacity: 1;
}

/* istersen animasyon: */
.ttm-mnav:not(.hidden) .ttm-mnav__panel{
  animation: ttmDrawerIn .18s ease-out both;
}
@keyframes ttmDrawerIn{
  from{ transform: translateX(14px); opacity: 0; }
  to  { transform: translateX(0); opacity: 1; }
}


.ttm-mnav__head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.ttm-mnav__brand{ display:flex; align-items:center; gap:10px; }
.ttm-mnav__brand img{
  width: 40px; height: 40px; border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background:#fff;
  object-fit: contain;
  padding: 6px;
}
.ttm-mnav__brand .t1{ font-weight: 900; font-size: 13px; color:#0f172a; line-height:1.1; }
.ttm-mnav__brand .t2{ font-size: 11px; color:#64748b; margin-top:2px; }

.ttm-mnav__close{
  width: 38px; height: 38px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.7);
  font-weight: 900;
}

.ttm-mnav__body{ padding: 12px 14px 14px; display:flex; flex-direction:column; gap:12px; }
.ttm-mnav__links{ display:flex; flex-direction:column; gap:6px; }
.ttm-mnav__link{
  padding: 12px 12px;
  border-radius: 16px;
  font-weight: 900;
  color:#0f172a;
  background: rgba(15,23,42,.03);
  border: 1px solid rgba(15,23,42,.06);
}
.ttm-mnav__link:hover{ background: rgba(15,23,42,.05); }
.ttm-mnav__link.is-active{
  background: rgba(15,23,42,.10);
  border-color: rgba(15,23,42,.12);
}

.ttm-mnav__lang{ display:flex; gap:8px; }
.ttm-mnav__lang .pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.75);
  font-weight: 900;
  font-size: 12px;
  color:#0f172a;
}
.ttm-mnav__lang .pill.is-active{
  background: #0f172a;
  color:#fff;
}

.ttm-mnav__actions{ display:grid; gap:10px; margin-top: 4px; }
.ttm-mnav__actions .btn-ghost{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.85);
  box-shadow: 0 10px 24px rgba(2,6,23,.08);
  font-weight: 900;
}
.ttm-mnav__actions .btn-ghost:hover{
  background: rgba(255,255,255,.95);
}

.ttm-mnav__actions .btn-primary{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(135deg,
    rgba(15,23,42,1) 0%,
    rgba(30,41,59,1) 45%,
    rgba(79,70,229,1) 100%);
  box-shadow: 0 14px 30px rgba(2,6,23,.22);
  color:#fff;
  font-weight: 900;
}


@media (max-width: 1024px){
  .ttm-cursor{ display:none !important;
  }
  
}