html,body{
	height: auto;
	width: 100%;
	max-width: 100vw;
	padding: 0;
	margin: 0;
	scroll-behavior: smooth;
	position: relative;
	background-color: white;
	overflow: hidden;
	overflow-y: scroll;
	scrollbar-width: none;
	 overflow: -webkit-scrollbar;
}

main{
	/*padding-top: 80px;*/
}


/* 1. Ховаємо мигаючий курсор для всіх елементів взагалі */
* {
    caret-color: transparent;
}

/* 2. Повертаємо його туди, де він дійсно потрібен для введення тексту */
input, 
textarea, 
[contenteditable], 
[contenteditable="true"] {
    caret-color: auto;
}

/*#f8981d
#616161 - grey
*/


main, footer{
	overflow-x: hidden; 
}



.noscroll{
	height: 100vh;
	overflow: hidden;
	-webkit-transition: width 500ms ease-out;
	-o-transition: width 500ms ease-out;
	transition: width 500ms ease-out;
}


main, section{
	width: 100%;
	max-width: 100vw;
	margin: 0 auto;
	height: auto;
	overflow-x: hidden;
}


main::-webkit-scrollbar {
	width: 0;
	height: 0;
}




img{
	-webkit-transition: 300ms all;
	-o-transition: 300ms all;
	transition: 300ms all;
}


#baner {
    display: block;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    line-height: 0;
    padding: 0;
    margin: 0;
    margin-top: -50px;
    position: relative;
  }

  #baner img {
    display: block;
    width: 100%;
    height: auto;
    cursor: pointer;
    animation: bannerPulse 2.8s ease-in-out infinite;
  }
  
  
  .banner-label {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-size: 13px;
    line-height: 1;
    color: white;
    background: rgba(0, 0, 0, 0.45);
    padding: 8px 12px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    pointer-events: none;
  }
  
  @keyframes bannerPulse {
    0%,
    100% {
      filter: brightness(1) contrast(1);
    }
    50% {
      filter: brightness(1.2) contrast(1.2);
    }
  }

/* Початковий стан: картинка прозора та злегка розмита (опціонально) */
.lazy-loaded {
    opacity: 0;
    filter: blur(5px); /* Можна прибрати, якщо розмиття не потрібне */
    transition: opacity 0.6s ease-in-out, filter 0.6s ease-in-out;
    will-change: opacity, filter;
}

/* Стан після завантаження: стає чіткою та плавно з'являється */
.lazy-loaded.loaded {
    opacity: 1;
    filter: blur(0);
}


*{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-transition: all 200ms;
	-o-transition: all 200ms;
	transition: all 200ms;
	color: #f8981d;
	cursor: default;
}


a{
	text-decoration: none;
	cursor: pointer !important;
}

/*preloader
*/

#cube-loader {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 9999999;
	background: #f8981d;
	background-image: url(data:image/png;base64,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);
	-webkit-transition: opacity 500ms;
	-o-transition: opacity 500ms;
	transition: opacity 500ms;
}
#cube-loader .caption {
	margin: 0 auto;
}
#cube-loader .cube-loader {
	width: 73px;
	height: 73px;
	margin: 0 auto;
	margin-top: 49px;
	position: relative;
}

