/*   
Theme Name: SiteRussia
Theme URI: siterussia.ru
Description: Дизайн сайта разработанный компанией Site Russia
Author: Wolf
Author URI: siterussia.ru
Version: 1.0
*/

*,
::after,
::before {
  box-sizing: border-box;
}

:root{
    --background-color-block:#36393B;
    --color-green: #448882;
}

li {
    color: rgba(255, 255, 255, 0.6);
}
::marker {
    color: var(--color-green);
}
.main-menu ul,
.category-menu ul,
.mobile-nav ul,
.mobile-cat-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.main-menu li,
.category-menu li,
.mobile-nav li,
.mobile-cat-nav li {
    list-style: none;
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  -webkit-appearance: none; 
}
button:active,
button:focus {
  outline: none;
} 
button::-moz-focus-inner {
  border: 0;
}
button.close {
  border: none;
}
p {
  margin-top: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  line-height: 1.2;
}

button{cursor: pointer;}
th{font-size: 12px; color: rgba(255, 255, 255, 0.6); font-weight: 400;}
td{font-size: 16px; color: white; font-weight: medium;}
h1{font-size: 42px; font-weight: 700; text-transform: none; color: white}
h2{font-size: 42px; font-weight: 600; text-transform: none; color: white;}
p{font-size: 16px; color: white; font-weight: 500; opacity: 0.72;}
h3{font-size: 22px; font-weight: 600; color: white;}
span{color:white;}
html {
    scroll-behavior: smooth;
}
.grid {
    display: grid;
}
.flex{display: flex;}
.flex-jc-sb{justify-content: space-between;}
.flex-jc-c{justify-content: center;}
.flex-ai-c{align-items: center;}

.col-pl-1{grid-template-columns: repeat(1, 1fr);}
.col-pl-2{grid-template-columns: repeat(2, 1fr);}
.col-pl-3{display:grid;grid-template-columns: repeat(3, 1fr);}
.col-pl-4{display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;}
.col-pl-60-40{grid-template-columns: auto 40%;}
.col-pl-40-60{grid-template-columns: auto 60%;}
.col-pl-80-20{grid-template-columns: 80% auto;gap: 10px;}
.col-pl-65-35{grid-template-columns: 65% auto;gap: 20px;}
.col-pl-30-70{grid-template-columns: 30% auto;}

@media(max-width: 991px) {.col-pl-4{grid-template-columns: repeat(1, auto)}}
.block-bg--color{
    background-color: var( --background-color-block);
    border-radius: 16px;
    padding: 10px;
}

.block10-descr {
    width: 70%;
}
@media(max-width: 991px) {.block10-descr {
    width: 100%;
}}

.container.full-width {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.container {
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}

body {
  margin: 0;
  line-height: 1.5;
  font-family: "Manrope", sans-serif;
  background-color: #1E1E1E;
}

/* =========== HEADER STYLES =========== */
 
#header-spk {
  width: 100%;
}

#header-spk .header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
  background: none;
  border-radius: 20px;
  padding: 18px 10px;
  margin-top: 20px;
}

#header-spk .logo img {
  height: 50px;
}

#header-spk .main-menu {
  display: flex;
  gap: 25px;
}

#header-spk .main-menu a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  transition: 0.3s;
  text-transform: uppercase;
}

#header-spk .main-menu a:hover {
  opacity: 0.7;
}

#header-spk .header-contacts {
  display: flex;
  align-items: center;
  gap: 5px;
}

#header-spk .phone, #mobile-menu .phone{
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  padding-right: 5px;
}

.mobile-menu-phone{display:none;}
@media(max-width: 991px){
.mobile-menu-phone{display:block;}
	#header-spk .phone, #mobile-menu .phone{font-size: 14px;}
}

#header-spk .socials {
  display: flex;
  gap: 5px;
}

.ppage a{color: white;}

#header-spk .soc {
  width: 40px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid #ffffff66;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header-spk .soc:hover {
  background: #ffffff4d;
}
#header-spk .soc img {
  width: 18px;
  height: 18px;
  display: block;
}

#mobile-menu .soc img{
	width: 33px;
}

#header-spk .btn-calc{
  background: var(--color-green);
  color: #fff;
  padding: 10px 18px;
  border-radius: 30px;
  text-decoration: none;
  font-size: 14px;
}

#header-spk .burger {
  display: none;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}

#header-spk .burger span {
  width: 25px;
  height: 3px;
  background: #fff;
}

#header-spk .header-bottom {padding-bottom:15px;display:flex;align-items:center;gap:16px;}
#header-spk .header-bottom .category-menu{flex:1;}
#header-spk .header-bottom .city-select{margin-left:auto;flex-shrink:0;}

@media(max-width: 991px){#header-spk .header-bottom{display:none;} #header-spk .header-top{margin-top: 10px;}}

#header-spk .category-menu {
  display: flex;
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 14px 10px;
  margin-top: 2px;
  justify-content: start;
  text-transform: uppercase;
	position:relative;
	z-index: 5;
}
#header-spk .dropdown{z-index:20;}

#header-spk .category-menu a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}

#header-spk .has-dropdown {
  position: relative;
}

#header-spk .dropdown {
  position: absolute;
  top: 35px;
  left: 0;
  background: rgb(255, 255, 255);
  padding: 15px;
  border-radius: 15px;
  display: none;
  flex-direction: column;
  gap: 10px;
}

#header-spk .has-dropdown:hover .dropdown {
  display: flex;
}

.divider {
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
}

@media (max-width: 991px) {
  #header-spk .main-menu {
    display: none;
  }

  #header-spk .category-menu {
    display: none;
  }

  #header-spk .btn-calc {
    display: none;
  }

  #header-spk .burger {
    display: flex;
  }

  #hero-dom h1 {
    font-size: 34px;
  }

  #hero-dom {
    min-height: 600px;
  }
}

#header-spk .main-menu.active {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  background: rgba(46, 75, 60, 0.95);
  padding: 20px;
}

.hero_button--green, .hero_button--white{text-decoration:none;}

@media (max-width: 991px) {
  #header-spk .main-menu {
    display: none;
  }

  #header-spk .category-menu {
    display: none;
  }

  #header-spk .btn-calc {
    display: none;
  }

  #header-spk .burger {
    display: flex;
  }

}

#header-spk .main-menu.active {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  background: rgba(46, 75, 60, 0.95);
  padding: 20px;
}

/* =====================================================
   МОБИЛЬНОЕ МЕНЮ (DRAWER)
   ===================================================== */
.menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    backdrop-filter: blur(2px);
}

.menu-overlay.active {
    display: block;
}

body.menu-open {
    overflow: hidden;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: min(340px, 90vw);
    height: 100%;
    background: #1a2f23;
    z-index: 999;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    padding: 0 0 30px;
}

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

.mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mobile-logo {
    height: 38px;
}

.mobile-close {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.mobile-close span {
    display: block;
    width: 16px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
}

.mobile-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.mobile-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-nav {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 0;
    gap: 4px;
}

.mobile-nav a {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    padding: 12px 0;
    transition: opacity 0.2s;
}

.mobile-nav a:hover {
    opacity: 0.7;
}

.mobile-menu-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 15px 20px;
}

.mobile-cat-nav {
    display: flex;
    flex-direction: column;
    padding: 0 20px;
    gap: 2px;
}

.mobile-cat-nav a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    text-decoration: none;
    padding: 8px 0;
    letter-spacing: 0.04em;
    text-transform: uppercase;

    transition: color 0.2s;
}

.mobile-cat-nav a:hover {
    color: #fff;
}

.mobile-menu-footer {
    margin-top: 25px;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mobile-phone {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
	border: 1px solid var(--color-green);
    padding: 10px;
    border-radius: 16px;
    color: var(--color-green);
    text-align: center;
}

.mobile-socials {
    display: flex;
    gap: 20px;
	align-items: center;
}

.mobile-calc-btn {
    display: block;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    text-align: center;
    padding: 14px 20px;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.25);
    transition: background 0.2s;
}

.mobile-calc-btn:hover {
    background: rgba(255, 255, 255, 0.22);
}

/* Бургер анимация при открытом меню */
body.menu-open #header-spk .burger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

body.menu-open #header-spk .burger span:nth-child(2) {
    opacity: 0;
}

body.menu-open #header-spk .burger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

#header-spk .burger span {
    transition: transform 0.3s, opacity 0.3s;
}

/* === СБРОС СТИЛЕЙ === */
.main-menu,
.nav-list,
.nav-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav-list {
    display: flex;
    gap: 2rem;
}

.nav-list > .menu-item {
    position: relative;
}

.nav-list > .menu-item.menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
}

.nav-list > .menu-item.menu-item-has-children > a::after {
    content: '▾';
    margin-left: 0.4rem;
    font-size: 1.1em;
    line-height: 1;
    transition: transform 0.2s ease;
}

.nav-list > .menu-item.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

.nav-list .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    padding: 0.75rem;
    
    background: rgba(40, 41, 42, 1);
    border-radius: 16px;
    
    display: none;
    z-index: 100;
	-webkit-box-shadow: 5px 5px 5px -5px rgba(0, 0, 0, 0.6);
-moz-box-shadow: 5px 5px 5px -5px rgba(0, 0, 0, 0.6);
box-shadow: 5px 5px 5px -5px rgba(0, 0, 0, 0.6);
}

.nav-list .menu-item:hover > .sub-menu {
    display: block;
}

.nav-list .sub-menu .menu-item {
    width: 100%;
}

.nav-list .sub-menu .menu-item a {
    display: block;
    padding: 0.6rem 1rem;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.95rem;
    border-radius: 8px;
    transition: background 0.15s;
}

.nav-list .sub-menu .menu-item:not(:last-child) {
    margin-bottom: 0.15rem;
}

.td-price{
    color: var(--color-green);
    font-weight: bold;
}

.hero-img__content {max-width:760px;}
.plashka{
    background-color: rgba(255, 255, 255, 0.2);
    padding: 8px 20px;
    border-radius: 50px;
    backdrop-filter: blur(5px);
    color: white;
    margin-bottom: 15px;
}
@media(max-width: 991px){.plashka{padding: 8px 10px;}}

#hero-spk h1{ margin: 20px 0;}
.hero-img__buttons{gap: 20px;}
.hero_button--green{padding: 14px 30px; background-color: var(--color-green); color: white;border-radius: 16px;outline: none; border:none;}
.hero_button--white{padding: 14px 30px; border:1px solid var(--color-green); background-color: white; color: var(--color-green); border-radius: 16px; outline: none;}
.hero-tabs{flex-direction: column; gap: 15px;}
.hero-tabs__switch{background-color: rgba(255, 255, 255, 0.2); backdrop-filter: blur(20px); border-radius: 16px; grid-template-columns: repeat(2,auto);}
.switch.active{background-color: var(--color-green); padding: 5px 18px; border-radius: 50px; cursor: pointer; transition: background-color 0.3s ease, color 0.3s ease;}
.switch{padding: 5px 18px; cursor: pointer; text-align: center;}
span.switch {
    font-size: 15px;
}

