/* METİN VURGUSUZLAŞTIRMA SÖZLEŞMESİ
   İkincil metin `opacity` ile soluklaştırılmaz. Saydamlık, metnin efektif
   kontrastını temanın rengine bakmaksızın düşürür ve gerçek Chrome ölçümünde
   AA'nın altına indiriyordu (ör. testimonial rolü 4.22:1, fiyat maddeleri
   3.70:1).

   Ton, temanın KENDİ paletindeki ikincil metin renginden gelir; sırayla:
     --ink-soft   → Presentation V2 skin'lerinin sunum-duyarlı token'ı
     --text-soft  → V1 skin'lerinin ikincil metin rengi
     --text-light → en eski V1 skin'lerinde aynı rolün adı
     inherit      → hiçbiri yoksa gövde rengi (güvenli, yalnız düz)
   Zincirin amacı: hiçbir yeni renk uydurmadan eski görsel hiyerarşiyi
   korumak. Yalnız `inherit`e düşmek 14 legacy temada ikincil metni gövde
   rengine düzleştiriyordu. */

/* Faz 3 — Sektör modülleri PAYLAŞIMLI stilleri (tek kaynak).
   Tüm temalarda (açık/koyu) çalışsın diye tema-agnostik: yarı-saydam nötr
   yüzeyler (rgba gri) + metin `inherit` (tema gövde rengi) + aksan
   var(--primary-color) + başlık var(--font-family). Genişlik için temanın
   .container'ını kullanır. Hem yayınlanan sitede hem editör canvas'ında yüklenir. */

/* ── Site chrome yapısal varyantları ────────────────────────────────────────
   Renk, tipografi ve yüzey kimliği tema styles.css'inde kalır. Bu katman yalnız
   güvenli header/footer geometrisini ve responsive davranışı belirler.

   Bazı skin'ler kendi küratörlü chrome'u için flex, iki kolonlu grid, üç kolonlu
   grid veya sabit bir editorial rail kuruyor. Composer seçimi yapıldığında bu
   kalıntılardan biri kazanırsa data marker doğru görünürken marka hâlâ ortada ya
   da navigasyon hâlâ ikinci satırda kalabiliyor. Aşağıdaki data-hs sözleşmesi bu
   nedenle bütün yapısal eksenleri açıkça resetler; skin yalnız renk, tipografi,
   yüzey, kenarlık ve dekorasyonunu taşımaya devam eder. */
@media (min-width: 901px) {
  /* Backward-compatible partial layer from the original composer contract.
     Theme presets need these opt-in variants (notably kurumsal stacked/center)
     even though their skin still owns every unrelated geometry decision.
     Legacy absence resolves to inline/left and therefore matches none of these
     header selectors. The stronger custom layer below normalizes all axes. */
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(1rem, 2.5vw, 2.5rem);
  }
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__brand {
    grid-column: 2;
    justify-self: center;
  }
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__nav {
    grid-column: 3;
    justify-self: end;
    min-width: 0;
  }
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__nav-link {
    white-space: nowrap;
  }
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__inner {
    flex-direction: row-reverse;
  }
  .site-header[data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__nav {
    margin-right: auto;
  }
  .site-header[data-hs-header-layout="stacked"] .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 0;
    padding-block: 1rem .8rem;
    gap: .75rem;
  }
  .site-header[data-hs-header-layout="stacked"] .site-header__brand {
    grid-row: 1;
  }
  .site-header[data-hs-header-layout="stacked"][data-hs-logo-position="left"] .site-header__brand {
    justify-self: start;
  }
  .site-header[data-hs-header-layout="stacked"][data-hs-logo-position="center"] .site-header__brand {
    justify-self: center;
  }
  .site-header[data-hs-header-layout="stacked"][data-hs-logo-position="right"] .site-header__brand {
    justify-self: end;
  }
  .site-header[data-hs-header-layout="stacked"] .site-header__nav {
    grid-row: 2;
    justify-self: center;
    min-width: 0;
  }

  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] {
    position: sticky;
    inset: auto;
    top: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    overflow: visible;
    border-right: 0;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] > .container {
    width: min(calc(100% - 2rem), var(--container, 1200px));
    max-width: 100%;
    height: auto;
    min-height: 0;
    margin-inline: auto;
    padding-inline: 0;
  }
  /* Editorial'ın masaüstü rail ofseti gibi skin'e ait sayfa kalıntıları,
     canonical üst başlık etkin olduğunda içerik/footer'ı yana itemez. */
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] ~ main,
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] ~ .site-footer {
    margin-left: 0;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] .site-header__inner {
    display: grid;
    grid-auto-flow: row;
    grid-template-rows: auto;
    align-items: center;
    align-content: center;
    justify-content: stretch;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 76px;
    padding-block: .55rem;
    gap: .35rem clamp(.75rem, 2vw, 2rem);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] .site-header__brand {
    position: static;
    inset: auto;
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    transform: none;
    order: initial;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] .site-header__name {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] .site-header__nav {
    position: static;
    inset: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    transform: none;
    order: initial;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout] .site-header__nav-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding-left: 0;
    list-style: none;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"] .site-header__name {
    white-space: nowrap;
  }

  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="left"] .site-header__inner {
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="left"] .site-header__brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="left"] .site-header__nav {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="left"] .site-header__nav-list {
    justify-content: flex-end;
  }

  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    max-width: min(36vw, 28rem);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__nav {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="center"] .site-header__nav-list {
    justify-content: flex-end;
  }

  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__inner {
    grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__nav {
    grid-column: 1;
    grid-row: 1;
    justify-self: stretch;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="inline"][data-hs-logo-position="right"] .site-header__nav-list {
    justify-content: flex-start;
  }

  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"] .site-header__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    min-height: 76px;
    padding-block: 1rem .8rem;
    gap: .75rem;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"] .site-header__brand {
    grid-column: 1;
    grid-row: 1;
    max-width: min(100%, 42rem);
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"][data-hs-logo-position="left"] .site-header__brand {
    justify-self: start;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"][data-hs-logo-position="center"] .site-header__brand {
    justify-self: center;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"][data-hs-logo-position="right"] .site-header__brand {
    justify-self: end;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"] .site-header__nav {
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"] .site-header__nav-list {
    justify-content: center;
  }
  .site-header[data-hs-chrome-mode="custom"][data-hs-header-layout="stacked"] .site-header__name {
    white-space: normal;
  }
}

