/* Explain: Base reset and typography defaults with background bokeh effect and animations. - */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    color: var(--text-color);
    scroll-padding-top: 92px;
}

body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(212, 175, 55, 0.08), transparent 400px),
        radial-gradient(circle at 85% 10%, rgba(192, 192, 192, 0.15), transparent 400px),
        radial-gradient(circle at 50% 80%, rgba(212, 175, 55, 0.05), transparent 500px),
        var(--background-color);
    color: var(--text-color);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
}

button,
a,
select {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}

::selection {
    background: var(--accent-color);
    color: #ffffff;
}

/* Scroll Reveal Animations */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.reveal-fade {
    opacity: 0;
    transition: opacity 1s ease-out;
}
.reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.reveal-up.is-visible,
.reveal-fade.is-visible,
.reveal-scale.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Delays */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }

/* Custom translations for GTranslate */
html[lang="ro"] .lang-ru-text { display: none !important; }
html[lang="ro"] .lang-ro-text { display: inline !important; }
html:not([lang="ro"]) .lang-ru-text { display: inline !important; }
html:not([lang="ro"]) .lang-ro-text { display: none !important; }

/* Continuous Animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0px); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}
@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4); }
    50% { box-shadow: 0 0 20px 10px rgba(212, 175, 55, 0); }
}
.animate-pulse-glow {
    animation: pulse-glow 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}