*, *::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: var(--desktop-menu-height);
}

.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;
}

.wpml-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wpml-switcher a {
    display: inline-flex;
    align-items: center;
}

.wpml-switcher img {
    display: block;
    width: 20px;   /* opcjonalnie */
    height: auto;
}

@media (max-width: 1200px) {
	.scroll-target {
		scroll-margin-top: var(--mobile-menu-height);
	}
}