/* Основні стилі для всього документа */
body {
	margin: 0;
	padding: 0;
	font-family: Arial, sans-serif;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	/* overflow-x: hidden; */
	background-color: var(--black);
}

::selection {
	background-color: #EE5757;
	color: #ffffff;
	/* Можна змінити на інший колір тексту при виділенні */
}

:root {
	--red: #EE5757;
	--white: #ECEAEA;
	--black: #242627;

	--black-alpha: #24262765;
	--white-alpha: #eceaea83;

	--transition: all .3s ease;
	--hover-filter: drop-shadow(0 0 0.75rem var(--red));
}

/* Загальні стилі для смуги прокручування */
::-webkit-scrollbar {
	width: .5vw;
	background-color: transparent;
	padding-right: 10px;
}

/* Стиль для повзунка */
::-webkit-scrollbar-thumb {
	width: .5vw;
	transition: var(--transition);
	cursor: pointer;
	background-color: var(--white-alpha);
	border-radius: 0;
}

/* Стиль для повзунка при наведенні */
::-webkit-scrollbar-thumb:hover {
	background-color: var(--white);
}

::-webkit-scrollbar-thumb:active {
	cursor: grabbing;
}

/* Якщо потрібно, можна додати стиль для верхньої та нижньої стрілки */
::-webkit-scrollbar-button {
	background-color: var(--black);
}

/* При натисканні на стрілку */
::-webkit-scrollbar-button:active {
	background-color: var(--white-alpha);
}

.shadow,
.noise {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	pointer-events: none;
	z-index: 1000;
	background-repeat: no-repeat;
	background-size: cover;
}

.shadow {
	background-image: url(https://yagody.org/wp-content/themes/yagody/img/shadow.png);
	opacity: 100%;
}

.noise {
	background-image: url(https://yagody.org/wp-content/themes/yagody/img/noise.jpg);
	opacity: 40%;
	mix-blend-mode: soft-light;
}

.user-select,
img {
	user-select: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Unbounded", sans-serif;
}

p {
	line-height: 1.2;
	font-size: 1.3vw;
	font-family: "Inter", sans-serif;
}

section {
	z-index: 1;
}

h2 {
	font-size: 7vw;
	font-weight: 600;
	color: var(--red);
	margin-bottom: 20px;
}

.btn {
	background-color: var(--red);
	color: var(--white);
	padding: .5vw 2vw;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.3vw;
	transition: all .3s ease;
	display: flex;
	align-items: center;
	width: fit-content;
	transition: var(--transition);
	user-select: none
}

.btn span {
	transition: var(--transition);
	background-color: var(--white);
	display: inline-block;
	width: 0;
	height: .2vw;
	margin-right: 0vw;
}

.btn:hover {
	padding-left: 1vw;
	filter: var(--hover-filter);
}

.btn:hover span {
	width: 4vw;
	margin-right: 1vw;
}




.narrow {
	width: 75vw;
	margin: auto;
}

















/* glow */

.for-glow {
	position: relative;
}

.glow {
	position: absolute;
	width: 10vw;
	height: 100vh;
	border-radius: 1000px;
	background-color: var(--red);
	filter: blur(150px);
	transition: var(--transition);
	pointer-events: none;
	z-index: 1001;
	opacity: .7;
}

.glow.top {
	top: 0;
	left: -5%;
	opacity: .3;
}

.glow.mid1 {
	top: 33%;
	right: -5%;
	opacity: .5;
}

.glow.mid2 {
	top: 66%;
	left: -5%;
	opacity: .5;
}

.glow.bottom {
	bottom: 0;
	right: -5%;
}

/* Стилі для закріпленої шапки */
.fixed-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	color: var(--white);
	z-index: 10;
	display: flex;
	align-items: center;
	transition: var(--transition);
}

.fixed-header .logo {
	background-color: var(--black);
	padding: 1vw 2.5vw;
	transition: var(--transition);
	position: relative;
}

.fixed-header .logo svg {
	width: 8vw;
	height: 6vw;
	fill: var(--white);
	transition: var(--transition);
	position: relative;
	display: block;
	z-index: 12;
}

.fixed-header .logo::after {
	content: "";
	position: absolute;
	top: 10%;
	left: 10%;
	margin-right: -50%;
	transform: translate(-50%, -50%) rotate(45deg);
	background-color: var(--red);
	width: 50%;
	height: 50%;
	z-index: 1;
	display: block;
	opacity: 0;
	transition: var(--transition);
}

.fixed-header .logo:hover:after {
	top: 35%;
	left: 40%;
	opacity: 1;
	transform: translate(-50%, -50%) rotate(0);
	filter: var(--hover-filter)
}

.fixed-header nav ul {
	background-color: var(--black);
	padding: 1vw 1.5vw;
	list-style: none;
	display: flex;
	gap: 20px;
	margin-left: 3vw;
}

.fixed-header nav ul li {
	display: inline;
}

.fixed-header nav ul li a {
	position: relative;
	padding: .5vw;
	color: var(--white);
	text-decoration: none;
	font-size: 1.5vw;
	z-index: 1;
}

.fixed-header nav ul li a::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -1vw;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	width: 50%;
	height: 1vw;
	z-index: -10;
	background-color: var(--red);
	transition: var(--transition);
	opacity: 0;
}

