/* ============================================================
   GÖRSEL TAŞMA KORUMASI  (v2)
   Kural: temanın konumlandırmasına (position) ASLA dokunma.
   Sadece kutuyu orana sabitle ve görseli kırparak içine sığdır.
   ============================================================ */

/* 1) Genel emniyet */
img, svg, video, iframe { max-width: 100%; }
img { height: auto; vertical-align: middle; }

/* ------------------------------------------------------------
   2) AKIŞ İÇİNDEKİ görsel kutuları
   Yüksekliği görsel belirlemesin diye sabit orana oturtulur.
   (position'a dokunulmaz - tema neyse o kalır)
   ------------------------------------------------------------ */
.blog-one__img,
.blog-two__img,
.blog-two__img-two,
.services-one__img,
.portfolio-one__img,
.team-one__img,
.about-two__img,
.blog-details__img,
.service-details__img,
.portfolio-details__img {
    overflow: hidden;
}

.blog-one__img,
.blog-two__img-two,
.services-one__img,
.portfolio-one__img { aspect-ratio: 16 / 10; }

.blog-two__img { aspect-ratio: 4 / 3; }

.blog-details__img,
.service-details__img,
.portfolio-details__img { aspect-ratio: 16 / 9; }

.team-one__img { aspect-ratio: 3 / 4; }

.about-two__img { aspect-ratio: 3 / 4; }

.blog-one__img > img,
.blog-two__img > img,
.blog-two__img-two > img,
.services-one__img > img,
.portfolio-one__img > img,
.team-one__img > img,
.about-two__img > img,
.blog-details__img > img,
.service-details__img > img,
.portfolio-details__img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* ------------------------------------------------------------
   3) TEMA ÖLÇÜSÜ SABİT kutular (absolute/dekoratif)
   Oran verilmez, sadece görsel kutuyu kırparak doldurur.
   ------------------------------------------------------------ */
.about-two__img-2,
.services-two__hover-img,
.why-choose-one__client-img,
.sidebar__post-image,
.testimonial-two__client-img,
.about-two__client-img,
.main-slider__trustpilot-img {
    overflow: hidden;
}

.about-two__img-2 > img,
.services-two__hover-img > img,
.why-choose-one__client-img > img,
.sidebar__post-image > img,
.testimonial-two__client-img > img,
.about-two__client-img > img,
.main-slider__trustpilot-img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Yuvarlak avatarlarda kırpma köşeleri bozmasın */
.testimonial-two__client-img > img,
.about-two__client-img > img,
.main-slider__trustpilot-img > img,
.why-choose-one__client-img > img { border-radius: inherit; }

/* ------------------------------------------------------------
   4) Logolar ve markalar - KIRPILMAZ, oranı korunarak sığar
   ------------------------------------------------------------ */
.main-menu-two__logo img,
.site-footer-two__logo img,
.mobile-nav__wrapper .logo-box img,
.sidebar-info-contents .logo img,
.brand-one__img img,
.brand-two__img img,
.main-slider__trustpilot-logo img {
    width: auto;
    object-fit: contain;
    object-position: center;
}

.main-menu-two__logo img,
.site-footer-two__logo img { max-height: 60px; }
.mobile-nav__wrapper .logo-box img { max-height: 50px; }
.sidebar-info-contents .logo img { max-height: 55px; }

.brand-one__img,
.brand-two__img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
}
.brand-one__img img,
.brand-two__img img { max-height: 55px; }

/* ------------------------------------------------------------
   5) Arkaplan görselleri - her zaman kapla ve ortala
   ------------------------------------------------------------ */
