@media (max-width: 1200px) {
  /* D-147: 1200 altı hero kart etiketi 15 px. */
  .hero-product-label { font-size: 15px; }
}

@media (max-width: 992px) {
  /* Faz 13 (F8): ürünler artık kampanya/blog ile aynı şerit; ızgara kuralı kaldırıldı. */
  /* Faz 5B.1: canlı kompakt kabuk — tek hamburger + ortalanmış logo (~87 px).
     S05b (D-157): topbar dar görünümde artık GİZLENMEZ; yalnız hızlı ürün bağlantıları gizlenir ve 7/24
     telefon (`tel:`) ilk görünümde, kaydırmadan erişilebilir kalır (canlıdaki `.header-top-links { display: none }`
     kuralıyla aynı yaklaşım). Ayar yoksa topbar telefonu zaten basılmaz; ikinci bir bağlantı üretilmez. */
  .quick-nav { display: none; }
  .topbar-inner { justify-content: center; min-height: 36px; }
  /* Faz 13 (F20): sabitlenmiş kompakt şeritte de telefon kalır; `is-stuck` yerleşimi layout.css'tedir. */
  .header-main { min-height: 87px; }
  .brand img { width: 200px; }
  /* D-147: 992 altı hero — başlık 32 px, kartlar üç kolon (20 kolonlu ızgara → 3), 9. kart tek başına ortalanmaz; doğal akış. */
  .home-hero { padding: 36px 0 40px; }
  .hero-title { font-size: 32px; }
  .hero-subtitle { font-size: 16px; margin-bottom: 24px; }
  .hero-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .all-products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .partner-track { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .insurer-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .hero-product, .hero-product:nth-child(-n+4) { grid-column: auto; }
  /* Faz 5B.3: footer kolon/tipografi kuralları layout.css içinde mobile-first (min-width 768/992) tanımlıdır; burada footer override yoktur. */
  .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .split-layout { grid-template-columns: 1fr; }
  .form-panel { width: 100%; }
  /* Faz 5C.2a: 992 altı ara kırılım — fayda bandı taşmasız 3+2 kolon (altı kolonlu grid: ilk üç öğe 2, son iki öğe 3 kolon); carousel slaytı 320 px
     (962 px iç alanda üç slayt). */
  .benefit-list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .benefit-item { grid-column: span 2; }
  .benefit-item:nth-child(n+4) { grid-column: span 3; }
  .home-slide { flex-basis: 320px; }
}

@media (max-width: 768px) {
  .container { width: min(100% - 30px, var(--ecs-container)); }
  .section-space { padding-block: 60px; }
  .blog-banner + .section-space, .corporate-hero + .section-space, .blog-banner + .blog-detail, .blog-banner + .campaign-detail, .blog-banner + .policy-page, .blog-banner + .generic-page-legal { padding-top: 16px; } /* D-165 */
  /* Faz 13 (F20): canlıda 768 altında sabit şeritteki hızlı bağlantılar gizlenir, telefon kalır. */
  .site-header.is-stuck .quick-nav { display: none; }
  /* D-170: 768 altında mavi topbar (7/24 + numara) hiç basılmaz; telefon sağdaki yuvarlak ikondur. Sabit şeritte
     başlık ilk görünümle AYNI kalır (kullanıcı kararı): hamburger | ortada aynı boy logo | ikon; logo küçülmez, kaymaz. */
  .header-topbar, .site-header.is-stuck .header-topbar { display: none; }
  .header-phone { display: inline-grid; }
  .header-main { min-height: 72px; }
  .site-header.is-stuck { grid-template-columns: 1fr; height: 72px; padding-inline: 15px; }
  .site-header.is-stuck .header-main { display: grid; grid-template-columns: minmax(44px, 1fr) auto minmax(44px, 1fr); gap: 16px; width: 100%; }
  .site-header.is-stuck .brand { grid-column: 2; justify-self: center; }
  .site-header.is-stuck .brand img { width: 200px; }
  .site-header.is-stuck .header-phone { grid-column: 3; justify-self: end; }
  /* D-170: avantaj kutuları dama deseni — 2 kolonlu ızgarada 2./3. ve 4./5. kutular çapraz renklenir. */
  .benefit-item:nth-child(4) { background: var(--ecs-soft); }
  .benefit-item:nth-child(5) { background: rgba(232, 239, 243, .25); }
  /* D-170: mobilde hero 8 kutu — Yol Yardım Paketi (hedefsiz) gizlenir, 2×4 tam ızgara. */
  .hero-product-mobile-hide { display: none; }
  /* D-147: 768 ve altı hero — iki kolon kart, 26 px başlık, 120 px min kart yüksekliği, 72×60 ikon. */
  .home-hero { padding: 28px 0 32px; }
  .hero-inner { width: min(100% - 24px, 1140px); }
  .hero-title { font-size: 26px; }
  .hero-subtitle { font-size: 14px; margin-bottom: 18px; }
  .hero-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hero-product-card { min-height: 120px; padding: 16px 8px 14px; gap: 10px; }
  .hero-product-icon, .hero-product-icon-empty { width: 72px; height: 60px; }
  .hero-product-label { font-size: 14px; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .catalog-card { min-height: 150px; padding: 16px 8px 14px; gap: 8px; }
  .catalog-icon { width: 72px; height: 60px; }
  .catalog-label { font-size: 14px; }
  .catalog-group-title { font-size: 20px; }
  /* Faz 5C.2a: 768 ve altı — bölüm başlıkları 26 px (süreç başlığı 390'da iki satır); süreç tabları dikey (36 px numara + 11 px başlık), panel doğal
     yükseklik; carousel'ler tek slayt: kampanya iç alan 15 px kenar boşluklu (390 → 348 px kart ≈502 px), ürün track tam genişlik (378×212).
     Faz 5C.2a takip: masaüstü sabit 170 px ürün kartı burada güvenle kaldırılır (height: auto + min-height: 212px); ad 18/24, gövde 14/18 px ve
     satır sınırı olmayan özet ile tek kart ≈212–217 px doğal akışta, başlık/özet/CTA kesilmeden görünür. */
  .home-section-title { font-size: 26px; line-height: 1.2; }
  .home-process { margin: 60px 0; }
  .process-tablist::before { top: 17px; }
  .process-tab { gap: 6px; min-height: 0; padding: 0 2px; font-size: 11px; line-height: 1.3; letter-spacing: 0; }
  .process-step-number { width: 36px; height: 36px; font-size: 15px; }
  .process-panels { margin-top: 24px; }
  .process-panel { min-height: 0; }
  .process-panel-title { font-size: 22px; line-height: 30px; }
  .process-panel-text { font-size: 15px; line-height: 24px; }
  .home-carousel-section { margin: 60px 0; }
  .home-campaigns { margin-bottom: 60px; }
  .home-products .home-inner { width: 100%; }
  .home-products .home-section-title { padding: 0 15px; }
  .home-slide { flex-basis: 100%; padding: 0; }
  .campaign-card { min-height: 502px; }
  .product-slide { flex-basis: 100%; }
  .product-tile-title { font-size: 15px; line-height: 22.5px; }
  /* Faz 5C.2b: 768 ve altı — yorum bölümü ≈530,7 px (48 + 31,2 başlık + 16 + 24 + 20 + 257 track + 24 + 44 + 66,5), tam genişlik track, tek kart
     (0 21px slayt boşluğu; document client 375 → 333×217 sabit kutu), merkez ölçeği yok (is-featured sınıfı bulunabilir, görsel ölçek üretmez);
     poliçe kartları 15 px kenarlı iki sütun + 5 px aralık, Kasko CSS order ile ilk tam satır, kalan dört 2×2 (DOM sırası 1–5 aynen); blog tek 348 px
     kart (track x=15). Şirket şeridi 768'de yatay track kalır; 576 altı grid'e döner.
     Faz 5C.2b takip (gerçek 390 ölçümü 161,5/182,5 px): beş poliçe kartı sabit border-box 151,5 px = 1 + 10 + 40 ikon + 7,5 + 2×21 ad + 7,5 + 32,5 CTA +
     10 + 1; 375 client için Kasko 345×151,5, diğerleri 170×151,5 (768 → 723/359), alan 3×151,5 + 2×5 = 464,5 px. 170 px kartta TAMAMLAYICI SAĞLIK ilk
     satırı 14 px kalınla (≈154 px) 152 px iç alana sığmayıp üç satıra sarıyordu; etiket 13 px (≈138 px) ile tek satırda kalır, satır yüksekliği 21 aynen. */
  .home-testimonials { margin-top: 60px; padding: 48px 0 66.5px; }
  .testimonial-inner { width: 100%; }
  .home-testimonials .home-section-title, .home-section-subtitle { padding: 0 15px; }
  .review-track { padding: 20px 0; }
  .review-slide { padding: 0 21px; }
  .review-slide.is-featured .review-card { transform: none; }
  .home-policy { margin: 60px 0; }
  .all-products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .all-products-card { min-height: 120px; padding: 14px 6px 12px; }
  .home-section-text { padding: 0 15px; }
  .policy-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; width: min(100% - 30px, 1140px); padding: 0; }
  .policy-card { height: 149.5px; margin: 0; padding: 10px 8px; }
  .policy-label { margin: 7.5px 0; font-size: 13px; }
  .policy-card-kasko { grid-column: 1 / -1; order: -1; }
  .home-blog .home-inner { width: 100%; }
  .home-blog .home-section-title { padding: 0 15px; }
  .blog-track .home-slide { padding: 0 15px; }
  .partner-strip { margin-top: 60px; padding: 28px 0 32px; }
  .partner-title { margin-bottom: 18px; font-size: 26px; line-height: 1.2; }
  .partner-track { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(100% - 30px, 1140px); }
  .partner-item { height: 84px; }
  .page-hero-inner { min-height: 270px; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .prose table { display: block; overflow-x: auto; }
  /* Faz 5D.1b: canlı 768 ve altı — banner 11,7px 15px, H1 20/24, intro 12/20 (378 client → 348 px iç alan, üç satır intro ≈125,5 px);
     form başlığı 30/36 kalır (uzun ad doğal kelime satırlarında kırılır); form/içerik 15 px kenarlı tam genişlik (x=15, 348 px), alanlar
     tek kolon 38 px kontrol (iç boşluk 0), submit tam genişlik. */
  .offer-banner { padding: 11.7px 15px; }
  .offer-title { font-size: 20px; line-height: 24px; }
  .offer-summary { font-size: 12px; line-height: 20px; }
  .offer-main-form { padding-bottom: 60px; }
  .offer-main-form .form-grid { grid-template-columns: 1fr; }
  .offer-main-form .form-field, .offer-main-form .form-field-name-belge_seri, .offer-main-form .form-field-name-belge_seri_no { grid-column: 1 / -1; padding: 0; }
  .offer-main-form .form-status:not(:empty), .offer-main-form .error-summary, .offer-main-form .form-consent { margin-right: 0; margin-left: 0; }
  .offer-main-form .form-submit { width: 100%; margin: 22px 0 0; }
  .offer-content { padding-bottom: 60px; }
  /* Faz 5D.1c: 768 ve altı — modül başlıkları 26/32, SSS satırı daha sıkı. D-140: blog kartları arşiv ızgarasıyla
     aynı kırılımı (2 → 1 sütun) `.archive-grid` kurallarından alır; ayrı track/slayt kuralı yoktur. */
  .offer-modules-title { font-size: 26px; line-height: 32px; }
  .offer-modules-title-center { margin-top: 32px; }
  .offer-faq { padding-bottom: 40px; }
  .offer-faq-question { font-size: 16px; }
  .offer-blog { padding-bottom: 40px; }
  /* Faz 5D.2c: 768 ve altı — blog detayı tek kolon; teklif yan kolu içerikten sonra gelir, kartlar tam genişliktir. */
  .blog-detail-grid { grid-template-columns: 1fr; gap: 40px; width: min(100% - 30px, 1140px); padding-left: 0; }
  .blog-offer-list { padding: 0; gap: 12px; }
  .blog-offer-item { min-height: 130.5px; }
  .blog-archive-cta { padding: 0; }
  /* Faz 5D.3a: 768 ve altı — yasal başlık 30/36, gövde tipografisi korunur, kurumsal görseli tam genişlik akışta kalır. */
  .generic-page { padding-block: 32px 60px; }
  .generic-page-title { font-size: 30px; line-height: 36px; margin-bottom: 24px; }
  .generic-page-legal .generic-page-body h3 { font-size: 22px; line-height: 28px; }
  .generic-page-corporate .generic-page-body picture { width: 100%; margin-inline: 0; }
  /* Faz 5D.3b: 768 ve altı — konum yüzeyi 255 px, form ve iletişim kartları tek kolon, submit tam genişlik. */
  .contact-form .form-grid { grid-template-columns: 1fr; }
  .contact-form .form-submit { width: 100%; margin: 22px 0 0; }
  .contact-methods { grid-template-columns: 1fr; gap: 15px; margin-top: 32px; }
  /* Faz 5D.3c: 768 ve altı — poliçe iptal başlığı 30/36, form tek kolon ve tam genişlik, submit tam genişlik. */
  .policy-title { font-size: 30px; line-height: 36px; }
  .policy-form .form-grid { grid-template-columns: 1fr; }
  .policy-form .form-field input[type="file"] { max-width: 100%; }
  .policy-form .form-submit { width: 100%; margin: 22px 0 0; }
  /* Faz 5D.3e: 768 ve altı — rehber gövdesi tam genişlik akışta; H2 32 / H3 28 korunur, görseller oranını korur. */
  .guide-page { padding-block: 32px 40px; }
  .guide-body img { max-width: 100%; }
  /* Faz 5D.4e (D-087): yorum arşivi tek kolona iner; avatar ve ad satırı doğal akışta kalır, yatay taşma 0. */
  .testimonial-archive-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  /* Faz 5D.4d (D-088): şirket detayı tek kolona iner; logo metinlerden sonra ortalanır, teklif bandı sarar. */
  .insurer-lead { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  /* D-136: dar görünümde kurumsal metin|görsel satırı tek kolon; bant başlığı ve kart şeridi küçülür. */
  .generic-page-corporate #hakkimizda { grid-template-columns: minmax(0, 1fr); }
  .blog-banner { min-height: 120px; padding: 24px 15px; }
  .blog-banner-title, .blog-banner .archive-title { font-size: 28px; padding-left: 0; }
  .corporate-cards { margin-top: -40px; }
  .archive-card-label { top: -60px; right: 20px; }
  .insurer-lead-media { display: flex; justify-content: center; }
  .insurer-lead-media .insurer-logo, .insurer-lead-media .insurer-logo img { max-width: 174px; }
  .insurer-offer-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  /* D-164: şirket arşivi partner şeridiyle aynı kırılımlar — 768 altında 3, 500 altında 2 kolon. */
  .insurer-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .insurer-archive-item { height: 84px; }
  /* Faz 5D.4b (D-091): rozetler mobilde yatay kaydırılabilir tek track; sorular tam genişlik.
     S03: sekme şeridi YALNIZ kendi içinde kayar (track scroll container'dır), belge taşmaz. */
  .faq-category-track { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: 4px; }
  .faq-category-track::-webkit-scrollbar { display: none; }
  .faq-category-item { flex: 0 0 auto; scroll-snap-align: start; }
  .faq-panel-title { font-size: 20px; line-height: 28px; }
  .faq-panel + .faq-panel { margin-top: 32px; }
  /* Faz 5D.2b (D-092): arşiv ızgarası iki kolona iner, filtreler yatay kaydırılabilir tek track olur. */
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .archive-filter-track { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: 4px; }
  .archive-filter-track::-webkit-scrollbar { display: none; }
  .archive-filter-item { flex: 0 0 auto; scroll-snap-align: start; }
  /* Faz 5D.2d (D-093): kampanya detayı tek kolona iner; ilişkili kartlar içerikten sonra gelir. */
  .campaign-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

@media (max-width: 576px) {
  /* Canlı 390 görünümü ~45 px; 44 px dokunma hedefi ve logo okunabilirliği için 60 px tutulur (izinli iyileştirme). */
  .header-main { min-height: 60px; }
  .brand img { width: 168px; }
  h1 { font-size: clamp(32px,11vw,45px); }
  h2 { font-size: clamp(27px,9vw,36px); }
  .card-grid { grid-template-columns: 1fr; }
  .section-heading { grid-template-columns: 1fr; align-items: start; gap: 12px; }
  .section-heading > a { justify-self: start; }
  /* D-150: 576 altı şirket ızgarası iki kolon, 70 px kart. */
  .partner-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .partner-item { height: 70px; }
  .partner-card { padding: 8px 10px; }
  .partner-picture, .partner-picture img { width: 100px; height: 36px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field-wide { grid-column: auto; }
  /* Faz 5C.2a: 576 altı fayda bandı — ilk öğe tam genişlik (390 → ≈378×98,5), kalan dört öğe iki sütun (≈189×91–100); işaret 45 px, metin 14px/21px. */
  .benefit-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefit-item, .benefit-item:nth-child(n+4) { grid-column: span 1; }
  .benefit-item:first-child { grid-column: 1 / -1; }
  .benefit-item { gap: 8px; }
  .benefit-mark { width: 45px; height: 45px; }
  .benefit-mark::before { top: 9px; left: 14px; width: 10px; height: 18px; }
  .benefit-text { font-size: 14px; line-height: 21px; }
  /* Faz 5B.2/5B.3: 390 görünümünde footer navigasyonu sürekli görünür (accordion yok; kolon akışı layout.css); çerez bandı dikey yığılır,
     yüzen destek 52 px dairedir ve bandın üstünde kalır. */
  .cookie-notice { padding: 14px 0; }
  .cookie-notice-inner { grid-template-columns: 1fr; gap: 12px; }
  .cookie-notice .button { width: 100%; }
  .floating-contact-label { display: none; }
  .floating-contact { width: 52px; min-height: 0; height: 52px; justify-content: center; padding: 0; border-radius: 50%; right: 18px; }
  .insurer-offer-track { grid-template-columns: minmax(0, 1fr); }
  .insurer-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .insurer-archive-item { height: 70px; }
  .insurer-archive-card { padding: 8px 10px; }
  .insurer-archive-logo, .insurer-archive-logo img { width: 100px; height: 36px; }
  .archive-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 500px) {
  .hero-product-label { font-size: 13px; }
  .all-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-panel { padding: 20px 16px; border-radius: var(--ecs-radius); }
  .choice-row { display: grid; }
  .choice { width: 100%; }
}

@media (max-width: 400px) {
  .container { width: min(100% - 24px, var(--ecs-container)); }
  .brand img { width: 150px; }
  .page-hero-inner { min-height: 235px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
