/* Gen Koleji — özel stiller (Tailwind'in karşılamadığı kısımlar) */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

::selection { background-color: #E30111; color: #ffffff; }

/* Klavye odak halkası */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid #E30111;
    outline-offset: 3px;
}

/* Yatay carousel: scrollbar gizli + snap */
.scroll-row { scrollbar-width: none; -ms-overflow-style: none; scroll-snap-type: x mandatory; }
.scroll-row::-webkit-scrollbar { display: none; }
.scroll-row > * { scroll-snap-align: start; }

/* Mobil menü açıkken body kaydırmayı kilitle */
body.menu-open { overflow: hidden; }

/* Ana sayfa hero banner slider — geçişler (JS .is-active sınıfını değiştirir) */
.hero { touch-action: pan-y; }
.hero-slide { opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility 0s linear .8s; }
.hero-slide.is-active { opacity: 1; visibility: visible; transition: opacity .8s ease; z-index: 1; }
.hero-slide .hero-media { transform: scale(1.06); transition: transform 8s ease-out; }
.hero-slide.is-active .hero-media { transform: scale(1); }
.hero-slide [data-hero-anim] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.hero-slide.is-active [data-hero-anim] { opacity: 1; transform: none; transition-delay: calc(.3s + var(--d, 0) * .12s); }
.hero-dolgu { transform: scaleX(0); }

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* Hero — açık zeminli slaytta (data-tema="acik") oklar, sayaç ve ilerleme çubuğu koyulaşır */
.hero [data-hero-geri], .hero [data-hero-ileri], .hero-kontrol span, .hero-kontrol button { transition: color .4s ease, border-color .4s ease, background-color .4s ease; }
.hero[data-tema="acik"] [data-hero-geri], .hero[data-tema="acik"] [data-hero-ileri] { border-color: rgba(40,48,63,.3); color: #28303F; background-color: rgba(255,255,255,.6); }
.hero[data-tema="acik"] [data-hero-geri]:hover, .hero[data-tema="acik"] [data-hero-ileri]:hover { border-color: #28303F; background-color: #28303F; color: #fff; }
.hero[data-tema="acik"] .hero-kontrol .text-white { color: #28303F; }
.hero[data-tema="acik"] .hero-kontrol .text-white\/50 { color: rgba(40,48,63,.5); }
.hero[data-tema="acik"] .hero-kontrol .text-white\/80 { color: rgba(40,48,63,.8); }
.hero[data-tema="acik"] .hero-kontrol .bg-white\/30 { background-color: rgba(40,48,63,.18); }
.hero[data-tema="acik"] .hero-kontrol [data-hero-dolgu] { background-color: #E30111; }

/* Hero — 'sigdir' yerleşimli banner görseli: masaüstünde kenarları bulanık zemine yumuşakça karışır */
@media (min-width: 768px) {
    .banner-tuy {
        -webkit-mask-image: linear-gradient(to right, transparent, #000 16%, #000 96%, transparent), linear-gradient(to bottom, transparent, #000 9%, #000 97%, transparent);
        -webkit-mask-composite: source-in;
        mask-image: linear-gradient(to right, transparent, #000 16%, #000 96%, transparent), linear-gradient(to bottom, transparent, #000 9%, #000 97%, transparent);
        mask-composite: intersect;
    }
}
