/* === CSS RESET PRE KONZISTENCIU MEDZI PREHLIADAČMI === */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* === DODATOČNÝ RESET PRE WEBKIT PREHLIADAČE === */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}



/* === GLOBÁLNE NASTAVENIE VEĽKOSTI OBSAHU === */
html {
    font-size: 14px; /* Zmenené z 14px na štandardných 16px */
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1.15;
    /* Fix pre konzistentné zobrazenie v Chrome */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Základné štýly body --- */
body { 
    font-family: 'Montserrat', sans-serif; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #F7F9FB;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    /* Fix pre Chrome - konzistentný rendering */
    min-height: 100vh;
    width: 100%;
    overflow-x: hidden;
}

/* === OBRÁZKY A FORMULÁRE === */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
}

/* Fix pre Webkit prehliadače (Chrome, Safari) */
input[type="text"], 
input[type="email"], 
textarea {
    -webkit-appearance: none;
    appearance: none;
}

/* ===== ANIMÁCIE ===== */
.fade-in-on-scroll { 
    opacity: 0; 
    transform: translateY(20px); 
    transition: opacity 0.9s ease-out, transform 0.9s ease-out; 
}
.fade-in-on-scroll.visible { opacity: 1; transform: translateY(0); }

.mobile-menu-open { transform: translateX(0%); }

.bounce-slow { animation: bounce-slow 2s infinite; }

@keyframes bounce-slow { 
    0%, 100% { 
        transform: translateY(-15%); 
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1); 
    } 
    50% { 
        transform: translateY(0); 
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1); 
    } 
}

/* ===== ŠPECIÁLNE ŠTÝLY ===== */
.font-serif { font-family: 'EB Garamond', serif; }

.gradient-text { 
    background: linear-gradient(45deg, #1D2C3F, #8A9CB3); 
    -webkit-background-clip: text; 
    background-clip: text; 
    -webkit-text-fill-color: transparent;
    color: transparent; /* Fallback pre staršie prehliadače */
    padding-top: 5px; 
    padding-bottom: 5px; 
}

.logo-j {
    background: linear-gradient(to bottom, #EADCA9, #C0A062);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent; /* Fallback */
}

.honeypot-field { 
    opacity: 0; 
    position: absolute; 
    top: 0; 
    left: 0; 
    height: 0; 
    width: 0; 
    z-index: -1; 
}