@-webkit-keyframes rotateLogo{
	0%{
		-webkit-transform: scale3d(10, 0, 0);
		transform: scale3d(10, 0, 0);
	}
	25%{
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	75%{
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	100%{
		-webkit-transform: scale3d(2, 2, 2);
		transform: scale3d(2, 2, 2);
	}
}

@keyframes rotateLogo{
	0%{
		-webkit-transform: scale3d(10, 0, 0);
		transform: scale3d(10, 0, 0);
	}
	25%{
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	75%{
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	100%{
		-webkit-transform: scale3d(2, 2, 2);
		transform: scale3d(2, 2, 2);
	}
}

#cube-loader .cube-loader img{
	-webkit-transform: scale3d(10, 0, 0);
	transform: scale3d(10, 0, 0);
	-webkit-transition: opacity 50ms ease-out;
	-o-transition: opacity 50ms ease-out;
	transition: opacity 50ms ease-out;
	-webkit-animation: rotateLogo 2000ms;
	animation: rotateLogo 2000ms;
	max-width: 73px;
	height: auto;
}


.flx{
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

section, footer{
	padding: 0 5%;
	margin: 0 auto;
	margin: 0 0 50px 0;
}



header{
	width: 100%;
	max-width: 100vw;
	height: 70px;
	overflow: visible;
	z-index: 9999;
	position: absolute;
	background-color: transparent;
	padding: 0 5%;
}
header .container{
	padding: 0 5%;
}


@keyframes phone_anim {
	0%{
		color: #f8981d;
	}
	50%{
		color: white;
	}
	100%{
		color: #f8981d;
	}
}



.phone-holder {
	position: fixed;
	/* Змінено відстань на 20px */
	bottom: 20px;
	right: 20px;
	z-index: 9999;
	background: #0e3f36;
	padding: 10px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	border-radius: 50%;
	
	/* Додано для ідеального центрування та пульсації */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;  /* Фіксована ширина (22px іконка + 20px падінги) */
	height: 42px; /* Фіксована висота */
	box-sizing: border-box;
}

/* Світло-сірий пульсуючий обруч */
.phone-holder::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	/* Світло-сірий колір (напівпрозорий, щоб гарно розчинявся) */
	border: 2px solid rgba(220, 220, 220, 0.7); 
	box-sizing: border-box;
	z-index: -1;
	animation: pulse_ring 2000ms infinite ease-out;
}

.phone-holder a {
	font-size: 20px;
	font-weight: 500;
	overflow: hidden;
	max-width: 0;
	max-height: 0;
	display: inline-block;
	-webkit-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
	-webkit-animation: phone_anim 2500ms infinite;
			animation: phone_anim 2500ms infinite;
}

.phone-holder img {
	width: 22px;
	height: 22px;
	/* Вирівнювання по центру тепер забезпечує flexbox у батьківському елементі */
	display: block; 
}

.phone-holder:hover {
	border-radius: 50px;
	width: auto; /* Дозволяємо кнопці розширюватися при ховері */
	height: auto;
	padding: 10px 20px;
}

/* При ховері ховаємо пульсуючий обруч, бо блок змінює форму */
.phone-holder:hover::before {
	display: none;
}

.phone-holder:hover a {
	max-width: 120px;
	max-height: 30px;
	margin-right: 10px; /* Трохи відсуваємо текст від іконки */
}

.phone-holder:hover img{
	margin-right: 10px;
}

/* Анімація для пульсуючого обруча */
@keyframes pulse_ring {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(1.6); /* Наскільки сильно збільшується обруч */
		opacity: 0;            /* Повне зникнення в кінці */
	}
}

.sticked{
	position: fixed;
	background-color: white;
}

#logo{
	width: 70px;
	margin-top: 12px;
	height: auto;
}


ul{
	list-style-type: none;
}

#nav{
	position: absolute;
	width: 100%;
	top: -200vh;
	left: 0;
	-webkit-transition: all 500ms ease-out;
	-o-transition: all 500ms ease-out;
	transition: all 500ms ease-out;
}

#nav a{
	color: #333333;
}

.opened-menu{
	position: fixed;
}

.opened-menu #nav{
	top: 0;
}


#nav ul{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	height: 100vh;
	width: 100%;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	background-color: #f8981d;
	margin-top: 0;
}

#nav ul li{
	font-size: 2em;
	text-transform: uppercase;
	-webkit-transition-delay: 0 !important;
		 -o-transition-delay: 0 !important;
			transition-delay: 0 !important;
	margin: 10px;
	letter-spacing: 5px;
}

#nav ul li a:hover{
	-webkit-transform: scale(1.5);
		-ms-transform: scale(1.5);
			transform: scale(1.5);
	text-shadow: 1px 1px 5px white;
}

#nav ul li img{
	width: 20px;
	height: 20px;
}



#nav .form-button{
	color: #333333;
}


.opened-menu a{
	-webkit-transition-delay: 1000ms;
		 -o-transition-delay: 1000ms;
			transition-delay: 1000ms;
	color: white !important;
}

