/* ==========================================================================
   ROTOR — OTO YEDEK PARÇA
   ==========================================================================

   ÖLÇÜ FİŞİ. Bu tema göz kararıyla değil ÖLÇÜLEREK yazıldı.
   Kaynak: wpamerce.com/auto/ — 1440px görüntü alanında Playwright ile
   getComputedStyle + getBoundingClientRect (/root/screenshot-tool/oto-olc.mjs).
   İkinci referans (ochaka … /home-car-auto/?layout=autopart) yalnız EKRAN
   GÖRÜNTÜSÜ olarak elimizde — alan adı kayıtlı olmadığı için canlı
   ölçülemedi ve ondan yalnız KOMPOZİSYON okundu, sayı alınmadı.

     kapsayıcı            1400px
     gövde                16px / 26px · Public Sans · #3d444d
     h1 (kahraman)        44px / 52px · Space Grotesk · 600
     bölüm başlığı        30px / 38px · Space Grotesk · 600
     ürün kartı           ÇERÇEVELİ · yarıçap 4px · GÖLGE YOK
     kart fotoğrafı       1 : 1 · object-fit CONTAIN (parça kırpılmaz)
     düğme                yükseklik 46 · yarıçap 4 · 14px / 22px · 600
     parça numarası       13px · tabular-nums · harf aralığı 0,04em
     bölüm zemini         #f4f5f7

   REFERANSIN KODU KOPYALANMADI. Ölçü kopyalanmaz, ölçülür.

   TEMANIN TEK CÜMLESİ
   -------------------
   "Bu parça benim arabama uyar mı?" Sayfadaki her karar bu soruya hizmet
   eder: kahraman bir fotoğraf değil ARAÇ SEÇİCİdir, kartta parça numarası
   KALICIDIR, fotoğraf KIRPILMAZ (kırpılan bir fren diski tanınmaz),
   uyumluluk rozeti fiyatın önünde gelir.

   TÜRKÇE BÜYÜK HARF UYARISI
   -------------------------
   Bu dosyada `text-transform: uppercase` HİÇBİR YERDE YOK. Türkçe'de o kural
   "ilgi"yi "ILGI" yapar, "İLGİ" yapmaz. Büyük harf istenen her yerde metin
   Blade tarafında `Metin::buyuk()` ile üretilir; `--btn-transform` ve
   `--heading-transform` jetonları bilerek `none`.

   TEMEL TİPOGRAFİ `:where()` İÇİNDE — NİÇİN
   -----------------------------------------
   `.tema-rotor h2` seçicisinin özgüllüğü (0,1,1); çekirdek bileşenlerin
   yaprak CSS'i tek sınıfla yazılmıştır (`.riza__baslik`, `.bulten__baslik` →
   0,1,0). Temanın GENEL kuralı bileşenin ÖZEL kuralını yeniyor ve çerez
   bandının başlığını temanın rengiyle çiziyordu (lale'de ölçüldü: karşıtlık
   1,03). `:where()` özgüllüğü 0,1,0'a indirir; yaprak CSS `<head>` sırasında
   temadan sonra geldiği için beraberlik bileşenin lehine çözülür.

   ÇEKİRDEK SINIFLAR BU DOSYADA YENİDEN ÇİZİLİR
   --------------------------------------------
   Tema kendi Blade iskeletini getirdiği için `css/shop.css` YÜKLENMEZ.
   Düğme, form alanı, uyarı, sepet satırı, ödeme adımı, sayfalama, prose ve
   veri tablosu burada yeniden tanımlanmazsa temanın EZMEDİĞİ her ekran
   (hesabım, kasa, sipariş takibi) tarayıcı varsayılanlarıyla çizilir.

   ARAÇ UYUMLULUK MODÜLÜ KENDİ CSS'İNİ GETİRİR (`css/shop-oto.css`) ve
   jetonları okur; `.oto-*` sınıfları burada yeniden çizilmez.

   DOĞRULAMA — 23 Ağustos 2026, canlı sayfada ölçüldü
   --------------------------------------------------
     ölçü fişi        25 / 25 tuttu              rotor-olc.mjs
     yatay taşma      11 genişlikte YOK          rotor-tasma.mjs
     karşıtlık        3 sayfada ihlal YOK        rotor-karsit.mjs
     odak halkası     45 / 45 görünür (Tab ile)  rotor-odak.mjs
     mobil çekmece    açılıyor VE kapanıyor      rotor-odak.mjs
     CLS              pc 0,002 · mobil 0,027     rotor-cls.mjs
     Lighthouse       masaüstü 99/100/100/100    wp-lh.mjs
                      mobil     99/100/100/100
     uyumluluk akışı  seçici → garaj → şerit →   rotor-uyum.mjs
                      24 kartta rozet, 3'ü kesin uyumlu
   Betiklerin hepsi /root/screenshot-tool altında.

   BU TEMAYI YAZARKEN BULUNAN PLATFORM ARIZALARI (üçü de düzeltildi)
   -----------------------------------------------------------------
   1) `public/js/shop-oto.js` DEPODA YOKTU ama seçici sayfası onu `<script
      src>` ile çağırıyordu: her ziyarette 404 ve kademe yalnız tam sayfa
      yenileyerek ilerliyordu. Dosya yazıldı (JS bir hızlandırmadır, işlev
      değil — betik yüklenmese de seçici çalışır).
   2) `css/shop-oto.css` ve o betik YALNIZ modülün kendi sayfalarına
      bağlıydı; seçici bir temanın kahramanına gömülünce stil hiç
      yüklenmiyordu. Varlıklar artık `secici-kutu` parçasıyla birlikte
      geliyor.
   3) `secici-form` sekiz değişken bekliyordu, yani gömülemiyordu. Kaskad
      `UyumlulukServisi::seciciVerisi()` içine alındı; denetleyici de yeni
      parça da AYNI kaynağı kullanıyor.

   YOL BOYUNCA ÖLÇÜLEN TEMA TUZAKLARI (hepsi kendi yerinde yazılı)
   ---------------------------------------------------------------
   • Uyumluluk stili ALTI değer döndürüyor (onayli · uretici · tahmin ·
     kosullu · uymaz · bilinmiyor); `uyar` diye bir stil HİÇ DÖNMÜYOR.
     İkon `durum`a (üç değer), renk `stil`e (altı değer) bakar.
   • Modül kendi beyaz kartını getirince kahramandaki beyaz-metin ezmesi
     beyaz-üstüne-beyaz oldu (karşıtlık 1,00, sekiz düğüm).
   • Izgara çocuğunun `min-width` değeri `auto`dur — kutu yığını 360px'te
     +101px kaydırıyordu.
   • `min-height` bir ALT SINIRDIR: 12px dolgu + 22px satır + 2px çerçeve
     düğmeyi 46 değil 48 yapıyordu.
   • Kahraman fotoğrafı mobilde %93 karartma altında görünmüyor ama LCP
     öğesi O İDİ; `<img>` yerine yalnız `min-width: 821px` içinde kullanılan
     bir CSS zeminine çevrildi (mobilde sıfır bayt, LCP 2,4–3,5 s → 1,8 s).
   ========================================================================== */

:root {

  /* ---------- Ham palet: grafit, çelik, yanık turuncu ---------- */
  --grafit-900: #16191d;
  --grafit-800: #1f242a;
  --grafit-700: #2b3138;
  --grafit-600: #3d444d;
  --grafit-500: #5f6874;
  --grafit-400: #8b94a0;

  --celik-100: #f4f5f7;   /* ÖLÇÜLDÜ: bölüm zemini */
  --celik-200: #eceef1;
  --celik-300: #dfe3e8;
  --celik-400: #c6ccd4;

  --turuncu-700: #9a3412;
  --turuncu-600: #c2410c;  /* beyazda 5,18 · yüzeyde 4,75 */
  --turuncu-300: #fb923c;
  --turuncu-100: #ffedd5;

  /* Koyu zeminde turuncu okunmaz (3,41:1). Koyu panellerde bu kehribar
     kullanılır: #16191d üstünde 10,56:1. */
  --kehribar-300: #fbbf24;

  /* ---------- Çekirdek sözlükle AYNI ADLAR (yaprak CSS bunları okur) ---------- */
  --title: #16191d;
  --text: #3d444d;
  --muted: #5f6874;          /* beyazda 5,65:1 · çelikte 5,18:1 */
  --border: #dfe3e8;
  --border-strong: #c6ccd4;
  --surface: #f4f5f7;
  --white: #ffffff;

  /* WCAG 1.4.11: etkileşimli denetim kenarlığı zemine göre >= 3:1.
     PANELDEN AYARLANAMAZ (config/themes.php `adjustable` dışında). */
  --control-border: #8b94a0;
  --control-border-strong: #5f6874;

  --success: #15803d;
  --danger: #b91c1c;
  --warning: #a16207;

  /* 4px İSTİSNASIZ: kart, panel, girdi, düğme, rozet. Teknik bir katalogda
     kart bir KUTUDUR (içinde ölçü, numara, uyumluluk vardır); sıfır yarıçap
     fazla editoryal, 20px fazla yumuşak kalırdı. */
  --radius-sm: 4px;
  --radius: 4px;
  --radius-lg: 4px;
  --pill: 999px;             /* YALNIZ rozet ve adet sayacı için */

  /* Bu tema ayrımı ÇERÇEVEYLE yapar, gölgeyle değil: gölgeli kartlar teknik
     bir listede yüzer gibi durup taranmayı zorlaştırıyor. Yaprak CSS yine
     --shadow* okuyor; hepsi none. İstisna: açılır katmanlar. */
  --shadow-sm: none;
  --shadow: none;
  --shadow-lg: none;
  --katman-golge: rgba(22, 25, 29, .16) 0 16px 40px -12px;

  --container: 1400px;
  --ease: cubic-bezier(.2, .7, .3, 1);

  /* Yedek zincir GERÇEK yüzlerden kurulur: "… Yedek" diye ölçüsü eşitlenmiş
     bir yüz YALNIZ ana sitede (cea-site/tokens.css) tanımlıdır, mağaza
     temalarında yoktur — buraya yazılsaydı tarayıcı onu atlayıp bir sonraki
     adıma düşerdi ve zincir sessizce kısalırdı. */
  --font-heading: 'Space Grotesk', 'DIN Alternate', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-scale: 1;

  /* ---------- Tanım dosyasındaki 12 jeton ---------- */
  --primary: #16191d;
  --primary-strong: #0d0f12;
  --primary-soft: #eceef1;
  --primary-hover: #2b3138;
  --primary-focus: #3d444d;
  --primary-line: #2b3138;
  --on-primary: #ffffff;

  --accent: #c2410c;
  --accent-strong: #9a3412;
  --accent-light: #fb923c;
  --accent-soft: #ffedd5;
  --on-accent: #ffffff;      /* #c2410c üstünde 5,18:1 */

  --page-bg: #ffffff;
  --card-bg: #ffffff;
  --card-radius: 4px;
  --card-shadow: none;
  --card-hover-shadow: none;

  --btn-radius: 4px;
  --btn-tracking: .01em;
  --btn-transform: none;     /* Türkçe: bkz. dosya başı */
  --btn-height: 46px;

  --heading-tracking: -.015em;
  --heading-transform: none;
  --section-space: 88px;

  /* ---------- Temanın kendi ölçü sistemi ---------- */
  --rotor-kenar: clamp(16px, 3vw, 50px);
  --rotor-oluk: 20px;
  --rotor-cizgi: 1px solid var(--border);
  --rotor-dokunma: 44px;
  --rotor-kart-oran: 1 / 1;   /* parça fotoğrafı KARE ve `contain` */
  --rotor-ust-yukseklik: 84px;
  --rotor-menu-aralik: 28px;
  --rotor-bolum: clamp(52px, 6.5vw, 88px);
}