.fixed-header nav ul li a:hover {
	/* color: var(--red); */
}

.fixed-header nav ul li a:hover::before {
	opacity: 1;
	bottom: 0vw;
	filter: var(--hover-filter)
}

.header-out {
	transform: translateY(-16vh);
}

.sun {
	padding: .9vw;
	background-color: var(--black);
	margin-left: 2vw;
	cursor: pointer;
	position: relative;
}

.sun svg {
	fill: var(--white);
	transition: var(--transition);
	position: relative;
	z-index: 12;
	display: block;
}

.sun:hover svg {
	transform: rotate(45deg) scale(1.5);
}

.sun::after {
	content: "";
	position: absolute;
	top: 10%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	width: 1vw;
	height: 1vw;
	background-color: var(--red);
	z-index: 1;
	display: block;
	opacity: 0;
	transition: var(--transition);
}

.sun:hover::after {
	top: 50%;
	filter: var(--hover-filter);
	opacity: 1;
	width: 2vw;
	height: 2vw;
}

/* Блок з відео на фоні */
.video-section {
	position: relative;
	height: 100vh;
	/* Висота блоку на весь екран */
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
}

/* Фон з відео */
.video-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	/* Відео під контентом */
	overflow: hidden;
}

.video-background div {
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--black);
	opacity: .4;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.video-background video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
}

/* Стилі для основного контенту в першому блоці */
.content {
	position: relative;
	z-index: 1;
	color: var(--white);
	text-align: left;
	max-width: 35vw;
	margin-top: 8vw;
	margin-left: 14vw;
	/* Зміщення лівіше */
}

.content h1 {
	font-size: 5vw;
	margin-bottom: 20px;
	font-weight: 800;
}

.content p {
	font-size: 1.3vw;
	margin-bottom: 30px;
	font-weight: 300;
	line-height: 1.1;
}

/* about us */

.about-section {
	display: flex;
	justify-content: space-between;
	padding: 50px;
	gap: 50px;
	background-color: var(--black);
}

.text-content {
	max-width: 50vw;
}

.text-content h2 {
	font-size: 7vw;
	font-weight: 600;
	color: var(--red);
	margin-bottom: 20px;
}

.text-content p {
	font-size: 1.3vw;
	line-height: 1.6;
	margin-bottom: 20px;
	color: var(--white);
}

.team-content {
	display: flex;
	gap: 40px;
}

.team-member {
	background-color: var(--black);
	padding: 20px;
	border-radius: 10px;
	width: 25vw;
}

.team-member img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.team-member h3 {
	font-size: 2vw;
	color: var(--white);
	margin-top: 15px;
	margin-bottom: 10px;
}