.hero-tabs__img {
	border-radius:16px;
    width: 100%;
    padding-top: 60%; 
}

.hero-tabs__img img{border-radius: 16px; width: 100%;}
.hero-tabs__title{font-size: 22px; text-transform: none; text-align: center;}
.hero-tabs__table {
  width: 100%;
  border-collapse: collapse;
}
.hero-tabs__table tr:nth-child(3) th,
.hero-tabs__table tr:nth-child(5) th {
    padding-top: 20px;
}
.hero-tabs__table th,
.hero-tabs__table td {
  text-align: left; 
}

.hero-tabs__button--green,.hero-tabs__button--border {
    padding: 10px 52px;
    border-radius: 16px;
    outline: none;
    border: none;
    
}
.hero-tabs__content {
  display: none;
}

.hero-tabs__content.active {
  display: block;
}
.hero-tabs__button--green {background-color: var(--color-green); color: white;}
.hero-tabs__button--border{background-color: transparent; border: 1px solid var(--color-green); color: var(--color-green);}
#prem-hero-cards .col-pl-4{gap:20px; padding: 20px 0;}
.hero-card{padding:10px 15px; color: white; gap: 16px;}
.hero-card__img{width: 48px; height: 48px; background-color:rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 13px; }
.auto-layout{padding:20px 0; grid-template-columns: repeat(auto-fit, minmax(315px, 1fr)); gap: 20px;}
.hero-tabs,
.hero-img {
  min-width: 0;
}

.hero-tabs__buttons{margin-top: 20px; margin-bottom: 10px;}
.hero-tabs__buttons a{text-decoration:none;}
@media (max-width: 991px) {
	.switch.active, .switch{padding: 5px 10px;}
  .col-pl-65-35 {
    grid-template-columns: 1fr; 
  }
   .auto-layout {
    grid-template-columns: 1fr;
  }
  .hero-img__buttons {
    flex-direction: column;
    align-items: stretch;
  }
    .hero-tabs__buttons {
    flex-direction: column;
    gap: 10px;
  }
    .hero-tabs__switch {
    	font-size: 12px;
		grid-template-columns: 1fr;
  }
    .hero-img {
    padding: 20px;
  }

  h1 {
    font-size: 24px;
  }
  p{
    font-size: 16px;
	  opacity: 1;
  }
  .plashka{
    font-size: 12px;
  }
.mobile-menu {
  transform: translateX(100%);
  background-color: var(--background-color-block);
}

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

.menu-overlay {
  display: none;
}

.menu-overlay.active {
  display: block;
}

  .main-menu,
  .category-menu {
    display: none;
  }
  body.menu-open {
  overflow: hidden;
}

.header-contacts{
    display: none !important;
    
}

  #header-spk .logo img {
    height: 30px;
  }

.hero-tabs {padding: 20px;}
.hero-tabs__button--green, .hero-tabs__button--border{width: 100%; text-align:center;}

}
.page-default {
    padding: 60px 0;
}

.page-title {
    margin-bottom: 30px;
}

.page-content {
    background: #36393B;
    padding: 30px;
    border-radius: 16px;
    color: rgba(255,255,255,0.75);
    font-size: 16px;
    line-height: 1.7;
}

.page-content h2,
.page-content h3 {
    color: #fff;
    margin-top: 25px;
}

.page-content a {
    color: var(--color-green);
    text-decoration: none;
}

.page-content a:hover {
    text-decoration: underline;
}

.page-content ul {
    padding-left: 20px;
}

.page-content li {
    margin-bottom: 8px;
}

.page-content img {
    max-width: 100%;
    border-radius: 12px;
}

.divider-with-icon {
  display: flex;
  align-items: center;
  gap: 10px; 
  margin: 80px 0 40px; 
}

@media(max-width: 991px){.divider-with-icon{margin: 40px 0 40px; }}

.divider-with-icon::before,
.divider-with-icon::after {
  content: "";
  flex: 1; 
  height: 1px;
  background-color: white;
  opacity: 0.5;
}

.owl-carousel{
    position: relative;
}

.owl-nav {
    position: absolute;
    top: 30%;
    width: 100%;
    display: flex;
    justify-content: space-between;
	pointer-events: none;
}

.owl-nav button.owl-prev,
.owl-nav button.owl-next {
    pointer-events: all; 
    position: relative;
    z-index: 10;
}
button.owl-prev,
button.owl-next {
    border: 1px solid white !important;
    background-color: transparent !important;
    width: 45px;
    height: 45px;
    border-radius: 16px;
    transition: all 0.3s ease; 
}

button.owl-prev:hover,
button.owl-next:hover {
    border: none;
    background-color: white !important;
    color: var(--color-green);
}

.owl-arrow {
	font-size: 23px;
    color: white;
    transition: color 0.3s ease; 
}

button.owl-prev:hover .owl-arrow,
button.owl-next:hover .owl-arrow {
    color: var(--color-green);
}
.owl-nav button.owl-prev {
    margin-left: -30px; 
}

.owl-nav button.owl-next {
    margin-right: -30px; 
}

#block14-gallery {
    margin: 30px 0;
}

.work-gallery__item {
    position: relative;
    overflow: hidden; 
}

.work-gallery__step {
    position: absolute;
    top: 8px;
    right: 20px;
    padding: 5px 12px;
    background-color: rgba(30, 30, 30, 0.3); 
    backdrop-filter: blur(20px); 
    color: white; 
    border-radius: 50px;
    font-size: 12px;
	font-weight: medium;
    z-index: 5;
}
.work-gallery__descr {
    padding: 25px 0;
}
.work-gallery__item img{border-radius: 16px;}
@media(max-width: 991px){.work-gallery__item{padding: 10px} .owl-nav {padding: 0 30px; overflow: hidden;} 
	.work-gallery__content {
		padding: 10px;
	}
	
	.work-gallery__title {
    	font-size: 20px;
	}
	.work-gallery__text{
		font-size: 15px;
	}
	.work-gallery__step{top: 20px;}
	.work-gallery__descr{padding: 15px 10px;}
}

#concept-spk, #concept-spk7, #concept-spk7-uls {
  padding: 45px 0 45px;
}
#concept-spk .concept-top, #concept-spk7 .concept-top,  #concept-spk7-uls .concept-top {
  margin-bottom: 30px;
}

#concept-spk .concept-grid,
#concept-spk7 .concept-grid,
#concept-spk7-uls .concept-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; 
  gap: 20px;
  align-items: stretch;
}

#concept-spk .concept-card,
#concept-spk7 .concept-card,
#concept-spk7-usl .concept-card {
  background: rgba(40, 41, 42, 1);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: auto;
  min-height: 0;
}

#concept-spk .concept-card__text,
#concept-spk7 .concept-card__text,
#concept-spk7-usl .concept-card__text {
  padding: 20px 30px 20px 20px;
  font-size: 18px;
  color: #1e1e1e;
}

#concept-spk .concept-card__spacer,
#concept-spk7 .concept-card__spacer,
#concept-spk7-usl .concept-card__spacer {
  flex: 1;
}

#concept-spk .concept-image,
#concept-spk7 .concept-image,
#concept-spk7-usl .concept-image {
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  min-height: 0;
}

#concept-spk .concept-image img,
#concept-spk7 .concept-image img,
#concept-spk7-usl .concept-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#concept-spk.concept-reverse .concept-grid,
#concept-spk7.concept-reverse .concept-grid,
#concept-spk7-usl.concept-reverse .concept-grid {
  grid-template-columns: 1fr 1fr !important;
}
@media (max-width: 991px) {

  #concept-spk .container,
  #concept-spk7 .container, #concept-spk7-usl .container  {
    padding: 10px;
    box-sizing: border-box; 
  }

  #concept-spk .concept-title,
  #concept-spk7 .concept-title , #concept-spk7-usl .concept-title{
    font-size: 20px;
    width: 100%; 
	  padding: 10px 0;
  }

  #concept-spk .concept-grid,
  #concept-spk7 .concept-grid, #concept-spk7-usl .concept-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #concept-spk .concept-card,
  #concept-spk7 .concept-card, #concept-spk7-usl .concept-card {
    min-height: auto;
    max-width: 100%;
    overflow: hidden;
  }

  #concept-spk .concept-card__spacer,
  #concept-spk7 .concept-card__spacer, #concept-spk7-usl .concept-card__spacer {
    display: none;
  }

  #concept-spk .concept-card__text,
  #concept-spk7 .concept-card__text, #concept-spk7-usl .concept-card__text {
    padding: 22px;
    font-size: 16px;
    box-sizing: border-box;
    max-width: 100%;
  }

  #concept-spk .concept-image,
  #concept-spk7 .concept-image, #concept-spk-usl .concept-image {
    min-height: 260px;
    max-width: 100%;
    overflow: hidden;
  }
	
	#concept-spk .concept-image img,
	#concept-spk7 .concept-image img, #concept-spk-usl .concept-image img{height: 300px;}
	

  #concept-spk .col-pl-3,
  #concept-spk7 .col-pl-3, #concept-spk7-usl .col-pl-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #concept-spk .concept-prem__item,
  #concept-spk7 .concept-prem__item, #concept-spk7-usl .concept-prem__item {
    max-width: 100%;
  }

  #concept-spk,
  #concept-spk7,  #concept-spk7-usl {
    padding: 10px 0 !important;
  }

}

#concept-spk, #concept-spk7, #concept-spk7-usl{background-color: var(--background-color-block); border-radius: 40px; padding: 100px 0; }
#concept-spk h3,#concept-spk7 h3, #concept-spk7-usl h3{font-size: 52px; font-weight: 600; margin-bottom: 60px; color:var(--color-green);}
#concept-spk .concept-prem, #concept-spk7 .concept-prem, #concept-spk7-usl .concept-prem {
    margin: 20px 0;
}

#concept-spk .col-pl-3,#concept-spk7 .col-pl-3, #concept-spk7-usl .col-pl-3{gap: 20px;}
#concept-spk7, #concept-spk7-usl{background:none; padding: 0;}
.concept-prem__item{
	background-color: rgba(40, 41, 42, 1);
	border-radius: 16px;
	padding: 20px;
}

@media(max-width: 991px){#concept-spk h3,#concept-spk7 h3, #concept-spk7-usl h3{font-size: 32px;}}
#advantages-spk, #block10-cards {
  background: #1e1e1e;
  padding: 65px 0;
  border-radius: 16px;
}