/* The original partial footer layer is intentionally mode-agnostic: legacy
   minimal matches none of it, while theme presets gain the new split/rich DOM
   geometry. Non-legacy normalization below then closes the remaining gaps. */
.site-footer[data-hs-footer-layout="split"] .site-footer__meta,
.site-footer[data-hs-footer-layout="brand-nav"] .site-footer__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  text-align: left;
}
.site-footer[data-hs-footer-layout="split"] .site-footer__copy,
.site-footer[data-hs-footer-layout="split"] .site-footer__powered,
.site-footer[data-hs-footer-layout="brand-nav"] .site-footer__copy,
.site-footer[data-hs-footer-layout="brand-nav"] .site-footer__powered {
  margin: 0;
}
.site-footer[data-hs-footer-layout="brand-nav"] .site-footer__main {
  display: grid;
  grid-template-columns: minmax(160px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(128, 128, 128, .28);
  text-align: left;
}

.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout] {
  width: 100%;
  max-width: 100%;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout] > .container {
  min-width: 0;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="minimal"] .site-footer__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  min-width: 0;
  text-align: center;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="split"] .site-footer__meta,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 1rem 2rem;
  width: 100%;
  min-width: 0;
  text-align: left;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="minimal"] .site-footer__copy,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="minimal"] .site-footer__powered,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="split"] .site-footer__copy,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="split"] .site-footer__powered,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__copy,
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__powered {
  margin: 0;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__main {
  display: grid;
  grid-template-columns: minmax(160px, .7fr) minmax(0, 1.3fr);
  grid-template-rows: auto;
  align-items: center;
  justify-items: stretch;
  gap: 2rem;
  width: 100%;
  min-width: 0;
  margin-bottom: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid rgba(128, 128, 128, .28);
  text-align: left;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__brand {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
}
.site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__nav {
  grid-column: 2;
  grid-row: 1;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
}
.site-footer__brand {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
}
.site-footer__logo {
  display: block;
  width: auto;
  max-width: min(220px, 100%);
  max-height: 48px;
}
.site-footer__name {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.15;
}
.site-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer__nav-link {
  color: inherit;
  font-size: .88rem;
  font-weight: 650;
  text-decoration: none;
  color: var(--ink-soft, var(--text-soft, var(--text-light, inherit)));
}

/* Menu labels accept up to 80 characters. A valid unbroken token must shrink
   inside composer chrome instead of widening the page or escaping its card. */
.site-header[data-hs-chrome-mode] .site-header__nav-list,
.site-header[data-hs-chrome-mode] .site-header__nav-list > li,
.site-header[data-hs-chrome-mode] .site-header__nav-link,
.site-header[data-hs-chrome-mode] .site-header__brand,
.site-header[data-hs-chrome-mode] .site-header__name,
.site-footer[data-hs-chrome-mode] .site-footer__nav,
.site-footer[data-hs-chrome-mode] .site-footer__nav-list,
.site-footer[data-hs-chrome-mode] .site-footer__nav-list > li,
.site-footer[data-hs-chrome-mode] .site-footer__nav-link,
.site-footer[data-hs-chrome-mode] .site-footer__brand,
.site-footer[data-hs-chrome-mode] .site-footer__name,
.site-footer[data-hs-chrome-mode] .site-footer__copy,
.site-footer[data-hs-chrome-mode] .site-footer__powered {
  min-width: 0;
  max-width: 100%;
}
.site-header[data-hs-chrome-mode][data-hs-header-layout] .site-header__nav-link,
.site-footer[data-hs-chrome-mode] .site-footer__nav-link,
.site-footer[data-hs-chrome-mode] .site-footer__name,
.site-footer[data-hs-chrome-mode] .site-footer__copy,
.site-footer[data-hs-chrome-mode] .site-footer__powered {
  overflow-wrap: anywhere;
}
.site-header[data-hs-chrome-mode][data-hs-header-layout] .site-header__nav-link {
  white-space: normal;
}

@media (max-width: 900px) {
  /* Uzun, boşluksuz marka/başlık kelimeleri dar ekranda grid'in min-content
     genişliğini büyütüp sayfayı yatay taşırmasın. */
  .block-about__text { min-width: 0; }
  .block-about__title,
  .block-about__content { overflow-wrap: anywhere; }
  .site-header[data-hs-header-layout] .site-header__inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    min-height: 64px;
    height: auto;
    padding-block: .55rem;
    gap: .75rem;
  }
  .site-header[data-hs-header-layout] .site-header__brand {
    position: static;
    order: 0;
    justify-self: auto;
    min-width: 0;
    max-width: calc(100% - 60px);
    margin: 0;
    transform: none;
    /* 44px tap target for the logo/home link (measured: themes rendered 30-37px). */
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .site-header[data-hs-header-layout] .site-header__name {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
  }
  .site-header[data-hs-header-layout] .site-header__logo {
    max-width: min(210px, 100%);
  }
  .site-header[data-hs-header-layout] .site-header__nav { display: none; }
  .site-header[data-hs-header-layout] .site-header__menu-toggle {
    display: flex;
    flex: 0 0 44px;
    flex-direction: column;
    justify-content: center;
    order: 1;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin-left: auto;
  }
  /* This block turns the toggle into a column flex container, which makes the
     themes' 2px bars flex items. Inside a fixed 44px box (28px of content after
     padding) their 4px margins overflow, so the default flex-shrink squeezed
     every bar to ~1.34px. Pin the intended thickness. */
  .site-header[data-hs-header-layout] .site-header__menu-toggle > span {
    flex: 0 0 auto;
    min-height: 2px;
  }
  /* Renderer ve editör aynı mobil panel DOM'unu kullanır. Tema skin'leri renk,
     aralık ve tipografiyi seçer; bu ortak katman ise 320px containment, uzun
     menü etiketi ve gerçek 44px bağlantı hedefi tabanını garanti eder. Uzun
     menüler kilitli sayfanın içinde erişilebilir kalmak için kendi içinde kayar. */
  .site-header[data-hs-header-layout] .site-header__mobile-nav {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    max-height: calc(100vh - 64px);
    max-height: calc(100dvh - 64px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-header[data-hs-header-layout] .site-header__mobile-nav ul {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding-inline-start: 0;
    list-style: none;
  }
  .site-header[data-hs-header-layout] .site-header__mobile-nav li {
    min-width: 0;
    max-width: 100%;
  }
  .site-header[data-hs-header-layout] .site-header__mobile-nav a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 44px;
    max-width: 100%;
    min-height: 44px;
    overflow-wrap: anywhere;
  }
  /* Açık menü bütün temalarda aynı erişilebilir X durumunu kullanır. Görsel
     durum doğrudan aria-expanded'a bağlıdır; tema skin'i renk/ölçü kimliğini
     korurken ortak modules katmanı geometriyi güvenli biçimde sabitler. */
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] {
    position: relative;
  }
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] > span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    margin: 0;
    transition: transform 160ms ease, opacity 160ms ease;
  }
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] > span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] > span:nth-child(2) {
    opacity: 0;
  }
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] > span:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .site-footer[data-hs-footer-layout="split"] .site-footer__meta,
  .site-footer[data-hs-footer-layout="brand-nav"] .site-footer__meta {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
  .site-footer[data-hs-footer-layout="brand-nav"] .site-footer__main {
    grid-template-columns: 1fr;
    justify-items: center;
    /* Two extra pixels keep the 44px brand/nav hit surfaces disjoint without
       changing font metrics, alignment or any painted decoration. */
    gap: calc(1.25rem + 2px);
    text-align: center;
  }
  .site-footer[data-hs-footer-layout="brand-nav"] .site-footer__brand {
    justify-self: center;
  }
  .site-footer[data-hs-footer-layout] .site-footer__nav-list {
    justify-content: center;
    /* Wrapped rows need distinct 44px hit surfaces. The former .55rem row gap
       put invisible targets on top of each other even though text did not
       visibly collide. This only adds space when a mobile footer wraps. */
    row-gap: 1.28125rem;
  }

  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="split"] .site-footer__meta,
  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__meta {
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__main {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    /* Two extra pixels keep the 44px brand/nav hit surfaces disjoint without
       changing font metrics, alignment or any painted decoration. */
    gap: calc(1.25rem + 2px);
    text-align: center;
  }
  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__brand {
    justify-self: center;
  }
  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout="brand-nav"] .site-footer__nav {
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
  }
  .site-footer[data-hs-chrome-mode]:not([data-hs-chrome-mode="legacy"])[data-hs-footer-layout] .site-footer__nav-list {
    justify-content: center;
    /* Wrapped rows need distinct 44px hit surfaces. The former .55rem row gap
       put invisible targets on top of each other even though text did not
       visibly collide. This only adds space when a mobile footer wraps. */
    row-gap: 1.28125rem;
  }

  /* Keep the footer's visible typography and rhythm intact while giving every
     link a real 44px touch surface. The transparent pseudo-element belongs to
     the anchor for hit-testing, but is out of flow and paints nothing, so it
     does not enlarge rows, move text or alter theme-specific presentation. */
  .site-footer :where(a) {
    position: relative;
  }
  .site-footer :where(a)::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: max(100%, 44px);
    height: max(100%, 44px);
    transform: translate(-50%, -50%);
    content: "";
    pointer-events: auto;
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .site-header[data-hs-header-layout] .site-header__menu-toggle[aria-expanded="true"] > span {
    transition: none;
  }
}