.team-member .position {
	font-size: 1vw;
	font-weight: 500;
	color: var(--black);
	margin-bottom: 10px;
	padding: .2vw 1vw;
	background-color: var(--white);
	width: fit-content;
}

.team-member p {
	font-size: 1.2vw;
	font-weight: 300;
	line-height: 1.3;
	color: var(--white);
	margin-bottom: 15px;
}

.team-member a {
	font-size: 1vw;
	color: var(--white-alpha);
	text-decoration: none;
}

.team-member a:hover {
	text-decoration: underline;
}


/* Основний блок */
.services-section {
	display: flex;
	justify-content: flex-start;
	padding: 50px;
}

/* Список послуг */
.services-list {
	width: 45vw;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.service-item {
	background-color: var(--white);
	color: var(--black);
	padding: 1vw 2vw;
}

.service-item h3 {
	font-size: 2vw;
	margin-bottom: 10px;
}


.service-item p:nth-child(2) {
	margin-bottom: .5vw;
}

/* Сайдбар "Послуги" */
.services-sidebar {
	width: 35%;
	height: fit-content;
	position: sticky;
	top: 8vw;
	/* Відступ від верхнього краю екрану при фіксованому скролі */
	background-color: var(--black);
	padding: 0 2vw;
	color: var(--white);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.services-sidebar h1 {
	font-size: 48px;
	color: var(--red);
	margin-bottom: 20px;
}

.services-sidebar p {
	margin-bottom: 20px;
}


/* Основний блок секції */
.consult-section {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2vw;
	background-color: var(--red);
	color: var(--white);
	width: 92%;
	margin: auto;
}

/* Контейнер для форми */
.form-container {
	width: 25%;
	height: fit-content;
}

form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

input[type="text"],
input[type="tel"] {
	padding: 15px;
	border: 2px solid var(--white);
	background-color: transparent;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--white);
	font-size: 1.4vw;
}

input[type="text"]::placeholder,
input[type="tel"]::placeholder {
	color: var(--white);
}

input[type="text"]:focus,
input[type="tel"]:focus {
	outline: none;
	border-color: var(--black);
}

/* Чекбокс і кнопка */
.checkbox-container {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.checkbox-wrapper {
	display: inline-block;
	position: relative;
}

.custom-checkbox {
	width: 2.5vw;
	height: -webkit-fill-available;
	border: 2px solid var(--white);
	display: inline-block;
	position: relative;
	cursor: pointer;
}

input[type="checkbox"] {
	display: none;
}

input[type="checkbox"]:checked+.custom-checkbox {
	background-color: var(--white);
	border-color: var(--white);
}

input[type="checkbox"]:checked+.custom-checkbox::before {
	content: url(/media/svg/mark.svg);
	color: var(--red);
	font-size: 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
}

.submit-btn {
	background-color: var(--white);
	color: var(--red);
	border: none;
	padding: 15px 30px;
	padding-bottom: 10px;
	font-size: 1.4vw;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: -webkit-fill-available;
	gap: 10px;
}

.submit-btn span {
	transition: var(--transition);
}

.submit-btn span svg {
	height: 1vw;
	width: 1vw;
}

.submit-btn:hover span {
	transform: rotate(20deg);
}

.consent-text {
	opacity: .5;
	font-size: .8vw;
	margin-top: -10px;
}

.consent-text a {
	color: var(--white);
	text-decoration: underline;
}

.consent-text a:hover {
	opacity: 1;
}

/* Текстовий блок */
.text-container {
	width: 70%;
}

.text-container h2 {
	font-size: 5vw;
	color: var(--white);
	margin-bottom: 20px;
}

.text-container p {
	font-size: 1.5vw;
	max-width: 70%;
}

input:focus {
	border-color: var(--white) !important;
}

.consult-section ::selection {
	background-color: var(--white);
	color: var(--red);
	/* Можна змінити на інший колір тексту при виділенні */
}


/* news start */

.news-section {
	padding: 50px;
}

.description {
	color: var(--white);
	max-width: 60vw;
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2vw;
}

.news-item {
	background-color: var(--black);
	color: var(--white);
	padding: 20px;
	border-radius: 10px;
	transition: transform 0.3s ease;
}

.news-image {
	width: 100%;
	padding-top: 25.25%;
	/* Співвідношення 16:9 */
	position: relative;
	overflow: hidden;
}

.news-image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale();
	/* Забезпечує заповнення контейнера */
	transform: translate(-50%, -50%);
	transition: var(--transition);
}

.news-item a:hover img {
	transform: scale(1.2) translate(-40%, -50%);
}

.news-item h3 {
	padding-top: 1vw;
	color: var(--white);
	font-weight: 800;
	font-size: 1.5vw;
	margin-bottom: 10px;
}

.news-item p {
	color: var(--gray);
	margin-bottom: 15px;
}

.news-item a {
	color: var(--white-alpha);
	text-decoration: none;
	font-size: 1vw;
}

.news-item a:hover {
	text-decoration: underline;
}



/* Контактна сітка */
.contacts-grid {
	/* display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px; */
	max-width: 80%;
	margin: 1vw auto;
	margin-left: -1vw;
}

.contact-item {
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--white);
	padding: .5vw 2vw;
	margin: 1vw;
	width: fit-content;
	float: left;
}