/* ==========================================================================
   TEMEL
   ========================================================================== */
.tema-rotor *,
.tema-rotor *::before,
.tema-rotor *::after { box-sizing: border-box; }

.tema-rotor {
  margin: 0;
  background: var(--page-bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: calc(16px * var(--font-scale));
  line-height: 1.625;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

/* Özgüllük gerekçesi dosya başında. */
.tema-rotor :where(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 .5em;
  color: var(--title);
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: var(--heading-tracking);
  text-transform: var(--heading-transform);
}

/* ÖLÇÜ: bölüm başlığı 30px / 38px */
.tema-rotor :where(h2) { font-size: calc(30px * var(--font-scale)); line-height: calc(38px * var(--font-scale)); }
.tema-rotor :where(h3) { font-size: calc(22px * var(--font-scale)); line-height: 1.3; }
.tema-rotor :where(h4) { font-size: calc(18px * var(--font-scale)); line-height: 1.35; }

.tema-rotor :where(p) { margin: 0 0 1em; }
.tema-rotor :where(a) { color: var(--accent); text-decoration: none; }
.tema-rotor :where(a:hover) { color: var(--accent-strong); text-decoration: underline; }
.tema-rotor :where(img, svg, video) { max-width: 100%; height: auto; display: block; }
.tema-rotor :where(ul, ol) { padding-left: 1.2em; }

.tema-rotor .container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--rotor-kenar);
}

.tema-rotor .visually-hidden,
.tema-rotor .ekran-okuyucu-metni {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

/* ODAK — WCAG 2.4.7. `outline: none` hiçbir yerde yazılmaz. */
.tema-rotor :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.tema-rotor .atlama {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 12px 20px;
  background: var(--primary);
  color: var(--on-primary);
  border-radius: var(--radius);
}

.tema-rotor .atlama:focus { left: 12px; top: 12px; }

/* PARÇA NUMARASI — temanın kendi tipografik ilkesi.
   Numara bir metin değil, KARŞILAŞTIRILAN bir dizedir: sütun hâlinde
   okunurken rakamlar hizalanmalı (`tabular-nums`) ve 0/O, 1/I ayırt
   edilebilmeli. Space Grotesk'in rakamları dar ve dik, bu yüzden başlık
   yüzü burada gövdede de kullanılıyor. */
.tema-rotor .rtr-numara {
  font-family: var(--font-heading);
  font-size: calc(13px * var(--font-scale));
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
}

.tema-rotor .rtr-numara b { color: var(--title); font-weight: 600; }

/* ==========================================================================
   ÇEKİRDEK SINIFLAR — shop.css YÜKLENMEDİĞİ İÇİN BURADA
   ========================================================================== */

/* --------------------------------- DÜĞME --------------------------------- */
/* ÖLÇÜ: yükseklik 46 · yarıçap 4 · 14/22 · 600 */
.tema-rotor .btn,
.tema-rotor :where(button, input[type="submit"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--btn-height);
  /* ÖLÇÜLDÜ: 12px dolgu + 22px satır yüksekliği + 2px çerçeve = 48px, yani
     `min-height: 46` bir ALT SINIR olduğu için düğme 46 değil 48 çıkıyordu.
     Dolgu 11'e indirildi: 11 + 22 + 11 + 2 = 46. */
  padding: 11px 22px;
  border: 1px solid var(--primary);
  border-radius: var(--btn-radius);
  background: var(--primary);
  color: var(--on-primary);
  font: inherit;
  font-family: var(--font-heading);
  font-size: calc(14px * var(--font-scale));
  line-height: calc(22px * var(--font-scale));
  font-weight: 600;
  letter-spacing: var(--btn-tracking);
  text-transform: var(--btn-transform);
  text-decoration: none;
  cursor: pointer;
  transition: background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);
}

.tema-rotor .btn:hover,
.tema-rotor :where(button:hover, input[type="submit"]:hover) {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
  text-decoration: none;
}

.tema-rotor .btn--primary { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }

.tema-rotor .btn--gold,
.tema-rotor .btn--accent {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

.tema-rotor .btn--gold:hover,
.tema-rotor .btn--accent:hover { background: var(--accent-strong); border-color: var(--accent-strong); }

.tema-rotor .btn--outline,
.tema-rotor .btn--ghost {
  background: transparent;
  color: var(--title);
  border-color: var(--control-border);
}

.tema-rotor .btn--outline:hover,
.tema-rotor .btn--ghost:hover { background: var(--surface); border-color: var(--primary); color: var(--title); }

.tema-rotor .btn--navy { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.tema-rotor .btn--sm { min-height: 36px; padding: 7px 14px; font-size: calc(13px * var(--font-scale)); }
.tema-rotor .btn--lg { min-height: 54px; padding: 15px 30px; font-size: calc(16px * var(--font-scale)); }
.tema-rotor .btn--block { display: flex; width: 100%; }
.tema-rotor .btn[disabled],
.tema-rotor :where(button[disabled]) { opacity: .5; cursor: not-allowed; }

/* --------------------------------- FORM ---------------------------------- */
.tema-rotor .field,
.tema-rotor :where(input[type="text"], input[type="search"], input[type="email"], input[type="url"],
                   input[type="tel"], input[type="number"], input[type="password"], input[type="date"],
                   select, textarea) {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid var(--control-border);
  border-radius: var(--radius-sm);
  background: var(--card-bg);
  color: var(--text);
  font: inherit;
  font-size: calc(15px * var(--font-scale));
  line-height: 1.5;
}

.tema-rotor textarea { min-height: 140px; resize: vertical; }

.tema-rotor .field:focus,
.tema-rotor :where(input:focus, select:focus, textarea:focus) { border-color: var(--accent); }

.tema-rotor ::placeholder { color: var(--muted); opacity: 1; }
.tema-rotor :where(label) { display: block; margin-bottom: 6px; font-size: calc(14px * var(--font-scale)); color: var(--title); font-weight: 500; }
.tema-rotor .field-row { display: grid; gap: 16px; }
@media (min-width: 720px) { .tema-rotor .field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tema-rotor .field-error { margin-top: 6px; font-size: calc(13px * var(--font-scale)); color: var(--danger); }
.tema-rotor .field[aria-invalid="true"],
.tema-rotor :where(input[aria-invalid="true"]) { border-color: var(--danger); }

/* -------------------------------- UYARI ---------------------------------- */
.tema-rotor .alert {
  padding: 14px 18px;
  margin-bottom: 20px;
  border: 1px solid var(--border-strong);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: calc(15px * var(--font-scale));
}

.tema-rotor .alert--success { border-left-color: var(--success); }
.tema-rotor .alert--error,
.tema-rotor .alert--danger { border-left-color: var(--danger); }
.tema-rotor .alert--info { border-left-color: var(--accent); }
.tema-rotor .alert--warning { border-left-color: var(--warning); }

/* ------------------------------ SEPET SATIRI ----------------------------- */
.tema-rotor .cartitem {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 0;
  border-bottom: var(--rotor-cizgi);
}

.tema-rotor .cartitem img {
  width: 88px; height: 88px;
  object-fit: contain;
  padding: 6px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius-sm);
  background: var(--card-bg);
}

.tema-rotor .cartitem__ad { font-family: var(--font-heading); font-size: calc(17px * var(--font-scale)); color: var(--title); font-weight: 600; }
.tema-rotor .cartitem__fiyat { font-weight: 600; color: var(--title); font-variant-numeric: tabular-nums; }

@media (max-width: 640px) {
  .tema-rotor .cartitem { grid-template-columns: 68px minmax(0, 1fr); }
  .tema-rotor .cartitem img { width: 68px; height: 68px; }
  .tema-rotor .cartitem__fiyat { grid-column: 2; }
}

/* -------------------------------- ÖDEME ---------------------------------- */
.tema-rotor .checkout { display: grid; gap: 36px; }
@media (min-width: 960px) { .tema-rotor .checkout { grid-template-columns: minmax(0, 1fr) 372px; } }

.tema-rotor .checkout__ozet {
  padding: 24px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--surface);
  align-self: start;
  position: sticky;
  top: 24px;
}

.tema-rotor .checkout__satir { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: calc(15px * var(--font-scale)); }

.tema-rotor .checkout__satir--toplam {
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--border-strong);
  font-family: var(--font-heading);
  font-size: calc(20px * var(--font-scale));
  font-weight: 600;
  color: var(--title);
}

/* ------------------------------ SAYFALAMA -------------------------------- */
.tema-rotor .pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 48px; }

.tema-rotor .pagination a,
.tema-rotor .pagination span {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  color: var(--title);
  font-size: calc(14px * var(--font-scale));
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}

.tema-rotor .pagination a:hover,
.tema-rotor .pagination .is-aktif,
.tema-rotor .pagination [aria-current] {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--on-primary);
  text-decoration: none;
}

/* -------------------------------- PROSE ---------------------------------- */
.tema-rotor .prose { font-size: calc(16px * var(--font-scale)); line-height: 1.75; }
.tema-rotor .prose > * + * { margin-top: 1em; }
.tema-rotor .prose h2 { margin-top: 1.6em; font-size: calc(24px * var(--font-scale)); line-height: 1.25; }
.tema-rotor .prose h3 { margin-top: 1.4em; font-size: calc(19px * var(--font-scale)); }
.tema-rotor .prose ul,
.tema-rotor .prose ol { padding-left: 1.4em; }
.tema-rotor .prose li + li { margin-top: .35em; }
.tema-rotor .prose figure { margin: 1.8em 0; }
.tema-rotor .prose figcaption { margin-top: .6em; font-size: calc(14px * var(--font-scale)); color: var(--muted); }

.tema-rotor .prose blockquote {
  margin: 1.6em 0;
  padding: 14px 18px;
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: calc(17px * var(--font-scale));
  color: var(--title);
}

.tema-rotor .prose pre {
  padding: 16px 18px;
  overflow-x: auto;
  background: var(--grafit-900);
  color: #e7eaee;
  border-radius: var(--radius-sm);
  font-size: calc(14px * var(--font-scale));
}

.tema-rotor .prose code { padding: 2px 6px; background: var(--surface); border-radius: 3px; font-size: .92em; }
.tema-rotor .prose pre code { padding: 0; background: none; color: inherit; }

/* ------------------------------ VERİ TABLOSU ----------------------------- */
.tema-rotor .datatable,
.tema-rotor .prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: calc(15px * var(--font-scale));
}

