/* =========================================================
   SOFTKREA ÖN YÜZ RESPONSIVE DÜZELTMELERİ
   Ana temayı değiştirmeden taşma, sıkışma ve mobil uyum katmanı
   ========================================================= */

html,
body {
    max-width: 100%;
}

body {
    overflow-x: clip;
}

img,
picture,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

/* Flex ve grid içindeki uzun içeriklerin ekranı genişletmesini engeller. */
.row > *,
[class*="__grid"] > *,
[class$="-grid"] > *,
.skc-footer-grid > *,
.skc-footer-cta__inner > *,
.skc-footer-bottom__inner > *,
.sk-dynamic-header .header-elements > *,
.sk-dynamic-mobile-header .mobile-header-elements > * {
    min-width: 0;
}

/* Uzun başlık, bağlantı, e-posta ve dosya adları güvenli şekilde satır kırar. */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main li,
main a,
.skc-footer h2,
.skc-footer h3,
.skc-footer a,
.skc-footer span,
.skc-footer p,
.sk-dynamic-mobile-sidebar a,
.sk-dynamic-mobile-sidebar span {
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Footer CTA uzun metinlerde taşmaz. */
.skc-footer-cta a {
    max-width: 100%;
    white-space: normal !important;
    text-align: center;
    line-height: 1.45;
}

.skc-footer-cta__inner,
.skc-footer-bottom__inner {
    min-width: 0;
}

.skc-footer-brand,
.skc-footer-brand img,
.skc-footer-brand__text {
    max-width: 100%;
}

.skc-footer-brand__text {
    flex-wrap: wrap;
}

/* Form elemanları ve editör çıktıları ekran dışına çıkmaz. */
input,
select,
textarea,
button,
.form-control,
.form-select,
.nice-select {
    max-width: 100%;
}

textarea {
    min-width: 0;
}

/* =========================================================
   ADIM 32 - ZENGİN İÇERİK VE MOBİL SAYFA YOLU GÜVENLİĞİ
   Panelden eklenecek geniş tablo/medya içeriklerinin sayfayı
   büyütmesini ve uzun breadcrumb metinlerinin kesilmesini önler.
   ========================================================= */

/* Editör içeriklerinin grid/flex kolonlarını genişletmesini engeller. */
.spbd-content,
.sk-sd-content,
.skpd16-rich-content,
.sk-dp-content,
.sk-dynamic-page-content,
.ck-content,
.page-content {
    min-width: 0;
    max-width: 100%;
}

/* Geniş tablolar tüm sayfayı taşırmak yerine kendi içinde kayar. */
.spbd-content table,
.sk-sd-content table,
.skpd16-rich-content table,
.sk-dp-content table,
.sk-dynamic-page-content table,
.ck-content table,
.page-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Doküman, blog ve genel içerik görselleri oranını korur. */
.skb-page img,
.skc-documents-page img,
.skc-document-modal img,
.service-details img,
.project-details img,
.blog-details img,
.ck-content img,
.page-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Modal başlığı uzun dosya adlarında kesilmek yerine kontrollü sarılır. */
.skc-document-modal__head strong {
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

/* Masaüstü ile mobil arası tablet genişliğinde header sıkışmasını azaltır. */
@media (min-width: 992px) and (max-width: 1199px) {
    body.sk-theme-construction .sk-construction-header .sk-dynamic-header .header-elements {
        gap: 14px !important;
    }

    body.sk-theme-construction .sk-construction-header .sk-dynamic-header .site-logo {
        width: min(var(--sk-header-logo-width), 155px) !important;
        min-width: min(var(--sk-header-logo-width), 155px) !important;
        padding-right: 16px !important;
    }

    body.sk-theme-construction .sk-construction-header .main-menu-ex > ul {
        gap: 0 !important;
    }

    body.sk-theme-construction .sk-construction-header .main-menu-ex > ul > li {
        padding-inline: 6px !important;
    }

    body.sk-theme-construction .sk-construction-header .main-menu-ex > ul > li > a {
        font-size: 10px !important;
        letter-spacing: 0 !important;
    }

    body.sk-theme-construction .sk-construction-header .sk-header-action.theme-btn1 {
        min-width: 0 !important;
        padding-inline: 15px !important;
        font-size: 10px !important;
        letter-spacing: .03em !important;
    }
}

@media (max-width: 991px) {
    /* Mobil menü ve sayfa içerikleri uzun metinlerde genişlemez. */
    .sk-dynamic-mobile-sidebar,
    .sk-dynamic-mobile-sidebar .mobile-sidebar,
    .sk-dynamic-mobile-sidebar .menu-close,
    .sk-dynamic-mobile-sidebar .mobile-nav-menu,
    .sk-dynamic-mobile-sidebar .contact-infos {
        max-width: 100%;
    }

    .sk-dynamic-mobile-sidebar .mobile-nav-menu a,
    .sk-dynamic-mobile-sidebar .contact-infos a,
    .sk-dynamic-mobile-sidebar .contact-infos span {
        white-space: normal !important;
    }

    /* İki kolonlu genel bloklar tek kolona güvenli biçimde düşer. */
    .skc-footer-cta__inner {
        width: 100%;
    }

    .skc-footer-cta a {
        align-self: stretch;
    }

    /* Geniş tablolar tüm sayfayı büyütmek yerine kendi içinde kayar. */
    main .table-responsive,
    main [class*="table-wrap"],
    main [class*="table-wrapper"] {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    main table {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    /* Mobilde ortak dış boşluk ve tipografi dengesi. */
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        --bs-gutter-x: 1.75rem;
    }

    main h1 {
        font-size: clamp(32px, 10vw, 46px) !important;
        line-height: 1.12 !important;
    }

    main h2 {
        font-size: clamp(27px, 8vw, 38px) !important;
        line-height: 1.18 !important;
    }

    main h3 {
        font-size: clamp(21px, 6vw, 29px);
        line-height: 1.25;
    }

    /* Buton grupları ve aksiyon alanları taşmadan alt satıra geçer. */
    main [class*="__actions"],
    main [class*="-actions"],
    main [class*="button-group"],
    main [class*="btn-group"] {
        max-width: 100%;
        flex-wrap: wrap;
    }

    main a[class*="btn"],
    main button,
    main input[type="submit"] {
        max-width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.4;
    }

    /* Uzun proje/hizmet/blog başlıkları breadcrumb satırını genişletmez. */
    main [class*="breadcrumb"] {
        max-width: 100%;
        min-width: 0;
        flex-wrap: wrap !important;
        row-gap: 7px;
    }

    main [class*="breadcrumb"] > * {
        min-width: 0;
    }

    .skpd16-breadcrumb span,
    .spbd-breadcrumb span {
        max-width: 100% !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
    }

    /* Modal ekran yüksekliğine ve çentikli telefonlara uyum sağlar. */
    .skc-document-modal {
        padding:
            max(12px, env(safe-area-inset-top))
            max(12px, env(safe-area-inset-right))
            max(12px, env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left)) !important;
    }

    .skc-document-modal__dialog {
        width: 100% !important;
        max-height: calc(100dvh - 24px) !important;
    }

    .skc-document-modal__media img {
        max-height: calc(100dvh - 150px) !important;
    }

    .skc-footer-cta h2 {
        font-size: clamp(29px, 9vw, 42px) !important;
    }

    .skc-footer-cta a {
        min-height: 54px;
        padding: 13px 18px;
    }

    .skc-footer-contact__item {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
    }

    .skc-footer-contact__icon {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 420px) {
    .sk-brand-text {
        gap: 5px !important;
        white-space: normal !important;
    }

    .sk-brand-text strong {
        font-size: 16px !important;
    }

    .sk-brand-text em {
        font-size: 9px !important;
        letter-spacing: .14em !important;
    }

    .skc-footer-shell,
    .skb-shell,
    .skc-documents-shell {
        width: calc(100% - 24px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }
}