/* ÜRETİLMİŞ DOSYA — elle düzenlenmez.
 * Kaynak: src/designs/15-hizmet/section.css
 *
 * Her bildirime `!important` eklendi. Sebep:
 * florax teması `.post-entry h2 { font-size: 36px !important }` gibi
 * kurallar taşıyor ve `!important` özgüllüğü dinlemiyor. Ayrıntı:
 * scripts/gs-important.mjs başlığı ve assets/base.css.
 */
/* ─── 15-hizmet · YEDİ HİZMET SAYFASI, TEK BÖLÜM ──────────────────────────────
 *
 * Tez: sayfa bir ŞARTNAME FASİKÜLÜDÜR (Section.tsx başındaki nota bak).
 *
 * 🔒 Kurallar `14-kurumsal` ile aynı ve hepsi ölçülmüş: `!important` yazılmaz ·
 * çıplak hex yok · punto yalnız `--gs-fs-1…7` · boşluk yalnız `--gs-bo-1…6` ·
 * `opacity`/`transform` burada TANIMLANMAZ (Ö-023) · kenarlık `border`
 * kısayoluyla (Ö-135) · `<a>` kendi kutusunu bildirir (Ö-118) · koyu zeminde
 * `:focus-visible` ezilir (Ö-113).
 *
 * ⚠️ Bu bölüm YEDİ sayfada birden görünür. Buraya yazılan her kural yedi
 * sayfayı birden değiştirir — bir kusur da yedi sayfayı birden düzeltir.
 */

.gs-15-hizmet {
    --hz-zemin: var(--gs-koyu-zemin);
    --hz-yuzey: var(--gs-koyu-yuzey);
    --hz-metin: var(--gs-koyu-metin);
    --hz-ikincil: var(--gs-koyu-ikincil);
    --hz-silik: var(--gs-koyu-silik);
    --hz-hat: var(--gs-koyu-hat);
    --hz-eylem: var(--gs-primary);

    --hz-aralik: 0.14em;
    --hz-sinir: min(92vw, 74rem);
    --hz-no-w: 2.25rem;

    background: var(--hz-zemin) !important;
    color: var(--hz-ikincil) !important;
}

/* Galvaniz taraması — ana sayfayla aynı dokunun devamı. Dekoratif. */
.gs-15-hizmet .hz {
    background-image: repeating-linear-gradient(
        135deg,
        rgb(255 255 255 / 0.016) 0,
        rgb(255 255 255 / 0.016) 1px,
        transparent 1px,
        transparent 7px
    ) !important;
}

.gs-15-hizmet .hz-sinir {
    width: var(--hz-sinir) !important;
    margin-inline: auto !important;
}

/* ── METİN KATMANLARI — §5 ④ ─────────────────────────────────────────────── */

.gs-15-hizmet .hz-etiket {
    margin: 0 0 var(--gs-bo-3) !important;
    font-size: var(--gs-fs-1) !important;
    font-weight: 700 !important;
    letter-spacing: var(--hz-aralik) !important;
    text-transform: uppercase !important;
    color: var(--hz-silik) !important;
}

.gs-15-hizmet .hz-h2 {
    margin: 0 0 var(--gs-bo-4) !important;
    font-size: var(--gs-fs-6) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.012em !important;
    color: var(--hz-metin) !important;
}