/* Booking and contact forms share the same DOM contract. Native date/time
   controls have a platform-specific intrinsic width (notably in Linux
   Chrome); without an explicit zero minimum they can force a 320px form/grid
   wider than its container even when the theme declares width: 100%. This is
   structural containment, so it belongs in the shared layer rather than in a
   single skin. */
.block-contact__form,
.block-contact__form .form-group {
  min-width: 0;
}
.block-contact__form :where(input, textarea, select) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  /* Native controls (notably <select>) otherwise keep their intrinsic ~19–39px
     height, which fails the 44x44 pointer-target bar in every skin that does
     not restyle them. Touch-target size is an accessibility floor rather than
     a skin decision, so it lives in the shared layer next to the containment
     rules above. Themes may grow it; they must not shrink it. */
  min-height: 44px;
}

.block-faq,
.block-pricing,
.block-team,
.block-menu,
.block-hours,
.block-testimonials {
  padding: 5.5rem 0;
  color: inherit;
}
.block-faq__title,
.block-pricing__title,
.block-team__title,
.block-menu__title,
.block-hours__title,
.block-testimonials__title {
  font-family: var(--font-family, inherit);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  text-align: center;
  margin-bottom: 2.5rem;
}

/* ── SSS ─────────────────────────────────────────────────────────────────── */
.block-faq__list { max-width: 760px; margin: 0 auto; display: grid; gap: 0.75rem; }
.block-faq__item { border: 1px solid rgba(128, 128, 128, 0.18); border-radius: 12px; padding: 1.15rem 1.35rem; background: rgba(128, 128, 128, 0.05); }
.block-faq__q { font-size: 1.05rem; font-weight: 700; margin-bottom: 0.4rem; }
.block-faq__a { color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); line-height: 1.65; }

