/* ═══ ÇEKİRDEK STİL — tarafsız, markasız temel (2026-09-25) ═══
   _Cekirdek görünümlerinin okunur ve kullanılabilir basılmasını sağlar: tipografi, ızgara, kart, form,
   menü (masaüstü açılır + mobil çekmece), ürün detayı (galeri, teknik tablo, karşılaştırma), iletişim,
   fuarlar, çerez bildirimi, duyuru penceresi. Tasarım değildir — sektör temaları bunu kendi CSS'iyle ezer.
   Renkler değişkendir; tenant'ın "vurgu_rengi" ayarı yerleşimdeki <style> ile --vurgu'yu ezer.
   Yalnız mantıksal özellikler (inline/block) kullanılır → RTL (Arapça, Farsça) kendiliğinden doğru akar. */

:root {
    --vurgu: #2f5bd3;
    --vurgu-yumusak: color-mix(in srgb, var(--vurgu) 9%, #ffffff);
    --murekkep: #1d2329;
    --soluk: #5b6670;
    --zemin: #f5f6f7;
    --kart: #ffffff;
    --cizgi: #e1e4e8;
    --koyu: #1f262d;
    --koyu-metin: #c9d0d6;
    --basari: #1d6b3a;
    --basari-zemin: #e8f5ec;
    --hata: #9b2c2c;
    --hata-zemin: #fbeaea;
    --yaricap: 8px;
    --golge: 0 1px 3px rgba(0, 0, 0, .08);
    --bosluk: clamp(2rem, 5vw, 3.5rem);
}

/* ── Temel ── */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
html, body { overflow-x: clip; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
       color: var(--murekkep); background: #ffffff; line-height: 1.6; }
/* Çekmece açıkken sayfa kaydırması kilitlenir — kök (html) üzerinde: body taşması yapışkan başlığı bozar */
html.menu-acik { overflow: hidden; }
h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 .6em; }
h1 { font-size: clamp(1.7rem, 3.6vw, 2.4rem); }
h2 { font-size: clamp(1.3rem, 2.4vw, 1.75rem); }
h3 { font-size: 1.1rem; }
p { margin: 0 0 1em; }
a { color: var(--vurgu); }
img { max-inline-size: 100%; block-size: auto; }
address { font-style: normal; }
:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.kap { max-inline-size: 1180px; margin-inline: auto; padding-inline: 1rem; }
main { min-block-size: 50vh; }
.gizli { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden;
         clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.icerige-gec { position: absolute; inset-inline-start: 1rem; inset-block-start: -3rem; z-index: 1000; padding: .5rem 1rem;
               background: var(--murekkep); color: #fff; border-radius: var(--yaricap); }
.icerige-gec:focus { inset-block-start: 1rem; }

/* Zengin metin (panel editöründen) */
.metin { max-inline-size: 48rem; overflow-wrap: anywhere; }
.metin img { border-radius: var(--yaricap); }
.metin table { border-collapse: collapse; display: block; overflow-x: auto; }
.metin th, .metin td { border: 1px solid var(--cizgi); padding: .4rem .6rem; }
.metin blockquote { border-inline-start: 3px solid var(--vurgu); margin: 1.2em 0; padding: .4rem 1rem; background: var(--zemin); }
/* Panel editörünün görsel boyut / hiza sınıfları, video ve dosya bağlantısı (Services/IcerikIsleyici) —
   her tema bu sınıfları kendi diliyle karşılamalı. Dar ekranda yüzdürme kalkar, görsel tam genişlik olur. */
.metin::after { content: ""; display: table; clear: both; }
/* Dikey görsel ekrandan uzun basılmaz: yükseklik tavanı; genişliği sınıfla sabitlenmiş görsel (g-tam, g-orta…) tavana
   takılınca oranı bozulmasın diye kutusunun içinde ortalanır (contain) */
.metin img { max-inline-size: 100%; block-size: auto; max-block-size: min(80vh, 900px); object-fit: contain; }
.metin img.g-kucuk { inline-size: 33%; }
.metin img.g-orta { inline-size: 50%; }
.metin img.g-tam { inline-size: 100%; }
.metin img.g-sol { float: inline-start; margin: .3rem 1.2rem .8rem 0; }
.metin img.g-sag { float: inline-end; margin: .3rem 0 .8rem 1.2rem; }
.metin img.g-ortala { display: block; margin-inline: auto; }
.metin .g-video { position: relative; aspect-ratio: 16 / 9; margin-block: 1.2em; border-radius: var(--yaricap); overflow: hidden; background: #000; }
.metin .g-video iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.metin a.g-dosya { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .8rem; border: 1px solid var(--cizgi);
    border-radius: var(--yaricap); text-decoration: none; font-weight: 600; }
.metin a.g-dosya::before { content: "PDF"; font-size: .7rem; font-weight: 800; letter-spacing: .04em; padding: .1rem .35rem;
    border-radius: 4px; background: #c2362f; color: #fff; }
@media (max-width: 640px) {
    .metin img.g-sol, .metin img.g-sag { float: none; margin: .8rem 0; }
    .metin img.g-kucuk, .metin img.g-orta { inline-size: 100%; }
}

/* ── Düğme, bağlantı, çip ── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .65rem 1.25rem;
       border-radius: var(--yaricap); border: 1px solid var(--vurgu); background: var(--vurgu); color: #fff;
       font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.btn:hover { filter: brightness(.93); }
.btn-ikincil { background: #fff; color: var(--murekkep); border-color: var(--cizgi); }
.btn-ikincil:hover { border-color: var(--vurgu); color: var(--vurgu); filter: none; }
.metin-bag { font-weight: 600; text-decoration: none; }
.metin-bag:hover { text-decoration: underline; }
.eylemler { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-block: 1rem; }
.cip { display: inline-block; padding: .15rem .7rem; border: 1px solid var(--cizgi); border-radius: 999px;
       font-size: .82rem; color: var(--soluk); text-decoration: none; background: #fff; }
a.cip:hover { border-color: var(--vurgu); color: var(--vurgu); }
.cipler, .etiketler { list-style: none; margin: .4rem 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.etiketler li { font-size: .82rem; color: var(--soluk); }
.etiketler li::before { content: "#"; }
.bos-durum { padding: 2rem 1rem; text-align: center; color: var(--soluk); background: var(--zemin);
             border: 1px dashed var(--cizgi); border-radius: var(--yaricap); }

/* ── Üst şerit ve dil seçici ── */
.ust-serit { background: var(--zemin); border-block-end: 1px solid var(--cizgi); font-size: .85rem; }
.ust-serit .kap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding-block: .3rem; }
.ust-serit-iletisim { display: flex; gap: 1rem; flex-wrap: wrap; }
.ust-serit a { color: var(--soluk); text-decoration: none; }
.dil-secici ul, .cekmece-diller { list-style: none; margin: 0; padding: 0; display: flex; gap: .6rem; }
.dil-secici a[aria-current], .cekmece-diller a[aria-current] { color: var(--vurgu); font-weight: 700; }

/* ── Başlık ve ana menü ── */
.site-ust { position: sticky; inset-block-start: 0; z-index: 50; background: #fff; border-block-end: 1px solid var(--cizgi); }
.site-ust-ic { display: flex; align-items: center; gap: 1rem; min-block-size: 64px; }
.marka { display: inline-flex; align-items: center; font-weight: 700; font-size: 1.15rem; color: var(--murekkep); text-decoration: none; }
.marka img { block-size: 40px; inline-size: auto; }
.ana-menu { margin-inline-start: auto; }
.menu-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .15rem; }
.menu-oge { position: relative; display: flex; align-items: center; }
.menu-oge > a, .menu-grup-adi { display: block; padding: .45rem .7rem; border-radius: 6px; color: var(--murekkep); text-decoration: none; }
.menu-oge > a:hover, .menu-oge.aktif > a { color: var(--vurgu); }
.menu-oge.menu-iletisim > a { background: var(--vurgu); color: #fff; }
.alt-ac { display: inline-grid; place-items: center; inline-size: 28px; block-size: 28px; margin-inline-start: -.4rem;
          padding: 0; border: 0; background: none; color: inherit; cursor: pointer; border-radius: 6px; }
.alt-ac svg { inline-size: 14px; block-size: 14px; }
.alt-menu { position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 60; min-inline-size: 220px;
            list-style: none; margin: 0; padding: .4rem; background: #fff; border: 1px solid var(--cizgi);
            border-radius: var(--yaricap); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); visibility: hidden; opacity: 0; }
.menu-oge.acilir:hover > .alt-menu, .menu-oge.acilir:focus-within > .alt-menu, .menu-oge.acilir.acik > .alt-menu { visibility: visible; opacity: 1; }
.alt-menu a { display: block; padding: .45rem .7rem; border-radius: 6px; color: var(--murekkep); text-decoration: none; }
.alt-menu a:hover, .alt-menu .aktif a { background: var(--zemin); color: var(--vurgu); }
.menu-dugme { display: none; margin-inline-start: auto; inline-size: 44px; block-size: 44px; padding: 0; border: 1px solid var(--cizgi);
              border-radius: var(--yaricap); background: #fff; cursor: pointer; }
.menu-dugme-cizgi, .menu-dugme-cizgi::before, .menu-dugme-cizgi::after { display: block; inline-size: 20px; block-size: 2px;
    margin-inline: auto; background: var(--murekkep); position: relative; content: ""; }
.menu-dugme-cizgi::before { position: absolute; inset-block-start: -6px; }
.menu-dugme-cizgi::after { position: absolute; inset-block-start: 6px; }
.cekmece-bas, .cekmece-alt { display: none; }
.cekmece-kapat { inline-size: 40px; block-size: 40px; border: 1px solid var(--cizgi); border-radius: var(--yaricap);
                 background: #fff; cursor: pointer; font-size: 1rem; }
.menu-ortu { position: fixed; inset: 0; z-index: 90; background: rgba(0, 0, 0, .4); }

/* ── Sayfa başlığı, kırıntı, yan yerleşim ── */
.sayfa-basi { background: var(--zemin); border-block-end: 1px solid var(--cizgi); padding-block: 1.6rem 1.8rem; }
.sayfa-basi h1 { margin: 0; }
.sayfa-basi-alt { margin: .6rem 0 0; color: var(--soluk); max-inline-size: 46rem; font-size: 1.05rem; }
.kirinti { font-size: .85rem; color: var(--soluk); margin-block: .6rem; }
.kirinti ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.kirinti li + li::before { content: "/"; margin-inline-end: .3rem; color: var(--cizgi); }
.kirinti a { color: var(--soluk); text-decoration: none; }
.kirinti a:hover { color: var(--vurgu); }
.sayfa-govde { padding-block: var(--bosluk); }
.yan-yerlesim { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 2rem; align-items: start; padding-block: var(--bosluk); }
.yan-yerlesim.yan-solda { grid-template-columns: 260px minmax(0, 1fr); }
.yan-panel { display: grid; gap: 1rem; }
.yan-kutu { background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--yaricap); padding: 1rem; }
.yan-kutu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.yan-kutu li a { display: flex; justify-content: space-between; gap: .6rem; padding: .35rem .55rem; border-radius: 6px;
                 color: var(--murekkep); text-decoration: none; }
.yan-kutu li a:hover, .yan-kutu li a[aria-current] { background: #fff; color: var(--vurgu); }
.yan-kutu li .kart-ust { display: block; padding-inline: .55rem; }
.yan-baslik { font-size: .95rem; margin-block-end: .6rem; }
.kategori-agaci ul ul { padding-inline-start: .8rem; margin-block: 2px; }
.adet { font-size: .8rem; color: var(--soluk); font-variant-numeric: tabular-nums; }
.cta-kutu p { color: var(--soluk); font-size: .92rem; }
.cta-kutu .btn { inline-size: 100%; margin-block-end: .5rem; }
.sayfa-icerik { min-inline-size: 0; }
.kapak-gorsel { display: block; inline-size: 100%; max-block-size: 440px; object-fit: cover; border-radius: var(--yaricap); margin-block-end: 1.4rem; }
.alt-bolum { margin-block: 2rem; }
.alt-bolum:first-child { margin-block-start: 0; }

/* ── Izgara ve kart ── */
.izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 1rem;
          list-style: none; margin: 0; padding: 0; }
.kart { display: flex; flex-direction: column; overflow: hidden; background: var(--kart); border: 1px solid var(--cizgi);
        border-radius: var(--yaricap); box-shadow: var(--golge); }
.kart-bag { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.kart:has(.kart-bag):hover { border-color: var(--vurgu); }
.kart-gorsel { display: block; background: var(--zemin); overflow: hidden; }
.kart-gorsel img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* Dikey görsel (yerleşim betiği yüklenince "dikey" sınıfını ekler): kırpılmaz, kutuya sığdırılır — panelle aynı
   görünüm; boş şeritleri görselin bulanık kopyası doldurur (--g: görsel adresi). Kart yüksekliği değişmez. */
.kart-gorsel.dikey { position: relative; isolation: isolate; }
.kart-gorsel.dikey::before { content: ""; position: absolute; inset: -24px; z-index: -1; background: var(--g) center / cover;
                             filter: blur(18px); opacity: .45; }
.kart-gorsel.dikey img { object-fit: contain; }
.bas-harf { display: grid; place-items: center; aspect-ratio: 4 / 3; font-size: 2rem; font-weight: 700; color: var(--soluk); }
.kart-govde { display: flex; flex-direction: column; gap: .25rem; padding: .9rem 1rem 1rem; flex: 1; }
.kart-ust { font-size: .8rem; color: var(--soluk); }
.kart-baslik { font-size: 1.02rem; font-weight: 700; margin: 0; }
.kart-kod { font-size: .82rem; color: var(--soluk); }
.kart-ozet { font-size: .9rem; color: var(--soluk); margin: 0; }
.fiyat { margin-block-start: auto; padding-block-start: .3rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fiyat-teklif { font-weight: 600; font-size: .88rem; color: var(--vurgu); }

/* Ürün vitrini dizilimleri (TemaManifest.UrunKart) */
.urun-izgara.v-serit { grid-template-columns: 1fr; }
.urun-izgara.v-serit .kart-bag { flex-direction: row; }
.urun-izgara.v-serit .kart-gorsel { flex: 0 0 min(40%, 240px); }
.urun-izgara.v-mozaik > :first-child { grid-column: span 2; grid-row: span 2; }

.ekip-kart .kart-gorsel img, .ekip-kart .bas-harf { aspect-ratio: 1; }
/* Boydan çekilmiş portrede baş kesilmesin: kırpma üstten */
.ekip-kart .kart-gorsel img { object-position: 50% 20%; }
.yorum-kart { margin: 0; padding: 1.1rem; gap: .6rem; }
.yorum-kart blockquote { margin: 0; flex: 1; }
.yorum-kart figcaption { display: flex; align-items: center; gap: .6rem; }
.yorum-kart figcaption img { inline-size: 40px; block-size: 40px; border-radius: 50%; object-fit: cover; }
.yorum-kart small { display: block; color: var(--soluk); }
.yildizlar { display: flex; gap: 2px; margin: 0; }
.yildizlar svg { inline-size: 16px; block-size: 16px; color: var(--cizgi); }
.yildizlar svg.dolu { color: #c98b0f; }
.belge-kart .kart-gorsel img { object-fit: contain; padding: .8rem; }
.belge-kart .btn { margin-block-start: auto; align-self: flex-start; }
.bayi-iletisim { display: grid; gap: .15rem; font-size: .9rem; }
.departman-kart { padding: 1rem; gap: .2rem; }

/* ── Ana sayfa ── */
.bolum { padding-block: var(--bosluk); }
.bolum + .bolum { border-block-start: 1px solid var(--cizgi); }
.bolum-bas { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-block-end: 1.4rem; }
.bolum-bas h2 { margin: 0; }
.hero { background: var(--zemin); border-block-end: 1px solid var(--cizgi); padding-block: clamp(2.5rem, 7vw, 5rem); }
.hero-merkez { text-align: center; }
.hero-merkez .eylemler { justify-content: center; }
.hero-alt { color: var(--soluk); font-size: 1.1rem; max-inline-size: 42rem; }
.hero-merkez .hero-alt { margin-inline: auto; }
.hero-sinema { position: relative; overflow: hidden; background: var(--koyu); color: #fff; border: 0; min-block-size: 420px; display: flex; align-items: center; }
.hero-sinema .hero-fon { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .45; }
.hero-sinema .kap { position: relative; }
.hero-sinema .hero-alt { color: #eef1f4; }
.hero-iki { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.hero-gorsel { inline-size: 100%; max-block-size: 420px; object-fit: cover; border-radius: var(--yaricap); }
.slider { position: relative; overflow: hidden; background: var(--koyu); block-size: clamp(360px, 62vh, 640px); }
.slayt { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.slayt.on { opacity: 1; visibility: visible; }
.slayt picture, .slayt img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.slayt-metin { position: relative; inline-size: 100%; color: #fff; background: linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0)); padding-block: 2rem; }
[dir="rtl"] .slayt-metin { background: linear-gradient(270deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0)); }
.slayt-metin h2 { color: #fff; max-inline-size: 38rem; font-size: clamp(1.6rem, 4vw, 2.6rem); }
.slayt-metin p { max-inline-size: 36rem; font-size: 1.08rem; }
.slider-noktalar { position: absolute; inset-inline: 0; inset-block-end: 1rem; z-index: 5; display: flex; gap: .5rem; justify-content: center; }
.slider-noktalar button { inline-size: 12px; block-size: 12px; padding: 0; border: 0; border-radius: 50%;
                          background: rgba(255, 255, 255, .5); cursor: pointer; }
.slider-noktalar button.on { background: #fff; }
/* Açılış videosu (_SlaytMedya + _ortak/video-slider.js): kapak görünür, video "oynuyor" olunca üstüne gelir */
.slayt .medya { position: absolute; inset: 0; }
.slayt-video { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: 0; transition: opacity .8s; pointer-events: none; }
.slayt-video.oynuyor { opacity: 1; }
@media (max-width: 720px) { .slayt .medya img, .slayt-video { object-position: var(--odak-x-tel, 50%) 50%; } }
.slider-duraklat { position: absolute; inset-inline-end: 1rem; inset-block-end: .7rem; z-index: 6; inline-size: 40px; block-size: 40px;
                   display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%;
                   background: rgba(0, 0, 0, .45); color: #fff; cursor: pointer; }
.slider-duraklat svg { inline-size: 18px; block-size: 18px; }
.slider-duraklat .oynat-i, .slider.durdu .slider-duraklat .duraklat-i { display: none; }
.slider.durdu .slider-duraklat .oynat-i { display: block; }
.slider-duraklat:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.sayaclar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 1rem; margin: 0; }
.sayac { display: flex; flex-direction: column-reverse; align-items: center; text-align: center; padding: 1rem; }
.sayac dt { color: var(--soluk); }
.sayac dd { margin: 0; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; color: var(--vurgu); font-variant-numeric: tabular-nums; }
.sayac-sonek { margin-inline-start: .1em; }
.cta-bant { display: flex; justify-content: space-between; align-items: center; gap: 1rem 2rem; flex-wrap: wrap;
            padding: 1.6rem; background: var(--vurgu-yumusak); border: 1px solid var(--cizgi); border-radius: var(--yaricap); }
.cta-bant h2 { margin-block-end: .3rem; }
.cta-bant p { margin: 0; color: var(--soluk); }
.randevu-kutu { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2rem; align-items: start; }
.referanslar { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; justify-content: center; align-items: center; }
.referanslar img { block-size: 52px; inline-size: auto; max-inline-size: 160px; object-fit: contain; }
.referanslar span { font-weight: 600; color: var(--soluk); }

/* ── Etkinlik / fuar ── */
.etkinlik-tarih { margin: 0; font-weight: 700; color: var(--vurgu); font-size: .92rem; }
.etkinlik-bilgi { margin: .2rem 0; display: grid; gap: .1rem; font-size: .9rem; }
.etkinlik-bilgi div { display: flex; gap: .4rem; }
.etkinlik-bilgi dt { color: var(--soluk); }
.etkinlik-bilgi dt::after { content: ":"; }
.etkinlik-bilgi dd { margin: 0; }
.gecmis-liste { list-style: none; margin: 0; padding: 0; display: grid; }
.gecmis-liste li { display: flex; flex-wrap: wrap; gap: .3rem 1rem; padding: .6rem 0; border-block-end: 1px solid var(--cizgi); }
.gecmis-liste time { color: var(--soluk); min-inline-size: 12rem; }
.gecmis-liste span { color: var(--soluk); }

/* ── Ürün detayı ── */
.urun-ust { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: start; padding-block: 1rem 2rem; }
.galeri-ana { margin: 0; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--yaricap); overflow: hidden; }
.galeri-ana img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.galeri-bos { display: grid; place-items: center; aspect-ratio: 4 / 3; }
.galeri-serit { list-style: none; margin: .6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.galeri-serit a { display: block; inline-size: 72px; block-size: 60px; padding: 3px; border: 1px solid var(--cizgi);
                  border-radius: 6px; background: #fff; }
.galeri-serit a[aria-current] { border-color: var(--vurgu); outline: 1px solid var(--vurgu); }
.galeri-serit img { inline-size: 100%; block-size: 100%; object-fit: contain; }
.urun-ozet h1 { margin: .5rem 0 .3rem; }
.urun-kod { color: var(--soluk); margin-block-end: .4rem; }
.urun-ozet-metin { font-size: 1.05rem; color: var(--soluk); }
.urun-fiyat { font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.urun-fiyat.fiyat-teklif { font-size: 1rem; }
.karar-serit { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .5rem; margin: 1rem 0; }
.karar-serit div { padding: .6rem .8rem; background: var(--zemin); border: 1px solid var(--cizgi); border-radius: var(--yaricap); }
.karar-serit dt { font-size: .78rem; color: var(--soluk); }
.karar-serit dd { margin: 0; font-weight: 700; }
.renkler { display: flex; align-items: center; gap: .6rem; margin-block: .6rem; }
.renkler ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .4rem; }
.renk-nokta { display: inline-block; inline-size: 22px; block-size: 22px; border-radius: 50%; border: 1px solid var(--cizgi); }
.urun-sektorler { margin-block-start: 1rem; }
.kucuk-baslik { font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: var(--soluk); margin-block-end: .3rem; }
.bolum-menu { position: sticky; inset-block-start: 64px; z-index: 40; background: #fff; border-block: 1px solid var(--cizgi); }
.bolum-menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .2rem; overflow-x: auto; }
.bolum-menu a { display: block; padding: .6rem .8rem; white-space: nowrap; color: var(--murekkep); text-decoration: none; }
.bolum-menu a:hover { color: var(--vurgu); }
.urun-bolumler { padding-block: 1rem var(--bosluk); }
.urun-bolum { padding-block: 1.8rem; border-block-end: 1px solid var(--cizgi); scroll-margin-block-start: 120px; }
.urun-bolum:last-child { border-block-end: 0; }
.tablo-kaydir { overflow-x: auto; margin-block-end: 1rem; }
.teknik-tablo, .karsilastirma { inline-size: 100%; border-collapse: collapse; font-size: .95rem; }
.teknik-tablo { max-inline-size: 48rem; }
.teknik-tablo caption { text-align: start; font-weight: 700; padding-block: .6rem .3rem; }
.teknik-tablo th, .teknik-tablo td, .karsilastirma th, .karsilastirma td { padding: .5rem .7rem; border-block-end: 1px solid var(--cizgi);
    text-align: start; vertical-align: top; }
.teknik-tablo th { font-weight: 500; color: var(--soluk); inline-size: 45%; }
.teknik-tablo th[colspan] { color: var(--murekkep); font-weight: 700; background: var(--zemin); }
.karsilastirma thead th { background: var(--zemin); font-weight: 700; white-space: nowrap; }
.karsilastirma tbody th { font-weight: 500; color: var(--soluk); }
.karsilastirma .karsilastirma-grup th { color: var(--murekkep); font-weight: 700; background: var(--zemin); }
.karsilastirma .secili { background: var(--vurgu-yumusak); }
.donanim-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 2rem; }
.madde-liste { margin: 0; padding-inline-start: 1.2rem; display: grid; gap: .3rem; }
.video-kap { position: relative; aspect-ratio: 16 / 9; max-inline-size: 820px; background: #000; border-radius: var(--yaricap); overflow: hidden; }
.video-kap iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.dokuman-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; max-inline-size: 48rem; }
.dokuman-liste a { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; padding: .7rem 1rem; border: 1px solid var(--cizgi);
                   border-radius: var(--yaricap); color: var(--murekkep); text-decoration: none; }
.dokuman-liste a:hover { border-color: var(--vurgu); }
.dokuman-tur { font-size: .8rem; color: var(--soluk); min-inline-size: 9rem; }
.dokuman-ad { font-weight: 600; flex: 1; }
.dokuman-dil { font-size: .75rem; font-weight: 700; padding: .05rem .4rem; border: 1px solid var(--cizgi); border-radius: 4px; }
.dokuman-indir { color: var(--vurgu); font-weight: 600; font-size: .9rem; }
.teklif-bolum .form { max-inline-size: 48rem; }

/* ── Form ── */
.form { display: grid; gap: 1rem; }
.form-izgara { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.alan { display: grid; gap: .3rem; }
.alan-genis { grid-column: 1 / -1; }
.alan label, .secenek-grubu legend { font-size: .9rem; font-weight: 600; }
.alan input, .alan select, .alan textarea { inline-size: 100%; padding: .6rem .75rem; font: inherit; color: inherit;
    background: #fff; border: 1px solid var(--cizgi); border-radius: var(--yaricap); }
.alan input:focus, .alan select:focus, .alan textarea:focus { outline: 2px solid color-mix(in srgb, var(--vurgu) 40%, transparent);
    border-color: var(--vurgu); }
.zorunlu { color: var(--hata); }
.form-not { margin: 0; font-size: .82rem; color: var(--soluk); }
.form .btn { justify-self: start; }
.form-sonuc { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: var(--yaricap); }
.form-sonuc-ok { background: var(--basari-zemin); color: var(--basari); }
.form-sonuc-hata { background: var(--hata-zemin); color: var(--hata); }
/* Hatayla dönen formda hatalı alan (FormAlanlari: aria-invalid + alan altı metni) */
.alan [aria-invalid="true"] { border-color: var(--hata); }
.alan-hata { margin: 0; font-size: .82rem; color: var(--hata); }
.tuzak { position: absolute; inset-inline-start: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.secenek-grubu { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; align-items: center; }
.secenek-grubu legend { inline-size: 100%; margin-block-end: .3rem; padding: 0; }
.secenek-grubu label { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; }
.form-kutu { max-inline-size: 48rem; }

/* ── İletişim sayfası ── */
.iletisim-izgara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 2rem; margin-block: 2rem; align-items: start; }
.bilgi-listesi { display: grid; gap: .8rem; margin: 0 0 1.2rem; }
.bilgi-listesi dt { font-size: .82rem; color: var(--soluk); }
.bilgi-listesi dd { margin: 0; }
.kunye { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); padding: 1rem; background: var(--zemin);
         border-radius: var(--yaricap); }
.saatler { display: grid; gap: .25rem; margin: 0; }
.saatler div { display: flex; justify-content: space-between; gap: 1rem; }
.saatler dd { margin: 0; font-variant-numeric: tabular-nums; }
.departmanlar { margin-block: 2rem; }
.harita { margin-block: 2rem; aspect-ratio: 16 / 7; min-block-size: 280px; border-radius: var(--yaricap); overflow: hidden;
          border: 1px solid var(--cizgi); }
.harita iframe { inline-size: 100%; block-size: 100%; border: 0; }

/* ── SSS ve kariyer (açılır liste) ── */
.akordeon { display: grid; gap: .6rem; max-inline-size: 52rem; }
.akordeon details { border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: #fff; }
.akordeon summary { cursor: pointer; padding: .85rem 1rem; font-weight: 600; display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: baseline; }
.akordeon details > :not(summary) { margin-inline: 1rem; }
.akordeon details > :last-child { margin-block-end: 1rem; }

/* ── Proje galerisi ── */
.galeri-izgara { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: .6rem; }
.galeri-izgara img { display: block; inline-size: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--yaricap); }
.galeri-video { grid-column: 1 / -1; }

/* ── QR menü kategori şeridi ── */
.menu-katlar { border-block-end: 1px solid var(--cizgi); background: #fff; }
.menu-katlar ul { list-style: none; margin: 0; padding: .6rem 0; display: flex; gap: .4rem; overflow-x: auto; }
.menu-katlar a { display: block; flex: none; padding: .3rem .85rem; border: 1px solid var(--cizgi); border-radius: 999px;
                 white-space: nowrap; color: var(--murekkep); text-decoration: none; }
.menu-katlar a[aria-current] { background: var(--vurgu); border-color: var(--vurgu); color: #fff; }

/* ── Durum sayfası (404 ve diğer hatalar) ── */
.durum-sayfa { max-inline-size: 44rem; }
.durum-kod { margin: 0 0 .4rem; font-weight: 800; font-size: 1.1rem; color: var(--soluk); font-variant-numeric: tabular-nums; }
.durum-metin { color: var(--soluk); font-size: 1.05rem; }

/* ── Sayfalama ── */
.sayfalama { margin-block-start: 2rem; }
.sayfalama ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; justify-content: center; }
.sayfalama a, .sayfalama span { display: inline-grid; place-items: center; min-inline-size: 40px; block-size: 40px; padding-inline: .7rem;
    border: 1px solid var(--cizgi); border-radius: var(--yaricap); color: var(--murekkep); text-decoration: none; }
.sayfalama a:hover { border-color: var(--vurgu); color: var(--vurgu); }
.sayfalama span[aria-current] { background: var(--vurgu); border-color: var(--vurgu); color: #fff; }
.sayfalama-bosluk { align-self: center; color: var(--soluk); }

/* ── Alt bilgi (koyu zemin — "logo_koyu" burada basılır) ── */
.site-alt { margin-block-start: var(--bosluk); background: var(--koyu); color: var(--koyu-metin); font-size: .92rem; }
.site-alt a { color: var(--koyu-metin); text-decoration: none; }
.site-alt a:hover { color: #fff; text-decoration: underline; }
.site-alt .marka { color: #fff; }
.site-alt-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 2rem; padding-block: 2.5rem; }
.site-alt-marka p { margin-block: .8rem 0; max-inline-size: 26rem; }
.site-alt-baslik { display: block; margin: 0 0 .6rem; color: #fff; font-weight: 700; }
.site-alt-marka .site-alt-baslik { margin-block-start: 1.2rem; }
.site-alt ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.site-alt ul ul { padding-inline-start: .8rem; margin-block-start: .35rem; }
.sosyal { grid-auto-flow: column; justify-content: start; gap: 1rem !important; }
.site-alt address { display: grid; gap: .35rem; }
.site-alt .saatler dt { color: var(--koyu-metin); }
.site-alt-telif { border-block-start: 1px solid rgba(255, 255, 255, .12); padding-block: 1rem; font-size: .82rem; }
.site-alt-telif p { margin: 0; }

/* ── Duyuru penceresi (popup) ──
   Kutu hiçbir zaman ekrandan uzun olmaz: dikey (telefon oranlı) afiş kutuya sığacak kadar küçülür (contain, boş şeritler
   beyaz), başlık satırı hep görünür, kapatma düğmesi kutunun üst köşesinde kalır. Kutu yine de sığmazsa (çok uzun başlık,
   çok alçak ekran) katman kaydırılır ve kutu üstten başlar — kapatma düğmesi ekran dışına taşmaz (auto kenar boşluğu
   sığınca ortalar, sığmayınca sıfırlanır). */
.duyuru { position: fixed; inset: 0; z-index: 500; display: flex; align-items: flex-start; justify-content: center; padding: 1rem;
          overflow-y: auto; overscroll-behavior: contain; background: rgba(0, 0, 0, .5); }
.duyuru-kutu { position: relative; display: flex; flex-direction: column; inline-size: 100%; max-inline-size: 480px;
               max-block-size: calc(100vh - 2rem); max-block-size: calc(100dvh - 2rem); margin-block: auto;
               overflow: hidden; background: #fff; border-radius: var(--yaricap); }
.duyuru-kutu > a { display: flex; flex-direction: column; flex: 0 1 auto; min-block-size: 0; color: inherit; text-decoration: none; }
.duyuru-kutu img { display: block; flex: 0 1 auto; inline-size: 100%; min-block-size: 0; object-fit: contain; background: #fff; }
.duyuru-kutu strong { display: block; flex: none; padding: 1rem; font-size: 1.1rem; }
.duyuru-kapat { position: absolute; z-index: 1; inset-block-start: .5rem; inset-inline-end: .5rem; inline-size: 36px; block-size: 36px;
                border: 0; border-radius: 50%; background: #fff; box-shadow: var(--golge); cursor: pointer; }

/* ── Çerez bildirimi (küçük{ position: fixed; inset-block-end: 1rem; inset-inline-start: 1rem; z-index: 400; max-inline-size: min(420px, calc(100vw - 2rem));
         display: flex; align-items: center; gap: .8rem 1rem; flex-wrap: wrap; padding: .9rem 1rem; background: #fff;
         border: 1px solid var(--cizgi); border-radius: var(--yaricap); box-shadow: 0 8px 24px rgba(0, 0, 0, .12); font-size: .9rem; }

/* Yapışkan çağrı şeridi — çekirdekte gizli; sektör teması isterse açar */
.cagri-serit { display: none; }

/* ── Dar ekran ── */
@media (max-width: 900px) {
    .yan-yerlesim, .yan-yerlesim.yan-solda, .urun-ust, .hero-iki, .randevu-kutu, .iletisim-izgara { grid-template-columns: minmax(0, 1fr); }
    .yan-solda .yan-panel { order: 2; }
    .menu-dugme { display: inline-grid; place-items: center; }
    .ana-menu { position: fixed; inset-block: 0; inset-inline-end: 0; z-index: 100; inline-size: min(340px, 88vw);
                display: flex; flex-direction: column; gap: 1rem; padding: 0 1rem 1.5rem; overflow-y: auto; background: #fff;
                box-shadow: 0 0 30px rgba(0, 0, 0, .2); visibility: hidden; transform: translateX(100%); transition: transform .2s, visibility .2s; }
    [dir="rtl"] .ana-menu { transform: translateX(-100%); }
    .ana-menu.acik { visibility: visible; transform: none; }
    .cekmece-bas { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-block-size: 64px;
                   border-block-end: 1px solid var(--cizgi); }
    .menu-liste { flex-direction: column; align-items: stretch; }
    .menu-oge { flex-wrap: wrap; }
    .menu-oge > a, .menu-grup-adi { flex: 1; padding-block: .7rem; }
    .alt-ac { inline-size: 44px; block-size: 44px; margin: 0; }
    .alt-menu { position: static; inline-size: 100%; min-inline-size: 0; border: 0; box-shadow: none; padding: 0 0 .4rem;
                padding-inline-start: 1rem; display: none; visibility: visible; opacity: 1; }
    .menu-oge.acilir.acik > .alt-menu { display: block; }
    .menu-oge.acilir:hover > .alt-menu, .menu-oge.acilir:focus-within > .alt-menu { visibility: visible; }
    .cekmece-alt { display: grid; gap: .6rem; padding-block-start: 1rem; border-block-start: 1px solid var(--cizgi); }
    .cekmece-alt a { color: var(--soluk); text-decoration: none; }
    .ust-serit-iletisim { display: none; }
    .urun-izgara.v-mozaik > :first-child { grid-column: auto; grid-row: auto; }
    .bolum-menu { inset-block-start: 64px; }
}
@media (max-width: 600px) {
    .form-izgara { grid-template-columns: minmax(0, 1fr); }
    .urun-izgara.v-serit .kart-bag { flex-direction: column; }
    .urun-izgara.v-serit .kart-gorsel { flex: none; }
    .cta-bant .eylemler { inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .slayt, .ana-menu, .slayt-video { transition: none; }
}

/* Alt bilgi künyesi (2026-09-28, Ayarlar › Künye — _TemaLayout .site-alt-kunye) */
.site-alt-kunye dl { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; margin: 0; padding: .8rem 0; font-size: .8rem; }
.site-alt-kunye dl > div { display: flex; gap: .35rem; }
.site-alt-kunye dt { opacity: .75; }
.site-alt-kunye dd { margin: 0; }

/* ── Makine çekirdeği (2026-09-28) — yalın temel; makine temaları kendi CSS'iyle ezer ──
   Model tablosu (_ModelTablosu, .mt-*), hattaki makineler (.istasyon-*), YouTube kapağı (_YoutubeKapak, .yt-*), kart özeti */
.mt-kap { position: relative; /* .gizli (mutlak konumlu) metinler kaydırma kabının içinde kalsın — yoksa sayfa yana taşar */ overflow-x: auto; border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: var(--kart); }
.mt-kap:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 2px; }
.mt-tablo { border-collapse: collapse; inline-size: 100%; font-size: .93rem; font-variant-numeric: tabular-nums; }
.mt-tablo caption { text-align: start; font-weight: 700; padding: .7rem .8rem .4rem; }
.mt-sayi { font-weight: 400; color: var(--soluk); font-size: .85em; }
.mt-tablo th, .mt-tablo td { padding: .5rem .8rem; border-block-start: 1px solid var(--cizgi); text-align: start; white-space: nowrap; }
.mt-tablo thead th { background: var(--zemin); font-weight: 650; }
.mt-tablo tbody th { position: sticky; inset-inline-start: 0; background: var(--kart); font-weight: 700; }
.mt-tablo tr[aria-current] > * { background: var(--vurgu-yumusak); }
.mt-birim { color: var(--soluk); font-weight: 400; }
.mt-teklif { font-size: .88rem; }
.mt-not { font-size: .82rem; color: var(--soluk); margin-block: .5rem 0; }
.istasyon-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.istasyon { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; padding: .6rem .8rem; border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: var(--kart); }
.istasyon.ana { border-color: var(--vurgu); box-shadow: inset 3px 0 0 var(--vurgu); }
.istasyon.secmeli { border-style: dashed; }
.istasyon-no { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--vurgu); min-inline-size: 1.6rem; }
.istasyon-ad { font-weight: 600; }
.istasyon-not, .istasyon-isaret { font-size: .85rem; color: var(--soluk); }
.urun-kredi { margin: .3rem 0; color: var(--basari); }
.urun-cizim img { max-inline-size: 100%; block-size: auto; border: 1px solid var(--cizgi); border-radius: var(--yaricap); background: #fff; }
.kart-bilgi, .kart-kredi { display: block; font-size: .85rem; color: var(--soluk); }
.kart-kredi { color: var(--basari); font-weight: 600; }
.dokuman-kunye { display: block; font-size: .82rem; color: var(--soluk); }
.yt { position: relative; aspect-ratio: 16 / 9; max-inline-size: 820px; background: var(--koyu); border-radius: var(--yaricap); overflow: hidden; }
.yt-kapak, .yt-cerceve { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; border: 0; }
.yt-oynat { position: absolute; inset: 50% auto auto 50%; translate: -50% -50%; display: inline-flex; align-items: center; gap: .5rem;
    padding: .7rem 1.1rem; border: 0; border-radius: 999px; background: #fff; color: var(--murekkep); font: inherit; font-weight: 600; cursor: pointer; }
.yt-oynat .ik { inline-size: 1.2rem; block-size: 1.2rem; }
.yt-not { position: absolute; inset: auto 0 0; margin: 0; padding: .4rem .8rem; font-size: .78rem; color: #fff; background: rgba(0, 0, 0, .55); }
.yt.acik .yt-not { display: none; }
.sektor-surec { padding-inline-start: 1.2rem; }
.sektor-surec li.kritik strong { color: var(--hata); }