.main-slider-two__bg,
.single-portfolio-two__bg,
.page-header__bg,
.process-two__bg {
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Konum varsayilan olarak ortalanir; panelden/canli duzenlemeden gelen
   inline background-position degeri bu kurali ezebilsin diye !important YOK. */
.main-slider-two__bg,
.single-portfolio-two__bg,
.page-header__bg,
.process-two__bg,
.counter-two__bg-shape {
    background-position: center center;
}

/* ------------------------------------------------------------
   6) Türkçe metinlerde satır kırılmasını önleme
   ------------------------------------------------------------ */
.about-two__experience-count-box { flex-wrap: nowrap; }
.about-two__experience-count-box h3,
.about-two__experience-count-box span,
.counter-two__count-box h3,
.counter-two__count-box span { white-space: nowrap; }

.about-two__call-content p,
.about-two__call-content p a,
.main-menu-two__contact-list .text p a { white-space: nowrap; }

.about-two__experience-contact-and-btn { flex-wrap: wrap; row-gap: 20px; }

/* ------------------------------------------------------------
   7) Editörden gelen içerik görselleri
   ------------------------------------------------------------ */
.blog-details__text img,
.service-details__text-2 img,
.portfolio-details__text img,
.accrodion-content .inner img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 12px 0;
}

/* 8) Yatay taşma emniyeti */
html, body { overflow-x: hidden; }

/* ============================================================
   9) MOBİL KULLANILABİLİRLİK
   ============================================================ */
@media (max-width: 991px) {

    /* Dokunma alanları en az 44x44px (Apple/Google önerisi) */
    .mobile-nav__toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
    }

    .mobile-nav__close {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
    }

    .owl-dots .owl-dot,
    .swiper-pagination-bullet {
        min-width: 28px;
        min-height: 28px;
    }

    .navSidebar-button,
    .searcher-toggler-box,
    .scroll-to-top {
        min-width: 44px;
        min-height: 44px;
    }

    /* iOS'ta form alanına dokununca sayfa zoom yapmasın (16px altı zoom tetikler) */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="search"],
    input[type="password"],
    textarea,
    select {
        font-size: 16px !important;
    }

    /* Uzun e-posta / URL metinleri taşmasın */
    .site-footer-two__contact-info a,
    .mobile-nav__contact a,
    .contact-one__contact-list .content p {
        word-break: break-word;
        white-space: normal;
    }

    /* Mobilde telefon numarası tek satırda kalsın */
    .about-two__call-content p a { white-space: nowrap; }

    /* Harita yüksekliği */
    .google-map-one iframe { height: 320px !important; }
}

@media (max-width: 575px) {
    /* Küçük telefonlarda sayaç ve başlıklar taşmasın */
    .counter-two__count-box h3 { font-size: 36px; }
    .about-two__experience-count-box h3 { font-size: 40px; }

    /* Buton grupları alt alta ve tam genişlik */
    .main-slider-two__btns-box { flex-wrap: wrap; row-gap: 12px; }

    /* Fiyat kutusu içi taşma */
    .pricing-two__price { font-size: 38px; white-space: nowrap; }
}

/* ============================================================
   10) BÖLÜM DÜZENİ DÜZELTMELERİ
   ============================================================ */

/* Çalışma Adımları: satıra sığmayan son adım(lar) ortalansın.
   (3'lü ızgarada 4. adım tek başına sola düşüyordu) */
.process-two .row {
    justify-content: center;
}

/* 4 adım varken ikinci satırdaki tek kutu ortada ve dengeli dursun */
.process-two .row > li {
    display: flex;
    justify-content: center;
}
.process-two__single {
    width: 100%;
    max-width: 420px;
}

/* ============================================================
   11) FOOTER LİNK LİSTELERİ
   Tema kuralı flex-wrap:wrap olduğu için uzun hizmet adlarında
   ok ikonu tek başına üst satırda kalıyordu. Düzeltildi.
   ============================================================ */
.footer-widget-two__quick-links-list li a {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 9px;
    font-size: 16px;
    line-height: 1.55;
}

/* Uzun hizmet adlarının tek satırda kalması için kolona biraz nefes */
.footer-widget-two__services,
.footer-widget-two__support,
.footer-widget-two__quick-links { max-width: 100%; }

/* Ok ikonu ilk satırla hizalı ve sabit genişlikte */
.footer-widget-two__quick-links-list li a > span[class*="icon-"] {
    flex: 0 0 auto;
    margin-top: 6px;
    font-size: 12px;
}