.gs-15-hizmet .hz-gizli-baslik {
    position: absolute !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.gs-15-hizmet .hz-govde {
    margin: 0 !important;
    max-width: 62ch !important;
    font-size: var(--gs-fs-4) !important;
    line-height: 1.65 !important;
    color: var(--hz-ikincil) !important;
}

/* ── BANNER — §5 ⑫ ───────────────────────────────────────────────────────── */

.gs-15-hizmet .hz-banner {
    padding-block: var(--gs-ritim) var(--gs-bo-6) !important;
    border-bottom: 1px solid var(--hz-hat) !important;
}

.gs-15-hizmet .hz-baslik {
    margin: 0 0 var(--gs-bo-4) !important;
    max-width: 16ch !important;
    font-size: var(--gs-fs-7) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.028em !important;
    color: var(--hz-metin) !important;
}

.gs-15-hizmet .hz-ozet {
    margin: 0 !important;
    max-width: 56ch !important;
    font-size: var(--gs-fs-4) !important;
    line-height: 1.65 !important;
    color: var(--hz-ikincil) !important;
}

/* ── KAPSAM — şartnamenin madde listesi ───────────────────────────────────
 * Kart ızgarası DEĞİL: bir kapsam listesi okunur, gezilmez. Numara sütunu
 * `tabular-nums` ve SABİT genişlik — `auto` hizalama sözü vermez (Ö-108). */

.gs-15-hizmet .hz-kapsam {
    padding-block: var(--gs-ritim) !important;
}

.gs-15-hizmet .hz-kapsam-liste {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-top: 1px solid var(--hz-hat) !important;
}

.gs-15-hizmet .hz-kapsam-oge {
    display: grid !important;
    grid-template-columns: var(--hz-no-w) minmax(0, 1fr) !important;
    gap: var(--gs-bo-4) !important;
    align-items: baseline !important;
    padding-block: var(--gs-bo-4) !important;
    border-bottom: 1px solid var(--hz-hat) !important;
}

.gs-15-hizmet .hz-kapsam-no {
    font-size: var(--gs-fs-2) !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
    color: var(--hz-silik) !important;
}

.gs-15-hizmet .hz-kapsam-ad {
    font-size: var(--gs-fs-5) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--hz-metin) !important;
}

/* ── GÖRSEL — çerçeve ① ──────────────────────────────────────────────────── */

.gs-15-hizmet .hz-gorsel-kadraj {
    padding-block: 0 var(--gs-ritim) !important;
}

.gs-15-hizmet .hz-cerceve {
    position: relative !important;
    margin: 0 !important;
    border: 1px solid var(--hz-hat) !important;
    border-top-color: rgb(255 255 255 / 0.09) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: var(--hz-yuzey) !important;
}

/* En-boy oranı BÖLÜM tarafından dayatılır. Ölçüldü: yedi sayfanın kapakları
   4:3'ten 16:9'a dağılıyor (1024×768 · 1000×607 · 800×600 · 1024×614 ·
   1024×560). Oran serbest bırakılsaydı her sayfa başka yükseklikte açılırdı. */
.gs-15-hizmet .hz-gorsel {
    aspect-ratio: 21 / 9 !important;
}

.gs-15-hizmet .hz-gorsel img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.gs-15-hizmet .hz-cerceve::before,
.gs-15-hizmet .hz-cerceve::after {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    pointer-events: none !important;
}

.gs-15-hizmet .hz-cerceve::before {
    inset-block-start: 0.55rem !important;
    inset-inline-end: 0.55rem !important;
    border-top: 1px solid rgb(255 255 255 / 0.34) !important;
    border-right: 1px solid rgb(255 255 255 / 0.34) !important;
}

.gs-15-hizmet .hz-cerceve::after {
    inset-block-end: 0.55rem !important;
    inset-inline-start: 0.55rem !important;
    border-bottom: 1px solid rgb(255 255 255 / 0.34) !important;
    border-left: 1px solid rgb(255 255 255 / 0.34) !important;
}

/* Kapak yoksa boş hâl GÖRÜNMEZ bir kutudur — bir kapağın yokluğu okura
   söylenecek bir şey değil (sözleşme ⑧'in bu bölümdeki karşılığı). */
.gs-15-hizmet .hz-gorsel-bos {
    display: none !important;
}

/* ── ANLATI ──────────────────────────────────────────────────────────────── */

.gs-15-hizmet .hz-anlati {
    padding-block: var(--gs-ritim) !important;
    border-top: 1px solid var(--hz-hat) !important;
}

.gs-15-hizmet .hz-giris {
    margin: 0 0 var(--gs-bo-6) !important;
    max-width: 56ch !important;
    font-size: var(--gs-fs-5) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: var(--hz-metin) !important;
}