.opened-menu ul{
	left: 0;
}


#menu-switch-holder{
	z-index: 10001;
}

#menu-switch-holder{
	width: 20px;
	height: 20px;
	background-color: transparent;
	right: 0; 
	margin-right: calc(-1 * (100vw - 100%) + 5%);
	top: 20px;
	position: absolute;
	z-index: 100;
	cursor: pointer;
}

#hamburger-switch{
	width: 100%;
	height: 3px;
	background-color: white;
	display: block;
	position: absolute;
	top: 10px;
	cursor: pointer;
}

#hamburger-switch::before, #hamburger-switch::after{
	display: block;
	content: '';
	width: 100%;
	height: 3px;
	background-color: white;
}

#hamburger-switch::before{
	margin-top:  -6px;
}
#hamburger-switch::after{
	margin-top: -14px;
}

.sticked #hamburger-switch::before, .sticked  #hamburger-switch::after, .sticked #hamburger-switch{
	background-color: #616161;
}

#menu-switch-holder > .opened-menu{
	background-color: transparent;
}

#menu-switch-holder > .opened-menu::before{
	-webkit-transform: rotate(45deg) translateX(4px);
	-ms-transform: rotate(45deg) translateX(4px);
	transform: rotate(45deg) translateX(4px);
	margin-top: 0px;
	background-color: white;
}
#menu-switch-holder > .opened-menu::after{
	-webkit-transform: rotate(-45deg) translateX(4px);
	-ms-transform: rotate(-45deg) translateX(4px);
	transform: rotate(-45deg) translateX(4px);
	margin-top: -20px;
	background-color: white;
}



#contact_link{
	font-family: 'Montserrat';
	font-weight: 600;
	font-size: 20px;
	color: white;
}


.btn{
	color: #0e3f36;
	background-color: #f8981d;
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 700;
	border: 0;
	padding:  15px 50px;
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: 50px;
}

.btn:hover{
	border: 1px solid #616161;
	background-color: transparent;
}

.bordered{
	border: 1px solid #616161;
	background-color: transparent;

}




#main-screen{
	padding-top: 80px;
	padding-bottom: 100px; 
	min-height: 90vh;
	background-attachment: fixed;
	background-size: cover;
}

goog
@supports (-webkit-touch-callout: none) {
	#main-screen {
		background-attachment: scroll;
	}
}


#main-screen .btn{
	color:  #0e3f36;
}

#main-screen .btn:hover{
	border: 1px solid white;
	color: white;
}

#main-screen .bordered{
	color: #f8981d;
	border: 1px solid #f8981d;
}

#main-screen .bordered:hover{
	color: white;
}

#main-screen .container{
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
			min-height: 90vh;
}

#main-screen .holder, #about .holder,  #about-course .holder{
	-ms-flex-preferred-size: 45%;
		flex-basis: 45%;
	max-width: 45%;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	min-width: 400px;
	z-index: 5;
}

#main-screen .holder p{
	margin-top: 15px;
	margin-bottom: 25px;
	color: white;
}

#main-screen .holder img, #about .holder img,  #about-course .img-holder img{
	width: 100%;
}
@media(max-width: 500px){
	#main-screen .holder img, #about .holder img,  #about-course .img-holder img{
		width: 90%;
	}
}


.main-hero {
	position: relative;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: white;
	z-index: 1;
}

.video-background {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	overflow: hidden;
	pointer-events: none;
}

.overlay {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.55);
	z-index: 1;
}

.video-background video,
.fallback-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.fallback-image {
	background-size: cover;
	background-position: center;
}

.container.flx.content-center {
	 position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;   /* ← ось це ставить контент по вертикалі */
	align-items: center;       /* ← вирівнює по горизонталі */
	height: 100%;              /* ← важливо! Займає всю висоту секції */
	padding: 0 20px;
}


#hero_logo{
	width: 100%;
	max-width: 100px;
}

.schedule-btn{
	margin-bottom: 20px;
}

h1{
	font-size: 45px;
	font-weight: 900;
	margin: 0;
}

h1 strong{
	color: white;
	font-weight: 700;
}