#concept-spk7-usl .concept-image{height: 100%;}
#advantages-spk .adv-card, #block10-cards .adv-card  {
  background: #303030;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 396px;
}
#advantages-spk .adv-icon, #block10-cards .adv-icon  {
  width: 65px;
  height: 65px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#advantages-spk .adv-icon img, #block10-cards .adv-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
#advantages-spk .adv-content,  #block10-cards .adv-content {
  margin-top: 20px;
}
#advantages-spk .adv-title, #block10-cards .adv-title {
	font-size: 22px;
	line-height: 1.3;
	color: #fff;
	margin: 0;
	margin-bottom:15px;
}
#advantages-spk a {
    color: white;
    text-decoration: none;
}

#advantages-spk .adv-text {
    margin: 20px 0;
}

#advantages-spk .style-btn:hover{
	color: var(--background-color--block)
}

#advantages-spk .adv-card p, #block10-cards .adv-card p{
	font-size:16px;
	line-height:1.6;
	color:rgba(255,255,255,0.75);
	margin: 0;
}
#advantages-spk .advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
#advantages-spk, #block10-cards {
  margin-top: 60px;
  border-radius: 16px;
}
@media (max-width: 991px) {
  #advantages-spk .advantages-grid, #block10-cards .advantages-grid  {
    grid-template-columns: 1fr;
    gap: 20px;
  }
	#advantages-spk, #block10-cards{padding: 10px;}
}

.mobile-only-view {
    display: none !important;
}

.desktop-only-view {
    display: block !important;
}

@media (max-width: 991px) {
	
	#differences h2{font-size: 20px; width: 70%;margin-left: 10px; margin-bottom: 20px;}
	#differences .container{padding: 10px;}

    .desktop-only-view {
        display: none !important;
    }
    

    .mobile-only-view {
        display: flex !important;
        flex-direction: column;
    }
}

.differences_table_wrapper {
    position: relative;
    margin-top: 40px;
}

.differences_table {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background-color: #36393B;
    border-radius: 20px;
    overflow: hidden; 
}

.differences_col3-background {
    position: absolute;
    top: -15px;
    bottom: -15px;
    right: -20px;
    width: 35%;
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    z-index: 0;
}

.differences_row {
    display: contents; 
}

.differences_cell {
    padding: 20px;
    text-align: left;
    color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 16px;
    position: relative;
    z-index: 1;
}

.differences_cell.title {
    font-size: 24px;
    font-weight: 600;
    color: white;
}

.differences_cell--highlight {
    color: #36393B; 
}

.differences_head .differences_cell {
    font-size: 24px;
    font-weight: 600;
}

.differences_row:not(:last-child) .differences_cell {
    border-bottom: 1px dashed rgba(106, 112, 123, 0.15);
}

.differences_cell p {
    margin: 0;
}

.diff_mob_card {
    background: #36393B;
    padding: 15px;
    border-radius: 20px;
    color: #fff;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    margin-top: -10px;
}

.diff_mob_card.card--accent {
    background-size: cover;
    background-position: center;
    color: #36393B; 
}

.diff_mob_header {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
    color: inherit;
}

.diff_mob_row {
    display: flex;
    flex-direction: column;
    padding: 12px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
}

.card--accent .diff_mob_row {
    border-bottom-color: rgba(0, 0, 0, 0.1);
}

.diff_mob_row:last-child {
    border-bottom: none;
}

.diff_mob_label {
    font-size: 12px;
    text-transform: uppercase;
    opacity: 0.6;
    margin-bottom: 4px;
    letter-spacing: 0.05em;
    color: inherit;
}

.diff_mob_value {
    font-size: 16px;
    font-weight: 500;
    color: inherit;
}

#mini-catalog {
  padding: 45px 0;
}

.categories-divider span {
  flex: 1;
  height: 1px;
  background: #cfc8ba;
}

/* Верхний блок */
.mini-catalog__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
  align-items: stretch;
}

.mini-catalog__title {
  font-family: "Manrope";
  font-weight: 600;
  font-size: 40px;
  line-height: 120%;
  color: white;
  margin-bottom: 30px;
}

/* Левая карточка */
.mini-catalog__desc {
  background: var(--background-color-block);
  padding: 30px;
  border-radius: 16px;
  height: 100%;
  display: flex;
  flex-direction: column-reverse;
  justify-content: end;
	gap: 30px;
}

.mini-catalog__desc .texts {
  display: flex;
  flex-direction: column;
}

.mini-catalog__desc h4 {
  font-family: "Manrope";
  font-weight: 600;
  font-size: 22px;
  line-height: 130%;
  color: white;
  margin-bottom: 25px;
}

.mini-catalog__desc p {
  font-family: "Manrope";
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 20px;
}
.mini-catalog__desc p:last-child {
  margin-bottom: 0;
}

/* Фото */
.mini-catalog__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

/* Карточки */
.mini-catalog__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.mini-catalog__card {
  background: var(--background-color-block);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Фото в карточке */
.mini-catalog__img {
  padding: 5px;
}
.mini-catalog__img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

/* Тело карточки */
.mini-catalog__body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  background-color: var(--background-color-block);
}

.mini-catalog__body h3 {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 5px;
}

.mini-catalog__small {
  font-size: 14px;
  opacity: 0.6;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.8);
}

.mini-catalog__specs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.8);
}

.mini-catalog__specs .char {
  font-size: 14px;
  font-weight: 400;
}

.mini-catalog__specs div {
  display: flex;
  justify-content: space-between;
}

.mini-catalog__price {
  font-weight: 600;
  margin-bottom: 20px;
  color: white;
}

.mini-catalog__price span {
  font-weight: 400;
}

/* Кнопки */
.mini-catalog__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.btn-outline {
  background-color: transparent;
  border: 1px solid var(--color-green);
  color: var(--color-green);
  text-align: center;
  padding: 10px;
  border-radius: 12px;
  text-decoration: none;
}

.btn-main {
  background-color: var(--color-green);
  color: #fff;
  text-align: center;
  padding: 10px;
  border-radius: 12px;
  text-decoration: none;
	cursor: pointer;
}

/* Каталог карточка */
.mini-catalog__catalog {
  background: url("./assets/img/fon-button-catalog.png") no-repeat center center / cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  border-radius: 16px;
}

.catalog-link {
  text-align: center;
}

.style-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
margin-top: 20px !important;
}
.mini-catalog__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.mini-catalog__desc {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.mini-catalog__text,
.mini-catalog__desc .texts {
  display: flex;
  flex-direction: column;
}

.mini-catalog__image {
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
}

.mini-catalog__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.style-buttons {
  margin-top: auto;
}

.style-btn {
     border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    padding: 0 16px;
    white-space: nowrap;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    flex-grow: 1;
}

.style-btn:hover,
.style-btn.active {
  background: white;
  color: var(--background-color-block);
}

/* Адаптив */
@media (max-width: 991px) {
  .mini-catalog__title {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .mini-catalog__top {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .mini-catalog__image {
    min-height: 200px;
    order: -1;
  }

  .mini-catalog__image img {
    height: 220px;
  }

  .mini-catalog__desc {
    padding: 20px;
  }

  .mini-catalog__desc h4 {
    font-size: 17px;
    margin-bottom: 10px;
  }

  .mini-catalog__desc p {
    font-size: 14px;
  }

  .mini-catalog__cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .mini-catalog__img img {
    height: 180px;
  }

  .style-buttons {
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
  }

  .mini-catalog__catalog {
    padding: 10px;
    font-size: 16px;
  }
}
@media (max-width: 991px) {
  .style-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
    gap: 8px;
    width: 100%;
  }

  .style-btn {
    display: inline-block;
    white-space: nowrap;       
    justify-content: center;
    padding: 8px 10px;
    text-align: center;
    min-width: 0;              
    overflow: hidden;
    text-overflow: ellipsis;   
  }

  .style-buttons > .style-btn {
    grid-column: span 1;       
  }

  .style-buttons > .style-btn:where(:nth-child(odd)) {
    
  }

  .style-buttons > .style-btn:where(:nth-child(1)) {
    
  }

  
  .style-btn:has(span:overflow-wrap) {
    grid-column: 1 / -1;
  }
}

.concept-grid {
    display: grid;
    grid-template-columns: 420px 1fr; 
    gap: 20px;
    align-items: start;
}

.concept-grid {
    display: grid;
    grid-template-columns: 420px 1fr; 
    gap: 20px;
    align-items: start;
}

.concept-grid--reverse .concept-card {
    order: 2; 
}

.concept-grid--reverse .concept-image {
    order: 1; 
}

.concept-card {
    display: flex;
    flex-direction: column;
}

.concept-card__spacer {
    height: 20px; 
}

.concept-card__text {
    padding: 10px 0;
}

/* Картинка */
.concept-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.concept-title {
    font-size: 32px;
    font-weight: 700;
    margin: 20px 0;
}

@media (max-width: 991px){.concept-grid--reverse {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }}
#block4 {
    padding: 40px 0 0;
}

.block9__title, .block4__title, .block6__title, .block10__title, .block15__title,  {
    font-size: 32px;
    font-weight: 700;
    margin: 20px 0;
}

.block9__links, .block4__links, .block6__links, .block10__links,.block15__links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.block9__btn,.block4__btn, .block6__btn, .block10__btn, .block15__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	font-size: 16px;
    padding: 10px 20px;
    border-radius: 16px;
    background-color: none;
	border: 1px solid var(--color-green);
    color: var(--color-green);
    text-decoration: none;
    font-weight: 400;
    transition: 0.3s;
    white-space: nowrap; 
}

.block9__btn:hover, .block4__btn:hover, .block6__btn:hover ,.block10__btn:hover, .block15__btn:hover {
    background-color: var(--color-green);
    color: white;
}
.block9, .block6, .block10, #url-usl{
	margin: 70px 0;
}

.block4__more-btn, .block6__more-btn{
	display: none;
}

