*, *::before, *::after {
  box-sizing: border-box;
}

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

input, textarea {
  caret-color: var(--font-color-1);
}

*:focus-visible, .btn:focus-visible {
	transition: 0s !important;
	outline: 3px dashed #ff0000;
	z-index: 10;
	border-radius: 0;
}
select:focus-visible, input:focus-visible {
    outline: revert;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

.fill-space {
  flex: 1 1 auto;
}

.custom-file-input ~ .custom-file-label::after {
  content: "Wybierz";
}

.form-control:focus {
  border-color: var(--color-1_hover);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px var(--color-1_hover);
}

.scroll-target {
  scroll-margin-top: 10rem;
}

.link {
	display: inline-block;
    background-repeat: no-repeat;
    transition: all .2s;
	background-position: bottom left;
    background-size: 0% 1px;
    background-image: linear-gradient( var(--color-1), var(--color-1) );
    padding-bottom: 0px;
}
.link:hover {
	background-size: 100% 1px;
}

.sub-section {
	position: relative;
	padding-left: 2rem;
}
.sub-section::before {
	content: "●";
	position: absolute;
	left: 0;
	color: var(--color-1);
	top: 0.5em;
}

/* --- System Animacji na Scroll --- */

/* 1. Stan bazowy dla WSZYSTKICH animowanych elementów */
.anim {
    opacity: 0; /* Domyślnie niewidoczny */
    transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* Płynne przejście */
}

/* 2. Domyślna animacja: wjazd od dołu */
.anim {
    transform: translateY(40px); /* Przesunięty o 40px w dół */
}

/* 3. Modyfikatory kierunku animacji */
.anim.anim-left {
    transform: translateX(-40px); /* Przesunięty w lewo */
}
.anim.anim-right {
    transform: translateX(40px); /* Przesunięty w prawo */
}
.anim.anim-up {
    transform: translateY(-40px); /* Przesunięty w górę */
}
.anim.anim-zoom {
    transform: scale(0.9); /* Lekko zmniejszony */
}


/* 4. Stan końcowy (klasa dodawana przez JS) */
.anim.is-visible {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1); /* Resetuje wszystkie transformacje */
}

/* 5. (OPCJONALNE) Klasy do opóźnień (Twoja idealna wersja) */
.anim.anim-delay-1 { transition-delay: 0.1s; }
.anim.anim-delay-2 { transition-delay: 0.2s; }
.anim.anim-delay-3 { transition-delay: 0.3s; }
.anim.anim-delay-4 { transition-delay: 0.4s; }
.anim.anim-delay-5 { transition-delay: 0.5s; }
.anim.anim-delay-6 { transition-delay: 0.6s; }
.anim.anim-delay-7 { transition-delay: 0.7s; }
.anim.anim-delay-8 { transition-delay: 0.8s; }

@media screen and (max-width: 1400px) {
	
}

@media screen and (max-width: 1200px) {
	
}

@media screen and (max-width: 992px) {

}

@media screen and (max-width: 768px) {

}

@media screen and (max-width: 576px) {
	
}

@media screen and (max-height: 400px) {

}