.tema-rotor .datatable th,
.tema-rotor .datatable td,
.tema-rotor .prose th,
.tema-rotor .prose td {
  padding: 11px 14px;
  text-align: left;
  vertical-align: top;
  border: var(--rotor-cizgi);
}

.tema-rotor .datatable th,
.tema-rotor .prose th {
  background: var(--surface);
  color: var(--title);
  font-family: var(--font-heading);
  font-weight: 600;
  white-space: nowrap;
}

/* Uyumluluk tablosu uzundur: satırlar dönüşümlü zeminle taranır. */
.tema-rotor .datatable tbody tr:nth-child(even) { background: color-mix(in srgb, var(--surface) 55%, transparent); }
.tema-rotor .datatable-kap { position: relative; overflow-x: auto; }

/* ==========================================================================
   ÜST BİLGİ
   --------------------------------------------------------------------------
   ÖLÇÜ: hizmet şeridi 38 · ana satır 84 (marka solda) · menü 15/600.
   Arama ana satırda GÖRÜNÜR ve GENİŞTİR: yedek parçada gezinme kategoriden
   değil NUMARADAN başlar; aramayı bir ikonun arkasına saklamak sektörün en
   çok kullanılan yolunu bir tık uzağa atardı.
   ========================================================================== */
.tema-rotor .rtr-ust { position: relative; z-index: 80; background: var(--page-bg); }

.tema-rotor .rtr-hizmet {
  background: var(--grafit-900);
  color: color-mix(in srgb, #fff 80%, transparent);
  font-size: calc(13px * var(--font-scale));
  line-height: 38px;
}

.tema-rotor .rtr-hizmet__ic { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 38px; flex-wrap: wrap; }
.tema-rotor .rtr-hizmet__baglar { display: flex; gap: 20px; flex-wrap: wrap; }
.tema-rotor .rtr-hizmet a { color: #fff; }
.tema-rotor .rtr-hizmet b { color: var(--kehribar-300); }

.tema-rotor .rtr-serit {
  position: sticky;
  top: 0;
  z-index: 81;
  background: var(--page-bg);
  border-bottom: var(--rotor-cizgi);
}

.tema-rotor .rtr-serit__ic {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: var(--rotor-ust-yukseklik);
}

.tema-rotor .rtr-marka {
  flex: none;
  font-family: var(--font-heading);
  font-size: calc(25px * var(--font-scale));
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--title);
  text-decoration: none;
}

.tema-rotor .rtr-marka img { max-height: 40px; width: auto; }
.tema-rotor .rtr-marka span { color: var(--accent); }

/* Ana satırdaki arama — sektörün en çok kullanılan yolu. */
.tema-rotor .rtr-arama { flex: 1 1 auto; max-width: 560px; display: flex; }
.tema-rotor .rtr-arama input { border-radius: var(--radius-sm) 0 0 var(--radius-sm); border-right: 0; }

.tema-rotor .rtr-arama button {
  flex: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding-inline: 20px;
}

.tema-rotor .rtr-araclar { flex: none; display: flex; align-items: center; gap: 6px; margin-left: auto; }

.tema-rotor .rtr-arac {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--title);
  font-family: var(--font-body);
  font-size: calc(14px * var(--font-scale));
  font-weight: 500;
  text-decoration: none;
}

.tema-rotor .rtr-arac:hover { background: var(--surface); color: var(--title); text-decoration: none; }
.tema-rotor .rtr-arac svg { width: 21px; height: 21px; flex: none; }
.tema-rotor .rtr-arac__yazi { display: none; }
@media (min-width: 1180px) { .tema-rotor .rtr-arac__yazi { display: inline; } }

.tema-rotor .rtr-sepet { position: relative; }

.tema-rotor .rtr-sepet__sayi {
  position: absolute;
  top: 4px; left: 22px;
  min-width: 18px; height: 18px;
  display: grid; place-items: center;
  padding: 0 5px;
  border-radius: var(--pill);
  background: var(--accent);
  color: var(--on-accent);
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* Menü satırı — ana satırın ALTINDA, ayrı bir şerit. */
.tema-rotor .rtr-menu-serit { border-bottom: var(--rotor-cizgi); background: var(--page-bg); }
.tema-rotor .rtr-menu { display: flex; align-items: center; gap: var(--rotor-menu-aralik); margin: 0; padding: 0; list-style: none; min-height: 50px; }
.tema-rotor .rtr-menu li { position: relative; }

.tema-rotor .rtr-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  color: var(--title);
  font-family: var(--font-heading);
  font-size: calc(15px * var(--font-scale));
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}

.tema-rotor .rtr-menu > li > a:hover,
.tema-rotor .rtr-menu > li > a.is-aktif { color: var(--accent); border-bottom-color: var(--accent); text-decoration: none; }

.tema-rotor .rtr-altmenu {
  position: absolute;
  top: 100%;
  left: -14px;
  z-index: 5;
  min-width: 224px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: var(--card-bg);
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  box-shadow: var(--katman-golge);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .16s var(--ease), transform .16s var(--ease), visibility .16s;
}

.tema-rotor .rtr-menu li:hover > .rtr-altmenu,
.tema-rotor .rtr-menu li:focus-within > .rtr-altmenu { opacity: 1; visibility: visible; transform: translateY(0); }
.tema-rotor .rtr-altmenu a { display: block; padding: 9px 18px; color: var(--text); font-size: calc(14px * var(--font-scale)); text-decoration: none; }
.tema-rotor .rtr-altmenu a:hover { background: var(--surface); color: var(--title); text-decoration: none; }
.tema-rotor .rtr-mobil-dugme { display: none; }

/* ==========================================================================
   KAHRAMAN — ARAÇ SEÇİCİ
   --------------------------------------------------------------------------
   TEMANIN İMZASI. Kardeş temaların ilk ekranı bir GÖRSEL VAATTİR; burada ilk
   ekran bir ARAÇTIR. Seçici koyu grafit bir panelde durur, arkasında atölye
   fotoğrafı karartılmış hâlde yatar.

   FOTOĞRAF ÜSTÜNE KARARTMA `opacity` İLE DEĞİL, AYRI BİR KATMANLA yapılır:
   `opacity` metni de soldururdu ve panel içindeki `<select>` etiketlerinin
   karşıtlığı ölçülemez hâle gelirdi.
   ========================================================================== */
.tema-rotor .rtr-kahraman { position: relative; background: var(--grafit-900); color: #fff; overflow: hidden; }

/* Fotoğraf YALNIZ masaüstünde indirilir: adres özel bir özellikle geliyor
   ve `url()` bu medya sorgusunun İÇİNDE kullanılıyor — eşleşmeyen sorgudaki
   zemin görselini tarayıcı İSTEMEZ. Gerekçe home.blade.php'de yazılı
   (mobilde karartma %93+, kare zaten görünmüyor ama LCP'yi o belirliyordu). */
.tema-rotor .rtr-kahraman__foto {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--grafit-800);
}

@media (min-width: 821px) {
  .tema-rotor .rtr-kahraman__foto {
    background-image: var(--rtr-kahraman-foto);
    background-size: cover;
    background-position: center;
  }
}

/* Karartma katmanı — metin karşıtlığı ölçülebilir olsun diye SABİT. */
.tema-rotor .rtr-kahraman__perde {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(22, 25, 29, .96) 0%, rgba(22, 25, 29, .92) 46%, rgba(22, 25, 29, .62) 100%);
}

.tema-rotor .rtr-kahraman__ic { position: relative; z-index: 2; padding-block: clamp(40px, 5vw, 64px); }
.tema-rotor .rtr-kahraman__yazi { max-width: 640px; }

.tema-rotor .rtr-kahraman h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: calc(44px * var(--font-scale));
  line-height: calc(52px * var(--font-scale));
}

