/* ============================================================
   responsive.css — MOBİL OPTİMİZASYON (v1)
   En son yüklenir. Tüm kurallar mobil/tablet breakpoint'leri
   içindedir → MASAÜSTÜ GÖRÜNÜMÜ DEĞİŞMEZ.
   Amaç: yatay taşma (sağa-sola kayma) yok, düzgün dizilim,
   düzenli mobil menü.
   ============================================================ */

/* ── GLOBAL TAŞMA KORUMASI (güvenli, masaüstünü etkilemez) ── */
html { overflow-x:hidden; max-width:100%; background:#060e1a; }
body { overflow-x:hidden; max-width:100%; }
img, svg, video, iframe, embed, object { max-width:100%; }
/* uzun bağlantı/kelimeler satırı taşırmasın */
.entry-content a, .post-single__content a, .ct-chan__v, .ct-info__list li a { word-break:break-word; overflow-wrap:anywhere; }

/* ============================================================
   TABLET — 1024px ve altı
   ============================================================ */
@media (max-width:1024px) {
    /* esnek/grid çocukları taşmasın */
    .container { padding-left:18px; padding-right:18px; }
    /* KRİTİK: container içi yatay taşmayı kırp → layout viewport genişlemez,
       böylece sabit alt çubuk (fixed) ekran genişliğini aşmaz, sayfa sağa-sola kaymaz.
       (clip kullanıldı; sticky'yi bozmaz) */
    .container { overflow-x:clip; }

    /* blog tekil içerikteki tablolar yatay kaydırılabilir olsun */
    .post-single__content table, .entry-content table, .content-area table {
        display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
    }
    .post-single__content pre, .entry-content pre { white-space:pre-wrap; word-break:break-word; }
}

/* ============================================================
   MOBİL GENİŞ — 768px ve altı
   ============================================================ */
@media (max-width:768px) {
    /* Bölüm boşluklarını küçült (dikey nefes) */
    .corp-section { padding:52px 0; }
    .section-padding { padding:52px 0; }
    .section-padding-sm { padding:36px 0; }
    .corp-hero { padding:90px 0 54px; }

    /* Başlık ölçekleri */
    .corp-hero__title { font-size:clamp(1.7rem,7vw,2.4rem); }
    .corp-head h2 { font-size:clamp(1.5rem,6vw,2rem); }

    /* Hero istatistik şeridi sarsın */
    .corp-hero__stats { flex-wrap:wrap; gap:14px 18px; }
    .corp-hs__div { display:none; }

    /* CTA blokları alt alta */
    .corp-cta__inner { flex-direction:column; align-items:flex-start; gap:22px; }
    .corp-cta__btns { width:100%; flex-direction:column; align-items:stretch; }
    .corp-cta__phone, .corp-cta__alt { width:100%; justify-content:center; }

    /* Breadcrumb taşmasın */
    .corp-bc, .breadcrumb { flex-wrap:wrap; }

    /* Galeri kategori: tek sütun panel + 2'li kartlar (taşma korumalı) */
    .gcat-split { grid-template-columns:1fr !important; }
    .gmodel-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:10px; }

    /* Kurumsal split görselleri tam genişlik */
    .corp-split { grid-template-columns:1fr !important; }
    .corp-gallery { grid-template-columns:repeat(2,1fr) !important; }

    /* Tablo/şerit grid'leri tek/çift sütuna indir */
    .corp-grid--3, .corp-grid--4 { grid-template-columns:1fr !important; }

    /* Harita yüksekliği */
    .ct-map iframe, .con-map iframe { height:320px; }
}

/* ============================================================
   MOBİL — 480px ve altı
   ============================================================ */
@media (max-width:480px) {
    .container { padding-left:14px; padding-right:14px; }

    .corp-hero { padding:80px 0 44px; }
    .corp-hero__title { font-size:clamp(1.5rem,8vw,2rem); }
    .corp-hero__lead { font-size:0.95rem; }

    /* modeller mobilde 2'li kalsın (taşma korumalı), diğer galeriler tek sütun */
    .gmodel-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:9px; }
    .corp-gallery { grid-template-columns:1fr !important; }
    .corp-hero__stats { gap:12px 16px; }

    /* buton grupları tam genişlik */
    .gallery-detail-hero-actions { flex-direction:column; }
    .gallery-detail-hero-actions .btn { width:100%; justify-content:center; }

    /* başlık aşırı büyük harf aralığını yumuşat */
    h1, h2 { letter-spacing:-0.01em; word-break:break-word; }
}

/* ============================================================
   MOBİL MENÜ — MODERN drawer (sağdan açılır, gradient, büyük dokunmatik)
   ============================================================ */
