/* reset */
a {
  border: none; 
  outline: none;
}

/* custom */
body {
		font-family: 'HelveticaNeueCyr-Roman', sans-serif;
}
h1, h2, h3, h4, h5, h6 	{
		font-family: 'HelveticaNeueCyr-Roman', sans-serif;
}
.section-head,
.section-about {
    padding-top: 20px !important;
}
#contact {
		padding-bottom: -20px !important;
}

ul.wp-block-navigation__container {
    text-transform: uppercase;
}

.text-italic {
		font-size: 26px;
		font-style: italic;
		font-weight: 700; /* жирность заголовков */
		color: #a5102c;
}

.title-block {
			font-family: 'HelveticaNeueCyr-Roman', sans-serif;
		font-size: 40px;
		font-weight: 600;
		text-transform: uppercase;
		color: #111;
		margin-top: 0;
}




/* Header */
.header-callback {
    text-transform: uppercase;
		font-weight: 500;
    color: #fff;
    padding: 10px 20px;
    border: 2px solid #a5102c;
    cursor: pointer;
		transition: all .3s ease;
		font-size: clamp(12px, 2.5vw, 16px);
}
.header-callback:hover,
.header-callback:active  {
		background-color: #a5102c;
		color: #fff;
}
a.header-phone {
    text-decoration: none;
    font-weight: 600;
    font-size: clamp(16px, 2.5vw, 20px);
		color: #fff;
		transition: all .3s ease;
}
a.header-phone:hover,
a.header-phone:active {
		text-decoration: none;
		opacity: .7;;
}
figure.about-img-top img {
	margin-top: -50px;
}
figure.contact-img-bottom img {
    bottom: -40px !important;
    position: relative;
    z-index: 2;
}
/* Menu */
.menu-title {
	font-family: 'HelveticaNeueCyr-Roman', sans-serif !important;
	position: relative;
	padding-left: 35px ! important;
}
.menu-title::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 5px;
	width: 30px;
	height: 3px;
	background-color: #a5102c;
	transform: rotate(90deg);
}

a.menu-more {
    padding: 0 35px;
    font-style: italic;
    text-decoration: none;
    color: #999;
		position: relative;
}
a.menu-more::after {
    content: "";
    position: absolute;
    top: 12px;
    right: -200px;
    width: 185px;
    height: 1px;
    background-color: #999;
}
.desc-slide {
	position: relative;
	padding-left: 100px;
}
.line-decor::before {
	content: "";
	position: absolute;
	top: 23px;
	left: 0;
	width: 85px;
	height: 2px;
	background-color: #a5102c;
}
@media only screen and (max-width: 768px) {
	.desc-slide {
		padding-left: 0px;
	}
	.line-decor::before {
		content: "";
		position: absolute;
		top: 40px;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #a5102c;
	}
		
}
@media only screen and (max-width: 480px) {
	.desc-slide {
		font-size: 16px;
	}
	.line-decor::before {
		top: 26px;
	}
}

/* =================== Gallery =================== */
.gallery-block { 
	padding-top: 0 !important; 
	padding-bottom: 0 !important; 
}
.gallery-container {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    gap: 60px;
}

.gallery-info {
    flex: 1;
    padding-top: 120px;
}

.gallery-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-top: 160px;
}

.gallery-nav {
    display: flex;
    gap: 32px;
    align-items: center;
    padding: 20px 40px;
    box-shadow: 0 0 30px rgba(0,0,0,0.1);
}

.gallery-nav .nav-button {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    opacity: 0.3;
    border: none; outline: none;
    transition: 0.3s;
}

.gallery-nav .nav-button:hover { opacity: 1; }
.gallery-nav .nav-button img { width: 40px; transition: 0.3s; }
.gallery-nav .nav-button:hover img {
    filter: brightness(0) saturate(100%) invert(15%) sepia(40%) saturate(6583%) hue-rotate(337deg) brightness(85%) contrast(101%);
}