.icon-container {
	position: absolute;

	display: flex;
	align-items: center;
	justify-content: center;

	background-color: var(--red);
	border: .3vw solid var(--black);
	border-radius: .5vw;

	padding: .2vw;
}

.icon img {
	height: 1.7vw;
	aspect-ratio: 1/1;
}

.contacts-section h2 {
	color: var(--white);
}

.geo .icon-container {
	top: -1vw;
	left: -1vw;
}

.phone .icon-container {
	top: -1vw;
	right: -1vw;
}

.mail .icon-container {
	bottom: 1vw;
	left: -1vw;
}

.schedule .icon-container {
	bottom: -1vw;
	right: -1vw;
}

.contact-info h2 {
	font-size: 2vw;
	font-weight: 400;
	color: var(--black);
	margin-bottom: 5px;
}

.contact-info p {
	font-size: 1.5vw;
	color: var(--black);
}

/* Додатковий текст */
.additional-text {
	display: flex;
	justify-content: flex-start;
	width: 100%;
}

.additional-text p {
	color: var(--white);
	width: 30%;
	display: block;
}

.additional-text p:nth-child(1) {
	margin-right: 1vw;
}

#map {
	margin-top: 4vw;
	height: 30vw;
	transition: var(--transition);
	filter: grayscale() drop-shadow(0px 0px 1vw var(--black));
}

#map:hover {
	filter: grayscale() drop-shadow(0px 0px 1vw var(--white-alpha));
}

.map {
	width: 100%;
	height: 100%;
}

.about-site {
	margin: auto;
}

.about-site ul {
	display: flex;
	justify-content: space-between;
	padding: 1vw 0;
	font-size: 1.3vw;
	color: var(--white-alpha);
}

.about-site ul a {
	text-decoration: none;
	color: var(--white-alpha);
	transition: var(--transition);
}

.about-site ul a:hover {
	color: var(--white);
}

/* blog */
.blog {
	margin-top: 20vh;
}

/* single */

.img-wrapper {
	width: 100%;
	padding-top: 25%;
	/* Співвідношення 16:9 */
	position: relative;
	overflow: hidden;
}

.img-wrapper img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale();
	/* Забезпечує заповнення контейнера */
	transform: translate(-50%, -50%);
	transition: var(--transition);
}

.info-section {
	max-width: 50vw;
	margin: auto;
	color: var(--white);
	margin-bottom: 10vh;
}

.info-section * {
	padding: 1vw 0;
}

.info-section h1 {
	font-size: 3.333vw;
	font-weight: 700;
}

.info-section h2 {
	font-size: 2.222vw;
	color: var(--white);
	padding-bottom: 0;
}