* {
	font-family: 'Montserrat', sans-serif;
	scroll-behavior: smooth;
}

/* Стилизация полосы прокрутки */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
	background: #f6d200;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #968211;
}

/* Анимации */
.fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.appear {
	opacity: 1;
	transform: translateY(0);
}

/* Анимированные карточки услуг */
.service-card {
	transition: all 0.4s ease;
	transform-style: preserve-3d;
	perspective: 1000px;
}

.service-card:hover {
	transform: translateY(-10px);
}

.service-card:hover .service-icon {
	transform: rotateY(180deg);
}

.service-icon {
	transition: transform 0.8s ease;
}

/* Кнопка вверх */
.back-to-top {
	position: fixed;
	bottom: 20px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

@media only screen and (min-width: 900px){
.back-to-top {
	right: 20px;
}
}

@media only screen and (max-width: 900px){
.back-to-top {
	left: 20px;
}
}

.back-to-top.visible {
	opacity: 1;
	visibility: visible;
}

/* Неоморфные элементы */
.neomorph {
	border-radius: 15px;
	background: #ffffff;
	box-shadow: 5px 5px 10px #d1d1d1, -5px -5px 10px #ffffff;
}

.neomorph-dark {
	border-radius: 15px;
	background: #262626;
	box-shadow: 5px 5px 10px #1e1e1e, -5px -5px 10px #323232;
}

.neomorph-yellow {
	border-radius: 15px;
	background: #f6d200;
	box-shadow: 5px 5px 10px #d1b300, -5px -5px 10px #fff100;
}

/* Стилизация для раздела с чередующейся цветовой схемой */
.feature-card:nth-child(even) {
	flex-direction: row-reverse;
}

/* Стилизация мега-меню */
.mega-menu {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
}

.has-mega-menu:hover .mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Анимированные кнопки */
.btn-primary {
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
}

.btn-primary:after {
	content: '';
	position: absolute;
	width: 0;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.2);
	transition: width 0.3s ease;
}

.btn-primary:hover:after {
	width: 100%;
}

/* Стилизация стикер-эффекта для заголовков */
.sticker-effect {
	position: relative;
}

.sticker-effect:before {
	content: '';
	position: absolute;
	width: 70px;
	height: 30px;
	background: #f6d200;
	top: -10px;
	left: -20px;
	z-index: -1;
	transform: rotate(-5deg);
}

/* Анимация для кнопок соц. сетей */
.social-icon {
	transition: all 0.3s ease;
}

.social-icon:hover {
	transform: scale(1.2);
}

/* Стилизация плавающих кнопок */
.floating-cta {
	animation: float 3s ease-in-out infinite;
}

@keyframes float {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-10px); }
	100% { transform: translateY(0px); }
}

/* Черно-желтая полоса скошенная */
.stripe-black-yellow {
	position: relative;
	overflow: hidden;
}

.stripe-black-yellow:before {
	content: '';
	position: absolute;
	width: 150%;
	height: 10px;
	background: repeating-linear-gradient(
			45deg,
			#000,
			#000 10px,
			#f6d200 10px,
			#f6d200 20px
	);
	top: 0;
	left: -20%;
	transform: rotate(-2deg);
}

/* Эффект стеклянной карточки */
.glass-card {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Стилизация паттерна в фоне */
.pattern-bg {
	background-color: #fffbf6;
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23f6d200' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* Анимация пульсирующего индикатора */
.pulse {
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.1); opacity: 0.8; }
	100% { transform: scale(1); opacity: 1; }
}

/* Стилизация для мобильного меню */
.mobile-menu {
	transform: translateX(-100%);
	transition: transform 0.3s ease;
}

.mobile-menu.open {
	transform: translateX(0);
}

/* Стили для кастомных меток на карте */
.custom-marker {
	position: relative;
	width: 50px;
	height: 70px;
}

.marker-content:hover {
	transform: scale(1.1);
}

.marker-image {
	width: 70%;
	height: 70%;
	object-fit: contain;
}

/* Стили для кластера меток */
.cluster-icon {
	background-color: #f6d200;
	color: #262626;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 18px;
	border: 3px solid #fff;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 1400px) {
	.slogan{
		display: block!important;
	}
}




/* Расширенные стили для улучшенной страницы отзывов */
.reviews-masonry {
    column-count: 1;
    column-gap: 2rem;
}

@media (min-width: 768px) {
    .reviews-masonry {
        column-count: 2;
    }
}