h2{
	font-size: 42px;
	color: #0e3f36;
	font-weight: 700;
}

p, article{
	font-size: 18px;
	color: #616161;
}

article b{
	font-weight: 500;
	color: #616161;
}

#main-screen p{
	font-size: 18px;
	font-weight: 400;
}


@media(max-width: 950px){
	#main-screen h1{
		font-size: 48px;
	}
	
	@media(max-width: 888px){

		h2{
			font-size: 32px;
		}


		#main-screen .container{
			-webkit-box-pack: center;
				-ms-flex-pack: center;
					justify-content: center;
		}

		#main-screen{
			padding-top: 50px;
			padding-bottom: 50px;
		}

		#main-screen .holder{
			-ms-flex-preferred-size: 90%;
				flex-basis: 90%;
			max-width: 90%;
			min-width: 300px;
			-webkit-box-flex: 1;
				-ms-flex-positive: 1;
					flex-grow: 1;
		}


		@media(max-width: 500px){
			#main-screen h1{
				font-size: 38px;
			}
		}
	}
	
}

#offer{
	flex-basis: 90% !important;
	max-width: 90% !important;
	text-align: left;
}


#goods{
	padding-top: 100px;
}

.good{
	width: 100%;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		 -webkit-box-pack: justify; 
		 -ms-flex-pack: justify; 
		 justify-content: space-between;
		 border-bottom: 1px solid lightgrey;
}

/*.good *{
	margin: 20px;
}
.good pre{
	margin: 0;
	width: 100%;
}

.good .btn{
	padding: 5px 10px;
	margin-top: 0;
}

.good img{
	-ms-flex-preferred-size: 15%;
		flex-basis: 15%;
	width: 100%;
	height: auto;
	max-width: 128px;
	max-height: 128px;
}

.good .line{
	width: 2px;
	min-height: 100px;
	height: 100%;
	background-color: #616161;
	-ms-flex-preferred-size: 2px;
		flex-basis: 2px;
	margin: 0;

}*/

.line{
	height: 2px;
	background-color: #f8981d;
	width: 30px;
	display: inline-block;
	margin: 0 auto 20px auto;
}

#goods h2{
	margin: 50px auto;
}

.goods-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}

.product-item {
	flex: 0 0 23%;
	box-sizing: border-box;
	overflow: hidden;
}

.product-thumb {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1/1; /* квадратні */
	overflow: hidden;
}

.product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s;
	cursor: pointer;
}

.product-caption {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.7);
	color: #0e3f36;
	padding: 10px;
	font-size: 16px;
	text-align: center;
	cursor: pointer;
}

/* Hover zoom */
.product-thumb:hover img {
	transform: scale(1.05);
}

/* Адаптивність */
@media (max-width: 1024px) {
	.product-item {
		flex: 0 0 48%;
	}
}

@media (max-width: 600px) {
	.product-item {
		flex: 0 0 100%;
	}

	.goods-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}


.hidden-product {
	display: none;
}

.show-more-wrapper {
	text-align: center;
	margin-top: 30px;
}

#show-more-btn {
	padding: 10px 25px;
	font-size: 16px;
	cursor: pointer;
}

#about {
	margin-bottom: 50px;
}

.about-bg {
	background-image: url('<?php _tp(); ?>/assets/img/2.jpg'); /* заміни шлях на потрібний */
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	padding: 60px 0;
	color: #fff;
	text-align: center;
}

.about-bg h2 {
	font-size: 2rem;
	margin-bottom: 15px;
	color: #f8981d;
}

.about-bg p {
	font-size: 1rem;
	line-height: 1.6;
	max-width: 700px;
	margin: 0 auto;
	padding: 0 10px;
	color: #f8981d;
	font-weight: 600;
}

/* Карта */
.map iframe {
	width: 100%;
	height: 200px;
	border: 0;
	display: block;
}