@media (max-width: 768px) {

  .block4__btn.is-hidden-mobile {
    display: none;
  }

  .block4__links.is-open .block4__btn.is-hidden-mobile {
    display: inline-flex;
  }

.block4__more-btn {
  margin-top: 10px;
  padding: 12px 16px;
  border-radius: 12px;
  background: #36393B;
  color: #fff;
  border: none;
  cursor: pointer;

  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
	
	@media (max-width: 768px) {

  .block6__btn.is-hidden-mobile {
    display: none;
  }

  .block6__links.is-open .block6__btn.is-hidden-mobile {
    display: inline-flex;
  }

  .block6__more-btn {
    margin-top: 10px;
    padding: 10px 16px;
    border-radius: 12px;
    background: #36393B;
    color: #fff;
    border: none;
    cursor: pointer;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

  .block4__links.is-open + .block4__more-btn {
    display: none;
  }
}

@media (max-width: 991px) {
    .block9__links, .block4__links, .block6__links, .block10__links, .block15__links {
        flex-direction: column;
        gap: 12px;
    }
    .block9__btn, .block4__btn, .block6__btn,  .block10__btn, .block15__btn{
        width: 100%;
        justify-content: center;
    }
}
#block10-cards{margin-top: 0; padding-top: 0;}

.faq {
  padding: 45px 0;
}
@media(max-width: 991px){.faq{padding: 10px;}}
.faq-title {
  font-size: 20px;
  margin-bottom: 40px;
}
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 5px;
}

.faq-item {
  background: #36393B;
  border-radius: 16px;
  padding: 20px 24px;
  cursor: pointer;
  transition: 0.3s;
}
.faq-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 22px;
  font-weight: 600;
}
.faq-toggle {
  background: #cfd5d0;
  border-radius: 999px;
  width: 56px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: lighter;
}
.faq-item.active .faq-toggle {
  background: var(--color-green);
  color: #fff;
}
.faq-body {
  margin-top: 15px;
  color: #666;
  line-height: 1.6;
  display: none;
}
.faq-item.active .faq-body {
  display: block;
}
.faq-banner {
  background: url(./assets/img/faq-form.png) center/cover no-repeat;
  height: 350px;
  display: flex;
  border-radius: 16px;
  padding: 20px;
  position: relative;
  color: #fff;
}
.faq-banner-content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.faq-banner h3 {
  font-size: 36px;
  margin-bottom: 15px;
}
.faq-banner p {
  opacity: 0.8;
  max-width: 650px;
}
.faq-buttons {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.faq-btn {
  padding: 10px 65px;
  border-radius: 16px;
  font-weight: 500;
}
.faq-btn.telegram {
  background: #fff;
  color: var(--color-green);
}
.faq-btn.whatsapp,  .faq-btn.phone, .faq-btn.max{
  border: 1px solid #fff;
  color: #fff;
}
.faq-note {
  font-size: 12px;
  opacity: 0.8;
  max-width: 330px;
}

.first-step {
  padding: 80px 0;
}

.first-step-box {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: url("./assets/img/form.png") center/cover no-repeat;
}

.first-step-content {
  position: relative;
  padding: 40px;
  color: #fff;
  max-width: 840px;
}

.first-step-content h2 {
  font-size: 32px;
  font-weight: 600;
  margin-bottom: 15px;
}

.first-step-sub {
  margin-bottom: 100px;
  opacity: 0.8;
}

.first-step-form input:not([type=checkbox]):not([type=submit]),
.first-step-form select {
  width: 100%;
  height: 46px;
  border-radius: 16px;
  border: none;
  padding: 0 20px;
  font-size: 14px;
}

.first-step-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}

.first-step-form textarea {
  width: 100%;
  border-radius: 16px;
  border: none;
  margin-bottom: 10px;
  resize: none;
  font-size: 14px;
}

.first-step-bottom {
  display: flex;
  align-items: center;
  gap: 10px;
}

.first-step-btn {
  background: #2e4b3c;
  color: #fff;
  border: none;
  padding: 13.5px 40px;
  border-radius: 12px;
  font-weight: 500;
  font-size: 16px;
  cursor: pointer;
}

.first-step-note {
  font-size: 14px;
  font-weight: 400;
  color: #ffffff;
  max-width: 310px;
  opacity: 0.6;
}

.first-step-form select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("./assets/img/select-arrow.svg");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
}

.first-step-form select {
  color: rgba(0, 0, 0, 0.3);
}

.first-step-form input::placeholder,
.first-step-form textarea::placeholder {
  color: #1e1e1e;
  opacity: 0.4;
}

.first-step-form textarea {
  height: 120px;
  padding: 85px 20px 15px 20px;
}

@media (max-width: 900px) {
	.faq-banner{height: 550px;}
	.faq-banner h3{font-size: 20px;}
	.faq-head {font-size: 17px;}
  .first-step-content {
    padding: 40px;
  }

  .first-step-row {
    grid-template-columns: 1fr;
  }

  .first-step-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .first-step-content h2 {
    font-size: 20px;
  }
}

.first-step-form .form-consent{
margin-top:15px;
font-size:12px;
opacity:.8;
display:flex;
flex-direction:column;
gap:5px;
}
.first-step-form label {
    display: flex;
    justify-content: flex-start;
align-items: center;}
.site-footer {
  background: #1e1e1e;
  color: #ffffff;
  padding: 40px 0 15px;
  border-radius: 16px 16px 0 0;
}

.hidden-fields-container{display:none;}
.site-footer {
  background: #0F0F0F;
  color: #ffffff;
  padding: 40px 0 15px;
  border-radius: 16px 16px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 85px;
  margin-bottom: 50px;
}

.footer-social .social{background: none;}

.footer-col.footer-about {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.footer-logo {
  width: 180px;
  margin-bottom: 20px;
}

.footer-desc {
  color: #ffffff;
  margin-bottom: 15px;
  font-size: 12px;
  opacity: 0.6;
}

.footer-text {
  color: #ffffff;
  font-size: 12px;
  opacity: 0.6;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.social {
  width: 42px;
  height: 42px;
  background: #ffffff12;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-write {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.6;
}

.footer-col h4 {
  color: #fff;
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 500;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col li {
  margin-bottom: 15px;
}

.footer-col a {
  color: #ffffff;
  font-size: 16px;
  opacity: 0.8;
}

.footer-col a:hover {
  color: #fff;
}

.footer-label {
  color: #ffffff;
  font-size: 12px;
  margin-top: 15px;
  opacity: 0.6;
  margin-bottom: 5px;
}

.footer-phone {
  font-size: 16px;
  color: #fff;
  margin-bottom: 10px;
}

.footer-email{font-size:15px;color:#fff;margin-bottom:10px;word-break:break-all;}
.footer-email a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;transition:.2s;}
.footer-email a:hover{color:var(--color-green);text-decoration-color:var(--color-green);}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 15px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
}

.footer-copy {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.6;
}

.footer-links a {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.6;
  margin-left: 20px;
  text-decoration: underline;
}

.footer-links a:hover {
  color: #fff;
}

/* Подпись разработчика — неброско, продолжением строки копирайта */
.footer-made { white-space: nowrap; }
.footer-made::before { content: "· "; }
.footer-made a { color: inherit; text-decoration: none; }
.footer-made a:hover { text-decoration: underline; }
@media (max-width: 900px) { .footer-made { display: block; margin-top: 4px; } .footer-made::before { content: none; } }

@media (max-width: 900px) {
	h2{font-size: 22px;}
	.container{padding: 10px;}
	
  .footer-grid {
    grid-template-columns: 1fr;
	  text-align: center;
    gap: 40px;
  }
	.footer-social{justify-content: center;}
	.faq-btn.telegram, .faq-btn.whatsapp, .faq-btn.phone, .faq-btn.max{
		width: 100%;
		text-align: center;
		text-decoration: none;
	}
	.faq-btn.telegram{
		background:none;
		color: white;
		text-decoration: none;
		border: 1px solid white;
	}

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-links a {
    margin-left: 0;
    margin-right: 20px;
  }
}

.footer-col li a{
	text-decoration: none;
}

#banner-service .breadcrumbs {
    margin-bottom: 20px;
}

#banner-service .concept-grid {
    display: grid;
    grid-template-columns: 70% auto;gap: 20px;
    gap: 20px;
    align-items: stretch;
}

#banner-service .concept-card {
    background: rgba(40, 41, 42, 1);
    border-radius: 16px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    min-height: 520px;
}

#banner-service .concept-card__title h2 {
    font-size: 46px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 15px;
}

#banner-service .concept-card__text {
    font-size: 16px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 20px;
}

#banner-service .prem {
    display: flex;
    margin-bottom: 20px;
}

#banner-service .prem__item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 10px;
	line-height: 120%;
    color: #fff;
    font-size: 14px;
}

#banner-service .prem__item img {
    width: 26px;
    height: 26px;
}

#banner-service .button {
    margin-top: auto;
	display: flex;
	gap: 15px;
	
}

.hero-button-service--green {
    display: inline-block;
    background: var(--color-green);
    color: #fff;
    padding: 12px 12px;
    border-radius: 12px;
	width: 400px;
    text-align: center;
    text-decoration: none;
}

#banner-service .concept-image {
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
}

#banner-service .concept-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#banner-service .content{width: 75%;}

#banner-service #breadcrumbs, .breadcrumbs {
    font-size: 14px;
    line-height: 120%;
}

#banner-service #breadcrumbs a, .breadcrumbs a {
    color: #ffffff;
    opacity: 0.6;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

#banner-service #breadcrumbs a:hover, .breadcrumbs a:hover{
    opacity: 1;
}

#banner-service #breadcrumbs span span , .breadcrumbs span span{
    color: #ffffff;
    opacity: 0.6;
}

#banner-service #breadcrumbs .breadcrumb_last, .breadcrumb_last {
    color: #ffffff;
    opacity: 1;
}

#banner-service .concept-card__spacer {
    height: 200px; 
}

.border-btn{
	color: var(--color-green);
	border: 1px solid var(--color-green);
	background: white;
}

/* МОБИЛКА */
@media (max-width: 991px) {
	
	#banner-service .button {
    flex-direction: column;
	
}

    #banner-service {
        padding: 20px 0;
    }

    #banner-service .concept-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    #banner-service .concept-card {
        min-height: auto;
        padding: 20px;
    }

    #banner-service .concept-card__spacer {
        display: none;
    }

    #banner-service .concept-card__title h2 {
        font-size: 24px;
        line-height: 120%;
    }

    #banner-service .concept-card__text {
        font-size: 14px;
        margin-bottom: 15px;
    }

    #banner-service .prem {
        flex-direction: column;
        gap: 10px;
    }

    #banner-service .prem__item {
        font-size: 14px;
    }

    .hero-button-service--green {
        width: 100%;
    }

    #banner-service .concept-image {
        height: 240px;
    }

    #banner-service .content {
        width: 100%;
    }

    #banner-service #breadcrumbs {
        font-size: 13px;
        line-height: 130%;
    }
	
}

#block2-cards {
    padding-top: 60px;
}

/* Сетка */
.block2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.block2-card {
    background: rgba(40, 41, 42, 1);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    min-height: 420px;
}

