/* ==========================================================================
   SAMLAS — tasarim sistemi
   ==========================================================================
   Konsept: "Spec Plate". Bir lastigin yan duvarindaki muhendislik
   isaretleri (205/55 R16 91V) sayfanin tipografik dili. Sikisik, versal,
   tabular, kutulanmis. Urunun kendi diliyle konusan bir arayuz.

   Fotograf stratejisi: eldeki fotograflar dusuk kaliteli. Hepsi duotone'a
   (grafit + marka kirmizisi) cevriliyor. Bu, tutarsiz ve bulanik gorselleri
   kasitli bir sanat yonetimine donusturuyor — tasarim fotografa bagimli
   kalmiyor.

   Tum siniflar "sx-" onekli. main.css 144 KB ve pek cok genel sinif adi
   tanimliyor; onek sayesinde kaskad catismasi yok, !important gerekmiyor.
   ========================================================================== */

/* ---------------------------------------------------------------- tokenlar */
/* Iki tema: koyu (varsayilan) ve acik. Butun renkler token uzerinden gidiyor,
   hicbir bilesende sabit renk yok — tema degisince hepsi birlikte doner.
   Kullanicinin secimi localStorage'da; secim yoksa isletim sistemi tercihi. */
:root {
  --sx-kirmizi:      #ff4547;
  --sx-kirmizi-koyu: #e0242a;
  --sx-kirmizi-sis:  rgba(255,69,71,.14);

  /* Koyu tema — oncekinden belirgin sekilde aydinlik.
     Onceki degerler (#08090c / #0d0f13) ekranda "kapali" duruyordu. */
  --sx-dip:    #12151b;
  --sx-zemin:  #191d25;
  --sx-panel:  #222733;
  --sx-panel2: #2b3140;
  --sx-cizgi:  #39414f;

  --sx-kagit:  #f4f5f7;
  --sx-kagit2: #e8eaee;
  --sx-beyaz:  #ffffff;

  --sx-ak:      #f4f6f9;
  --sx-ak-soft: rgba(244,246,249,.76);
  --sx-ak-dim:  rgba(244,246,249,.52);
  --sx-koyu:    #12151b;
  --sx-koyu-soft: #4a515e;

  /* Bilesenlerin kullandigi bilesik yuzeyler */
  --sx-nav-bg:      rgba(25,29,37,.88);
  --sx-nav-bg-kati: rgba(18,21,27,.97);
  --sx-cam:         linear-gradient(155deg, rgba(43,49,64,.92), rgba(25,29,37,.94));
  --sx-cam-soft:    linear-gradient(155deg, rgba(43,49,64,.78), rgba(25,29,37,.86));
  --sx-sayi-bg:     rgba(18,21,27,.72);
  --sx-input-bg:    rgba(18,21,27,.6);
  --sx-golge:       0 40px 90px rgba(0,0,0,.55);
  --sx-golge-kart:  0 16px 40px rgba(0,0,0,.35);
  --sx-logo-renk:   #ffffff;
  --sx-perde: linear-gradient(to right, var(--sx-dip) 0%, rgba(18,21,27,.72) 46%, rgba(18,21,27,.30) 100%);

  --sx-display: 'Archivo', 'Red Hat Display', ui-sans-serif, system-ui, sans-serif;
  --sx-govde:   'Red Hat Display', ui-sans-serif, system-ui, -apple-system, sans-serif;

  --sx-kenar: clamp(1.1rem, 4vw, 3.5rem);
  --sx-olcek: clamp(4rem, 9vw, 8rem);
  --sx-nav-h: 82px;
}

/* ------------------------------------------------------------ acik tema */
:root[data-tema="acik"] {
  --sx-dip:    #ffffff;
  --sx-zemin:  #f5f6f8;
  --sx-panel:  #ffffff;
  --sx-panel2: #eef0f4;
  --sx-cizgi:  #dfe3e9;

  --sx-kagit:  #f5f6f8;
  --sx-kagit2: #eaedf1;
  --sx-beyaz:  #ffffff;

  --sx-ak:      #14181f;
  --sx-ak-soft: rgba(20,24,31,.74);
  --sx-ak-dim:  rgba(20,24,31,.52);
  --sx-koyu:    #14181f;
  --sx-koyu-soft: #565e6c;

  --sx-nav-bg:      rgba(255,255,255,.86);
  --sx-nav-bg-kati: rgba(255,255,255,.97);
  --sx-cam:         linear-gradient(155deg, #ffffff, #f2f4f7);
  --sx-cam-soft:    linear-gradient(155deg, #ffffff, #f5f6f8);
  --sx-sayi-bg:     #ffffff;
  --sx-input-bg:    #ffffff;
  --sx-golge:       0 30px 70px rgba(20,24,31,.14);
  --sx-golge-kart:  0 14px 34px rgba(20,24,31,.10);
  --sx-logo-renk:   #14181f;
  --sx-perde: linear-gradient(to right, rgba(255,255,255,.96) 0%, rgba(255,255,255,.72) 46%, rgba(255,255,255,.32) 100%);
}

.sx, .sx-nav, .sx-ust {
  font-family: var(--sx-govde);
  box-sizing: border-box;
}
/* main.css'te .page-wrapper'in arkaplani "gainsboro" — aradan acik gri
   sizmasin diye kendi zeminimizi aciktan boyuyoruz. */
.sx { background: var(--sx-zemin); }
.sx *, .sx *::before, .sx *::after,
.sx-nav *, .sx-nav *::before, .sx-nav *::after,
.sx-ust *, .sx-ust *::before, .sx-ust *::after { box-sizing: border-box; }

.sx img { max-width: 100%; display: block; }

.sx-kap {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: var(--sx-kenar);
}

/* ------------------------------------------------------- spec plate dili */
/* Sayfanin imzasi: yan duvar isareti gibi kutulanmis, versal, tabular. */
.sx-spec {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--sx-display);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: var(--sx-kirmizi);
  border: 1px solid currentColor;
  padding: .38rem .7rem .34rem;
  border-radius: 2px;
  line-height: 1;
}
.sx-spec-duz {
  border: none;
  padding: 0;
  color: var(--sx-kirmizi);
}
.sx-spec-duz::before {
  content: "";
  width: 1.8rem;
  height: 2px;
  background: currentColor;
}

.sx-h1, .sx-h2 {
  margin: 0;
  font-family: var(--sx-display);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: .96;
  text-wrap: balance;
}
.sx-h1 { font-size: clamp(2.1rem, 4.6vw, 3.5rem); letter-spacing: -.035em; line-height: 1.02; }
.sx-h2 { font-size: clamp(1.9rem, 4.6vw, 3.1rem); }

.sx-govde-metin {
  margin: 0;
  font-size: clamp(1rem, 2.2vw, 1.1rem);
  line-height: 1.65;
}

/* ------------------------------------------------------- duotone gorsel */
/* Kotu fotografi kasitli hale getiren katman. Once gri tonlama ve kontrast,
   sonra kirmizi carpim katmani. Sonuc: kaynak ne olursa olsun tutarli. */
.sx-duo { position: relative; overflow: hidden; background: var(--sx-zemin); }
.sx-duo > img,
.sx-duo > .sx-duo-bg {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.18) brightness(.72);
}
.sx-duo-bg { background-size: cover; background-position: center; }
.sx-duo::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(216,22,28,.42), rgba(8,9,12,.62));
  mix-blend-mode: color;
  pointer-events: none;
}