/* Alt çizgi efekti iki satırlı linklerde taşmasın */
.footer-widget-two__quick-links-list li a:before {
    bottom: -3px;
}

/* İki satıra düşen maddelerde satır arası nefes alsın */
.footer-widget-two__quick-links-list li + li {
    margin-top: 14px;
}

@media (max-width: 1199px) {
    .footer-widget-two__quick-links-list li a { font-size: 15.5px; }
}

/* Footer sütun boşlukları: tema 100-108px iç boşluk verdiği için
   uzun hizmet adlarına yer kalmıyordu. Ayırıcı çizgi korunarak daraltıldı. */
@media (min-width: 1200px) {
    .footer-widget-two__support  { padding-left: 58px; }
    .footer-widget-two__support:before  { left: 8px; }
    .footer-widget-two__services { padding-left: 58px; }
    .footer-widget-two__services:before { left: 8px; }
}

/* ------------------------------------------------------------
   Mobil düzen / kayma düzeltmeleri (27.09.2026)
   ------------------------------------------------------------ */
/* Logo inmeden önce de yüksekliği ayrılsın: üst menü sonradan uzayıp içeriği itmesin */
.main-menu-two__logo img { height: 60px; max-width: 100%; }
.mobile-nav__wrapper .logo-box img { height: 50px; max-width: 100%; }

/* Sayaç rakamları dönerken genişlik oynamasın */
.odometer, .odometer-inside, .count-text, .counter-two__count-box h3 { font-variant-numeric: tabular-nums; }

@media (max-width: 767px) {
    /* "Yukarı çık": dikey yazı mobilde metinlerin üstüne biniyordu → küçük yuvarlak buton */
    .scroll-to-top {
        transform: none;
        right: 14px;
        width: 44px;
        height: 44px;
        min-height: 44px;
        border-radius: 50%;
        justify-content: center;
        background: rgba(12, 20, 38, .88);
        border: 1px solid rgba(255, 255, 255, .18);
        box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
    }
    .scroll-to-top.show { bottom: 18px; }
    .scroll-to-top__wrapper,
    .scroll-to-top__text { display: none; }
    /* Blog: alttaki küçük kartların görseli 250px'te kalıp sağda boşluk bırakıyordu */
    .blog-two__single-two { align-items: stretch; }
    .blog-two__img-two { max-width: none; width: 100%; }

    .scroll-to-top::before {
        content: "";
        width: 11px;
        height: 11px;
        border-left: 2px solid #fff;
        border-top: 2px solid #fff;
        transform: rotate(45deg);
        margin-top: 5px;
    }
}

/* ------------------------------------------------------------
   Ekip kartları (Hakkımızda / Ekibimiz): isim + görev + "Profili Gör"
   Tema içeriği yan yana esnek dizdiği için isim ve buton ikiye bölünüp
   kart yükseklikleri farklı çıkıyordu → sabit ızgara, tek satır, eşit yükseklik
   ------------------------------------------------------------ */
.kb-team__img + .team-one__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "ad btn" "gorev gorev" "bio bio";
    column-gap: 14px;
    row-gap: 2px;
    align-items: center;
    padding: 18px 6px 0;
}
.kb-team__img + .team-one__content .team-one__title {
    grid-area: ad;
    margin: 0;
    font-size: 18px;
    line-height: 28px;
    min-height: 28px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kb-team__img + .team-one__content .team-one__sub-title {
    grid-area: gorev;
    display: block;
    margin: 0;
    font-size: 14.5px;
    line-height: 22px;
    min-height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kb-team__img + .team-one__content .team-one__btn {
    grid-area: btn;
    align-self: center;
    white-space: nowrap;
}
.kb-team__img + .team-one__content .team-one__btn .kb-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 30px;
    font-size: 13px;
    line-height: 1;
}
.kb-team__img + .team-one__content .team-one__btn .kb-card__link:hover { border-color: var(--techguru-base, #F4A62A); }
.kb-team__img + .team-one__content > p:not(.team-one__sub-title) {
    grid-area: bio;
    margin: 10px 0 0;
}