@media (max-width:992px) {
    /* Header taşma koruması: logo tek satır, asla taşmaz */
    #masthead .header-inner { gap:10px; min-width:0; }
    .site-branding { min-width:0; flex:1 1 auto; overflow:hidden; }
    .site-logo { min-width:0; }
    .site-logo .brand-main { font-size:0.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .site-logo .brand-sub { white-space:nowrap; }
    .header-right { flex-shrink:0; }

    /* Drawer — soldan açılır (sağ-taşma riskini önler) */
    .mobile-menu {
        left:0; right:auto;
        width:min(360px, 90vw); max-width:90vw; padding:0 0 24px;
        display:flex !important; flex-direction:column;
        background:linear-gradient(165deg, #0c1a30 0%, #142c4d 100%);
        transform:translateX(-100%); transition:transform 0.38s cubic-bezier(.4,0,.2,1);
        box-shadow:18px 0 50px rgba(0,0,0,0.4);
    }
    .mobile-menu.open { transform:translateX(0); }
    .mobile-menu-overlay { display:none; background:rgba(6,14,26,0.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
    .mobile-menu-overlay.open { display:block; }
    .mobile-menu-close { z-index:5; top:18px; right:18px; width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; }

    /* Üst kısım: logo + telefon */
    .mm-head { padding:24px 22px 20px; border-bottom:1px solid rgba(255,255,255,0.09); }
    .mm-head__brand { display:flex; align-items:center; gap:11px; color:#fff; margin-bottom:16px; min-width:0; }
    .mm-head__brand .logo-icon { width:40px; height:40px; background:var(--color-accent); border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .mm-head__brand .logo-icon i { color:#fff; }
    .mm-head__brand b { font-family:var(--font-heading); font-size:0.96rem; line-height:1.15; white-space:nowrap; }
    .mm-head__brand span { display:block; font-size:0.58rem; letter-spacing:0.2em; color:var(--color-accent); font-weight:800; }
    .mm-head__call { display:flex; align-items:center; justify-content:center; gap:9px; background:var(--color-accent); color:#fff; font-weight:800; font-size:0.9rem; padding:13px; border-radius:12px; min-height:48px; box-shadow:0 8px 20px rgba(30,111,187,0.35); }

    /* Liste */
    .mm-nav { list-style:none; margin:0; padding:8px 0; flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; }
    .mm-nav > li { position:relative; }
    .mm-nav > li + li { border-top:1px solid rgba(255,255,255,0.06); }
    .mm-nav > li > a,
    .mm-toggle {
        position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px;
        width:100%; padding:16px 24px; color:#fff; font-size:1rem; font-weight:600;
        background:none; border:none; text-align:left; cursor:pointer; font-family:inherit;
        transition:background 0.2s, color 0.2s;
    }
    /* hover/aktif: sol accent bar + arka plan */
    .mm-nav > li > a::before,
    .mm-toggle::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%) scaleY(0); width:3px; height:60%; background:var(--color-accent); border-radius:0 3px 3px 0; transition:transform 0.25s; }
    .mm-nav > li > a:active, .mm-toggle:active,
    .mm-has-sub.open > .mm-toggle { background:rgba(255,255,255,0.05); color:#fff; }
    .mm-has-sub.open > .mm-toggle::before { transform:translateY(-50%) scaleY(1); }
    .mm-toggle i { transition:transform 0.3s ease; color:rgba(255,255,255,0.5); font-size:0.78rem; }
    .mm-has-sub.open > .mm-toggle i { transform:rotate(180deg); color:var(--color-accent); }

    /* Alt menü — açılır */
    .mm-sub { list-style:none; margin:0; padding:0; max-height:0; overflow:hidden; background:rgba(0,0,0,0.22); transition:max-height 0.35s ease; }
    .mm-has-sub.open > .mm-sub { max-height:680px; }
    .mm-sub li a { display:block; padding:12px 24px 12px 42px; color:rgba(255,255,255,0.74); font-size:0.88rem; font-weight:500; line-height:1.35; transition:color 0.2s, background 0.2s; }
    .mm-sub li a:hover, .mm-sub li a:active { color:var(--color-accent); background:rgba(255,255,255,0.05); }
    .mm-sub li a strong { color:#fff; }

    /* Alt CTA */
    .mm-foot { padding:18px 22px 6px; display:flex; flex-direction:column; gap:10px; }
    .mm-foot a { display:flex; align-items:center; justify-content:center; gap:9px; padding:13px; border-radius:12px; font-weight:800; font-size:0.88rem; min-height:48px; }
    .mm-foot__wa { background:#25d366; color:#fff; box-shadow:0 8px 20px rgba(37,211,102,0.35); }
    .mm-foot__mail { background:rgba(255,255,255,0.08); color:#fff; border:1px solid rgba(255,255,255,0.14); }

    /* Eski .mobile-menu ul li a kurallarını nötrle */
    .mobile-menu .mm-nav a, .mobile-menu .mm-sub a { border-bottom:none; }
}
@media (max-width:360px) {
    .site-logo .brand-main { font-size:0.72rem; }
    .mobile-menu { width:min(320px, 92vw); }
}

/* ============================================================
   MOBİL FAB — sol alt köşede küçük kare Ara + WhatsApp butonları
   (çerez banner'ının üstünde; yatay taşma yapmaz çünkü left'e sabit)
   ============================================================ */
.mfab { display:none; }
@media (max-width:768px) {
    .float-wa { display:none !important; }

    .mfab {
        display:flex; flex-direction:column; gap:10px;
        position:fixed; left:14px; bottom:96px; z-index:1400;
    }
    .mfab__btn {
        width:50px; height:50px; border-radius:15px;
        display:flex; align-items:center; justify-content:center;
        color:#fff; font-size:1.3rem; box-shadow:0 8px 22px rgba(10,22,40,0.32);
        transition:transform 0.18s ease;
    }
    .mfab__btn:active { transform:scale(0.9); }
    .mfab__call { background:linear-gradient(135deg,#1a3a5c,#0a1628); }
    .mfab__wa { background:linear-gradient(135deg,#29e06f,#1da851); position:relative; }
    .mfab__wa::after {
        content:''; position:absolute; inset:0; border-radius:15px;
        box-shadow:0 0 0 0 rgba(37,211,102,0.5); animation:mfabPulse 2.2s ease-out infinite;
    }
    @keyframes mfabPulse {
        0%   { box-shadow:0 0 0 0 rgba(37,211,102,0.45); }
        70%  { box-shadow:0 0 0 14px rgba(37,211,102,0); }
        100% { box-shadow:0 0 0 0 rgba(37,211,102,0); }
    }
}



/* ============================================================
   SATIR-İÇİ (inline) GRID DÜZELTMELERİ
   Bazı şablonlarda inline grid-template-columns var; bunlar
   media query'leri ezdiği için mobilde !important ile düzeltilir.
   (Masaüstünde inline değer geçerli kalır → masaüstü değişmez)
   ============================================================ */
@media (max-width:992px) {
    /* Ana sayfa hero: inline "55% 1fr" -> tek sütun */
    #hero .hero-inner { grid-template-columns:1fr !important; gap:30px !important; }
}
@media (max-width:768px) {
    /* Benzer modeller (single sayfaları): inline "repeat(3,1fr)" -> 2 sütun */
    .models-grid { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:480px) {
    .models-grid { grid-template-columns:1fr !important; }
    /* Hero metin/buton aşırı genişlik koruması */
    #hero .hero-inner { gap:24px !important; }
}

/* ============================================================
   MODELLER (GALERİ) SAYFASI — yatay taşma kilidi
   Sabit alt çubuğun (Hemen Ara/WhatsApp) genişlemesine ve
   sayfanın sağa-sola kaymasına yol açan taşmayı engeller.
   ============================================================ */
/* Tüm galeri sayfası içeriğini saran kapsayıcı — evrensel destekli
   overflow-x:hidden (clip desteklemeyen eski mobil tarayıcılar için).
   ≤980px: bu noktada kenar çubuğu zaten static olur, sticky bozulmaz. */
@media (max-width:980px) {
    .gcat-page { overflow-x:hidden; max-width:100%; }
}
@media (max-width:992px) {
    .page-hero,
    .gallery-page-hero,
    .gallery-detail-hero,
    .gallery-detail-section { overflow-x:clip; }
    .gallery-detail-section > .container,
    .gallery-page-hero > .container { max-width:100%; overflow-x:clip; }

    .gcat-split, .gcat-main, .gcat-side,
    .gmodel-grid, .ginfo, .ginfo__feats { min-width:0; max-width:100%; }
    .gmodel-card, .gmodel-media, .gmodel-foot { min-width:0; max-width:100%; }
    .gmodel-wa { white-space:normal; }

    /* dekoratif daire taşmasın */
    .fp-split-panel--dark, .gcat-side { overflow:hidden; }

    /* galeri sayfasında kategori listesi küçük telefonlarda da görünsün
       (front-page'in .fp-cat-nav{display:none} kuralı buraya sızmasın) */
    .gcat-side .fp-cat-nav { display:flex !important; }
}

/* ============================================================
   MOBILE-FIRST HARDENING (v2) — gerçek mobil kullanılabilirlik
   Dokunmatik hedefler, formlar, grid taşma koruması, tipografi.
   Tümü mobil/tablet breakpoint'lerinde → masaüstü etkilenmez.
   ============================================================ */

/* Görseller: CLS önleme + responsive (her boyutta) */
img, video { height:auto; }

/* ── FORMLAR & DOKUNMATİK HEDEFLER (≤768px) ── */
@media (max-width:768px) {
    /* iOS odaklanınca otomatik zoom yapmasın: input font >=16px */
    input, select, textarea {
        font-size:16px !important;
        width:100%;
        max-width:100%;
    }
    /* Tıklanabilir butonlar min 48px yükseklik (Google dokunmatik hedefi)
       — display'leri zaten flex/inline-flex; sadece min-height ekliyoruz */
    .btn, .corp-btn, .corp-cta__phone, .corp-cta__alt,
    .ct-submit, .ct-mini, .mcb-call, .mcb-wa, .gmodel-wa,
    .mag-cta__phone, .mag-cta__wa, .float-wa__panel a,
    button[type="submit"], input[type="submit"] {
        min-height:48px;
    }
    /* Menü dokunma alanları (zaten flex/blok) */
    .mm-nav > li > a, .mm-toggle, .mm-sub li a { min-height:46px; }
    /* Sayfalama butonları biraz daha büyük (satır kaymasın diye inline kalır) */
    .gallery-page-btn { min-height:42px; }
}

/* ── GRID BLOWOUT KORUMASI — minmax(0,1fr) mantığı ── */
/* Grid/flex çocukları içeriklerinden dolayı track'i şişiremesin */
@media (max-width:992px) {
    .corp-grid > *, .corp-grid--3 > *, .corp-grid--4 > *,
    .mag-grid > *, .ct-lines > *, .hbe-provgrid > *,
    .gmodel-grid > *, .catx-grid > *, .footer-grid > *,
    .hb-grid > *, .hbz-cards > * { min-width:0; }
    /* metin taşması engeli */
    h1, h2, h3, h4, p, a, span, li { overflow-wrap:break-word; }
}

/* ── TİPOGRAFİ: başlıklar mobilde clamp ile sığsın ── */
@media (max-width:768px) {
    h1, .page-hero-title, .hero-title { font-size:clamp(1.5rem, 6vw, 2.2rem); line-height:1.18; }
    h2 { font-size:clamp(1.3rem, 5vw, 1.9rem); line-height:1.2; }
    h3 { font-size:clamp(1.1rem, 4.2vw, 1.4rem); }
}

/* ── KÜÇÜK TELEFONLAR (≤380px: iPhone SE / Galaxy A) ── */
@media (max-width:380px) {
    .container { padding-left:12px; padding-right:12px; }
    .corp-hero__title { font-size:clamp(1.35rem, 8vw, 1.8rem); }
    .gmodel-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:8px; }
    .corp-hero__stats { gap:10px 14px; }
    .ct-lines { grid-template-columns:1fr !important; }
    /* alt çubuk metni sığsın */
    .mcb-tx small { font-size:0.56rem; }
    .mcb-tx b { font-size:0.9rem; }
}

/* ── ÇOK GENİŞ EKRAN (≥1920px): içerik aşırı yayılmasın ── */
@media (min-width:1921px) {
    .container { max-width:1760px; }
}

/* ============================================================
   v3 — Model kartları 2'li mobil + SABİT HEADER + mobil FOOTER
   ============================================================ */

/* ── Model kartları: 2 sütunda dar alana sığsın ── */
@media (max-width:480px) {
    .gmodel-wa { font-size:0.72rem; padding:9px 6px; gap:5px; min-height:42px; }
    .gmodel-foot { padding:6px; }
    .gmodel-no { font-size:0.58rem; padding:3px 8px; top:6px; left:6px; }
    .gsec-head h2 { font-size:1.2rem; }
}

/* ── SABİT (fixed) MOBİL HEADER ── */
@media (max-width:992px) {
    #masthead { position:fixed; top:0; left:0; right:0; width:100%; max-width:100%; }
    body { padding-top:64px; }
    /* WordPress yönetici çubuğu varsa header onun altında dursun */
    body.admin-bar #masthead { top:46px; }
    /* Mobil menü ve overlay header'ın ÜSTÜNDE açılsın */
    .mobile-menu { z-index:1100; }
    .mobile-menu-overlay { z-index:1090; }
    /* sabit header'a göre içerik bağlantı kaydırma payı */
    :target { scroll-margin-top:74px; }
}
@media (max-width:782px) {
    /* mobilde admin bar 46px olur */
    body.admin-bar #masthead { top:46px; }
}

/* ── MOBİL FOOTER — düzgün otursun ── */
@media (max-width:768px) {
    .footer-main { padding:42px 0 30px; }
    .footer-grid { gap:30px 24px; }
    .footer-brand .footer-about { font-size:0.9rem; }
    .footer-social { flex-wrap:wrap; gap:8px; }
    .footer-partners { padding:18px 0; }
    .footer-partners .container { flex-direction:column; align-items:center; text-align:center; gap:12px; }
    .footer-partners__group, .footer-partners__legal { justify-content:center; width:100%; flex-wrap:wrap; }
    .footer-bottom { padding:18px 0; }
    .footer-bottom-inner { flex-direction:column; gap:12px; text-align:center; }
    .footer-credit { justify-content:center; }
    .footer-contact .contact-item { align-items:flex-start; }
}
@media (max-width:480px) {
    .footer-grid { grid-template-columns:1fr; gap:26px; }
    .footer-col-title { margin-bottom:6px; }
}

/* ============================================================
   v4 — Mezar/Tezgah model sayfası ÜST BANNER (hero) mobil düzeni
   + sabit header taşma güvencesi (bu sayfalarda)
   ============================================================ */
@media (max-width:768px) {
    /* Galeri hero: dikey diz, butonlar tam genişlik, taşma yok */
    .gallery-detail-hero .container { max-width:100%; }
    .gallery-detail-hero-inner { flex-direction:column; align-items:flex-start; gap:18px; }
    .gallery-detail-hero-text { gap:12px; min-width:0; }
    .gallery-detail-hero-icon { width:44px; height:44px; flex-shrink:0; }
    .gallery-detail-hero-icon i { font-size:1.1rem; }
    .gallery-detail-hero-text .page-hero-title { font-size:clamp(1.4rem,6vw,2rem); word-break:break-word; }
    .gallery-hero-desc { font-size:0.9rem; }
    .gallery-detail-stats { gap:14px; flex-wrap:wrap; }
    .gallery-detail-hero-actions { width:100%; display:flex; gap:10px; }
    .gallery-detail-hero-actions .btn { flex:1; min-width:0; justify-content:center; min-height:48px; }
    .gallery-page-hero .breadcrumb { flex-wrap:wrap; }
}

/* Bu sayfalarda yatay taşmayı kesin kes (sabit header genişlemesin) */
@media (max-width:992px) {
    /* galeri sayfası gövdesi viewport'u aşmasın */
    .gcat-page { overflow-x:hidden; max-width:100%; }
}

/* ============================================================
   v5 — MOBİL ALT NAVİGASYON (app tarzı) + hamburger kaldırıldı
   ============================================================ */
.mnav { display:none; }

@media (max-width:992px) {
    /* Hamburger header'dan kaldırıldı — yerini alt nav aldı */
    .hamburger { display:none !important; }

    /* Alt navigasyon çubuğu */
    .mnav {
        display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1450;
        width:100%; max-width:100%; box-sizing:border-box;
        background:#ffffff; border-top:1px solid #e6ecf3;
        box-shadow:0 -6px 22px rgba(10,22,40,0.10);
        padding-bottom:env(safe-area-inset-bottom, 0px);
    }
    .mnav__item {
        flex:1; min-width:0; display:flex; flex-direction:column;
        align-items:center; justify-content:center; gap:3px;
        padding:9px 4px; min-height:56px;
        background:none; border:none; cursor:pointer; text-decoration:none;
        font-family:inherit; font-size:0.62rem; font-weight:700; color:var(--color-text-light);
        transition:color 0.2s, background 0.2s;
    }
    .mnav__item i { font-size:1.2rem; color:var(--color-primary); transition:color 0.2s, transform 0.2s; }
    .mnav__item span { line-height:1; letter-spacing:0.01em; }
    .mnav__item:active { background:rgba(30,111,187,0.07); }
    .mnav__item.is-active { color:var(--color-accent); }
    .mnav__item.is-active i { color:var(--color-accent); transform:translateY(-1px); }
    .mnav__menu i { color:var(--color-accent); }

    /* içerik/footer alt nav'ın altında gizlenmesin */
    body { padding-bottom:66px; }

    /* drawer ve overlay alt nav'ın ÜSTÜnde açılsın */
    .mobile-menu { z-index:1500; }
    .mobile-menu-overlay { z-index:1490; }

    /* Ara/WhatsApp FAB'ları alt nav'ın üstüne (sağ) */
    .mfab { left:auto; right:14px; bottom:74px; }
}

/* ============================================================
   v6 — Yüzen OVAL alt nav (kenar boşluklu) + yüzen yuvarlak DRAWER
   ============================================================ */
@media (max-width:992px) {
    /* Alt nav: kenarlardan boşluklu, yuvarlak, yüzen pill */
    .mnav {
        left:14px; right:14px; bottom:14px; width:auto; max-width:520px;
        margin:0 auto; border-radius:24px;
        border:1px solid #eaf0f6;
        box-shadow:0 14px 34px rgba(10,22,40,0.18);
        padding:7px 8px calc(7px + env(safe-area-inset-bottom, 0px));
        gap:4px;
    }
    .mnav__item { border-radius:16px; min-height:54px; padding:8px 4px; }
    .mnav__item.is-active { background:rgba(30,111,187,0.10); }
    .mnav__item.is-active i { transform:translateY(-2px); }

    /* içerik yüzen nav'ın altında gizlenmesin */
    body { padding-bottom:90px; }

    /* Ara/WhatsApp FAB'ları yüzen nav'ın üstünde */
    .mfab { left:auto; right:16px; bottom:92px; }

    /* Drawer: düz slab değil → yüzen yuvarlak kart */
    .mobile-menu {
        top:14px; bottom:14px; left:14px; right:auto; height:auto;
        width:min(330px, 86vw); max-width:86vw;
        border-radius:22px; overflow:hidden;
        transform:translateX(calc(-100% - 22px));
        box-shadow:0 26px 64px rgba(0,0,0,0.45);
    }
    .mobile-menu.open { transform:translateX(0); }
    /* kart içinde liste kaydırılsın */
    .mm-nav { overflow-y:auto; -webkit-overflow-scrolling:touch; }
    /* üst köşe yuvarlağına göre head padding */
    .mm-head { border-radius:22px 22px 0 0; }
}

@media (max-width:380px) {
    .mnav__item { font-size:0.58rem; }
    .mnav__item i { font-size:1.1rem; }
    .mobile-menu { width:min(310px, 88vw); }
}

/* ============================================================
   v7 — Alt nav: beyaz bar YOK, ortalanmış, yan yana yüzen butonlar
   ============================================================ */
@media (max-width:992px) {
    .mnav {
        left:12px; right:12px; bottom:16px; width:auto; max-width:460px; margin:0 auto;
        display:flex; justify-content:center; gap:9px;
        background:none !important; border:none !important; box-shadow:none !important;
        padding:0 !important;
    }
    .mnav__item {
        flex:1; min-width:0;
        display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
        min-height:58px; padding:8px 4px;
        background:linear-gradient(160deg,#16335a 0%,#0a1628 100%);
        color:#fff; border:none; border-radius:16px;
        box-shadow:0 8px 20px rgba(10,22,40,0.30);
        font-family:inherit; font-size:0.6rem; font-weight:700; cursor:pointer; text-decoration:none;
        transition:transform 0.18s ease, background 0.2s ease;
    }
    .mnav__item i { font-size:1.18rem; color:#fff; transition:transform 0.2s ease; }
    .mnav__item span { line-height:1; }
    .mnav__item:active { transform:scale(0.94); }
    .mnav__item.is-active { background:linear-gradient(160deg,#2a85cf 0%,#1e6fbb 100%); box-shadow:0 8px 22px rgba(30,111,187,0.45); }
    .mnav__item.is-active i { transform:translateY(-1px); }
}
@media (max-width:360px) {
    .mnav { gap:7px; }
    .mnav__item { font-size:0.55rem; min-height:54px; }
    .mnav__item i { font-size:1.05rem; }
}

/* ============================================================
   v8 — Alt nav küçült + profesyonel palet, DRAWER kompakt
   ============================================================ */
@media (max-width:992px) {
    /* Alt nav: daha küçük, dar grup, zarif palet */
    .mnav { max-width:400px; gap:8px; bottom:14px; }
    .mnav__item {
        min-height:50px; padding:7px 4px; gap:2px; border-radius:14px;
        background:linear-gradient(180deg,#16293f 0%,#0c1a2c 100%);
        border:1px solid rgba(255,255,255,0.06);
        box-shadow:0 6px 16px rgba(10,22,40,0.22);
        font-size:0.55rem; font-weight:600; color:rgba(255,255,255,0.7);
    }
    .mnav__item i { font-size:1rem; color:rgba(255,255,255,0.82); }
    .mnav__item.is-active {
        background:linear-gradient(180deg,#2a7cc4 0%,#1c63a8 100%); color:#fff;
        box-shadow:0 6px 18px rgba(30,111,187,0.38);
    }
    .mnav__item.is-active i { color:#fff; }

    /* DRAWER: kompakt, sayfanın tamamını kaplamasın */
    .mobile-menu {
        top:14px; bottom:auto; left:14px; right:auto; height:auto;
        max-height:calc(100vh - 28px);
        width:min(282px, 80vw); max-width:80vw;
        border-radius:18px; overflow:hidden;
        transform:translateX(calc(-100% - 22px));
    }
    .mobile-menu.open { transform:translateX(0); }
    .mm-nav { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:6px 0; }

    .mm-head { padding:18px 18px 14px; border-radius:18px 18px 0 0; }
    .mm-head__brand { margin-bottom:12px; gap:9px; }
    .mm-head__brand .logo-icon { width:34px; height:34px; border-radius:9px; }
    .mm-head__brand b { font-size:0.86rem; }
    .mm-head__brand span { font-size:0.55rem; }
    .mm-head__call { padding:10px; font-size:0.82rem; min-height:44px; border-radius:10px; }

    .mm-nav > li > a, .mm-toggle { padding:12px 18px; font-size:0.9rem; }
    .mm-toggle i { font-size:0.72rem; }
    .mm-sub li a { padding:9px 18px 9px 34px; font-size:0.82rem; }

    .mm-foot { padding:14px 18px 4px; gap:8px; }
    .mm-foot a { padding:11px; font-size:0.82rem; min-height:44px; border-radius:10px; }

    body { padding-bottom:84px; }
    .mfab { bottom:84px; }
}
@media (max-width:360px) {
    .mnav { max-width:none; gap:6px; }
    .mnav__item { min-height:48px; font-size:0.52rem; }
    .mobile-menu { width:min(265px, 84vw); }
}

/* ============================================================
   v9 — Header kesin garanti (model sayfaları dahil hiç taşmasın)
   ============================================================ */
@media (max-width:992px) {
    .hamburger, .header-right { display:none !important; }
    #masthead { max-width:100vw !important; overflow:hidden; }
    #masthead .header-inner { max-width:100%; }
    /* model sayfası gövdesi kesin kırpılsın */
    .gcat-page, .gallery-detail-section, .gallery-page-hero { overflow-x:hidden !important; max-width:100%; }
}

/* ============================================================
   v10 — Sürükleme/taşma kesin çözüm: drawer güvenli konum + nav sabit
   ============================================================ */
@media (max-width:992px) {
    /* Drawer: sol kenara tam yaslı, GÜVENLİ off-screen (kaydırma yapmaz) */
    .mobile-menu {
        top:0; bottom:0; left:0; right:auto; height:100vh; max-height:none;
        width:min(286px, 82vw); max-width:82vw;
        border-radius:0 18px 18px 0; overflow:hidden;
        transform:translateX(-100%);
    }
    .mobile-menu.open { transform:translateX(0); }
    .mm-head { border-radius:0; }
    /* kapalıyken etkileşim olmasın (taşmaya da katkı vermesin) */
    .mobile-menu:not(.open) { visibility:hidden; }
    .mobile-menu.open { visibility:visible; }

    /* Alt nav: viewport'a sabit, ortalanmış, asla kaymaz */
    .mnav {
        left:0; right:0; bottom:14px; width:100%; max-width:100%; margin:0;
        padding:0 14px; justify-content:center; gap:9px;
        background:none !important; box-shadow:none !important; border:none !important;
    }
    .mnav__item { flex:1 1 0; max-width:104px; }
}

/* ============================================================
   v11 — KESİN taşma kilidi: tüm üst-düzey bloklar + nav viewport içi
   ============================================================ */
@media (max-width:992px) {
    html { overflow-x:hidden !important; }
    body { overflow-x:hidden !important; width:100%; max-width:100%; position:relative; }

    /* Tüm üst düzey bloklar viewport'u aşmasın (clip desteklenmezse hidden) */
    #masthead, #colophon, .footer-main, .footer-partners, .footer-bottom,
    .footer-trust-bar, .gcat-page, .gallery-detail-section, .gallery-page-hero,
    main, .site-content { max-width:100vw !important; overflow-x:hidden; }

    /* Alt nav: kesinlikle viewport içinde, ortalı, esneyen butonlar */
    .mnav {
        left:0 !important; right:0 !important; width:100% !important; max-width:100% !important;
        margin:0 !important; padding:0 12px !important; box-sizing:border-box;
        justify-content:center; gap:8px; overflow:visible;
    }
    .mnav__item { flex:1 1 0; min-width:0; max-width:92px; }

    /* FAB ve menü overlay de taşmasın */
    .mfab { max-width:60px; }
}

/* ============================================================
   v12 — MOBİL FOOTER: 2 sütun (2x2 düzen), küçük yazı, tam otursun
   ============================================================ */
@media (max-width:768px) {
    .footer-main { padding:36px 0 26px; }
    .footer-grid {
        grid-template-columns:repeat(2,1fr) !important;
        gap:22px 16px !important;
    }
    /* Marka kolonu üstte tam genişlik */
    .footer-brand { grid-column:1 / -1; text-align:left; }
    .footer-about { font-size:0.8rem; line-height:1.6; }
    .footer-social { gap:8px; }
    .footer-social .social-btn { width:34px; height:34px; }

    .footer-col-title { font-size:0.8rem; margin-bottom:9px; letter-spacing:0.02em; }
    .footer-links { gap:0; }
    .footer-links a { font-size:0.76rem; padding:4px 0; line-height:1.4; }
    .footer-contact .contact-item { gap:10px; margin-bottom:12px; }
    .footer-contact .contact-item-icon { width:30px; height:30px; font-size:0.78rem; }
    .footer-contact .contact-item-text { font-size:0.76rem; line-height:1.5; }
    .footer-contact .contact-item-text strong { font-size:0.8rem; }
}
@media (max-width:480px) {
    /* 480'de de TEK sütuna düşmesin → 2 sütun kalsın */
    .footer-grid { grid-template-columns:repeat(2,1fr) !important; gap:20px 14px !important; }
    .footer-col-title { font-size:0.76rem; }
    .footer-links a { font-size:0.72rem; }
    .footer-contact .contact-item-text { font-size:0.72rem; }
}
@media (max-width:340px) {
    .footer-grid { grid-template-columns:1fr !important; }
}

/* ============================================================
   v13 — Footer İletişim 2 sütun + alttaki beyaz alanı kaldır
   ============================================================ */
@media (max-width:768px) {
    /* İletişim kolonu tam genişlik + içindeki bilgiler 2 sütun */
    .footer-grid > .footer-col:last-child { grid-column:1 / -1; }
    .footer-grid > .footer-col:last-child .footer-contact {
        display:grid; grid-template-columns:1fr 1fr; gap:14px 16px;
    }
}
@media (max-width:992px) {
    /* Footer bitimindeki beyaz (body) alanı kaldır:
       boşluğu body yerine koyu footer'a ver → beyaz görünmez */
    body { padding-bottom:0 !important; }
    #colophon { padding-bottom:86px; }
}
@media (max-width:380px) {
    .footer-grid > .footer-col:last-child .footer-contact { grid-template-columns:1fr; }
}

/* ============================================================
   v14 — Footer altı beyaz KESİN çözüm
   html arka planı koyu → footer altındaki tüm alan koyu (dikişsiz)
   ============================================================ */
@media (max-width:992px) {
    html { background:#060e1a; }
    body { padding-bottom:0 !important; background:#ffffff; }
    #colophon { background:#060e1a; padding-bottom:84px; }
}

/* ============================================================
   v15 — Mobil/tablet (≤992px) TÜM kart ızgaraları kesin 2'li
   (önceki katman çakışmalarını ezer)
   ============================================================ */
@media (max-width:992px) {
    /* Mezar/Tezgah model kartları */
    .gmodel-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:10px !important; }
    /* Mezar/Tezgah arşiv (kategori liste) kartları */
    .catx-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:14px !important; }
    /* Hizmet bölgeleri kartları/dizinleri */
    .hbe-index, .hbe-provgrid,
    .hbz-cards, .hbz-prov,
    .hb-grid, .hb-prov-grid, .hb-feats { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
    /* Footer: 2 sütun, marka üstte tam genişlik */
    .footer-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:22px 16px !important; }
    .footer-brand { grid-column:1 / -1 !important; }
    .footer-grid > .footer-col:last-child { grid-column:1 / -1; }
}
/* Çok küçük telefonlarda bile model/arşiv kartları 2'li kalsın */
@media (max-width:380px) {
    .gmodel-grid { gap:8px !important; }
    .catx-grid { gap:10px !important; }
}

/* ============================================================
   v17 — Footer 1x2x2x1 + footer altı beyazlık kesin çözüm
   Satır1: Marka (tam) | Satır2: 2 sütun | Satır3: 2 sütun | Satır4: İletişim (tam)
   ============================================================ */
@media (max-width:768px) {
    /* FOOTER 1-2-2-1 düzeni */
    .footer-grid { grid-template-columns:1fr 1fr !important; gap:30px 18px !important; }
    .footer-brand { grid-column:1 / -1 !important; text-align:left; }                   /* Satır 1: tam genişlik */
    .footer-grid > .footer-col:last-child { grid-column:1 / -1 !important; }            /* Satır 4: İletişim tam genişlik */
    .footer-grid > .footer-col:last-child .footer-contact {
        display:grid; grid-template-columns:1fr 1fr !important; gap:16px 18px !important;
    }
    .footer-col-title { font-size:0.82rem; margin-bottom:9px; letter-spacing:0.02em; }
    .footer-links a { font-size:0.78rem; padding:4px 0; line-height:1.45; }

    /* İletişim sayfası: telefon kartları 2'li */
    .ct-lines { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
    .ct-channels { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }

    /* Hizmet bölgeleri: kart/dizinler 2'li */
    .hbe-index, .hbe-provgrid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
    .hbe-band { grid-template-columns:1fr !important; }
}
@media (max-width:420px) {
    /* Çok dar ekranda İletişim bilgileri tek sütun */
    .footer-grid > .footer-col:last-child .footer-contact { grid-template-columns:1fr !important; }
    .ct-channels { grid-template-columns:1fr !important; }
}

/* ── ÇEREZ (CookieYes) yeniden-aç ikonu gizle (alt menüyü engelliyor) ── */
.cky-btn-revisit-wrapper,
.cky-revisit-bottom-left,
.cky-revisit-bottom-right,
#cookie-law-info-again,
.wt-cli-revisit-fab { display:none !important; }


/* ============================================================
   v18 — İNCE & ZARİF MOBİL NAVİGASYON  (TEK OTORİTER TASARIM)
   Önceki tüm .mnav / drawer katmanlarını ezer (dosya sonunda + !important).
   Alt çubuk: Ana Sayfa · Hizmet · İletişim · Menü
   ============================================================ */
@media (max-width:992px){

  /* ---- Alt navigasyon: ince, zarif, tam genişlik bar ---- */
  .mnav{
    display:flex !important;
    position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
    width:100% !important; max-width:100% !important; margin:0 !important;
    z-index:1450;
    align-items:stretch !important; justify-content:space-around !important;
    gap:0 !important; padding:0 4px !important;
    height:60px;
    background:rgba(10,22,40,0.96) !important;
    -webkit-backdrop-filter:saturate(160%) blur(12px); backdrop-filter:saturate(160%) blur(12px);
    border:none !important; border-top:1px solid rgba(255,255,255,0.07) !important;
    border-radius:0 !important;
    box-shadow:0 -6px 22px rgba(0,0,0,0.28) !important;
    box-sizing:border-box;
    padding-bottom:env(safe-area-inset-bottom, 0px) !important;
  }
  .mnav__item{
    position:relative;
    flex:1 1 0 !important; min-width:0 !important; max-width:none !important;
    display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    background:none !important; border:none !important; box-shadow:none !important; border-radius:0 !important;
    color:rgba(255,255,255,0.55) !important;
    font-size:0.6rem !important; font-weight:600; letter-spacing:0.01em;
    font-family:inherit; cursor:pointer;
    min-height:0 !important; padding:9px 2px !important;
    transition:color 0.2s ease;
  }
  .mnav__item i{ font-size:1.18rem !important; color:rgba(255,255,255,0.6) !important; transition:color 0.2s ease, transform 0.2s ease; }
  .mnav__item span{ line-height:1; }
  .mnav__item:active{ transform:none !important; }
  .mnav__item:active i{ transform:scale(0.92); }

  /* aktif: accent renk + ince üst gösterge çizgisi */
  .mnav__item.is-active{ color:#fff !important; background:none !important; box-shadow:none !important; }
  .mnav__item.is-active i{ color:var(--color-accent) !important; transform:translateY(-1px); }
  .mnav__item.is-active::before{
    content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:24px; height:2px; background:var(--color-accent); border-radius:0 0 3px 3px;
  }
  .mnav__menu i{ color:var(--color-accent) !important; }

  /* içerik alt çubuğun altında gizlenmesin — boşluğu KOYU footer'a ver
     (body beyaz olduğu için body'ye padding verilmez → footer altı beyazlık olmaz) */
  body{ padding-bottom:0 !important; }
  #colophon{ padding-bottom:72px !important; }

  /* Ara / WhatsApp FAB'ları ince çubuğun hemen üstünde, sağda */
  .mfab{ left:auto !important; right:14px !important; bottom:74px !important; }
}
@media (max-width:360px){
  .mnav__item{ font-size:0.55rem !important; padding:8px 1px !important; }
  .mnav__item i{ font-size:1.06rem !important; }
}

/* ============================================================
   v18 — AÇILIR MENÜ (DRAWER): ince, zarif, ferah
   ============================================================ */
@media (max-width:992px){
  .mobile-menu{
    width:min(320px, 86vw) !important; max-width:86vw !important;
    background:linear-gradient(180deg,#0a1628 0%,#0e2138 100%) !important;
    box-shadow:24px 0 60px rgba(0,0,0,0.45) !important;
    padding:0 0 20px !important;
  }
  /* Üst başlık: ferah, ince ayraç */
  .mm-head{ padding:22px 20px 18px !important; border-bottom:1px solid rgba(255,255,255,0.07) !important; }
  .mm-head__call{
    background:rgba(255,255,255,0.06) !important; border:1px solid rgba(255,255,255,0.12);
    box-shadow:none !important; font-weight:700 !important; font-size:0.85rem !important;
    border-radius:11px !important;
  }
  .mm-head__call i{ color:var(--color-accent); }

  /* Liste: ince satırlar, ferah dikey ritim */
  .mm-nav{ padding:10px 10px !important; }
  .mm-nav > li + li{ border-top:none !important; }
  .mm-nav > li > a, .mm-toggle{
    padding:13px 14px !important; font-size:0.92rem !important; font-weight:500 !important;
    border-radius:10px !important; color:rgba(255,255,255,0.9) !important;
    min-height:0 !important;
  }
  .mm-nav > li > a::before, .mm-toggle::before{ display:none !important; }
  .mm-nav > li > a:active, .mm-toggle:active,
  .mm-has-sub.open > .mm-toggle{ background:rgba(255,255,255,0.06) !important; }
  .mm-toggle i{ font-size:0.72rem !important; color:rgba(255,255,255,0.4) !important; }
  .mm-has-sub.open > .mm-toggle i{ color:var(--color-accent) !important; }

  /* Alt menü: kompakt, ince */
  .mm-sub{ background:rgba(0,0,0,0.18) !important; border-radius:10px; margin:2px 4px 4px !important; }
  .mm-sub li a{
    padding:10px 14px 10px 30px !important; font-size:0.82rem !important;
    color:rgba(255,255,255,0.66) !important; min-height:0 !important;
  }

  /* Alt CTA: ince butonlar */
  .mm-foot{ padding:14px 16px 4px !important; gap:9px !important; }
  .mm-foot a{ padding:12px !important; font-size:0.84rem !important; border-radius:11px !important; min-height:46px !important; }

  /* Kapatma butonu: zarif */
  .mobile-menu-close{ width:34px !important; height:34px !important; border-radius:9px !important; background:rgba(255,255,255,0.07) !important; }
}


/* ============================================================
   v19 — MODEL & HİZMET KARTLARI: mobilde ferah, iç içe değil
   ============================================================ */
@media (max-width:768px){
  /* Arşiv kategori kartları (mezar/tezgah modelleri sayfası): TEK sütun, büyük ve net */
  .catx-grid{ grid-template-columns:1fr !important; gap:16px !important; }
  .catx-card{ aspect-ratio:16/10 !important; }
  .catx-desc{ max-height:none !important; opacity:1 !important; margin:0 0 14px !important; }

  /* Hizmet bölgeleri: TEK sütun (2'li bozuk duruyordu) */
  .hbe-index, .hbe-provgrid, .hbz-cards, .hbz-prov,
  .hb-grid, .hb-prov-grid, .hb-feats{ grid-template-columns:1fr !important; gap:14px !important; }
  .hbe-band{ grid-template-columns:1fr !important; gap:14px !important; }
}
/* Foto model kartları (kategori detay): telefonda tek, küçük tablette iki */
@media (max-width:600px){
  .gmodel-grid{ grid-template-columns:1fr !important; gap:14px !important; }
  .gmodel-media{ aspect-ratio:4/3; }
}
@media (min-width:601px) and (max-width:768px){
  .gmodel-grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important; }
}


/* ============================================================
   v20 — İLETİŞİM mobil + HERO görsel ortalama + DRAWER cila
   ============================================================ */

/* ---- İLETİŞİM SAYFASI: ferah, profesyonel ---- */
@media (max-width:768px){
  .ct-grid{ grid-template-columns:1fr !important; gap:22px !important; }
  .ct-form{ padding:24px 18px !important; }
  .ct-info{ padding:26px 20px !important; }
  .ct-row{ grid-template-columns:1fr !important; gap:0 !important; }
  .ct-map iframe{ height:300px !important; }
  .ct-info__head{ justify-content:space-between; }
}
@media (max-width:600px){
  /* Telefon hatları: tek sütun, tam genişlik temiz kartlar */
  .ct-lines{ grid-template-columns:1fr !important; gap:14px !important; }
  .ct-line{ padding:22px 20px !important; }
  /* Diğer kanallar: tek sütun */
  .ct-channels{ grid-template-columns:1fr !important; gap:12px !important; }
}
@media (min-width:601px) and (max-width:768px){
  .ct-lines{ grid-template-columns:repeat(2,1fr) !important; gap:14px !important; }
  .ct-channels{ grid-template-columns:1fr !important; }
}

/* ---- ANA SAYFA HERO: mezar modeli görseli mobilde görünür/ortalı ---- */
@media (max-width:768px){
  #hero{
    min-height:auto !important; padding:46px 0 40px !important;
    /* model görseli sağda → mobilde o tarafı çerçeveye al */
    background-position:75% center !important;
  }
  /* metin tüm genişlikte → dengeli koyu overlay (sağ açık gradient yerine) */
  #hero::before{
    background:linear-gradient(180deg, rgba(8,17,32,0.78) 0%, rgba(8,17,32,0.62) 55%, rgba(8,17,32,0.74) 100%) !important;
  }
  .hero-inner{ grid-template-columns:1fr !important; gap:0 !important; }
  .hero-spacer{ display:none !important; }
  .hero-desc{ max-width:none !important; }
  .hero-badge{ top:14px !important; right:14px !important; padding:8px 11px !important; font-size:0.6rem !important; }
}
@media (max-width:480px){
  .hero-stats{ grid-template-columns:repeat(2,1fr) !important; gap:14px !important; }
}

/* ---- AÇILIR MENÜ (DRAWER): daha profesyonel, premium dokunuş ---- */
@media (max-width:992px){
  .mobile-menu{
    border-right:1px solid rgba(255,255,255,0.05);
    background:linear-gradient(180deg,#091322 0%,#0d2138 60%,#0b1c30 100%) !important;
  }
  /* üst marka alanı: ince accent çizgi */
  .mm-head{ position:relative; }
  .mm-head::after{ content:''; position:absolute; left:20px; right:20px; bottom:0; height:2px; background:linear-gradient(90deg,var(--color-accent),transparent); border-radius:2px; }
  .mm-head__brand .logo-icon{ box-shadow:0 6px 18px rgba(30,111,187,0.40); }
  /* menü öğeleri: ince üst-harf aralığı, premium his */
  .mm-nav > li > a, .mm-toggle{ letter-spacing:0.01em; }
  .mm-nav > li > a:hover, .mm-toggle:hover{ background:rgba(255,255,255,0.05) !important; }
  /* alt menü bağlantıları: sol ince çizgi */
  .mm-sub{ position:relative; }
  .mm-sub::before{ content:''; position:absolute; left:16px; top:6px; bottom:6px; width:2px; background:rgba(30,111,187,0.35); border-radius:2px; }
  /* CTA butonları daha şık */
  .mm-foot__wa{ box-shadow:0 8px 22px rgba(37,211,102,0.30) !important; }
}
