/* D-147 (müşteri revizesi 1, 2026-09-03) — ana sayfa hero: slider/manset2 arka planı kaldırıldı; aynı mavi gradient zemin,
   ortalanmış başlık + alt metin, dokuz beyaz ürün kartı (masaüstü 4+5: 20 kolonlu ızgara, ilk dört kart 5'er, sonraki beş kart 4'er
   kolon) ve "Tüm ürünleri gör" bağlantısı. Kartın tamamı bağlantıdır; ikon ECS'e özel yerel SVG (`images/hero-*.svg`). */
.home-hero { position: relative; isolation: isolate; padding: 56px 0 60px; color: var(--ecs-white); background-color: var(--ecs-blue-dark); background-image: linear-gradient(118deg, #0d4e8b 0%, #388fe4 62%, #63acf1 100%); overflow: hidden; }
.hero-inner { width: min(100% - 40px, 1140px); margin-inline: auto; text-align: center; }
.hero-title { margin: 0 0 10px; color: var(--ecs-white); font-size: 44px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.hero-subtitle { margin: 0 0 32px; color: var(--ecs-white); font-size: 18px; font-weight: 400; line-height: 1.5; }
.hero-products { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.hero-product { min-width: 0; grid-column: span 4; }
.hero-product:nth-child(-n+4) { grid-column: span 5; }
.hero-product-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; height: 100%; min-height: 160px; padding: 22px 12px 20px; border-radius: 15px; color: var(--ecs-ink); background: var(--ecs-white); text-decoration: none; box-shadow: 0 6px 18px rgba(14, 65, 114, .10); transition: transform var(--ecs-transition), box-shadow var(--ecs-transition); }
.hero-product-card:hover, .hero-product-card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(14, 65, 114, .22); }
.hero-product-card:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 3px; }
.hero-product-icon { display: block; width: 96px; height: 80px; }
.hero-product-icon-empty { width: 96px; height: 80px; border-radius: 12px; background: var(--ecs-soft); }
.hero-product-label { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--ecs-ink); }
/* D-166: hedefi olmayan ürün kartı (span) — aynı kart dili, tıklanmaz, küçük "Yakında" rozeti; hover kaldırma yok. */
.hero-product-card-pending { position: relative; pointer-events: none; }
.hero-product-soon { position: absolute; top: 10px; left: 10px; padding: 2px 8px; border-radius: 999px; background: var(--ecs-soft); color: var(--ecs-muted); font-size: 11px; font-weight: 700; line-height: 16px; }
.hero-product-label { text-align: center; }
.hero-all { margin: 28px 0 0; }
.hero-all-link { display: inline-block; padding: 8px 4px; color: var(--ecs-white); font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.hero-all-link:hover, .hero-all-link:focus-visible { color: #ffd0a7; }
.hero-all-link:focus-visible { outline: 3px solid var(--ecs-white); outline-offset: 3px; }
/* Exact kurtarılmış local fontello: poliçe kartları (.policy-icon) ve footer ikonları için tek font tanımı. */
@font-face { font-family: "fontello"; src: url("../fonts/fontello.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: block; }
/* Faz 5C.2a — canlı ana sayfa gövde ilk yarısı (1440×900 / 390×844 salt-okunur ölçüm, D-062). Global container/token/body değişmez; yalnız
   home'a scope'lu 1110 px iç alan (.home-inner: 1428 → x=159) ve 40px/48px/500 bölüm başlığı (mobilde 26 px). Canlıdaki dış illüstrasyonlar
   kopyalanmaz; fayda/süreç ritmi CSS-only dekoratif işaret/numara/çizgi ile korunur (kullanıcı kararı; vektör/raster üretimi yeniden açılmaz). */
.home-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
/* Faz 13 (F6): canlı `.ptitlesu` ölçümü — `text-align:center` her beş bölüm başlığında geçerlidir; yerelde
   yalnız yorumlar/poliçe/blog ortalıydı, diğer üçü sola yaslıydı. Renk: canlı dört başlıkta inline
   `color: black`, yalnız BLOG başlığı `.ptitlesu` varsayılanı #0e4172 ile mavidir. Siyahın en yakın tema
   karşılığı --ecs-ink (#0f141d); yeni token açılmadı. Font-size 40 / mobil 26 zaten canlıyla eşti. */
.home-section-title { margin: 0 0 16px; color: var(--ecs-ink); font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: 0; text-align: center; }
.home-section-title strong { font-weight: 700; }
/* Fayda bandı: hero'nun hemen altında full-width beş eş kolon (1428 → 285,6 px), 23 px iç boşluk + 53,5 px dekoratif işaret = 99,5 px;
   tek/çift yüzeyler #e8eff3 (--ecs-soft) ve rgba(232,239,243,.25) dönüşümlü; metin 15px/22,5px/700 (anlam yalnız metinde, işaret aria-hidden). */
.home-benefits { margin: 0; }
.benefit-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.benefit-item { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 23px; }
.benefit-item:nth-child(odd) { background: var(--ecs-soft); }
.benefit-item:nth-child(even) { background: rgba(232, 239, 243, .25); }
.benefit-mark { position: relative; flex: 0 0 auto; width: 53.5px; height: 53.5px; border: 3px solid var(--ecs-blue-deep); border-radius: 50%; }
.benefit-mark::before { content: ""; position: absolute; top: 12px; left: 17px; width: 12px; height: 22px; border-right: 3px solid var(--ecs-blue-deep); border-bottom: 3px solid var(--ecs-blue-deep); transform: rotate(45deg); }
/* Faz 6.2 (D-098): canlıdaki beş piktogram. Kutu ölçüsü eski dekoratif işaretle aynı kalır ki bandın
   dikey ritmi ve satır yüksekliği değişmesin; görsel oranını koruyarak kutuya sığar. */
.benefit-icon { display: grid; flex: 0 0 auto; place-items: center; width: 53.5px; height: 53.5px; }
.benefit-icon img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; }
/* Faz 13 (F11): canlı `.imgpcontent` ölçümü — 15px/400, #0f141d, opacity .7. Yerelde lacivert ve bold'du. */
.benefit-text { margin: 0; color: var(--ecs-ink); font-size: 15px; font-weight: 400; line-height: 22.5px; opacity: .7; overflow-wrap: break-word; }
/* Dört adımlı süreç: dış 72px 0 (fayda bandı 772,9 → başlık y≈844,9), 1110 px iç; başlık 40/48/500 + 24 px; dört tab satırı 44 px numara + 9 px +
   22,5 px başlık = 75,5 px; içerik alanı 48 px üstte, 240 px; aktif başlık 28px/42px/700 mavi, metin 18px/27px ⇒ 48+24+75,5+48+240 = 435,5 px.
   Tab satırındaki bağlantı çizgisi ve numara dairesi CSS-only dekoratiftir; pasif tab metni --ecs-muted beyazla ≥4,5. */
.home-process { margin: 72px 0; }
.home-process .home-section-title { margin-bottom: 24px; }
.process-tablist { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; }
/* Faz 13 (F12) — canlı `.steps` ölçümü: bağlantı çizgisi 1px #d9e2e6; numara dairesi 43px, 1px solid #388fe4
   kenarlık, #388fe4 metin, beyaz zemin, 16px/700; aktif adımda daire dolu #388fe4 + beyaz metin; adım
   başlığı 15px/700 #6e8daa, aktifte #388fe4. Yerelde pasif daire gri çerçeveli ve metin gri idi. */
.process-tablist::before { content: ""; position: absolute; top: 21px; right: 12.5%; left: 12.5%; height: 1px; background: #d9e2e6; }
.process-tab { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; min-height: 75.5px; margin: 0; padding: 0; border: 0; color: #6e8daa; background: transparent; font-size: 15px; font-weight: 700; line-height: 22.5px; letter-spacing: .02em; text-align: center; cursor: pointer; }
.process-step-number { display: inline-grid; place-items: center; width: 43px; height: 43px; border: 1px solid var(--ecs-blue); border-radius: 50%; color: var(--ecs-blue); background: var(--ecs-white); font-size: 16px; font-weight: 700; line-height: 1; }
.process-tab:hover .process-step-number { border-color: var(--ecs-blue-deep); }
.process-tab.is-active, .process-tab[aria-selected="true"] { color: var(--ecs-blue); }
.process-tab.is-active .process-step-number, .process-tab[aria-selected="true"] .process-step-number { border-color: var(--ecs-blue); color: var(--ecs-white); background: var(--ecs-blue); }
.process-panels { margin-top: 48px; }
.process-panel { min-height: 240px; text-align: center; }
.process-panel-media { display: block; max-width: 100%; height: auto; margin: 0 auto 24px; }
.process-panel-title { margin: 0 0 16px; color: var(--ecs-blue-deep); font-size: 28px; font-weight: 700; line-height: 42px; letter-spacing: 0; }
.process-panel-text { max-width: 900px; margin: 0 auto; color: var(--ecs-ink); font-size: 18px; line-height: 27px; }
/* Kampanya/ürün carousel'leri: dış 72px 0 (kampanya altı 129 px ⇒ ürün başlığı canlı y≈2105,4), başlık altı 16 px (ürünlerde 24 px), 1110 px track,
   aynı anda üç 370 px slayt (slayt iç boşluğu 0 15px ⇒ 340 px kart, aralık 0), scroll-snap ve yalnız previous/next (carousel.js; autoplay yok);
   kaydırma çubuğu görsel olarak gizli, track klavye ile odaklanabilir (tabindex=0 + görünür focus). Kampanya kartı ≈492 px, ürün kartı 370×170 iki
   katmanlı (koyu başlık şeridi + açık gövde). JS yokken previous/next gizlenir, track native kaydırılır. Boş veri: dengeli tek empty-state.
   Faz 5C.2a takip: kart kendi absolute sr-only CTA ekleri için positioned containing block'tur (relative; geometri aynen) — off-screen slaytların etiketi
   kart/track içinde kalır, belge köküne yatay taşma 0 (1440 gerçek ölçüm documentElement.scrollWidth 2123 → 1425 = clientWidth).
   Faz 5C.2a takip (masaüstü ürün kartı): gerçek 1440 ölçümünde altı ürün kartı 238 px çıktı (57–60 karakterlik ürün adı 18/24 px ile 3 satır = 100 px
   şerit + 3–4 satır özet); >768 px sabit yükseklik 170 px = koyu şerit 14 + 2×19 + 14 = 66 px (ad 15/19 px, iki satır) + açık gövde 10 + 2×21 özet + 8 +
   34 CTA + 10 = 104 px. Özet ham metniyle DOM'da kalır; yalnız ürün kartına scope'lu iki satırlık görsel satır sınırı (line-clamp) ve esnek
   küçülme (min-height: 0) kullanılır; ad tam görünür, CTA 34 px kutusu kart içinde kalır. ≤768 px tek kart görünümü responsive.css ile önceki
   ≈212 px doğal akışa (18/24 ad, 14/18 gövde, satır sınırı yok) geri döner. */
.home-carousel-section { margin: 72px 0; }
.home-campaigns { margin-bottom: 129px; }
.home-products .home-section-title { margin-bottom: 24px; }
.home-track { display: flex; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.home-track::-webkit-scrollbar { display: none; }
.home-slide { display: flex; flex: 0 0 370px; min-width: 0; padding: 0 15px; scroll-snap-align: start; }
/* Faz 13 (F7) — canlı `.blog-card` ailesinin ölçülmüş anatomisi (site.css kanıtı):
   kart  : radius 15px, zemin+kenarlık rgba(173,205,235,.1), margin-top 100px, max-width 350px, ortalı,
           blogda min-height 427px, kampanyada doğal yükseklik (`height:auto`).
   kapak : 270×153 (blog) / 270×270 (kampanya), radius 15px, mavi glow `0 0 20px rgba(56,143,228,.5)`,
           `margin-top:-18%` ile kartın üst kenarından dışarı taşar — bu yüzden kart `overflow: visible`.
   rozet : kapağın sağ üstünde absolute pill (#388fe4, 12px/400, beyaz, `0 3px 6px` mavi gölge).
   gövde : padding 16px 40px, 15px/600, #0f141d, opacity .7; başlık 20px/600; ayırıcı çizgi + CTA `.blog-btn`
           (beyaz zemin, 2px #388fe4 kenarlık, 13px bold, radius 15px, padding 15px 35px).
   Eski beyaz-zemin + gölge + tam genişlik kapak + sol hizalı turuncu etiket düzeni bunlarla değişti. */
.home-card { position: relative; display: flex; flex: 1 1 auto; flex-direction: column; align-items: center; min-width: 0; max-width: 350px; margin: 100px auto 0; border: 1px solid rgba(173, 205, 235, .1); border-radius: var(--ecs-radius); background: rgba(173, 205, 235, .1); text-align: center; }
.campaign-card { min-height: 0; }
.blog-card { min-height: 427px; }
.home-card-media { position: relative; width: 270px; max-width: 100%; margin: -18% auto 0; border-radius: var(--ecs-radius); box-shadow: 0 0 20px rgba(56, 143, 228, .5); background: var(--ecs-soft); }
.campaign-card .home-card-media { aspect-ratio: 1 / 1; }
.blog-card .home-card-media { aspect-ratio: 270 / 153; }
.home-card-picture, .home-card-picture img { display: block; width: 100%; height: 100%; border-radius: var(--ecs-radius); object-fit: cover; }
/* Canlıda gövde, kartın flex `align-items:center` altında shrink-to-fit olan `<a>` bloğunun içindedir:
   kısa başlıklı kartta blok daralır ve ortalanmış görünür, uzun başlıklıda kart genişliğine dayanır ve
   metin sola yaslı okunur. `width: fit-content` + otomatik yatay marj aynı davranışı markup değiştirmeden verir. */
.home-card-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 12px; width: fit-content; max-width: 100%; margin-inline: auto; padding: 16px 40px; text-align: left; }
.home-card-label { position: absolute; top: -16px; right: 7px; z-index: 2; margin: 0; padding: 10px 22px; border-radius: 500px; color: var(--ecs-white); background: var(--ecs-blue); box-shadow: 0 3px 6px var(--ecs-blue); font-size: 12px; font-weight: 400; line-height: 1; }
.home-card-title { margin: 0; color: var(--ecs-ink); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: 0; opacity: .7; }
.home-card-title a { color: inherit; text-decoration: none; }
.home-card-title a:hover, .home-card-title a:focus-visible { text-decoration: underline; }
.home-card-text { margin: 0; color: var(--ecs-ink); font-size: 15px; font-weight: 600; line-height: 22.5px; opacity: .7; }
.home-card-foot { width: 100%; margin-top: auto; padding: 16px 20px; border-top: 1px solid rgba(0, 0, 0, .1); }
.home-card-cta { display: inline-block; padding: 15px 35px; border: 2px solid var(--ecs-blue); border-radius: var(--ecs-radius); color: var(--ecs-blue); background: var(--ecs-white); font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background-color var(--ecs-transition), color var(--ecs-transition); }
.home-card-cta:hover, .home-card-cta:focus-visible { color: var(--ecs-white); background: var(--ecs-blue); }
/* Faz 6.3 (D-098): altı küre ürün kartı 3x2 ızgarada. Kartlar eşit yükseklikte olur (grid satırı içinde
   `stretch`), CTA her kartta aynı hizada kalır ve içerik kırpılmaz — eski carousel'de üçüncü kart konteyner
   kenarından taşıyor ve kart yükseklikleri tutmuyordu. */
/* Faz 13 (F8) — canlı `.flex-rev > .rev-box` ölçümü: tek katmanlı açık zemin #f2f6fb (=--ecs-softest),
   radius 10px, padding 13px 15px, min-height 150px, kart arası 5px marj. Başlık satırı `.rev-imgtext`
   15px/400 #0f141d (ilk kelime bold), özet `.rev-alt p` 11.5px/19px #9498a0 ve min-height 55px,
   CTA `.rev-alt a` bir BUTON DEĞİL: 12px/700 #388fe4 düz bağlantı, 10px üst boşluk.
   Eski koyu lacivert başlık şeridi + dolu mavi buton düzeni bununla değişti. */
.product-slide { flex-basis: 370px; }
.product-tile { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; min-height: 150px; padding: 13px 15px; border-radius: 10px; background: var(--ecs-softest); transition: transform .3s ease; }
.product-tile:hover { transform: scale(1.01); }
.product-tile-head { display: flex; align-items: center; margin-bottom: 8px; padding: 0; color: var(--ecs-ink); background: transparent; }
.product-tile-title { margin: 0; color: var(--ecs-ink); font-size: 15px; font-weight: 400; line-height: 22.5px; letter-spacing: 0; }
.product-tile-title strong { font-weight: 700; }
.product-tile-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; min-height: 0; padding: 0; background: transparent; }
.product-tile-text { flex: 1 1 auto; min-height: 55px; margin: 0; color: #6b7480; font-size: 13px; font-weight: 400; line-height: 20px; } /* D-168: 11.5px → 13px, kontrast artırıldı */
.product-tile-cta { position: relative; display: inline-block; flex: 0 0 auto; margin-top: 10px; padding: 0; border: 0; border-radius: 0; color: var(--ecs-blue); background: transparent; font-size: 12px; font-weight: 700; text-decoration: none; } /* D-169: CTA positioned containing block — içindeki sr-only span (absolute) statik konumuyla track dışına taşıp mobilde belgeyi 2034 px'e büyütüyordu; S13 track/slayt/kart kuralına dokunmadan en dar kapsam */
.product-tile-cta:hover, .product-tile-cta:focus-visible { color: var(--ecs-blue-deep); background: transparent; text-decoration: underline; }
.home-carousel-actions { display: flex; justify-content: center; gap: 16px; margin-top: 24px; }
.home-carousel-actions button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid var(--ecs-blue-deep); border-radius: 50%; color: var(--ecs-blue-deep); background: var(--ecs-white); font-size: 20px; line-height: 1; cursor: pointer; }
.home-carousel-actions button:hover { color: var(--ecs-white); background: var(--ecs-blue-deep); }
.no-js .home-carousel-actions { display: none; }
/* Faz 13 (F9): canlıda ürün ve yorum şeritlerinin okları şeridin altında değil, kartların İKİ YANINDADIR
   (`.rev .slick-prev/.slick-next`, `top:47%`). Konteyner tam genişlikte ve tıklamayı geçirir; yalnız
   düğmeler tıklanabilir, böylece kartların üzerinde görünmez bir katman oluşmaz. */
.home-products, .home-testimonials { position: relative; }
/* Faz 13 (F26): oklar kart kenarına yapışık duruyordu. Konteynerin dışına taşan genişlik 1250 → 1360 px
   yapıldı: 1168 px'lik yorum alanının iki yanında ~96 px boşluk kalır (canlıda da oklar kartlardan ayrıktır).
   Dar görünümde `min()` zaten kenar boşluğuna iner, taşma oluşmaz. */
.home-products .home-carousel-actions, .review-actions { position: absolute; top: 50%; right: 0; left: 0; justify-content: space-between; width: min(100% - 30px, 1360px); margin: 0 auto; padding: 0; transform: translateY(-50%); pointer-events: none; }
.home-products .home-carousel-actions button, .review-actions button { pointer-events: auto; }
/* Blog: kart başına bir nokta; aktif olan dolu. Canlı slick nokta göstergesinin ölçüsü. */
.home-carousel-dots { display: flex; justify-content: center; gap: 10px; margin-top: 24px; }
.no-js .home-carousel-dots { display: none; }
.home-carousel-dot { position: relative; width: 12px; height: 12px; padding: 0; border: 1px solid var(--ecs-blue); border-radius: 50%; background: var(--ecs-white); cursor: pointer; }
.home-carousel-dot::after { content: ""; position: absolute; inset: -9px; }
.home-carousel-dot.is-active { background: var(--ecs-blue); }
.home-carousel-dot:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 3px; }
/* Faz 13 (F1): canlı `.btnta` ölçümü — #085bae zemin, beyaz 13px bold metin, padding 15px 14px, radius 8px,
   ortalanmış blok. Kampanya/blog altında 3rem alt boşluk, yorumlarda 3rem üst boşluk (`mb-5` / `mt-5`). */
.home-section-all { margin: 24px 0 48px; text-align: center; }
.home-testimonials .home-section-all { margin: 48px 0 0; }
.home-all-cta { display: inline-block; padding: 15px 14px; border: 0; border-radius: var(--ecs-radius-sm); color: var(--ecs-white); background: var(--ecs-blue-deep); font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: opacity var(--ecs-transition); }
.home-all-cta:hover, .home-all-cta:focus-visible { opacity: .8; text-decoration: none; }
.home-empty-state { display: grid; place-items: center; min-height: 170px; text-align: center; }
/* Faz 5C.2b — canlı ana sayfa alt gövdesi (1440×900 / 390×844 salt-okunur ölçüm, D-062). MÜŞTERİ YORUMLARI: full-bleed exact local yorumbg.png
   (home.php data-testimonial-image + --home-testimonial-image; dosya yoksa koyu mavi gradient), 662,5 px = 72 üst + 48 başlık + 16 + 24 alt metin + 20 +
   297 px track + 24 + 44 prev/next + 117,5 alt; iç alan 1168 px (x=136), üç görünür slayt 389,33 px, kart 217 px ve viewport merkezine en yakın slayt
   (ilk görünümde ikinci; home-content.js kaydırma sonrası tek is-featured sınıfını taşır) 1,15 ölçekle ≈447,73×249,55 px vurgulu (yalnız görsel ölçek;
   yerleşim/track scroll genişliği değişmez, track 40 px dikey iç boşlukla ölçeği kırpmaz).
   Kart: hazır local avatar (80 px daire) veya dekoratif baş harf, 15/22,5/700 ad, 14/21 metin; yıldız/puan üretilmez.
   Faz 5C.2b takip (gerçek 1440/390 ölçümü): uzun yorum metni kartı 217'den 292 px'e uzatıp track'i 372 px yapıyordu ve 15 px yatay slayt boşluğu kartı
   359,33 px'e daraltıyordu. Slayt boşluğu 0 (kart = slayt genişliği), kart sabit 217 px kutu = 20 + (80 avatar + 12 + 1 çizgi) + 12 + 3×21 metin + 20 =
   208 ≤ 217; ham metin DOM'da kayıpsız kalır, yalnız yorum metnine scope'lu üç satırlık görsel satır sınırı + esnek küçülme (kart taşan içeriği kırpar).
   Statik 3n+2 vurgusu kaldırıldı; yalnız is-featured slayt ölçeklenir (kaydırma sonrası merkez kart JS ile eşlenir). */
.home-testimonials { margin: 72px 0 0; padding: 72px 0 117.5px; color: var(--ecs-white); background-color: var(--ecs-blue-dark); background-image: linear-gradient(130deg, #0e4172, #082b4a); }
.home-testimonials[data-testimonial-image] { background-image: var(--home-testimonial-image), linear-gradient(130deg, #0e4172, #082b4a); background-size: cover; background-position: center; background-repeat: no-repeat; }
.testimonial-inner { width: min(100% - 30px, 1168px); }
/* Faz 13 (F18): canlıda bu tek başlıkta ağırlık sırası terstir — `.musteri` (MÜŞTERİ) bold, `.title-yorumlari`
   (YORUMLARI) font-weight 200. Yerelde `<strong>` ikinci kelimeyi kalınlaştırıyordu; markup değişmedi,
   yalnız bu bölüme scope'lu ağırlık eşlendi. Alt metin canlı `.müsterialt` = 18px, margin-bottom 25px. */
.home-testimonials .home-section-title { margin-bottom: 16px; color: var(--ecs-white); font-weight: 700; }
.home-testimonials .home-section-title strong { font-weight: 200; }
.home-section-subtitle { margin: 0 0 25px; color: var(--ecs-white); font-size: 18px; line-height: 27px; text-align: center; }
.review-track { padding: 40px 0; }
.review-slide { flex-basis: 33.3333%; align-items: center; padding: 0; }
.review-card { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; height: 217px; padding: 20px 24px; border-radius: var(--ecs-radius); color: var(--ecs-ink); background: var(--ecs-white); box-shadow: var(--ecs-shadow-soft); overflow: hidden; }
.review-slide.is-featured .review-card { transform: scale(1.15); }
.review-head { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--ecs-line); }
.review-avatar-box, .review-initial { flex: 0 0 auto; width: 80px; height: 80px; border-radius: 50%; overflow: hidden; }
.review-avatar, .review-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.review-initial { display: grid; place-items: center; color: var(--ecs-white); background: var(--ecs-blue-deep); font-size: 32px; font-weight: 700; line-height: 1; }
/* Faz 6.4 (D-098): canlıdaki beş yıldız. Saf CSS ile çizilir — yeni ikon fontu, SVG veya dış varlık yok.
   Yıldızlar dekoratiftir (şablonda `aria-hidden`), bir puan iddia etmez. */
.review-meta { display: grid; gap: 6px; min-width: 0; }
.review-stars { display: flex; flex: 0 0 auto; gap: 4px; margin: 0; }
.review-star { width: 16px; height: 16px; background: var(--ecs-orange, #d97b28); clip-path: polygon(50% 0%, 61.8% 35.4%, 100% 35.4%, 69.1% 57.2%, 80.9% 92.6%, 50% 70.8%, 19.1% 92.6%, 30.9% 57.2%, 0% 35.4%, 38.2% 35.4%); }

.review-name { margin: 0; color: var(--ecs-blue-dark); font-size: 15px; font-weight: 700; line-height: 22.5px; text-transform: uppercase; overflow-wrap: anywhere; }
.review-text { display: -webkit-box; flex: 1 1 auto; min-height: 0; margin: 12px 0 0; color: #384858; font-size: 14px; line-height: 21px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.review-actions { margin-top: 24px; }
.review-actions button { border-color: var(--ecs-white); color: var(--ecs-white); background: transparent; }
.review-actions button:hover { color: var(--ecs-blue-dark); background: var(--ecs-white); }
.review-empty-state { color: var(--ecs-white); }
/* POLİÇE ALMADAN ÇIKMAYIN: 72 px üst boşluk, 40/48 başlık + 16 + 16/24 açıklama + 38,5 ⇒ kart alanı başlıktan 126,5 px sonra; 1140 px (x=144) alan
   42,75 px dikey iç boşlukla 252 px; beş eş 228 px kolon = kart kutusu (yatay marj 0); kart border-box 166,5 px = 1 çizgi + 15 + 40 ikon + 10 + 2×21 ad +
   10 + 32,5 CTA + 15 + 1 çizgi. Faz 5C.2b takip: gerçek 1440 ölçümünde 10 px marj + 16 px iç boşluk + 1 px çizgiler kartı 208×168,5 yapıyordu; sabit
   yükseklik ve 15 px dikey iç boşlukla exact 228×166,5. İkon exact local fontello (hero ile aynı tek font tanımı/dosyası; Konut U+E805 font cmap'ında
   kanıtlı), dekoratif aria-hidden; CTA exact HEMEN TEKLİF AL. */
.home-policy { margin: 72px 0; }
/* D-149: POLİÇE ALMADAN ÇIKMAYIN — 17 ürün, hero kart dili (beyaz zeminde ince kenarlık), masaüstü 6 kolon (992: 4, 768: 3, 500: 2). */
.all-products { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.all-products-item { min-width: 0; margin: 0; }
.all-products-card { min-height: 150px; padding: 18px 8px 16px; border: 1px solid var(--ecs-line); box-shadow: var(--ecs-shadow-soft); }
.all-products-card:hover, .all-products-card:focus-visible { border-color: var(--ecs-blue); }
.all-products-card .hero-product-label { font-size: 14px; }
/* Faz 13 (F6): ortalama artık `.home-section-title` genelinde; buradaki tekil override kaldırıldı.
   Alt metin canlı `.pcontentsu` ölçümü: 15px, #0e4172, opacity .7, ortalı. */
.home-section-text { margin: 0 0 38.5px; color: var(--ecs-blue-dark); font-size: 15px; line-height: 22.5px; text-align: center; opacity: .7; }
.policy-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: min(100% - 30px, 1140px); margin-inline: auto; padding: 42.75px 0; list-style: none; }
/* Faz 13 (F16) — canlı `.policebox.small-card .card` ölçümü: kart max-width 200px ve kolon içinde ortalı,
   radius 15px, 1px solid #388fe4 mavi kenarlık, gölge `0 0 20px rgba(0,0,0,.15)`. Yerelde gri kenarlık,
   8px radius ve kolonun tam genişliğiydi — kartlar bu yüzden sola yaslı bir şerit gibi duruyordu. */
.policy-card { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 200px; min-width: 0; height: 164.5px; margin-inline: auto; padding: 15px 12px; border: 1px solid var(--ecs-blue); border-radius: var(--ecs-radius); color: var(--ecs-ink); background: var(--ecs-white); box-shadow: 0 0 20px rgba(0, 0, 0, .15); text-align: center; }
.policy-icon { display: block; height: 40px; color: var(--ecs-blue); font-size: 40px; line-height: 40px; }
.policy-icon::before { display: inline-block; font-family: "fontello"; font-style: normal; font-weight: 400; font-variant: normal; line-height: 1; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.policy-icon.icon-saglik::before { content: "\e801"; }
.policy-icon.icon-konut::before { content: "\e805"; }
.policy-icon.icon-trafik::before { content: "\e806"; font-weight: 700; }
.policy-icon.icon-zorunludeprem::before { content: "\e807"; }
.policy-icon.icon-kasko::before { content: "\e808"; }
/* Canlı `.sm-bold-text` / `.sm-light-text` 14px #0f141d (bold + lighter); CTA `.small-card-btn` 11px/400,
   1px #388fe4 kenarlık, radius 17px, beyaz zemin. */
.policy-label { margin: 10px 0; color: var(--ecs-ink); font-size: 14px; line-height: 21px; }
.policy-label strong { font-weight: 700; }
.policy-label span { font-weight: 300; }
.policy-cta { display: inline-block; margin-top: auto; padding: 6px 12px; border: 1px solid var(--ecs-blue); border-radius: 17px; color: var(--ecs-blue); background: var(--ecs-white); font-size: 11px; font-weight: 400; line-height: 1.5; text-align: center; text-decoration: none; transition: background-color var(--ecs-transition), color var(--ecs-transition); }
.policy-cta:hover, .policy-cta:focus-visible { color: var(--ecs-white); background: var(--ecs-blue); }
/* BLOG: başlık altı 0 (track başlıktan 48 px sonra, y≈3662,4), 1110 px track, üç 370 px slayt (340 px kart), kart ≥527 px (340×210 kapak + gövde). */
/* Faz 13 (F6): canlıda BLOG başlığında inline `color: black` yoktur — `.ptitlesu` varsayılanı #0e4172 ile
   mavi kalır. Ortalama genel kuraldan gelir. */
.home-blog .home-section-title { margin-bottom: 0; color: var(--ecs-blue-dark); }
/* Faz 13 (F7): blog kartının min yüksekliği canlı `.mainpage .blog-card` ölçümüyle (427px) yukarıda tanımlı. */
/* Footer öncesi başlıksız şirket şeridi: full-width 110 px yatay track, 240×110 öğe (1440'ta altı görünür), scrollbar görsel olarak gizli; kapaksız
   kayıtta başlık metni. Autoplay/JS yok; bağlantılar Tab ile erişilir. 576 px altı üç sütunlu 60 px grid responsive.css'te. */
/* Faz 13 (F21): şerit artık canlının kullandığı şeffaf/beyaz zeminli logo setini basıyor (kapaklar değil),
   bu yüzden zemin canlıdaki gibi beyaz kaldı. */
/* D-150 — anlaşmalı şirketler: kayan şerit yerine açık gri zeminde beş kolonlu beyaz kart ızgarası; logo gri tonlamalı, hover/odakta renkli. */
.partner-strip { margin: 72px 0 0; padding: 40px 0 48px; background: var(--ecs-softest); }
/* D-168: içerik bölümü (section-space) zaten 58–100 px alt dolgu taşıdığı için şeridin 72 px üst marjı bu sayfalarda kalkar (172 → ≤100 px). Ana sayfada önceki kardeş section-space değildir; 72 px kalır. */
.section-space + .partner-strip { margin-top: 0; }
.partner-title { margin: 0 0 28px; color: var(--ecs-ink); font-size: 40px; font-weight: 500; line-height: 48px; text-align: center; }
.partner-title strong { font-weight: 700; }
.partner-track { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; width: min(100% - 40px, 1140px); margin: 0 auto; padding: 0; list-style: none; }
.partner-item { min-width: 0; height: 110px; }
.partner-card { display: grid; place-items: center; width: 100%; height: 100%; padding: 15px 20px; border-radius: 12px; color: var(--ecs-blue-dark); background: var(--ecs-white); box-shadow: 0 2px 10px rgba(14, 65, 114, .06); font-size: 12px; font-weight: 700; text-align: center; text-decoration: none; transition: box-shadow var(--ecs-transition); }
.partner-card:hover, .partner-card:focus-visible { box-shadow: 0 8px 24px rgba(14, 65, 114, .14); }
.partner-card:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: -3px; }
.partner-picture { filter: grayscale(1) opacity(.72); transition: filter var(--ecs-transition); }
.partner-card:hover .partner-picture, .partner-card:focus-visible .partner-picture { filter: none; }
/* D-151: logolar 400×140 (2x) normalize PNG — 124×44 kutuda contain (sigortam.net ölçeği; içerik ≈105×35); SVG'ler (emaa, neova) aynı kutuya sığar. */
.partner-picture, .partner-picture img { display: block; width: 124px; max-width: 100%; height: 44px; object-fit: contain; }
.testimonial-section { color: var(--ecs-white); background: linear-gradient(130deg, #0e4172, #082b4a); overflow: hidden; }
.testimonial-card { position: relative; min-width: 0; margin: 0; padding: 30px; border-radius: var(--ecs-radius); color: var(--ecs-blue-dark); background: var(--ecs-white); scroll-snap-align: start; }
.testimonial-card p { color: #3e5365; }
.testimonial-card cite { display: block; margin-top: 18px; color: var(--ecs-blue-dark); font-size: 14px; font-style: normal; font-weight: 800; }
.quote-mark { position: absolute; top: 4px; right: 18px; color: #d5e7f7; font-size: 70px; line-height: 1; }
.page-hero { position: relative; isolation: isolate; color: var(--ecs-white); background: linear-gradient(115deg, #0e4172, #388fe4); overflow: hidden; }
.page-hero::after { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; top: -250px; right: 10%; border-radius: 50%; background: rgba(255,255,255,.09); }
.page-hero-inner { display: grid; align-content: center; min-height: 330px; padding-block: 65px; }
.page-hero h1 { max-width: 900px; margin-bottom: 12px; color: var(--ecs-white); }
.page-hero .eyebrow { color: #ffd0a7; }
.page-hero-summary { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: 18px; }
.article-detail { max-width: 950px; }
.article-header { margin-bottom: 35px; }
.article-header h1 { max-width: 900px; margin-bottom: 15px; }
.article-header time { color: var(--ecs-muted); font-size: 13px; }
.article-cover, .article-cover img { width: 100%; border-radius: var(--ecs-radius); }
.article-detail > .article-cover { margin-bottom: 40px; }
.insurer-logo, .insurer-logo img { width: min(100%, 260px); max-height: 120px; margin-bottom: 35px; object-fit: contain; }
.testimonial-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.not-found { display: grid; place-items: center; min-height: 65vh; padding-block: 80px; text-align: center; }
.error-code { margin: 0; color: var(--ecs-blue); font-size: clamp(80px,15vw,180px); font-weight: 900; line-height: .8; opacity: .15; }
.not-found h1 { margin-top: -20px; }
/* Faz 5D.1b — ürün/teklif ortak üst kompozisyon (1440×900 / 390×844 salt-okunur canlı ölçüm, D-063). Header altında full-width kısa banner:
   exact 1921×330 local asset tek custom property olarak (offer-banner.php data-banner-image + --offer-banner-image; dosya yoksa mavi gradient),
   43,2px 15px iç boşluk, cover/center; iç satır 1140 px (1428 → x=144). H1 40/48/500 beyaz + 8 px alt marj, intro 14/25 beyaz hafif saydam +
   11,5 px alt marj ⇒ introlu 43,2+48+8+25+11,5+43,2 = 178,9 px, introsuz 43,2+48+8+43,2 = 142,4 px. Ek koyu overlay/pseudo katman yok; yalnız
   ölçülü text-shadow. Doğrulanmış ürün kapağı banner içinde absolute cover medya (picture sözleşmesi aynen), route asset'i arkada fallback. */
.offer-banner { position: relative; isolation: isolate; padding: 43.2px 15px; color: var(--ecs-white); background-color: var(--ecs-blue-dark); background-image: linear-gradient(118deg, #0d4e8b 0%, #388fe4 62%, #63acf1 100%); overflow: hidden; }
.offer-banner[data-banner-image] { background-image: var(--offer-banner-image), linear-gradient(118deg, #0d4e8b 0%, #388fe4 62%, #63acf1 100%); background-size: cover; background-position: center; background-repeat: no-repeat; }
.offer-banner-media { position: absolute; z-index: -1; inset: 0; }
.offer-banner-picture, .offer-banner-picture img { width: 100%; height: 100%; object-fit: cover; }
.offer-banner-inner { width: min(100%, 1140px); margin-inline: auto; min-width: 0; text-shadow: 0 1px 2px rgba(0, 0, 0, .3); }
.offer-title { margin: 0 0 8px; color: var(--ecs-white); font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: 0; overflow-wrap: break-word; }
.offer-summary { margin: 0 0 11.5px; color: rgba(255, 255, 255, .88); font-size: 14px; line-height: 25px; }
/* Form başlığı banner'dan 48 px sonra (307,9 → 355,9): 30/36 ortalı iki satır (ad 700 + TEKLİF FORMU 300); form 48 px sonra (475,9) 1110 px
   (x=159) iki kolon: kolon 555 px = 15 px iç boşluk + 525 px kontrol; label 15/22,5, kontrol 38 px = 1 + 6 + 24 + 6 + 1 (#ced4da, 4 px radius);
   radio/checkbox/textarea/consent tam satır; submit sağda 173×53,5 = 2 + 16 + 17,5 + 16 + 2 (2 px #388fe4 çerçeve, 10 px radius, 13 px kalın
   TEKLİF AL; metin beyaz zeminde AA için --ecs-blue-deep). Bölüm altı 80 px, ardından 1110 px tam genişlik içerik 30/36 H2 ve 22/26,4 H3. */
.offer-main-form { padding: 48px 0 80px; }
.offer-form-title { margin: 0 0 48px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: 0; text-align: center; overflow-wrap: break-word; }
.offer-form-title-name, .offer-form-title-kind { display: block; }
/* D-136: canlı `iletisim-light` / `iletisim-bold` — ürün adı ince, "TEKLİF FORMU" kalın. */
.offer-form-title-name { font-weight: 300; }
.offer-form-title-kind { font-weight: 700; }
.offer-form-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
/* D-136: canlı ızgara 12 kolonlu Bootstrap'tır — alanlar %50, `belge_seri`/`belge_seri_no` %25 (Plaka | Belge Seri |
   Belge Seri No tek satır). 4 kolonlu grid: alan 2 kolon, iki belge alanı 1 kolon, geniş alanlar tam satır.
   Zorunlu yıldızı canlıda yoktur; `required` özniteliği kalır, yalnız işaret gizlenir. Araç Durumu canlıda tek
   satır: kalın "Araç Durumu:" etiketi + kutusuz düz radio'lar. Onay satırı canlıda kalın koyu metin + mavi bağlantı. */
.offer-main-form .form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.offer-main-form .form-field { grid-column: span 2; margin: 0 0 16px; padding: 0 15px; }
.offer-main-form .form-field-wide { grid-column: 1 / -1; }
.offer-main-form .form-field-name-belge_seri, .offer-main-form .form-field-name-belge_seri_no { grid-column: span 1; }
.offer-main-form .form-field:has(> select) { grid-column: 1 / -1; }
.offer-main-form .required-mark { display: none; }
.offer-main-form fieldset.form-field { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 8px; margin-bottom: 24px; padding-top: 0; padding-bottom: 0; border: 0; }
.offer-main-form fieldset.form-field legend { float: left; margin: 0; padding: 0; font-weight: 700; }
.offer-main-form fieldset.form-field legend::after { content: ":"; }
.offer-main-form .choice-row { gap: 10px 20px; }
.offer-main-form .choice { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 16px; }
.offer-main-form .form-consent-legal { align-items: center; margin-top: 8px; color: var(--ecs-ink); font-size: 14px; font-weight: 700; line-height: 22px; }
.offer-main-form .form-consent-legal a { color: var(--ecs-blue-deep); text-decoration: none; }
.offer-main-form .form-consent-legal a:hover, .offer-main-form .form-consent-legal a:focus-visible { text-decoration: underline; }
.offer-main-form .form-field label, .offer-main-form .form-field legend { margin-bottom: 8px; color: var(--ecs-ink); font-size: 15px; font-weight: 400; line-height: 22.5px; }
.offer-main-form .form-field input:not([type="checkbox"]):not([type="radio"]), .offer-main-form .form-field select, .offer-main-form .form-field textarea { min-height: 38px; padding: 6px 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 16px; line-height: 24px; }
.offer-main-form .form-field textarea { min-height: 120px; }
.offer-main-form .form-status:not(:empty), .offer-main-form .error-summary, .offer-main-form .form-consent { margin-right: 15px; margin-left: 15px; }
.offer-main-form .form-submit { display: flex; width: max-content; min-width: 173px; min-height: 53.5px; margin: 22px 15px 0 auto; padding: 16px 40px; border: 2px solid var(--ecs-blue); border-radius: 10px; color: var(--ecs-blue-deep); background: var(--ecs-white); box-shadow: none; font-size: 13px; font-weight: 700; line-height: 17.5px; }
.offer-main-form .form-submit:hover, .offer-main-form .form-submit:focus-visible { border-color: var(--ecs-blue-deep); color: var(--ecs-white); background: var(--ecs-blue-deep); }
.offer-content { width: min(100% - 30px, 1110px); margin-inline: auto; padding-bottom: 80px; }
.offer-banner + .offer-content { padding-top: 48px; }
.offer-content h2 { margin: 24px 0 12px; font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: 0; }
.offer-content h3 { margin: 20px 0 10px; font-size: 22px; font-weight: 700; line-height: 26.4px; letter-spacing: 0; }
.offer-content p { margin: 0 0 16px; font-size: 16px; line-height: 24px; }
.offer-content li { line-height: 24px; }
/* Faz 5D.1c — ürün/teklif SSS, ilişkili blog ve partner başlığı modülleri (D-076). Üçü de normal içerikten sonra, aynı 1110 px
   eksende. Başlıklar canlı 40/48/500; SSS native <details> ile başlangıçta kapalıdır (JS yok), dekoratif +/− yalnız CSS content'idir
   ve summary satırı 44 px minimum hedefi korur. Blog track native yatay scroll + scroll-snap'tir: masaüstünde üç 370 px slayt
   (350 px kart), dar görünümde tek tam slayt; otomatik geçiş, klon veya timer yoktur. Partner başlığından sonra Faz 5C.2b'nin
   ortak başlıksız logo şeridi gelir; bu blokta yeni asset, overlay veya transform yoktur. */
.offer-modules-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.offer-modules-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: 0; overflow-wrap: break-word; }
.offer-faq { padding-bottom: 56px; }
.offer-faq-item { border-bottom: 1px solid #e3e8ef; }
.offer-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 28px 0; color: var(--ecs-blue-dark); font-size: 17px; font-weight: 600; line-height: 26px; list-style: none; cursor: pointer; }
.offer-faq-question::-webkit-details-marker { display: none; }
.offer-faq-question::after { content: "+"; flex: 0 0 auto; width: 24px; color: var(--ecs-blue); font-size: 26px; font-weight: 400; line-height: 24px; text-align: center; }
.offer-faq-item[open] > .offer-faq-question::after { content: "\2212"; }
.offer-faq-question:focus-visible { outline: 2px solid var(--ecs-blue-deep); outline-offset: 2px; }
.offer-faq-question-text { min-width: 0; }
.offer-faq-answer { padding: 0 0 24px; color: var(--ecs-ink); }
.offer-faq-answer p { margin: 0 0 12px; font-size: 16px; line-height: 24px; }
.offer-faq-answer p:last-child { margin-bottom: 0; }
.offer-faq-answer img { max-width: 100%; height: auto; }
/* D-140 adım 1 — canlı ölçüm (2026-09-02): "<Ürün> Blog" ve "Anlaşmalı <Ürün> Şirketleri" başlıkları ortalı (`text-center mt-5 mb-5`),
   üç `.blog-card` kartı blog arşiviyle aynı `archive-card` anatomisi (rozet kartın sağ üstünde, alt bantta çerçeveli
   "Devamını Oku"), "TÜMÜNÜ GÖSTER" canlı `.btnta` (#085bae) = `home-all-cta`. Kaydırmalı track kaldırıldı; dar
   görünümde arşivle aynı 2 → 1 sütun ızgara (responsive.css). JS, timer, klon yoktur. */
.offer-modules-title-center { margin: 48px 0 38px; font-size: 30px; line-height: 36px; text-align: center; }
.offer-blog { padding-bottom: 48px; }
.offer-blog-grid { margin-top: 0; }
.offer-blog-grid .archive-card { margin-top: 70px; }
.offer-blog-cta { margin: 96px 0 0; text-align: center; }
.offer-partners { padding-bottom: 0; }
.offer-partners .offer-modules-title-center { margin: 0; }
.offer-partners + .partner-strip { margin-top: 0; border-top: 0; }
.offer-partners + .partner-strip { padding-top: 24px; }
.offer-partners + .partner-strip .partner-item { height: 80px; }
/* Faz 5D.2c — blog detayı 730 + 380 kompozisyonu (D-077, canlı 1440×900 / 390×844 salt-okunur ölçüm). Kapsayıcı 1140 px
   (x=144); satır 15 px sol iç boşlukla başlar ⇒ 15 + 730 + 15 (oluk) + 380 = 1140, sol kolon x≈159, sağ kolon x≈904 ve sağ
   kenar kapsayıcıyla hizalıdır. H1 30/36/700; kapak 710 px'i aşmaz ve intrinsic oranını korur. Gövde H2 32, H3 25 px yalnız
   bu şablonda. Sağ kolonda iki 350×122,5 teklif kartı (CTA 126×39,5) ve 143×49,5 arşiv düğmesi; sticky/fixed, JS, timer ve
   otomatik geçiş yoktur. 768 ve altında tek kolon: içerik → yan kol (responsive.css). */
.blog-detail { max-width: none; }
.blog-detail.section-space { padding-inline: 0; }
.blog-detail-grid { display: grid; grid-template-columns: minmax(0, 730px) minmax(0, 380px); gap: 15px; width: min(100% - 30px, 1140px); margin-inline: auto; padding-left: 15px; align-items: start; }
.blog-detail-main { min-width: 0; }
.blog-detail-title { margin: 0 0 24px; color: var(--ecs-ink); opacity: .7; font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: 0; overflow-wrap: break-word; }
.blog-detail-cover, .blog-detail-cover img { width: min(100%, 710px); height: auto; border-radius: var(--ecs-radius); }
.article-detail > .blog-detail-grid .blog-detail-cover { margin-bottom: 40px; }
.blog-detail-body h2 { font-size: 32px; line-height: 1.25; }
.blog-detail-body h3 { font-size: 25px; line-height: 1.3; }
.blog-detail-form { margin-top: 48px; }
.blog-detail-form-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; }
.blog-detail-side { min-width: 0; }
/* D-136 — canlı yan kol: `teklif-card-o` (#ef790f, turuncu gölge) ve `teklif-card-b` (#388fe4, mavi gölge) 15 px
   radius dolgulu kartlar, sola yaslı beyaz iki satır etiket (ilk satır kalın), beyaz zeminli 15 px radius CTA;
   "TÜMÜNÜ GÖSTER" canlı `.btnta` (#085bae, 8 px radius, 15px 14px). */
.blog-offer-list { display: grid; gap: 20px; margin: 48px 0 0; padding: 0 15px; list-style: none; }
.blog-offer-item { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px 15px 24px 18px; border-radius: 15px; color: var(--ecs-white); text-align: left; }
.blog-offer-item-orange { background: var(--ecs-orange-ui); box-shadow: 0 5px 20px rgba(239, 121, 15, .5); }
.blog-offer-item-blue { background: var(--ecs-blue); box-shadow: 0 5px 20px rgba(56, 143, 228, .5); }
.blog-offer-label { margin: 0; color: var(--ecs-white); font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: 0; }
.blog-offer-label strong { font-weight: 700; }
.blog-offer-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 39.5px; padding: 10px 30px; border-radius: 15px; background: var(--ecs-white); font-size: 13px; font-weight: 600; line-height: 17.5px; text-decoration: none; }
.blog-offer-item-orange .blog-offer-cta { color: var(--ecs-orange-ink); }
.blog-offer-item-blue .blog-offer-cta { color: var(--ecs-blue-deep); }
.blog-offer-cta:hover, .blog-offer-cta:focus-visible { opacity: .85; }
.blog-archive-cta .blog-archive-button { color: var(--ecs-white); background: var(--ecs-blue-deep); border-radius: 8px; padding: 15px 14px; }
.blog-archive-cta .blog-archive-button:hover, .blog-archive-cta .blog-archive-button:focus-visible { opacity: .8; }
/* Canlı `.blog-banner`: cover arka plan (yerel asset yoksa koyu gradient), 4vw dolgu, 40 px beyaz "BLOG". */
.blog-banner { display: flex; align-items: center; min-height: 180px; padding: 4vw; background: var(--blog-banner-image, linear-gradient(90deg, #0c1f38, #2a4f7f)) center / cover no-repeat; color: var(--ecs-white); }
.blog-banner-title { width: min(100% - 30px, 1140px); margin: 0 auto; padding-left: 15px; font-size: 40px; font-weight: 700; line-height: 1.2; }
.blog-banner + .blog-detail { padding-top: 18px; } /* D-165 */
.blog-archive-cta { margin: 24px 0 0; padding: 0 15px; text-align: center; }
.blog-archive-cta .button { width: max-content; min-width: 143px; min-height: 49.5px; margin-inline: auto; padding: 15px 16px; border-radius: 10px; font-size: 13px; font-weight: 700; }
/* Faz 5D.5a — ürün/teklif banner'ı ile içerik arasındaki görünür site navigasyonu (D-078). Canlıda bu şerit yoktur;
   SEO ve erişilebilirlik gerekçesiyle bilinçli olarak eklendi. İçerikle aynı 1110 px eksende, 13 px ritimde ve mevcut
   .breadcrumb bileşen sözleşmesiyle çalışır; yeni renk yüzeyi, konumlandırma veya JS yoktur. */
.offer-breadcrumb { padding: 18px 0 0; }
.offer-breadcrumb-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.offer-breadcrumb .breadcrumb { margin-bottom: 0; }
/* D-165 (2026-09-12, kullanıcı kararı): site navigasyonu (breadcrumb) sitenin her yerinde bandın hemen altında, teklif
   sayfalarıyla aynı 18 px ritimde durur. Bant (blog-banner / corporate-hero) + section-space arasındaki 58–100 px üst
   dolgu 18 px'e iner; breadcrumb'ın kendi 30 px alt boşluğu içerikle mesafeyi verir. DOM değişmez (yalnız CSS). */
.blog-banner + .section-space, .corporate-hero + .section-space { padding-top: 18px; }
.blog-detail-main > .breadcrumb { margin-bottom: 18px; }
.insurer-content > .breadcrumb { margin-bottom: 24px; }
/* Faz 5D.3a — exact dokuz generic sayfa rotasının canlı sunum ekseni (D-080). Beyaz zeminde 1110 px gövde; yasal ve
   hasar-anında rotalarında görünür kısa H1, kurumsal / hasarda-istenen-belgeler / iki boş kaynakta yalnız sr-only H1
   (kaynak H2 görünür başlık olarak kalır). Generic mavi page-hero ve uzun SEO başlığı bu rotalarda basılmaz. Yasal
   başlık canlı 40/48; hasar-anında 30/36. Kurumsal tanıtım görseli masaüstünde 350 px ile sınırlanır ve sağa yaslanır;
   dar görünümde doğal akışta tam genişlik kalır (içerik gizlenmez). Yeni asset, JS veya konumlandırma yoktur. */
.generic-page { padding-block: 48px 80px; }
.generic-page-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.generic-page-title { margin: 0 0 32px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: 0; overflow-wrap: break-word; }
.generic-page-damage .generic-page-title { font-size: 30px; line-height: 36px; font-weight: 700; }
.generic-page-body h2 { margin-top: 1.2em; font-size: 30px; line-height: 36px; }
.generic-page-body h3 { margin-top: 1.1em; font-size: 25px; line-height: 30px; }
.generic-page-legal .generic-page-body h3 { font-size: 28px; line-height: 33.6px; }
.generic-page-body p, .generic-page-body li { font-size: 16px; line-height: 24px; }
.generic-page-corporate .generic-page-body picture { display: block; width: min(100%, 350px); margin-inline: auto 0; }
.generic-page-corporate .generic-page-body picture img { width: 100%; height: auto; border-radius: var(--ecs-radius); }
/* D-136 — Kurumsal canlı üst kompozisyonu: `hakkimizda-top-bg` (60 px dolgulu, cover arka plan; yerel asset yoksa koyu
   gradient) üzerinde ana sayfayla aynı beş poliçe kartı `mt--80` ile banda biner. `#hakkimizda` canlıda 8/4 kolonlu
   Bootstrap satırıdır: ilk iki çocuk (metin | görsel) yan yana, kalan bölümler tam genişlik. */
.generic-page-corporate, .generic-page-damage { padding-top: 0; }
.generic-page-damage .generic-page-inner { margin-top: 32px; }
/* D-136: canlı yasal sayfa — başlık bandın içinde; gövde başlıkları koyu (ink, %80), 26/22 px; metin 13/25 px. */
.blog-banner-legal { background: var(--blog-banner-image, linear-gradient(90deg, #0c1f38, #1f3f66)) center / cover no-repeat; }
.blog-banner + .generic-page-legal { padding-top: 18px; } /* D-165 */
.blog-banner + .policy-page { padding-top: 18px; } /* D-165 */
.blog-banner .blog-banner-title-legal { font-weight: 400; }
.generic-page-legal .generic-page-body h2, .generic-page-legal .generic-page-body h3 { color: var(--ecs-ink); opacity: .8; font-weight: 700; }
.generic-page-legal .generic-page-body h2 { font-size: 26px; line-height: 32px; }
.generic-page-legal .generic-page-body h3 { font-size: 22px; line-height: 28px; }
.generic-page-legal .generic-page-body p, .generic-page-legal .generic-page-body li { color: var(--ecs-ink); opacity: .8; font-size: 16px; line-height: 26px; } /* D-168: canlının 13 px'i site gövde ölçüsüne (16/26) çekildi */
.corporate-hero { height: 120px; background: var(--corporate-hero-image, linear-gradient(90deg, #0c1f38, #17365c)) center / cover no-repeat; }
.corporate-cards { margin-top: -80px; padding: 0 0 20px; }
.generic-page-corporate .generic-page-inner { margin-top: 32px; }
.generic-page-corporate #hakkimizda { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 30px; align-items: start; }
.generic-page-corporate #hakkimizda > :nth-child(n + 3) { grid-column: 1 / -1; }
.generic-page-corporate #hakkimizda h2:first-child { margin-top: 0; }
.generic-page-empty-source { padding-block: 0; }
/* Faz 5D.3b — iletişim sayfası canlı sırası ve geometrisi (D-082). Header altında 350 px konum yüzeyi (dış istek,
   iframe, statik harita, koordinat yok — yalnız yerel yüzey), ortalı 30/36 kısa H1, 1110 px düz form (ilk üç görünür
   alan üç kolon, mesaj/consent/durum tam genişlik, submit sağda) ve üç sütunlu iletişim kartları. İkon kaynak
   intrinsic ölçüsünü aşmaz. 768 ve altında tek kolon, konum yüzeyi 255 px (responsive.css). */
/* S05a (D-157): `.contact-map` boş konum yüzeyi kaldırıldı — konum bilgisi footer'daki mevcut haritadadır. */
.contact-page { padding-block: 40px 80px; }
.contact-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.contact-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: 0; text-align: center; overflow-wrap: break-word; }
.contact-title-light { font-weight: 300; }
/* D-136: canlı iletişim formu — yıldızsız etiketler (required korunur), yasal cümleli onay kutusu. */
.contact-form .required-mark { display: none; }
.contact-form .form-consent-legal { align-items: center; margin-top: 8px; color: var(--ecs-ink); font-size: 14px; font-weight: 700; line-height: 22px; }
.contact-form .form-consent-legal a { color: var(--ecs-blue-deep); text-decoration: none; }
.contact-form .form-consent-legal a:hover, .contact-form .form-consent-legal a:focus-visible { text-decoration: underline; }
.contact-form .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.contact-form .form-field { margin: 0 0 15px; }
.contact-form .form-field-wide { grid-column: 1 / -1; }
.contact-form .form-field input:not([type="checkbox"]):not([type="radio"]), .contact-form .form-field select { min-height: 38px; padding: 6px 12px; border: 1px solid #ced4da; border-radius: 4px; }
.contact-form .form-field textarea { min-height: 100px; padding: 6px 12px; border: 1px solid #ced4da; border-radius: 4px; }
.contact-form .form-submit { display: flex; width: max-content; min-width: 161px; min-height: 53.5px; margin: 22px 0 0 auto; padding: 16px 32px; border: 2px solid var(--ecs-blue); border-radius: 10px; color: var(--ecs-blue-deep); background: var(--ecs-white); box-shadow: none; font-size: 13px; font-weight: 700; }
.contact-form .form-submit:hover, .contact-form .form-submit:focus-visible { border-color: var(--ecs-blue-deep); color: var(--ecs-white); background: var(--ecs-blue-deep); }
.contact-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 48px 0 0; padding: 0; list-style: none; }
.contact-method { min-width: 0; padding: 24px 15px; border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius); background: var(--ecs-white); text-align: center; }
.contact-method picture { display: block; }
.contact-method img { display: inline-block; max-width: min(84px, 100%); height: auto; }
.contact-method p { margin: 16px 0 0; font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
.contact-method a { color: var(--ecs-blue-deep); }
.contact-body { margin-top: 32px; }
/* Faz 5D.3c — poliçe iptal sayfası canlı sırası (D-083). Beyaz akışta 1110 px eksen: kısa 40/48 H1, kaynak giriş
   paragrafı, düz form (kart/gölge/büyük padding yok), kalan gövde ve ortak partner şeridi. TCKN kontrolü canlıdaki
   gibi ~485 px ve 38 px yüksekliktedir; dosya alanı kaynak sırasında ardından gelir ve native kontrol dar görünümde
   güvenle sarar. Submit solda ~165×49,5 `DEVAM ET`. reCAPTCHA yüzeyi kopyalanmaz. */
.policy-page { padding-block: 40px 80px; }
.policy-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.policy-title { margin: 0 0 20px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; letter-spacing: 0; overflow-wrap: break-word; }
.policy-intro { margin: 0 0 32px; color: var(--ecs-ink); font-size: 16px; line-height: 26px; max-width: 900px; }
.policy-form .form-grid { grid-template-columns: minmax(0, 485.6px); gap: 15px; }
.policy-form .form-field { margin: 0 0 15px; min-width: 0; }
.policy-form .form-field input:not([type="checkbox"]):not([type="radio"]), .policy-form .form-field select { min-height: 38px; padding: 6px 12px; border: 1px solid #ced4da; border-radius: 4px; }
.policy-form .form-field input[type="file"] { width: 100%; max-width: 485.6px; padding: 6px 12px; overflow-wrap: anywhere; }
.policy-form .form-submit { display: flex; width: max-content; min-width: 165px; min-height: 49.5px; margin: 22px auto 0 0; padding: 14px 28px; border: 2px solid var(--ecs-blue); border-radius: 10px; color: var(--ecs-blue-deep); background: var(--ecs-white); box-shadow: none; font-size: 13px; font-weight: 700; }
.policy-form .form-submit:hover, .policy-form .form-submit:focus-visible { border-color: var(--ecs-blue-deep); color: var(--ecs-white); background: var(--ecs-blue-deep); }
.policy-empty { margin: 0; }
.policy-body { margin-top: 32px; }
/* Faz 5D.3e — kaza tespit rehberi (D-084). 1110 px eksen, kısa 30/36 H1, canlı rehber tipografisi (H2 32/38,4,
   H3 28/33,6) ve kaynak sırasındaki belge görselleri en fazla 700 px genişlikte, oran korunarak (crop/object-fit
   yok). SSS bölümü Faz 5D.1c ortak accordion'unu kullanır; yeni JS, autoplay veya timer yoktur. */
.guide-page { padding-block: 40px 56px; }
.guide-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.guide-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: 0; overflow-wrap: break-word; }
.guide-body h2 { margin-top: 1.2em; font-size: 32px; line-height: 38.4px; }
.guide-body h3 { margin-top: 1.1em; font-size: 28px; line-height: 33.6px; }
.guide-body p, .guide-body li { font-size: 16px; line-height: 26px; }
.guide-body picture { display: block; }
.guide-body img { width: auto; max-width: min(700px, 100%); height: auto; }

/* Faz 5D.4e (D-087): müşteri yorumları arşivi — 1110 px eksen, iki kolon 532,5 px ve 45 px gap.
   Yıldız/puan yüzeyi bilinçli olarak yoktur (kaynak rating alanlarının tamamı null). */
/* D-136 — canlı müşteri yorumları arşivi: açık gri zemin (#f5f7fa), beyaz yuvarlak köşeli kartlar (gölgeli), içerik
   ortalı: 54 px avatar → mavi kalın ad → yıldızlar → ayraç → ortalı yorum metni. */
.testimonial-archive { background: #f5f7fa; }
.testimonial-archive-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.testimonial-archive-title { margin: 0 0 32px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; overflow-wrap: break-word; }
.testimonial-archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; margin: 0; padding: 0; list-style: none; }
.testimonial-archive-card { display: flex; flex-direction: column; align-items: center; min-width: 0; margin: 0; padding: 24px 24px 28px; border-radius: var(--ecs-radius); background: var(--ecs-white); box-shadow: 0 5px 20px rgba(0, 0, 0, .06); text-align: center; }
.testimonial-archive-head { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; padding: 0; border-bottom: 0; }
.testimonial-avatar { display: flex; flex: 0 0 54px; align-items: center; justify-content: center; width: 54px; height: 54px; overflow: hidden; border-radius: 50%; background: var(--ecs-blue-soft, #eef3fb); color: var(--ecs-blue-deep); font-size: 20px; font-weight: 700; }
.testimonial-avatar .testimonial-avatar-image, .testimonial-avatar img { width: 54px; height: 54px; object-fit: cover; border-radius: 50%; }
.testimonial-archive-author { margin: 0; min-width: 0; color: var(--ecs-blue-dark); font-size: 15px; font-weight: 700; line-height: 22.5px; overflow-wrap: break-word; }
.testimonial-archive-card .review-stars { width: 100%; justify-content: center; margin: 6px 0 0; padding-bottom: 14px; border-bottom: 1px solid #e5e7eb; }
.testimonial-archive-text { margin: 14px 0 0; color: var(--ecs-ink); font-size: 13px; line-height: 19.5px; overflow-wrap: break-word; }
/* Faz 5D.4d (D-088): sigorta şirketi detayı — teklif bandı, 730 + 350 ilk satır, 1110 px devam gövdesi. */
.insurer-offer-strip { border-bottom: 1px solid var(--ecs-line); background: var(--ecs-white); }
.insurer-offer-track { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 15px; width: min(100% - 30px, 1110px); margin: 0 auto; padding: 24px 0; list-style: none; }
.insurer-offer-item { min-width: 0; margin: 0; }
.insurer-offer-card { display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 100%; min-height: 140.5px; padding: 18px 14px; border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius-sm); color: var(--ecs-blue-dark); background: var(--ecs-white); box-shadow: var(--ecs-shadow-soft); text-align: center; text-decoration: none; }
.insurer-offer-card:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: -3px; }
.insurer-offer-label { display: block; font-size: 14px; font-weight: 700; line-height: 21px; overflow-wrap: break-word; }
.insurer-offer-cta { display: inline-block; margin-top: 12px; padding: 6px 12px; border: 2px solid var(--ecs-blue-deep); border-radius: 17px; color: var(--ecs-blue-deep); font-size: 11px; font-weight: 700; line-height: 1.5; }
.insurer-page { background: var(--ecs-white); }
.insurer-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.insurer-lead { display: grid; grid-template-columns: minmax(0, 730px) minmax(0, 350px); gap: 30px; align-items: start; }
.insurer-lead-text { min-width: 0; }
/* D-136: canlı `.hakkimizda-img` — logo 350 px açık zeminli (#f5f7fb) kutuda ortalı; kart bandından sonra sayfa üst boşluğu yok. */
.insurer-lead-media { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 220px; padding: 30px; background: #f5f7fb; border-radius: var(--ecs-radius-sm); }
.insurer-lead-media .insurer-logo, .insurer-lead-media .insurer-logo img { display: block; width: 100%; max-width: 290px; height: auto; margin: 0; object-fit: contain; }
.corporate-cards + .insurer-page { padding-top: 0; }
.corporate-cards + .guide-page { padding-top: 0; }
.corporate-cards + .guide-page .guide-inner { margin-top: 32px; }
.corporate-cards + .insurer-page .insurer-inner { margin-top: 32px; }
.insurer-intro h2:first-child { margin-top: 0; }
.insurer-title { margin: 0 0 20px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; overflow-wrap: break-word; }
.insurer-intro p { margin: 0 0 16px; color: var(--ecs-ink); font-size: 16px; line-height: 26px; }
.insurer-intro h2 { margin: 0 0 16px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; }
.insurer-body { margin-top: 32px; }
.insurer-body h2 { margin: 32px 0 16px; color: var(--ecs-blue-dark); font-size: 30px; font-weight: 700; line-height: 36px; overflow-wrap: break-word; }
.insurer-body h3 { margin: 24px 0 12px; color: var(--ecs-blue-dark); font-size: 22px; font-weight: 700; line-height: 30px; }
.insurer-body p { margin: 0 0 16px; color: var(--ecs-ink); font-size: 16px; line-height: 26px; }
.insurer-body img, .insurer-body picture img { max-width: 100%; height: auto; }

/* Faz 5D.4c (D-089): anlaşmalı şirketler arşivi — 900 px üç kolon, kart 250×190, x adımı 276, y adımı 220. */
.insurer-archive { background: var(--ecs-softest); }
.insurer-archive-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.insurer-archive-title { margin: 0 0 32px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; overflow-wrap: break-word; }
/* D-136 — canlı anlaşmalı şirketler ızgarası: 200 px açık mavi-gri (#f5f7fb) kartlar, içinde beyaz logo kutusu, koyu
   "Detaylı bilgi" metni; 3 kolon ortalı. */
/* D-164: şirket arşivi ızgarası = ana sayfa partner şeridi (D-150/D-151): 1140 px beş kolon, 110 px beyaz kart, logo 124×44 contain,
   gri tonlamalı → imleç/odakta renkli; logo yoksa şirket adı. Kolonlar responsive.css'te 992/768/500 kırılımlarında 4/3/2. */
.insurer-archive-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; width: min(100%, 1140px); margin: 0 auto; padding: 0; list-style: none; }
.insurer-archive-item { min-width: 0; height: 110px; margin: 0; }
.insurer-archive-card { display: grid; place-items: center; width: 100%; height: 100%; padding: 15px 20px; border-radius: 12px; color: var(--ecs-blue-dark); background: var(--ecs-white); box-shadow: 0 2px 10px rgba(14, 65, 114, .06); text-align: center; text-decoration: none; transition: box-shadow var(--ecs-transition); }
.insurer-archive-card:hover, .insurer-archive-card:focus-visible { box-shadow: 0 8px 24px rgba(14, 65, 114, .14); }
.insurer-archive-card:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: -3px; }
.insurer-archive-logo { filter: grayscale(1) opacity(.72); transition: filter var(--ecs-transition); }
.insurer-archive-card:hover .insurer-archive-logo, .insurer-archive-card:focus-visible .insurer-archive-logo { filter: none; }
.insurer-archive-logo, .insurer-archive-logo img { display: block; width: 124px; max-width: 100%; height: 44px; object-fit: contain; }
.insurer-archive-name { display: block; font-size: 12px; font-weight: 700; line-height: 18px; overflow-wrap: break-word; }

/* Faz 5D.4b (D-091): SSS arşivi — 1110 px eksen, iki satıra saran 12 rozet, native kapalı soru kartları. */
.faq-archive { background: var(--ecs-white); }
.faq-archive-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.faq-archive-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; overflow-wrap: break-word; }
/* D-136 — canlı SSS: kategori rozetleri arşiv filtreleriyle aynı `.blog-link/.badge-tab` anatomisi; altında ayraç. */
.faq-category-nav { margin: 0 0 32px; padding-bottom: 20px; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.faq-category-track { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
.faq-category-item { min-width: 0; margin: 0; }
.faq-category-badge { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 100px; margin: 10px; padding: 17px 24px; border: 1px solid #e8eff3; border-radius: 500px; color: var(--ecs-ink); background: var(--ecs-white); font-size: 13px; font-weight: 700; line-height: 20px; text-decoration: none; white-space: nowrap; }
.faq-category-name { opacity: .7; }
.faq-category-badge.is-selected { border-color: var(--ecs-blue); color: var(--ecs-white); background: var(--ecs-blue); }
.faq-category-badge.is-selected .faq-category-name { opacity: 1; }
.faq-category-badge:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 2px; }
.faq-category-count { position: absolute; top: -6px; right: 6px; padding: 4px 10px; border-radius: 500px; color: var(--ecs-white); background: var(--ecs-blue); box-shadow: 0 0 10px rgba(56, 143, 228, .5); font-size: 12px; font-weight: 700; line-height: 1; }
.faq-category-badge.is-selected .faq-category-count { color: var(--ecs-blue); background: var(--ecs-white); }
/* Canlı akordeon: kutu yok, her soru alt çizgili satır; soru 18 px mavi. */
.faq-list { display: flex; flex-direction: column; gap: 0; min-width: 0; }
.faq-card { border: 0; border-bottom: 1px solid rgba(0, 0, 0, .1); border-radius: 0; background: transparent; }
.faq-card-question { padding: 20px 0; color: var(--ecs-blue-dark); font-size: 18px; font-weight: 700; line-height: 24px; cursor: pointer; list-style: none; overflow-wrap: break-word; }
.faq-card-question::-webkit-details-marker { display: none; }
.faq-card-question::after { content: "+"; float: right; margin-left: 12px; font-size: 20px; line-height: 24px; }
.faq-card[open] > .faq-card-question::after { content: "\2212"; }
.faq-card-question:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: -3px; }
.faq-card-answer { padding: 0 0 16px; color: var(--ecs-ink); font-size: 15px; line-height: 24px; }
.faq-card-answer p { margin: 0 0 12px; }
.faq-card-answer p:last-child { margin-bottom: 0; }
/* S03: kategori panelleri. Varsayılan (JS yok) durumda hepsi akışta, görünür başlıklarıyla okunur;
   `faq-tabs.js` sekme kipini açınca yalnız seçili panel görünür ve başlık yalnız GÖRSEL olarak gizlenir
   (erişilebilirlik ağacında kalır). `position: relative` paneli kendi containing block'u yapar → 1 px
   ölçüsündeki gizli başlık belge köküne kaçıp yatay taşma üretemez. */
.faq-panels { min-width: 0; }
.faq-panel { position: relative; min-width: 0; }
.faq-panel + .faq-panel { margin-top: 40px; }
.faq-panel:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 4px; }
.faq-panel-title { margin: 0 0 8px; color: var(--ecs-blue-dark); font-size: 22px; font-weight: 700; line-height: 30px; overflow-wrap: break-word; }
[data-faq-enhanced="true"] .faq-panel + .faq-panel { margin-top: 0; }
[data-faq-enhanced="true"] .faq-panel-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Faz 5D.2b (D-092): blog ve kampanya arşivleri — 1110 px eksen, üç kolon kart, filtre rozetleri, sayfalama. */
.archive-page { background: var(--ecs-white); }
.archive-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.archive-title { margin: 0 0 24px; color: var(--ecs-blue-dark); font-size: 40px; font-weight: 500; line-height: 48px; overflow-wrap: break-word; }
/* D-136: blog arşivinde H1 canlıdaki gibi `blog-banner` bandının içinde beyazdır. */
.blog-banner .archive-title { width: min(100% - 30px, 1140px); margin: 0 auto; padding-left: 15px; color: var(--ecs-white); font-weight: 700; line-height: 1.2; }
.blog-banner-faq { background: var(--blog-banner-image, linear-gradient(90deg, #0c1f38, #35507a)) center / cover no-repeat; }
.blog-banner .blog-banner-title-faq { font-weight: 400; }
/* D-136 — canlı blog/kampanya arşivi anatomisi (site.css kanıtı): filtre rozetleri `.blog-link` (beyaz, 1px #e8eff3,
   500px radius, 17px 30px, 10px marj; sayaç rozeti `.badge-tab` sağ üstte mavi, gölgeli; aktif rozet mavi dolgu +
   beyaz sayaç), altında ince ayraç; kartlar ana sayfadaki `.blog-card` ailesiyle aynı: kapak kartın üstünden
   -18% taşar (270 px, mavi gölge), kategori rozeti kartın sağ üstünde, 20/600 başlık, 15/600 özet, `hr` + 2px mavi
   çerçeveli "Devamını Oku". Ana sayfa kart kuralları DEĞİŞMEZ; bu blok yalnız arşiv sınıflarına yazar. */
.archive-page-blog .archive-inner > .breadcrumb { margin: 0 0 24px; }
.archive-filters { margin: 0 0 32px; padding-bottom: 20px; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.archive-filter-track { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
.archive-filter-item { min-width: 0; margin: 0; }
.archive-filter-badge { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 120px; margin: 10px; padding: 17px 30px; border: 1px solid #e8eff3; border-radius: 500px; color: var(--ecs-ink); background: var(--ecs-white); font-size: 13px; font-weight: 700; line-height: 20px; text-decoration: none; white-space: nowrap; }
.archive-filter-name { opacity: .7; }
.archive-filter-badge.is-selected { border-color: var(--ecs-blue); color: var(--ecs-white); background: var(--ecs-blue); }
.archive-filter-badge.is-selected .archive-filter-name { opacity: 1; }
.archive-filter-badge:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 2px; }
.archive-filter-count { position: absolute; top: -6px; right: 6px; padding: 4px 10px; border-radius: 500px; color: var(--ecs-white); background: var(--ecs-blue); box-shadow: 0 0 10px rgba(56, 143, 228, .5); font-size: 12px; font-weight: 700; line-height: 1; }
.archive-filter-badge.is-selected .archive-filter-count { color: var(--ecs-blue); background: var(--ecs-white); }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 350px)); gap: 30px; justify-content: space-between; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.archive-card { min-width: 0; margin: 70px 0 0; }
.archive-card-link { position: relative; display: flex; flex-direction: column; align-items: center; height: 100%; min-height: 427px; border: 1px solid rgba(173, 205, 235, .1); border-radius: var(--ecs-radius); background: rgba(173, 205, 235, .1); color: var(--ecs-ink); text-decoration: none; }
.archive-card-link:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: -3px; }
.archive-card-media { display: block; position: relative; width: 270px; max-width: 100%; margin: -18% auto 0; padding: 0; border-radius: var(--ecs-radius); box-shadow: 0 0 20px rgba(56, 143, 228, .5); background: var(--ecs-soft); aspect-ratio: 270 / 153; }
.archive-grid.is-campaign .archive-card-media { aspect-ratio: 1 / 1; }
.archive-card-media .archive-card-image, .archive-card-media .archive-card-image img { display: block; width: 100%; height: 100%; border-radius: var(--ecs-radius); object-fit: cover; }
.archive-card-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 12px; width: 100%; padding: 16px 40px; min-width: 0; }
.archive-card-label { position: absolute; top: -78px; right: 47px; z-index: 2; display: inline-block; max-width: calc(100% - 14px); padding: 10px 22px; border-radius: 500px; color: var(--ecs-white); background: var(--ecs-blue); box-shadow: 0 3px 6px var(--ecs-blue); font-size: 12px; font-weight: 400; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.archive-card-title { color: var(--ecs-ink); font-size: 20px; font-weight: 600; line-height: 1.3; opacity: .7; overflow-wrap: break-word; }
.archive-card-excerpt { color: var(--ecs-ink); font-size: 15px; font-weight: 600; line-height: 22.5px; opacity: .7; overflow-wrap: break-word; }
.archive-card-foot { display: block; width: 100%; margin-top: auto; padding: 16px 20px; border-top: 1px solid rgba(0, 0, 0, .1); }
.archive-card-cta { display: inline-block; padding: 15px 35px; border: 2px solid var(--ecs-blue); border-radius: var(--ecs-radius); color: var(--ecs-blue); background: var(--ecs-white); font-size: 13px; font-weight: 700; line-height: 1.5; transition: background-color var(--ecs-transition), color var(--ecs-transition); }
.archive-card-link:hover .archive-card-cta, .archive-card-link:focus-visible .archive-card-cta { color: var(--ecs-white); background: var(--ecs-blue); }
.archive-pagination { margin: 40px 0 0; }
.archive-pagination-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.archive-pagination-list li { margin: 0; }
.archive-page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius-sm); color: var(--ecs-blue-dark); background: var(--ecs-white); font-size: 14px; font-weight: 700; line-height: 20px; text-decoration: none; }
.archive-page-link.is-current { border-color: var(--ecs-blue-deep); color: var(--ecs-white); background: var(--ecs-blue-deep); }
.archive-page-link.is-disabled { color: #9aa7b4; background: #f5f7fa; }
.archive-page-link:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 2px; }
.archive-page-gap { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 40px; color: #9aa7b4; }

/* Faz 5D.2d (D-093): kampanya detayı — 730 içerik + 380 ilişkili kampanya kolu. */
.campaign-detail { background: var(--ecs-white); }
.campaign-detail-inner { width: min(100% - 30px, 1140px); margin-inline: auto; min-width: 0; }
.campaign-detail-layout { display: grid; grid-template-columns: minmax(0, 730px) minmax(0, 380px); gap: 30px; align-items: start; }
.campaign-detail-main { min-width: 0; }
/* D-136: canlı `.blog2-title` — 30 px kalın, #0f141d %70 opaklık (blog ve kampanya detayında aynı). */
.campaign-detail-title { margin: 0 0 20px; color: var(--ecs-ink); opacity: .7; font-size: 30px; font-weight: 700; line-height: 36px; overflow-wrap: break-word; }
.blog-banner + .campaign-detail { padding-top: 18px; } /* D-165 */
.campaign-detail-cover { margin: 0 0 24px; }
.campaign-detail-cover .campaign-cover-image, .campaign-detail-cover .campaign-cover-image img { display: block; width: 100%; max-width: 730px; height: auto; }
.campaign-detail-body h2 { margin: 28px 0 14px; color: var(--ecs-blue-dark); font-size: 32px; font-weight: 700; line-height: 38.4px; overflow-wrap: break-word; }
.campaign-detail-body p { margin: 0 0 16px; color: var(--ecs-ink); font-size: 16px; line-height: 26px; }
.campaign-detail-body img, .campaign-detail-body picture img { max-width: 100%; height: auto; }
.campaign-related { min-width: 0; }
/* D-136: canlıda yan kolun görünür başlığı yok; erişilebilir ad için başlık sr-only kalır. */
.campaign-related-title { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.campaign-related-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin: 0 0 20px; padding: 0; list-style: none; }
.campaign-related-cta { display: inline-flex; align-items: center; justify-content: center; min-width: 143px; min-height: 49.5px; padding: 12px 24px; border: 2px solid var(--ecs-blue-deep); border-radius: 10px; color: var(--ecs-blue-deep); background: var(--ecs-white); font-size: 13px; font-weight: 700; text-decoration: none; }
.campaign-related-cta:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 2px; }

/* Faz 6.8 (D-100): blog detayında önceki/sonraki yazı bağlantıları. Tek komşu varsa da hizalama bozulmaz. */
.blog-detail-nav { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-top: 32px; }
.blog-detail-nav-next { margin-left: auto; }
.blog-detail-nav-link { display: inline-block; padding: 10px 20px; border: 1px solid var(--ecs-blue-deep); border-radius: 20px; color: var(--ecs-blue-deep); font-size: 14px; font-weight: 700; text-decoration: none; }
.blog-detail-nav-link:hover, .blog-detail-nav-link:focus-visible { color: var(--ecs-white); background: var(--ecs-blue-deep); }

/* D-147 — /sigorta-urunleri: tüm ürünler. Hero kart diliyle aynı beyaz kart + yerel SVG piktogram; beş grup, 1110 px iç alan, 4 kolon. */
.catalog { background: var(--ecs-white); }
.catalog-inner { width: min(100% - 30px, 1110px); margin-inline: auto; min-width: 0; }
.catalog-lead { max-width: 760px; margin: 0 0 36px; color: var(--ecs-ink); font-size: 16px; line-height: 1.7; }
.catalog-group { margin: 0 0 40px; }
.catalog-group-title { margin: 0 0 18px; color: var(--ecs-blue-dark); font-size: 24px; font-weight: 700; line-height: 1.3; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.catalog-item { min-width: 0; margin: 0; }
.catalog-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; min-height: 190px; padding: 22px 14px 18px; border: 1px solid var(--ecs-line); border-radius: 15px; color: var(--ecs-ink); background: var(--ecs-white); text-align: center; text-decoration: none; box-shadow: var(--ecs-shadow-soft); transition: transform var(--ecs-transition), box-shadow var(--ecs-transition), border-color var(--ecs-transition); }
.catalog-card:hover, .catalog-card:focus-visible { transform: translateY(-3px); border-color: var(--ecs-blue); box-shadow: var(--ecs-shadow); }
.catalog-card:focus-visible { outline: 3px solid var(--ecs-focus); outline-offset: 3px; }
.catalog-icon { display: block; width: 96px; height: 80px; }
.catalog-icon-empty { border-radius: 12px; background: var(--ecs-soft); }
.catalog-label { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; }
.catalog-cta { display: inline-block; padding: 5px 14px; border: 2px solid var(--ecs-blue-deep); border-radius: 17px; color: var(--ecs-blue-deep); font-size: 12px; font-weight: 600; line-height: 1.5; }
.catalog-card:hover .catalog-cta, .catalog-card:focus-visible .catalog-cta { color: var(--ecs-white); background: var(--ecs-blue-deep); }
