* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    font-family: var(--font-main);
    color: var(--text-dark);
    height: 100%;
    overflow: hidden; /* Skryje klasický scroll, přebírá ho main */
    background-color: var(--bg-light);
}

/* Snap Scroll Logika */
.snap-container {
    height: 100vh;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

.snap-section {
    height: 100vh;
    width: 100%;
    scroll-snap-align: start;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.section-padding {
    padding: 2rem 5%;
}

.section-content {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: var(--primary-color);
}

.subtitle {
    font-size: 1.2rem;
    color: #6c757d;
    margin-bottom: 3rem;
}

.dark-bg {
    background-color: var(--bg-dark);
}

@media (max-width: 768px) {
    h2 { font-size: 2rem; }
    /* Uvolnění snap scrollu na mobilu pro lepší čitelnost dlouhých sekcí */
    .snap-container { scroll-snap-type: none; }
    .snap-section { height: auto; min-height: 100vh; padding: 4rem 1rem; }
}