.block2-card__top {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.block2-title {
    font-size: 22px;
    font-weight: 600;
    color: #fff;
}

.block2-text {
    font-size: 15px;
    color: rgba(255,255,255,0.7);
}

.block2-card__bottom {
    margin-top: auto;
    color: #fff;
}

.block2-card__bottom p{
	opacity: 1;

}

.block2-image {
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
}

.block2-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 991px) {
	#block2-cards{
		padding:0;
	}

    .block2-grid {
        grid-template-columns: 1fr;
    }

    .block2-card {
        min-height: auto;
    }

    .block2-image {
        height: 220px;
    }
}

#projects-spk {
  padding: 45px 0;
}
.projects-title {
  font-size: 40px;
  margin-bottom: 15px;
}
.projects-subtitle {
  margin-bottom: 50px;
}
.projects-slider {
  position: relative;
  overflow: hidden;
}
.projects-track {
  display: flex;
  gap: 20px;
}
.project-card {
  flex: 0 0 calc((100% - 40px) / 3);
  background: var(--background-color-block);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
min-height: 600px;
	
}
.project-image {
  padding: 5px;
}
.project-image img {
  width: 100%;
  height: 270px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.project-body {
  padding: 0 20px 20px 20px;
  display: flex;
  flex-direction: column;
	flex:1;
}
.project-title {
  font-family: "Manrope";
  font-weight: 600;
  font-size: 22px;
  line-height: 140%;
  margin-top: 15px;
  margin-bottom: 10px;
}
.project-meta {
	color: white;
  font-family: "Manrope";
  font-size: 16px;
  line-height: 140%;
  opacity: 0.6;
  margin-bottom: 20px;
}
.project-text {
  font-family: "Manrope";
  font-size: 16px;
  line-height: 140%;
  opacity: 0.8;
  margin-bottom: 20px;
}
.project-btn {
  display: block;
  text-align: center;
  background: var(--color-green);
  color: #fff;
  padding: 14px 0;
  border-radius: 16px;
  text-decoration: none;
  margin-top: auto;
}

.projects-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
}
.nav-buttons {
  display: flex;
  gap: 15px;
 
}
.nav-btn {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: none;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav-prev {
  background: #fff;
  color:  var(--color-green);
}
.nav-next {
  background-color:var(--color-green);
  color: white;
}

.nav-text {
  font-family: "Manrope";
  font-size: 16px;
  line-height: 140%;
  color: #5e5e5e;
  max-width: 700px;
}
.owl-dots{visibility: hidden;}

#usl {
    background-color: whitesmoke;
    padding: 60px 0;
}
#usl .item {
    background-color: white;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0px 20px 30px rgba(51,51,51,0.3);
    display: flex;
    flex-direction: column;
    min-height: 600px;
}
#usl .title {
    font-size: 22px;
    margin-bottom: 20px;
    font-weight: 600;
    margin-top: 10px;
}
#usl .content {margin-bottom: 10px;}
#usl .price {
    font-size: 20px;
    color: var(--primary-color);
    font-weight: 600;
    white-space: nowrap;
    margin-top: 10px;
}
#usl .button {
    margin-top: auto;
    display: inline-block;
    padding: 10px 20px;
    background: var(--primary-color);
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
}
.septik-gallery {
    position: relative;
    margin-bottom: 20px;
}
.septik-track {
    display: flex;
    overflow: hidden;
}
.septik-slide {
    min-width: 100%;
}
.septik-slide img {
    width: 100%;
    display: block;
    border-radius: 10px;
}
.septik-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
}
.septik-nav button {
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    padding: 10px 15px;
    border-radius: 50%;
    cursor: pointer;
}
/* ===== Блок калькулятора (переписан 16.09.2026: форма CF7 снята, свой калькулятор в assets/calc.css) ===== */
#calc-block{padding:40px 0;}
#calc-block .container{background:#1E1E1E;}
#calc-block .calc-title{margin:0 0 12px;}
#calc-block .calc-text{margin:0 0 24px;color:rgba(255,255,255,.75);max-width:820px;line-height:1.6;}
.calc-wrapper{background:#36393B;padding:30px;border-radius:16px;}
@media (max-width:640px){.calc-wrapper{padding:18px;}}

#usl-catalog {
    background-color: #1E1E1E;
}

#usl-catalog .item {
    background-color: #36393B;
    border-radius: 16px;
    color: #fff;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* карточка, на которую пришли по якорю из фильтра (#m3-5, #p-8): отступ под липкую шапку и подсветка */
#usl-catalog .item{scroll-margin-top:90px;}
#usl-catalog .item:target{outline:2px solid var(--color-green);outline-offset:2px;}

#usl-catalog .title {
    color: #fff;
    font-size: 22px;
    margin-bottom: 15px;
    font-weight: 600;
}

#usl-catalog .content p {
    color: #fff;
    opacity: 0.6;
}

.params-table {
    width: 100%;
    background-color: #36393B;
    border-radius: 10px;
    border-collapse: collapse;
}
.table_content {
    padding: 15px;
}

.params-table td {
    padding: 5px 0;
}

.param-name {
    color: rgba(255, 255, 255, 0.6); 
    
}

.param-value {
    color: #ffffff; 
    text-align: right; 
}
#usl-catalog .button {
    background-color: var(--color-green);
    color: #fff;
    border: none;
    padding: 10px;
    text-align: center;
    border-radius: 16px;
    transition: 0.3s;
	text-decoration: none;
}
#usl-catalog .green-border{background:none; color:var(--color-green); border: 1px solid var(--color-green);}
.price.text-center {
    margin-top: 20px;
    font-size: 20px;
}

@media(max-width: 991px){
	.params-table td {
    padding: 2px 0;
}
	
	.price.text-center {
   
	display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
       
        font-size: 20px;
       
		
	
}

}

#usl-catalog .buttons {
    margin-top: 15px;
    display: flex;
   align-items: center;
    gap: 10px;
}

#usl-catalog .button-full {
    width: 100%;
}

.team-advantages, .purposes, .installation {
  background: #1e1e1e;
  border-radius: 16px;
  color: #fff;
margin: 45px 0;
}
.team-head, .purposes-head,.installation-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
}
.team-sub, .purposes-sub, .installation-sub {
  color: #777;
  font-size: 13px;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
}
.team-title h2, .purposes h2, .installation h2 {
	width: 70%;
  font-size: 42px;
  line-height: 120%;
  margin-bottom: 20px;
  font-weight: 600;
}

@media(max-width:991px){
	.team-title h2, .purposes h2, .installation h2 {
	width: 100%;

}
}
.team-title p, .purposes p ,.installation p{
  color: #9b9b9b;
  max-width: 650px;
  font-size: 16px;
}
.team-logo img .purposes img, .installation img{
  opacity: 0.1;
  width: 205px;
  padding-top: 45px;
}
.team-grid, .purposes-grid, .installation-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.team-card, .purposes-card, .installation-card {
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 16px;
  padding: 20px;
  position: relative;
  background: transparent;
  height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.team-card.highlight, .purposes-card.highlight, .installation-card.highlight {
  background: #303030;
  border: none;
}

.team-card.image, .purposes-card.image, .installationc-card.image{
	padding:0;
	background:transparent;
	border:none;
}

.team-card.image img, .purposes-card.image img, .installation.image img{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:16px;
	display:block;
}
.team-card h3, .purposes-card h3, .installation-card h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 130%;
}
.team-card p , .purposes-card p, .installation-card p{
  font-size: 15px;
  color: #bcbcbc;
  line-height: 150%;
}
.team-num, .purposes-num, .installation-num {
	text-transform: uppercase;
  font-size: 14px;
  color: #8b8b8b;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
.team-card.image, .purposes-card.image, .installation-card.image {
  padding: 0;
  overflow: hidden;
}
.team-card.image img,.purposes-card.image img, .installation-card.image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}
a.button__team-grid-button {
    background: var(--color-green);
    color: white;
    padding: 10px;
    border-radius: 16px;
}
.team-grid-button {
    margin-top: 20px; 
    text-align: center; 
}

.button__team-grid-button {
    display: block; 
    width: 100%; 
    padding: 15px 20px;
    background-color: var(--color-green);
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
}
@media (max-width: 1100px) {
  .team-grid, .purposes-grid, .installation-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-grid .team-card:nth-child(3),
  .team-grid .team-card:nth-child(5),.purposes-grid .purposes-card:nth-child(3), .purposes-grid .purposes-card:nth-child(5),.installation-grid .installation-card:nth-child(3), .installation-grid .installation-card:nth-child(5)   {
    grid-row: auto;
  }
}
@media (max-width: 600px) {
  .team-head, .purposes-head, .installation-head {
    flex-direction: column;
    gap: 20px;
  }
  .team-title h2,.purposes-title h2 , .installation-title h2 {
    font-size: 32px;
  }
  .team-grid, .purposes-grid , .installation-grid{
    grid-template-columns: 1fr;
  }
}

/* Кнопка вверх */
.btn-back-top {opacity: 0;background: black;cursor: pointer;display: block!important;width: 45px;height: 45px;position: fixed;right: 15px;bottom: 15px;transition: .5s;z-index: 1030;}
.btn-back-top:hover{opacity: 1!important;}
.btn-back-top:before {border-color: #fff;border-style: solid;border-width: 5px 0 0 5px;content: "";width: 17px;height: 17px;position: absolute;top: 17px;left: 15px;transform: rotate(45deg);}

.custom-block-11 .col-center {
    display: flex;
    align-items: stretch;
}

.custom-block-11 .center-image img {
    width: 500px;
    height: 600px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
}
@media(max-width: 991px){.custom-block-11 .center-image img{width: 100%;}}
.custom-block-11 .card {
    background: #36393B;
    border-radius: 10px;
    padding: 20px;
    position: relative;
    min-height: 233px;
}

.custom-block-11 .card-icon {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 40px;
    height: 40px;
}

.custom-block-11 .card-icon img {
    width: 20px;
    height:  20px;
}

.custom-block-11 .card-title {
    margin-top: 70px;
    font-size: 18px;

}

.custom-block-11 .card-text {
    margin-top: 10px;
    font-size: 14px;
    color: #555;
}

.custom-block-11 .block-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr; 
    gap: 20px;
    align-items: stretch; 
}
@media(max-width: 991px){.custom-block-11 .block-grid{ grid-template-columns: repeat(1, auto);}}

.custom-block-11 .col-left,
.custom-block-11 .col-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.custom-block-11 .col-center {
    display: flex;
    flex-direction: column;
}

.custom-block-11 .center-image {
    flex: 1; 
}

#block12-cards {
  background: #1e1e1e;
  padding: 65px 0;
  border-radius: 16px;
}

#block12-cards .cards-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px; 
}