.gallery-counter { font-size: 48px; color: #111; }
.gallery-counter span.total-slides { font-size: 25px; vertical-align: super; }
.gallery-counter span.total-slides::before { content: "/"; }

.gallery-slider { flex: 1.5; height: 1000px; }
.gallery-slider .swiper { width: 100%; height: 100%; }
.gallery-slider .swiper-slide { display:flex; justify-content:center; align-items:center; overflow:hidden; transition:0.3s; box-shadow:0 4px 8px rgba(0,0,0,0.1); }
.gallery-slider .swiper-slide.swiper-slide-active { height: 400px !important; }
.gallery-slider .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.gallery-slider .swiper-slide-prev,
.gallery-slider .swiper-slide-next { opacity: 0.5; }

/* =================== Reviews =================== */
.section-reviews {
    position: relative;
    width: 100%;
    background-image: 
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1)), /* затемнение */
        url('/wp-content/uploads/2025/09/bg-reviews.png') !important; /* сама картинка */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.reviews-container { max-width: 1280px; margin:0 auto 80px auto; }
.reviews-nav {
    display:flex; gap:22px; align-items:center; padding:20px 40px;
    background:#fff; box-shadow:0 0 30px rgba(0,0,0,0.1);
    width:230px; position:relative; margin-bottom:-60px; left:-50px; z-index:2;
}
.reviews-nav .nav-button { width:50px; height:50px; display:flex; justify-content:center; align-items:center; cursor:pointer; opacity:0.3; border:none; outline:none; transition:0.3s; }
.reviews-nav .nav-button:hover { opacity:1; }
.reviews-nav .nav-button img { width:40px; transform: rotateZ(270deg);transition:0.3s; }
.reviews-nav .nav-button:hover img { filter: brightness(0) saturate(100%) invert(15%) sepia(40%) saturate(6583%) hue-rotate(337deg) brightness(85%) contrast(101%); }

.reviews-counter { font-size:48px; color:#111; }
.reviews-counter span.total-slides { font-size:25px; vertical-align:super; }
.reviews-counter span.total-slides::before { content:"/"; }

.reviews-slider { width:100%; height:550px; overflow:hidden; }
.reviews-slider .swiper { width:100%; height:100%; }
.reviews-slider .swiper-slide { display:flex; justify-content:center; align-items:center; transition:0.3s; }
.reviews-slider .swiper-slide img {
	  width: 100%;
    height: 100%;
    object-fit: contain;;
	}
.reviews-slider .swiper-slide.swiper-slide-active {  }
.reviews-slider .swiper-slide-prev,
.reviews-slider .swiper-slide-next { opacity:0.5; }

/* Responsive */
@media(max-width:992px){
    .gallery-container { flex-direction:column; gap:30px; }
    .gallery-info { padding-top:0; }
    .gallery-controls { padding-top:0; }
    .gallery-slider { height:400px; }
    .reviews-slider { height:300px; }
}
@media only screen and (max-width: 480px) {
		.reviews-nav {justify-content: center; padding: 20px; width: auto; left: 0px; }
		
}

.banket-prem-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.banket-prem-circle {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 24px;
    color: #222;
    background: conic-gradient(
        #a5102c 0% 90%,     
        transparent 90% 100%
    );
    position: relative;
    box-shadow: 0px 4px 24px 0px rgb(0 0 0 / 30%);
    overflow: hidden;
    z-index: 0;
}

.banket-prem-circle::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff; 
    z-index: -1;
}




@media only screen and (max-width: 1125px) {
	.header-contact {
		display: flex;
		flex-wrap: wrap;
		gap: 40px;
	}
	.section-head, .section-about, .section-contacts, .gallery-block {
		padding-top: 30px !important;
	}
	a.menu-more::after {
    right: -160px;
	}
}
@media only screen and (max-width: 600px) {
		.head-title-form {
			flex-direction: column;
		}
		.exform-wrapper.request {
			margin: 0 auto !important;
		}
		.section-reviews {
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
		.section-reviews > div {
			padding-left: 5px !important;
			padding-right: 5px 	!important;
		}
		.reviews-nav {
			margin-bottom: 0;
		}
}
@media only screen and (max-width: 460px) {
		.desc-menu {
			display: none;
		}
		.header-menu li a span {
			font-size: 12px;
		}
		.text-italic {
			font-size: 18px;
		}
		
}
@media only screen and (max-width: 400px) {
		.header-contact {
			gap: 10px;
		}
		a.header-phone {
			font-size: clamp(12px, 2.5vw, 16px);
		}
		.header-callback {
			padding: 5px 10px;
		}
		.menu-title {
			padding-left: 0;
		}
		a.menu-more {
			padding: 0 15px;
		}
		a.menu-more::after {
			display: none;
		}
		.menu-title::before {
			top: 8px;
			left: 5px;
			width: 20px;
			height: 3px;
		}
		.text-italic {
			font-size: small;
		}
}