/* GLOBAL */
html {
    overflow-x: clip;
}

body {
    overflow-x: clip;
    max-width: 100%;
}

.ana-icerik,
main.ana-icerik {
    max-width: 100%;
    min-width: 0;
}

.kapsayici,
.kapsayici-header {
    min-width: 0;
}

/* Yatay gutter → css/modul/layout-gutter.css (son katman) */

/* Grid / flex çocukları — sıkışma taşması */
:is(
    .header-ic,
    .footer-grid,
    .hero-icerik,
    .hero-metin,
    .menu-urun-kart,
    .menu-urun-bilgi,
    .menu-kategori-vitrin-kart,
    .lezzet-premium-kart,
    .lezzet-premium-icerik,
    .populer-tabak-kart,
    .populer-tabak-metin,
    .ic-link-kart,
    .hizli-erisim-kart,
    .footer-acc,
    .sayfa-baslik-govde,
    .sayfa-baslik-metin
) {
    min-width: 0;
}

/* Metin taşması — uzun Türkçe ürün adları */
:is(
    h1, h2, h3, h4, h5, h6,
    p, li, .btn,
    .menu-urun-link,
    .menu-urun-baslik h3,
    .lezzet-premium-icerik h3,
    .lezzet-premium-baslik-link,
    .menu-kategori-vitrin-kart h3,
    .populer-tabak-metin strong,
    .menu-kategori-baslik,
    .sayfa-baslik-h1,
    .hdr-marka-baslik,
    .hdr-mobil-logo-metin
) {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

img,
video,
iframe,
svg,
picture {
    max-width: 100%;
    height: auto;
}

.hero-native-video,
.hero-video-wrapper video {
    max-width: none;
    height: 100%;
}

/* HEADER */
.header-sarmal {
    width: 100%;
    max-width: 100%;
}

/* HERO */
.hero-metin {
    max-width: min(760px, calc(100% - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px))));
}

@media (max-width: 1023px) {
    .hero-metin {
        max-width: min(780px, calc(100% - 32px));
    }
}

/* E-MENÜ ÜRÜN KARTLARI */
.menu-urun-bilgi {
    flex: 1 1 0;
    min-width: 0;
}

.menu-urun-baslik {
    min-width: 0;
}

.menu-urun-baslik h3 {
    min-width: 0;
    line-height: 1.35;
}

.menu-urun-kart {
    flex-wrap: wrap;
    align-items: flex-start;
    min-width: 0;
}

.menu-urun-fiyat {
    flex: 0 0 auto;
    max-width: 100%;
}

.menu-urun-fiyat-siparis {
    max-width: 100%;
    text-align: center;
}

.menu-kategori-vitrin-kart h3 {
    line-height: 1.3;
}

.menu-kategori-vitrin-kart {
    min-height: 0;
}

.bolum-menu > .kapsayici {
    overflow-x: clip;
}

.menu-kategori-nav {
    max-width: 100%;
    overflow-x: clip;
}

/* Grid çocukları — min-width sıfırlama (kolon tanımları korunur) */
:is(
    .kart-grid-3,
    .lezzet-grid,
    .lezzet-premium-grid,
    .yorum-grid,
    .galeri-grid,
    .galeri-grid-kucuk,
    .menu-kategori-vitrin-grid,
    .footer-grid,
    .iki-kolon,
    .kesfet-blok,
    .iletisim-grid,
    .urun-bilgi-grid,
    .hata-linkler,
    .ic-link-grid
) > * {
    min-width: 0;
}

/* BUTONLAR */
.btn {
    max-width: 100%;
    overflow-wrap: break-word;
    text-align: center;
}

/* E-MENÜ */
@media (min-width: 1367px) {
    .menu-urun-kart {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 20px;
    }

    .menu-urun-kart:has(.menu-urun-thumb) {
        grid-template-columns: 72px minmax(0, 1fr) auto;
    }

    .menu-urun-thumb {
        grid-row: 1 / -1;
    }

    .menu-urun-bilgi {
        min-width: 0;
    }

    .menu-urun-fiyat {
        align-self: start;
        justify-self: end;
    }
}