.gs-15-hizmet .hz-blok {
    max-width: 68ch !important;
}

/* 🔴 Devam paragraflarında başlık BOŞ gelir ve `:empty` onu gizler
   (DESIGN.md §5 ⑨). `:empty` GERÇEKTEN boş olmayı ister — içeri boşluk ya da
   yorum düşerse tutmaz; sağlayıcı bu yüzden `''` döndürüyor. */
.gs-15-hizmet .hz-blok-baslik {
    margin: var(--gs-bo-6) 0 var(--gs-bo-3) !important;
    font-size: var(--gs-fs-5) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: var(--hz-metin) !important;
}

.gs-15-hizmet .hz-blok-baslik:empty {
    display: none !important;
}

.gs-15-hizmet .hz-blok-metin {
    margin: 0 0 var(--gs-bo-4) !important;
    font-size: var(--gs-fs-4) !important;
    line-height: 1.65 !important;
    color: var(--hz-ikincil) !important;
}

/* İlk blokun başlığı üst boşluğunu taşımaz — giriş paragrafı zaten ayırıyor. */
.gs-15-hizmet .hz-blok:first-child .hz-blok-baslik {
    margin-top: 0 !important;
}

/* Boş hâl — yineleyicide kayıt yoksa. Panelde metin girilmemiş demektir ve
   bunu SÖYLEMEK doğru: sessizce boş bir sayfa göstermek yöneticiyi yanıltır. */
.gs-15-hizmet .hz-bos {
    margin: 0 !important;
    padding-block: var(--gs-bo-4) !important;
    font-size: var(--gs-fs-3) !important;
    font-style: italic !important;
    color: var(--hz-silik) !important;
}

/* ── KAPANIŞ — §5 ⑬ ──────────────────────────────────────────────────────── */

.gs-15-hizmet .hz-kapanis {
    display: grid !important;
    gap: var(--gs-bo-6) !important;
    padding-block: var(--gs-ritim) !important;
    border-top: 1px solid var(--hz-hat) !important;
}

.gs-15-hizmet .hz-dugme {
    display: inline-flex !important;
    gap: 0.7rem !important;
    align-items: center !important;
    padding: 0.9rem 1.6rem !important;
    border: 0 solid transparent !important;
    border-radius: 0 !important;
    background: var(--hz-eylem) !important;
    color: var(--gs-white) !important;
    font-size: var(--gs-fs-4) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.gs-15-hizmet .hz-dugme-ok {
    font-weight: 400 !important;
}

.gs-15-hizmet .hz-kanal {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--gs-bo-2) var(--gs-bo-5) !important;
    margin: var(--gs-bo-5) 0 0 !important;
}

.gs-15-hizmet .hz-bag {
    display: inline-flex !important;
    align-items: center !important;
    min-height: var(--gs-hedef) !important;
    border-bottom: 1px solid var(--hz-hat) !important;
    font-size: var(--gs-fs-3) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    color: var(--hz-metin) !important;
}

.gs-15-hizmet .hz-bag:hover {
    border-bottom-color: var(--hz-metin) !important;
}

/* ── ODAK — koyu zeminde EZİLİR (Ö-113) ──────────────────────────────────── */

.gs-15-hizmet a:focus-visible {
    outline: 2px solid var(--hz-metin) !important;
    outline-offset: 3px !important;
}

/* ── 768px ve üzeri ──────────────────────────────────────────────────────── */

@media (min-width: 768px) {
    .gs-15-hizmet {
        --hz-no-w: 3rem;
    }

    .gs-15-hizmet .hz-kapanis {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
        align-items: center !important;
    }
}

/* ── 1025px ve üzeri ─────────────────────────────────────────────────────── */

@media (min-width: 1025px) {
    /* Kapsam listesi iki sütuna açılır — beş maddeyi tek sütunda uzatmak
       şartname değil, boşluk üretir. */
    .gs-15-hizmet .hz-kapsam-liste {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: var(--gs-bo-6) !important;
    }
}
