/* ============================================
   ANTI-SHIFT & LAYOUT FIX
   Tüm kaymaları engelleyen ekstra düzeltmeler
   ============================================ */

/* GLOBAL OVERFLOW ENGELLEME */
html {
    overflow-x: hidden !important;
    max-width: 100vw;
    width: 100%;
}

body {
    overflow-x: hidden !important;
    max-width: 100vw;
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}

/* TÜM ELEMENTLERDE MAX-WIDTH */
* {
    max-width: 100%;
}

*,
*::before,
*::after {
    box-sizing: border-box !important;
}

/* CONTAINER DÜZELTME */
.container {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* SECTION DÜZELTME */
section {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    position: relative;
}

/* NAVBAR KAYMASI ENGELLEME */
.navbar {
    width: 100%;
    max-width: 100vw;
    left: 0;
    right: 0;
}

.nav-wrapper {
    width: 100%;
    max-width: 100%;
}

/* HERO SECTION KAYMASI ENGELLEME */
.hero {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

.hero-background {
    width: 100%;
    overflow: hidden;
}

.hero-content {
    width: 100%;
    max-width: 100%;
}

.hero-stats {
    width: 100%;
    max-width: 100%;
}

/* GRID SISTEMLERI KAYMASI ENGELLEME */
.features-grid,
.programs-grid,
.stats-grid,
.gallery-grid,
.form-grid {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* CARD KAYMASI ENGELLEME */
.card,
.feature-card,
.program-card,
.stat-card,
.info-card,
.gallery-item {
    width: 100%;
    max-width: 100%;
}

/* FORM KAYMASI ENGELLEME */
.registration-form,
.contact-form {
    width: 100%;
    max-width: 100%;
}

.form-group {
    width: 100%;
    max-width: 100%;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    max-width: 100%;
}

/* IMAGE KAYMASI ENGELLEME */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

.image-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

/* FOOTER KAYMASI ENGELLEME */
.footer {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

.footer-content {
    width: 100%;
    max-width: 100%;
}

/* ABOUT CONTENT KAYMASI */
.about-content {
    width: 100%;
    max-width: 100%;
}

.about-text,
.about-image {
    width: 100%;
    max-width: 100%;
}

/* CONTACT CONTENT KAYMASI */
.contact-content {
    width: 100%;
    max-width: 100%;
}

.contact-info,
.contact-form-wrapper {
    width: 100%;
    max-width: 100%;
}

/* MOBILE MENU KAYMASI ENGELLEME */
.nav-menu {
    max-width: 100vw;
}

@media (max-width: 768px) {
    .nav-menu {
        width: 100%;
        left: 0;
    }
}

/* PADDING/MARGIN OVERFLOW FIX */
.container,
section,
.hero,
.about,
.programs,
.gallery,
.registration,
.contact,
.footer {
    padding-left: clamp(15px, 3vw, 60px);
    padding-right: clamp(15px, 3vw, 60px);
}

/* TEXT OVERFLOW FIX */
h1, h2, h3, h4, h5, h6,
p, span, div {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* BUTTON OVERFLOW FIX */
.btn {
    max-width: 100%;
    overflow: hidden;
}

/* ROW GUTTERS FIX */
.form-row,
.form-grid {
    margin-left: 0;
    margin-right: 0;
}

.form-row > *,
.form-grid > * {
    padding-left: 0;
    padding-right: 0;
}

/* HERO SHAPES OVERFLOW */
.hero-shape {
    max-width: none;
}

/* STATS GRID MOBILE FIX */
@media (max-width: 768px) {
    .hero-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        padding: 0;
    }
}

@media (max-width: 480px) {
    .hero-stats {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* GALLERY GRID FIX */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* PROGRAMS GRID FIX */
@media (max-width: 768px) {
    .programs-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ABOUT CONTENT STACK ON MOBILE */
@media (max-width: 768px) {
    .about-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* CONTACT CONTENT STACK ON MOBILE */
@media (max-width: 768px) {
    .contact-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* FOOTER CONTENT STACK ON MOBILE */
@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* SCROLL HORIZONTAL ENGELLEME */
body {
    overflow-x: hidden !important;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    pointer-events: none;
}

/* HORIZONTAL SCROLLBAR GİZLE */
::-webkit-scrollbar-track {
    margin-left: 0;
    margin-right: 0;
}

/* POSITION FIXED ELEMENTLER */
.navbar,
.back-to-top {
    left: 0;
    right: 0;
    max-width: 100vw;
}

/* ABSOLUTE ELEMENTLER */
.hero-background,
.hero-shape,
.gallery-overlay,
.program-badge,
.image-badge {
    max-width: none;
}

/* TRANSFORM KAYMASI ENGELLEME */
.card:hover,
.program-card:hover,
.feature-card:hover {
    transform: translateY(-10px);
}

/* SCALE KAYMASI ENGELLEME */
.gallery-item:hover {
    transform: scale(1.05);
}

/* VIEWPORT UNITS FIX */
@media (max-width: 768px) {
    .hero {
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
}

/* FLEXBOX WRAP FIX */
.hero-buttons,
.nav-buttons,
.social-links {
    flex-wrap: wrap;
}

/* GRID AUTO-FIT FIX */
.features-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}

.programs-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

.gallery-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
}

/* TABLE RESPONSIVE FIX */
table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
}

/* PRE/CODE OVERFLOW FIX */
pre,
code {
    max-width: 100%;
    overflow-x: auto;
    word-wrap: break-word;
}

/* IFRAME RESPONSIVE */
iframe {
    max-width: 100%;
}

/* VIDEO RESPONSIVE */
video {
    max-width: 100%;
    height: auto;
}

/* SVG FIX */
svg {
    max-width: 100%;
    height: auto;
}

/* CALC FIX */
.container {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (max-width: 768px) {
    .container {
        width: calc(100% - 30px);
        padding: 0 15px;
    }
}

/* NEGATIVE MARGIN FIX */
.hero-stats,
.features-grid,
.programs-grid,
.gallery-grid {
    margin-left: auto;
    margin-right: auto;
}

/* BORDER BOX ENFORCEMENT */
input,
select,
textarea,
button {
    box-sizing: border-box !important;
}

/* MOBILE SAFARI FIX */
@supports (-webkit-touch-callout: none) {
    .hero {
        min-height: -webkit-fill-available;
    }
}

/* LANDSCAPE FIX */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 80px 0 40px;
    }
    
    .hero-stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 0.5rem;
    }
}

/* PRINT MODE FIX */
@media print {
    * {
        overflow: visible !important;
    }
    
    body {
        width: 100%;
        max-width: none;
    }
}

/* Z-INDEX YÖNETIMI */
.preloader { z-index: 99999; }
.navbar { z-index: 1000; }
.nav-menu { z-index: 999; }
.hamburger.active { z-index: 1001; }
.back-to-top { z-index: 998; }
.gallery-overlay { z-index: 2; }
.hero-content { z-index: 2; }

/* CRITICAL FIX - OVERFLOW CASCADE */
html, body, #root, #app, .wrapper {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* SMOOTH SCROLL WITH NO OVERFLOW */
html {
    scroll-behavior: smooth;
    overflow-y: scroll;
    overflow-x: hidden;
}

/* FINAL SAFETY NET */
* {
    overflow-x: visible;
}

section * {
    overflow-x: visible;
}