#block12-cards .cards-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0; 
  background: #303030;
  border-radius: 16px;
  overflow: hidden; 
}
@media(max-width: 991px){#block12-cards .cards-group {grid-template-columns: 1fr;} #block12-cards{padding: 20px 0;}}

#block12-cards .adv-card {
  position: relative;
  padding: 20px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#block12-cards .adv-card:not(:last-child) {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

#block12-cards .adv-icon {
  width: 65px;
  height: 65px;
  background: rgba(255,255,255,0.1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
	margin-bottom: 120px;
}

#block12-cards .adv-icon img {
  width: 32px;
  height: 32px;
}

/* контент */
#block12-cards .adv-content {
  margin-top: 20px;
  z-index: 2;
}

#block12-cards .adv-title {
  font-size: 22px;
  color: #fff;
  margin-bottom: 10px;
}

#block12-cards .adv-text {
  color: rgba(255,255,255,0.75);
}

#block12-cards .card-bg {
  position: absolute;
  right: -20px;
  bottom: -20px;
  width: 250px;
  opacity: 0.1;
  pointer-events: none;
}

#block12-cards .card-bg img {
  width: 100%;
  height: auto;
}

@media (max-width: 991px) {
  #block12-cards .cards-wrapper {
    grid-template-columns: 1fr;
  }
}

#purposes .no-background{background:none !important; border: 1px solid #36393B; border-radius: 16px;}
#purposes .team-card.no-background:hover{background-color:#36393B !important; }

#block14-gallery .gallery-slider, #block22-sert .gallery-slider {
  display: flex;
}

/* Отдельная карточка */
#block14-gallery .gallery-item {
  height: 280px; 
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}

#block22-sert .gallery-item{
	height: 450px; 
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}

#block14-gallery .gallery-item img, #block22-sert .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
}

#block14-gallery .projects-nav, #block22-sert .projects-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 40px;
}
#block14-gallery .nav-buttons , #block22-sert .nav-buttons{
  display: flex;
  gap: 15px;
}
#block14-gallery .nav-btn, #block22-sert .nav-btn{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: none;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
#block14-gallery .nav-prev , #block22-sert .nav-prev{  
  background: #fff;
  color: var(--color-green);
}
#block14-gallery .nav-next , #block22-sert .nav-next{
  background-color: var(--color-green);
  color: #fff;
}
#block14-gallery .nav-text {
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  line-height: 140%;
  color: #5e5e5e;
  max-width: 700px;
}

#installation .installation-card{border: none;}
#installation .installation-num {
    width: 20%;
    background-color: rgba(0,0,0, 0.3);
    border-radius: 50px;
    display: flex;
    justify-content: center;
    padding: 5px 0;
}

/* Блок */
.block17 {
    padding: 60px 0;
}

.block17-header {
    text-align: center;
    margin-bottom: 50px;
}

.block17-text {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
}

.block17-cards-small {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

.block17-card-small {
    background: #36393B;
    border-radius: 16px;
    padding: 20px;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.block17-card-small .card-num {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: center;
    width: 20%;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 10px;
    color: var(--color-green);
	align-self: end;
	margin-bottom: 80px;
}

.block17-card-small .card-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
}

.block17-card-small .card-text {
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255,255,255,0.75);
}

.block17-cards-large {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.card-left .card-left-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}

.card-left .card-left-text {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
    margin-bottom: 20px;
}

.card-left {
    background-color: #36393B;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 30px;
    border-radius: 16px;
}
.card-left-buttons .btn-green {
    display: inline-block;
    background: none;
    color: var(--color-green);
	border: 1px solid var(--color-green);
    padding: 10px 20px;
    border-radius: 16px;
    margin-right: 10px;
    margin-bottom: 10px;
    text-decoration: none;
}

.card-left-buttons {
    display: grid;
	grid-template-columns: repeat(2,auto);
}

.card-left-buttons .btn-green:hover{background-color: var(--color-green); color: white}

.card-right img {
    width: 100%;
    border-radius: 16px;
    display: block;
}
.block17-texts {
    display: flex;
    gap: 40px;
    margin-bottom: 50px;
}

.block17-text-left,
.block17-text-right {
    flex: 1;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
}

@media(max-width: 991px){
	.card-left-buttons {grid-template-columns: repeat(1, auto);}
	.block17-cards-large {grid-template-columns: 1fr;}
	.block17-texts{flex-direction: column; gap: 10px;}
}

.block19-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.block19-card {
    display: flex;
    align-items: stretch; 
    gap: 20px;
    background: #36393B;
    border-radius: 16px;
}

.block19-card .card-image {
    flex: 0 0 180px; 
    border-radius: 16px;
    overflow: hidden;
}

.block19-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.block19-card .card-content {
    flex: 1;
}

.block19-card .card-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 80px;
    color: #fff;
	padding: 30px 0;
}

.block19-card .card-text {
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255,255,255,0.75);
	padding: 0 0 10px;
}
@media (max-width: 991px) {

    .block19-grid {
        grid-template-columns: 1fr;
    }

    .block19-card {
        flex-direction: column;
    }

    .block19-card .card-image {
        width: 100%;
        height: 200px; 
    }

    .block19-card .card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
	.card-content{padding: 20px;}

}

.reviews-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}
.reviews-all-btn{color:var(--color-green);text-decoration:none;font-weight:600;white-space:nowrap;}
.reviews-all-btn:hover{text-decoration:underline;}
#reviews-page .reviews-hero__desc a{color:var(--color-green);text-decoration:none;border-bottom:1px solid rgba(68,136,130,.5);}
#reviews-page .reviews-hero__desc a:hover{border-color:var(--color-green);}
#block23-reviews .spk-review-card{height:100%;}
#block23-reviews .spk-review-card .text{color:rgba(255,255,255,.8);line-height:1.55;font-size:15px;}

#block24-url-usl{margin-top: 80px;}
@media(max-width: 991px){#block24-url-usl{margin-top: 30px;}}

#block-cities {
	margin-bottom: 80px;
}

.cities-desc {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255,255,255,0.75);
    margin-bottom: 40px;
    max-width: 800px;
}

.cities-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px 20px;
}

.city-link {
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    transition: 0.3s;
}

.city-link:hover {
    color: var(--color-green);
}
@media(max-width: 991px){.cities-grid {grid-template-columns: repeat(2, 1fr);} .cities-grid{padding: 10px;}}

.btn-green {
    background: var(--color-green);
    color: #fff;
    border: none;
    padding: 12px 25px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
}

p.comment-form-cookies-consent{display:none;}

.modal {position: fixed;top: 0;left: 0;z-index: 9999999;display: none;width: 100%;height: 100%;overflow: hidden;outline: 0;background-color: #00000070;backdrop-filter: blur(3px);}
.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll} /*Нужно что бы не прыгало */
.modal-open {overflow: hidden;}
.modal-open .modal {overflow-x: hidden;overflow-y: auto;}

@media (max-width: 921px) {.modal .modal-dialog{width: 100%;height: 100%;padding: 70px 20px 20px 20px;border-radius: 0;}}
@media (min-width: 992px) {.modal .modal-dialog{max-width: 520px;padding: 50px 45px;border-radius: 24px;}}

#za .modal-dialog{display: flex;align-items: center;}