/* Tablet + küçük laptop: fiyat satırı alta (1366px'e kadar) */
@media (min-width: 768px) and (max-width: 1366px) {
    .menu-urun-kart {
        flex-wrap: wrap;
        gap: var(--space-3);
    }

    .menu-urun-thumb {
        flex: 0 0 72px;
    }

    .menu-urun-bilgi {
        flex: 1 1 calc(100% - 88px);
        min-width: min(100%, 240px);
    }

    .menu-urun-fiyat {
        flex: 1 1 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        white-space: normal;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        padding-top: var(--space-2);
        margin-top: var(--space-1);
    }

    .menu-urun-fiyat-siparis {
        flex: 0 1 auto;
        min-width: min(100%, 140px);
    }
}

/* LEZZETLER */
.lezzet-premium-icerik h3,
.lezzet-premium-baslik-link {
    line-height: 1.3;
}

.lezzet-premium-alt {
    flex-wrap: wrap;
    gap: var(--space-3);
}

.lezzet-premium-alt .btn {
    flex: 1 1 auto;
    min-width: min(100%, 160px);
}

.lezzet-kategori-ozet h2 {
    line-height: 1.3;
    overflow-wrap: break-word;
}

/* FOOTER */
.footer-grid {
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) and (max-width: 1023px) {
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }

    .footer-grid .footer-kolon {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 36px;
    }

    .footer-grid .footer-kolon {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1280px) {
    .footer-grid {
        grid-template-columns: minmax(200px, 1.25fr) repeat(4, minmax(0, 1fr));
        gap: clamp(20px, 2.5vw, 40px);
    }
}

@media (min-width: 1440px) {
    .footer-grid {
        grid-template-columns: minmax(240px, 1.3fr) repeat(4, minmax(0, 1fr));
        gap: clamp(24px, 2vw, 44px);
    }
}

.footer-acc summary,
.footer-acc-baslik h4 {
    overflow-wrap: break-word;
}

.footer-linkler a,
.footer-iletisim li,
.footer-saatler li {
    overflow-wrap: break-word;
}

.marka-tanim-band p {
    max-width: 100%;
}

/* FORMLAR */
@media (max-width: 767px) {
    .form-satir {
        grid-template-columns: 1fr;
    }

    .form-grup input,
    .form-grup select,
    .form-grup textarea {
        font-size: 16px;
        max-width: 100%;
    }

    .iletisim-form-kolon,
    .iletisim-bilgi-kolon {
        min-width: 0;
    }
}

/* ÜRÜN DETAY CTA */
@media (max-width: 767px) {
    .urun-detay-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .urun-detay-cta .btn {
        width: 100%;
        justify-content: center;
    }
}

/* CTA / DEKOR */
.bolum-cta-banner {
    overflow: hidden;
}

.bolum-cta-banner::before {
    max-width: min(600px, 100%);
}

/* MOBİL MENÜ */
@media (max-width: 1023px) {
    .hdr-mobil-nav-link {
        overflow-wrap: break-word;
        word-wrap: break-word;
        hyphens: auto;
    }

    .hdr-mobil-hizli-etiket,
    .hdr-mobil-bilgi-metin {
        overflow-wrap: break-word;
    }
}

/* HIZLI ERİŞİM / SAP */
.hizli-erisim-band--premium .hizli-erisim-metin small {
    white-space: normal;
    overflow-wrap: break-word;
}

.sap-mobil-oge span,
.sap-mobil-etiket {
    overflow-wrap: break-word;
    text-align: center;
    max-width: 100%;
}

/* GALERİ */
.galeri-item,
.galeri-item img {
    max-width: 100%;
}

