/**
 * Mobil yatay taşma (sağdaki beyaz boşluk) — marquee, SplitText, dekoratif butonlar.
 */
 html {
    overflow-x: hidden;
    max-width: 100%;
    overscroll-behavior-x: none;
}

body {
    max-width: 100%;
    overscroll-behavior-x: none;
}

.vb-site-main {
    overflow-x: clip;
    overflow-x: hidden;
    max-width: 100%;
}

/* Marquee eklentisi genişliği document.scrollWidth’i şişiriyor (yalnızca footer) */
.bs-footer-2-marquee,
.bs-footer-2-marquee-2 {
    overflow: hidden;
    max-width: 100%;
}

.bs-footer-2-marquee .js-marquee-wrapper,
.bs-footer-2-marquee-2 .js-marquee-wrapper {
    overflow: hidden !important;
    max-width: 100% !important;
}

/* Çalışma ortakları marquee — tek satır kaydırma; klonlar alt satıra düşmesin */
.bs-brand-4-marquee-active {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

.bs-brand-4-marquee-active .bs-brand-4-wrap,
.bs-brand-4-marquee-active .js-marquee {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: none !important;
}

.bs-brand-4-marquee-active .js-marquee-wrapper {
    overflow: hidden !important;
    /* max-width: 100% yok — marquee yatay şeridi kırpar, klonu alta sarmaz */
}

/* GSAP SplitText karakterleri container dışına taşıyor */
.wa-split-right,
.wa-split-y,
.wa-split-text,
.bs-sec-title-1.wa-split-right {
    overflow: hidden;
    max-width: 100%;
}

/* Hero CTA: bs-pr-btn-2 köşe süsleri -16px dışarı taşar */
.bs-hero-1-slide-content {
    overflow: hidden;
    max-width: 100%;
}

.bs-hero-1-slide-btns {
    overflow: hidden;
    max-width: 100%;
}

/**
 * Klavye odağı. Tema a:focus ve button için outline'ı kaldırdığından, klavyeyle
 * gezinen ziyaretçi nerede olduğunu göremiyordu. Çift halka (tema mavisi + beyaz)
 * açık ve koyu zeminlerin ikisinde de görünür kalır.
 */
:is(a, button, [role="button"], [role="tab"], input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--bs-clr-pr-1, #01236a);
    outline-offset: 2px;
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.95);
    border-radius: 3px;
}

/* Fare/dokunma ile tıklamada halka görünmez; yalnızca klavye odağında çıkar. */
:is(a, button, [role="button"]):focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/**
 * Azaltılmış hareket tercihi. Tema genelinde CSS geçiş ve animasyonları
 * etkisiz bırakılır; içerik son durumunda görünür kalır, yalnızca hareket kalkar.
 * GSAP ile yapılan açılış animasyonları main.js içinde aynı tercihe bağlanmıştır.
 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 1ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
    }

    html {
        scroll-behavior: auto !important;
    }

    /* Sonsuz kayan etiket şeritleri yerinde durur. */
    .bs-brand-4-wrap,
    .wa-marquee,
    .wa-marquee-content {
        animation: none !important;
        transform: none !important;
    }
}