/* ============================================================ UST BAR */
.sx-ust {
  background: var(--sx-dip);
  color: var(--sx-ak-soft);
  border-bottom: 1px solid var(--sx-cizgi);
  font-size: .82rem;
}
.sx-ust-ic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 42px;
  flex-wrap: wrap;
}
.sx-ust-sol { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.sx-ust a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: .45rem; }
.sx-ust a:hover { color: var(--sx-ak); }
.sx-ust i { color: var(--sx-kirmizi); font-size: .9em; }
.sx-ust-sag { display: flex; align-items: center; gap: .9rem; }
.sx-ust-bayi {
  font-family: var(--sx-display);
  font-size: .7rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  border: 1px solid var(--sx-cizgi);
  padding: .42rem .8rem;
  border-radius: 2px;
}
.sx-ust-bayi:hover { border-color: var(--sx-kirmizi); color: var(--sx-kirmizi) !important; }
@media (max-width: 780px) { .sx-ust-adres { display: none; } }

/* =============================================================== NAV */
.sx-nav {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--sx-nav-bg);
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid transparent;
  transition: background-color .25s ease, border-color .25s ease;
}
.sx-nav[data-kaydi="1"] {
  background: var(--sx-nav-bg-kati);
  border-bottom-color: var(--sx-cizgi);
}
.sx-nav-ic {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-height: var(--sx-nav-h);
}
.sx-logo { flex: none; display: block; }
.sx-logo svg, .sx-logo img { height: 42px; width: auto; color: var(--sx-logo-renk); display: block; }
@media (min-width: 720px) { .sx-logo svg, .sx-logo img { height: 52px; } }

.sx-menu {
  display: none;
  align-items: center;
  gap: .3rem;
  margin: 0 auto 0 1.6rem;
  padding: 0;
  list-style: none;
}
@media (min-width: 1060px) { .sx-menu { display: flex; } }

.sx-menu > li { position: relative; }
.sx-menu > li > a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .7rem .85rem;
  color: var(--sx-ak-soft);
  font-size: .93rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 2px;
  transition: color .16s ease;
}
.sx-menu > li > a:hover,
.sx-menu > li:focus-within > a,
.sx-menu > li[data-aktif="1"] > a { color: var(--sx-ak); }
.sx-menu > li[data-aktif="1"] > a { position: relative; }
.sx-menu > li[data-aktif="1"] > a::after {
  content: ""; position: absolute; left: .85rem; right: .85rem; bottom: .35rem;
  height: 2px; background: var(--sx-kirmizi);
}