.galeri-item {
    min-width: 0;
    overflow: hidden;
}

/* SAYFA BAŞLIK */
.sayfa-baslik-chip {
    overflow-wrap: break-word;
    max-width: 100%;
}

.sayfa-baslik-h1 {
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Alt sayfa başlık bandı — fixed header ile hizalı üst boşluk */
body.sayfa-anasayfa-disi .sayfa-baslik-band {
    padding-top: calc(var(--header-ic-yukseklik, var(--hdr-h, 72px)) + var(--space-3, 0.75rem));
}

.sayfa-baslik-h1,
.sayfa-baslik-govde {
    scroll-margin-top: calc(var(--hdr-h, var(--header-ic-yukseklik, 72px)) + 12px);
}

/* İKİ KOLON / KEŞFET */
@media (max-width: 767px) {
    .gorsel-rozet {
        position: relative;
        bottom: auto;
        right: auto;
        margin-top: var(--space-4);
        max-width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hero-butonlar .btn {
        min-width: 0;
        flex: 1 1 auto;
    }
}

/* BUTON GRUPLARI */
@media (max-width: 479px) {
    .hero-butonlar {
        width: 100%;
        padding-inline: 0;
    }

    .hero-butonlar .btn {
        width: 100%;
        max-width: 100%;
    }

    .ortala-flex:not(.hero-butonlar) {
        flex-direction: column;
        align-items: stretch;
    }

    .ortala-flex:not(.hero-butonlar) .btn {
        width: 100%;
    }
}

/* ÇOK DAR EKRAN (280–320px) */
@media (max-width: 320px) {
    :root {
        --kapsayici-padding: max(10px, env(safe-area-inset-left, 0px));
    }

    .hdr-marka {
        max-width: min(56vw, 190px);
    }

    .menu-filtre-btn {
        padding: 10px 14px;
        font-size: 0.75rem;
    }

    .menu-kategori-nav-oge {
        padding: 8px 12px;
        font-size: 0.72rem;
    }

    .iletisim-mobil-hizli-oge {
        font-size: 0.48rem;
        padding: var(--space-2) 4px;
    }
}

/* CHIP / BREADCRUMB */
.sayfa-baslik-chips,
.sayfa-baslik-chip-listesi {
    flex-wrap: wrap;
}

.breadcrumb-liste {
    overflow-wrap: anywhere;
}

/* POPÜLER TABAKLAR */
.populer-tabak-metin strong {
    line-height: 1.3;
}

/* SAP ile içerik çakışması */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 1023px) {
    .hdr-mobil-menu-govde {
        padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
    }
}

/* ============================================================
   3. TUR — DERİN RESPONSIVE KATMAN (sayfa CSS'inden sonra yüklenir)
   ============================================================ */

/* Header — yatay taşma, hero logo sınırı */
.header-sarmal {
    overflow-x: clip;
}

@media (max-width: 1023px) {
    .header-sarmal--hero .ana-header:not(.scrolled) .hdr-marka-gorsel {
        max-width: min(calc(var(--hdr-logo-hero-h, 124px) * 120 / 160), calc(100% - 48px));
    }

    /* Dokunma hedefi — scrolled durumda 38px yerine 44px */
    .hdr-hamburger,
    .ana-header.scrolled .hdr-hamburger {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
    }
}

/* Premium grid'ler — kolon taşması */
@media (min-width: 640px) {
    .populer-tabak-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .imza-lezzet-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .populer-tabak-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .imza-lezzet-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.imza-lezzet-kart h3,
.imza-lezzet-kart p {
    overflow-wrap: break-word;
}

.lezzet-kategori-ozet-grid {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .lezzet-kategori-ozet-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* E-Menü — kategori başlık + rozet */
.menu-kategori-baslik {
    font-size: clamp(1.35rem, 4vw, 2rem);
    overflow-wrap: break-word;
}

.menu-urun-rozet,
.menu-urun-etiket {
    max-width: 100%;
    overflow-wrap: break-word;
}

/* Ürün detay — uzun isimler, ilgili lezzetler */
.urun-detay-sayfa h1,
.urun-detay-ust h1 {
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.2;
}

.urun-ilgili-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}

.urun-ilgili-kart strong {
    overflow-wrap: break-word;
    line-height: 1.3;
}

.entity-etiketler a {
    overflow-wrap: break-word;
    max-width: 100%;
}

.urun-hizli-bilgi {
    min-width: 0;
}

/* 404 popüler kartlar */
.hata-populer-kart strong {
    overflow-wrap: break-word;
    line-height: 1.3;
}

.hata-linkler {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
}

/* Footer sosyal + telif */
.sosyal-medya {
    flex-wrap: wrap;
}

.footer-telif,
.footer-yasal {
    overflow-wrap: break-word;
}

.footer-logo .logo-metin {
    overflow-wrap: break-word;
    min-width: 0;
}

/* Hızlı erişim — sayfa başlığı bandı (nowrap override) */
.hizli-erisim-band--premium .hizli-erisim-metin small {
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    overflow-wrap: break-word;
}

.hizli-erisim-grid--premium {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

@media (min-width: 768px) {
    .hizli-erisim-grid--premium {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Form — hata mesajları, select */
.form-grup .form-hata,
.form-grup .form-basarili {
    overflow-wrap: break-word;
    max-width: 100%;
}

.form-grup input,
.form-grup select,
.form-grup textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Yorum kartları */
.yorum-kart,
.yorum-kart-buyuk {
    min-width: 0;
}

.yorum-kart blockquote,
.yorum-kart-buyuk blockquote {
    overflow-wrap: break-word;
}

/* Galeri lightbox — mobil güvenli alan */
.lightbox img {
    max-width: 100%;
    height: auto;
}

/* İstatistik / deneyim */
.istatistik-oge,
.deneyim-kart {
    min-width: 0;
}

.istatistik-oge strong,
.deneyim-kart h3 {
    overflow-wrap: break-word;
}

/* Kategori vitrin — eşit yükseklik */
.menu-kategori-vitrin-grid {
    align-items: stretch;
}

.menu-kategori-vitrin-kart {
    height: 100%;
}

.menu-kategori-vitrin-kart p {
    overflow-wrap: break-word;
}

/* Tablet footer — dengeli kolonlar */
@media (min-width: 768px) and (max-width: 1279px) {
    .footer-acc {
        min-width: 0;
    }
}

/* Çok dar ekran — okunabilirlik iyileştirmesi */
@media (max-width: 320px) {
    .iletisim-mobil-hizli-oge {
        font-size: clamp(0.58rem, 2.8vw, 0.68rem);
        padding: var(--space-2) 6px;
        line-height: 1.25;
    }

    .hdr-mobil-nav-link {
        font-size: clamp(0.95rem, 4.2vw, 1.05rem);
    }
}

@media (max-width: 280px) {
    :root {
        --kapsayici-padding: max(8px, env(safe-area-inset-left, 0px));
    }

    .btn {
        padding-inline: 12px;
        font-size: 0.85rem;
    }

    .menu-urun-fiyat-siparis {
        font-size: 0.72rem;
        padding: 8px 10px;
    }
}

/* Masaüstü menü — 1024–1199 nav sıkışması */
@media (min-width: 1024px) and (max-width: 1199px) {
    .hdr-merkez .hdr-menu {
        gap: 8px;
    }

    .hdr-nav-link {
        font-size: 0.875rem;
        letter-spacing: 0.01em;
    }
}

/* MISAFİRLER */
.ig-reels-grid,
.ig-reel-kart,
.ig-reel-metin {
    min-width: 0;
}

.ig-reel-metin h3,
.ig-reels-cta p {
    overflow-wrap: break-word;
}

/* ============================================================
   4. TUR — ARAMA, ANCHOR, ANASAYFA, LANDSCAPE, ULTRA-WIDE
   ============================================================ */

/* Menü / 404 arama — mobil klavye zoom önleme + taşma */
.menu-arama-wrap,
.hata-arama {
    width: 100%;
    max-width: min(480px, 100%);
    box-sizing: border-box;
}

.menu-arama-input,
.hata-arama-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: var(--touch-min, 44px);
}

@media (max-width: 767px) {
    .menu-arama-input,
    .hata-arama-input {
        font-size: 16px;
    }
}

/* Sticky kategori nav — anchor hedefleri header altında kalsın */
.menu-kategori-grup,
.menu-kategori-baslik,
.lezzet-premium-kart,
.menu-kategori-vitrin-kart {
    scroll-margin-top: calc(var(--header-ic-yukseklik, 72px) + 20px);
}

.menu-arac-cubugu {
    max-width: 100%;
    overflow-x: clip;
}

/* Anasayfa lezzet / yorum kartları */
.lezzet-kart-icerik h3,
.lezzet-kart-link h3,
.lezzet-spot-grid h2,
.lezzet-spot-grid p,
.lezzet-spot-chip {
    overflow-wrap: break-word;
}

.lezzet-spot-aksiyon {
    flex-wrap: wrap;
}

.lezzet-spot-aksiyon .btn {
    flex: 1 1 auto;
    min-width: min(100%, 148px);
}

.lezzet-spot-gorsel,
.lezzet-spot-gorsel img {
    max-width: 100%;
}

.yorum-slider,
.yorum-grid,
.yorum-kart {
    min-width: 0;
}

.yorum-yazar strong,
.yorum-yazar span {
    overflow-wrap: break-word;
}

/* Ürün detay — menü kategori linki */
.urun-menu-kat-link {
    overflow-wrap: break-word;
    max-width: 100%;
}

/* İç link / site haritası kartları */
.ic-link-kart h3,
.ic-link-kart p,
.sitemap-liste a {
    overflow-wrap: break-word;
}

/* Galeri teaser + lightbox */
.galeri-teaser-kart,
.galeri-teaser-kart img {
    max-width: 100%;
}

.galeri-teaser-kart figcaption {
    overflow-wrap: break-word;
}

/* İletişim kartları — uzun adres / telefon */
.iletisim-kart-metin,
.iletisim-item a,
.iletisim-kart p {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Marka tanım bandı */
.marka-tanim-band {
    overflow-wrap: break-word;
}

.marka-tanim-band .btn {
    margin-top: var(--space-3);
}

/* Yatay telefon — hero CTA + SAP birlikte */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 1023px) {
    .hero-butonlar {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--space-2);
    }

    .hero-butonlar .btn {
        width: auto;
        flex: 0 1 auto;
        min-height: 40px;
        padding-block: var(--space-2);
    }

    .hero-metin {
        max-width: min(100%, 640px);
    }

    body {
        padding-bottom: calc(var(--sap-mobil-bar-ic, 58px) + var(--sap-mobil-bar-dis, 24px) + env(safe-area-inset-bottom, 0px));
    }

    .sap-mobil {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
}

/* Ultra geniş ekran — hero metin genişliği */
@media (min-width: 1920px) {
    .hero-metin {
        max-width: min(820px, 100%);
    }
}

/* Küçük yükseklik + tablet yatay — mobil menü govde */
@media (max-height: 480px) and (orientation: landscape) and (max-width: 1023px) {
    .hdr-mobil-menu-ust {
        padding-top: max(8px, env(safe-area-inset-top, 0px));
        padding-bottom: 8px;
    }

    .hdr-mobil-logo img {
        width: 40px;
        height: 52px;
    }

    .hdr-mobil-nav-link {
        min-height: 40px;
        padding-block: 8px;
    }
}