/* ===== СЕКЦІЯ ABOUT ===== */
/*#about {
	padding: 40px 20px;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}


#about h2 {
	font-size: 2rem;
	margin-bottom: 15px;
	font-weight: 600;
	text-align: left;
}


#about p {
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 30px;
	color: #333;
}


#about .image-row {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 30px;
}


#about .product-col {
	flex: 1 1 calc(25% - 12px);
	box-sizing: border-box;
}

#about .product-col img {
	width: 100%;
	aspect-ratio: 1 / 1;          
	object-fit: contain;         
	background-color: #f0f0f0;    
	border-radius: 8px;
	display: block;
	padding: 10px;
}


#about .map iframe {
	width: 100%;
	height: 200px;
	border: 0;
	display: block;
}


@media (max-width: 1024px) {
	#about .product-col {
		flex: 1 1 calc(50% - 10px);
	}
}

@media (max-width: 600px) {
	#about h2,
	#about p {
		text-align: center;
	}

	#about .product-col {
		flex: 1 1 100%;
	}
}
*/


#delivery {
	padding: 100px 5% ;
	background-color: #f5f5f5;
	box-sizing: border-box;
	width: 100%;
}

.delivery-flex {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	max-width: 1200px;
	margin: 0 auto;
	flex-wrap: nowrap;
	box-sizing: border-box;
}

/* Ліва частина: фото */
.delivery-image {
	flex: 1 1 50%;
	max-width: 50%;
}

.delivery-image img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	object-fit: cover;
	display: block;
}

/* Права частина: текст і кнопка */
.delivery-content {
	flex: 1 1 50%;
	max-width: 50%;
	box-sizing: border-box;
}

.delivery-content h2 {
	font-size: 2rem;
	margin-bottom: 15px;
}

#delivery .btn{
	margin-top: 20px;
	display: inline-block;
}

@media (max-width: 768px) {
	.delivery-flex {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.delivery-image,
	.delivery-content {
		max-width: 100%;
		flex: 1 1 100%;
	}
}




#team h2 {
	font-size: 2rem;
	margin-bottom: 20px;
	text-align: center;
}

.team-scroll {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-between;
}

.team-scroll .product-item {
	flex: 0 0 calc(25% - 15px);
	background: #f9f9f9;
	border-radius: 8px;
	overflow: hidden;
	text-align: center;
	transition: transform 0.3s ease;
}

.team-scroll .product-item:hover {
	transform: translateY(-5px);
}

.team-scroll .product-thumb {
	padding: 10px;
}

.team-scroll .product-thumb img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
	background-color: #f0f0f0;
	display: block;
}

/* ПІДПИС — не перекриває зображення */
.team-caption {
	margin-top: 8px;
	padding: 5px 10px 15px;
}

.team-caption strong {
	font-size: 1rem;
	display: block;
	margin-bottom: 3px;
}

.team-position {
	font-size: 0.7rem;
	color: #0e3f36;
	line-height: 1.4;
}

/* Ховаємо додаткових */
.hidden-member {
	display: none;
}

/* Кнопка */


.show-more-wrapper .btn {
	padding: 10px 25px;
	font-size: 16px;
	cursor: pointer;
}

/* Адаптивність */
@media (max-width: 1024px) {
	.team-scroll .product-item {
		flex: 0 0 calc(33.33% - 15px);
	}
}

@media (max-width: 768px) {
	.team-scroll .product-item {
		flex: 0 0 calc(50% - 10px);
	}
}

@media (max-width: 480px) {
	.team-scroll {
		gap: 15px;
	}

	.team-scroll .product-item {
		flex: 0 0 calc(50% - 7.5px);
	}

	.team-grid .product-caption {
		padding: 5px 5px 10px;

	}
}

.team-grid .product-caption{
	padding: 5px 5px 10px;
	max-height: 60px;

}

.team-grid .product-caption strong{
	font-weight: 600;
	color: #0e3f36;
}


.team-position p{
	margin: 0;
}


#gallery h2 {
	font-size: 2rem;
	margin-bottom: 20px;
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.gallery-item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 8px;
	display: block;
	background-color: #f0f0f0;
}

/* Ховаємо невидимі */
.hidden-photo {
	display: none;
}

/* Кнопка */
.show-more-wrapper {
	text-align: center;
	margin: 50px auto;
}

#show-more-gallery.btn {
	padding: 10px 25px;
	font-size: 16px;
	cursor: pointer;
}