@media (min-width: 1024px) {
    .reviews-masonry {
        column-count: 3;
    }
}

.review-card {
    break-inside: avoid;
    margin-bottom: 2rem;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.review-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #f6d200, #968211, #f6d200);
    background-size: 200% 100%;
    animation: shimmer 3s infinite;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.review-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px rgba(246, 210, 0, 0.2);
}

.review-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
}

.review-image-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(246, 210, 0, 0.1), rgba(246, 210, 0, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.review-card:hover .review-image-container::before {
    opacity: 1;
}

.quote-decoration {
    background: linear-gradient(135deg, #f6d200, #968211);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.floating-element {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 2rem;
    align-items: start;
}

.glass-effect {
    background: rgba(255, 251, 246, 0.25);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(246, 210, 0, 0.1);
}

.text-shadow-gold {
    text-shadow: 0 2px 4px rgba(246, 210, 0, 0.3);
}

.review-stats {
    background: linear-gradient(135deg, #f6d200, #ffd700);
    border-radius: 2rem;
    padding: 2rem;
    color: #262626;
    margin: 3rem 0;
}

.star-rating {
    display: flex;
    gap: 2px;
}

.star-rating .star {
    transition: all 0.2s ease;
}

.star-rating:hover .star {
    transform: scale(1.1);
}

.verified-badge {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.client-avatar {
    background: linear-gradient(135deg, #f6d200, #968211);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #262626;
    font-weight: bold;
    border: 3px solid white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.review-category {
    background: rgba(246, 210, 0, 0.1);
    color: #968211;
    font-size: 0.75rem;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-weight: 600;
    border: 1px solid rgba(246, 210, 0, 0.3);
}

@media (max-width: 768px) {
    .reviews-grid {
        grid-template-columns: 1fr;
    }
}

.filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 3rem;
}

.filter-btn {
    padding: 0.5rem 1rem;
    border: 2px solid #f6d200;
    background: white;
    color: #968211;
    border-radius: 2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn:hover,
.filter-btn.active {
    background: #f6d200;
    color: #262626;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(246, 210, 0, 0.4);
}

h5[data-type="equipment"] + ul {
    counter-reset: item;
    list-style: none;
    padding-left: 0;
}

h5[data-type="equipment"] + ul li {
    counter-increment: item;
    position: relative;
    padding-left: 2em;
    margin-bottom: 0.5em;
}

h5[data-type="equipment"] + ul li::before {
    content: counter(item) ". ";
    font-weight: bold;
    color: #f6d200;
    position: absolute;
    left: 0;
}









/* ===== GaragStroy: стили описания товара (v2 — больше воздуха, без dark, без max-width) ===== */
:root{
  --gs-primary:#f6d200;
  --gs-dark:#1b1b1b;
  --gs-fores:#222222;
  --gs-muted:#555a60;
  --gs-border:#eceef1;

  --gs-radius:14px;
  --gs-shadow:0 12px 30px rgba(0,0,0,.06);
}

/* Базовый контейнер (уважаем .max-w-none из верстки) */
.prose.gs-desc,
.gs-desc.prose,
#description .prose.gs-desc{
  color:var(--gs-fores);
  line-height:1.75;
  font-size:1.04rem;
  text-wrap:pretty;
  hyphens:manual;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Вертикальный ритм — больше интерлиньяж и отступов между секциями */
.prose.gs-desc :where(p,ul,ol){margin-block:0 1.1rem;}
.prose.gs-desc :where(h2,h3,h4,h5){scroll-margin-top:96px;}
.prose.gs-desc h2{margin:0 0 1rem; font-weight:800; line-height:1.15; letter-spacing:-.01em; color:var(--gs-dark);}
.prose.gs-desc h2::after{
  content:""; display:block; width:110px; height:3px; border-radius:9999px;
  background:linear-gradient(90deg,var(--gs-primary),transparent);
  margin-top:.55rem;
}

/* H3 — визуальный раздел секций, добавили больше воздуха сверху/снизу */
.prose.gs-desc h3{
  margin:1.9rem 0 .95rem;
  padding-left:.75rem; border-left:4px solid var(--gs-primary);
  font-weight:750; line-height:1.25; color:var(--gs-dark);
}

/* H4/H5 — делаем различимыми, не «липнут» друг к другу */
.prose.gs-desc h4{
  margin:1.2rem 0 .6rem;
  font-weight:700; color:var(--gs-dark);
}
.prose.gs-desc h5{
  margin:.9rem 0 .45rem;
  font-weight:600; color:var(--gs-muted);
  text-transform:uppercase; letter-spacing:.04em; font-size:.96em; line-height:1.25;
}
/* Когда H5 идет сразу за H4 — чуть ближе, но не слитно */
.prose.gs-desc h4 + h5{margin-top:.35rem;}
/* Текст после H5 не прилипает */
.prose.gs-desc h5 + p{margin-top:.3rem;}

/* Ссылки и выделения */
.prose.gs-desc strong{color:var(--gs-dark);}
.prose.gs-desc em{color:var(--gs-muted);}
.prose.gs-desc mark{
  background:linear-gradient(180deg,rgba(246,210,0,.15),rgba(246,210,0,.35));
  padding:.05em .2em; border-radius:.25em;
}
.prose.gs-desc a:not(.btn){
  color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
  transition:color .2s ease, text-decoration-color .2s ease;
}
.prose.gs-desc a:not(.btn):hover{color:var(--gs-dark); text-decoration-color:var(--gs-primary);}

/* CTA-строка (1–2 кнопки максимум) */
.prose.gs-desc .cta{display:flex; gap:12px; flex-wrap:wrap; margin:20px 0 12px;}
.prose.gs-desc .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.75rem 1.25rem; border-radius:9999px; font-weight:750;
  text-decoration:none; border:1px solid transparent; box-shadow:var(--gs-shadow);
  transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.prose.gs-desc .btn:active{transform:translateY(1px);}
.prose.gs-desc p>.btn{margin:.25rem .5rem .25rem 0;}

.prose.gs-desc .btn-primary{background:var(--gs-primary); color:var(--gs-dark); border-color:var(--gs-primary);}
.prose.gs-desc .btn-primary:hover{filter:brightness(.95); box-shadow:0 14px 30px rgba(246,210,0,.35);}
.prose.gs-desc .btn-outline{background:transparent; color:var(--gs-dark); border-color:var(--gs-dark);}
.prose.gs-desc .btn-outline:hover{background:var(--gs-dark); color:#fff;}

/* Списки */
.prose.gs-desc ul{list-style:none; padding-left:0; margin:0 0 1rem;}
.prose.gs-desc ul>li{position:relative; padding-left:1.25rem; margin:.5rem 0;}
.prose.gs-desc ul>li::before{
  content:""; position:absolute; left:0; top:.62em; width:.5rem; height:.5rem; border-radius:9999px;
  background:var(--gs-primary); box-shadow:0 0 0 3px rgba(246,210,0,.2);
}

.prose.gs-desc ol{list-style:none; padding-left:0; margin:0 0 1rem; counter-reset:step;}
.prose.gs-desc ol>li{
  counter-increment:step; display:flex; gap:.75rem; align-items:flex-start; margin:.6rem 0;
}
.prose.gs-desc ol>li::before{
  content:counter(step); flex:0 0 2rem; height:2rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--gs-primary); color:var(--gs-dark);
  font-weight:800; border-radius:9999px;
}

/* Медиа/таблицы — аккуратно, без лишнего контраста */
.prose.gs-desc table{
  width:100%; border-collapse:collapse; margin:1rem 0; font-size:.96rem;
  border-radius:var(--gs-radius); overflow:hidden; box-shadow:var(--gs-shadow);
}
.prose.gs-desc th,.prose.gs-desc td{border:1px solid var(--gs-border); padding:.6rem .75rem; text-align:left;}
.prose.gs-desc img{border-radius:.8rem; box-shadow:var(--gs-shadow); display:block; margin:.75rem 0; max-width:100%; height:auto;}
.prose.gs-desc code{
  background:#fbfbfb; border:1px solid var(--gs-border);
  padding:.15rem .4rem; border-radius:.4rem; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

/* Разделители и цитаты */
.prose.gs-desc hr{
  height:1px; border:0; background:linear-gradient(90deg,transparent,var(--gs-border),transparent);
  margin:1.25rem 0;
}
.prose.gs-desc blockquote{
  margin:1rem 0; padding:.75rem 1rem;
  border-left:4px solid var(--gs-primary);
  background:rgba(246,210,0,.06);
  border-radius:0 var(--gs-radius) var(--gs-radius) 0;
}

/* Адаптивы */
@media (max-width:640px){
  .prose.gs-desc{font-size:1rem;}
  .prose.gs-desc .cta{gap:10px;}
  .prose.gs-desc .btn{width:100%;}
}

/* Фокус */
.prose.gs-desc :where(a,.btn){outline:none;}
.prose.gs-desc :where(a,.btn):focus-visible{
  box-shadow:0 0 0 3px rgba(246,210,0,.35), inset 0 0 0 1px rgba(0,0,0,.05);
  border-radius:12px;
}

.prose.gs-desc h4{font-size:1.125rem; font-weight:700; margin:1.2rem 0 .6rem; font-size: 20px;}
.prose.gs-desc h5{
  font-size:.95rem;
  font-weight:600;
  text-transform:none;      /* убираем капс, чтобы H5 не «кричал» */
  letter-spacing:0;
  margin:.6rem 0 .35rem;
  border-left: 4px solid;
  padding: 6px;
  padding-left: 12px;
  color: #000000;
  background: #efefef;
  width: 20%;
  border-radius: 0 200px 200px 0;
}





/* === GS: Collapsible description === */
.prose.gs-desc.gs-collapsible > h2{
  margin-bottom:.5rem;
}
.prose.gs-desc .gs-toggle{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding:.25rem 0;
  font: inherit; color: inherit;
  background: transparent; border: 0; cursor: pointer;
}
.prose.gs-desc .gs-toggle:focus-visible{
  outline:2px solid rgba(246,210,0,.6); outline-offset:4px; border-radius:6px;
}

/* Стрелка */
.prose.gs-desc .gs-toggle__icon{
  width:10px; height:10px; margin-left:.75rem;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform: rotate(-45deg); transition: transform .25s ease;
}
.prose.gs-desc.is-open .gs-toggle__icon{ transform: rotate(45deg); }

/* Тело аккордеона */
.prose.gs-desc .gs-collapse-body{
  overflow:hidden;
  transition: max-height .3s ease;
  will-change: max-height;
}


/* Правый блок с подписью и стрелкой */
.prose.gs-desc .gs-toggle{display:flex; align-items:center; justify-content:space-between; padding:.25rem 0;}
.prose.gs-desc .gs-toggle__text{flex:1; text-align:left;}
.prose.gs-desc .gs-toggle__meta{display:flex; align-items:center; gap:.6rem; margin-left:1rem;}

/* Лейбл-кнопка "Открыть"/"Свернуть" */
.prose.gs-desc .gs-toggle__action{
  font-size:.9rem; font-weight:700;
  padding:.25rem .6rem; border-radius:9999px;
  border:1px solid var(--gs-dark); color:var(--gs-dark); background:transparent;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.prose.gs-desc.is-open .gs-toggle__action{background:var(--gs-dark); color:#fff;}


/* GS: color swatches */
.gs-color-swatch{
  width: 34px;
  height: 34px;
  border-radius: 9999px;
  border: 2px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
  transition: transform .15s ease, border-color .2s ease, box-shadow .2s ease;
}
.gs-color-swatch:hover{ transform: translateY(-1px); }
.gs-color-swatch.is-active{
  border-color: #f6d200;
  box-shadow: 0 10px 24px rgba(246,210,0,.35);
}

/* конкретные цвета */
.gs-color-swatch[data-color="Бежевый"]{ background:#f3e7d3; }
.gs-color-swatch[data-color="Белый"]{ background:#ffffff; }
.gs-color-swatch[data-color="Серый"]{ background:#d1d5db; }
.gs-color-swatch[data-color="Графит"]{ background:#374151; }
.gs-color-swatch[data-color="Коричневый"]{ background:#6b4f3a; }
.gs-color-swatch[data-color="Под дерево"]{
  background: linear-gradient(135deg,#d2a679,#8b5a2b);
}

/* Лента сверху (желто-синяя). Не sticky — поэтому не "прилипает" вместе с меню */
.gs-tape-bar{
  height: 26px; /* можешь 22–32 подобрать под картинку */
  width: 100%;
  background-image: url('/wp-content/themes/garagestroy/img/lent.png');
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
}

.gs-top-icons{
  font-size: 29px!important;
}

.gs-top-icons.phone-icon{
  font-size: 22px!important;
}

@media only screen and (max-width: 900px){
  .stepform-btn_left {
      font-size: 18px !important;
      padding: 6px 18px !important;
      font-weight: 700;
      z-index: 4!important;
  }
  #heroCarousel .object-cover{
    object-fit: contain;
  }
  .hero-builder-img.hero{
    display: none;
  }
  #heroSlider .owl-nav button.owl-prev, #heroSlider .owl-nav button.owl-next {
    top: 90%!important;
    z-index: 6!important;
  }
}