.sx-alt-menu {
  position: absolute;
  top: 100%; left: 0;
  min-width: 240px;
  background: var(--sx-panel);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  padding: .45rem;
  margin: 0;
  list-style: none;
  box-shadow: var(--sx-golge-kart);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.sx-menu > li:hover > .sx-alt-menu,
.sx-menu > li:focus-within > .sx-alt-menu {
  opacity: 1; visibility: visible; transform: none;
}
.sx-alt-menu a {
  display: block;
  padding: .6rem .75rem;
  color: var(--sx-ak-soft);
  font-size: .9rem;
  text-decoration: none;
  border-radius: 2px;
}
.sx-alt-menu a:hover { background: var(--sx-panel2); color: var(--sx-ak); }

.sx-nav-eylem { margin-left: auto; display: flex; align-items: center; gap: .6rem; }
@media (min-width: 1060px) { .sx-nav-eylem { margin-left: 0; } }

.sx-nav-tel {
  display: none;
  align-items: center;
  gap: .5rem;
  color: var(--sx-ak);
  text-decoration: none;
  font-family: var(--sx-display);
  font-weight: 700;
  font-size: .95rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
@media (min-width: 720px) { .sx-nav-tel { display: inline-flex; } }
.sx-nav-tel i { color: var(--sx-kirmizi); }

/* mobil menu dugmesi */
.sx-hamburger {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 46px; height: 46px;
  padding: 0 11px;
  background: transparent;
  border: 1px solid var(--sx-cizgi);
  border-radius: 2px;
  cursor: pointer;
}
@media (min-width: 1060px) { .sx-hamburger { display: none; } }
.sx-hamburger span {
  display: block; height: 2px; width: 100%;
  background: var(--sx-ak);
  transition: transform .22s ease, opacity .22s ease;
}
.sx-hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sx-hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sx-hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobil panel */
.sx-mobil {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 80;
  background: var(--sx-dip);
  padding: 1.1rem var(--sx-kenar) 2.5rem;
  overflow-y: auto;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .3s cubic-bezier(.4,0,.2,1), visibility .3s;
}
.sx-mobil[data-acik="1"] { transform: none; visibility: visible; }
@media (min-width: 1060px) { .sx-mobil { display: none; } }
.sx-mobil-ust { display: flex; align-items: center; justify-content: space-between; min-height: var(--sx-nav-h); }
.sx-mobil-liste { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-direction: column; }
.sx-mobil-liste > li { border-bottom: 1px solid var(--sx-cizgi); }
.sx-mobil-liste a {
  display: block;
  padding: 1.05rem 0;
  color: var(--sx-ak);
  font-family: var(--sx-display);
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -.02em;
  text-decoration: none;
}
.sx-mobil-liste .sx-mobil-alt a {
  font-family: var(--sx-govde);
  font-size: .98rem;
  font-weight: 500;
  color: var(--sx-ak-soft);
  padding: .55rem 0 .55rem 1rem;
}
.sx-mobil-alt { list-style: none; margin: 0 0 .7rem; padding: 0; }

/* ---------------------------------------------------------- butonlar */
.sx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: 1rem 1.6rem;
  min-height: 52px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-family: var(--sx-display);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.sx-btn:focus-visible { outline: 2px solid var(--sx-kirmizi); outline-offset: 3px; }

.sx-btn-kirmizi { background: var(--sx-kirmizi); color: #fff; border-color: var(--sx-kirmizi); }
.sx-btn-kirmizi:hover { background: var(--sx-kirmizi-koyu); border-color: var(--sx-kirmizi-koyu); color: #fff; }

.sx-btn-hayalet { background: transparent; color: var(--sx-ak); border-color: rgba(242,244,247,.28); }
.sx-btn-hayalet:hover { border-color: var(--sx-ak); background: rgba(242,244,247,.07); color: var(--sx-ak); }

.sx-btn-koyu { background: var(--sx-koyu); color: #fff; border-color: var(--sx-koyu); }
.sx-btn-koyu:hover { background: var(--sx-kirmizi); border-color: var(--sx-kirmizi); }

/* ============================================================== HERO */
.sx-hero {
  position: relative;
  background: var(--sx-dip);
  color: var(--sx-ak);
  overflow: hidden;
  isolation: isolate;
  padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3rem, 7vw, 5rem);
}

/* Atmosfer 1 — kirmizi radyal isik. Tekerlegin arkasindan geliyormus gibi. */
.sx-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -18%; right: -12%;
  width: min(120vw, 1100px);
  aspect-ratio: 1;
  background: radial-gradient(circle at center,
              rgba(255,59,61,.20) 0%,
              rgba(255,59,61,.07) 34%,
              transparent 66%);
  pointer-events: none;
}
/* Atmosfer 2 — ince film grenli doku. Duz koyu zeminin "plastik"
   gorunmesini engelliyor; ekranda hissedilir, fark edilmez. */
.sx-hero::after {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  opacity: .05;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Arkadaki fotograf — artik ikincil, cok soluk. Yildiz tekerlek. */
.sx-hero-fon { position: absolute; inset: 0; z-index: 0; opacity: .34; }
.sx-hero-slayt { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.sx-hero-slayt[data-aktif="1"] { opacity: 1; }
.sx-hero-slayt .sx-duo { position: absolute; inset: 0; }
.sx-hero-slayt[data-aktif="1"] .sx-duo-bg { animation: sx-zoom 16s ease-out forwards; }
@keyframes sx-zoom { from { transform: scale(1.04); } to { transform: scale(1.13); } }

.sx-hero-perde {
  position: absolute; inset: 0; z-index: 1;
  background: var(--sx-perde);
}
.sx-hero-izgara {
  position: absolute; inset: 0; z-index: 1;
  background-image: linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 92px 100%;
  pointer-events: none;
}

.sx-hero-ic {
  position: relative; z-index: 2;
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
}
@media (min-width: 1080px) {
  .sx-hero-ic { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); }
}

.sx-hero-yazi { max-width: 32ch; }
.sx-hero-yazi .sx-h1 { color: var(--sx-beyaz); margin-top: 1.1rem; }
.sx-hero-yazi .sx-h1 em { font-style: normal; color: var(--sx-kirmizi); }
.sx-hero-alt {
  margin: 1.25rem 0 0;
  max-width: 40ch;
  color: var(--sx-ak-soft);
  font-size: clamp(1rem, 2.2vw, 1.14rem);
  line-height: 1.62;
}
.sx-hero-eylem { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .7rem; }

.sx-noktalar { margin-top: 1.9rem; display: flex; gap: .5rem; }
.sx-nokta {
  width: 30px; height: 3px; padding: 0; border: none; border-radius: 2px;
  background: rgba(242,244,247,.22); cursor: pointer;
  transition: background-color .2s ease, width .2s ease;
}
.sx-nokta[aria-selected="true"] { background: var(--sx-kirmizi); width: 52px; }
.sx-nokta:focus-visible { outline: 2px solid var(--sx-ak); outline-offset: 3px; }

/* ==================================================== DONEN TEKERLEK */
/* Sayfanin gosteri parcasi. Tamami SVG ile prosedurel cizildi: lastik
   sirti, alasim kollari, fren diski ve kaliper. Jant doner, kaliper
   durur — arabada da oyle: kaliper tasiyiciya sabittir, tekerlek doner. */
.sx-tekerlek {
  position: relative;
  width: min(92vw, 600px);
  margin-inline: auto;
  aspect-ratio: 1;
}
.sx-tekerlek::before {
  content: "";
  position: absolute;
  inset: -12%;
  background: radial-gradient(circle at 50% 50%,
              rgba(255,59,61,.22) 0%, rgba(255,59,61,.05) 42%, transparent 68%);
  pointer-events: none;
}
.sx-tekerlek svg { position: relative; width: 100%; height: 100%; display: block; }

.sx-tk-doner {
  transform-origin: 50% 50%;
  animation: sx-donus 9s linear infinite;
  will-change: transform;
}
@keyframes sx-donus { to { transform: rotate(360deg); } }

/* Yansima parlamasi — jantin uzerinden gecen isik */
.sx-tk-parla {
  transform-origin: 50% 50%;
  animation: sx-parla 6s ease-in-out infinite;
  mix-blend-mode: screen;
}
@keyframes sx-parla {
  0%, 100% { opacity: .10; }
  50%      { opacity: .30; }
}

/* Tekerlegin altindaki golge/zemin cizgisi */
.sx-tk-zemin {
  position: absolute;
  left: 8%; right: 8%; bottom: 2%;
  height: 42px;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.7) 0%, transparent 72%);
  filter: blur(6px);
  pointer-events: none;
}

/* =========================================================== ARAMA */
.sx-arama {
  position: relative;
  z-index: 3;
  background: var(--sx-cam);
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  border: 1px solid var(--sx-cizgi);
  border-radius: 4px;
  box-shadow: var(--sx-golge), inset 0 1px 0 rgba(255,255,255,.06);
  /* overflow: hidden DEGIL — ozel acilir listeler panelin disina tasiyor,
     hidden olsaydi kirpilirlardi. Ust cizgi kendi yuvarlatmasini tasiyor. */
  overflow: visible;
}
/* Ust kenarda ince kirmizi sinyal cizgisi */
.sx-arama::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--sx-kirmizi) 22%, var(--sx-kirmizi) 78%, transparent);
  border-radius: 4px 4px 0 0;
  opacity: .85;
}

.sx-arama-sekmeler { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--sx-cizgi); }
.sx-sekme {
  appearance: none; background: transparent; border: none;
  border-bottom: 2px solid transparent;
  padding: 1.05rem .5rem .95rem;
  color: var(--sx-ak-dim);
  font-family: var(--sx-display);
  font-size: .73rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  cursor: pointer;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}
.sx-sekme:hover { color: var(--sx-ak-soft); background: rgba(255,255,255,.03); }
.sx-sekme[aria-selected="true"] { color: var(--sx-ak); border-bottom-color: var(--sx-kirmizi); background: rgba(255,59,61,.07); }
.sx-sekme:focus-visible { outline: 2px solid var(--sx-kirmizi); outline-offset: -2px; }