/* Адаптив */
@media (max-width: 768px) {
	.gallery-grid {
		grid-template-columns: 1fr;
	}
}




#product-page {
	padding: 40px 20px;
	max-width: 1200px;
	margin: 0 auto;
}

/* Заголовок + мініатюра */
.product-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
	flex-wrap: wrap;
	align-items: center;
}

.product-title {
	flex: 1 1 auto;
}

.product-title h1 {
	font-size: 2rem;
	margin: 0;
}

.product-thumbnail {
	flex: 0 0 auto;
	max-width: 200px;
}

.product-thumbnail img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	object-fit: cover;
	display: block;
}

/* Контент: таблиця або довільний вміст */
.product-content {
	margin-bottom: 30px;

}

.product-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;

}

.product-content th,
.product-content td {
	border: 1px solid #ddd;
	padding: 10px;
	text-align: left;
	color: #0e3f36;
}

/* Попередження */
.product-warning {
	background: #fff3cd;
	border: 1px solid #ffeeba;
	padding: 15px;
	margin-bottom: 30px;
	border-radius: 4px;
	font-size: 0.95rem;
	color: #856404;
}

/* Форма */
.product-form {
	margin-bottom: 40px;
}

/* Список інших товарів */
.product-links h2 {
	font-size: 1.5rem;
	margin-bottom: 15px;
}

.product-link-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 40px;
}

.product-link-grid a {
	text-decoration: none;
	background: #f0f0f0;
	padding: 10px;
	border-radius: 4px;
	display: block;
	color: #333;
	transition: background 0.3s;
}

.product-link-grid a:hover {
	background: #ddd;
}

/* Кнопки внизу */
.product-bottom-buttons {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 60px;
}

/*.product-bottom-buttons .btn {
	display: inline-block;
	padding: 12px 25px;
	background: #007bff;
	color: white;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 500;
	transition: background 0.3s ease;
}

.product-bottom-buttons .btn:hover {
	background: #0056b3;
}*/

/* Адаптивність */
@media (max-width: 768px) {
	.product-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.product-thumbnail {
		max-width: 100%;
	}

	.product-link-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 500px) {
	.product-link-grid {
		grid-template-columns: 1fr;
	}

	.product-bottom-buttons {
		flex-direction: column;
		align-items: center;
	}
}


.product-link-grid a.hidden-link {
	display: none !important;
}



.show-more-wrapper .btn {
	padding: 10px 25px;
	font-size: 16px;
	cursor: pointer;
}




.hidden{
	max-height: 750px;
	overflow: hidden;
	box-shadow: inset 0px 0px 10px rgba(255, 255, 255, 0.8);

}


#more_btn{
	display: block;
	background: transparent;
	color: grey;
	border: 1px solid grey;
}

#fade-in{
	position: relative;
	-webkit-filter: blur(10px); /* Для Safari */
	-moz-filter: blur(10px);    /* Для Firefox */
	-ms-filter: blur(10px);     /* Для IE */
	-o-filter: blur(10px);      /* Для Opera */
	filter: blur(10px);
	top: -10px;
	z-index: 9999;
	width: 100%;
	background: white ;
}

#contact{
	padding-top: 100px;
	position: relative;
}

#popup-form{
	background-color: white;
	position: absolute;
	top: -2000px;
	-webkit-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	padding-bottom: 100px;
	z-index: -10;
	opacity: 0;
	width: 100%;
	height: 100vh;
}

.showed{
	z-index: 99999 !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	opacity: 1 !important;
}

/* Початковий стан попапу */
/*#popup-form {
    display: none; 
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    pointer-events: none;
}


#popup-form .showed {
    display: flex; 
    opacity: 1;
    pointer-events: auto;
}*/


#success-message {
	  position: fixed;
	  bottom: 0;
	  left: 0;
	  width: 100%;
	  height: 50px;
	  background-color: #0e3f36; /* зелений */
	  color: #f8981d;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  font-weight: bold;
	  font-family: sans-serif;
	  opacity: 0;
	  pointer-events: none;
	  transition: opacity 0.3s ease;
	  z-index: 9999;
	}

	#success-message.show {
	  opacity: 1;
	  pointer-events: auto;
	}