.tema-rotor .rtr-kahraman__ozet {
  margin: 0 0 28px;
  max-width: 52ch;
  color: color-mix(in srgb, #fff 84%, transparent);
  font-size: calc(17px * var(--font-scale));
  line-height: 1.65;
}

.tema-rotor .rtr-kahraman__ozet b { color: var(--kehribar-300); font-weight: 600; }

/* Seçici kutusu — çekirdek `shop.oto.partials.secici-form` parçası burada
   yaşar. Parça kendi yaprak CSS'ini (shop-oto.css) getiriyor ve jetonları
   okuyor; tema yalnız KABI çizer. */
/*
 * SEÇİCİ KABI SAYDAM — ÖLÇÜLMÜŞ DÜZELTME.
 *
 * Önce kap yarı saydam koyu bir panel olarak çizilmiş ve içindeki bütün
 * metinler BEYAZA zorlanmıştı. O sırada `shop-oto.css` ana sayfada HİÇ
 * yüklenmiyordu (modülün varlıkları yalnız kendi sayfalarına bağlıydı), yani
 * modülün kartı zeminsizdi ve beyaz metin koyu kahramanın üstünde okunuyordu.
 * CSS parçayla birlikte gelmeye başlayınca modül KENDİ BEYAZ KARTINI getirdi
 * ve beyaz metin beyaz kartın üstüne düştü: karşıtlık 1,00 — sekiz düğümde
 * ölçüldü.
 *
 * Doğru çözüm metni geri boyamak değil, KABI ÇEKMEK: modülün açık kartı koyu
 * kahramanın üstünde yüzen bir panel olarak zaten doğru okunuyor ve renkleri
 * jetonlardan geliyor. Tema yalnız genişliği sınırlıyor.
 *
 * TEK EZME `--navy` DÜĞMESİ: modülün birincil düğmesi lacivert bir çekirdek
 * varyantıdır; bu temanın vurgu rengi turuncudur ve kahramandaki tek eylem
 * düğmesinin marka rengiyle çizilmesi gerekir.
 */
.tema-rotor .rtr-secici-kap { max-width: 900px; }
.tema-rotor .rtr-secici-kap .btn--navy { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.tema-rotor .rtr-secici-kap .btn--navy:hover { background: var(--accent-strong); border-color: var(--accent-strong); }

/* Seçici modül kapalıysa kutu boş kalmasın: temanın kendi yedek metni. */
.tema-rotor .rtr-secici-yedek { color: color-mix(in srgb, #fff 84%, transparent); font-size: calc(15px * var(--font-scale)); }

/* ==========================================================================
   ANA SAYFA BÖLÜMLERİ
   ========================================================================== */
.tema-rotor .rtr-bolum { padding-block: var(--rotor-bolum); }
.tema-rotor .rtr-bolum--tint { background: var(--surface); }
.tema-rotor .rtr-bolum--dar { padding-block: calc(var(--rotor-bolum) * .6); }

.tema-rotor .rtr-baslik {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px 24px;
  margin-bottom: 28px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--primary);
}

.tema-rotor .rtr-baslik h2 { margin: 0; }
.tema-rotor .rtr-baslik p { margin: 6px 0 0; color: var(--muted); font-size: calc(15px * var(--font-scale)); }
.tema-rotor .rtr-baslik__bag { font-family: var(--font-heading); font-size: calc(14px * var(--font-scale)); font-weight: 600; }

/* ------------------------------ GÜVEN ŞERİDİ ----------------------------- */
.tema-rotor .rtr-guven { display: grid; gap: 1px; background: var(--border); border-block: var(--rotor-cizgi); }
@media (min-width: 700px)  { .tema-rotor .rtr-guven { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .tema-rotor .rtr-guven { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.tema-rotor .rtr-guven__oge { display: flex; align-items: center; gap: 14px; padding: 22px var(--rotor-kenar); background: var(--page-bg); }
.tema-rotor .rtr-guven__oge svg { width: 24px; height: 24px; flex: none; color: var(--accent); }
.tema-rotor .rtr-guven__ad { display: block; color: var(--title); font-family: var(--font-heading); font-weight: 600; font-size: calc(15px * var(--font-scale)); }
.tema-rotor .rtr-guven__not { display: block; color: var(--muted); font-size: calc(13px * var(--font-scale)); }

/* ------------------------------- SİSTEM RAFI ----------------------------- */
/* Yedek parçada gezinme ürün adından değil SİSTEM adından başlar
   (fren / motor / elektrik). Döşemeler bu yüzden kategori değil SİSTEM
   kapısıdır ve ürün fotoğrafı değil kategori fotoğrafı taşır. */
.tema-rotor .rtr-sistemler { display: grid; gap: var(--rotor-oluk); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 860px) { .tema-rotor .rtr-sistemler { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.tema-rotor .rtr-sistem {
  display: grid;
  grid-template-rows: auto 1fr;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--card-bg);
  color: var(--title);
  text-decoration: none;
  transition: border-color .18s var(--ease);
}

.tema-rotor .rtr-sistem:hover { border-color: var(--primary); text-decoration: none; }
.tema-rotor .rtr-sistem__foto { aspect-ratio: 16 / 10; background: var(--surface); overflow: hidden; }
.tema-rotor .rtr-sistem__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.tema-rotor .rtr-sistem:hover .rtr-sistem__foto img { transform: scale(1.04); }
.tema-rotor .rtr-sistem__govde { padding: 14px 16px 16px; }
.tema-rotor .rtr-sistem__ad { display: block; font-family: var(--font-heading); font-size: calc(17px * var(--font-scale)); font-weight: 600; }
.tema-rotor .rtr-sistem__sayi { display: block; margin-top: 4px; color: var(--muted); font-size: calc(13px * var(--font-scale)); }
.tema-rotor .rtr-sistem__harf { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--font-heading); font-size: 44px; color: var(--grafit-400); }

/* --------------------------- MONTAJ / BİLGİ BLOĞU ------------------------ */
.tema-rotor .rtr-bilgi { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .tema-rotor .rtr-bilgi { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 48px; } }
.tema-rotor .rtr-bilgi__gorsel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.tema-rotor .rtr-bilgi ol { margin: 0; padding: 0; list-style: none; counter-reset: adim; display: grid; gap: 18px; }
.tema-rotor .rtr-bilgi li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; counter-increment: adim; }

.tema-rotor .rtr-bilgi li::before {
  content: counter(adim);
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border-radius: var(--radius-sm);
  background: var(--primary);
  color: var(--on-primary);
  font-family: var(--font-heading);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.tema-rotor .rtr-bilgi li b { display: block; color: var(--title); font-family: var(--font-heading); font-size: calc(17px * var(--font-scale)); }
.tema-rotor .rtr-bilgi li span { color: var(--muted); font-size: calc(15px * var(--font-scale)); }

/* ==========================================================================
   ÜRÜN IZGARASI VE KARTI
   --------------------------------------------------------------------------
   İKİ ÖLÇÜLMÜŞ KARAR:

   1) FOTOĞRAF `contain`, `cover` DEĞİL. Kardeş temaların hepsinde kart
      fotoğrafı kırpılır ve bu moda/gıda için doğrudur (kadraj konuyu
      taşır). Bir fren diskinin ya da filtrenin kenarı kırpıldığında ürün
      TANINMAZ hâle gelir; parça fotoğrafı BÜTÜN görünmek zorundadır.
      `contain` boşluk bırakır, o yüzden fotoğrafın kendi kutusu var ve
      zemini `--surface`.

   2) PARÇA NUMARASI KARTTA KALICI. Ürün sayfasına girmeyi beklemez: yedek
      parça alıcısının aradığı ilk şey OEM/muadil numarasıdır ve kartlar
      arasında GÖZLE karşılaştırılır (bu yüzden `tabular-nums`).
   ========================================================================== */
.tema-rotor .rtr-izgara { display: grid; gap: var(--rotor-oluk); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px)  { .tema-rotor .rtr-izgara { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .tema-rotor .rtr-izgara { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .tema-rotor .rtr-izgara--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.tema-rotor .rtr-urun {
  position: relative;
  min-width: 0;           /* ızgara çocuğu içeriğinin altına inebilsin */
  display: flex;
  flex-direction: column;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--card-bg);
  box-shadow: none;
  transition: border-color .18s var(--ease);
}

.tema-rotor .rtr-urun:hover,
.tema-rotor .rtr-urun:focus-within { border-color: var(--primary); }

.tema-rotor .rtr-urun__medya { position: relative; padding: 14px; background: var(--surface); border-bottom: var(--rotor-cizgi); border-radius: var(--radius) var(--radius) 0 0; }
.tema-rotor .rtr-urun__gorsel { display: block; aspect-ratio: var(--rotor-kart-oran); }
/* `mix-blend-mode: multiply` DENENDİ VE GERİ ALINDI: beyaz zeminli, kesilmiş
   ürün fotoğrafında beyaz kutuyu eritir ama bizim kataloğumuzdaki kareler
   SAHNE FOTOĞRAFI (atölyede çekilmiş, koyu zeminli). Multiply onları çelik
   zeminin üstünde bir ton daha karartıyor ve parça seçilmez oluyordu. */
.tema-rotor .rtr-urun__gorsel img { width: 100%; height: 100%; object-fit: contain; }
.tema-rotor .rtr-urun__bos { display: grid; place-items: center; width: 100%; height: 100%; font-family: var(--font-heading); font-size: 40px; color: var(--grafit-400); }

.tema-rotor .rtr-urun__isaret { position: absolute; top: 10px; left: 10px; display: grid; gap: 5px; justify-items: start; }

.tema-rotor .rtr-etiket {
  padding: 4px 8px;
  border-radius: 3px;
  background: var(--primary);
  color: var(--on-primary);
  font-family: var(--font-heading);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 600;
}

.tema-rotor .rtr-etiket--indirim { background: var(--accent); color: var(--on-accent); }
.tema-rotor .rtr-etiket--yeni { background: var(--card-bg); color: var(--title); border: 1px solid var(--border-strong); }
.tema-rotor .rtr-etiket--bitti { background: var(--grafit-500); color: #fff; }

/* Favori — sağ üstte, HEP GÖRÜNÜR (gizlenmiş bir eylem dokunmatikte yoktur). */
.tema-rotor .rtr-urun__fav { position: absolute; top: 8px; right: 8px; }

.tema-rotor .rtr-urun__fav button {
  display: grid; place-items: center;
  width: 36px; height: 36px;
  min-height: 0; padding: 0;
  border: var(--rotor-cizgi);
  border-radius: var(--radius-sm);
  background: var(--card-bg);
  color: var(--muted);
}

.tema-rotor .rtr-urun__fav button:hover { border-color: var(--accent); color: var(--accent); background: var(--card-bg); }
.tema-rotor .rtr-fav-btn.is-secili { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.tema-rotor .rtr-urun__fav svg { width: 16px; height: 16px; }

.tema-rotor .rtr-urun__govde { display: flex; flex-direction: column; flex: 1 1 auto; padding: 14px 16px 16px; gap: 8px; }
.tema-rotor .rtr-urun__marka { color: var(--muted); font-family: var(--font-heading); font-size: 12px; font-weight: 600; letter-spacing: .06em; }

.tema-rotor .rtr-urun__ad {
  margin: 0;
  font-family: var(--font-body);
  font-size: calc(15px * var(--font-scale));
  line-height: calc(23px * var(--font-scale));
  font-weight: 500;
  letter-spacing: 0;
}

.tema-rotor .rtr-urun__ad a { color: var(--title); text-decoration: none; }
.tema-rotor .rtr-urun__ad a:hover { color: var(--accent); text-decoration: underline; }
.tema-rotor .rtr-urun__puan { margin: 0; font-size: calc(13px * var(--font-scale)); color: var(--muted); }
.tema-rotor .rtr-yildiz { color: var(--accent); letter-spacing: .06em; }

.tema-rotor .rtr-urun__fiyat {
  margin: 0;
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  font-family: var(--font-heading);
  font-size: calc(19px * var(--font-scale));
  font-variant-numeric: tabular-nums;
}

.tema-rotor .rtr-urun__fiyat strong { color: var(--title); font-weight: 700; }
.tema-rotor .rtr-urun__fiyat del { color: var(--muted); font-family: var(--font-body); font-size: calc(14px * var(--font-scale)); font-weight: 400; }
.tema-rotor .rtr-urun__birim { margin: 0; font-size: calc(12px * var(--font-scale)); color: var(--muted); }
.tema-rotor .rtr-urun__stok { margin: 0; font-size: calc(12px * var(--font-scale)); color: var(--muted); }
.tema-rotor .rtr-urun__stok.text-danger { color: var(--danger); }
.tema-rotor .rtr-urun__ekle { margin-top: 4px; }
.tema-rotor .rtr-urun__ekle .btn { width: 100%; }
.tema-rotor .rtr-urun__dip { display: flex; flex-wrap: wrap; gap: 10px 14px; padding-top: 4px; }

.tema-rotor .rtr-urun__dip button,
.tema-rotor .rtr-urun__dip .btn {
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--muted);
  font-family: var(--font-body);
  font-size: calc(12px * var(--font-scale));
  font-weight: 500;
}

.tema-rotor .rtr-urun__dip button:hover,
.tema-rotor .rtr-urun__dip .btn:hover { background: none; color: var(--accent); text-decoration: underline; }

/* Uyumluluk rozeti — kartın en üstünde, fiyattan ÖNCE.
   Sektörün tek sorusunun cevabı burada; renkle DEĞİL metinle de söylenir
   (WCAG 1.4.1: renk tek başına bilgi taşımaz). */
.tema-rotor .rtr-uyum {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 3px;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
}

.tema-rotor .rtr-uyum svg { width: 13px; height: 13px; }
/*
 * ALTI STİL, ÜÇ DEĞİL — ÖLÇÜLDÜ.
 * Önce `uyar / uymaz / bilinmiyor` varsayılmıştı; `UyumlulukServisi` gerçekte
 * KAYNAĞI da söylüyor: `onayli` (mağaza doğruladı), `uretici` (üretici
 * verisi), `tahmin` (çıkarım), `kosullu` (şartlı uyar), `uymaz`,
 * `bilinmiyor`. `uyar` diye bir stil HİÇ DÖNMÜYOR; o adı kullanan kural
 * hiçbir zaman eşleşmiyordu ve üç rozet ZEMİNSİZ/RENKSİZ çiziliyordu
 * (`rotor-uyum.mjs` dağılımı: uretici 3, tahmin 1, kosullu — hepsi stilsiz).
 *
 * KESİNLİK DERECESİ RENKLE AYRILIR ama METİN de ayırır (WCAG 1.4.1): rozet
 * yazısı servisten geliyor ve "onaylı" ile "tahmin" farklı cümleler.
 */
.tema-rotor .rtr-uyum--onayli,
.tema-rotor .rtr-uyum--uretici { background: color-mix(in srgb, var(--success) 12%, var(--page-bg)); color: color-mix(in srgb, var(--success) 78%, #04140a); }
.tema-rotor .rtr-uyum--tahmin,
.tema-rotor .rtr-uyum--kosullu { background: color-mix(in srgb, var(--warning) 14%, var(--page-bg)); color: color-mix(in srgb, var(--warning) 80%, #1a1204); }
.tema-rotor .rtr-uyum--uymaz { background: color-mix(in srgb, var(--danger) 10%, var(--page-bg)); color: color-mix(in srgb, var(--danger) 86%, #1a0505); }
.tema-rotor .rtr-uyum--bilinmiyor { background: var(--surface); color: var(--muted); }

/* ==========================================================================
   KATALOG SAYFASI
   --------------------------------------------------------------------------
   Süzgeç kolonu SOLDA ve KALICI (ipek gibi) DEĞİL — ÜSTTE YATAY bir çubuk.
   Gerekçe: bu katalogda birincil süzme aracı süzgeç değil ARAÇ SEÇİMİdir;
   araç seçildiğinde liste zaten daralır. Kalıcı bir 260px kolon, asıl işi
   yapan şeridin altında ikinci bir dikey eksen açıp ekranı bölüyordu.
   ========================================================================== */
.tema-rotor .rtr-sayfa { padding-block: clamp(24px, 3vw, 40px) var(--rotor-bolum); }

.tema-rotor .rtr-yol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  font-size: calc(13px * var(--font-scale));
  color: var(--muted);
}

.tema-rotor .rtr-yol li + li::before { content: "›"; margin-right: 8px; color: var(--border-strong); }
.tema-rotor .rtr-yol a { color: var(--muted); text-decoration: none; }
.tema-rotor .rtr-yol a:hover { color: var(--accent); text-decoration: underline; }

.tema-rotor .rtr-sayfa__basi { margin-bottom: 26px; }
.tema-rotor .rtr-sayfa__basi h1 { margin: 0; font-size: calc(34px * var(--font-scale)); line-height: 1.2; }
.tema-rotor .rtr-sayfa__basi p { margin: 10px 0 0; max-width: 68ch; color: var(--muted); }

/* Yatay süzgeç çubuğu — `<details>` ile, JavaScript yok. */
.tema-rotor .rtr-suzgec {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px;
  margin-bottom: 22px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--surface);
}

.tema-rotor .rtr-suzgec details { position: relative; }

.tema-rotor .rtr-suzgec summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--control-border);
  border-radius: var(--radius-sm);
  background: var(--card-bg);
  color: var(--title);
  font-family: var(--font-heading);
  font-size: calc(14px * var(--font-scale));
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.tema-rotor .rtr-suzgec summary::-webkit-details-marker { display: none; }

.tema-rotor .rtr-suzgec summary::after {
  content: "";
  flex: none;
  width: 8px; height: 8px;
  margin-right: 2px;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  transform: rotate(45deg) translate(-2px, -2px);
}

.tema-rotor .rtr-suzgec details[open] summary { border-color: var(--primary); }
.tema-rotor .rtr-suzgec details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }

.tema-rotor .rtr-suzgec__panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 6;
  min-width: 250px;
  max-height: 340px;
  overflow-y: auto;
  padding: 14px;
  display: grid;
  gap: 10px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--card-bg);
  box-shadow: var(--katman-golge);
}

.tema-rotor .rtr-suzgec__panel label { display: flex; align-items: center; gap: 10px; margin: 0; min-height: 26px; font-weight: 400; font-size: calc(14px * var(--font-scale)); color: var(--text); cursor: pointer; }
.tema-rotor .rtr-suzgec__panel input[type="checkbox"] { width: 16px; height: 16px; min-height: 0; flex: none; accent-color: var(--accent); }
.tema-rotor .rtr-suzgec__panel .field { min-height: 40px; }
.tema-rotor .rtr-suzgec__ara { flex: 1 1 200px; min-width: 160px; }
.tema-rotor .rtr-suzgec__ara .field { min-height: 40px; }
.tema-rotor .rtr-suzgec__eylem { display: flex; gap: 8px; margin-left: auto; }
.tema-rotor .rtr-suzgec__eylem .btn { min-height: 40px; }

.tema-rotor .rtr-katalog__basi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
}

.tema-rotor .rtr-katalog__sayi { margin: 0; color: var(--muted); font-size: calc(14px * var(--font-scale)); }
.tema-rotor .rtr-katalog__sayi strong { color: var(--title); font-variant-numeric: tabular-nums; }
/* `flex-wrap` ŞART: etiket + açılır liste + düğme 360px'te tek satıra
   sığmıyor ve satırı taşırıyordu (ölçüldü: +9px). */
.tema-rotor .rtr-katalog__sirala { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tema-rotor .rtr-katalog__sirala label { margin: 0; color: var(--muted); font-size: calc(14px * var(--font-scale)); font-weight: 400; }
.tema-rotor .rtr-katalog__sirala select { width: auto; min-width: 186px; min-height: 40px; padding-block: 7px; }

.tema-rotor .rtr-bos {
  padding: 64px 24px;
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  text-align: center;
  color: var(--muted);
}

.tema-rotor .rtr-bos h2 { font-size: calc(22px * var(--font-scale)); line-height: 1.3; }
.tema-rotor .rtr-reklam { margin-bottom: 22px; }
.tema-rotor .rtr-reklam:empty { display: none; }

/* ==========================================================================
   ÜRÜN SAYFASI
   ========================================================================== */
.tema-rotor .rtr-urunsayfa { display: grid; gap: 36px; align-items: start; }
@media (min-width: 940px) { .tema-rotor .rtr-urunsayfa { grid-template-columns: minmax(0, 1fr) 420px; gap: 52px; } }

.tema-rotor .rtr-galeri { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }

.tema-rotor .rtr-galeri__kare {
  margin: 0;
  padding: 14px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--surface);
}

.tema-rotor .rtr-galeri__kare img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
/* İlk kare üç sütunu kaplar — sayfanın görsel çapası. */
.tema-rotor .rtr-galeri__kare:first-child { grid-column: 1 / -1; }
.tema-rotor .rtr-galeri--tek { grid-template-columns: 1fr; }

.tema-rotor .rtr-urunbilgi__marka { display: inline-block; margin-bottom: 10px; color: var(--accent); font-family: var(--font-heading); font-size: calc(13px * var(--font-scale)); font-weight: 600; letter-spacing: .06em; text-decoration: none; }
.tema-rotor .rtr-urunbilgi h1 { margin: 0 0 12px; font-size: calc(30px * var(--font-scale)); line-height: 1.24; }
.tema-rotor .rtr-urunbilgi__kunye { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 18px; font-size: calc(13px * var(--font-scale)); color: var(--muted); }

.tema-rotor .rtr-urunbilgi__fiyat {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin: 0 0 6px;
  padding: 16px;
  border: var(--rotor-cizgi);
  border-radius: var(--radius);
  background: var(--surface);
  font-family: var(--font-heading);
  font-size: calc(30px * var(--font-scale));
  font-weight: 700;
  color: var(--title);
  font-variant-numeric: tabular-nums;
}

.tema-rotor .rtr-urunbilgi__fiyat del { font-family: var(--font-body); font-size: calc(16px * var(--font-scale)); font-weight: 400; color: var(--muted); }
.tema-rotor .rtr-urunbilgi__ozet { margin: 18px 0; color: var(--muted); line-height: 1.7; }

.tema-rotor .rtr-varyant { margin: 0 0 18px; padding: 0; border: 0; }
.tema-rotor .rtr-varyant__ad { display: block; margin-bottom: 8px; padding: 0; color: var(--title); font-family: var(--font-heading); font-size: calc(14px * var(--font-scale)); font-weight: 600; }
.tema-rotor .rtr-varyant__secim { display: flex; flex-wrap: wrap; gap: 8px; }

.tema-rotor .rtr-varyant__secim label {
  margin: 0;
  padding: 9px 15px;
  border: 1px solid var(--control-border);
  border-radius: var(--radius-sm);
  font-weight: 400;
  font-size: calc(14px * var(--font-scale));
  color: var(--text);
  cursor: pointer;
}

.tema-rotor .rtr-varyant__secim input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tema-rotor .rtr-varyant__secim label:has(input:checked) { border-color: var(--primary); background: var(--surface); color: var(--title); font-weight: 600; }
.tema-rotor .rtr-varyant__secim label:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.tema-rotor .rtr-varyant__secim label:has(input:disabled) { opacity: .45; cursor: not-allowed; text-decoration: line-through; }

.tema-rotor .rtr-alis { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 18px 0; }
.tema-rotor .rtr-adet { display: inline-flex; align-items: center; border: 1px solid var(--control-border); border-radius: var(--radius-sm); }
.tema-rotor .rtr-adet button { width: 44px; min-height: var(--btn-height); padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--title); font-size: 18px; }
.tema-rotor .rtr-adet button:hover { background: var(--surface); }
.tema-rotor .rtr-adet input { width: 50px; min-height: 0; padding: 0; border: 0; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.tema-rotor .rtr-adet input::-webkit-outer-spin-button,
.tema-rotor .rtr-adet input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tema-rotor .rtr-alis__ekle { flex: 1 1 200px; }

.tema-rotor .rtr-guvence { margin: 18px 0 0; padding: 16px; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--surface); }
.tema-rotor .rtr-guvence ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.tema-rotor .rtr-guvence li { display: flex; align-items: center; gap: 10px; font-size: calc(14px * var(--font-scale)); color: var(--text); }
.tema-rotor .rtr-guvence svg { width: 18px; height: 18px; flex: none; color: var(--accent); }

/* Alt bölümler — ARDIŞIK ŞERİTLER değil, KART YIĞINI.
   Her bölüm kendi çerçeveli kutusunda; kutu sınırı bilginin nerede bitip
   nerede başladığını gösteriyor (teknik veri, uyumluluk, montaj notu). */
/* `> * { min-width: 0 }` ŞART — ÖLÇÜLDÜ (360px ürün sayfası: +101px yatay
   kayma). Izgara çocuğunun varsayılan `min-width` değeri `auto`dur, yani
   kutu KENDİ İÇERİĞİNİN altına inemez. Uyumluluk modülünün tablosu ve parça
   numarası listesi kutuyu içeriden 445px'e şişirip sayfayı kaydırıyordu.
   (Aynı tuzağa ürün ızgarasında da düşüldü — bkz. `.rtr-urun`.) */
.tema-rotor .rtr-kutular { display: grid; gap: 18px; margin-top: 48px; }
.tema-rotor .rtr-kutular > * { min-width: 0; }
.tema-rotor .rtr-kutu { border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--card-bg); overflow: hidden; }

.tema-rotor .rtr-kutu__basi {
  margin: 0;
  padding: 14px 18px;
  border-bottom: var(--rotor-cizgi);
  background: var(--surface);
  font-family: var(--font-heading);
  font-size: calc(17px * var(--font-scale));
  font-weight: 600;
  color: var(--title);
}

.tema-rotor .rtr-kutu__ic { padding: 18px; }
.tema-rotor .rtr-kutu__ic > :last-child { margin-bottom: 0; }
.tema-rotor .rtr-madde { margin: 0; padding-left: 1.2em; display: grid; gap: 7px; }

.tema-rotor .rtr-yorum { padding: 16px 0; border-bottom: var(--rotor-cizgi); }
.tema-rotor .rtr-yorum:last-of-type { border-bottom: 0; }
.tema-rotor .rtr-yorum__basi { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0 0 6px; }
.tema-rotor .rtr-yorum__kisi { color: var(--title); font-family: var(--font-heading); font-weight: 600; font-size: calc(15px * var(--font-scale)); }
.tema-rotor .rtr-yorum__tarih { color: var(--muted); font-size: calc(13px * var(--font-scale)); }

/* ==========================================================================
   BLOG
   ========================================================================== */
.tema-rotor .rtr-yazilar { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.tema-rotor .rtr-yazi { border: var(--rotor-cizgi); border-radius: var(--radius); overflow: hidden; background: var(--card-bg); }
.tema-rotor .rtr-yazi__foto { aspect-ratio: 16 / 9; background: var(--surface); overflow: hidden; }
.tema-rotor .rtr-yazi__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.tema-rotor .rtr-yazi:hover .rtr-yazi__foto img { transform: scale(1.04); }
.tema-rotor .rtr-yazi__govde { padding: 16px 18px 20px; }
.tema-rotor .rtr-yazi__ust { display: flex; gap: 10px; margin-bottom: 8px; color: var(--accent); font-family: var(--font-heading); font-size: 12px; font-weight: 600; }
.tema-rotor .rtr-yazi__ad { margin: 0 0 8px; font-size: calc(19px * var(--font-scale)); line-height: 1.3; }
.tema-rotor .rtr-yazi__ad a { color: var(--title); text-decoration: none; }
.tema-rotor .rtr-yazi__ad a:hover { color: var(--accent); text-decoration: underline; }
.tema-rotor .rtr-yazi__ozet { margin: 0; color: var(--muted); font-size: calc(14px * var(--font-scale)); line-height: 1.65; }
.tema-rotor .rtr-yazisayfa { max-width: 760px; margin-inline: auto; }
.tema-rotor .rtr-yazisayfa h1 { font-size: calc(34px * var(--font-scale)); line-height: 1.2; }
.tema-rotor .rtr-yazisayfa__kunye { margin: 0 0 28px; color: var(--muted); font-size: calc(14px * var(--font-scale)); }
.tema-rotor .rtr-yazisayfa__kapak { margin-bottom: 34px; }
.tema-rotor .rtr-yazisayfa__kapak img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); }

/* ==========================================================================
   ÇEKİRDEK SINIFLARIN ROTOR DİLİNDE YENİDEN ÇİZİMİ
   --------------------------------------------------------------------------
   Sepet, ödeme, hesap, iletişim, kargo, SSS ve karşılaştırma sayfalarının
   Blade'i temaya ait DEĞİL — çekirdekten geliyor ve `shop.css` sınıflarını
   kullanıyor. `shop.css` bu temada YÜKLENMEDİĞİ için o sınıflar burada
   yeniden çizilmezse o sayfalar çıplak HTML olur.
   ========================================================================== */
.tema-rotor .section-head { margin-bottom: 26px; }
.tema-rotor .section-head h1,
.tema-rotor .section-head h2 { margin: 0; }
.tema-rotor .section-head p { margin: 8px 0 0; color: var(--muted); }
.tema-rotor .section--surface { background: var(--surface); }
.tema-rotor .stack { display: grid; gap: 16px; }
.tema-rotor .ikili { display: grid; gap: 20px; }
@media (min-width: 820px) { .tema-rotor .ikili { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tema-rotor .center { text-align: center; }
.tema-rotor .right { text-align: right; }
.tema-rotor .nowrap { white-space: nowrap; }
.tema-rotor .mono { font-family: var(--font-heading); font-variant-numeric: tabular-nums; letter-spacing: .03em; }
.tema-rotor .muted { color: var(--muted); }
.tema-rotor .hint { color: var(--muted); font-size: calc(13px * var(--font-scale)); }
.tema-rotor .text-danger { color: var(--danger); }
.tema-rotor .text-success { color: var(--success); }
.tema-rotor .eyebrow { display: block; margin-bottom: 10px; color: var(--accent); font-family: var(--font-heading); font-size: calc(13px * var(--font-scale)); font-weight: 600; letter-spacing: .06em; }

.tema-rotor .panel { padding: 20px; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--card-bg); }
.tema-rotor .panel__desc { margin: 0 0 16px; color: var(--muted); }
.tema-rotor .panel--sss { padding: 0; border: 0; border-bottom: var(--rotor-cizgi); border-radius: 0; }
.tema-rotor .panel--sss summary { padding: 16px 0; cursor: pointer; font-family: var(--font-heading); font-size: calc(16px * var(--font-scale)); font-weight: 600; color: var(--title); }
.tema-rotor .panel--sss .panel__desc { padding-bottom: 16px; }

.tema-rotor .empty { padding: 60px 24px; border: 1px dashed var(--border-strong); border-radius: var(--radius); text-align: center; color: var(--muted); }
.tema-rotor .empty h2 { font-size: calc(22px * var(--font-scale)); line-height: 1.3; }
.tema-rotor .success-box { padding: 28px; border: 1px solid var(--success); border-radius: var(--radius); background: color-mix(in srgb, var(--success) 7%, var(--page-bg)); text-align: center; }

/* ------------------------------- ROZETLER -------------------------------- */
.tema-rotor .badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  background: var(--surface);
  color: var(--title);
  font-family: var(--font-heading);
  font-size: 11px;
  line-height: 1.3;
  font-weight: 600;
}

.tema-rotor .badge--gold { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.tema-rotor .badge--success { background: color-mix(in srgb, var(--success) 12%, var(--page-bg)); border-color: var(--success); color: color-mix(in srgb, var(--success) 78%, #04140a); }
.tema-rotor .badge--danger { background: color-mix(in srgb, var(--danger) 10%, var(--page-bg)); border-color: var(--danger); color: color-mix(in srgb, var(--danger) 86%, #1a0505); }
.tema-rotor .badge--warning { background: color-mix(in srgb, var(--warning) 14%, var(--page-bg)); border-color: var(--warning); color: color-mix(in srgb, var(--warning) 80%, #1a1204); }
.tema-rotor .badge--info { background: var(--accent-soft); border-color: var(--turuncu-300); color: var(--turuncu-700); }
.tema-rotor .badge--muted { background: var(--surface); border-color: var(--border); color: var(--muted); }

/* ----------------------------- KIRINTI YOLU ------------------------------ */
.tema-rotor .breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; font-size: calc(13px * var(--font-scale)); color: var(--muted); }
.tema-rotor .breadcrumb li + li::before { content: "›"; margin-right: 8px; color: var(--border-strong); }
.tema-rotor .breadcrumb a { color: var(--muted); text-decoration: none; }
.tema-rotor .breadcrumb a:hover { color: var(--accent); text-decoration: underline; }

/* ------------------- ÇEKİRDEK ÜRÜN KARTI (pcard/pgrid) ------------------- */
/* Temanın `.rtr-urun` kartıyla AYNI görünmeli: aynı ürün favoriler,
   karşılaştırma ve arama sayfalarında bu sınıflarla basılıyor. */
.tema-rotor .pgrid { display: grid; gap: var(--rotor-oluk); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px)  { .tema-rotor .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .tema-rotor .pgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .tema-rotor .pgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.tema-rotor .pcard { display: flex; min-width: 0; flex-direction: column; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--card-bg); box-shadow: none; }
.tema-rotor .pcard:hover { border-color: var(--primary); }
.tema-rotor .pcard__media { position: relative; padding: 14px; background: var(--surface); border-bottom: var(--rotor-cizgi); }
.tema-rotor .pcard__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.tema-rotor .pcard__flags { position: absolute; top: 10px; left: 10px; display: grid; gap: 5px; justify-items: start; }
.tema-rotor .pcard__fav { position: absolute; top: 8px; right: 8px; }
.tema-rotor .pcard__fav button { display: grid; place-items: center; width: 36px; height: 36px; min-height: 0; padding: 0; border: var(--rotor-cizgi); border-radius: var(--radius-sm); background: var(--card-bg); color: var(--muted); }
.tema-rotor .pcard__fav button:hover { border-color: var(--accent); color: var(--accent); background: var(--card-bg); }
.tema-rotor .pcard__body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 8px; padding: 14px 16px 16px; }
.tema-rotor .pcard__brand { color: var(--muted); font-family: var(--font-heading); font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.tema-rotor .pcard__name { margin: 0; font-family: var(--font-body); font-size: calc(15px * var(--font-scale)); line-height: calc(23px * var(--font-scale)); font-weight: 500; }
.tema-rotor .pcard__name a { color: var(--title); text-decoration: none; }
.tema-rotor .pcard__name a:hover { color: var(--accent); text-decoration: underline; }
.tema-rotor .pcard__rating { margin: 0; font-size: calc(13px * var(--font-scale)); color: var(--muted); }
.tema-rotor .pcard__stars,
.tema-rotor .stars { color: var(--accent); letter-spacing: .06em; }
.tema-rotor .pcard__price { margin: 0; margin-top: auto; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-family: var(--font-heading); font-size: calc(19px * var(--font-scale)); font-variant-numeric: tabular-nums; }
.tema-rotor .pcard__price strong { color: var(--title); font-weight: 700; }
.tema-rotor .pcard__price del { color: var(--muted); font-family: var(--font-body); font-size: calc(14px * var(--font-scale)); font-weight: 400; }
.tema-rotor .pcard__stock { margin: 0; font-size: calc(12px * var(--font-scale)); color: var(--muted); }
.tema-rotor .pcard__foot { display: flex; flex-wrap: wrap; gap: 10px 14px; }

/* --------------------------- ADET VE SEÇENEK ----------------------------- */
.tema-rotor .qtyrow { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.tema-rotor .qty { display: inline-flex; align-items: center; border: 1px solid var(--control-border); border-radius: var(--radius-sm); }
.tema-rotor .qty button { width: 44px; min-height: var(--btn-height); padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--title); font-size: 18px; }
.tema-rotor .qty button:hover { background: var(--surface); }
.tema-rotor .qty input { width: 50px; min-height: 0; padding: 0; border: 0; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.tema-rotor .qty input::-webkit-outer-spin-button,
.tema-rotor .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.tema-rotor .optgroup { margin-bottom: 18px; }
.tema-rotor .optgroup__title { display: block; margin-bottom: 8px; color: var(--title); font-family: var(--font-heading); font-size: calc(14px * var(--font-scale)); font-weight: 600; }
.tema-rotor .optlist { display: flex; flex-wrap: wrap; gap: 8px; }
.tema-rotor .optlist label { margin: 0; padding: 9px 15px; border: 1px solid var(--control-border); border-radius: var(--radius-sm); font-weight: 400; font-size: calc(14px * var(--font-scale)); color: var(--text); cursor: pointer; }
.tema-rotor .optlist label:has(input:checked) { border-color: var(--primary); background: var(--surface); color: var(--title); font-weight: 600; }
.tema-rotor .optlist label:has(input:disabled) { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.tema-rotor .optlist input { position: absolute; opacity: 0; width: 1px; height: 1px; }

/* Renk lekesi SÜSTÜR: yanındaki metin rengin adını yazıyor (WCAG 1.4.1). */
.tema-rotor .swatch { display: inline-block; width: 14px; height: 14px; padding: 0; margin-right: 8px; border: 1px solid var(--border-strong); border-radius: 2px; vertical-align: -2px; }

.tema-rotor .radio-card { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--control-border); border-radius: var(--radius); cursor: pointer; }
.tema-rotor .radio-card:has(input:checked) { border-color: var(--primary); background: var(--surface); }
.tema-rotor .radio-card input { flex: none; margin-top: 3px; width: 16px; height: 16px; min-height: 0; accent-color: var(--accent); }
.tema-rotor .check { display: flex; align-items: center; gap: 10px; }
.tema-rotor .check input { width: 16px; height: 16px; min-height: 0; flex: none; accent-color: var(--accent); }

/* ------------------------------- SEKMELER -------------------------------- */
.tema-rotor .tabs__nav { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: var(--rotor-cizgi); }

.tema-rotor .tabs__btn {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  background: none;
  color: var(--muted);
  font-family: var(--font-heading);
  font-size: calc(14px * var(--font-scale));
  font-weight: 600;
}

.tema-rotor .tabs__btn:hover { background: var(--surface); color: var(--title); }
.tema-rotor .tabs__btn[aria-selected="true"],
.tema-rotor .tabs__btn.is-aktif { background: var(--card-bg); border-color: var(--border); color: var(--title); margin-bottom: -1px; }
.tema-rotor .tabs__panel { padding-top: 24px; }

/* ---------------------------- SEPET · ÖZET ------------------------------- */
.tema-rotor .cartlayout { display: grid; gap: 36px; align-items: start; }
@media (min-width: 960px) { .tema-rotor .cartlayout { grid-template-columns: minmax(0, 1fr) 356px; } }
.tema-rotor .cartlist { display: grid; }
.tema-rotor .cartitem__img { width: 88px; }
.tema-rotor .cartitem__meta { min-width: 0; }
.tema-rotor .cartitem__name { display: block; margin-bottom: 5px; font-family: var(--font-heading); font-size: calc(16px * var(--font-scale)); font-weight: 600; color: var(--title); }
.tema-rotor .cartitem__right { text-align: right; display: grid; gap: 10px; justify-items: end; }
.tema-rotor .cartitem__total { font-weight: 700; font-family: var(--font-heading); color: var(--title); font-variant-numeric: tabular-nums; }

.tema-rotor .summary { padding: 22px; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--surface); position: sticky; top: calc(var(--rotor-ust-yukseklik) + 14px); }
.tema-rotor .summary__row { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: calc(15px * var(--font-scale)); }
.tema-rotor .summary__row--total { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--border-strong); font-family: var(--font-heading); font-size: calc(20px * var(--font-scale)); font-weight: 700; color: var(--title); }
.tema-rotor .summary__note { margin: 12px 0 0; color: var(--muted); font-size: calc(13px * var(--font-scale)); }
.tema-rotor .coupon { display: flex; gap: 8px; margin: 16px 0; }
.tema-rotor .coupon .field { flex: 1 1 auto; min-height: 44px; }
.tema-rotor .coupon .btn { min-height: 44px; padding-inline: 16px; }

/* -------------------------------- ADIMLAR -------------------------------- */
.tema-rotor .steps { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 34px; padding: 0; list-style: none; }
.tema-rotor .steps__item { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: calc(14px * var(--font-scale)); }
.tema-rotor .steps__no { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); font-family: var(--font-heading); font-size: 13px; font-variant-numeric: tabular-nums; }
.tema-rotor .steps__item.is-aktif { color: var(--title); font-weight: 600; }
.tema-rotor .steps__item.is-aktif .steps__no { background: var(--primary); border-color: var(--primary); color: var(--on-primary); }
.tema-rotor .steps__item.is-tamam .steps__no { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

/* ------------------------------- LİSTELER -------------------------------- */
.tema-rotor .listlayout { display: grid; gap: 32px; align-items: start; }
@media (min-width: 980px) { .tema-rotor .listlayout { grid-template-columns: 250px minmax(0, 1fr); } }
.tema-rotor .listbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; padding: 12px; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--surface); }
.tema-rotor .listbar select { width: auto; min-width: 186px; min-height: 40px; padding-block: 7px; }
.tema-rotor .filters { border: var(--rotor-cizgi); border-radius: var(--radius); padding: 16px; }
.tema-rotor .filters__title { margin: 0 0 8px; color: var(--title); font-family: var(--font-heading); font-size: calc(14px * var(--font-scale)); font-weight: 600; }
.tema-rotor .filters__list { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 8px; }
.tema-rotor .filters__list a { color: var(--text); font-size: calc(14px * var(--font-scale)); text-decoration: none; }
.tema-rotor .filters__list a:hover { color: var(--accent); text-decoration: underline; }

/* --------------------------------- HESAP --------------------------------- */
.tema-rotor .acclayout { display: grid; gap: 32px; align-items: start; }
@media (min-width: 900px) { .tema-rotor .acclayout { grid-template-columns: 230px minmax(0, 1fr); } }
.tema-rotor .accnav { display: grid; gap: 2px; border: var(--rotor-cizgi); border-radius: var(--radius); padding: 8px; }
.tema-rotor .accnav a { display: block; padding: 10px 12px; border-radius: var(--radius-sm); color: var(--text); font-size: calc(14px * var(--font-scale)); text-decoration: none; }
.tema-rotor .accnav a:hover { background: var(--surface); color: var(--title); text-decoration: none; }
.tema-rotor .accnav a.is-aktif,
.tema-rotor .accnav a[aria-current] { background: var(--primary); color: var(--on-primary); font-weight: 600; }
.tema-rotor .addr-grid,
.tema-rotor .contact-grid { display: grid; gap: 20px; }
@media (min-width: 820px) { .tema-rotor .addr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .tema-rotor .contact-grid { grid-template-columns: minmax(0, 1fr) 330px; } }
.tema-rotor .statcards { display: grid; gap: var(--rotor-oluk); grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)); }
@media (min-width: 820px) { .tema-rotor .statcards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tema-rotor .statcard { padding: 20px; border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--card-bg); }
.tema-rotor .statcard strong { display: block; font-family: var(--font-heading); font-size: calc(28px * var(--font-scale)); font-weight: 700; color: var(--title); font-variant-numeric: tabular-nums; }
.tema-rotor .statcard span { color: var(--muted); font-size: calc(13px * var(--font-scale)); }

/* ------------------------- YANA KAYAN TABLOLAR --------------------------- */
.tema-rotor .table-scroll,
.tema-rotor .responsive,
.tema-rotor .kargo-tablo,
.tema-rotor .krs-tablo-kap { overflow-x: auto; }
.tema-rotor .kargo-tablo table { width: 100%; border-collapse: collapse; }
.tema-rotor .kargo-tablo th,
.tema-rotor .kargo-tablo td { padding: 11px 14px; text-align: left; border: var(--rotor-cizgi); }
.tema-rotor .kargo-tablo th { background: var(--surface); color: var(--title); font-family: var(--font-heading); font-weight: 600; }

/* --------------------------- KARŞILAŞTIRMA ------------------------------- */
.tema-rotor .krs-ekle__btn { min-height: 0; padding: 0; border: 0; background: none; color: var(--muted); font-family: var(--font-body); font-size: calc(12px * var(--font-scale)); font-weight: 500; }
.tema-rotor .krs-ekle__btn:hover { background: none; color: var(--accent); text-decoration: underline; }

/* ----------------------------- BAYİ PANELİ ------------------------------- */
/* Yedek parçada B2B ORANI YÜKSEK: servisler ve tamirciler bayi fiyatıyla
   alır. Panel bu yüzden vurgulu bir kenarlık taşıyor. */
.tema-rotor .bayi-panel { margin-block: 16px; padding: 16px; border: 1px solid var(--accent); border-left-width: 4px; border-radius: var(--radius); background: var(--accent-soft); }
.tema-rotor .bayi-panel__head { color: var(--turuncu-700); font-family: var(--font-heading); font-weight: 600; }

/* --------------------- TEMA ÖNİZLEME ÇUBUĞU (personel) ------------------- */
.tema-rotor .tema-onizleme {
  position: sticky;
  top: 0;
  z-index: 90;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 9px 16px;
  background: var(--grafit-900);
  color: #fff;
  font-size: calc(13px * var(--font-scale));
}

.tema-rotor .tema-onizleme__ayrinti { color: rgba(255, 255, 255, .74); }
.tema-rotor .tema-onizleme__eylemler { display: flex; gap: 8px; }
.tema-rotor .tema-onizleme__btn { min-height: 32px; padding: 6px 13px; border-color: rgba(255, 255, 255, .35); background: transparent; color: #fff; font-size: 12px; }
.tema-rotor .tema-onizleme__btn--birincil { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

/* ==========================================================================
   ALT BİLGİ
   --------------------------------------------------------------------------
   Zemin grafit; metin --on-primary'nin %78'i → ölçüldü 12,9:1.
   ÖLÇÜLMÜŞ TUZAK (bu depoda DÖRDÜNCÜ kez): `.govde a:not([class])` (0,2,1)
   `.rtr-alt__dip a` (0,1,1) kuralını yener ve telif bağlantısını soluk
   renge düşürür. Aşağıdaki kural bilerek `.tema-rotor` ile öneklidir.
   ========================================================================== */
.tema-rotor .rtr-alt { margin-top: auto; background: var(--grafit-900); color: color-mix(in srgb, #fff 78%, transparent); }

.tema-rotor .rtr-bulten { background: var(--grafit-800); border-bottom: 1px solid color-mix(in srgb, #fff 10%, transparent); }
.tema-rotor .rtr-bulten__ic { padding-block: 44px; }
.tema-rotor .rtr-bulten .bulten { margin: 0; padding: 0; background: none; border: 0; }
.tema-rotor .rtr-bulten .bulten__ic { display: grid; gap: 22px 44px; align-items: center; }
@media (min-width: 900px) { .tema-rotor .rtr-bulten .bulten__ic { grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); } }
.tema-rotor .rtr-bulten .bulten__baslik { margin: 0 0 8px; color: #fff; font-size: calc(24px * var(--font-scale)); line-height: 1.25; }
.tema-rotor .rtr-bulten .bulten__aciklama { margin: 0; max-width: 58ch; font-size: calc(14px * var(--font-scale)); line-height: 1.65; color: color-mix(in srgb, #fff 82%, transparent); }
.tema-rotor .rtr-bulten .bulten__aciklama strong { color: #fff; font-weight: 600; }
.tema-rotor .rtr-bulten .bulten__form { display: flex; gap: 8px; flex-wrap: wrap; margin: 0; }
.tema-rotor .rtr-bulten .bulten__form input { flex: 1 1 220px; background: color-mix(in srgb, #fff 8%, transparent); border-color: color-mix(in srgb, #fff 38%, transparent); color: #fff; }
.tema-rotor .rtr-bulten .bulten__form input::placeholder { color: color-mix(in srgb, #fff 66%, transparent); }
.tema-rotor .rtr-bulten .bulten__form .btn { flex: none; background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.tema-rotor .rtr-bulten .bulten__form .btn:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
.tema-rotor .rtr-bulten .bulten__hata { margin: 10px 0 0; color: var(--turuncu-300); font-size: calc(14px * var(--font-scale)); }

.tema-rotor .rtr-alt__ic { display: grid; gap: 32px var(--rotor-oluk); padding-block: 52px 40px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
@media (min-width: 1000px) { .tema-rotor .rtr-alt__ic { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }

.tema-rotor .rtr-alt__marka { font-family: var(--font-heading); font-size: calc(23px * var(--font-scale)); font-weight: 700; letter-spacing: -.02em; color: #fff; }
.tema-rotor .rtr-alt__marka span { color: var(--turuncu-300); }
.tema-rotor .rtr-alt__ozet { margin: 12px 0 0; max-width: 36ch; font-size: calc(14px * var(--font-scale)); line-height: 1.7; }

.tema-rotor .rtr-alt h3 { margin: 0 0 14px; color: #fff; font-family: var(--font-heading); font-size: calc(14px * var(--font-scale)); font-weight: 600; }
.tema-rotor .rtr-alt ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.tema-rotor .rtr-alt__ic a { color: inherit; font-size: calc(14px * var(--font-scale)); text-decoration: none; }
.tema-rotor .rtr-alt__ic a:hover { color: #fff; text-decoration: underline; }

.tema-rotor .rtr-alt__sosyal { display: flex; gap: 10px; margin-top: 18px; }
.tema-rotor .rtr-alt__sosyal a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid color-mix(in srgb, #fff 26%, transparent); border-radius: var(--radius-sm); }
.tema-rotor .rtr-alt__sosyal a:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.tema-rotor .rtr-alt__sosyal svg { width: 17px; height: 17px; }

.tema-rotor .rtr-alt__dip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-block: 20px; border-top: 1px solid color-mix(in srgb, #fff 14%, transparent); font-size: calc(13px * var(--font-scale)); }
.tema-rotor .rtr-alt__dip p { margin: 0; }
.tema-rotor .rtr-alt__dip a { color: color-mix(in srgb, #fff 84%, transparent); }
.tema-rotor .rtr-alt__dip a:hover { color: #fff; }
.tema-rotor .rtr-alt__odeme { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tema-rotor .rtr-alt form { color: color-mix(in srgb, #fff 82%, transparent); }

/* ==========================================================================
   MOBİL MENÜ VE DUYARLILIK
   --------------------------------------------------------------------------
   SÖZLEŞME (public/js/shop.js): düğme `[data-toggle-menu]`, panel
   `#mobile-menu`, açık durum `.is-open`. Bu üçü DEĞİŞTİRİLEMEZ.

   ÖLÇÜLMÜŞ TUZAK (lale'de yaşandı): `.rtr-ust` `position: relative` +
   `z-index` ile bir YIĞIN BAĞLAMI açıyor; içindeki şeridin z-index'i o
   bağlamın dışına çıkmaz. Kabın değeri (80) çekmeceden (60) ve perdeden
   (59) YÜKSEK olmak zorunda, yoksa hamburger düğmesi perdenin altında
   kalır ve `shop.js` menüyü yalnız o düğmeyle kapattığı için menü bir daha
   KAPANMAZ.
   ========================================================================== */
.tema-rotor .rtr-mobil-menu {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 60;
  width: min(360px, 88vw);
  padding: calc(var(--rotor-ust-yukseklik) + 20px) 22px 40px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--page-bg);
  border-right: var(--rotor-cizgi);
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform .28s var(--ease), visibility .28s;
}

.tema-rotor .rtr-mobil-menu.is-open { transform: translateX(0); visibility: visible; }
.tema-rotor .rtr-mobil-menu ul { margin: 0; padding: 0; list-style: none; display: grid; }

.tema-rotor .rtr-mobil-menu > ul > li > a,
.tema-rotor .rtr-mobil-menu summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--rotor-dokunma);
  padding: 11px 0;
  border-bottom: var(--rotor-cizgi);
  color: var(--title);
  font-family: var(--font-heading);
  font-size: calc(16px * var(--font-scale));
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
}

.tema-rotor .rtr-mobil-menu summary::-webkit-details-marker { display: none; }
.tema-rotor .rtr-mobil-menu summary::after { content: "+"; color: var(--muted); font-size: 20px; }
.tema-rotor .rtr-mobil-menu details[open] summary::after { content: "−"; }
.tema-rotor .rtr-mobil-menu details ul { padding: 4px 0 10px 14px; }
.tema-rotor .rtr-mobil-menu details a { display: block; min-height: 40px; padding: 9px 0; color: var(--text); font-family: var(--font-body); font-size: calc(15px * var(--font-scale)); font-weight: 400; text-decoration: none; }
.tema-rotor .rtr-mobil-menu .rtr-arama { max-width: none; margin-bottom: 18px; }

/* Perde çekmecenin KARDEŞİ, çocuğu değil: çocuk olsaydı `overflow-y: auto`
   kutusu onu kırpardı. */
.tema-rotor .rtr-perde {
  position: fixed;
  inset: 0;
  z-index: 59;
  background: rgba(22, 25, 29, .48);
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s var(--ease), visibility .28s;
}

.tema-rotor .rtr-mobil-menu.is-open ~ .rtr-perde { opacity: 1; visibility: visible; }

@media (max-width: 1060px) {
  .tema-rotor { --rotor-ust-yukseklik: 70px; }
  .tema-rotor .rtr-menu-serit { display: none; }
  .tema-rotor .rtr-mobil-dugme { display: inline-flex; }
  .tema-rotor .rtr-serit__ic { gap: 12px; }
  .tema-rotor .rtr-marka { font-size: calc(21px * var(--font-scale)); }
}

@media (max-width: 820px) {
  /* Ana satırdaki arama daralınca kullanışsızlaşıyor; tam genişlik ikinci
     satıra iniyor — İKONUN ARKASINA GİZLENMİYOR (sektörün en çok
     kullanılan yolu). */
  .tema-rotor .rtr-serit__ic { flex-wrap: wrap; padding-bottom: 12px; }
  .tema-rotor .rtr-arama { order: 3; flex-basis: 100%; max-width: none; }
  .tema-rotor .rtr-araclar { order: 2; }
  .tema-rotor .rtr-kahraman h1 { font-size: calc(31px * var(--font-scale)); line-height: calc(39px * var(--font-scale)); }
  .tema-rotor .rtr-kahraman__perde { background: linear-gradient(180deg, rgba(22, 25, 29, .93) 0%, rgba(22, 25, 29, .96) 100%); }
  .tema-rotor .summary,
  .tema-rotor .checkout__ozet,
  .tema-rotor .rtr-serit { position: static; }
}

@media (max-width: 700px) {
  .tema-rotor :where(h2) { font-size: calc(24px * var(--font-scale)); line-height: calc(32px * var(--font-scale)); }
  .tema-rotor .rtr-sayfa__basi h1,
  .tema-rotor .rtr-urunbilgi h1,
  .tema-rotor .rtr-yazisayfa h1 { font-size: calc(25px * var(--font-scale)); }
  .tema-rotor .rtr-galeri { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tema-rotor .rtr-alis__ekle { flex: 1 1 100%; }
  .tema-rotor .rtr-katalog__basi { flex-direction: column; align-items: flex-start; }
  .tema-rotor .rtr-suzgec__eylem { margin-left: 0; width: 100%; }
  .tema-rotor .rtr-suzgec__eylem .btn { flex: 1 1 auto; }
  /* Açılır süzgeç paneli dar ekranda sağa taşıyordu. */
  .tema-rotor .rtr-suzgec__panel { left: 0; right: 0; min-width: 0; }
}

/* Dokunmatik hedef en az 44×44 (WCAG 2.5.8). */
@media (pointer: coarse) {
  .tema-rotor .rtr-arac,
  .tema-rotor .rtr-menu > li > a,
  .tema-rotor .accnav a,
  .tema-rotor .pagination a,
  .tema-rotor .pagination span { min-height: var(--rotor-dokunma); }

  .tema-rotor .rtr-alt__ic a,
  .tema-rotor .rtr-alt__dip a { display: inline-flex; align-items: center; min-height: var(--rotor-dokunma); }
  .tema-rotor .rtr-alt ul { gap: 2px; }
}

/* ==========================================================================
   HAREKET AZALTMA VE BASKI
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .tema-rotor *,
  .tema-rotor *::before,
  .tema-rotor *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .tema-rotor .rtr-sistem:hover .rtr-sistem__foto img,
  .tema-rotor .rtr-yazi:hover .rtr-yazi__foto img { transform: none; }
}

@media print {
  .tema-rotor .rtr-hizmet,
  .tema-rotor .rtr-serit,
  .tema-rotor .rtr-menu-serit,
  .tema-rotor .rtr-alt,
  .tema-rotor .rtr-mobil-menu,
  .tema-rotor .rtr-perde,
  .tema-rotor .tema-onizleme,
  .tema-rotor .exit-offer,
  .tema-rotor .dij-cubuk { display: none !important; }

  .tema-rotor { background: #fff; color: #000; font-size: 12pt; }
  .tema-rotor .container { max-width: none; padding: 0; }
  /* Parça numarası ve uyumluluk tablosu KAĞITTA DA okunmalı: tamirci
     listeyi yazdırıp tezgâha götürüyor. */
  .tema-rotor .rtr-kutu,
  .tema-rotor .datatable th,
  .tema-rotor .datatable td { border-color: #999; }
  .tema-rotor a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: #555; }
}

/* SSS yığını — ana sayfanın son bölümü. */
.tema-rotor .rtr-sss { max-width: 860px; border-top: var(--rotor-cizgi); }

/* Kompakt uyumluluk rozeti — satın alma kolonunda tam satır. */
.tema-rotor .rtr-uyum--blok { display: flex; width: 100%; margin: 0 0 14px; padding: 10px 12px; border-radius: var(--radius-sm); font-size: calc(14px * var(--font-scale)); }
.tema-rotor .rtr-uyum--blok svg { width: 16px; height: 16px; }

/* Modülün kendi bölümü kutu yığınında kendi çerçevesini alsın. */
.tema-rotor .rtr-kutular .oto-urun { border: var(--rotor-cizgi); border-radius: var(--radius); background: var(--card-bg); padding: 18px; }
.tema-rotor .rtr-kutular .oto-urun__baslik { margin-top: 0; }