.modal .modal-dialog{background-color: #36393B;color: #fff;position: absolute;right: 0;height: 100%;margin: 0;box-shadow: -10px 0 40px rgba(0,0,0,0.35);transition: transform .35s ease;}

.modal .modal-content{background: transparent;border: none;}

.modal .close{cursor: pointer;position: absolute;top: 20px;right: 20px;opacity: .7;transition: .2s;background-color: #36393B; color: white; }

.modal .grid{gap: 20px;display: flex;flex-direction: column;}

.modal .title{font-size: 38px;line-height: 48px;font-weight: 700;color: #fff;}

.modal .text{color: rgba(255,255,255,0.7);font-size: 16px;line-height: 24px;}

.modal .button{background: var(--color-green);border: none;color: #fff;padding: 14px 20px;border-radius: 16px;font-weight: 600;cursor: pointer;transition: .2s; margin: 20px 0;}

.modal .button:hover{opacity: .9;}

.modal .acc{font-size: 12px;color: rgba(255,255,255,0.6);line-height: 1.4;}

.modal .acc a{color: var(--color-green);text-decoration: none;}

.modal .acc input{-webkit-appearance: auto;}

button:active, button:focus {outline: none;}
button::-moz-focus-inner {border: 0;}

/* Виджет мессенджеров */
/* виджет связи — assets/motion.css */
.map-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 150px;
}

.soc-contacts {
    display: flex;
    width: 100px;
    height: 100px;
    background: #ffffff12;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.soc-contacts img {
    width: 55px;
}
@media(max-width:768px){.map-wrap{ gap: 30px;}}

/* =====================================================
   СЕЛЕКТОР ГОРОДА: дропдаун в шапке + страница /map/
   ===================================================== */

/* Группа "логотип + селектор города" */
.logo-group{display:flex;align-items:center;gap:18px;}

/* Контейнер-селект (дропдаун) */
.city-select{position:relative;z-index:100;}
.city-select__btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#fff;padding:9px 14px;border-radius:30px;font:inherit;font-size:14px;cursor:pointer;transition:.2s;white-space:nowrap;}
.city-select__btn:hover{background:rgba(68,136,130,.18);border-color:var(--color-green);}
.city-select__btn svg{flex-shrink:0;}
.city-select__chevron{opacity:.6;transition:transform .2s;}
.city-select.is-open .city-select__btn{background:rgba(68,136,130,.2);border-color:var(--color-green);}
.city-select.is-open .city-select__chevron{transform:rotate(180deg);}

/* Панель с городами */
.city-select__panel{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:420px;max-width:calc(100vw - 30px);background:#2A2D31;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);padding:14px;display:none;flex-direction:column;gap:12px;z-index:100;}
.city-select.is-open .city-select__panel{display:flex;}

.city-select__search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 12px;transition:.2s;}
.city-select__search:focus-within{border-color:var(--color-green);background:rgba(68,136,130,.08);}
.city-select__search svg{color:rgba(255,255,255,.5);flex-shrink:0;}
.city-select__search input{flex:1;background:transparent;border:none;padding:10px 0;color:#fff;font-size:14px;outline:none;}
.city-select__search input::placeholder{color:rgba(255,255,255,.35);}
.city-select__clear{width:24px;height:24px;background:transparent;border:none;color:rgba(255,255,255,.5);font-size:20px;cursor:pointer;padding:0;line-height:1;}
.city-select__clear:hover{color:#fff;}

.city-select__list{max-height:380px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;}
.city-select__list::-webkit-scrollbar{width:6px;}
.city-select__list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px;}

.city-select__group{display:flex;flex-direction:column;}
.city-select__label{color:rgba(255,255,255,.45);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px 8px 6px;}

.city-select__item{display:block;padding:8px 12px;color:rgba(255,255,255,.85);text-decoration:none;border-radius:8px;font-size:14px;transition:.15s;}
.city-select__item:hover{background:rgba(68,136,130,.15);color:#fff;}
.city-select__item.is-current{background:var(--color-green);color:#fff;font-weight:500;}

.city-select__empty{color:rgba(255,255,255,.6);padding:16px 8px;text-align:center;font-size:14px;}
.city-select__empty a{color:var(--color-green);}

.city-select__footer{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;}
.city-select__footer a{color:var(--color-green);text-decoration:none;font-size:13px;}
.city-select__footer a:hover{text-decoration:underline;}

/* На мобилке селектор в шапке прячем — есть .mobile-city в drawer */
@media (max-width: 991px){.city-select{display:none;}.logo-group{gap:0;}}

/* Кнопка-ссылка выбора города в мобильном меню */
.mobile-city{display:flex;align-items:center;gap:10px;margin:14px 20px;padding:12px 14px;background:rgba(68,136,130,.12);border:1px solid rgba(68,136,130,.35);color:#fff;border-radius:14px;font-size:15px;text-decoration:none;}
.mobile-city span{flex:1;font-weight:500;}
.mobile-city small{color:var(--color-green);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}

/* Текущий город в блоке на главной */
.city-link.is-current{color:var(--color-green);font-weight:600;pointer-events:none;}
.city-link--all{color:var(--color-green);font-weight:600;}

/* Страница /map/ (шаблон citymap.php) */
#citymap{margin:30px 0 60px;}
.citymap-search{position:relative;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0 16px;margin-bottom:14px;max-width:560px;transition:.2s;}
.citymap-search:focus-within{border-color:var(--color-green);background:rgba(68,136,130,.08);}
.citymap-search svg{flex-shrink:0;color:rgba(255,255,255,.5);}
.citymap-search input{flex:1;background:transparent;border:none;padding:14px 0;color:#fff;font-size:16px;outline:none;}
.citymap-search input::placeholder{color:rgba(255,255,255,.35);}
.citymap-search button{background:transparent;border:none;color:rgba(255,255,255,.6);font-size:22px;cursor:pointer;padding:0 4px;line-height:1;}
.citymap-search button:hover{color:#fff;}
.citymap-count{color:rgba(255,255,255,.6);font-size:14px;margin-bottom:28px;}
.citymap-count span{color:#fff;font-weight:600;}
#cityNoResults{color:rgba(255,255,255,.6);padding:30px 0;}

.citymap-list{display:flex;flex-direction:column;gap:30px;}
.citymap-group{display:grid;grid-template-columns:60px 1fr;gap:20px;align-items:start;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08);}
.citymap-group h3{font-size:38px;font-weight:700;color:var(--color-green);margin:0;line-height:1;}
.citymap-group ul{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 18px;list-style:none;padding:0;margin:0;}
.citymap-group li{list-style:none;}
.citymap-group a{color:#fff;text-decoration:none;font-size:15px;transition:.2s;display:inline-block;padding:4px 0;}
.citymap-group a:hover{color:var(--color-green);}
.citymap-group a.current{color:var(--color-green);font-weight:600;}
@media (max-width: 991px){.citymap-group{grid-template-columns:50px 1fr;gap:14px;}.citymap-group h3{font-size:30px;}.citymap-group ul{grid-template-columns:repeat(3,1fr);}}
@media (max-width: 640px){.citymap-group{grid-template-columns:1fr;gap:10px;}.citymap-group ul{grid-template-columns:repeat(2,1fr);}}

/* ===== Reviews system — scoped #reviews-page + reusable .spk-* components ===== */
#reviews-page{padding:40px 0 20px;background:linear-gradient(180deg,rgba(68,136,130,.08) 0%,transparent 100%);}
#reviews-page .breadcrumbs{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:18px;}
#reviews-page .reviews-hero__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;}
#reviews-page h1{font-size:clamp(28px,3.2vw,44px);line-height:1.15;color:#fff;margin:0 0 18px;font-weight:700;}
#reviews-page h1 span{color:var(--color-green);}
#reviews-page .reviews-hero__desc{font-size:17px;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 28px;max-width:640px;}
#reviews-page .reviews-hero__bts{display:flex;gap:14px;flex-wrap:wrap;}
#reviews-page .reviews-hero__visual{display:flex;justify-content:center;}
#reviews-page .reviews-hero__visual svg{width:100%;max-width:380px;height:auto;}
@media(max-width:991px){#reviews-page .reviews-hero__grid{grid-template-columns:1fr;gap:24px;}#reviews-page .reviews-hero__visual{order:-1;max-width:300px;margin:0 auto;}}

.block.reviews-avg-section,.block.reviews-form-section,.block.reviews-filter-section,.block.reviews-list-section,.block.reviews-cta-section{padding:60px 0;}
.block.reviews-form-section,.block.reviews-cta-section{background:rgba(68,136,130,.05);}
.block.reviews-filter-section h2,.block.reviews-list-section h2,.block.reviews-form-section h2,.block.reviews-cta-section h2{font-size:clamp(24px,2.4vw,34px);font-weight:700;color:#fff;margin:0 0 14px;}
.block.reviews-filter-section h2 span,.block.reviews-form-section h2 span,.block.reviews-cta-section h2 span{color:var(--color-green);}
.reviews-subtitle{font-size:15px;color:rgba(255,255,255,.7);margin:0 0 28px;max-width:640px;}

/* ===== Базовые кнопки .btn (DRY-компонент для проекта) ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:14px 28px;border-radius:14px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:.2s ease;border:none;outline:none;white-space:nowrap;}
.btn--primary{background:var(--color-green);color:#fff;}
.btn--primary:hover{background:#366f6a;color:#fff;transform:translateY(-1px);}
.btn--ghost{background:transparent;border:1px solid var(--color-green);color:var(--color-green);}
.btn--ghost:hover{background:var(--color-green);color:#fff;}

/* ===== Средний рейтинг ===== */
.spk-rating-block{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;background:#36393B;border-radius:20px;padding:32px;border:1px solid rgba(68,136,130,.25);}
.spk-rating-block__left{text-align:center;padding-right:30px;border-right:1px solid rgba(255,255,255,.08);}
.spk-rating-block__number{font-size:56px;font-weight:700;line-height:1;color:var(--color-green);}
.spk-rating-block__stars{display:flex;gap:4px;margin:10px 0;justify-content:center;}
.spk-rating-block__count{font-size:14px;color:rgba(255,255,255,.65);}
.spk-rating-block__bars{display:flex;flex-direction:column;gap:8px;}
.spk-rating-bar{display:grid;grid-template-columns:40px 1fr 30px;gap:12px;align-items:center;font-size:14px;color:rgba(255,255,255,.8);}
.spk-rating-bar__label{display:inline-flex;align-items:center;gap:4px;color:rgba(255,255,255,.85);}
.spk-rating-bar__track{height:8px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;}
.spk-rating-bar__fill{height:100%;background:var(--color-green);border-radius:4px;transition:width .4s ease;}
.spk-rating-bar__num{text-align:right;color:rgba(255,255,255,.55);}
@media(max-width:640px){.spk-rating-block{grid-template-columns:1fr;gap:24px;padding:24px;}.spk-rating-block__left{padding:0 0 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);}}

/* ===== Форма отзыва ===== */
.reviews_form{background:#36393B;border-radius:20px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border:1px solid rgba(255,255,255,.06);}
.reviews_form>div{display:flex;flex-direction:column;gap:6px;}
.reviews_form .content,.reviews_form .rating,.reviews_form .upload,.reviews_form .review-consent{grid-column:1/-1;}
.reviews_form label,.reviews_form .rating-label{font-size:14px;color:rgba(255,255,255,.85);font-weight:500;display:block;}
.reviews_form label span,.reviews_form .rating-label span{color:#ff7b7b;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.reviews_form .text{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#1E1E1E;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .2s ease,background .2s ease;resize:none;}
.reviews_form .text:focus{border-color:var(--color-green);background:#252525;}
.reviews_form .text::placeholder{color:rgba(255,255,255,.35);}
.reviews_form textarea.text{min-height:130px;}
.reviews_form select.text{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff88' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer;}
.reviews_form .stars{display:flex;gap:6px;flex-direction:row-reverse;justify-content:flex-end;border:none;padding:0;margin:0;}
.reviews_form .stars input{display:none;}
.reviews_form .stars label{cursor:pointer;padding:0;margin:0;}
.reviews_form .stars label svg{width:32px;height:32px;fill:rgba(255,255,255,.2);transition:.15s ease;}
.reviews_form .stars label:hover svg,.reviews_form .stars label:hover ~ label svg,.reviews_form .stars input:checked ~ label svg{fill:var(--color-green);}
.reviews_form .button{background:var(--color-green);color:#fff;border:none;padding:14px 32px;border-radius:14px;font-weight:600;font-size:15px;cursor:pointer;transition:.2s ease;justify-self:start;grid-column:1/-1;width:auto;}
.reviews_form .button:hover:not(:disabled){background:#366f6a;}
.reviews_form .button:disabled{opacity:.45;cursor:not-allowed;}
.reviews_mes{padding:14px 18px;border-radius:12px;margin-bottom:18px;font-size:14px;}
.reviews_mes.success{background:rgba(68,136,130,.15);color:var(--color-green);border:1px solid rgba(68,136,130,.35);}
.reviews_mes.bad{background:rgba(255,123,123,.12);color:#ffb3b3;border:1px solid rgba(255,123,123,.3);}
@media(max-width:640px){.reviews_form{grid-template-columns:1fr;padding:24px;}}
.reviews_form .review-consent input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none;}
.reviews_form .review-consent .review-consent__box{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:1px;border:2px solid rgba(255,255,255,.35);border-radius:5px;background:transparent;color:inherit;font-size:0;transition:.2s ease;box-sizing:border-box;}
.reviews_form .review-consent:hover .review-consent__box{border-color:rgba(255,255,255,.6);}
.reviews_form .review-consent input:checked ~ .review-consent__box{background:var(--color-green);border-color:var(--color-green);}
.reviews_form .review-consent input:checked ~ .review-consent__box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.reviews_form .review-consent input:focus-visible ~ .review-consent__box{outline:2px solid var(--color-green);outline-offset:2px;}
.reviews_form .review-consent .review-consent__text{flex:1;color:rgba(255,255,255,.72);font-size:13px;font-weight:400;}
.reviews_form .review-consent a{color:var(--color-green);text-decoration:underline;text-underline-offset:3px;transition:.2s;}
.reviews_form .review-consent a:hover{color:#5aa59e;}

/* ===== File uploader ===== */
.file-uploader{border:2px dashed rgba(68,136,130,.4);border-radius:14px;padding:10px;background:rgba(68,136,130,.04);transition:.2s ease;}
.file-uploader:hover,.file-uploader.is-dragover{border-color:var(--color-green);background:rgba(68,136,130,.1);}
.upload-area{display:flex;align-items:center;gap:18px;padding:16px;cursor:pointer;}
.upload-area .file-input{display:none;}
.upload-icon{color:var(--color-green);flex-shrink:0;}
.upload-text p{margin:0;color:rgba(255,255,255,.85);font-size:14px;}
.upload-text strong{color:#fff;}
.upload-text .upload-hint{font-size:12px;color:rgba(255,255,255,.5);margin-top:2px;}
.files-preview{display:flex;flex-wrap:wrap;gap:12px;padding:0;}
.files-preview:empty{display:none;}
.files-preview.active{padding:16px;}
.file-item{position:relative;display:flex;align-items:center;gap:14px;background:#1E1E1E;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:10px 14px 10px 10px;min-width:240px;max-width:100%;}
.file-item img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0;display:block;background:#2a2a2a;}
.file-item .file-info{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:22px;}
.file-item .file-name{font-size:13px;color:#fff;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-item .file-size{font-size:12px;color:rgba(255,255,255,.5);}
.file-item .remove-file{position:absolute;top:6px;right:6px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;line-height:1;padding:0;transition:.2s ease;z-index:2;}
.file-item .remove-file:hover{background:#ff7b7b;transform:scale(1.08);}

/* ===== Фильтр по услугам ===== */
.spk-reviews-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0;}
.spk-reviews-filter__item{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:30px;background:#36393B;color:rgba(255,255,255,.8);text-decoration:none;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.08);transition:.2s ease;}
.spk-reviews-filter__item:hover{border-color:var(--color-green);color:#fff;}
.spk-reviews-filter__item.is-active{background:var(--color-green);color:#fff;border-color:var(--color-green);}
.spk-reviews-filter__item span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:rgba(0,0,0,.25);border-radius:20px;font-size:12px;font-weight:600;}
.spk-reviews-filter__item.is-active span{background:rgba(255,255,255,.2);}

/* ===== Карточка отзыва ===== */
.spk-reviews-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:768px){.spk-reviews-list{grid-template-columns:1fr;}}
.spk-review-card{background:#36393B;border-radius:18px;padding:24px;border:1px solid rgba(255,255,255,.06);transition:.2s ease;display:flex;flex-direction:column;gap:14px;}
.spk-review-card:hover{border-color:rgba(68,136,130,.3);}
.spk-review-card .review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.spk-review-card .review-author .name{font-weight:600;color:#fff;font-size:16px;}
.spk-review-card .review-author .time{font-size:13px;color:rgba(255,255,255,.5);margin-top:2px;}
.spk-review-card .stars{display:inline-flex;gap:2px;}
.spk-review-card .stars .spk-star-icon{width:16px;height:16px;}
.spk-review-card .review-service{display:inline-flex;align-self:flex-start;padding:4px 12px;background:rgba(68,136,130,.15);color:var(--color-green);border-radius:20px;font-size:12px;font-weight:500;text-decoration:none;transition:.2s ease;}
.spk-review-card .review-source{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:-6px;padding:4px 12px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border-radius:20px;font-size:12px;text-decoration:none;}
.spk-review-card .review-source::before{content:'';width:8px;height:8px;border-radius:50%;background:#00aaff;}
.spk-review-card .review-source:hover{color:#fff;}
.spk-review-card .review-service:hover{background:var(--color-green);color:#fff;}
.spk-review-card .review-body{display:flex;flex-direction:column;gap:12px;}
.spk-review-card .review-photo{display:block;border-radius:12px;overflow:hidden;max-width:200px;}
.spk-review-card .review-photo img{width:100%;height:auto;display:block;transition:.3s ease;}
.spk-review-card .review-photo:hover img{transform:scale(1.04);}
.spk-review-card .text{font-size:15px;line-height:1.6;color:rgba(255,255,255,.8);white-space:pre-line;}
.spk-review-card .text--truncated{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.spk-review-card .text--truncated.is-expanded{-webkit-line-clamp:unset;display:block;}
.spk-review-card .review-expand{align-self:flex-start;background:none;border:none;color:var(--color-green);font-size:14px;font-weight:500;cursor:pointer;padding:0;margin-top:-4px;transition:.2s;}
.spk-review-card .review-expand:hover{color:#5aa59e;text-decoration:underline;}
.spk-reviews-empty{text-align:center;font-size:16px;color:rgba(255,255,255,.6);padding:40px 0;}

/* ===== Пагинация ===== */
.spk-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:36px;list-style:none;padding:0;}
.spk-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;}
.spk-pagination li{list-style:none;padding:0;margin:0;}
.spk-pagination li::before,.spk-pagination li::marker{content:none !important;display:none !important;}
.spk-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;background:#36393B;color:rgba(255,255,255,.8);text-decoration:none;font-size:14px;font-weight:500;border:1px solid rgba(255,255,255,.06);transition:.2s ease;}
.spk-pagination .page-numbers:hover{border-color:var(--color-green);color:#fff;}
.spk-pagination .page-numbers.current{background:var(--color-green);color:#fff;border-color:var(--color-green);}
.spk-pagination .page-numbers.dots{background:none;border:none;cursor:default;}

/* ===== CTA ===== */
.reviews-cta{text-align:center;max-width:780px;margin:0 auto;padding:40px 24px;background:#36393B;border-radius:24px;border:1px solid rgba(68,136,130,.2);}
.reviews-cta h2{margin:0 0 14px;}
.reviews-cta p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);margin:0 0 26px;}
.reviews-hero__bts.reviews-center{justify-content:center;}

@media (max-width: 768px) {

  #header-spk {
    position: sticky;
    top: 0;
    z-index: 9999;
	  background: #1E1E1E;
	  margin-bottom: -20px;
  }
	 #header-spk .divider{display: none;}
	.mobile-menu-phone {
  position: relative;
  display: inline-flex;
  padding: 12px 18px;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
}

.mobile-menu-phone span {
  position: absolute;
  display: block;
}

.mobile-menu-phone span:nth-child(1) {
  top: 0;
  left: -100%;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.7));
  animation: moveTop 2.2s linear infinite;
}

.mobile-menu-phone span:nth-child(2) {
  top: -100%;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,0.7));
  animation: moveRight 2.2s linear infinite;
  animation-delay: 0.55s;
}

.mobile-menu-phone span:nth-child(3) {
  bottom: 0;
  right: -100%;
  width: 100%;
  height: 2px;
  background: linear-gradient(270deg, transparent, rgba(255,255,255,0.7));
  animation: moveBottom 2.2s linear infinite;
  animation-delay: 1.1s;
}

.mobile-menu-phone span:nth-child(4) {
  bottom: -100%;
  left: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(360deg, transparent, rgba(255,255,255,0.7));
  animation: moveLeft 2.2s linear infinite;
  animation-delay: 1.65s;
}

@keyframes moveTop {
  0% { left: -100%; }
  50%,100% { left: 100%; }
}

@keyframes moveRight {
  0% { top: -100%; }
  50%,100% { top: 100%; }
}

@keyframes moveBottom {
  0% { right: -100%; }
  50%,100% { right: 100%; }
}

@keyframes moveLeft {
  0% { bottom: -100%; }
  50%,100% { bottom: 100%; }
}

}

.item-mobile {
    display: none;
}

@media (max-width: 768px) {

    .item-desktop {
        display: none;
    }

    .item-mobile {
        display: block;
    }
	#usl-catalog .title{
		margin-bottom: 5px;
	}
	#usl-catalog .buttons {
   margin-top: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 50%;
}
	#usl-catalog  a.soc.max {
    height: 32px;
}
	

}

.card-bottom {
    margin-top: auto;
}
#usl-catalog .item {
    display: flex;
    flex-direction: column;
}

#usl-catalog .table_content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#usl-catalog .price {
    margin-top: auto;
}

/* ===== Страница «Вопросы и ответы» (перенесено из faq.php 16.09.2026) ===== */
.faq-title-service { margin: 40px 0; }
.faq-body { display: none; }
.faq-item.active .faq-body { display: block; }

/* ===== Страница 404, штатные страницы и архивы ===== */
.page-404{padding:40px 0 80px;}
.page-404__text{max-width:640px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.8);margin:16px 0 28px;}
.page-404__links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:28px;}
.page-404__link{color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.18);transition:.2s;}
.page-404__link:hover{border-color:var(--color-green);color:var(--color-green);}
.page-404__phone{font-size:18px;color:rgba(255,255,255,.8);}
.page-404__phone a{color:#fff;font-weight:700;text-decoration:none;}
.page-content{max-width:860px;line-height:1.7;color:rgba(255,255,255,.85);padding-bottom:60px;}
.page-content h2,.page-content h3{color:#fff;margin:28px 0 12px;}
.page-content a{color:var(--color-green);}
.page-list{list-style:none;padding:0;margin:20px 0 60px;display:flex;flex-direction:column;gap:10px;}
.page-list a{color:#fff;font-size:18px;}

/* ===== Выпадающее меню «Септики под ключ» — 14 пунктов в две колонки (16.09.2026) ===== */
.nav-list .menu-item:hover > .sub-menu{display:grid;grid-template-columns:1fr;gap:2px;min-width:260px;}
.nav-list .sub-menu:has(> .menu-item:nth-child(8)){grid-template-columns:1fr 1fr;min-width:560px;}
.nav-list .sub-menu .menu-item a{white-space:nowrap;text-transform:none;font-size:14px;}
.nav-list .sub-menu .menu-item:not(:last-child){margin-bottom:0;}

/* Мобильная шапка и виджет мессенджеров — по фото клиента 20.09.2026: телефон ломался в столбик, виджет открыт поверх текста */
@media (max-width:991px){#header-spk .header-top{margin-top:0;padding:12px 0;gap:10px;}#header-spk .mobile-menu-phone{white-space:nowrap;font-size:14px;padding:8px 10px;}}
@media (max-width:640px){
#header-spk .mobile-menu-phone{font-size:0;width:40px;height:40px;padding:0;border-radius:50%;flex:0 0 40px;background:var(--color-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/20px no-repeat;}
#header-spk .mobile-menu-phone span{display:none;}
#header-spk .header-top{padding:10px 0;gap:8px;}
#header-spk .logo-group{min-width:0;flex:1 1 auto;gap:8px;}
#header-spk .logo img{height:28px;width:auto;}
#header-spk .city-select{min-width:0;}
#header-spk .city-select__btn{padding:7px 10px;font-size:13px;max-width:100%;}
#header-spk .city-select__btn span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;}
#header-spk .burger{flex:0 0 25px;}
.plashka{display:inline-block;white-space:normal;line-height:1.35;font-size:13px;}
}