#contact form{
	z-index: 5;
	position: relative;
	width: 50%;
	text-align: center;
	margin: 0 auto;
}

#contact span{
	white-space: nowrap;
}

#contact h2, #popup-form h2{
	text-align: center;
	font-size: 26px;
}

#contact .container, #popup-form .container{
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
}


#contact .holder, #popup-form .holder{
	-ms-flex-preferred-size: 45%;
		flex-basis: 45%;
	margin: 0 2%;
	min-width: 300px;
}

#popup-form h2{
	margin-top: 70px;
}

#contact input[type="checkbox"]{
	margin: 0;
	display: none;
}

#popup-form input[type="checkbox"]{
	margin: 0;
	display: none;
}

#contact input[type="checkbox"]:checked + label{
	color: #f8981d;
	border: 1px solid #f8981d;
	padding: 10px 10px;
	-webkit-animation: none;
			animation: none;
}

#popup-form input[type="checkbox"]:checked + label{
	color: #f8981d;
	border: 1px solid #f8981d;
	padding: 10px 10px;
	-webkit-animation: none;
			animation: none;
}

#contact .right-form, #popup-form .right-form{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
}

#contact .right-form input, #popup-form .right-form input{
	width: 100%;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid #616161;
	margin-top: 10px;
	font-size: 18px;
	outline: none;
	background-color: transparent;
}

#contact input[type="time"], #contact input[type="date"]{
	outline: none;
	border: 0;
	border-bottom: 1px solid #616161;
	background-color: transparent;
	cursor: pointer;
}


#contact .btn, #popup-form .btn{
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	width: 100%;
}

#contact label , #popup-form label{
	cursor: pointer;
	padding: 10px 0;
	margin-right: 20px;
}

#contact input[type="checkbox"] +label, #popup-form input[type="checkbox"] +label{
	-webkit-animation: pulseInput 2500ms infinite;
			animation: pulseInput 2500ms infinite;
	background-color: transparent;
}
#viber-callback-label, #viber-callback-label-pop{
	-webkit-animation: pulseInput 2500ms infinite 500ms !important;
		   animation: pulseInput 2500ms infinite 500ms !important;
}

#email-callback-label, #email-callback-label-pop{
	-webkit-animation: pulseInput 2500ms infinite 1000ms !important;
		   animation: pulseInput 2500ms infinite 1000ms !important;
}



#contact label, #contact p, #popup-form label, #popup-form  p{
	color: #616161;
	font-weight: 700;
}

#contact h3, #popup-form h3{
	margin: 100px auto;
	text-align: center;
	font-size: 26px;
	color: #616161;
	font-weight: 700;
}

#close-btn{
	position: absolute;
	right: 20px;
	top: 20px;
	width: 50px;
	height: 50px;
	background-color: white;
	color: #f8981d;
	border: none;
	outline: none;
	font-weight: 900;
	cursor: pointer;
	font-size: 20px;
}

@-webkit-keyframes pulseInput{
	0%{
		/*color: #f8981d;*/
		opacity: 1;
	}
	50%{
		/*color: #616161;*/
		opacity: 0.5;
	}
	100%{
		/*color: #f8981d;*/
		opacity: 1;
	}
}

@keyframes pulseInput{
	0%{
		/*color: #f8981d;*/
		opacity: 1;
	}
	50%{
		/*color: #616161;*/
		opacity: 0.5;
	}
	100%{
		/*color: #f8981d;*/
		opacity: 1;
	}
}

#contact .circle{
	left: 0;
	bottom: 0;
	top: auto;
	z-index: 1;
}

#popup-form{
	padding: 0 5%;
}

#popup-form form{
	justify-content: center;
}

#popup-form .container{
	align-items: center;
	height: 100vh;
}

#popup-form .right-form, #contact .right-form{
				-webkit-box-ordinal-group: 0;
				-ms-flex-order: -1;
				order: -1;
				margin-bottom: 20px;
			}  