.sx-arama-govde { padding: 1.5rem 1.4rem 1.6rem; }
.sx-arama-panel[hidden] { display: none; }
.sx-arama-ust { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.sx-arama-ust h2 {
  margin: 0; font-family: var(--sx-display);
  font-size: 1rem; font-weight: 800; letter-spacing: -.015em; color: var(--sx-ak);
}
.sx-arama-ipucu { font-size: .73rem; color: var(--sx-ak-dim); font-variant-numeric: tabular-nums; }

.sx-ebat { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: end; gap: .45rem; }
.sx-ebat-ayrac {
  font-family: var(--sx-display); font-size: 1.4rem; font-weight: 700;
  color: var(--sx-ak-dim); padding-bottom: .82rem; line-height: 1;
}
.sx-alan { display: flex; flex-direction: column; gap: .38rem; min-width: 0; }
.sx-alan-etiket {
  font-family: var(--sx-display); font-size: .6rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--sx-ak-dim);
}
.sx-sec {
  appearance: none; -webkit-appearance: none;
  width: 100%; min-height: 54px;
  padding: 0 1.9rem 0 .8rem;
  background-color: var(--sx-input-bg);
  background-image: linear-gradient(45deg, transparent 50%, var(--sx-ak-dim) 50%),
                    linear-gradient(135deg, var(--sx-ak-dim) 50%, transparent 50%);
  background-position: calc(100% - 17px) 51%, calc(100% - 11px) 51%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  border: 1px solid var(--sx-cizgi);
  border-radius: 2px;
  color: var(--sx-ak);
  font-family: var(--sx-display);
  font-size: 1.12rem; font-weight: 700;
  font-variant-numeric: tabular-nums; letter-spacing: .02em;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.sx-sec:hover { border-color: #3a4351; }
.sx-sec:focus-visible { outline: none; border-color: var(--sx-kirmizi); box-shadow: 0 0 0 3px var(--sx-kirmizi-sis); }
.sx-sec option { background: var(--sx-panel); color: var(--sx-ak); }

.sx-arama-satir { display: grid; grid-template-columns: 1fr; gap: .7rem; margin-top: .9rem; }
@media (min-width: 500px) { .sx-arama-satir-2 { grid-template-columns: 1fr 1fr; } }
.sx-arama-gonder { width: 100%; margin-top: 1.1rem; min-height: 58px; font-size: .84rem; }

.sx-cipler { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.sx-cip {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .48rem .78rem;
  border: 1px solid var(--sx-cizgi); border-radius: 100px;
  background: transparent; color: var(--sx-ak-soft);
  font-size: .79rem; font-weight: 600; text-decoration: none;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}
.sx-cip:hover { border-color: var(--sx-kirmizi); color: var(--sx-ak); background: var(--sx-kirmizi-sis); }

/* ============================================= CANLI OLCU DIYAGRAMI */
/* Ebat secildikce lastigin kesiti gercek zamanli ciziliyor. Matematik
   gercek: yanak = genislik x kesit/100, dis cap = jant x 25.4 + 2 x yanak.
   Hem gosteri hem faydali — cogu surucu "55"in ne oldugunu bilmiyor. */
.sx-diagram {
  margin-top: 1.15rem;
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  background: var(--sx-input-bg);
  padding: 1rem 1.1rem 1.1rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 122px minmax(0, 1fr);
  align-items: center;
}
.sx-diagram svg { width: 100%; height: auto; display: block; }
.sx-dg-lastik { fill: #171b22; stroke: #333c4a; stroke-width: 1.5; }
.sx-dg-jant   { fill: #2b3340; stroke: var(--sx-kirmizi); stroke-width: 1.5; }
.sx-dg-ok     { stroke: var(--sx-kirmizi); stroke-width: 1.2; fill: none; }
.sx-dg-yazi   { fill: var(--sx-ak-dim); font-size: 8.5px; font-family: 'Archivo', sans-serif; font-weight: 700; letter-spacing: .06em; }

.sx-olcumler { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; }
.sx-olcum { display: flex; flex-direction: column; gap: .18rem; min-width: 0; }
.sx-olcum-ad {
  font-family: var(--sx-display); font-size: .56rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--sx-ak-dim);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sx-olcum-deger {
  font-family: var(--sx-display); font-size: 1.16rem; font-weight: 800;
  font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--sx-ak);
  line-height: 1.05;
}
.sx-olcum-deger span { font-size: .62em; font-weight: 700; color: var(--sx-ak-dim); margin-left: .12em; }

/* ================================================== SAYILAR (istatistik) */
.sx-sayilar {
  position: relative; z-index: 2;
  margin-top: clamp(2.5rem, 6vw, 4rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--sx-cizgi);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  overflow: hidden;
}
@media (min-width: 860px) { .sx-sayilar { grid-template-columns: repeat(4, 1fr); } }
.sx-sayi { background: var(--sx-sayi-bg); padding: 1.35rem 1.2rem; display: flex; flex-direction: column; gap: .25rem; }
.sx-sayi-deger {
  font-family: var(--sx-display);
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  font-weight: 900; letter-spacing: -.045em;
  font-variant-numeric: tabular-nums;
  color: var(--sx-beyaz); line-height: 1;
}
.sx-sayi-deger em { font-style: normal; color: var(--sx-kirmizi); }
.sx-sayi-ad { font-size: .8rem; color: var(--sx-ak-dim); line-height: 1.4; }

/* ==================================================== GUVEN SERIDI */
.sx-guven { background: var(--sx-dip); border-block: 1px solid var(--sx-cizgi); }
.sx-guven-izgara {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--sx-cizgi);
}
@media (min-width: 940px) { .sx-guven-izgara { grid-template-columns: repeat(4, 1fr); } }
.sx-guven-kart {
  background: var(--sx-dip);
  padding: 1.5rem clamp(1rem, 2.5vw, 1.8rem);
  display: flex;
  gap: .9rem;
  align-items: flex-start;
}
.sx-guven-ikon {
  flex: none; width: 38px; height: 38px;
  display: grid; place-items: center;
  color: var(--sx-kirmizi);
  border: 1px solid var(--sx-cizgi);
  border-radius: 2px;
  font-size: 1rem;
}
.sx-guven-kart h3 {
  margin: 0 0 .25rem;
  font-family: var(--sx-display);
  font-size: .95rem; font-weight: 700;
  letter-spacing: -.01em;
  color: var(--sx-ak);
}
.sx-guven-kart p { margin: 0; font-size: .84rem; line-height: 1.5; color: var(--sx-ak-dim); }

/* ==================================================== KATEGORI KARTLARI */
.sx-kategori { background: var(--sx-zemin); padding-block: var(--sx-olcek); }
.sx-bolum-bas { display: flex; flex-direction: column; gap: .9rem; margin-bottom: 2.6rem; }
.sx-bolum-bas .sx-h2 { color: var(--sx-ak); }
.sx-bolum-bas p { margin: 0; max-width: 52ch; color: var(--sx-ak-soft); line-height: 1.6; }

.sx-kat-izgara { display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 780px) { .sx-kat-izgara { grid-template-columns: repeat(3, 1fr); } }

.sx-kat {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
  padding: 1.6rem;
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  overflow: hidden;
  text-decoration: none;
  color: var(--sx-ak);
  isolation: isolate;
  transition: border-color .22s ease, transform .22s ease;
}
.sx-kat:hover { border-color: var(--sx-kirmizi); transform: translateY(-4px); }
.sx-kat:focus-visible { outline: 2px solid var(--sx-kirmizi); outline-offset: 3px; }
.sx-kat .sx-duo { position: absolute; inset: 0; z-index: -2; }
.sx-kat::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to top, rgba(8,9,12,.94) 12%, rgba(8,9,12,.55) 55%, rgba(8,9,12,.25) 100%);
}
.sx-kat-no {
  position: absolute; top: 1.3rem; left: 1.6rem;
  font-family: var(--sx-display);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .2em;
  font-variant-numeric: tabular-nums;
  color: var(--sx-kirmizi);
}
.sx-kat h3 {
  margin: 0 0 .5rem;
  font-family: var(--sx-display);
  font-size: clamp(1.5rem, 3vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -.028em;
  line-height: 1.05;
}
.sx-kat p { margin: 0; font-size: .93rem; line-height: 1.55; color: var(--sx-ak-soft); }
.sx-kat-ok {
  margin-top: 1.1rem;
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--sx-display);
  font-size: .72rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--sx-kirmizi);
}
.sx-kat:hover .sx-kat-ok i { transform: translateX(4px); }
.sx-kat-ok i { transition: transform .2s ease; }

