/* Explain: Base reset, typography, and dynamic layered background */
* {
    box-sizing: border-box;
}

html {
    background: var(--background-color);
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    overflow-x: hidden;
    background-color: transparent !important;
    color: var(--text-color);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
}

/* Optimizirana fiksna pozadina koja rješava trzanje i skaliranje na mobilnim uređajima */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -10;
    background-color: var(--background-color);
    background-image: 
        linear-gradient(rgba(5, 5, 5, 0.88) 0%, rgba(15, 15, 15, 0.78) 50%, rgba(5, 5, 5, 0.9) 100%), 
        url('https://files.cdn-files-a.com/uploads/12255477/normal_6a5110d4cb4c6.jpg?format=avif');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}

::selection {
    background: var(--primary-color);
    color: var(--white-color);
}

button,
a,
summary,
select {
    -webkit-tap-highlight-color: transparent;
}

section {
    scroll-margin-top: 96px;
}

input,
select,
textarea,
button {
    font: inherit;
}