@media(max-width: 1265px){
	#contact .holder{
		-ms-flex-preferred-size: unset;
			flex-basis: unset;
	}

	@media(max-width: 985px){
		#contact .holder{
			-ms-flex-preferred-size: 100%;
				flex-basis: 100%;
		}

		#contact form{
			width: 90%;
		}

		@media(max-width: 725px){
			#popup-form .holder{
				width: 100%;
				-ms-flex-preferred-size: 100%;
					flex-basis: 100%;
				min-width: 280px;
			}

			#contact form{
			width: 100%;
		}


			#popup-form .right-form, #contact .right-form{
				-webkit-box-ordinal-group: 0;
				-ms-flex-order: -1;
				order: -1;
				margin-bottom: 20px;
			}  

			@media(max-width: 633px){
				#appt{
					margin-bottom: 20px;
				}
				form .btn{
					width: 100%;
				}
			}
		}
	}


}




footer{
	min-height: 30%;
	background-color: #0e3f36;
	padding-top: 50px;
	padding-bottom: 50px; 

	margin-bottom: 0 !important;
}

footer .container{
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	-webkit-box-align: end;
		-ms-flex-align: end;
			align-items: end;
}

#social-icons img{
	width: 30px;
	height: 30px;
	cursor: pointer;
	margin-right: 10px;
}

footer a, footer p{
	color: #f8981d;
}

footer a:hover{
	color: white;
}

footer .container{
}

footer .holder{
	margin: 2%;
	
}

@media(max-width: 967px){
	footer .container{
		-webkit-box-pack: center;
			-ms-flex-pack: center;
				justify-content: center;
	}
}

#footer-logo img{
	width: 100px;
	margin-bottom: 20px;
}

#map-holder{
	overflow: hidden;
	max-height: 170px;
	width: 100%;
}

.map iframe {
	width: 100%;
	height: 200px;
	border: 0;
	display: block;
}


#my-link{
	font-size: 16px;
	color: grey;
}


#thankyou{
	padding-top: 100px;
	padding-bottom: 100px;
}

#thankyou .container{
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
}

#thankyou h1{
	font-size: 36px;
}

#thankyou h2{
	font-size: 26px;
}

#thankyou .container, #thankyou .container *{
	text-align: center;
}


@media(max-width: 500px){
	#thankyou h1{
		font-size: 30px;
	}
	#thankyou h2{
		font-size: 20px;
	}

	#thankyou a{
		font-size: 18px;
	}

}

@media(max-width: 520px){
	#thankyou .btn{
		display: block;
		margin-top: 10px;
	}
}


#success-container{
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 99999;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	top:0; left:0;
	background: white;
	-webkit-transition: opacity 1000ms ease;
	-o-transition: opacity 1000ms ease;
	transition: opacity 1000ms ease;
}

#success-container h2{
	text-align: center;
}

#partner-udk{
	margin: 100px 0;
}

#partner-udk .container{
	display: flex;
	justify-content: center;
	align-items: center;
}

#partner-udk img{
	cursor: pointer;
	margin:  0 20px;

}

#partner-udk img:hover{
	transform: scale(1.1);
}

@media(max-width: 510px){
	#partner-udk h2{
		text-align: center;
	}
}



.goods-search {
    width: 100%;
    grid-column: 1 / -1;
    margin-bottom: 24px;
}

.goods-search-form {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.goods-search-input {
    flex: 1;
    width: 100%;
    height: 56px;
    padding: 10px 20px;
    border: none;
    outline: none;
    border-radius: 50px;
    background: #FBF9EC;
    font: inherit;
    color: inherit;
    box-sizing: border-box;
}

.goods-search-input::placeholder {
    color: rgba(0, 0, 0, 0.5);
    font: inherit;
}

.goods-search-btn {
        color: rgb(14, 63, 54);
    background-color: rgb(248, 152, 29);
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    padding: 15px 50px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    border-image: initial;
    border-radius: 50px;
}

.goods-search-btn:hover {
    opacity: 0.8;
}

.goods-search-btn:focus,
.goods-search-input:focus {
    outline: none;
}

@media (max-width: 767px) {
    .goods-search-form {
        flex-direction: column;
    }

    .goods-search-btn {
        width: 100%;
    }
}

td img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}