/* ========================================================= MARKALAR */
.sx-markalar { background: var(--sx-dip); padding-block: var(--sx-olcek); }
.sx-marka-izgara {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--sx-cizgi);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  overflow: hidden;
}
@media (min-width: 620px) { .sx-marka-izgara { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .sx-marka-izgara { grid-template-columns: repeat(6, 1fr); } }
.sx-marka {
  background: var(--sx-dip);
  min-height: 112px;
  display: grid; place-items: center;
  padding: 1.2rem;
  transition: background-color .2s ease;
}
.sx-marka:hover { background: var(--sx-panel); }
.sx-marka img {
  max-height: 46px; width: auto;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .55;
  transition: opacity .2s ease, filter .2s ease;
}
:root[data-tema="acik"] .sx-marka img { filter: grayscale(1) contrast(.2) brightness(.35); opacity: .6; }
.sx-marka:hover img { opacity: 1; filter: none; }

/* ========================================================= HIZMETLER */
.sx-hizmetler { background: var(--sx-kagit); color: var(--sx-koyu); padding-block: var(--sx-olcek); }
.sx-hizmetler .sx-bolum-bas .sx-h2 { color: var(--sx-koyu); }
.sx-hizmetler .sx-bolum-bas p { color: var(--sx-koyu-soft); }
.sx-hizmet-izgara { display: grid; grid-template-columns: 1fr; gap: 1.1rem; }
@media (min-width: 640px) { .sx-hizmet-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1060px) { .sx-hizmet-izgara { grid-template-columns: repeat(4, 1fr); } }

.sx-hizmet {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--sx-beyaz);
  border: 1px solid var(--sx-kagit2);
  border-radius: 3px;
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.sx-hizmet:hover { border-color: var(--sx-kirmizi); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(13,15,19,.10); }
.sx-hizmet:focus-within { border-color: var(--sx-kirmizi); box-shadow: 0 0 0 3px var(--sx-kirmizi-sis); }
.sx-hizmet-gorsel { aspect-ratio: 16/10; }
.sx-hizmet-govde { padding: 1.25rem 1.2rem 1.4rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.sx-hizmet h3 {
  margin: 0;
  font-family: var(--sx-display);
  font-size: 1.1rem; font-weight: 800;
  letter-spacing: -.02em; line-height: 1.2;
}
.sx-hizmet h3 a { color: inherit; text-decoration: none; }
.sx-hizmet h3 a::after { content: ""; position: absolute; inset: 0; }
.sx-hizmet p { margin: 0; font-size: .92rem; line-height: 1.55; color: var(--sx-koyu-soft); flex: 1; }
.sx-hizmet-devam {
  font-family: var(--sx-display);
  font-size: .68rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--sx-kirmizi);
  display: inline-flex; align-items: center; gap: .4rem;
}

/* =============================================================== CTA */
.sx-cta { position: relative; background: var(--sx-dip); color: var(--sx-ak); overflow: hidden; }
.sx-cta .sx-duo { position: absolute; inset: 0; z-index: 0; }
.sx-cta::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, var(--sx-dip) 22%, rgba(0,0,0,0) 100%);
}
.sx-cta-ic {
  position: relative; z-index: 2;
  padding-block: var(--sx-olcek);
  display: flex; flex-direction: column; gap: 1.8rem; align-items: flex-start;
}
@media (min-width: 920px) {
  .sx-cta-ic { flex-direction: row; align-items: center; justify-content: space-between; gap: 3rem; }
}
.sx-cta .sx-h2 { color: var(--sx-beyaz); max-width: 17ch; }
.sx-cta p { margin: 1rem 0 0; max-width: 44ch; color: var(--sx-ak-soft); line-height: 1.6; }
.sx-cta-eylem { display: flex; flex-wrap: wrap; gap: .7rem; }
.sx-cta-tel {
  display: flex; align-items: center; gap: .7rem;
  font-family: var(--sx-display);
  font-size: clamp(1.4rem, 3.4vw, 2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  color: var(--sx-beyaz);
  text-decoration: none;
}
.sx-cta-tel i { color: var(--sx-kirmizi); font-size: .7em; }
.sx-cta-tel:hover { color: var(--sx-kirmizi); }

/* ------------------------------------------------------- belirme */
.sx-bel { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.sx-bel.sx-gor { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .sx *, .sx *::before, .sx *::after,
  .sx-nav *, .sx-mobil {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .sx-bel { opacity: 1; transform: none; }
  .sx-hero-slayt[data-aktif="1"] .sx-duo-bg { animation: none; transform: scale(1.04); }
}

/* ============================================================== FOOTER */
.sx-footer {
  background: var(--sx-dip);
  color: var(--sx-ak-soft);
  border-top: 1px solid var(--sx-cizgi);
  font-family: var(--sx-govde);
}
.sx-footer *, .sx-footer *::before, .sx-footer *::after { box-sizing: border-box; }

.sx-footer-ust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.6rem;
  padding-block: clamp(3rem, 6vw, 4.6rem);
}
@media (min-width: 720px)  { .sx-footer-ust { grid-template-columns: repeat(2, 1fr); gap: 2.4rem 2rem; } }
@media (min-width: 1080px) { .sx-footer-ust { grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; gap: 2.4rem; } }

.sx-footer-marka { display: flex; flex-direction: column; gap: 1.1rem; }
.sx-footer-marka img { height: 38px; width: auto; }
.sx-footer-marka p { margin: 0; font-size: .92rem; line-height: 1.65; max-width: 34ch; color: var(--sx-ak-dim); }

.sx-sosyal { display: flex; gap: .5rem; }
.sx-sosyal a {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border: 1px solid var(--sx-cizgi);
  border-radius: 2px;
  color: var(--sx-ak-soft);
  text-decoration: none;
  transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
.sx-sosyal a:hover { border-color: var(--sx-kirmizi); color: var(--sx-kirmizi); background: var(--sx-kirmizi-sis); }

.sx-footer-sutun h3 {
  margin: 0 0 1.05rem;
  font-family: var(--sx-display);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sx-kirmizi);
}
.sx-footer-sutun ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.sx-footer-sutun a {
  color: var(--sx-ak-soft);
  text-decoration: none;
  font-size: .93rem;
  line-height: 1.45;
  transition: color .16s ease;
}
.sx-footer-sutun a:hover { color: var(--sx-kirmizi); }

.sx-footer-iletisim { display: flex; flex-direction: column; gap: .9rem; font-size: .93rem; line-height: 1.55; }
.sx-footer-iletisim a { color: var(--sx-ak); text-decoration: none; }
.sx-footer-iletisim a:hover { color: var(--sx-kirmizi); }
.sx-footer-satir { display: flex; gap: .7rem; align-items: flex-start; }
.sx-footer-satir i { color: var(--sx-kirmizi); margin-top: .28rem; flex: none; }
.sx-footer-tel {
  font-family: var(--sx-display);
  font-size: 1.14rem;
  font-weight: 800;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}

.sx-footer-alt {
  border-top: 1px solid var(--sx-cizgi);
  padding-block: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  font-size: .84rem;
  color: var(--sx-ak-dim);
}
.sx-footer-alt a { color: var(--sx-ak-dim); text-decoration: none; }
.sx-footer-alt a:hover { color: var(--sx-ak); }
.sx-footer-yasal { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.sx-footer-ajans { margin-left: auto; display: inline-flex; align-items: center; gap: .55rem; }
.sx-footer-ajans img { height: 18px; width: auto; opacity: .5; transition: opacity .18s ease; }
.sx-footer-ajans:hover img { opacity: 1; }

/* hero slayt yazi gecisi */
.sx-slayt-yazi[hidden] { display: none; }

/* ================================================= ARAMA BOLUMU (bant) */
.sx-ara-bolum { position: relative; background: var(--sx-zemin); padding-block: clamp(3rem, 7vw, 5.5rem); overflow: hidden; }
.sx-ara-bolum::before {
  content: ""; position: absolute; z-index: 0;
  left: -10%; bottom: -30%;
  width: min(90vw, 780px); aspect-ratio: 1;
  background: radial-gradient(circle at center, rgba(255,59,61,.10) 0%, transparent 62%);
  pointer-events: none;
}
.sx-ara-izgara { position: relative; z-index: 1; display: grid; gap: 1.4rem; align-items: start; }
@media (min-width: 1000px) { .sx-ara-izgara { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1.8rem; } }

.sx-diyagram-kart {
  background: var(--sx-cam-soft);
  border: 1px solid var(--sx-cizgi);
  border-radius: 4px;
  padding: 1.5rem 1.4rem 1.6rem;
  display: flex; flex-direction: column; gap: 1.2rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.sx-diyagram-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.sx-diyagram-bas h2 {
  margin: 0; font-family: var(--sx-display); font-size: 1rem; font-weight: 800;
  letter-spacing: -.015em; color: var(--sx-ak);
}
.sx-ebat-rozet {
  font-family: var(--sx-display); font-size: 1.05rem; font-weight: 800;
  font-variant-numeric: tabular-nums; letter-spacing: .04em;
  color: var(--sx-kirmizi);
  border: 1px solid var(--sx-kirmizi); border-radius: 2px;
  padding: .3rem .6rem .26rem;
}
.sx-diyagram-govde { display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr); justify-items: center; }
@media (min-width: 560px) { .sx-diyagram-govde { grid-template-columns: 190px minmax(0, 1fr); align-items: center; justify-items: stretch; } }
.sx-diyagram-govde svg { width: 100%; max-width: 220px; height: auto; display: block; margin-inline: auto; }
.sx-diyagram-not { margin: 0; font-size: .82rem; line-height: 1.55; color: var(--sx-ak-dim); }

/* ===================================================== TEMA DUGMESI */
.sx-tema {
  width: 42px; height: 42px;
  display: grid; place-items: center;
  background: transparent;
  border: 1px solid var(--sx-cizgi);
  border-radius: 2px;
  color: var(--sx-ak-soft);
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
.sx-tema:hover { color: var(--sx-kirmizi); border-color: var(--sx-kirmizi); background: var(--sx-kirmizi-sis); }
.sx-tema:focus-visible { outline: 2px solid var(--sx-kirmizi); outline-offset: 2px; }
.sx-tema svg { width: 19px; height: 19px; }
.sx-tema .sx-tema-ay   { display: none; }
:root[data-tema="acik"] .sx-tema .sx-tema-ay   { display: block; }
:root[data-tema="acik"] .sx-tema .sx-tema-gunes { display: none; }

/* ================================================ OZEL ACILIR LISTE */
/* Native <select> kullanmiyoruz: acilir listesi isletim sistemine ait,
   stillenemiyor ve bazi tarayicilarda koyu zeminde okunmuyordu.
   Bu, klavyeyle tam gezilebilen bir listbox. */
.sx-drop { position: relative; }
.sx-drop-btn {
  width: 100%; min-height: 56px;
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding: 0 .85rem;
  background: var(--sx-input-bg);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  color: var(--sx-ak);
  font-family: var(--sx-display);
  font-size: 1.12rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
  cursor: pointer; text-align: left;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.sx-drop-btn:hover { border-color: var(--sx-kirmizi); }
.sx-drop-btn:focus-visible { outline: none; border-color: var(--sx-kirmizi); box-shadow: 0 0 0 3px var(--sx-kirmizi-sis); }
.sx-drop-btn svg { width: 12px; height: 12px; flex: none; color: var(--sx-ak-dim); transition: transform .2s ease; }
.sx-drop-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.sx-drop-btn[aria-expanded="true"] { border-color: var(--sx-kirmizi); }

.sx-drop-liste {
  position: absolute; z-index: 40;
  top: calc(100% + 6px); left: 0; right: 0;
  max-height: 264px; overflow-y: auto;
  margin: 0; padding: .3rem;
  list-style: none;
  background: var(--sx-panel);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  box-shadow: var(--sx-golge-kart);
  opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.99);
  transform-origin: top center;
  transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.sx-drop[data-acik="1"] .sx-drop-liste { opacity: 1; visibility: visible; transform: none; }
.sx-drop-liste li {
  padding: .62rem .7rem;
  border-radius: 2px;
  color: var(--sx-ak-soft);
  font-family: var(--sx-display);
  font-size: 1rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.sx-drop-liste li:hover,
.sx-drop-liste li[data-vurgu="1"] { background: var(--sx-panel2); color: var(--sx-ak); }
.sx-drop-liste li[aria-selected="true"] { color: var(--sx-kirmizi); }
.sx-drop-liste li[aria-selected="true"]::after { content: "✓"; float: right; }

/* ================================================== 3B EGIM (tilt) */
.sx-sahne { perspective: 1200px; }
.sx-egim {
  transform-style: preserve-3d;
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
  will-change: transform;
}
.sx-egim-derin { transform: translateZ(38px); }

/* ============================================ JANT: gercekci isik */
/* Isik kaynagi SABIT — tekerlek donerken parlama donmuyor. Gercekciligin
   anahtari bu: donen bir cisimde isik nesneyle birlikte donmez. */
.sx-tk-isik {
  position: absolute; inset: 0;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.34) 0%, rgba(255,255,255,.10) 22%, transparent 46%),
    radial-gradient(circle at 74% 82%, rgba(0,0,0,.55) 0%, transparent 52%);
  mix-blend-mode: soft-light;
}
.sx-tk-golge {
  position: absolute; inset: 0;
  border-radius: 50%;
  pointer-events: none;
  box-shadow: inset -18px -22px 60px rgba(0,0,0,.6), inset 14px 16px 44px rgba(255,255,255,.07);
}
.sx-tekerlek { filter: drop-shadow(0 26px 34px rgba(0,0,0,.45)); }
:root[data-tema="acik"] .sx-tekerlek { filter: drop-shadow(0 26px 34px rgba(20,24,31,.22)); }

/* ======================================= kademeli belirme (stagger) */
.sx-bel { opacity: 0; transform: translateY(26px); transition: opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1); }
.sx-bel.sx-gor { opacity: 1; transform: none; }
.sx-bel[data-gecikme="1"] { transition-delay: .08s; }
.sx-bel[data-gecikme="2"] { transition-delay: .16s; }
.sx-bel[data-gecikme="3"] { transition-delay: .24s; }

/* hizmet ve kategori kartlarina hafif 3B kaldirma */
.sx-kat, .sx-hizmet { transform-style: preserve-3d; }

@media (prefers-reduced-motion: reduce) {
  .sx-egim { transition: none !important; transform: none !important; }
}

/* ======================================================= SAYFA BASLIGI */
.sx-sayfa-bas { background: var(--sx-dip); padding-block: clamp(1.6rem, 4vw, 2.6rem) clamp(1.2rem, 3vw, 2rem); border-bottom: 1px solid var(--sx-cizgi); }
.sx-yol { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .82rem; color: var(--sx-ak-dim); margin-bottom: 1rem; }
.sx-yol a { color: var(--sx-ak-soft); text-decoration: none; }
.sx-yol a:hover { color: var(--sx-kirmizi); }
.sx-sayfa-bas .sx-h2 { color: var(--sx-ak); margin-top: .6rem; }
.sx-sayfa-ozet { margin: .7rem 0 0; color: var(--sx-ak-soft); font-size: .98rem; }
.sx-sayfa-ozet strong { color: var(--sx-ak); font-family: var(--sx-display); font-variant-numeric: tabular-nums; }

/* ============================================================= MAGAZA */
.sx-magaza { background: var(--sx-zemin); padding-block: clamp(2rem, 5vw, 3.2rem) var(--sx-olcek); }
.sx-magaza-izgara { display: grid; grid-template-columns: 1fr; gap: 1.6rem; align-items: start; }
@media (min-width: 980px) { .sx-magaza-izgara { grid-template-columns: 268px minmax(0, 1fr); gap: 2rem; } }

.sx-filtre {
  background: var(--sx-cam-soft);
  border: 1px solid var(--sx-cizgi);
  border-radius: 4px;
  padding: 1.3rem 1.2rem 1.4rem;
}
@media (min-width: 980px) { .sx-filtre { position: sticky; top: calc(var(--sx-nav-h) + 14px); } }
.sx-filtre-blok { margin-bottom: 1.25rem; }
.sx-filtre-blok h2 {
  margin: 0 0 .6rem;
  font-family: var(--sx-display);
  font-size: .64rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--sx-kirmizi);
}
.sx-metin {
  width: 100%; min-height: 48px;
  padding: 0 .8rem;
  background: var(--sx-input-bg);
  border: 1px solid var(--sx-cizgi);
  border-radius: 3px;
  color: var(--sx-ak);
  font-family: var(--sx-govde);
  font-size: .95rem;
}
.sx-metin:focus-visible { outline: none; border-color: var(--sx-kirmizi); box-shadow: 0 0 0 3px var(--sx-kirmizi-sis); }
select.sx-metin { cursor: pointer; }
.sx-filtre-ebat { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .35rem; }
.sx-filtre-ebat span { color: var(--sx-ak-dim); font-family: var(--sx-display); font-weight: 700; }
.sx-filtre-cipler { display: flex; flex-wrap: wrap; gap: .4rem; }
.sx-cip-aktif { border-color: var(--sx-kirmizi); color: var(--sx-kirmizi); background: var(--sx-kirmizi-sis); }
.sx-onay { display: flex; align-items: center; gap: .6rem; cursor: pointer; font-size: .93rem; color: var(--sx-ak-soft); }
.sx-onay input { width: 18px; height: 18px; accent-color: var(--sx-kirmizi); }
.sx-filtre-sifirla { display: block; margin-top: .8rem; text-align: center; font-size: .85rem; color: var(--sx-ak-dim); text-decoration: none; }
.sx-filtre-sifirla:hover { color: var(--sx-kirmizi); }

.sx-liste-ust { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.sx-liste-say { font-family: var(--sx-display); font-weight: 700; font-variant-numeric: tabular-nums; color: var(--sx-ak); }

.sx-urun-izgara { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 760px)  { .sx-urun-izgara { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1240px) { .sx-urun-izgara { grid-template-columns: repeat(4, 1fr); } }

.sx-urun {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--sx-panel);
  border: 1px solid var(--sx-cizgi);
  border-radius: 4px;
  overflow: hidden;
  transform-style: preserve-3d;
  transition: border-color .2s ease, transform .25s ease, box-shadow .25s ease;
}
.sx-urun:hover { border-color: var(--sx-kirmizi); box-shadow: var(--sx-golge-kart); }
.sx-urun:focus-within { border-color: var(--sx-kirmizi); box-shadow: 0 0 0 3px var(--sx-kirmizi-sis); }
.sx-urun-gorsel {
  position: relative; display: block;
  aspect-ratio: 1; background: var(--sx-panel2);
  overflow: hidden;
}
.sx-urun-gorsel img { width: 100%; height: 100%; object-fit: contain; padding: 8%; transition: transform .45s ease; }
.sx-urun:hover .sx-urun-gorsel img { transform: scale(1.06); }
.sx-urun-gorselsiz { position: absolute; inset: 0; display: grid; place-items: center; color: var(--sx-ak-dim); }
.sx-urun-gorselsiz svg { width: 42%; height: 42%; }

.sx-rozet {
  position: absolute; top: .6rem; left: .6rem;
  font-family: var(--sx-display);
  font-size: .58rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .28rem .5rem; border-radius: 2px;
}
.sx-rozet-stok { background: rgba(34,197,94,.16); color: #37c46f; }
.sx-rozet-yok  { background: rgba(255,69,71,.14); color: var(--sx-kirmizi); }

.sx-urun-govde { padding: .9rem .95rem 1rem; display: flex; flex-direction: column; gap: .38rem; flex: 1; }
.sx-urun-ebat {
  font-family: var(--sx-display); font-size: .72rem; font-weight: 800;
  letter-spacing: .08em; font-variant-numeric: tabular-nums; color: var(--sx-kirmizi);
}
.sx-urun-ad { margin: 0; font-size: .95rem; font-weight: 700; line-height: 1.35; letter-spacing: -.01em; }
.sx-urun-ad a { color: var(--sx-ak); text-decoration: none; }
.sx-urun-ad a::after { content: ""; position: absolute; inset: 0; }
.sx-urun-kod { font-size: .76rem; color: var(--sx-ak-dim); font-variant-numeric: tabular-nums; }
.sx-urun-alt { margin-top: auto; padding-top: .6rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.sx-urun-fiyat { font-family: var(--sx-display); font-size: 1.02rem; font-weight: 800; color: var(--sx-ak); font-variant-numeric: tabular-nums; }
.sx-urun-fiyat-sor { color: var(--sx-kirmizi); font-size: .88rem; letter-spacing: .01em; }
.sx-urun-ok { color: var(--sx-ak-dim); transition: transform .2s ease, color .2s ease; }
.sx-urun-ok svg { width: 18px; height: 18px; }
.sx-urun:hover .sx-urun-ok { color: var(--sx-kirmizi); transform: translateX(3px); }

.sx-bos {
  background: var(--sx-cam-soft);
  border: 1px dashed var(--sx-cizgi);
  border-radius: 4px;
  padding: clamp(2.2rem, 6vw, 3.6rem);
  text-align: center;
  display: flex; flex-direction: column; gap: .8rem; align-items: center;
}
.sx-bos h2 { margin: 0; font-family: var(--sx-display); font-size: 1.3rem; font-weight: 800; color: var(--sx-ak); }
.sx-bos p { margin: 0; max-width: 46ch; color: var(--sx-ak-soft); line-height: 1.6; }

.sx-sayfalama { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.sx-sayfalama a {
  min-width: 44px; min-height: 44px;
  display: grid; place-items: center;
  padding: 0 .8rem;
  border: 1px solid var(--sx-cizgi); border-radius: 3px;
  color: var(--sx-ak-soft); text-decoration: none;
  font-family: var(--sx-display); font-weight: 700; font-variant-numeric: tabular-nums;
  transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}
.sx-sayfalama a:hover { border-color: var(--sx-kirmizi); color: var(--sx-kirmizi); }
.sx-sayfalama a[aria-current="page"] { background: var(--sx-kirmizi); border-color: var(--sx-kirmizi); color: #fff; }
.sx-sayfa-bosluk { display: grid; place-items: center; min-width: 28px; color: var(--sx-ak-dim); }

/* ======================================================= URUN DETAYI */
.sx-detay { background: var(--sx-zemin); padding-block: clamp(2rem, 5vw, 3.4rem) var(--sx-olcek); }
.sx-detay-izgara { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 940px) { .sx-detay-izgara { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; } }

.sx-detay-ana {
  aspect-ratio: 1;
  background: var(--sx-panel);
  border: 1px solid var(--sx-cizgi);
  border-radius: 4px;
  display: grid; place-items: center;
  overflow: hidden;
}
.sx-detay-ana img { width: 100%; height: 100%; object-fit: contain; padding: 7%; }
.sx-detay-kucukler { margin-top: .8rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.sx-kucuk {
  width: 72px; height: 72px; padding: 4px;
  background: var(--sx-panel); border: 1px solid var(--sx-cizgi);
  border-radius: 3px; cursor: pointer;
}
.sx-kucuk img { width: 100%; height: 100%; object-fit: contain; }
.sx-kucuk[aria-current="true"] { border-color: var(--sx-kirmizi); }
.sx-kucuk:focus-visible { outline: 2px solid var(--sx-kirmizi); outline-offset: 2px; }

.sx-detay-bilgi { display: flex; flex-direction: column; gap: 1.1rem; }
.sx-detay-bilgi .sx-h2 { color: var(--sx-ak); }
.sx-detay-satir { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.sx-detay-kod { font-size: .9rem; color: var(--sx-ak-dim); }
.sx-detay-kod strong { color: var(--sx-ak); font-variant-numeric: tabular-nums; }
.sx-detay-satir .sx-rozet { position: static; }

.sx-detay-fiyat { padding: 1.1rem 1.2rem; background: var(--sx-cam-soft); border: 1px solid var(--sx-cizgi); border-radius: 4px; }
.sx-fiyat-buyuk { font-family: var(--sx-display); font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 900; letter-spacing: -.03em; color: var(--sx-ak); font-variant-numeric: tabular-nums; }
.sx-fiyat-not { margin: .5rem 0 0; font-size: .9rem; line-height: 1.55; color: var(--sx-ak-dim); }
.sx-detay-eylem { display: flex; flex-wrap: wrap; gap: .7rem; }

.sx-ozellik { border-top: 1px solid var(--sx-cizgi); padding-top: 1.2rem; }
.sx-ozellik h2 { margin: 0 0 .9rem; font-family: var(--sx-display); font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--sx-kirmizi); }
.sx-ozellik dl { margin: 0; display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--sx-cizgi); border: 1px solid var(--sx-cizgi); border-radius: 3px; overflow: hidden; }
@media (min-width: 560px) { .sx-ozellik dl { grid-template-columns: repeat(2, 1fr); } }
.sx-ozellik dl > div { background: var(--sx-panel); padding: .68rem .85rem; display: flex; justify-content: space-between; gap: .8rem; }
.sx-ozellik dt { color: var(--sx-ak-dim); font-size: .86rem; }
.sx-ozellik dd { margin: 0; color: var(--sx-ak); font-size: .9rem; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