/* ── Fiyat tablosu ───────────────────────────────────────────────────────── */
.block-pricing__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; max-width: 1000px; margin: 0 auto; align-items: stretch; }
.block-pricing__plan { display: flex; flex-direction: column; border: 1px solid rgba(128, 128, 128, 0.2); border-radius: 16px; padding: 2rem 1.6rem; background: rgba(128, 128, 128, 0.05); }
.block-pricing__plan--featured { border-color: var(--primary-color, #3b82f6); border-width: 2px; box-shadow: 0 14px 40px rgba(0, 0, 0, 0.12); }
.block-pricing__name { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; }
/* AKSAN MÜREKKEBİ NOTU
   Bu roller ham marka rengini metin olarak basar. Bir skin bunu güvenli bir
   mürekkebe çevirmek isterse KENDİ `--brand-ink` değerini tanımlar; zincirde
   global bir `--primary-ink` fallback'i YOKTUR.

   Nedeni: `--primary-ink` yalnız AÇIK yüzeye göre türetilir. Zincire global
   fallback olarak konduğunda koyu kanvaslı temalarda (usta/enerji/garaj #0a0a0a
   ve #18181b, prestij #0f172a) açık-yüzey mürekkebi koyu zemine basılıyor ve
   mevcut yayınlanmış siteler rebuild'de sessizce AA'nın altına düşüyordu
   (ör. usta + #f59e0b: 8.31:1 → 2.86:1). Skin'in kendi yüzeyini bilen tek
   taraf skin olduğu için karar skin'e bırakılır. */

.block-pricing__price { font-family: var(--font-family, inherit); font-size: 2.2rem; font-weight: 800; color: var(--brand-ink, var(--primary-color, #3b82f6)); line-height: 1.1; }
/* `opacity` burada dekoratif bir vurgusuzlaştırmaydı ama aksan mürekkebini
   AA'nın altına indiriyordu (ölçülen 3.0:1). Hiyerarşi punto ve ağırlıkla
   kurulur; saydamlık metin kontrastını düşürmez. */
.block-pricing__period { font-size: 0.95rem; font-weight: 500; }
.block-pricing__features { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0.6rem; }
.block-pricing__features li { position: relative; padding-left: 1.5rem; color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); line-height: 1.4; }
.block-pricing__features li:before { content: "✓"; position: absolute; left: 0; color: var(--brand-ink, var(--primary-color, #3b82f6)); font-weight: 700; }

/* ── Ekip ────────────────────────────────────────────────────────────────── */
.block-team__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.75rem; }
.block-team__member { text-align: center; }
.block-team__photo { width: 130px; height: 130px; margin: 0 auto 1rem; border-radius: 999px; overflow: hidden; background: rgba(128, 128, 128, 0.12); }
.block-team__photo img { width: 100%; height: 100%; object-fit: cover; }
.block-team__name { font-size: 1.1rem; font-weight: 700; }
.block-team__role { color: var(--brand-ink, var(--primary-color, #3b82f6)); font-size: 0.9rem; font-weight: 600; margin-top: 0.2rem; }
.block-team__bio { color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); font-size: 0.92rem; line-height: 1.55; margin-top: 0.5rem; }

/* ── Menü (kategorili) ───────────────────────────────────────────────────── */
.block-menu__categories { max-width: 760px; margin: 0 auto; display: grid; gap: 2.5rem; }
.block-menu__cat-name { font-family: var(--font-family, inherit); font-size: 1.3rem; font-weight: 700; color: var(--brand-ink, var(--primary-color, #3b82f6)); border-bottom: 2px solid rgba(128, 128, 128, 0.2); padding-bottom: 0.5rem; margin-bottom: 1.1rem; }
.block-menu__items { display: grid; gap: 1rem; }
.block-menu__item-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.block-menu__item-name { font-weight: 600; }
.block-menu__item-price { font-weight: 700; color: var(--brand-ink, var(--primary-color, #3b82f6)); white-space: nowrap; }
.block-menu__item-desc { color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); font-size: 0.9rem; margin-top: 0.2rem; line-height: 1.5; }

/* ── Çalışma saatleri ────────────────────────────────────────────────────── */
.block-hours__table { max-width: 480px; margin: 0 auto; display: grid; gap: 0; border: 1px solid rgba(128, 128, 128, 0.18); border-radius: 12px; overflow: hidden; }
.block-hours__row { display: flex; justify-content: space-between; padding: 0.85rem 1.25rem; }
.block-hours__row:nth-child(even) { background: rgba(128, 128, 128, 0.06); }
.block-hours__day { font-weight: 600; }
.block-hours__time { color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); }

/* ── Referanslar / yorumlar ──────────────────────────────────────────────── */
.block-testimonials__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.block-testimonials__item { border: 1px solid rgba(128, 128, 128, 0.18); border-radius: 16px; padding: 1.75rem; background: rgba(128, 128, 128, 0.05); }
.block-testimonials__text { line-height: 1.7; font-style: italic; }
.block-testimonials__text:before { content: "“"; color: var(--brand-ink, var(--primary-color, #3b82f6)); font-size: 2rem; font-weight: 800; margin-right: 0.15rem; line-height: 0; vertical-align: -0.3em; }
.block-testimonials__author { margin-top: 1.1rem; display: flex; flex-direction: column; }
.block-testimonials__name { font-weight: 700; }
.block-testimonials__role { color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); font-size: 0.85rem; }

@media (max-width: 600px) {
  .block-faq, .block-pricing, .block-team, .block-menu, .block-hours, .block-testimonials { padding: 4rem 0; }
  .block-menu__item-head { flex-direction: column; gap: 0.1rem; }
}

/* Faz 7.1 — blog kart (block-services kartlarını link olarak kullanır) */
.hs-blog-card { text-decoration: none; color: inherit; display: block; }
.hs-blog-card__date { margin-top: 0.6rem; font-size: 0.8rem; color: var(--ink-soft, var(--text-soft, var(--text-light, inherit))); }

/* ── Hero V2 yardımcıları ──────────────────────────────────────────────────
   Tema hero geometrisini belirlemeye devam eder; bu sınıflar rozet ve ikinci
   CTA için geriye uyumlu, tema-agnostik bir sözleşme sağlar. */
.block-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 1rem;
  padding: .48rem .78rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.block-hero--align-left { text-align: left; }
.block-hero--align-center { text-align: center; }
.block-hero--align-right { text-align: right; }
.block-hero--align-left .block-hero__content { margin-left: 0; margin-right: auto; }
.block-hero--align-center .block-hero__content { margin-left: auto; margin-right: auto; }
.block-hero--align-right .block-hero__content { margin-left: auto; margin-right: 0; }
.block-hero--align-left .block-hero__subtitle { margin-left: 0; margin-right: 0; }
.block-hero--align-right .block-hero__subtitle { margin-left: auto; margin-right: 0; }
.block-hero--align-center .block-hero__eyebrow { margin-left: auto; margin-right: auto; }
.block-hero--align-right .block-hero__eyebrow { margin-left: auto; }
.block-hero--align-center .block-hero__actions { justify-content: center; }
.block-hero--align-right .block-hero__actions { justify-content: flex-end; }
.block-hero--has-media {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: clamp(540px, 68vh, 720px);
  background-size: cover;
  background-position: center;
}
.block-hero--has-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(3, 7, 18, var(--hs-hero-overlay, .42));
}
.block-hero--has-media > .container { position: relative; z-index: 1; width: 100%; }
.block-hero--has-media .block-hero__content { max-width: min(650px, 56vw); }
.block-hero--has-media.block-hero--tone-dark .block-hero__content { max-width: min(560px, 50vw); }
.block-hero--focal-left { background-position: left center; }
.block-hero--focal-center { background-position: center; }
.block-hero--focal-right { background-position: right center; }
.block-hero.block-hero--has-media.block-hero--tone-light,
.block-hero.block-hero--has-media.block-hero--tone-light .block-hero__title,
.block-hero.block-hero--has-media.block-hero--tone-light .block-hero__eyebrow { color: #fff; }
.block-hero.block-hero--has-media.block-hero--tone-light .block-hero__subtitle { color: rgba(255, 255, 255, .88); }
.block-hero--tone-light .btn-ghost { border-color: rgba(255, 255, 255, .6); color: #fff; background: rgba(15, 23, 42, .22); }
.block-hero.block-hero--has-media.block-hero--tone-dark,
.block-hero.block-hero--has-media.block-hero--tone-dark .block-hero__title,
.block-hero.block-hero--has-media.block-hero--tone-dark .block-hero__eyebrow { color: #172033; }
.block-hero.block-hero--has-media.block-hero--tone-dark .block-hero__subtitle { color: rgba(23, 32, 51, .78); }
/* `tone-dark` means dark copy on a lightened photo. A dark overlay underneath
   dark copy is semantically contradictory and can make the hero unreadable. */
.block-hero--has-media.block-hero--tone-dark::before { background: rgba(255, 255, 255, .78); }
.block-hero--tone-dark .btn-ghost { border-color: rgba(23, 32, 51, .4); color: #172033; background: rgba(255, 255, 255, .36); }
.block-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.block-hero__cta--secondary { backdrop-filter: blur(8px); }

@media (max-width: 600px) {
  .block-hero--has-media { min-height: 560px; background-position: center; }
  .block-hero--has-media .block-hero__content,
  .block-hero--has-media.block-hero--tone-dark .block-hero__content,
  .block-hero--has-media.block-hero--tone-light .block-hero__content { max-width: 100%; }
  .block-hero--has-media::before { background: rgba(3, 7, 18, .56); }
  .block-hero--has-media.block-hero--tone-dark::before { background: rgba(255, 255, 255, .78); }
  .block-hero__actions { align-items: stretch; flex-direction: column; }
  .block-hero__actions .btn { justify-content: center; width: 100%; }
}

/* Demo/site-kit güven şeridi: hero'nun hemen ardından gelen kısa metrik satırı
   tam bir içerik bölümü gibi gereksiz dikey alan tüketmez. */
.block-text--proof {
  padding: 1.15rem 0;
  border-top: 1px solid rgba(128, 128, 128, .16);
  border-bottom: 1px solid rgba(128, 128, 128, .16);
  background: rgba(128, 128, 128, .045);
}
.block-text--proof .block-text__content {
  font-size: clamp(.82rem, 1.5vw, .96rem);
  font-weight: 750;
  letter-spacing: .025em;
  line-height: 1.6;
}

/* ── Görsel slider ──────────────────────────────────────────────────────────
   Tema-agnostik ve statik-first: yalnız transform/opacity animasyonu kullanır,
   sabit bir yükseklik ayırarak CLS üretmez. Davranış data-hs-* hook'larında;
   sınıflar editör canvas'ıyla ortak görsel sözleşmedir. */
.block-slider {
  --hs-slider-height: 520px;
  position: relative;
  min-height: var(--hs-slider-height);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: linear-gradient(135deg, var(--secondary-color, #0f172a), #111827);
  touch-action: pan-y;
}
.block-slider--compact { --hs-slider-height: 380px; }
.block-slider--standard { --hs-slider-height: 520px; }
.block-slider--tall { --hs-slider-height: 680px; }

.block-slider__viewport,
.block-slider__track,
.block-slider__slide {
  min-height: var(--hs-slider-height);
}
.block-slider__viewport,
.block-slider__track {
  position: relative;
  overflow: hidden;
}
.block-slider__slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transition: opacity 560ms ease, transform 640ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 640ms;
}
.block-slider__slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  transition-delay: 0s;
}

.block-slider--slide .block-slider__slide.is-before { transform: translate3d(-100%, 0, 0); }
.block-slider--slide .block-slider__slide.is-after { transform: translate3d(100%, 0, 0); }
.block-slider--fade .block-slider__slide,
.block-slider--zoom .block-slider__slide { transform: none; }

.block-slider__media,
.block-slider__overlay {
  position: absolute;
  inset: 0;
}
.block-slider__media {
  z-index: -2;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--primary-color, #3b82f6) 58%, transparent), transparent 45%),
    linear-gradient(135deg, var(--secondary-color, #0f172a), #111827);
}
.block-slider__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--hs-slider-height);
  object-fit: cover;
  transform: scale(1.001);
  transition: transform 1100ms cubic-bezier(.22, 1, .36, 1);
}
.block-slider--zoom .block-slider__slide:not(.is-active) .block-slider__media img { transform: scale(1.09); }
.block-slider--zoom .block-slider__slide.is-active .block-slider__media img { transform: scale(1.001); }
.block-slider__overlay {
  z-index: -1;
  /* Slayt görselini kullanıcı seçer. .48 scrim açık bir görselde başlık/alt
     metni AA'nın altına düşürüyordu (ölçülen 4.02:1). .55, tamamen beyaz bir
     görselde bile opak beyaz metin için ≥4.5:1 bırakır. */
  /* Taban değeri blok başına kullanıcı belirler; okunurluk pazarlık konusu
     değildir. `max()` kullanıcıya daha koyu bir scrim seçme hakkı bırakır ama
     tamamen beyaz bir slayt görselinde bile opak beyaz metni ≥4.5:1'de tutan
     alt sınırın altına inilmesini engeller. */
  background: rgba(0, 0, 0, max(0.55, var(--hs-slider-overlay, .55)));
}

.block-slider__content {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: min(1180px, 100%);
  min-height: var(--hs-slider-height);
  margin: 0 auto;
  padding: clamp(4.5rem, 9vw, 7rem) clamp(4rem, 9vw, 7.5rem);
  text-align: left;
}
.block-slider--align-center .block-slider__content { align-items: center; text-align: center; }
.block-slider--align-right .block-slider__content { align-items: flex-end; text-align: right; }
.block-slider__title {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading, var(--font-display, var(--font-family, inherit)));
  font-size: clamp(2.15rem, 5.5vw, 4.75rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.035em;
  text-wrap: balance;
  text-shadow: 0 3px 30px rgba(0, 0, 0, .28);
}
.block-slider__subtitle {
  max-width: 680px;
  margin: 1.15rem 0 0;
  color: #fff;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  line-height: 1.65;
  text-wrap: pretty;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .3);
}
.block-slider__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 1.65rem;
  padding: .78rem 1.3rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  color: #fff;
  background: var(--primary-color, #2563eb);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 180ms ease, filter 180ms ease;
}
.block-slider__cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.block-slider__editor-hint {
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: .82rem;
}

.block-slider__controls {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.block-slider__arrow,
.block-slider__toggle,
.block-slider__dot {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
}
.block-slider__arrow {
  position: absolute;
  top: 50%;
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  color: #fff;
  background: rgba(15, 23, 42, .52);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  font-size: 1.25rem;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
}
.block-slider__arrow--prev { left: clamp(.75rem, 2vw, 1.75rem); }
.block-slider__arrow--next { right: clamp(.75rem, 2vw, 1.75rem); }
.block-slider__dots {
  position: absolute;
  left: 50%;
  bottom: 1.35rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: 0 .7rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, .38);
  transform: translateX(-50%);
  pointer-events: auto;
  backdrop-filter: blur(8px);
}
.block-slider__dot {
  position: relative;
  width: 44px; /* etkileşimli hit-area ≥44×44 (görsel 11px daire ortalı) */
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}
.block-slider__dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 999px;
  background: transparent;
  transform: translate(-50%, -50%);
  transition: width 180ms ease, background 180ms ease;
}
.block-slider__dot[aria-current="true"]::before {
  width: 24px;
  background: #fff;
}
.block-slider__toggle {
  position: absolute;
  top: 1.35rem;
  right: clamp(.75rem, 2vw, 1.75rem);
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  color: #fff;
  background: rgba(15, 23, 42, .52);
  line-height: 1;
  backdrop-filter: blur(8px);
}
.block-slider__toggle[hidden],
.block-slider__toggle [hidden] { display: none !important; }
.block-slider__arrow:hover,
.block-slider__toggle:hover { background: rgba(15, 23, 42, .76); }
/* Slider kontrolleri kullanıcı görselinin üstünde durur; tek renkli beyaz halka
   açık bir slaytta 3:1'in altına düşebiliyordu. Dış koyu halka, hangi zemin
   gelirse gelsin halkanın bir yarısını kontrastlı tutar. */
.block-slider__arrow:focus-visible,
.block-slider__toggle:focus-visible,
.block-slider__dot:focus-visible,
.block-slider__cta:focus-visible {
  box-shadow: 0 0 0 6px rgba(3, 7, 18, .92);
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.block-slider__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 640px) {
  .block-slider--compact { --hs-slider-height: 360px; }
  .block-slider--standard { --hs-slider-height: 470px; }
  .block-slider--tall { --hs-slider-height: 560px; }
  /* İçerik ÜSTTEN akar; altta pager için ayrı güvenli alan (5.5rem) → CTA/dots
   * çakışmaz. Yatay padding (4rem) arrow zonundan geniş → oklar metni ezmez. */
  .block-slider__content { justify-content: flex-start; padding: clamp(2.5rem, 7vw, 3.5rem) 4rem 5.5rem; }
  .block-slider__title { font-size: clamp(1.7rem, 8vw, 2.6rem); }
  /* Uzun altyazı pager alanına taşmasın: mobilde en fazla 4 satır (defense). */
  .block-slider__subtitle { font-size: .95rem; line-height: 1.5; margin-top: .9rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
  .block-slider__cta { margin-top: 1.2rem; min-height: 44px; }
  /* Etkileşimli hedefler ≥44×44 (iç standart). */
  .block-slider__arrow { width: 44px; height: 44px; font-size: 1.05rem; }
  .block-slider__arrow--prev { left: .4rem; }
  .block-slider__arrow--next { right: .4rem; }
  /* 8 nokta 320px'de 44px hit-area olamaz → mobilde NON-INTERACTIVE pager/status.
   * Gezinme 44×44 oklarla; çakışan 44px hit-area üretilmez. */
  .block-slider__dots { bottom: 1rem; pointer-events: none; }
  .block-slider__dot { pointer-events: none; }
  .block-slider__toggle { top: .6rem; right: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .block-slider__slide,
  .block-slider__media img,
  .block-slider__cta,
  .block-slider__dot::before { transition: none !important; }
  .block-slider__toggle { display: none !important; }
}

@media print {
  .block-slider__slide { display: none; }
  .block-slider__slide.is-active { display: grid; position: relative; }
  .block-slider__controls { display: none; }
}
