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

@font-face {
    font-family: 'Lab Grotesque';
	src: url('fonts/LabGrotesque-Regular.woff2') format('woff2'),
    url('fonts/LabGrotesque-Regular.woff') format('woff'),
    url('fonts/LabGrotesque-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
	font-display: block;
}

@font-face {
    font-family: 'Ruberoid';
    src: url('fonts/Ruberoid-Medium.woff2') format('woff2'),
    url('fonts/Ruberoid-Medium.woff') format('woff'),
    url('fonts/Ruberoid-Medium.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
	font-display: block;
}

/* iPhone 5 */
@media (max-width: 321px){
	.modal .modal-dialog {width: 100%;padding: 60px 10px 10px 10px!important;}
	.modal .modal-dialog .button{width: 100%;padding: 20px!important;}
	h1{font-size: 25px!important;}
	#ban h2{font-size: 25px!important;}
	h3{font-size: 18px!important;}
	.form3 .button{white-space: pre-wrap;}
}
/* iPad */
 @media (min-width: 768px){
	 .container {max-width: 720px;}
	 .col-pl-2{grid-template-columns: repeat(2, 1fr);}
	 .col-pl-3{grid-template-columns: repeat(3, 1fr);}
	 
}
/* Все что меньше 921 + iPad вертикальный */
@media (max-width: 1024px) {
	.modal .modal-dialog{width: 100%;padding: 60px 20px 20px 20px;}
	.block{padding: 40px 0px;}
	h1{font-size: 30px;}
	h2{font-size: 30px!important;}

	.button{display: block!important;width: 100%;}
	.grid{gap: 20px;}
	.col-m-2{grid-template-columns: repeat(2, 1fr);}
	.o1{order: 1;}
	.o2{order: 2;}
	.lmodal{background-color: white!important;}
	.block h2{text-align: center;}
	.gbg{padding-bottom: 60px}
	
	#mobile .container{display: grid;grid-auto-flow: column;align-items: center;justify-content: space-between;padding-top: 15px;padding-bottom: 15px;}
	#header{display: none!important;}
	
	#mmenu{padding: 0px!important;-webkit-overflow-scrolling: touch;background-color: white;border-radius: 0px;}
	#mmenu .modal-dialog {height: 100%;margin: 0;}
	#mmenu .modal-content {height: 100%;width: 100vw;border-radius: 0;}
	#mmenu .close{opacity: 1;}
	
	#mmenu .cont{font-size: 18px;display: grid;gap: 8px;margin-bottom: 40px;}
	#mmenu .cont span{display: block;}
	#mmenu .cont .phone{display: block;font-weight: bold;font-size: 20px;}
	#mmenu .cont .time{color: gray;font-size: 15px;}
	#mmenu .cont .mail{color: var(--hovercolor);}
	#mmenu .cont .ad{font-size: 15px;}
	#mmenu .cont .cbutton{margin-top: 20px;display: block;}
	
	#mmenu .nav{display: inline-block;width: 100%;padding-top: 20px;list-style: none;margin-bottom: 20px;}
	#mmenu .nav>ul{padding: 0px;}
	#mmenu .nav>li{border-bottom: 1px solid #F8F8F8;padding: 10px 0px;list-style: none;}
	#mmenu .nav>li>a{text-transform: uppercase;font-weight: 500;}
	
	#mmenu .nav .sub-menu{padding-top: 10px;}
	#mmenu .nav .sub-menu>li{padding: 10px 0px;list-style: none;}
	
	#mmenu .nav ul.hide {display: none!important;}
	#mmenu .nav .menu-item-has-children {position: relative;}
	#mmenu .nav span.menu-closed:after {content: "";width: 50px;max-height: 50px;position: absolute;right: 0;top: 6px;bottom: 6px;background-image: url('images/marrow.svg');background-size: 12px 7px;background-position: center;background-repeat: no-repeat;transform-origin: center;transform: rotate(-90deg);-webkit-transition: transform 0.4s cubic-bezier(0, 0.5, 0.5, 1), opacity 0.3s cubic-bezier(0, 0.5, 0.5, 1);transition: transform 0.4s cubic-bezier(0, 0.5, 0.5, 1), opacity 0.3s cubic-bezier(0, 0.5, 0.5, 1);}
	#mmenu .nav span.menu-closed:before {content: "";position: absolute;right: 50px;top: 6px;bottom: 6px;border-left: 1px solid #F8F8F8;}
	#mmenu .nav span.menu-closed.menu-open:after{transform: rotate(0deg);opacity: 0.3;}
	#mmenu .nav span.menu-closed.menu-open:before{opacity: 0;}
	
	#banner{padding: 0px;}
	#banner .in, #price .grid{gap: 0px!important;}
	#banner .buttons .wa{padding: 15px 40px;width: 100%!important;}
	#banner h1{text-align: center;}
	#banner .bts{display: grid;}
	#banner img{width: 100%;}
	#premprice .grid h3{font-size: 23px;}
	#premprice .grid>div:last-child, #prem .grid>div:last-child{grid-column: span 2;}
	#tabs .tabs, #banner .text{padding: 20px!important;}
	#tabs .panel img{border-bottom-left-radius: 100px;}
	#usl .item{text-align: center;}
	#ogolovki .item .price{font-size: 18px!important;}
	#price .nav{flex-direction: row!important;flex-wrap: wrap;justify-content: center;}
	#price .nav .nav-link{width: auto!important;padding: 15px!important;}
	#price .tab-content{display: block;width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;}
	#price .table{box-shadow: none!important;}
	#price td, #price th{min-width: 200px;}
	/*#text2 .imgleft{display: none;}*/
	#prem{text-align: center;}
	#lic .owl-nav, #vid .owl-nav, #rews .owl-nav, #gallary .owl-nav{justify-content: center;margin-top: 10px;}
	#ban .text{padding: 20px;}
	#ban .bts{display: grid;}
	#ban .bts a{width: 100%;}
	#accordion .card{padding: 20px!important;font-size: 16px!important;}

	#map .pr{text-align: center;font-size: 30px!important;line-height: 35px;}
	#map .pr .m-s-2{grid-column: span 2;}
	#map .pr .num{font-size: 70px!important;line-height: 70px!important;}
	
	#footer{text-align: center;}
}

@media (min-width: 1025px) {
	#mobile{display: none!important;}
	h1{font-size:60px;margin-bottom: 20px;}
	.container {max-width: 960px;}
	.modal .modal-dialog{max-width: 500px;padding: 40px;position: absolute;right: 0;height: 100%;margin: 0;}
	.block{padding-bottom: 60px;}
	.block h2{font-size: 40px;}
	.grid{gap: 30px;}
	.col-pc-2{grid-template-columns: repeat(2, 1fr);}
	.col-pc-3{grid-template-columns: repeat(3, 1fr);}
	.col-pc-4{grid-template-columns: repeat(4, 1fr);}
	.col-pc-5{grid-template-columns: repeat(5, 1fr);}
	.col-pc-6{grid-template-columns: repeat(6, 1fr);}
	
	.col-pc-1-2{grid-template-columns: 1fr 2fr;}
	.col-pc-2-1{grid-template-columns: 2fr 1fr;}
	.col-pc-05-2{grid-template-columns: 0.5fr 2fr;}
	.col-pc-2-05{grid-template-columns: 2fr 0.5fr;}
	.span2{grid-column: span 2;}
	
	.bgp{padding-top: 60px;margin-bottom: 60px;}

	#header .head .logo .text,#header .menu .vop{display: none!important;}
	#header .menu .nav{gap: 5px;font-size: 15px;}

	#text1 .text{max-width: 70%;}
	
	#banner .in{border-bottom-left-radius: 100px;border-top-right-radius: 100px;font-size: 18px;}
	#banner .in .img-fluid{border-top-right-radius: 100px;}
	#banner h1{font-size: 45px;}
	#banner .bts{display: flex;align-items: center;}
	
	#textrepeat .grid:nth-child(2n) .img{grid-column: 1;grid-row: 1;}
	#ban .text{padding: 50px;max-width: 50%;}
	#ban .bts{margin-top: 20px;display: flex;align-items: center;gap: 10px;}
	#vid .item{grid-template-columns: 1fr 1fr;}
	
	#lic .owl-nav, #vid .owl-nav, #rews .owl-nav, #gallary .owl-nav{position: absolute;top: -70px;right: 0;}

	
	#footer #menu-nashi-uslugi{display: grid;grid-template-columns: 1fr 1fr;}
	
}

@media (min-width: 1200px) {
	.container{max-width: 1300px;}
	#header .head .logo .text{display: block!important;}
	#header .menu .vop{display: flex!important;}
	#header .menu{display: flex;align-items: center;justify-content: space-between;gap: 10px;}
	#header .menu .nav{gap: 15px;font-size: 16px;}
	

} 


:root {
    --hovercolor: #d33434;
	--fonttitle: Ruberoid, Arial, Helvetica, sans-serif;
}


*, ::after, ::before {box-sizing: border-box;}
.container{width: 100%;padding-right: 15px;padding-left: 15px;margin-right: auto;margin-left: auto;}
body {margin: 0;line-height: 1.5;font-family: 'Lab Grotesque',Arial,Helvetica,sans-serif!important;color: #161631;background-color: white;}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {display: block;}
a{color: black;text-decoration: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);outline: none;}
img, svg{vertical-align: middle;}
label {display: inline-block;margin-bottom: .5rem;}
button, input, optgroup, select, textarea {margin: 0;font-family: inherit;font-size: inherit;line-height: inherit;-webkit-appearance: none;appearance: none;background-color: white;}
button:active, button:focus {outline: none;} /* Убираем обводку у кнопок */
button::-moz-focus-inner {border: 0;}
p {margin-top: 0;}
h1, h2, h3, h4, h5, h6 {margin-top: 0;font-weight: 500;line-height: 1.2;font-family: var(--fonttitle);}

h2{font-size:32px;margin-bottom: 15px;}
h3{font-size: 26px;margin-bottom: 15px;}
h2 span{color: var(--hovercolor);}

/* Кнопка вверх */
.btn-back-top{position:fixed;bottom:15px;right:15px;display:flex;align-items:center;justify-content:center;width:45px;height:45px;background-color:black;color:#fff;border-radius:2px;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(20px);transition:all 0.3s ease;z-index:1000;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn-back-top:hover{opacity:1!important;transform:translateY(0);color:white!important}
.btn-back-top.visible{opacity:0.8;visibility:visible;transform:translateY(0)}
@media(max-width:768px){.btn-back-top{width:40px;height:40px;bottom:10px;left:10px}}

/* Виджет мессенджеров */
.msg-widget{position:fixed;right:60px;bottom:60px;z-index:9999;}
.msg-toggle{width:56px;height:56px;border-radius:50%;border:0;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(102,126,234,.4);transition:transform .3s;position:relative;}
.msg-toggle:before,.msg-toggle:after{content:"";display:block;position:absolute;border:1px solid #667eea;left:-20px;right:-20px;top:-20px;bottom:-20px;border-radius:50%;animation:msg-pulse 1.5s linear infinite;opacity:0;backface-visibility:hidden;}
.msg-toggle:after{animation-delay:.5s;}
@keyframes msg-pulse{0%{transform:scale(0.5);opacity:0;}50%{opacity:1;}100%{transform:scale(1.2);opacity:0;}}
.msg-toggle:hover{transform:scale(1.05);}
.msg-toggle .msg-close{display:none;}
.msg-widget.active .msg-toggle svg:first-child{display:none;}
.msg-widget.active .msg-toggle .msg-close{display:block;}
.msg-list{position:absolute;bottom:65px;right:0;display:flex;flex-direction:column;gap:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s;}
.msg-widget.active .msg-list{opacity:1;visibility:visible;transform:translateY(0);}
.msg-item{display:block;transition:transform .3s;}
.msg-item:hover{transform:scale(1.1);}
.msg-item img{display:block;border-radius:50%;}
.msg-phone{width:55px;height:55px;border-radius:50%;background:#ff6b6b;display:flex;align-items:center;justify-content:center;}
.msg-email{width:55px;height:55px;border-radius:50%;background:#2196F3;display:flex;align-items:center;justify-content:center;}
@media(max-width:768px){.msg-widget{right:15px;bottom:15px;}.msg-toggle{width:50px;height:50px;}.msg-item img,.msg-phone,.msg-email{width:48px;height:48px;}.msg-list{bottom:58px;}}

/* Дата для мобильного */
input[type="date"]:before {color: lightgrey;content: attr(placeholder) !important;margin-right: 0.5em;} 
input[type="date"]:focus:before {content: '' !important;}

.img-fluid {max-width: 100%;height: auto;}
.aligncenter{display: block;margin: 5px auto 5px auto;}
.alignright{float:right;padding-left: 10px;padding-bottom: 10px;}
.table {width: 100%;margin-bottom: 1rem;border-collapse: collapse;}
.table td, .table th {padding: .75rem;vertical-align: top;border-top: 1px solid #dee2e6;}
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}
.p404{text-align: center;padding: 50px 0px;}
.grid{display: grid;}
.ac{align-items: center;}
.citylist .grid {gap: 3px;}

.ntf{background-color: #f32c11;color: white;padding: 10px;}
.ntf .but{color: white;font-weight: bold;}
.ntf .ntf-close{color: white;text-decoration: none;font-size: 35px;line-height: 20px;-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
.ntf .container{display: flex;gap: 15px;justify-content: space-between;align-items: center;}


/* Табы */
.nav {display: flex;padding: 0;margin: 0;list-style: none;outline: none;}
.nav-link:focus, .nav-link:hover {text-decoration: none;}
.nav-link {display: block;}
.tab-content>.tab-pane {display: none;}
.tab-content>.active {display: block;}
.fade {transition: opacity .15s linear;}
.fade:not(.show) {opacity: 0;}
/* Пролистывание на мобильном */
.scroll{flex-wrap: nowrap;overflow-x: auto;-webkit-overflow-scrolling: touch;white-space: nowrap;}
.scroll::-webkit-scrollbar {height: 2px;-webkit-appearance: none;appearance: none;}
.scroll::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);}
.scroll::-webkit-scrollbar-thumb {background: #fd5354;}

/* Гармошка */
.collapse:not(.show) {display: none;}
.collapsing {position: relative;height: 0;overflow: hidden;transition: height .35s ease;}

/* Модальное */
.modal {position: fixed;top: 0;left: 0;z-index: 1050;display: none;width: 100%;height: 100%;overflow: hidden;outline: 0;background-color: #00000060;}
.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;}
.modal .modal-dialog{background-color: white;}
.modal .close{cursor: pointer;position: absolute;top: 20px;right: 20px;}
.modal .grid{gap: 20px;}
.modal .title{font-size: 45px;line-height: 55px;font-weight: bold;}
.modal .text{color: #545560;font-size: 20px;line-height: 35px;}

/* Анимация при наведении на картинку */
.box {overflow:hidden;border-bottom-left-radius: 15px;border-top-right-radius: 15px;}
.box img {-moz-transition: all 0.25s ease-out;-o-transition: all 0.25s ease-out;-webkit-transition: all 0.25s ease-out;transition: all 0.25s ease-out;}
.box img:hover{-webkit-transform: scale(1.1);-moz-transform: scale(1.05);-o-transform: scale(1.05);transform: scale(1.05);}

/* Хлебные */
.rank-math-breadcrumb {color: black;font-size: 14px;padding-bottom: 10px;}
.rank-math-breadcrumb a{color: #7F7F7F;border-bottom: 1px solid;}


/* Форма связи */
.wpcf7{position: relative;}
.wpcf7 .wpcf7-form{display: grid;gap: 20px;}
.wpcf7 .wpcf7-not-valid-tip, .wpcf7 .screen-reader-response, .wpcf7 .wpcf7-form .ajax-loader, .wpcf7 .wpcf7-form .wpcf7-response-output, .wpcf7 .hidden-fields-container{display: none;}
.wpcf7 .wpcf7-form-control.wpcf7-not-valid{border-bottom: 1px solid red!important;}
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output{display: block;font-size: 14px;color: red;font-weight: 500;}
.wpcf7 .wpcf7-form.sent .wpcf7-response-output{display: block;font-size: 14px;color: green;font-weight: 500;border: 2px solid green;padding: 10px;text-align: center;background-color: #00800005;}
.wpcf7 .wpcf7-text, .wpcf7 .wpcf7-mask, .wpcf7 .wpcf7-textarea{border: none;border-bottom: 1px solid #54556020;padding: 10px 0px;width: 100%;}
.wpcf7 .wpcf7-form.submitting .wpcf7-spinner {display: block;background-image: url(images/ajax-loader.gif);width: 24px;height: 24px;position: absolute;bottom: -25px;}
.wpcf7 .poly{color: gray;font-size: 14px;}
.wpcf7 .wpcf7-spinner{position: absolute;}
.wpcf7 .codedropz-upload-inner h3, .wpcf7 .codedropz-upload-inner span{display: none;}
.wpcf7 .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn{color: black;}
.dnd-icon-blank-file:before{color: white;}
.wpcf7 .acc input{-webkit-appearance: auto;}


/* Другое  */
.block h2{margin-bottom: 40px;}
.ppage{min-height: 500px;padding-top: 20px;padding-bottom: 20px;}
.phone{white-space: nowrap;}
.lmodal .modal-dialog{display: flex;align-items: center;}

/* Кнопка */
.button{display: inline-flex;align-items:center;justify-content:center;gap: 10px;cursor: pointer;text-align: center;border: 1px solid black;border-radius: 8px;padding: 10px 25px;white-space: nowrap;}
.button svg{flex:0 0 auto;}
.button:hover{background-color: black;color: white;}
.button:disabled{background-color: #cccccc!important;cursor: default;}

.cbutton{display: inline-flex;align-items: center;justify-content: center;gap: 10px;cursor: pointer;text-align: center;background: var(--hovercolor);color: white;border: none;border-radius: 8px;padding: 15px 40px;}
.cbutton svg{flex:0 0 auto;}
.cbutton:hover{background-color: black;color: white;}
.cbutton:disabled{background-color: #cccccc!important;cursor: default;}

/* Анимация */
a, #catalog .item img,  .owl-nav button path, .cbutton, .ezfc-btn{-webkit-transition: all 0.25s ease-out;transition: all 0.25s ease-out;text-decoration: none;}
/*HOVER*/
a:hover, #footer a:hover{color: var(--hovercolor);}


.flex-space{display: flex;align-items: center;justify-content: space-between;gap: 20px;}

/* Ð¡Ð»Ð°Ð¹Ð´ÐµÑ€ */
.owl-nav .disabled{display: none;}
.owl-nav .owl-prev{left: 10px;}
.owl-nav .owl-next{right: 10px;}
.owl-nav button path{opacity: 0.5;}
.owl-nav button:hover path{opacity: 1;}
.owl-dots{display: flex;justify-content: center;width: 100%;margin-top: 20px;}
.owl-dots .owl-dot span {width: 15px;height: 15px;margin: 0px 5px;background: #f9f9f9;display: block;-webkit-backface-visibility: visible;backface-visibility: visible;border-radius: 30px;}
.owl-dots .owl-dot.active span, .owl-dots .owl-dot:hover span {background: black;}


.kolocalc .thumbnails .thumbnail img{mix-blend-mode: darken;}

#header{padding: 20px 0px;}
#header .head .logo .log{position: relative;}
#header .head .logo .text{color: #00000090;font-size: 14px;line-height: 16px;max-width: 200px;}
#header .head .logo .text span{color: var(--hovercolor);}
#header .head .logo .city{position: absolute;top: 44px;right: 0;font-size: 11px;font-weight: 600;max-width: 220px;overflow: hidden;text-transform: uppercase;width: 100%;text-align: right;direction: rtl;text-overflow: ellipsis;white-space: nowrap;color:#4b4b4b;}
#header .head .nav{gap: 20px;white-space: nowrap;}
#header .head .cont{text-align: right;}
#header .head .ph{display: flex;gap: 10px;}
#header .head .ph .pmes{display: flex;gap: 3px;}
#header .head .phone{font-size: 18px;font-family: var(--fonttitle);}
#header .menu{padding-top: 20px;}
#header .menu .vop{display: flex;align-items: center;gap: 10px;text-transform: uppercase;font-weight: bold;font-size: 14px;}
#header .menu .nav{white-space: nowrap;font-family: var(--fonttitle);justify-content: space-between;}
#header .menu .current-menu-item > a, #header .menu .current-menu-parent > a{color: var(--hovercolor);}
#header .menu .menu-item-has-children:after{content: url(images/arr.svg);margin-left: 1px;position: relative;top: -2px;}
#header .menu .menu-item-has-children:hover .sub-menu{display: block;}
#header .menu .sub-menu{display: none;position: absolute;background: white;box-shadow: 0 10px 29px 0 rgba(0,0,0,.05);padding: 10px 0px;list-style: none;z-index: 10;}
#header .menu .sub-menu li{padding: 5px 20px;}
#header .menu .sub-menu a{text-transform: none;}

.time{font-size: 14px;color:gray;}
.mt20{margin-top: 20px;}

#banner .in{background: #f9f9f9;gap: 40px;}
#banner .text{padding-left: 60px;}
#banner .btext{margin: 30px 0px;}
#banner .btext span{color: var(--hovercolor);font-weight: bold;}
#banner .bts{gap: 10px;}
#banner .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding: 15px 40px;border: none;background: black;color: white;}
#banner .button svg{flex:0 0 auto;}
#banner .button:hover{background: var(--hovercolor);}

/* #premprice — карточки с тенью + hover */
#premprice .grid > div{position:relative;background:#fff;border:1px solid #f1f5f9;border-radius:var(--kp-radius-md,14px);padding:28px 24px;box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
#premprice .grid > div:hover{transform:translateY(-4px);box-shadow:var(--kp-shadow-tint,0 12px 28px rgba(211,52,52,.15));border-color:rgba(211,52,52,.2);}
#premprice .grid h3{font-size:22px;margin-top:14px;margin-bottom:8px;}
#premprice .grid .img{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:14px;background:rgba(211,52,52,.08);}
#premprice .grid .img img{position:relative;z-index:1;}
#premprice .grid .img .glow{display:none;}
#premprice .grid .line{display:none;}

#text1{font-size: 18px;background: #f9f9f9;}
#text1 svg{display: flex;justify-self: center;}
#text1 .prem{margin-top: 40px;font-family: var(--fonttitle);font-size: 16px;text-align: center;}
#text1 .prem img{display: block;padding-bottom: 10px;margin: 0px auto;}

/* #tabs — табы услуг */
#tabs .text{font-size:18px;}
#tabs .panel{background:#f9f9f9;border-radius:var(--kp-radius-lg,20px);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));font-size:18px;gap:40px;}
#tabs .panel img{border-radius:var(--kp-radius-md,14px);}
#tabs .panel h3{text-transform:uppercase;}
#tabs .tabs{padding-left:60px;display:grid;}
#tabs .tabs .nav{flex-wrap:wrap;gap:10px;font-size:15px;}
#tabs .tabs .nav a{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:15px 30px;transition:background .2s ease,color .2s ease,transform .15s ease;}
#tabs .tabs .nav a:hover{transform:translateY(-1px);}
#tabs .tabs .nav a.active,#tabs .tabs .nav a:hover{background:#d33434;color:#fff;}

/* #usl — карточки услуг на главной */
#usl .grid{gap:10px;}
#usl .item{border:1px solid #E4E4E4;background:#fff;border-radius:var(--kp-radius-md,14px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
#usl .item:hover{transform:translateY(-3px);border-color:rgba(211,52,52,.25);box-shadow:var(--kp-shadow-tint,0 12px 28px rgba(211,52,52,.15));}
#usl .item img{border-radius:var(--kp-radius-md,14px) var(--kp-radius-md,14px) 0 0;width:100%;height:auto;}
#usl .item h3{font-size:18px;font-weight:700;padding:14px 18px 18px;margin:0;}

/* #catalog — карточки услуг (общий блок, было разнесено в 2 места — объединено) */
#catalog{background:#f9f9f9;padding-top:60px;}
#catalog .item{transition:transform .25s ease;}
#catalog .item:hover{transform:translateY(-3px);}
#catalog .item .img{position:relative;}
#catalog .item img{border-radius:var(--kp-radius-md,14px);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));}
#catalog .item a:hover img{box-shadow:var(--kp-shadow-tint,0 12px 28px rgba(211,52,52,.15));}
#catalog .item .more{background:#d33434;color:#fff;padding:10px 15px;font-size:13px;display:inline-block;position:absolute;bottom:0;left:0;text-transform:uppercase;border-bottom-left-radius:15px;}
#catalog .item h3{font-size:19px;font-weight:700;margin-top:14px;}
#catalog .item ul{padding-left:10px;font-size:14px;color:#464646;}
#catalog .item .price1{font-size:20px;color:var(--hovercolor);margin-bottom:10px;font-weight:bold;}
#catalog .item span{display:block;font-size:14px;font-weight:normal;text-transform:uppercase;}
#catalog .item .price2{font-size:20px;color:#464646;margin-bottom:10px;font-weight:bold;}

/* #ogolovki — стартовые карточки видов работ */
#ogolovki{padding-top:60px;}
#ogolovki .item{border-radius:var(--kp-radius-md,14px);overflow:hidden;background:#fff;box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));transition:transform .25s ease,box-shadow .25s ease;}
#ogolovki .item:hover{transform:translateY(-3px);box-shadow:var(--kp-shadow-tint,0 12px 28px rgba(211,52,52,.15));}
#ogolovki .item img{border-radius:0;width:100%;}
#ogolovki .item h3{font-size:16px;background:#d33434;text-align:center;color:white;padding:10px;margin:0;border-radius:0;}

#price{font-weight: 500;padding-bottom: 0px;}
#price .nav{display: inline-flex;flex-direction: column;gap: 5px;align-items: start;}
#price .nav .nav-link{padding: 15px 30px;width: 100%;border-bottom-left-radius: 15px;border-top-right-radius: 15px;}
#price .nav .nav-link.active{background: #f9f9f9;}
#price .table{box-shadow: 0px 0px 40px rgba(101, 106, 116, 0.05);border-radius: 24px;padding: 20px;}
#price table{width: 100%;border-collapse: separate;border-spacing: 0 6px}
#price th{border: none;padding: 0px 10px 9px 10px;vertical-align: top;text-align: left;text-transform: uppercase;font-size: 12px;color: #656A74;letter-spacing: 0.12em;font-weight: 400;}
#price td{border: none;padding: 15px 10px;vertical-align: top;background: #f9f9f9;}
#price td:first-child{border-top-left-radius: 14px;border-bottom-left-radius: 14px;}
#price td:last-child{border-top-right-radius: 14px;border-bottom-right-radius: 14px;}

.form3{background: var(--hovercolor);color: white;padding: 30px 40px;margin: 40px 0px;align-items: center;border-bottom-left-radius: 25px;border-top-right-radius: 25px;}
.form3 h2{font-size: 35px;margin-bottom: 0px;}
.form3 .text{border-left: 1px solid white;padding-left: 30px;}
.form3 .soc{margin-top: 10px;display: flex;gap: 10px;}
.form3 .button{background: black;color: white;place-self: center;}

#text2{padding-bottom: 0px;}
#text2 .imgs{margin-bottom: 40px;}
#text2 .item{border-bottom: 1px solid #E4E4E4;padding-bottom: 30px;margin-bottom: 30px;font-size: 18px;}
#text2 .total{display: flex;align-items: center;gap: 10px;font-size: 18px;;line-height: 18px;margin-top: 10px;}
#text2 .total .num{color: var(--hovercolor);font-size: 20px;max-width: 50%;line-height: 22px;}
#text2 .total ul{padding-left: 0px;font-size: 16px;line-height: 20px;}
#text2 .imgleft{border-bottom-left-radius: 100px;}
#text2 .imgright{border-top-right-radius: 100px;}

/* #prem — полный редизайн в .kp-prem-sec ниже в файле */

#tags .grid{gap: 10px;}
#tags .item{border: 1px solid #E4E4E4;padding: 20px;border-bottom-left-radius: 15px;border-top-right-radius: 15px;}
#tags .item h3{font-size: 18px;margin-top: 10px;}

/* #vid — карусель видов работ */
#vid{overflow:hidden;background:var(--hovercolor);}
#vid h2{color:white;}
#vid .item{background-color:#fff;border-radius:var(--kp-radius-md,14px);display:grid;align-items:center;gap:10px;padding:30px;box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));transition:transform .25s ease,box-shadow .25s ease;}
#vid .item:hover{transform:translateY(-3px);box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));}
#vid .item img{border-radius:var(--kp-radius-sm,8px);}
#vid .owl-carousel .owl-stage-outer{overflow:visible;}

/* #ban — Условия работы / Гарантии. Стили в .kp-guarantee-sec ниже в файле */


/* #faq accordion — карточки FAQ */
#accordion .card{padding:20px 40px 10px 40px;border:1px solid #E4E4E4;border-radius:var(--kp-radius-md,14px);margin-bottom:10px;font-size:18px;transition:border-color .2s ease,box-shadow .2s ease;}
#accordion .card:hover{border-color:rgba(211,52,52,.3);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));}
#accordion .card .title{font-family:var(--fonttitle);padding-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
#accordion .card .title:after{content:"\2014";font-size:14px;line-height:32px;border:1px solid #E4E4E4;border-radius:50%;width:35px;min-width:35px;height:35px;text-align:center;}
#accordion .card .title.collapsed:after{content:"+";font-size:25px;}

/* #gallary — портфолио */
#gallary img{border-radius:var(--kp-radius-md,14px);}
#gallary .box{border-radius:var(--kp-radius-md,14px);transition:transform .25s ease,box-shadow .25s ease;}
#gallary .box:hover{box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));}

/* #rews — отзывы */
#rews{background:#f9f9f9;}
#rews .item{background:#fff;padding:20px;border-radius:var(--kp-radius-md,14px);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));transition:transform .25s ease,box-shadow .25s ease;}
#rews .item:hover{transform:translateY(-3px);box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));}
#rews .name{font-weight:bold;}
#rews .date{font-size:15px;color:gray;}
#rews .owl-nav rect{fill:white;}
#rews .owl-dots .owl-dot span{background:white;}
#rews .owl-dots .owl-dot.active span{background:black;}

#text3 .item{border-bottom: 1px solid #E4E4E4;padding-bottom: 30px;margin-bottom: 30px;font-size: 18px;}

/* #map — статистики и города */
#map{background:url(images/map.png) center top no-repeat;background-size:contain;font-weight:500;}
#map .city a{color:black;text-transform:uppercase;font-size:14px;display:inline-block;transition:color .2s ease,transform .2s ease;}
#map .city a:hover{color:var(--hovercolor,#d33434);transform:translateX(2px);text-decoration:none;}
#map .city{gap:5px;}
#map .pr{font-size:36px;margin-bottom:20px;}
#map .pr div{transition:transform .25s ease;}
#map .pr div:hover{transform:translateY(-3px);}
#map .pr .num{color:var(--hovercolor);font-size:80px;line-height:80px;font-weight:500;}
#map .more{display:flex;justify-content:center;margin-top:10px;}

/* #mes — полный редизайн в .kp-mes-sec ниже в файле */

#form{background: #f9f9f9;padding-top: 60px;}
#form .wpcf7-text, #form .wpcf7-textarea, #form select{background: white;border: none;padding: 15px;border-radius: 2px;width: 100%;box-shadow: 0px 10px 15px rgb(0 0 0 / 3%);}
#form label{margin: 0px;}
#form .codedropz-upload-inner h3, #form .codedropz-upload-inner span{display: none;}
#form .codedropz-upload-inner a, .dnd-upload-status .dnd-upload-details .name em, .dnd-upload-status .dnd-upload-details .name{color: black;}
.codedropz-upload-handler{background: white;border-radius: 2px;box-shadow: 0px 10px 15px rgb(0 0 0 / 3%);}
#form select{color: black;-webkit-appearance: auto;appearance: auto;}
#form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    background-image: url(images/marrow.svg);
    background-size: 13px 13px;
    background-position: 95% center;
    background-repeat: no-repeat;
    outline: none;
}

/* #textrepeat — блоки с фото справа */
#textrepeat .grid{margin-bottom:48px;}
#textrepeat .grid:last-child{margin-bottom:0;}
#textrepeat img{margin-bottom:0;border-radius:var(--kp-radius-md,14px);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));}
#textrepeat .grid:nth-child(even) .img{order:-1;}
@media(max-width:768px){#textrepeat .grid:nth-child(even) .img{order:0;}}
#tagsmore a{display: flex;border: 1px solid #DEE2E6;padding: 30px;position: relative;align-items: center;gap: 10px;font-size: 18px;justify-content: space-between;border-bottom-left-radius: 15px;border-top-right-radius: 15px;}
#tagsmore a:after{content: "→";}
#tagsmore .grid{row-gap: 10px;}


#lic .owl-nav, #vid .owl-nav, #rews .owl-nav, #gallary .owl-nav{display: flex;gap: 10px;}

/* #lic — сертификаты */
#lic img{border-radius:var(--kp-radius-md,14px);box-shadow:var(--kp-shadow-sm,0 4px 12px rgba(15,23,42,.06));transition:transform .25s ease,box-shadow .25s ease;}
#lic .box:hover img{transform:scale(1.02);box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));}

#contpage{margin-bottom: 20px;}
#contpage .info{padding: 20px;background: #f9f9f9;}
#contpage p{margin: 0px;}
#contpage .item{font-size: 20px;padding-top: 15px;padding-bottom: 15px;}
#contpage .item .title{color: #6C6C6C;font-size: 15px;}
#contpage .item .phone{font-size: 25px;font-weight: bold;}
#contpage .item a{color: black;}
#contpage .item .mail{color: var(--hovercolor);}


#footer{padding: 80px 0px;font-size: 15px;}
#footer a{color: #6D6D84;}
#footer .title{margin-top: 20px;font-size: 14px;color: gray;}
#footer .title ul{padding-left: 10px;}
#footer .widget-title{font-size: 18px;margin-bottom: 15px;}
#footer .menu{padding: 0px;list-style: none;}
#footer .menu li{padding: 5px 0px;}
#footer .phone{font-size: 20px;font-family: var(--fonttitle);}
#footer .ad{margin: 10px 0px;}
#footer .mail{color: var(--hovercolor);font-weight: 500;}
#footer .pay{color: red;font-weight: 500;}
#footer .soc{margin-top: 20px;}
#footer .inn{margin-top: 10px;font-weight: bold;}
#footer .cbutton, #footer .cbutton:hover{margin-top: 10px;color: white;}

.full{background-color: #fff;}
.full a{color: black;}
.full .container{position: relative;}
.full .close{border: none;}
.full .modal-dialog{max-width: 100%;position: relative;}
.full .modal-content{width: 100%;border: none;}
.full .title{font-size: 30px;font-weight: 500;padding-bottom: 15px;margin-top: 40px;}
.full .st{font-size: 18px;padding-bottom: 10px;}
.full .list{list-style: none;padding-left: 0;font-size: 18px;gap: 5px;}
.full .select2-selection, .full .select2-selection__arrow{height: 40px!important;}
.full .select2-selection__rendered{line-height: 40px!important;}
.full .menu{display: inline-block;width: 100%;list-style: none;font-size: 25px;padding: 0px;padding-top: 0px;}
.full .menu li{padding-bottom: 15px;}
.full .cont>a{display: block;padding: 5px 0px;}
.full .cont .phone{font-size: 22px;font-weight: bold;color: black;}
.full .cont .mail{color: #E61870;}

/* ===== ВЫНОСНЫЕ КОМПОНЕНТЫ (vanilla, заменяют OWL/fancybox/Bootstrap-modal/Select2). Префикс .kp-* и .citymodal-* ===== */
/* Carousel — заменяет OWL */
.kp-carousel{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.kp-carousel.kp-grabbing,.kp-carousel.kp-grabbing *{cursor:grabbing!important;}
.kp-carousel-track{display:flex;will-change:transform;transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.kp-carousel-slide{flex:0 0 auto;box-sizing:border-box;min-width:0;}
.kp-carousel-slide img{max-width:100%;height:auto;display:block;user-drag:none;-webkit-user-drag:none;pointer-events:none;}
.kp-carousel-slide a{pointer-events:auto;}
.kp-carousel:not([data-kp-inited]){overflow:hidden;display:flex;flex-wrap:nowrap;}
.kp-carousel:not([data-kp-inited]) > *{flex:0 0 auto;min-width:0;}
.kp-carousel:not([data-kp-inited]) img{max-width:100%;height:auto;}
.kp-carousel-prev,.kp-carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid #e5e7eb;color:var(--hovercolor,#d33434);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(15,23,42,.1);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease,background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;}
.kp-carousel:hover .kp-carousel-prev,.kp-carousel:hover .kp-carousel-next,.kp-carousel:focus-within .kp-carousel-prev,.kp-carousel:focus-within .kp-carousel-next{opacity:1;visibility:visible;}
.kp-carousel-prev:hover,.kp-carousel-next:hover{background:var(--hovercolor,#d33434);color:#fff;border-color:var(--hovercolor,#d33434);}
.kp-carousel-prev{left:12px;transform:translate(-4px,-50%);}
.kp-carousel-next{right:12px;transform:translate(4px,-50%);}
.kp-carousel:hover .kp-carousel-prev,.kp-carousel:focus-within .kp-carousel-prev{transform:translate(0,-50%);}
.kp-carousel:hover .kp-carousel-next,.kp-carousel:focus-within .kp-carousel-next{transform:translate(0,-50%);}
@media (hover:none){.kp-carousel-prev,.kp-carousel-next{opacity:1;visibility:visible;transform:translateY(-50%)!important;}}
@media (max-width:600px){.kp-carousel-prev,.kp-carousel-next{width:36px;height:36px;}.kp-carousel-prev{left:6px;}.kp-carousel-next{right:6px;}}
/* Lightbox — заменяет fancybox */
.kp-lb{position:fixed;inset:0;z-index:10500;background:rgba(15,23,42,.92);display:none;align-items:center;justify-content:center;animation:kpLbFade .25s ease;}
.kp-lb.is-open{display:flex;}
@keyframes kpLbFade{from{opacity:0}to{opacity:1}}
.kp-lb-stage{max-width:92vw;max-height:88vh;display:flex;align-items:center;justify-content:center;}
.kp-lb-stage img{max-width:92vw;max-height:88vh;display:block;border-radius:6px;box-shadow:0 30px 60px rgba(0,0,0,.6);background:#fff;}
.kp-lb-x,.kp-lb-prev,.kp-lb-next{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;}
.kp-lb-x{top:20px;right:24px;width:42px;height:42px;}
.kp-lb-prev,.kp-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;}
.kp-lb-prev{left:20px;}
.kp-lb-next{right:20px;}
.kp-lb-x:hover,.kp-lb-prev:hover,.kp-lb-next:hover{background:var(--hovercolor,#d33434);color:#fff;}
.kp-lb-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:14px;letter-spacing:.04em;background:rgba(0,0,0,.4);padding:6px 14px;border-radius:20px;}
.kp-lb-caption{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);color:#fff;font-size:15px;line-height:1.4;text-align:center;max-width:90vw;padding:8px 18px;background:rgba(0,0,0,.55);border-radius:8px;backdrop-filter:blur(6px);}
@media (max-width:600px){.kp-lb-caption{font-size:13px;bottom:54px;padding:6px 12px;}.kp-lb-prev,.kp-lb-next{width:42px;height:42px;}.kp-lb-prev{left:6px;}.kp-lb-next{right:6px;}.kp-lb-x{top:12px;right:12px;width:36px;height:36px;}}
body.kp-lb-lock{overflow:hidden;}
/* Mobile menu submenu toggle */
#mmenu .nav .menu-closed{position:absolute;right:0;top:8px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
#mmenu .nav .menu-closed::before{display:none;}
#mmenu .nav .menu-closed::after{content:'';width:9px;height:9px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);transition:transform .25s ease,border-color .25s ease;background:none;border-left:0;border-top:0;position:static;opacity:1;}
#mmenu .nav .menu-closed.menu-open::after{transform:rotate(-135deg);border-color:var(--hovercolor,#d33434);}
#mmenu .nav .sub-menu.hide{display:none;}
/* Back-to-top */
.btn-back-top{transition:opacity .3s ease,transform .3s cubic-bezier(.22,.61,.36,1),background .2s ease;}
.btn-back-top:hover{transform:translateY(-4px);}
/* ========== УНИВЕРСАЛЬНЫЙ POPUP — единая система для city / заявка / расчёт / мобильное меню ==========
   Структура: .kp-popup (overlay) > .kp-popup-panel (slide-in) > .kp-popup-head/body/foot.
   Padding задаётся ОДИН раз на --kp-pad через :root, дочерние секции наследуют.
*/
:root{--kp-pad:32px;--kp-gap:18px;}
@media(max-width:600px){:root{--kp-pad:22px;--kp-gap:16px;}}

.kp-popup.modal{padding:0!important;background:rgba(15,23,42,.55);display:none;}
.kp-popup.modal.show{display:block;animation:kpFade .25s ease;}
@keyframes kpFade{from{background:transparent;}to{background:rgba(15,23,42,.55);}}

/* Базовая панель: ПК — центральная карточка с радиусом, моб — full-screen */
.kp-popup .modal-dialog,.kp-popup-panel{position:fixed!important;top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;width:min(540px,95vw)!important;max-width:none!important;height:auto!important;max-height:90vh!important;margin:0!important;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;animation:kpPopIn .25s cubic-bezier(.22,.61,.36,1);}
@keyframes kpPopIn{from{transform:translate(-50%,-48%);opacity:0;}to{transform:translate(-50%,-50%);opacity:1;}}
/* Мобильное меню — оставляем slide-in слева, full-height */
.kp-popup--left .modal-dialog,.kp-popup--left .kp-popup-panel{top:0!important;left:0!important;transform:none!important;width:min(360px,100vw)!important;height:100vh!important;max-height:none!important;border-radius:0!important;box-shadow:30px 0 80px rgba(15,23,42,.18);animation:kpSlideL .35s cubic-bezier(.22,.61,.36,1);}
@keyframes kpSlideL{from{transform:translateX(-100%);}to{transform:translateX(0);}}
@media(max-width:600px){.kp-popup--right .modal-dialog,.kp-popup--right .kp-popup-panel,.kp-popup .modal-dialog,.kp-popup .kp-popup-panel{top:0!important;left:0!important;transform:none!important;width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important;}.kp-popup--right .modal-dialog,.kp-popup--right .kp-popup-panel{animation:kpSlideR .35s cubic-bezier(.22,.61,.36,1);}@keyframes kpSlideR{from{transform:translateX(100%);}to{transform:translateX(0);}}.kp-popup--left .modal-dialog,.kp-popup--left .kp-popup-panel{width:min(360px,100vw)!important;}}

/* Единая X-кнопка (перекрывает legacy .close) */
.kp-popup .kp-popup-x,.kp-popup .close{position:absolute;top:16px;right:16px;width:38px;height:38px;background:transparent;border:1.5px solid #e5e7eb;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#374151;cursor:pointer;padding:0;z-index:10;opacity:1;transition:all .18s ease;}
.kp-popup .kp-popup-x:hover,.kp-popup .close:hover{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;}
.kp-popup .kp-popup-x svg,.kp-popup .close svg{width:18px;height:18px;}

/* Секции — паддинг одной декларацией на каждую (top right bottom left). --kp-pad горизонтально + (pad/gap) вертикально. */
.kp-popup-head{padding:var(--kp-pad) var(--kp-pad) var(--kp-gap);border-bottom:1px solid #f1f5f9;}
.kp-popup-body{padding:var(--kp-pad);flex:1;display:flex;flex-direction:column;gap:var(--kp-gap);}
.kp-popup-foot{padding:var(--kp-gap) var(--kp-pad) var(--kp-pad);margin-top:auto;border-top:1px solid #f1f5f9;}

/* Header content */
.kp-popup-eyebrow{display:inline-block;padding:5px 12px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;margin-bottom:14px;}
.kp-popup-title{font-size:24px;line-height:1.2;font-weight:800;color:#0f172a;margin:0 0 10px;letter-spacing:-.01em;}
.kp-popup-sub{font-size:14px;line-height:1.6;color:#64748b;margin:0;}
.kp-popup-section-h{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;margin:0 0 12px;}

/* City search */
.kp-popup-search{position:relative;}
.kp-popup-search-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;}
.kp-popup-input{width:100%;height:48px;padding:0 16px 0 46px;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#0f172a;outline:none;-webkit-appearance:none;appearance:none;transition:all .18s ease;}
.kp-popup-input::placeholder{color:#94a3b8;}
.kp-popup-input:focus{background:#fff;border-color:var(--hovercolor,#d33434);box-shadow:0 0 0 3px rgba(211,52,52,.12);}
.kp-popup-input::-webkit-search-cancel-button{-webkit-appearance:none;}
.kp-popup-results{margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.08);max-height:320px;overflow-y:auto;}
.kp-popup-result{display:block;padding:12px 18px;color:#0f172a;font-size:14px;text-decoration:none;border-bottom:1px solid #f1f5f9;transition:background .15s ease;}
.kp-popup-result:last-child{border-bottom:0;}
.kp-popup-result:hover{background:#fef2f2;color:var(--hovercolor,#d33434);text-decoration:none;}
.kp-popup-result mark{background:rgba(211,52,52,.2);color:inherit;font-weight:700;padding:0 2px;border-radius:2px;}
.kp-popup-noresult{padding:18px;color:#94a3b8;font-size:13px;text-align:center;}

/* Сетка карточек городов */
.kp-popup-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
@media(max-width:600px){.kp-popup-grid{grid-template-columns:1fr;}}
.kp-popup-card{display:flex;flex-direction:column;padding:14px 16px;background:#f8fafc;border:1.5px solid transparent;border-radius:8px;text-decoration:none;color:#0f172a;position:relative;transition:all .2s cubic-bezier(.22,.61,.36,1);}
.kp-popup-card:hover{background:#fff;border-color:var(--hovercolor,#d33434);transform:translateY(-2px);box-shadow:0 8px 18px rgba(211,52,52,.15);text-decoration:none;color:#0f172a;}
.kp-popup-card-name{font-size:15px;font-weight:600;line-height:1.2;}
.kp-popup-card-tag{font-size:11px;color:#94a3b8;margin-top:3px;letter-spacing:.02em;}
.kp-popup-card--main{background:linear-gradient(135deg,var(--hovercolor,#d33434) 0%,#9c1e1e 100%);color:#fff;}
.kp-popup-card--main .kp-popup-card-tag{color:rgba(255,255,255,.75);}
.kp-popup-card--main:hover{background:linear-gradient(135deg,#e84747 0%,#b32a2a 100%);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(211,52,52,.35);}
.kp-popup-card.is-current{background:#fff;border-color:var(--hovercolor,#d33434);padding-right:32px;}
.kp-popup-card.is-current::after{content:'✓';position:absolute;right:16px;top:14px;color:var(--hovercolor,#d33434);font-weight:700;}
.kp-popup-card--main.is-current{background:linear-gradient(135deg,var(--hovercolor,#d33434) 0%,#9c1e1e 100%);}
.kp-popup-card--main.is-current::after{color:#fff;}
.kp-popup-link{display:inline-flex;align-items:center;gap:8px;color:var(--hovercolor,#d33434);font-size:14px;font-weight:600;text-decoration:none;transition:gap .2s ease;}
.kp-popup-link:hover{gap:14px;text-decoration:none;color:#9c1e1e;}

/* CF7-формы внутри popup-а */
.kp-popup .wpcf7-form{display:grid;gap:14px;margin:0;}
.kp-popup .wpcf7-text,.kp-popup .wpcf7-mask,.kp-popup .wpcf7-textarea,.kp-popup input[type=email]{width:100%;height:46px;padding:0 14px;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;color:#0f172a;outline:none;-webkit-appearance:none;appearance:none;transition:all .18s ease;}
.kp-popup .wpcf7-textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;}
.kp-popup .wpcf7-text:focus,.kp-popup .wpcf7-mask:focus,.kp-popup .wpcf7-textarea:focus,.kp-popup input[type=email]:focus{background:#fff;border-color:var(--hovercolor,#d33434);box-shadow:0 0 0 3px rgba(211,52,52,.12);}
.kp-popup .acc{font-size:12px;color:#64748b;line-height:1.5;display:block;}
.kp-popup .acc input[type=checkbox]{margin:0 6px 0 0;vertical-align:middle;accent-color:var(--hovercolor,#d33434);width:16px;height:16px;cursor:pointer;}
.kp-popup .acc a{color:var(--hovercolor,#d33434);text-decoration:underline;}
/* CF7 submit button — wrap in flex parent and inject icon via background */
.kp-popup .wpcf7-form p:has(input[type=submit]){position:relative;margin:0;}
.kp-popup .wpcf7-submit,.kp-popup .cbutton,.kp-popup input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;background-color:var(--hovercolor,#d33434);color:#fff;border:0;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .18s ease,transform .18s ease;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:18px center;background-size:18px 18px;padding-left:48px;}
.kp-popup .wpcf7-spinner{display:none;}
.kp-popup .wpcf7-submit:hover,.kp-popup .cbutton:hover,.kp-popup input[type=submit]:hover{background-color:#9c1e1e;transform:translateY(-1px);}
.kp-popup .poly{font-size:11px;color:#94a3b8;line-height:1.5;margin:0;}

/* Мобильное меню (slide-left) */
.kp-popup--menu .kp-popup-body{padding-left:0;padding-right:0;gap:0;}
.kp-popup--menu .nav,.kp-popup--menu ul{list-style:none;padding:0;margin:0;}
.kp-popup--menu .nav>li,.kp-popup--menu ul>li{border-bottom:1px solid #f1f5f9;position:relative;}
.kp-popup--menu .nav>li>a,.kp-popup--menu ul>li>a{display:block;padding:14px var(--kp-pad);color:#0f172a;text-decoration:none;font-size:15px;font-weight:600;transition:background .15s ease,color .15s ease;}
.kp-popup--menu .nav>li>a:hover,.kp-popup--menu ul>li>a:hover{background:#fef2f2;color:var(--hovercolor,#d33434);}
.kp-popup--menu .sub-menu{background:#fafbfc;}
.kp-popup--menu .sub-menu>li>a{padding:10px var(--kp-pad) 10px calc(var(--kp-pad) + 16px);font-size:14px;font-weight:400;color:#475569;}
.kp-popup--menu .menu-closed{position:absolute;right:10px;top:10px;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.kp-popup--menu .menu-closed::after{content:'';width:8px;height:8px;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);transition:transform .25s ease,border-color .25s ease;}
.kp-popup--menu .menu-closed.menu-open::after{transform:rotate(-135deg);border-color:var(--hovercolor,#d33434);}
.kp-popup--menu .sub-menu.hide{display:none;}
.kp-popup--menu-cont{padding:18px var(--kp-pad);background:#f8fafc;font-size:14px;line-height:1.6;color:#475569;}
.kp-popup--menu-cont .phone{display:block;font-weight:700;font-size:18px;color:#0f172a;margin-bottom:4px;}
.kp-popup--menu-cont .time{font-size:12px;color:#94a3b8;margin-bottom:10px;}
.kp-popup--menu-cont .soc{display:flex;gap:10px;margin:12px 0;}
.kp-popup--menu-cont .soc img{width:32px;height:32px;}
/* Соц-кнопки в .form3 — единый круглый стиль для разнотипных SVG */
.form3 .soc{margin-top:14px;display:flex;gap:12px;align-items:center;}
.form3 .soc a{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;overflow:hidden;flex:0 0 52px;transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 4px 12px rgba(15,23,42,.18));}
.form3 .soc a:hover{transform:translateY(-2px);filter:drop-shadow(0 10px 22px rgba(15,23,42,.28));}
.form3 .soc a img{width:100%;height:100%;display:block;}

/* CF7 uploader — кастомный загрузчик файлов (замена плагина drag-and-drop CF7).
   Вне попапа и внутри .kp-popup работает одинаково. Использует токены --hovercolor / --kp-pad / --kp-gap. */
.kp-uploader{display:flex;flex-direction:column;gap:10px;width:100%;}
.kp-uploader-area{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:8px;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease;}
.kp-uploader-area:hover,.kp-uploader.is-dragover .kp-uploader-area{border-color:var(--hovercolor,#d33434);background:#fff;color:var(--hovercolor,#d33434);}
.kp-uploader-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.kp-uploader-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);}
.kp-uploader-text{display:flex;flex-direction:column;gap:2px;line-height:1.4;font-size:14px;color:#0f172a;}
.kp-uploader-text strong{font-weight:600;}
.kp-uploader-or{color:#64748b;font-size:13px;}
.kp-uploader-hint{color:#94a3b8;font-size:12px;}
.kp-uploader-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.kp-uploader-list:empty{display:none;}
.kp-uploader-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#0f172a;}
.kp-uploader-item.is-error{border-color:#fca5a5;background:#fef2f2;color:#b91c1c;}
.kp-uploader-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kp-uploader-size{flex:0 0 auto;color:#94a3b8;font-size:12px;}
.kp-uploader-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:0;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;transition:background .15s ease,color .15s ease;}
.kp-uploader-remove:hover{background:#fef2f2;color:var(--hovercolor,#d33434);}
.kp-uploader.wpcf7-not-valid .kp-uploader-area{border-color:#dc2626;}

/* ========== GEO PAGE — посадочная /geo/ (template citymap.php) ==========
   Родственник kp-popup по палитре/радиусам/hover, но другой layout — статичная страница.
   Используется --hovercolor (#d33434) и токены --kp-pad/--kp-gap из :root системы popup-ов.
*/
.geo-page{display:block;background:#fff;color:#0f172a;}
.geo-page a{color:inherit;text-decoration:none;}

/* Hero / breadcrumb / eyebrow / h1 — общая база hero вынесена ниже в .kp-page-hero */
.geo-hero .breadcrumb,.geo-hero #breadcrumbs,.geo-hero .rank-math-breadcrumb{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:18px;}
.geo-hero .breadcrumb a,.geo-hero #breadcrumbs a,.geo-hero .rank-math-breadcrumb a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:color .18s ease,border-color .18s ease;}
.geo-hero .breadcrumb a:hover,.geo-hero #breadcrumbs a:hover,.geo-hero .rank-math-breadcrumb a:hover{color:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);}
.geo-hero-eyebrow{display:inline-block;padding:6px 14px;background:rgba(211,52,52,.18);color:#fca5a5;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;margin-bottom:18px;}
.geo-hero-h1{font-size:clamp(28px,4.5vw,52px);line-height:1.1;font-weight:800;margin:0 0 18px;letter-spacing:-.015em;max-width:980px;}
.geo-hero-h1 span,.geo-hero-h1 b{color:var(--hovercolor,#d33434);}
.geo-hero-sub{font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 30px;max-width:760px;}
.geo-hero-stats{display:flex;flex-wrap:wrap;gap:32px 48px;}
.geo-stat{display:flex;flex-direction:column;gap:4px;}
.geo-stat-num{font-family:var(--fonttitle);font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1;color:#fff;}
.geo-stat-lbl{font-size:13px;color:rgba(255,255,255,.6);letter-spacing:.02em;}
@media(max-width:600px){.geo-hero-stats{gap:18px 28px;}}

/* Секции — общая ритмика */
.geo-search-sec,.geo-mo,.geo-all,.geo-cta{padding:56px 0;}
@media(max-width:768px){.geo-search-sec,.geo-mo,.geo-all,.geo-cta{padding:40px 0;}}
.geo-section-h{margin-bottom:28px;}
.geo-eyebrow{display:inline-block;padding:5px 12px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;margin-bottom:14px;}
.geo-eyebrow--light{background:rgba(255,255,255,.16);color:#fff;}
.geo-h2{font-size:clamp(24px,2.6vw,36px);line-height:1.15;font-weight:800;color:#0f172a;margin:0 0 8px;letter-spacing:-.01em;}
.geo-h2-sub{font-size:15px;line-height:1.6;color:#64748b;margin:0;max-width:680px;}

/* Поиск */
.geo-search-sec{background:#f8fafc;border-bottom:1px solid #eef2f6;padding:36px 0 40px;}
.geo-search-h{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;margin:0 0 12px;}
.geo-search{position:relative;max-width:720px;}
.geo-search-ico{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;}
.geo-search-input{width:100%;height:64px;padding:0 22px 0 58px;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;font-size:17px;font-family:inherit;color:#0f172a;outline:none;-webkit-appearance:none;appearance:none;transition:all .18s ease;box-shadow:0 1px 0 rgba(15,23,42,.02);}
.geo-search-input::placeholder{color:#94a3b8;}
.geo-search-input:focus{background:#fff;border-color:var(--hovercolor,#d33434);box-shadow:0 0 0 4px rgba(211,52,52,.12);}
.geo-search-input::-webkit-search-cancel-button{-webkit-appearance:none;}
.geo-search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.1);max-height:380px;overflow-y:auto;z-index:20;}
.geo-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;color:#0f172a;font-size:15px;border-bottom:1px solid #f1f5f9;transition:background .15s ease,color .15s ease;}
.geo-search-result:last-child{border-bottom:0;}
.geo-search-result:hover{background:#fef2f2;color:var(--hovercolor,#d33434);text-decoration:none;}
.geo-search-result mark{background:rgba(211,52,52,.2);color:inherit;font-weight:700;padding:0 2px;border-radius:2px;}
.geo-search-result-go{font-size:18px;color:#cbd5e1;transition:transform .2s ease,color .2s ease;}
.geo-search-result:hover .geo-search-result-go{color:var(--hovercolor,#d33434);transform:translateX(4px);}
.geo-search-noresult{padding:22px;color:#94a3b8;font-size:14px;text-align:center;}
.geo-search-hint{font-size:13px;color:#94a3b8;margin:12px 0 0;max-width:720px;}

/* МО — карточки */
.geo-mo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.geo-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#f8fafc;border:1.5px solid transparent;border-radius:8px;color:#0f172a;position:relative;overflow:hidden;transition:all .25s cubic-bezier(.22,.61,.36,1);}
.geo-card:hover{background:#fff;border-color:var(--hovercolor,#d33434);transform:translateY(-3px);box-shadow:0 12px 24px rgba(211,52,52,.15);text-decoration:none;color:#0f172a;}
.geo-card-tag{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;}
.geo-card-name{font-size:18px;font-weight:700;line-height:1.2;}
.geo-card-meta{font-size:12px;color:#94a3b8;margin-top:2px;}
.geo-card-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#cbd5e1;font-size:20px;transition:transform .25s ease,color .25s ease;}
.geo-card:hover .geo-card-arrow{color:var(--hovercolor,#d33434);transform:translateY(-50%) translateX(4px);}
.geo-card--main{grid-column:span 2;background:linear-gradient(135deg,var(--hovercolor,#d33434) 0%,#9c1e1e 100%);color:#fff;padding:24px 26px;min-height:140px;justify-content:center;}
.geo-card--main *{color:#fff;}
.geo-card--main:hover{background:linear-gradient(135deg,#e84747 0%,#b32a2a 100%);color:#fff;border-color:transparent;box-shadow:0 16px 32px rgba(211,52,52,.4);transform:translateY(-3px);}
.geo-card--main:hover *{color:#fff;}
.geo-card--main .geo-card-tag{color:rgba(255,255,255,.85);}
.geo-card--main .geo-card-name{font-size:24px;color:#fff;}
.geo-card--main .geo-card-meta{color:rgba(255,255,255,.85);}
.geo-card--main .geo-card-arrow{color:rgba(255,255,255,.7);font-size:24px;right:24px;}
.geo-card--main:hover .geo-card-arrow{color:#fff;}
@media(max-width:600px){.geo-mo-grid{grid-template-columns:1fr;}.geo-card--main{grid-column:span 1;min-height:120px;}}

/* Алфавитный указатель */
.geo-letters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:14px;background:#f8fafc;border:1px solid #eef2f6;border-radius:12px;position:sticky;top:0;z-index:10;backdrop-filter:saturate(140%) blur(6px);}
.geo-letter{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:700;color:#0f172a;transition:all .18s ease;}
.geo-letter:hover{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 14px rgba(211,52,52,.25);}
@media(max-width:600px){.geo-letters{padding:10px;gap:6px;}.geo-letter{min-width:34px;height:34px;font-size:13px;}}

/* Список городов по группам */
.geo-list{display:flex;flex-direction:column;gap:36px;}
.geo-group{scroll-margin-top:24px;}
.geo-group-h{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid #eef2f6;}
.geo-group-h span{font-family:var(--fonttitle);font-size:42px;line-height:1;font-weight:700;color:var(--hovercolor,#d33434);letter-spacing:-.02em;}
.geo-group-h em{font-style:normal;font-size:13px;font-weight:500;color:#94a3b8;letter-spacing:.04em;}
.geo-group-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 24px;list-style:none;padding:0;margin:0;}
.geo-group-list li{margin:0;}
.geo-group-list a{display:block;padding:8px 10px;margin:0 -10px;font-size:15px;color:#334155;border-radius:6px;transition:background .15s ease,color .15s ease,padding .18s ease;}
.geo-group-list a:hover{background:#fef2f2;color:var(--hovercolor,#d33434);padding-left:14px;text-decoration:none;}
@media(max-width:768px){.geo-group-list{grid-template-columns:repeat(2,1fr);gap:4px 18px;}.geo-group-h span{font-size:34px;}}
@media(max-width:480px){.geo-group-list{grid-template-columns:1fr;}}

/* CTA-блок /geo/ — теперь использует .kp-cta-box / .kp-calc-btn / .kp-calc-tel из основной библиотеки. Своих CTA-стилей не имеет. */
.geo-cta{padding:64px 0 80px;}
@media(max-width:768px){.geo-cta{padding:40px 0 56px;}}

/* form3 .soc — большая CTA «Позвонить» с иконкой + мини Telegram-icon */
.form3 .soc{margin-top:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.form3 .soc .soc-call{display:inline-flex;align-items:center;gap:10px;padding:0 22px;height:48px;background:#fff;color:#0f172a;font-weight:700;font-size:16px;border-radius:8px;text-decoration:none;white-space:nowrap;box-shadow:0 8px 22px rgba(15,23,42,.18);transition:transform .2s ease,box-shadow .2s ease;}
.form3 .soc .soc-call svg{color:var(--hovercolor,#d33434);flex:0 0 auto;}
.form3 .soc .soc-call span{white-space:nowrap;}
.form3 .soc .soc-call:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.28);text-decoration:none;color:#0f172a;}
.form3 .soc .soc-tg{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;overflow:hidden;flex:0 0 48px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.18);transition:transform .2s ease;}
.form3 .soc .soc-tg:hover{transform:translateY(-2px);}

/* === Video player thumbs (#vic) === */
#vic .item.video-player{position:relative;border-radius:12px;overflow:hidden;background:#0f172a;aspect-ratio:16/10;}
#vic .video-thumb{position:relative;display:block;width:100%;height:100%;cursor:pointer;outline:none;border:none;padding:0;margin:0;}
#vic .video-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .3s ease;}
#vic .video-thumb .play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .25s ease;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));}
#vic .video-thumb:hover img,#vic .video-thumb:focus-visible img{transform:scale(1.04);filter:brightness(.85);}
#vic .video-thumb:hover .play-btn,#vic .video-thumb:focus-visible .play-btn{transform:scale(1.12);}
#vic .video-thumb:focus-visible{box-shadow:inset 0 0 0 3px var(--hovercolor,#d33434);}
#vic .video-thumb.is-playing .play-btn{display:none;}
.form3 .soc .soc-tg img{width:100%;height:100%;display:block;}

/* ========== KP-CALC-CTA — блок «Рассчитаем точную стоимость» в стиле /geo/ ==========
   Заменяет старый .form3 — тёмный градиент-фон + radial-glow + крупный H2 + список преимуществ + основная красная CTA + телефон-link с пунктиром + мини Telegram. */
.kp-calc-cta{padding:56px 0;}
.kp-calc-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:20px;padding:48px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;overflow:hidden;}
.kp-calc-box::before{content:'';position:absolute;top:-110px;right:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.42) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-calc-box::after{content:'';position:absolute;bottom:-160px;left:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.16) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-calc-text{position:relative;z-index:1;}
.kp-calc-eyebrow{display:inline-block;padding:6px 14px;background:rgba(211,52,52,.18);color:#fca5a5;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;margin-bottom:18px;}
.kp-calc-h2{font-size:clamp(24px,3vw,38px);line-height:1.15;font-weight:800;margin:0 0 14px;color:#fff;letter-spacing:-.01em;text-align:left;}
.kp-calc-sub{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 22px;max-width:560px;}
.kp-calc-feats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;}
.kp-calc-feats li{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.92);line-height:1.4;}
.kp-calc-feats li svg{color:var(--hovercolor,#fca5a5);flex:0 0 auto;}
.kp-calc-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:14px;}
.kp-calc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:60px;padding:0 28px;background:var(--hovercolor,#d33434);color:#fff;font-size:16px;font-weight:700;border-radius:10px;cursor:pointer;text-decoration:none;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;box-shadow:0 12px 28px rgba(211,52,52,.4);}
.kp-calc-btn:hover{background:#e84747;color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px rgba(211,52,52,.5);text-decoration:none;}
.kp-calc-btn svg{flex:0 0 auto;}
.kp-calc-or{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;}
.kp-calc-tel{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:600;color:#fff;transition:color .18s ease,border-color .18s ease;text-decoration:none;}
.kp-calc-tel svg{color:var(--hovercolor,#fca5a5);flex:0 0 auto;}
.kp-calc-tel:hover{color:#fff;border-color:var(--hovercolor,#d33434);text-decoration:none;}
.kp-calc-tg{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;overflow:hidden;flex:0 0 42px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.25);transition:transform .2s ease;}
.kp-calc-tg:hover{transform:translateY(-2px);}
.kp-calc-tg img{width:100%;height:100%;display:block;}
@media(max-width:900px){.kp-calc-box{grid-template-columns:1fr;gap:32px;padding:36px 28px;border-radius:16px;}.kp-calc-feats{grid-template-columns:1fr;}.kp-calc-actions{align-items:stretch;}.kp-calc-btn{width:100%;}}
@media(max-width:600px){.kp-calc-cta{padding:36px 0;}.kp-calc-box{padding:28px 22px;}.kp-calc-or{justify-content:flex-start;}}

/* ========== ШЛИФОВКА БЛОКОВ — общие eyebrow / тени / radii / hover в стиле /geo/ ==========
   Не ломает существующие стили — добавляет gradiently. Использует --hovercolor / --fonttitle. */
:root{--kp-radius-sm:8px;--kp-radius-md:14px;--kp-radius-lg:20px;--kp-shadow-sm:0 4px 12px rgba(15,23,42,.06);--kp-shadow-md:0 12px 28px rgba(15,23,42,.1);--kp-shadow-tint:0 12px 28px rgba(211,52,52,.15);--kp-eyebrow-bg:rgba(211,52,52,.08);--kp-eyebrow-color:#d33434;}

/* Универсальный eyebrow-tag — можно вставлять перед h2 любого блока */
.kp-eyebrow{display:inline-block;padding:6px 14px;background:var(--kp-eyebrow-bg);color:var(--kp-eyebrow-color);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;margin-bottom:14px;}
.kp-eyebrow--light{background:rgba(255,255,255,.12);color:#fff;}

/* Главная-кнопки в banner — иконки */
#banner .cbutton,#banner .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;}

/* Ремонт-страница (id=399) и Цены/О-нас page-content — не ломаем */
.ppage{padding-top:0;}

/* ========== УНИВЕРСАЛЬНЫЙ HERO ДЛЯ СТАТИЧЕСКИХ СТРАНИЦ ==========
   .kp-page-hero — единая база (тёмный градиент, radial-glow через ::before/::after,
   eyebrow + h1 + sub + опц. stats/feats). Старые классы (.kp-about-hero,
   .kp-prices-hero, .geo-hero) оставлены алиасами для обратной совместимости.
   Параметры через CSS-vars: --kp-hero-pad, --kp-hero-mb, --kp-hero-radius. */
.kp-page-hero,.kp-about-hero,.kp-prices-hero,.geo-hero{--kp-hero-pad:56px 0 64px;--kp-hero-mb:48px;--kp-hero-radius:0;position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;padding:var(--kp-hero-pad);overflow:hidden;border-radius:var(--kp-hero-radius);margin-bottom:var(--kp-hero-mb);}
.kp-page-hero--about,.kp-about-hero{--kp-hero-pad:64px 0 80px;--kp-hero-mb:56px;--kp-hero-radius:0;} /* v8: убран full-width border-radius — это hero на всю ширину */
.kp-page-hero--geo,.geo-hero{--kp-hero-pad:48px 0 56px;--kp-hero-mb:0;--kp-hero-radius:0;}

/* radial-glow — два круга через ::before / ::after — выглядят одинаково на всех hero */
.kp-page-hero::before,.kp-about-hero::before,.kp-prices-hero::before,.geo-hero::before{content:'';position:absolute;top:-120px;right:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.45) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-page-hero::after,.kp-about-hero::after,.kp-prices-hero::after,.geo-hero::after{content:'';position:absolute;bottom:-160px;left:-100px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.18) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}

.kp-page-hero .container,.kp-about-hero .container,.kp-prices-hero .container,.geo-hero .container{position:relative;z-index:1;}

/* Доп.glow-элементы (.kp-about-hero-glow, .kp-prices-hero-glow, .kp-page-hero-glow) уже
   рисуются через ::before/::after выше, поэтому inline-divs прячем чтобы не дублировать. */
.kp-page-hero-glow,.kp-about-hero-glow,.kp-prices-hero-glow{display:none;}

/* H1 / sub — единые размеры */
.kp-page-hero-h1,.kp-about-h1,.kp-prices-h1{font-size:clamp(28px,4.2vw,48px);line-height:1.1;font-weight:800;margin:0 0 18px;letter-spacing:-.015em;color:#fff;max-width:min(22ch,860px);}
.kp-about-h1 br{display:none;}
.kp-page-hero-sub,.kp-about-sub,.kp-prices-sub{font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 28px;max-width:760px;}
.kp-about-sub{margin-bottom:36px;}

/* stats (about) и feats (prices) внутри hero */
.kp-page-hero-stats,.kp-about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;}
.kp-about-stat{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--kp-radius-md);}
.kp-about-stat-num{font-family:var(--fonttitle);font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1;color:#fff;}
.kp-about-stat-lbl{font-size:13px;color:rgba(255,255,255,.7);}
.kp-page-hero-feats,.kp-prices-hero-feats{display:flex;flex-wrap:wrap;gap:14px 24px;}
.kp-page-hero-feats span,.kp-prices-hero-feats span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.92);font-weight:500;}
.kp-page-hero-feats svg,.kp-prices-hero-feats svg{color:var(--hovercolor,#fca5a5);flex:0 0 auto;}

/* ========== О КОМПАНИИ — секции why / team / steps ========== */
.kp-about-why,.kp-about-team,.kp-about-steps{padding:40px 0;}
.kp-about-why h2,.kp-about-team h2,.kp-about-steps h2{font-size:clamp(24px,2.8vw,36px);font-weight:800;letter-spacing:-.01em;margin:0 0 32px;text-align:left;}

.kp-about-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.kp-about-why-item{padding:28px 24px;background:#fff;border:1px solid #f1f5f9;border-radius:var(--kp-radius-md);box-shadow:var(--kp-shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.kp-about-why-item:hover{transform:translateY(-3px);border-color:rgba(211,52,52,.25);box-shadow:var(--kp-shadow-tint);}
.kp-about-why-ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);margin-bottom:16px;}
.kp-about-why-item h3{font-size:18px;font-weight:700;margin:0 0 8px;}
.kp-about-why-item p{font-size:14px;line-height:1.6;color:#475569;margin:0;}

.kp-about-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.kp-about-team-card{padding:24px;background:#f8fafc;border-radius:var(--kp-radius-md);transition:transform .25s ease,background .25s ease;}
.kp-about-team-card:hover{transform:translateY(-3px);background:#fff;box-shadow:var(--kp-shadow-tint);}
.kp-about-team-role{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hovercolor,#d33434);margin-bottom:6px;}
.kp-about-team-name{font-size:20px;font-weight:700;margin-bottom:10px;color:#0f172a;}
.kp-about-team-card p{font-size:14px;line-height:1.55;color:#475569;margin:0;}

.kp-about-steps-list{display:grid;gap:14px;}
.kp-about-step{display:flex;gap:24px;padding:22px 24px;background:#fff;border:1px solid #f1f5f9;border-radius:var(--kp-radius-md);align-items:flex-start;transition:border-color .2s ease,box-shadow .2s ease;}
.kp-about-step:hover{border-color:rgba(211,52,52,.25);box-shadow:var(--kp-shadow-sm);}
.kp-about-step-num{flex:0 0 auto;font-family:var(--fonttitle);font-size:32px;font-weight:700;color:var(--hovercolor,#d33434);line-height:1;min-width:60px;}
.kp-about-step h3{font-size:18px;font-weight:700;margin:0 0 6px;}
.kp-about-step p{font-size:14px;line-height:1.6;color:#475569;margin:0;}

/* ========== УНИВЕРСАЛЬНЫЙ CTA-БЛОК (v8: один класс .kp-cta-box) ==========
   В шаблонах используется только .kp-cta-box / .kp-cta-text / .kp-cta-actions. */
.kp-about-cta,.kp-prices-cta{padding:40px 0 80px;}
.kp-cta-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:var(--kp-radius-lg);padding:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;overflow:hidden;}
.kp-cta-box::before{content:'';position:absolute;top:-100px;right:-60px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.4) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-cta-text{position:relative;z-index:1;flex:1 1 360px;min-width:260px;}
.kp-cta-text h2{font-size:clamp(22px,2.4vw,32px);line-height:1.15;font-weight:800;margin:0 0 10px;color:#fff;letter-spacing:-.01em;text-align:left;}
.kp-cta-text p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.78);margin:0;max-width:480px;}
.kp-cta-actions{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;align-items:stretch;}
.kp-cta-actions .kp-calc-btn{width:auto;}
.kp-cta-actions .kp-calc-tel{justify-content:center;}
@media(max-width:768px){.kp-cta-box{padding:32px 26px;border-radius:16px;}.kp-cta-actions{width:100%;}.kp-cta-actions .kp-calc-btn{width:100%;}}
@media(max-width:600px){.kp-about-stats,.kp-page-hero-stats{grid-template-columns:repeat(2,1fr);gap:14px;}.geo-hero,.kp-page-hero--geo{--kp-hero-pad:32px 0 40px;}.kp-page-hero--about,.kp-about-hero{--kp-hero-pad:44px 0 56px;}}

/* ========== ЦЕНЫ — таблица ========== */
.kp-prices-table-sec{padding:0;}
.kp-prices-table-sec h2{font-size:clamp(22px,2.4vw,30px);font-weight:800;margin:36px 0 16px;letter-spacing:-.01em;text-align:left;}
.kp-prices-table-sec p{font-size:15px;line-height:1.6;color:#475569;margin:0 0 18px;}
.kp-prices-table{background:#fff;border:1px solid #f1f5f9;border-radius:var(--kp-radius-md);overflow:hidden;box-shadow:var(--kp-shadow-sm);margin-bottom:18px;}
.kp-prices-table table{width:100%;border-collapse:collapse;}
.kp-prices-table th{background:#f8fafc;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;padding:14px 18px;text-align:left;}
.kp-prices-table td{padding:14px 18px;font-size:14px;color:#0f172a;border-top:1px solid #f1f5f9;vertical-align:top;}
.kp-prices-table tbody tr:hover{background:#fef9f9;}
.kp-prices-table td:nth-child(2){color:#94a3b8;font-size:13px;white-space:nowrap;}
.kp-prices-table td:nth-child(3){font-weight:700;color:var(--hovercolor,#d33434);white-space:nowrap;text-align:right;}
.kp-prices-note{font-size:13px;line-height:1.6;color:#64748b;font-style:italic;margin:24px 0 0;padding:18px 22px;background:#f8fafc;border-left:3px solid var(--hovercolor,#d33434);border-radius:8px;}
@media(max-width:768px){.kp-prices-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}.kp-prices-table table{min-width:520px;}.kp-prices-table th,.kp-prices-table td{padding:12px 14px;font-size:13px;}}

/* === V6 — иконки в кнопках, video meta, guarantee, geo, modal centering, breadcrumb fix ============================== */

/* Универсальная утилита для иконок в кнопках */
.button-with-icon,a.button-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.button-with-icon svg{width:18px;height:18px;flex:0 0 auto;}

/* Видео-плеер: тайминг + meta */
#vic .video-thumb .video-time{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:rgba(0,0,0,.85);color:#fff;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border-radius:4px;letter-spacing:.02em;z-index:3;pointer-events:none;}
#vic .item.video-player{aspect-ratio:auto;background:transparent;display:flex;flex-direction:column;}
#vic .video-thumb{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#0f172a;}
#vic .video-meta{padding:14px 4px 0;}
#vic .video-title{font-size:16px;font-weight:700;line-height:1.3;margin:0 0 4px;color:#0f172a;}
#vic .video-sub{font-size:13px;color:#64748b;line-height:1.4;}

/* Блок «Условия работы / Гарантии» — стиль /geo/ */
.kp-guarantee-sec{padding:48px 0 56px;}
.kp-guarantee-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:var(--kp-radius-lg);padding:56px 48px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:center;overflow:hidden;}
.kp-guarantee-glow{position:absolute;top:-130px;right:-90px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.42) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-guarantee-glow--bottom{top:auto;right:auto;bottom:-180px;left:-110px;width:480px;height:480px;background:radial-gradient(circle,rgba(211,52,52,.16) 0%,rgba(211,52,52,0) 70%);}
.kp-guarantee-text{position:relative;z-index:1;}
.kp-guarantee-h2{font-size:clamp(24px,3vw,38px);line-height:1.15;font-weight:800;margin:0 0 16px;color:#fff;letter-spacing:-.015em;text-align:left;}
.kp-guarantee-sub{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 24px;max-width:560px;}
.kp-guarantee-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;}
.kp-guarantee-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:rgba(255,255,255,.92);line-height:1.45;}
.kp-guarantee-list li svg{color:var(--hovercolor,#fca5a5);flex:0 0 auto;margin-top:1px;}
.kp-guarantee-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:14px;}
.kp-guarantee-actions .kp-calc-btn{width:100%;}
.kp-calc-btn--secondary{background:rgba(255,255,255,.08);box-shadow:none;border:1.5px solid rgba(255,255,255,.18);}
.kp-calc-btn--secondary:hover{background:rgba(255,255,255,.16);box-shadow:none;border-color:rgba(255,255,255,.4);}
.kp-guarantee-tg{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.25);transition:transform .2s ease;}
.kp-guarantee-tg:hover{transform:translateY(-2px);}
.kp-guarantee-tg img{width:100%;height:100%;display:block;}
@media(max-width:900px){.kp-guarantee-box{grid-template-columns:1fr;gap:32px;padding:40px 28px;border-radius:16px;}.kp-guarantee-list{grid-template-columns:1fr;}}
@media(max-width:600px){.kp-guarantee-sec{padding:32px 0;}.kp-guarantee-box{padding:32px 22px;}}

/* Блок «География работы компании» — компактный тизер в стиле /geo/ */
.kp-geo-sec{padding:48px 0 56px;background:none;}
.kp-geo-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:var(--kp-radius-lg);padding:56px 48px;overflow:hidden;}
.kp-geo-glow{position:absolute;top:-100px;left:-80px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.32) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-geo-head{position:relative;z-index:1;max-width:760px;}
.kp-geo-h2{font-size:clamp(24px,3vw,38px);line-height:1.15;font-weight:800;margin:0 0 14px;color:#fff;letter-spacing:-.015em;text-align:left;}
.kp-geo-sub{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 32px;}
.kp-geo-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;margin:0 0 32px;}
.kp-geo-stat{display:flex;flex-direction:column;gap:6px;padding:18px 22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--kp-radius-md);}
.kp-geo-stat-num{font-family:var(--fonttitle,inherit);font-size:clamp(26px,2.8vw,36px);font-weight:700;line-height:1;color:#fff;}
.kp-geo-stat-lbl{font-size:13px;color:rgba(255,255,255,.7);}
.kp-geo-cities-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);}
.kp-geo-cities-eyebrow{display:inline-block;padding:5px 12px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;}
.kp-geo-cities-all{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:600;text-decoration:none;padding:8px 16px;border-radius:8px;border:1.5px solid rgba(255,255,255,.18);transition:background .18s ease,border-color .18s ease,transform .18s ease;}
.kp-geo-cities-all:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);text-decoration:none;color:#fff;transform:translateX(2px);}
.kp-geo-cities-all svg:first-child{color:var(--hovercolor,#fca5a5);}
.kp-geo-chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;}
.kp-geo-chip{display:inline-block;padding:7px 14px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.92);font-size:13px;font-weight:500;text-decoration:none;border-radius:20px;border:1px solid rgba(255,255,255,.1);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;}
.kp-geo-chip:hover{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;text-decoration:none;transform:translateY(-1px);}
@media(max-width:768px){.kp-geo-box{padding:36px 24px;}.kp-geo-cities-head{flex-direction:column;align-items:flex-start;}}
@media(max-width:600px){.kp-geo-sec{padding:32px 0;}.kp-geo-box{padding:28px 20px;}}

/* Хлебные крошки на тёмном фоне (любой .kp-page-hero / алиас) — белый/прозрачно-белый */
.kp-page-hero .rank-math-breadcrumb,.kp-page-hero .breadcrumb,.kp-page-hero #breadcrumbs,.kp-prices-hero .rank-math-breadcrumb,.kp-prices-hero .breadcrumb,.kp-prices-hero #breadcrumbs,.kp-about-hero .rank-math-breadcrumb,.kp-about-hero .breadcrumb,.kp-about-hero #breadcrumbs{color:rgba(255,255,255,.65);font-size:13px;margin-bottom:18px;}
.kp-page-hero .rank-math-breadcrumb a,.kp-page-hero .breadcrumb a,.kp-page-hero #breadcrumbs a,.kp-prices-hero .rank-math-breadcrumb a,.kp-prices-hero .breadcrumb a,.kp-prices-hero #breadcrumbs a,.kp-about-hero .rank-math-breadcrumb a,.kp-about-hero .breadcrumb a,.kp-about-hero #breadcrumbs a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:color .18s ease,border-color .18s ease;}
.kp-page-hero .rank-math-breadcrumb a:hover,.kp-page-hero .breadcrumb a:hover,.kp-page-hero #breadcrumbs a:hover,.kp-prices-hero .rank-math-breadcrumb a:hover,.kp-prices-hero .breadcrumb a:hover,.kp-prices-hero #breadcrumbs a:hover,.kp-about-hero .rank-math-breadcrumb a:hover,.kp-about-hero .breadcrumb a:hover,.kp-about-hero #breadcrumbs a:hover{color:#fff;border-color:#fff;}
.kp-page-hero .rank-math-breadcrumb span,.kp-prices-hero .rank-math-breadcrumb span,.kp-about-hero .rank-math-breadcrumb span{color:rgba(255,255,255,.6);}

/* Иконки в наследуемых .cbutton/.button2 — где можно дополним без перерисовки шаблонов */
.cbutton,.button{transition:all .18s ease;}
.cbutton.button-with-icon svg{stroke:currentColor;}
#banner .cbutton svg,#banner .button svg{width:18px;height:18px;}

/* «Подробнее» в каталоге услуг — стрелка-вправо после */
#usl .item h3{position:relative;}
#catalog .more::after,#tagsmore a::after{display:inline-flex;}

/* ==========  V8 — единые иконки, city-popup 3 кол., guarantee CTA, geo подсветка, hero-decor, telegram CTA  ========== */

/* (#1) Универсальная плашка под Lucide-иконку — стиль `/o-nas/` `.kp-about-why-ico`. Используется в #premprice .kp-feat-ico и #text1 .item .kp-feat-ico. Единый источник. */
.kp-feat-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:14px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);margin-bottom:10px;}
.kp-feat-ico svg{width:32px;height:32px;}
/* #text1 .prem .item — иконка над текстом, центрирование */
#text1 .prem .item{display:flex;flex-direction:column;align-items:center;gap:8px;}
#text1 .prem .item .kp-feat-ico{width:56px;height:56px;}
#text1 .prem .item .kp-feat-ico svg{width:28px;height:28px;}
/* #premprice .img — переопределяем width/height для inline-svg-плашки (раньше 64x64 для img) */
#premprice .grid .img.kp-feat-ico{width:64px;height:64px;}

/* (#2) #map — фон карты + подсветка текущего города в популярных */
.kp-geo-box{background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%),url(images/map.png) center/contain no-repeat;background-blend-mode:multiply,normal;}
.kp-geo-chip.is-current{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;font-weight:600;box-shadow:0 6px 16px rgba(211,52,52,.4);}

/* (#3) Hero-декор справа от текста — разные SVG для about/prices/geo. Перебиваем общий .kp-page-hero::after (у которого bottom:-160px;left:-100px;520x520) — ставим иконку справа, по вертикальному центру hero. */
.kp-page-hero--about::after,.kp-page-hero--prices::after,.kp-page-hero--geo::after{top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.55;}
.kp-page-hero--about::after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");}
.kp-page-hero--prices::after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cline x1='8' y1='6' x2='16' y2='6'/%3E%3Cline x1='8' y1='10' x2='16' y2='10'/%3E%3Cline x1='8' y1='14' x2='10' y2='14'/%3E%3Cline x1='13' y1='14' x2='16' y2='14'/%3E%3Cline x1='8' y1='18' x2='10' y2='18'/%3E%3Cline x1='13' y1='18' x2='16' y2='18'/%3E%3C/svg%3E");}
.kp-page-hero--geo::after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");}
@media(max-width:1024px){.kp-page-hero--about::after,.kp-page-hero--prices::after,.kp-page-hero--geo::after{width:220px;height:220px;right:24px;opacity:.4;}}
@media(max-width:768px){.kp-page-hero--about::after,.kp-page-hero--prices::after,.kp-page-hero--geo::after{display:none;}}

/* (#4) City-popup на ПК — 3 колонки + увеличенная ширина panel для #CityChoose */
@media(min-width:800px){.kp-popup-grid{grid-template-columns:repeat(3,1fr);}}
.kp-popup#CityChoose .kp-popup-panel,.kp-popup#CityChoose .modal-dialog{width:min(720px,95vw)!important;}

/* (#5) Уникальный uploader — pill-shape, hover/dragover scale, Lucide cloud-upload */
.kp-uploader-area{padding:18px 22px;border-style:dashed;border-width:1.5px;border-color:rgba(211,52,52,.35);transition:transform .2s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;}
.kp-uploader-area:hover,.kp-uploader.is-dragover .kp-uploader-area{transform:scale(1.01);border-color:var(--hovercolor,#d33434);background:#fff;box-shadow:0 8px 22px rgba(211,52,52,.18);}
.kp-uploader-icon{background:linear-gradient(135deg,rgba(211,52,52,.12) 0%,rgba(211,52,52,.04) 100%);}
.kp-uploader-icon svg{width:22px;height:22px;}

/* (#7) .kp-cta-tg — простая иконка ТГ 30×30 без обёртки. Заменяет .kp-calc-tg / .kp-guarantee-tg в шаблонах. */
.kp-cta-tg{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;transition:transform .2s ease;}
.kp-cta-tg:hover{transform:translateY(-2px) scale(1.06);}
/* Скрываем устаревшие .kp-calc-tg / .kp-guarantee-tg на случай, если где-то остались — деградация в простую иконку */
.kp-calc-tg,.kp-guarantee-tg{box-shadow:none!important;background:transparent!important;width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:0!important;}
.kp-calc-tg img,.kp-guarantee-tg img{width:30px!important;height:30px!important;}

/* (#10) Внутри .kp-cta-actions: кнопка во всю ширину, телефон + telegram в одну строку под ней */
.kp-cta-actions{flex-flow:row wrap;gap:14px 18px;align-items:center;}
.kp-cta-actions .kp-calc-btn{flex:1 1 100%;}
.kp-cta-actions .kp-calc-tel{flex:0 1 auto;justify-content:flex-start;color:#fff;font-size:16px;font-weight:600;white-space:nowrap;}
.kp-cta-actions .kp-calc-tel svg{color:var(--hovercolor,#fca5a5);}
.kp-cta-actions .kp-cta-tg{flex:0 0 30px;align-self:center;margin-left:auto;}
@media(max-width:768px){.kp-cta-actions{align-items:center;}.kp-cta-actions .kp-calc-btn{width:100%;}}

/* (#9) hero — убрали border-radius, восстановим контейнер обзорно (см. .kp-page-hero--about выше) */

/* ═══════════════════ v9: Система отзывов kp_review ═══════════════════ */

/* Hero для archive-kp_review.php — наследует базовый kp-page-hero. Декоративная иконка-звезда справа. */
.kp-page-hero--reviews::after{top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.55;}
.kp-page-hero-stat{display:flex;flex-direction:column;gap:4px;}
.kp-page-hero-stat-num{font-family:var(--fonttitle,inherit);font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1;color:#fff;}
.kp-page-hero-stat-lbl{font-size:13px;color:rgba(255,255,255,.6);letter-spacing:.02em;}

/* Фильтр-чипы */
.kp-reviews-controls{padding:32px 0 12px;}
.kp-reviews-filter{display:flex;flex-direction:column;gap:14px;}
.kp-reviews-filter-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.kp-reviews-filter-label{font-size:13px;font-weight:600;color:#64748b;letter-spacing:.04em;text-transform:uppercase;flex:0 0 auto;}
.kp-reviews-chips{display:flex;flex-wrap:wrap;gap:8px;}
.kp-reviews-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f1f5f9;color:#0f172a;font-size:13px;font-weight:600;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.kp-reviews-chip em{font-style:normal;font-weight:500;font-size:11px;color:#94a3b8;background:#fff;padding:2px 7px;border-radius:999px;}
.kp-reviews-chip:hover{background:#fff;border-color:#cbd5e1;color:#0f172a;text-decoration:none;}
.kp-reviews-chip.is-active{background:var(--hovercolor,#d33434);color:#fff;border-color:var(--hovercolor,#d33434);}
.kp-reviews-chip.is-active em{background:rgba(255,255,255,.22);color:#fff;}

/* Сетка карточек (используется на archive, single related, land блоке) */
.kp-reviews-list{padding:24px 0 56px;}
.kp-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px;}
@media(max-width:768px){.kp-reviews-grid{grid-template-columns:1fr;gap:18px;}}

/* Карточка отзыва */
.kp-review-card{display:flex;flex-direction:column;gap:14px;padding:22px 22px 24px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.06);transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease,border-color .25s ease;position:relative;}
.kp-review-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(15,23,42,.12);border-color:#cbd5e1;}
.kp-review-card-thumb{display:block;position:relative;border-radius:16px 16px 0 0;overflow:hidden;background:#f1f5f9;aspect-ratio:16/10;margin:-22px -22px 0;}
.kp-review-card-thumb-img,.kp-review-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kp-review-card:hover .kp-review-card-thumb-img,.kp-review-card:hover .kp-review-card-thumb img{transform:scale(1.04);}
.kp-review-card-thumb-count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;background:rgba(15,23,42,.78);color:#fff;font-size:12px;font-weight:600;border-radius:999px;backdrop-filter:blur(4px);}
.kp-review-card-head{display:flex;align-items:center;gap:12px;}
.kp-review-card-who{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;}
.kp-review-card-name{font-size:16px;font-weight:700;line-height:1.25;color:#0f172a;text-decoration:none;}
.kp-review-card-name:hover{color:var(--hovercolor,#d33434);text-decoration:none;}
.kp-review-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:#64748b;}
.kp-review-card-meta span,.kp-review-card-meta time{display:inline-flex;align-items:center;gap:4px;}
.kp-review-card-meta svg{color:#94a3b8;}
.kp-review-card-text{font-size:14px;line-height:1.6;color:#334155;}
.kp-review-card-text p{margin:0 0 .6em;}
.kp-review-card-text p:last-child{margin-bottom:0;}
.kp-review-card-service{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:600;border-radius:8px;text-decoration:none;align-self:flex-start;border:1px solid #e2e8f0;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.kp-review-card-service:hover{background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);border-color:rgba(211,52,52,.3);text-decoration:none;}
.kp-review-card-service svg{color:#94a3b8;}
.kp-review-card-service:hover svg{color:var(--hovercolor,#d33434);}

/* Аватарка клиента (initials fallback или фото) */
.kp-review-avatar{flex:0 0 auto;width:var(--kp-rev-av,52px);height:var(--kp-rev-av,52px);border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:calc(var(--kp-rev-av,52px) * .36);letter-spacing:.02em;background:linear-gradient(135deg,var(--kp-rev-av-from,#0f172a) 0%,var(--kp-rev-av-to,#3a1414) 100%);}
.kp-review-avatar--photo img{width:100%;height:100%;object-fit:cover;}
.kp-review-avatar--initials span{display:block;line-height:1;}

/* Звёзды */
.kp-review-rating{display:inline-flex;align-items:center;gap:2px;color:var(--hovercolor,#d33434);}
.kp-review-rating svg.is-off{color:#e2e8f0;}

/* Пагинация */
.kp-reviews-pag{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap;}
.kp-reviews-pag a,.kp-reviews-pag span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;background:#f1f5f9;color:#0f172a;font-size:14px;font-weight:600;border-radius:8px;text-decoration:none;border:1.5px solid transparent;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.kp-reviews-pag a:hover{background:#fff;border-color:#cbd5e1;text-decoration:none;}
.kp-reviews-pag span.current{background:var(--hovercolor,#d33434);color:#fff;}

/* Empty state */
.kp-reviews-empty{padding:48px 24px;text-align:center;background:#f8fafc;border-radius:16px;}
.kp-reviews-empty p{margin:0 0 18px;color:#64748b;font-size:15px;}

/* CTA-блок «Оставить отзыв» */
.kp-reviews-cta-sec{padding:40px 0 56px;}

/* ── Single review ── */
.kp-page-hero--review-single{padding:48px 0 56px;}
.kp-review-hero-grid{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.kp-review-hero-text{flex:1 1 280px;min-width:0;}
.kp-review-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;color:rgba(255,255,255,.78);font-size:14px;}
.kp-review-hero-meta .kp-review-rating{color:#fbbf24;}
.kp-review-hero-meta .kp-review-rating svg.is-off{color:rgba(255,255,255,.18);}
.kp-review-hero-city,.kp-review-hero-date{display:inline-flex;align-items:center;gap:6px;}
.kp-review-hero-city svg,.kp-review-hero-date svg{color:rgba(255,255,255,.5);}

.kp-review-single-body{padding:40px 0 32px;}
.kp-review-single-card{max-width:880px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:40px;box-shadow:0 12px 32px rgba(15,23,42,.06);}
.kp-review-single-text{font-size:17px;line-height:1.7;color:#0f172a;}
.kp-review-single-text p{margin:0 0 1em;}
.kp-review-single-text p:last-child{margin-bottom:0;}
.kp-review-single-photos{margin-top:36px;padding-top:32px;border-top:1px solid #e2e8f0;}
.kp-review-single-photos h2{margin:0 0 18px;font-size:22px;font-weight:700;color:#0f172a;}
.kp-review-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.kp-review-photo{display:block;border-radius:12px;overflow:hidden;aspect-ratio:1/1;background:#f1f5f9;transition:transform .25s ease,box-shadow .25s ease;}
.kp-review-photo:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.18);}
.kp-review-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.kp-review-single-service{margin-top:32px;padding-top:28px;border-top:1px solid #e2e8f0;}
.kp-review-single-service-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;margin-bottom:10px;}
.kp-review-single-service-link{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);color:#0f172a;font-size:16px;font-weight:700;border-radius:12px;text-decoration:none;border:1px solid #e2e8f0;transition:all .25s ease;}
.kp-review-single-service-link:hover{background:rgba(211,52,52,.06);border-color:rgba(211,52,52,.3);color:var(--hovercolor,#d33434);text-decoration:none;transform:translateY(-2px);box-shadow:0 12px 24px rgba(211,52,52,.12);}
.kp-review-single-service-link svg{flex:0 0 auto;color:#94a3b8;}
.kp-review-single-service-link:hover svg{color:var(--hovercolor,#d33434);}
.kp-review-single-service-link svg:last-child{margin-left:auto;}

.kp-reviews-related{padding:48px 0 32px;background:#f8fafc;}
.kp-reviews-related-head{margin-bottom:28px;text-align:center;}
.kp-reviews-related-head h2{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:800;color:#0f172a;}
.kp-reviews-related-footer{margin-top:32px;text-align:center;}
.kp-reviews-related-footer .kp-calc-btn{display:inline-flex;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;box-shadow:none;}
.kp-reviews-related-footer .kp-calc-btn:hover{background:var(--hovercolor,#d33434);color:#fff;border-color:var(--hovercolor,#d33434);}

/* Блок отзывов на странице услуги (#rews в land.php) */
.kp-rev-block{padding:56px 0;background:#f8fafc;}
.kp-rev-block-head{text-align:center;margin-bottom:32px;}
.kp-rev-block-head h2{margin:0 0 10px;font-size:clamp(24px,2.8vw,34px);font-weight:800;color:#0f172a;}
.kp-rev-block-sub{margin:0;color:#64748b;font-size:15px;}
.kp-rev-block-sub strong{color:#0f172a;}
.kp-rev-block-footer{margin-top:32px;text-align:center;}
.kp-rev-block-footer .kp-calc-btn--secondary{display:inline-flex;background:#fff;color:#0f172a;border:1.5px solid #e2e8f0;box-shadow:none;}
.kp-rev-block-footer .kp-calc-btn--secondary:hover{background:var(--hovercolor,#d33434);color:#fff;border-color:var(--hovercolor,#d33434);}

/* Mobile */
@media(max-width:600px){
.kp-review-single-card{padding:24px 20px;border-radius:14px;}
.kp-review-hero-grid{gap:16px;}
.kp-page-hero--reviews::after{display:none;}
.kp-reviews-filter-label{flex:1 1 100%;}
}

/* ═══════════════════ v10: Калькулятор стоимости /kalkulyator/ (kp-rcalc-*) ═══════════════════ */
/* Префикс kp-rcalc намеренно отличается от kp-calc-* (CTA-блок «Рассчитать») — это другая сущность. */

/* Hero — иконка калькулятора справа на десктопе */
.kp-page-hero--rcalc::after{top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cline x1='8' y1='6' x2='16' y2='6'/%3E%3Cline x1='8' y1='10' x2='16' y2='10'/%3E%3Cline x1='8' y1='14' x2='10' y2='14'/%3E%3Cline x1='13' y1='14' x2='16' y2='14'/%3E%3Cline x1='8' y1='18' x2='10' y2='18'/%3E%3Cline x1='13' y1='18' x2='16' y2='18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.5;}
@media(max-width:1024px){.kp-page-hero--rcalc::after{width:220px;height:220px;right:24px;opacity:.4;}}
@media(max-width:768px){.kp-page-hero--rcalc::after{display:none;}}
.kp-rcalc-stat{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--kp-radius-md);}
.kp-rcalc-stat-num{font-family:var(--fonttitle,Ruberoid,inherit);font-size:clamp(26px,2.8vw,38px);font-weight:700;line-height:1;color:#fff;letter-spacing:-.01em;}
.kp-rcalc-stat-lbl{font-size:13px;color:rgba(255,255,255,.7);}

/* App-section: layout */
.kp-rcalc-app{padding:48px 0 40px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);}
.kp-rcalc-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:flex-start;}
@media(max-width:1100px){.kp-rcalc-layout{grid-template-columns:1fr;gap:24px;}}

/* Stepper-box (левая колонка) */
.kp-rcalc-stepper{background:#fff;border-radius:var(--kp-radius-lg,20px);box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));padding:32px;display:flex;flex-direction:column;gap:24px;border:1px solid #e2e8f0;}
@media(max-width:768px){.kp-rcalc-stepper{padding:22px 18px;border-radius:14px;}}

/* Прогресс-бар */
.kp-rcalc-progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative;}
.kp-rcalc-progress li{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;text-align:center;position:relative;padding-top:6px;}
.kp-rcalc-progress li::before{content:'';position:absolute;top:24px;left:calc(-50% + 22px);right:calc(50% + 22px);height:2px;background:#e2e8f0;z-index:0;transition:background .25s ease;}
.kp-rcalc-progress li:first-child::before{display:none;}
.kp-rcalc-progress li.is-active::before,.kp-rcalc-progress li.is-done::before{background:var(--hovercolor,#d33434);}
.kp-rcalc-progress-num,.kp-rcalc-progress-check{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #e2e8f0;color:#64748b;font-weight:700;font-size:14px;transition:all .25s ease;}
.kp-rcalc-progress-check{position:absolute;top:6px;left:50%;transform:translateX(-50%) scale(.7);opacity:0;background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;}
.kp-rcalc-progress li.is-active .kp-rcalc-progress-num{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;box-shadow:0 6px 14px rgba(211,52,52,.3);transform:scale(1.05);}
.kp-rcalc-progress li.is-done .kp-rcalc-progress-num{opacity:0;transform:scale(.7);}
.kp-rcalc-progress li.is-done .kp-rcalc-progress-check{opacity:1;transform:translateX(-50%) scale(1);}
.kp-rcalc-progress li b{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.01em;line-height:1.2;}
.kp-rcalc-progress li.is-active b{color:#0f172a;}
.kp-rcalc-progress li.is-done b{color:var(--hovercolor,#d33434);}
@media(max-width:600px){.kp-rcalc-progress{gap:4px;}.kp-rcalc-progress li b{font-size:0;}.kp-rcalc-progress li.is-active b{font-size:11px;}.kp-rcalc-progress-num,.kp-rcalc-progress-check{width:32px;height:32px;font-size:13px;}.kp-rcalc-progress li::before{top:22px;}}

/* Шаги — анимация переключения */
.kp-rcalc-steps{position:relative;min-height:340px;}
.kp-rcalc-step{display:none;animation:kpRcalcFadeIn .35s ease;}
.kp-rcalc-step.is-active{display:block;}
@keyframes kpRcalcFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.kp-rcalc-step-h{margin-bottom:24px;}
.kp-rcalc-step-eyebrow{display:inline-block;padding:5px 12px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:4px;margin-bottom:10px;}
.kp-rcalc-step-h h2{font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.01em;margin:0 0 8px;color:#0f172a;text-align:left;}
.kp-rcalc-step-h p{font-size:14px;line-height:1.55;color:#64748b;margin:0;max-width:560px;}

/* Cards (тип крыши, материал) */
.kp-rcalc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.kp-rcalc-cards[data-grid="2"]{grid-template-columns:repeat(2,1fr);}
@media(max-width:680px){.kp-rcalc-cards{grid-template-columns:repeat(2,1fr);gap:10px;}}
@media(max-width:420px){.kp-rcalc-cards{grid-template-columns:1fr;}}

.kp-rcalc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 16px;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;overflow:hidden;}
.kp-rcalc-card input{position:absolute;opacity:0;pointer-events:none;}
.kp-rcalc-card:hover{border-color:#cbd5e1;background:#f8fafc;transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.06);}
.kp-rcalc-card:has(input:checked){border-color:var(--hovercolor,#d33434);background:linear-gradient(135deg,rgba(211,52,52,.05) 0%,rgba(211,52,52,.02) 100%);box-shadow:0 8px 22px rgba(211,52,52,.16);}
.kp-rcalc-card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:#475569;margin-bottom:4px;}
.kp-rcalc-card:has(input:checked) .kp-rcalc-card-icon{color:var(--hovercolor,#d33434);}
.kp-rcalc-card-swatch{display:block;width:100%;height:36px;border-radius:6px;margin-bottom:6px;position:relative;overflow:hidden;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.15) 4px,rgba(255,255,255,.15) 8px);}
.kp-rcalc-card-title{font-size:15px;font-weight:700;color:#0f172a;line-height:1.2;}
.kp-rcalc-card-desc{font-size:12px;color:#64748b;line-height:1.4;}
.kp-rcalc-card-meta{font-size:12px;font-weight:600;color:var(--hovercolor,#d33434);margin-top:auto;padding-top:6px;}
.kp-rcalc-card-check{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--hovercolor,#d33434);color:#fff;opacity:0;transform:scale(.5);transition:all .2s ease;}
.kp-rcalc-card:has(input:checked) .kp-rcalc-card-check{opacity:1;transform:scale(1);}

/* Шаг 3: площадь (slider + input + presets + perimeter) */
.kp-rcalc-area-control{display:flex;flex-direction:column;gap:14px;padding:24px;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;margin-bottom:18px;}
.kp-rcalc-area-input-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.kp-rcalc-area-input-row label{font-size:14px;font-weight:600;color:#475569;}
.kp-rcalc-area-input-row input[type="number"]{width:140px;padding:10px 14px;font-size:18px;font-weight:700;color:#0f172a;border:1.5px solid #cbd5e1;border-radius:10px;background:#fff;text-align:right;font-family:var(--fonttitle,inherit);font-variant-numeric:tabular-nums;}
.kp-rcalc-area-input-row input[type="number"]:focus{outline:none;border-color:var(--hovercolor,#d33434);box-shadow:0 0 0 3px rgba(211,52,52,.12);}

.kp-rcalc-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(90deg,var(--hovercolor,#d33434) 0%,var(--hovercolor,#d33434) var(--kp-rcalc-fill,24%),#e2e8f0 var(--kp-rcalc-fill,24%),#e2e8f0 100%);border-radius:3px;outline:none;cursor:pointer;}
.kp-rcalc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--hovercolor,#d33434);cursor:grab;box-shadow:0 4px 12px rgba(211,52,52,.3);transition:transform .15s ease;}
.kp-rcalc-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15);}
.kp-rcalc-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--hovercolor,#d33434);cursor:grab;box-shadow:0 4px 12px rgba(211,52,52,.3);}
.kp-rcalc-slider-marks{display:flex;justify-content:space-between;font-size:11px;color:#94a3b8;font-variant-numeric:tabular-nums;}

.kp-rcalc-area-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.kp-rcalc-preset{padding:9px 14px;background:#fff;color:#0f172a;font-size:13px;font-weight:600;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .18s ease;font-family:inherit;}
.kp-rcalc-preset:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);}
.kp-rcalc-preset.is-active{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);color:#fff;box-shadow:0 6px 14px rgba(211,52,52,.25);}

.kp-rcalc-area-perimeter{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 14px;padding:18px 20px;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;}
.kp-rcalc-area-perimeter label{font-size:13px;font-weight:600;color:#475569;grid-column:1;}
.kp-rcalc-area-perimeter input{width:120px;padding:8px 12px;font-size:15px;font-weight:600;border:1.5px solid #cbd5e1;border-radius:8px;text-align:right;font-variant-numeric:tabular-nums;grid-column:2;grid-row:1;}
.kp-rcalc-area-perimeter input:focus{outline:none;border-color:var(--hovercolor,#d33434);box-shadow:0 0 0 3px rgba(211,52,52,.1);}
.kp-rcalc-area-perimeter-hint{grid-column:1/-1;font-size:12px;color:#94a3b8;line-height:1.45;margin:0;}

/* Шаг 4: опции */
.kp-rcalc-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(max-width:680px){.kp-rcalc-options{grid-template-columns:1fr;}}
.kp-rcalc-option{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .18s ease;}
.kp-rcalc-option input{position:absolute;opacity:0;pointer-events:none;}
.kp-rcalc-option:hover{border-color:#cbd5e1;background:#f8fafc;}
.kp-rcalc-option:has(input:checked){border-color:var(--hovercolor,#d33434);background:rgba(211,52,52,.04);}
.kp-rcalc-option-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid #cbd5e1;border-radius:6px;background:#fff;color:#fff;flex:0 0 24px;transition:all .15s ease;}
.kp-rcalc-option:has(input:checked) .kp-rcalc-option-check{background:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);}
.kp-rcalc-option-check svg{opacity:0;transition:opacity .15s ease;}
.kp-rcalc-option:has(input:checked) .kp-rcalc-option-check svg{opacity:1;}
.kp-rcalc-option-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.kp-rcalc-option-text b{font-size:14px;font-weight:700;color:#0f172a;line-height:1.25;}
.kp-rcalc-option-text em{font-size:12px;font-style:normal;color:#64748b;line-height:1.3;}
.kp-rcalc-option-price{font-size:14px;font-weight:700;color:var(--hovercolor,#d33434);white-space:nowrap;font-variant-numeric:tabular-nums;}
.kp-rcalc-option-price small{font-size:10px;font-weight:500;color:#94a3b8;display:block;line-height:1;margin-top:2px;}

/* Шаг 5: оборачиваем CF7 в .kp-popup-body — наследуем единый стиль форм связи. Дополнительный inline-mode: контейнер с фоном/паддингом, без модального позиционирования */
.kp-popup--inline.kp-popup-body{padding:24px;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0;flex:none;}

.kp-rcalc-trust{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:18px;padding-top:18px;border-top:1px dashed #e2e8f0;}
.kp-rcalc-trust span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#475569;font-weight:500;}
.kp-rcalc-trust svg{color:var(--hovercolor,#d33434);flex:0 0 auto;}

/* Навигация шагов */
.kp-rcalc-nav{display:flex;justify-content:space-between;gap:14px;padding-top:24px;border-top:1px solid #e2e8f0;}
.kp-rcalc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;font-size:15px;font-weight:700;border-radius:10px;cursor:pointer;transition:all .18s ease;font-family:inherit;border:none;}
.kp-rcalc-btn:disabled{opacity:.4;cursor:not-allowed;}
.kp-rcalc-btn--ghost{background:#f1f5f9;color:#475569;}
.kp-rcalc-btn--ghost:hover:not(:disabled){background:#e2e8f0;color:#0f172a;}
.kp-rcalc-btn--primary{background:var(--hovercolor,#d33434);color:#fff;box-shadow:0 8px 20px rgba(211,52,52,.3);}
.kp-rcalc-btn--primary:hover:not(:disabled){background:#e84747;transform:translateY(-1px);box-shadow:0 12px 26px rgba(211,52,52,.4);}

.kp-rcalc-error{padding:12px 16px;background:rgba(220,38,38,.08);color:#b91c1c;border:1px solid rgba(220,38,38,.25);border-radius:8px;font-size:13px;font-weight:500;margin-bottom:14px;animation:kpRcalcFadeIn .25s ease;}

/* Правая колонка: SVG + result */
.kp-rcalc-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:18px;}
@media(max-width:1100px){.kp-rcalc-side{position:static;}}

.kp-rcalc-svg-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);border-radius:var(--kp-radius-lg,20px);padding:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.kp-rcalc-svg-box::before{content:'';position:absolute;top:-60px;right:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.3) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-rcalc-svg-eyebrow{position:relative;z-index:1;display:inline-block;padding:5px 12px;background:rgba(255,255,255,.1);color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:4px;margin-bottom:12px;}
.kp-rcalc-svg{display:block;width:100%;height:auto;border-radius:12px;}

.kp-rcalc-result{background:#fff;border:1px solid #e2e8f0;border-radius:var(--kp-radius-lg,20px);padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--kp-shadow-md,0 12px 28px rgba(15,23,42,.1));}
.kp-rcalc-result-label{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.04em;text-transform:uppercase;}
.kp-rcalc-result-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1;font-family:var(--fonttitle,Ruberoid,inherit);}
.kp-rcalc-result-from{font-size:14px;font-weight:600;color:#94a3b8;}
.kp-rcalc-result-num{font-size:clamp(32px,4.4vw,44px);font-weight:800;color:#0f172a;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.kp-rcalc-result-cur{font-size:24px;font-weight:700;color:#0f172a;}
.kp-rcalc-result-range{font-size:12px;color:#64748b;}
.kp-rcalc-result-range b{color:#0f172a;font-weight:700;font-variant-numeric:tabular-nums;}

.kp-rcalc-result-detail{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;border-top:1px dashed #e2e8f0;border-bottom:1px dashed #e2e8f0;padding:14px 0;}
.kp-rcalc-result-detail li{display:flex;justify-content:space-between;gap:14px;font-size:13px;align-items:baseline;}
.kp-rcalc-result-detail span{color:#64748b;}
.kp-rcalc-result-detail b{font-weight:700;color:#0f172a;text-align:right;}

.kp-rcalc-result-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;}
.kp-rcalc-result-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--hovercolor,#d33434) 0%,#f97316 100%);border-radius:3px;transition:width .35s ease;}

.kp-rcalc-result-disclaimer{font-size:11px;line-height:1.5;color:#94a3b8;margin:0;}

/* Includes-секция */
.kp-rcalc-includes{padding:64px 0;background:#fff;}
.kp-rcalc-includes-h{text-align:center;max-width:760px;margin:0 auto 36px;}
.kp-rcalc-includes-h h2{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:#0f172a;}
.kp-rcalc-includes-sub{font-size:15px;line-height:1.6;color:#64748b;margin:0;}
.kp-rcalc-includes-grid{gap:18px;}
.kp-rcalc-include-card{padding:28px 24px;background:#fff;border:1px solid #e2e8f0;border-radius:var(--kp-radius-md,14px);transition:all .25s ease;}
.kp-rcalc-include-card:hover{border-color:rgba(211,52,52,.25);box-shadow:0 12px 28px rgba(211,52,52,.12);transform:translateY(-3px);}
.kp-rcalc-include-card h3{font-size:18px;font-weight:700;margin:14px 0 8px;color:#0f172a;}
.kp-rcalc-include-card p{font-size:14px;line-height:1.6;color:#475569;margin:0;}

/* FAQ */
.kp-rcalc-faq{padding:48px 0 64px;background:#f8fafc;}
.kp-rcalc-faq-h{text-align:center;max-width:680px;margin:0 auto 32px;}
.kp-rcalc-faq-h h2{font-size:clamp(24px,2.6vw,32px);font-weight:800;margin:0;color:#0f172a;letter-spacing:-.01em;}
.kp-rcalc-faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.kp-rcalc-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
.kp-rcalc-faq-item[open]{border-color:rgba(211,52,52,.3);box-shadow:0 8px 22px rgba(15,23,42,.06);}
.kp-rcalc-faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;list-style:none;font-size:16px;font-weight:700;color:#0f172a;line-height:1.35;user-select:none;}
.kp-rcalc-faq-item summary::-webkit-details-marker{display:none;}
.kp-rcalc-faq-item summary:hover{color:var(--hovercolor,#d33434);}
.kp-rcalc-faq-q{flex:1 1 auto;}
.kp-rcalc-faq-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f1f5f9;color:#475569;transition:all .25s ease;}
.kp-rcalc-faq-item[open] .kp-rcalc-faq-toggle{transform:rotate(180deg);background:var(--hovercolor,#d33434);color:#fff;}
.kp-rcalc-faq-a{padding:0 22px 22px;font-size:15px;line-height:1.65;color:#334155;}
.kp-rcalc-faq-a strong{color:#0f172a;}

/* Префилл-уведомление (когда параметры подгружены через ?roof/?material/?area из мини-калькулятора) */
.kp-rcalc-prefill-notice{display:flex;align-items:center;gap:10px;padding:14px 18px;margin:0 0 18px;background:linear-gradient(95deg,rgba(34,197,94,.1),rgba(16,185,129,.06));border:1px solid rgba(34,197,94,.3);color:#065f46;border-radius:10px;font-size:14px;font-weight:600;line-height:1.4;}
.kp-rcalc-prefill-notice svg{color:#16a34a;flex:0 0 auto;}

/* CTA в финале страницы */
.kp-rcalc-cta-sec{padding:0 0 72px;background:#f8fafc;}
.kp-rcalc-cta-sec .kp-cta-box .kp-calc-h2{font-size:clamp(24px,3vw,36px);line-height:1.15;font-weight:800;margin:0 0 12px;color:#fff;letter-spacing:-.01em;text-align:left;}
.kp-rcalc-cta-sec .kp-cta-box .kp-calc-sub{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:rgba(255,255,255,.78);margin:0;max-width:560px;}

/* Mobile-полировка для wizard */
@media(max-width:600px){
.kp-rcalc-app{padding:24px 0;}
.kp-rcalc-step-h h2{font-size:22px;}
.kp-rcalc-result-num{font-size:32px;}
.kp-rcalc-result{padding:20px;}
.kp-rcalc-svg-box{padding:14px;}
.kp-rcalc-includes{padding:40px 0;}
.kp-rcalc-faq{padding:32px 0 48px;}
}


/* === Quick-calc на странице услуги (kp-quickcalc) === */
/* Мини-калькулятор «дразнилка» под H1 каждого лендинга. Узко-специализированный под материал страницы. CTA уводит на /kalkulyator/ с предзаполненными параметрами. */
#quickcalc.block{padding:48px 0;}
.kp-qc-box{position:relative;background:linear-gradient(140deg,#11151b 0%,#161b22 45%,#2a1010 100%);color:#fff;border-radius:22px;padding:44px 48px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);gap:44px;align-items:stretch;overflow:hidden;border:1px solid rgba(255,255,255,.06);}
.kp-qc-box::before{content:'';position:absolute;top:-160px;left:-120px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.32) 0%,rgba(211,52,52,0) 70%);pointer-events:none;z-index:0;}
.kp-qc-box::after{content:'';position:absolute;bottom:-200px;right:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(184,29,29,.22) 0%,rgba(184,29,29,0) 70%);pointer-events:none;z-index:0;}
.kp-qc-form{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;}
.kp-qc-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:rgba(211,52,52,.18);color:#fca5a5;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:6px;width:fit-content;border:1px solid rgba(252,165,165,.18);}
.kp-qc-eyebrow svg{flex:0 0 auto;}
.kp-qc-h2{font-size:clamp(22px,2.6vw,34px);line-height:1.18;font-weight:800;margin:0;color:#fff;letter-spacing:-.01em;text-align:left;}
.kp-qc-mat-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;font-size:13px;color:rgba(255,255,255,.92);width:fit-content;max-width:100%;}
.kp-qc-mat-pill .kp-qc-swatch{flex:0 0 auto;width:18px;height:18px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);}
.kp-qc-mat-pill b{font-weight:700;color:#fff;}
.kp-qc-mat-pill em{font-style:normal;color:#fca5a5;font-weight:700;margin-inline-start:6px;}
.kp-qc-fields{display:grid;grid-template-columns:1fr;gap:18px;}
.kp-qc-field{display:flex;flex-direction:column;gap:10px;}
.kp-qc-field-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:rgba(255,255,255,.66);font-weight:600;letter-spacing:.02em;}
.kp-qc-field-label b{color:#fff;font-size:15px;font-weight:700;}
.kp-qc-area-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;}
.kp-qc-area-num{height:48px;padding:0 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#fff;font-size:18px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield;width:108px;transition:border-color .18s ease,background .18s ease;}
.kp-qc-area-num:focus{outline:none;border-color:rgba(211,52,52,.6);background:rgba(255,255,255,.08);}
.kp-qc-area-num::-webkit-outer-spin-button,.kp-qc-area-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.kp-qc-area-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:rgba(255,255,255,.1);border-radius:3px;outline:none;cursor:pointer;}
.kp-qc-area-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 0 4px rgba(211,52,52,.4),0 4px 10px rgba(0,0,0,.4);transition:transform .15s ease,box-shadow .15s ease;}
.kp-qc-area-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 6px rgba(211,52,52,.5),0 6px 14px rgba(0,0,0,.5);}
.kp-qc-area-slider::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 0 4px rgba(211,52,52,.4),0 4px 10px rgba(0,0,0,.4);}
.kp-qc-roofs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.kp-qc-roof{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.1);border-radius:10px;color:rgba(255,255,255,.78);font-size:12px;font-weight:600;cursor:pointer;text-align:center;line-height:1.2;transition:all .18s ease;}
.kp-qc-roof svg{color:rgba(255,255,255,.6);transition:color .18s ease;}
.kp-qc-roof:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;}
.kp-qc-roof:hover svg{color:rgba(255,255,255,.85);}
.kp-qc-roof.is-active{background:rgba(211,52,52,.18);border-color:rgba(211,52,52,.7);color:#fff;box-shadow:0 0 0 3px rgba(211,52,52,.12);}
.kp-qc-roof.is-active svg{color:#fca5a5;}
.kp-qc-feats{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:14px 22px;font-size:13px;color:rgba(255,255,255,.78);}
.kp-qc-feats li{display:inline-flex;align-items:center;gap:8px;}
.kp-qc-feats li svg{color:#fca5a5;flex:0 0 auto;}
.kp-qc-result{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;padding:32px 28px;background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,.01) 100%);border:1px solid rgba(255,255,255,.1);border-radius:16px;animation:kp-qc-pulse 3.2s ease-in-out infinite;}
@keyframes kp-qc-pulse{0%,100%{box-shadow:0 0 0 0 rgba(211,52,52,.0),inset 0 0 0 1px rgba(255,255,255,.04);}50%{box-shadow:0 0 28px -4px rgba(211,52,52,.35),inset 0 0 0 1px rgba(252,165,165,.18);}}
.kp-qc-result-label{font-size:12px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.14em;font-weight:700;}
.kp-qc-result-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.kp-qc-result-from{font-size:14px;color:rgba(255,255,255,.6);font-weight:600;}
.kp-qc-result-num{font-size:clamp(2.4rem,4.4vw,3.6rem);font-weight:800;line-height:1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:linear-gradient(180deg,#fff 0%,#fca5a5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.kp-qc-result-cur{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:800;color:#fca5a5;}
.kp-qc-result-range{font-size:13px;color:rgba(255,255,255,.62);line-height:1.5;}
.kp-qc-result-range b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums;}
.kp-qc-meter{position:relative;width:100%;height:6px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;}
.kp-qc-meter-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#7c1a1a 0%,#d33434 60%,#fca5a5 100%);border-radius:3px;width:0%;transition:width .35s cubic-bezier(.4,0,.2,1);}
.kp-qc-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 24px;background:#d33434;color:#fff;font-size:15px;font-weight:700;border-radius:10px;text-decoration:none;cursor:pointer;border:none;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;box-shadow:0 12px 28px -4px rgba(211,52,52,.5);}
.kp-qc-cta:hover{background:#e84747;color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px -4px rgba(211,52,52,.6);text-decoration:none;}
.kp-qc-cta svg{flex:0 0 auto;transition:transform .18s ease;}
.kp-qc-cta:hover svg{transform:translateX(3px);}
.kp-qc-tip{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:rgba(255,255,255,.55);line-height:1.5;}
.kp-qc-tip svg{color:#fca5a5;flex:0 0 auto;margin-top:2px;}
@media(max-width:900px){.kp-qc-box{grid-template-columns:1fr;gap:28px;padding:32px 26px;border-radius:18px;}.kp-qc-result{padding:24px 22px;}.kp-qc-roofs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}}
@media(max-width:600px){#quickcalc.block{padding:32px 0;}.kp-qc-box{padding:24px 18px;border-radius:14px;}.kp-qc-roofs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.kp-qc-area-row{grid-template-columns:1fr;}.kp-qc-area-num{width:100%;}.kp-qc-feats{gap:8px 16px;font-size:12px;}.kp-qc-result-num{font-size:2.4rem;}}

/* ========== БЛОГ — архив /blog/ + single статьи (v1, 2026-05-04) ========== */
.kp-blog-hero-stats .kp-stat,.kp-page-hero-stats .kp-stat{display:flex;flex-direction:column;gap:6px;}
.kp-blog-hero-stats .kp-stat-num,.kp-page-hero-stats .kp-stat-num{font-family:var(--fonttitle,inherit);font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1;color:#fff;}
.kp-blog-hero-stats .kp-stat-lbl,.kp-page-hero-stats .kp-stat-lbl{font-size:13px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;}
.kp-blog-cats{padding:32px 0 8px;background:#fff;border-bottom:1px solid #f0f0f0;}
.kp-blog-cats-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.kp-blog-cat-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#f6f4f2;color:#1a171d;font-size:14px;font-weight:600;border-radius:999px;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease;text-decoration:none;}
.kp-blog-cat-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:rgba(15,23,42,.08);color:#475569;font-size:12px;font-weight:700;border-radius:999px;}
.kp-blog-cat-chip:hover{background:#fff;color:#d33434;border-color:#d33434;text-decoration:none;}
.kp-blog-cat-chip.is-active{background:#d33434;color:#fff;}
.kp-blog-cat-chip.is-active span{background:rgba(255,255,255,.25);color:#fff;}
.kp-blog-cat-chip svg{flex:0 0 auto;}
.kp-blog-grid-sec{padding:48px 0 64px;background:#fff;}
.kp-blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;}
.kp-article-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ececec;border-radius:18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;}
.kp-article-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(15,23,42,.08);border-color:#d8d8d8;}
.kp-article-card-thumb{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#e8e6e2,#dad7d2);overflow:hidden;position:relative;}
.kp-article-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kp-article-card:hover .kp-article-card-thumb img{transform:scale(1.05);}
.kp-article-card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(15,23,42,.18);}
.kp-article-card-cat{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;padding:6px 12px;background:rgba(15,23,42,.78);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;backdrop-filter:blur(8px);}
.kp-article-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1;}
.kp-article-card-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#7a7a7a;}
.kp-article-card-meta time,.kp-article-card-meta span{display:inline-flex;align-items:center;gap:5px;}
.kp-article-card-meta svg{color:#b3b3b3;flex:0 0 auto;}
.kp-article-card-title{margin:0;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.005em;}
.kp-article-card-title a{color:#1a171d;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s ease,color .18s ease;}
.kp-article-card-title a:hover{color:#d33434;background-size:100% 1px;text-decoration:none;}
.kp-article-card-lead{margin:0;font-size:14px;line-height:1.55;color:#5a5a5a;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.kp-article-card-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#d33434;font-size:14px;font-weight:600;text-decoration:none;align-self:flex-start;}
.kp-article-card-more svg{transition:transform .2s ease;}
.kp-article-card-more:hover{color:#e84747;text-decoration:none;}
.kp-article-card-more:hover svg{transform:translateX(4px);}
.kp-blog-pagination{margin-top:48px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.kp-blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;background:#fff;border:1px solid #e8e8e8;color:#1a171d;font-size:14px;font-weight:600;border-radius:8px;text-decoration:none;transition:all .18s ease;}
.kp-blog-pagination .page-numbers:hover{border-color:#d33434;color:#d33434;text-decoration:none;}
.kp-blog-pagination .page-numbers.current{background:#d33434;color:#fff;border-color:#d33434;}
.kp-blog-pagination .page-numbers.dots{border:none;background:transparent;}
.kp-blog-empty{text-align:center;padding:80px 20px;color:#5a5a5a;}
.kp-blog-empty svg{color:#d8d8d8;margin-bottom:24px;}
.kp-blog-empty h2{margin:0 0 12px;font-size:24px;font-weight:700;color:#1a171d;}
.kp-blog-empty p{margin:0;font-size:15px;line-height:1.6;}
.kp-blog-cta{padding:48px 0 80px;background:#fff;}
.kp-article-hero{--kp-hero-pad:44px 0 56px;--kp-hero-mb:0;}
.kp-article-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-bottom:16px;font-size:13px;color:rgba(255,255,255,.7);}
.kp-article-hero-meta time,.kp-article-hero-meta span,.kp-article-hero-meta .kp-article-hero-cat{display:inline-flex;align-items:center;gap:6px;}
.kp-article-hero-meta svg{color:rgba(255,255,255,.55);flex:0 0 auto;}
.kp-article-hero-cat{padding:5px 12px;background:rgba(255,255,255,.1);border-radius:999px;color:#fff;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.15);transition:all .18s ease;}
.kp-article-hero-cat:hover{background:rgba(211,52,52,.25);border-color:rgba(211,52,52,.5);color:#fff;text-decoration:none;}
.kp-article-h1{font-size:clamp(28px,4vw,46px);max-width:880px;margin:0 0 16px;}
.kp-article-lead{font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:rgba(255,255,255,.85);max-width:780px;margin:0;}
.kp-article-thumb{margin:-32px 0 0;}
.kp-article-thumb .container{position:relative;}
.kp-article-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;box-shadow:0 30px 60px -20px rgba(15,23,42,.3);display:block;}
.kp-article-body{padding:64px 0 48px;background:#fff;}
.kp-article-container{max-width:820px;}
.kp-art-block{margin:0 0 28px;}
.kp-art-block:last-child{margin-bottom:0;}
.kp-art-paragraph{font-size:17px;line-height:1.75;color:#2d2d2d;}
.kp-art-paragraph p{margin:0 0 18px;}
.kp-art-paragraph p:last-child{margin-bottom:0;}
.kp-art-paragraph a{color:#d33434;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .18s ease;}
.kp-art-paragraph a:hover{color:#e84747;}
.kp-art-paragraph strong{font-weight:700;color:#1a171d;}
.kp-art-h2{font-size:clamp(24px,2.8vw,32px);line-height:1.2;font-weight:800;letter-spacing:-.01em;margin:48px 0 20px;color:#1a171d;scroll-margin-top:80px;}
.kp-art-h3{font-size:clamp(20px,2.2vw,24px);line-height:1.25;font-weight:700;margin:36px 0 16px;color:#1a171d;scroll-margin-top:80px;}
.kp-art-h4{font-size:18px;line-height:1.3;font-weight:700;margin:28px 0 12px;color:#1a171d;}
.kp-art-quote{position:relative;background:#fafaf8;border-left:4px solid #d33434;padding:32px 32px 28px 36px;margin:36px 0;border-radius:0 12px 12px 0;}
.kp-art-quote-mark{position:absolute;top:-12px;left:24px;color:#d33434;opacity:.2;}
.kp-art-quote-text{font-size:18px;line-height:1.6;font-style:italic;margin:0 0 16px;color:#1a171d;}
.kp-art-quote-author{font-style:normal;font-size:13px;color:#5a5a5a;}
.kp-art-quote-author strong{color:#1a171d;font-weight:700;display:block;margin-bottom:2px;}
.kp-art-image{margin:36px 0;}
.kp-art-image img{width:100%;border-radius:14px;display:block;}
.kp-art-image figcaption{margin-top:12px;font-size:13px;color:#7a7a7a;text-align:center;font-style:italic;}
.kp-art-list{margin:0 0 28px;padding:0;list-style:none;}
.kp-art-list li{position:relative;padding:12px 0 12px 36px;font-size:16px;line-height:1.6;color:#2d2d2d;border-bottom:1px solid #f0f0f0;}
.kp-art-list li:last-child{border-bottom:none;}
.kp-art-list--bullet li::before{content:"";position:absolute;left:14px;top:22px;width:8px;height:8px;border-radius:50%;background:#d33434;}
.kp-art-list--numbered{counter-reset:l;list-style:none;}
.kp-art-list--numbered li{counter-increment:l;}
.kp-art-list--numbered li::before{content:counter(l);position:absolute;left:0;top:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#d33434;color:#fff;font-size:13px;font-weight:700;border-radius:50%;}
.kp-art-list--numbered li{padding-left:44px;}
.kp-art-list--check li svg{position:absolute;left:6px;top:14px;color:#10b981;flex:0 0 auto;}
.kp-art-list--check li{padding-left:36px;}
.kp-art-comparison{margin:36px 0;}
.kp-art-comparison-title{font-size:20px;font-weight:700;margin:0 0 16px;color:#1a171d;}
.kp-art-comparison-table-wrap{overflow-x:auto;border:1px solid #ececec;border-radius:14px;}
.kp-art-comparison-table{width:100%;border-collapse:collapse;font-size:15px;}
.kp-art-comparison-table th{background:#fafaf8;padding:14px 18px;text-align:left;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#5a5a5a;border-bottom:1px solid #ececec;}
.kp-art-comparison-table td{padding:14px 18px;border-bottom:1px solid #f0f0f0;color:#2d2d2d;line-height:1.5;}
.kp-art-comparison-table tr:last-child td{border-bottom:none;}
.kp-art-comparison-table tr:nth-child(even) td{background:#fcfcfb;}
.kp-art-comparison-table th:first-child,.kp-art-comparison-table td:first-child{font-weight:600;}
.kp-art-steps{margin:36px 0;}
.kp-art-steps-title{font-size:22px;font-weight:700;margin:0 0 24px;color:#1a171d;}
.kp-art-steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.kp-art-step{position:relative;display:grid;grid-template-columns:64px 1fr;gap:20px;background:#fff;border:1px solid #ececec;border-radius:14px;padding:22px 24px;transition:border-color .18s ease,transform .18s ease;}
.kp-art-step:hover{border-color:#d33434;transform:translateX(4px);}
.kp-art-step-num{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#1a171d,#3a1414);color:#fff;font-size:20px;font-weight:800;border-radius:12px;flex:0 0 auto;}
.kp-art-step-num svg{color:#fca5a5;}
.kp-art-step-title{font-size:17px;font-weight:700;margin:0 0 6px;color:#1a171d;}
.kp-art-step-text{font-size:15px;line-height:1.6;color:#5a5a5a;}
.kp-art-faq{margin:36px 0;}
.kp-art-faq-title{font-size:22px;font-weight:700;margin:0 0 20px;color:#1a171d;}
.kp-art-faq-list{display:flex;flex-direction:column;gap:10px;}
.kp-art-faq-item{background:#fafaf8;border:1px solid #ececec;border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
.kp-art-faq-item[open]{border-color:#d33434;box-shadow:0 6px 20px rgba(211,52,52,.06);}
.kp-art-faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-size:16px;font-weight:600;color:#1a171d;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.kp-art-faq-item summary::-webkit-details-marker{display:none;}
.kp-art-faq-chev{flex:0 0 auto;color:#d33434;transition:transform .2s ease;}
.kp-art-faq-item[open] .kp-art-faq-chev{transform:rotate(180deg);}
.kp-art-faq-answer{padding:0 22px 20px;color:#2d2d2d;line-height:1.65;font-size:15px;}
.kp-art-faq-answer p{margin:0 0 12px;}
.kp-art-faq-answer p:last-child{margin-bottom:0;}
.kp-art-prices{margin:36px 0;}
.kp-art-prices-title{font-size:20px;font-weight:700;margin:0 0 16px;color:#1a171d;}
.kp-art-prices-wrap{overflow-x:auto;border:1px solid #ececec;border-radius:14px;}
.kp-art-prices-table{width:100%;border-collapse:collapse;font-size:15px;}
.kp-art-prices-table th{background:#fafaf8;padding:12px 16px;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#5a5a5a;border-bottom:1px solid #ececec;}
.kp-art-prices-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#2d2d2d;}
.kp-art-prices-table tr:last-child td{border-bottom:none;}
.kp-art-prices-price{font-weight:700;color:#d33434;white-space:nowrap;}
.kp-art-prices-foot{margin-top:14px;text-align:right;}
.kp-art-prices-link{display:inline-flex;align-items:center;gap:6px;color:#d33434;font-size:14px;font-weight:600;text-decoration:none;}
.kp-art-prices-link:hover{color:#e84747;text-decoration:underline;}
.kp-art-cta{margin:48px 0;}
.kp-art-cta .kp-cta-box{padding:36px 32px;}
.kp-art-cta .kp-cta-box h3{font-size:22px;font-weight:800;margin:0 0 8px;color:#fff;}
.kp-art-video{margin:36px 0;}
.kp-art-video-frame{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;position:relative;}
.kp-art-video-frame iframe{width:100%;height:100%;border:0;display:block;}
.kp-art-video figcaption{margin-top:12px;font-size:13px;color:#7a7a7a;text-align:center;font-style:italic;}
.kp-art-video-fb{padding:60px 20px;text-align:center;color:#fff;}
.kp-art-gallery{margin:36px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.kp-art-gallery-item{display:block;border-radius:10px;overflow:hidden;aspect-ratio:1/1;}
.kp-art-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.kp-art-gallery-item:hover img{transform:scale(1.06);}
.kp-article-author{margin:64px 0 0;display:grid;grid-template-columns:120px 1fr;gap:24px;padding:32px;background:linear-gradient(135deg,#fafaf8,#fff);border:1px solid #ececec;border-radius:18px;}
.kp-article-author-pic img{width:96px;height:96px;border-radius:50%;object-fit:cover;}
.kp-article-author-pic-fb{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#1a171d,#3a1414);color:#fff;font-size:36px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.kp-article-author-name{margin:8px 0 4px;font-size:20px;font-weight:700;color:#1a171d;}
.kp-article-author-job{margin:0 0 12px;font-size:14px;color:#d33434;font-weight:600;}
.kp-article-author-bio{margin:0;font-size:15px;line-height:1.6;color:#5a5a5a;}
.kp-article-related{padding:80px 0 48px;background:#fafaf8;}
.kp-article-related-h{margin-bottom:36px;text-align:center;}
.kp-article-related-title{font-size:clamp(22px,2.6vw,32px);font-weight:800;margin:0;color:#1a171d;}
.kp-article-cta{padding:48px 0 80px;background:#fafaf8;}
@media(max-width:768px){.kp-blog-grid{grid-template-columns:1fr;gap:20px;}.kp-article-card-body{padding:18px 20px 22px;}.kp-article-card-title{font-size:17px;}.kp-article-body{padding:48px 0 32px;}.kp-art-step{grid-template-columns:48px 1fr;gap:14px;padding:18px 18px;}.kp-art-step-num{width:38px;height:38px;font-size:16px;}.kp-article-author{grid-template-columns:1fr;text-align:center;padding:28px 22px;}.kp-article-author-pic{display:flex;justify-content:center;}.kp-article-thumb{margin-top:-24px;}.kp-article-thumb img{border-radius:12px;}.kp-blog-cats-row{gap:8px;}.kp-blog-cat-chip{padding:8px 14px;font-size:13px;}.kp-art-quote{padding:24px 22px 22px 26px;margin:28px -8px;}}

/* ========== /moskva/ — родительская страница округов ========== */
.kp-moskva-page .kp-page-hero--moskva::after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 4 7v10l8 5 8-5V7z'/%3E%3Cpath d='M4 7l8 5 8-5'/%3E%3Cpath d='M12 12v10'/%3E%3C/svg%3E");top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.55;}
@media(max-width:1024px){.kp-page-hero--moskva::after{width:220px;height:220px;right:24px;opacity:.4;}}
@media(max-width:768px){.kp-page-hero--moskva::after{display:none;}}
.kp-moskva-okrugs{padding:48px 0 24px;}
.kp-moskva-section-h{margin:0 0 28px;}
.kp-moskva-section-h h2{font-size:clamp(24px,2.8vw,36px);font-weight:800;letter-spacing:-.01em;margin:0 0 8px;}
.kp-moskva-h2-sub{font-size:15px;line-height:1.6;color:#475569;margin:0;max-width:760px;}
.kp-moskva-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.kp-moskva-why{padding:48px 0;background:#fafaf8;}
.kp-moskva-faq{padding:48px 0;}
.kp-moskva-faq h2,.kp-okrug-faq h2{font-size:clamp(24px,2.8vw,36px);font-weight:800;letter-spacing:-.01em;margin:0 0 24px;}
.kp-moskva-cta{padding:24px 0 64px;}

/* ========== /moskva/<okrug>/ — отдельная страница округа ========== */
.kp-okrug-page .kp-page-hero--okrug::after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.55;}
@media(max-width:1024px){.kp-page-hero--okrug::after{width:220px;height:220px;right:24px;opacity:.4;}}
@media(max-width:768px){.kp-page-hero--okrug::after{display:none;}}
.kp-okrug-intro{padding:48px 0;}
.kp-okrug-intro-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:start;}
.kp-okrug-intro-text h2{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.01em;margin:0 0 16px;}
.kp-okrug-intro-text p{font-size:15px;line-height:1.7;color:#334155;margin:0 0 14px;}
.kp-okrug-jobs{padding:16px 18px;background:#fafaf8;border-left:3px solid var(--hovercolor,#d33434);border-radius:6px;font-size:14px !important;color:#475569 !important;margin-top:8px !important;}
.kp-okrug-intro-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px;}
.kp-okrug-aside{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px 22px;box-shadow:var(--kp-shadow-sm);}
.kp-okrug-aside-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#475569;margin-bottom:14px;}
.kp-okrug-aside-h svg{color:var(--hovercolor,#d33434);}
.kp-okrug-chips{display:flex;flex-wrap:wrap;gap:6px;}
.kp-okrug-chip{display:inline-block;padding:6px 12px;background:#f1f5f9;color:#0f172a;font-size:13px;font-weight:500;border-radius:999px;border:1px solid #e2e8f0;}
.kp-okrug-chip--metro{background:rgba(211,52,52,.06);border-color:rgba(211,52,52,.2);color:#9c1e1e;}
@media(max-width:900px){.kp-okrug-intro-grid{grid-template-columns:1fr;}.kp-okrug-intro-side{position:static;}}
.kp-okrug-services{padding:48px 0;background:#fafaf8;}
.kp-okrug-services h2{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.01em;margin:0 0 24px;}
.kp-okrug-svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;}
.kp-okrug-svc{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 24px;background:#fff;border:1.5px solid transparent;border-radius:14px;color:#0f172a;text-decoration:none;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease,border-color .25s ease;}
.kp-okrug-svc:hover{border-color:var(--hovercolor,#d33434);transform:translateY(-3px);box-shadow:0 16px 32px rgba(211,52,52,.12);text-decoration:none;color:#0f172a;}
.kp-okrug-svc-ico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);border-radius:10px;}
.kp-okrug-svc-name{font-size:16px;font-weight:700;line-height:1.3;}
.kp-okrug-svc-price{font-size:14px;color:#64748b;}
.kp-okrug-svc-price b{color:#0f172a;font-weight:700;font-size:18px;}
.kp-okrug-svc-arr{position:absolute;top:22px;right:22px;color:#cbd5e1;font-size:18px;transition:color .2s ease,transform .2s ease;}
.kp-okrug-svc:hover .kp-okrug-svc-arr{color:var(--hovercolor,#d33434);transform:translateX(4px);}
.kp-okrug-svc-foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;justify-content:flex-start;}
.kp-okrug-gallery{padding:48px 0;}
.kp-okrug-gallery h2{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.01em;margin:0 0 24px;}
.kp-okrug-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.kp-okrug-gallery-item{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#f1f5f9;transition:transform .25s ease,box-shadow .25s ease;}
.kp-okrug-gallery-item:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(15,23,42,.12);}
.kp-okrug-gallery-img,.kp-okrug-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kp-okrug-gallery-item:hover img{transform:scale(1.06);}
.kp-okrug-reviews{padding:48px 0;background:#fafaf8;}
.kp-okrug-reviews h2{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.01em;margin:0 0 24px;}
.kp-okrug-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.kp-okrug-reviews-foot{margin-top:28px;display:flex;justify-content:flex-start;}
.kp-okrug-calc{padding:32px 0;}
.kp-okrug-calc-box{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:32px 36px;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:var(--kp-radius-lg);position:relative;overflow:hidden;}
.kp-okrug-calc-box::before{content:'';position:absolute;top:-80px;right:-40px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.4) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-okrug-calc-ico{flex:0 0 auto;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;border-radius:18px;position:relative;z-index:1;}
.kp-okrug-calc-text{flex:1 1 320px;position:relative;z-index:1;}
.kp-okrug-calc-text h2{font-size:clamp(20px,2.2vw,28px);font-weight:800;letter-spacing:-.01em;margin:0 0 8px;color:#fff;}
.kp-okrug-calc-text p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.78);margin:0;}
.kp-okrug-calc-actions{flex:0 0 auto;position:relative;z-index:1;}
@media(max-width:600px){.kp-okrug-calc-box{padding:24px 22px;}.kp-okrug-calc-actions{width:100%;}.kp-okrug-calc-actions .kp-calc-btn{width:100%;}}
.kp-okrug-faq{padding:48px 0;}
.kp-okrug-cta{padding:24px 0 64px;}

/* ========== Универсальный список FAQ (используем на /moskva/ и /moskva/<okrug>/) ========== */
.kp-faq-list{display:flex;flex-direction:column;gap:10px;max-width:min(72ch,860px);}
.kp-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;}
.kp-faq-item[open]{border-color:rgba(211,52,52,.3);box-shadow:0 8px 24px rgba(15,23,42,.06);}
.kp-faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:16px;font-weight:600;color:#0f172a;}
.kp-faq-item summary::-webkit-details-marker{display:none;}
.kp-faq-item summary:hover{color:var(--hovercolor,#d33434);}
.kp-faq-toggle{flex:0 0 auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#475569;border-radius:50%;font-size:18px;font-weight:600;line-height:1;transition:transform .25s ease,background .2s ease,color .2s ease;}
.kp-faq-item[open] .kp-faq-toggle{transform:rotate(45deg);background:rgba(211,52,52,.1);color:var(--hovercolor,#d33434);}
.kp-faq-answer{padding:0 22px 20px;font-size:15px;line-height:1.7;color:#334155;}
.kp-faq-answer p{margin:0 0 .6em;}
.kp-faq-answer p:last-child{margin-bottom:0;}

/* Чипы округов на /geo/ — горизонтальный wrap. */
.geo-okrugs{padding:48px 0;background:#fafaf8;}
.geo-okrug-chips{display:flex;flex-wrap:wrap;gap:10px;}
.geo-okrug-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;}
.geo-okrug-chip:hover{border-color:var(--hovercolor,#d33434);color:var(--hovercolor,#d33434);transform:translateY(-2px);box-shadow:0 8px 20px rgba(211,52,52,.12);text-decoration:none;}
.geo-okrug-chip em{font-style:normal;font-size:12px;color:#94a3b8;font-weight:500;}
.geo-okrug-chip:hover em{color:var(--hovercolor,#d33434);}
.geo-okrug-chip--all{background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;border-color:transparent;}
.geo-okrug-chip--all:hover{color:#fff;border-color:transparent;background:linear-gradient(135deg,#1e1b1b 0%,#5c1f1f 100%);box-shadow:0 8px 20px rgba(15,23,42,.3);}
.geo-okrug-chip--all svg{color:#fca5a5;}

/* ───────────── kp_project — Наши работы (CPT) ───────────── */
.kp-page-hero--projects::after{top:50%;right:40px;bottom:auto;left:auto;width:320px;height:320px;transform:translateY(-50%);border-radius:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.55;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E");}
.kp-projects-controls{padding:24px 0 8px;background:#fafaf8;}
.kp-projects-filter{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px 16px;}
.kp-projects-filter-label{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:#475569;letter-spacing:.02em;padding-top:9px;}
.kp-projects-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1;}
.kp-projects-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1.5px solid #e2e8f0;color:#0f172a;font-size:13px;font-weight:600;border-radius:999px;text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease;}
.kp-projects-chip em{font-style:normal;font-size:11px;color:#94a3b8;font-weight:500;}
.kp-projects-chip:hover{border-color:var(--hovercolor,#d33434);color:var(--hovercolor,#d33434);transform:translateY(-1px);text-decoration:none;}
.kp-projects-chip:hover em{color:var(--hovercolor,#d33434);}
.kp-projects-chip.is-active{background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;border-color:transparent;}
.kp-projects-chip.is-active em{color:#fca5a5;}
.kp-projects-list{padding:32px 0 56px;}
.kp-projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
.kp-project-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e8ecf2;border-radius:14px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.kp-project-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,23,42,.10);border-color:#cbd5e1;}
.kp-project-card-thumb{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#f1f5f9;}
.kp-project-card-thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kp-project-card:hover .kp-project-card-thumb-img{transform:scale(1.04);}
.kp-project-card-thumb-fb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#94a3b8;}
.kp-project-card-photos{position:absolute;top:12px;right:12px;background:rgba(15,23,42,.78);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.02em;}
.kp-project-card-svc{position:absolute;left:12px;bottom:12px;background:linear-gradient(135deg,#3a1414 0%,#0f172a 100%);color:#fff;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:6px;letter-spacing:.01em;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kp-project-card-body{display:flex;flex-direction:column;gap:12px;padding:20px;flex:1;}
.kp-project-card-title{font-size:18px;font-weight:700;line-height:1.32;margin:0;color:#0f172a;}
.kp-project-card-title a{color:inherit;text-decoration:none;}
.kp-project-card-title a:hover{color:var(--hovercolor,#d33434);}
.kp-project-card-params{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;}
.kp-project-card-params div{display:flex;flex-direction:column;gap:2px;}
.kp-project-card-params dt{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;}
.kp-project-card-params dt svg{color:#94a3b8;flex:0 0 auto;}
.kp-project-card-params dd{margin:0;font-size:13.5px;font-weight:600;color:#0f172a;}
.kp-project-card-price{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:8px;border-top:1px dashed #e2e8f0;}
.kp-project-card-price-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;}
.kp-project-card-price strong{font-size:17px;font-weight:800;color:var(--hovercolor,#d33434);}
.kp-project-card-more{display:inline-flex;align-items:center;gap:6px;color:var(--hovercolor,#d33434);font-size:13.5px;font-weight:600;text-decoration:none;align-self:flex-start;}
.kp-project-card-more:hover{color:#0f172a;text-decoration:none;}
.kp-projects-pag{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:36px;}
.kp-projects-pag .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:8px;border:1.5px solid #e2e8f0;color:#0f172a;font-weight:600;text-decoration:none;background:#fff;transition:border-color .18s,color .18s,background .18s;}
.kp-projects-pag .page-numbers:hover{border-color:var(--hovercolor,#d33434);color:var(--hovercolor,#d33434);}
.kp-projects-pag .page-numbers.current{background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;border-color:transparent;}
.kp-projects-empty{text-align:center;padding:48px 16px;color:#475569;}
.kp-projects-cta-sec{padding:0 0 56px;}
/* Single project */
.kp-project-body{padding:36px 0 48px;}
.kp-project-gallery{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:36px;}
.kp-project-gallery-main{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#f1f5f9;}
.kp-project-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.kp-project-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.kp-project-gallery-thumb{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#f1f5f9;transition:transform .2s ease;}
.kp-project-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.kp-project-gallery-thumb:hover{transform:translateY(-2px);}
.kp-project-content{display:flex;flex-direction:column;gap:32px;max-width:min(74ch,880px);}
.kp-project-params h2{font-size:24px;font-weight:700;margin:0 0 16px;color:#0f172a;}
.kp-project-params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px;margin:0;padding:24px;background:#fafaf8;border:1px solid #e8ecf2;border-radius:12px;}
.kp-project-params-grid div{display:flex;flex-direction:column;gap:4px;}
.kp-project-params-grid dt{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;}
.kp-project-params-grid dt svg{color:var(--hovercolor,#d33434);flex:0 0 auto;}
.kp-project-params-grid dd{margin:0;font-size:15px;font-weight:600;color:#0f172a;}
.kp-project-text{font-size:16px;line-height:1.7;color:#1e293b;}
.kp-project-text p{margin:0 0 14px;}
.kp-project-text h2{font-size:24px;font-weight:700;margin:24px 0 14px;color:#0f172a;}
.kp-project-text h3{font-size:20px;font-weight:700;margin:20px 0 12px;color:#0f172a;}
.kp-project-text ul,.kp-project-text ol{margin:0 0 14px;padding-left:22px;}
.kp-project-text li{margin-bottom:6px;}
.kp-project-service-link{margin-top:14px;}
.kp-project-service-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 24px;background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;border-radius:12px;text-decoration:none;font-weight:600;font-size:15px;transition:transform .2s ease,box-shadow .2s ease;}
.kp-project-service-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.18);color:#fff;text-decoration:none;}
.kp-project-service-cta svg:last-of-type{margin-left:auto;color:var(--hovercolor,#fca5a5);}
.kp-project-related-reviews,.kp-project-related-blog{padding:48px 0;background:#fafaf8;}
.kp-project-related-blog{background:#fff;}
.kp-project-related-h{margin-bottom:28px;}
.kp-project-related-h h2{font-size:clamp(22px,2.4vw,30px);font-weight:700;margin:0;color:#0f172a;}
.kp-project-related-foot{margin-top:24px;text-align:center;}
/* Land.php — секции «Готовые проекты» и «Полезные статьи». */
.kp-land-projects-sec,.kp-land-blog-sec{padding:48px 0;background:#fafaf8;}
.kp-land-blog-sec{background:#fff;}
.kp-land-projects-head,.kp-land-blog-head{margin-bottom:24px;display:flex;flex-direction:column;gap:6px;}
.kp-land-projects-head h2,.kp-land-blog-head h2{font-size:clamp(22px,2.4vw,30px);font-weight:700;margin:0;color:#0f172a;}
.kp-land-projects-sub,.kp-land-blog-sub{margin:0;font-size:15px;color:#475569;line-height:1.5;}
.kp-land-projects-foot,.kp-land-blog-foot{margin-top:24px;text-align:center;}
/* Single blog post: «Может пригодиться» — мини-блок ссылок на услуги/проекты. */
.kp-blog-crosslinks{padding:32px 0;background:#fafaf8;}
.kp-blog-crosslinks-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:720px){.kp-blog-crosslinks-grid{grid-template-columns:1fr;}}
.kp-blog-crosslinks-col{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:20px;}
.kp-blog-crosslinks-col h3{font-size:16px;font-weight:700;margin:0 0 14px;color:#0f172a;display:flex;align-items:center;gap:8px;}
.kp-blog-crosslinks-col h3 svg{color:var(--hovercolor,#d33434);}
.kp-blog-crosslinks-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.kp-blog-crosslinks-col a{display:inline-flex;align-items:center;gap:6px;color:#1e293b;text-decoration:none;font-size:14.5px;font-weight:500;border-bottom:1px dashed #cbd5e1;padding-bottom:2px;transition:color .18s,border-color .18s;}
.kp-blog-crosslinks-col a:hover{color:var(--hovercolor,#d33434);border-color:var(--hovercolor,#d33434);text-decoration:none;}
@media(max-width:600px){.kp-projects-grid{grid-template-columns:1fr;}.kp-project-card-params{grid-template-columns:1fr;}.kp-project-params-grid{grid-template-columns:1fr;}}


/* ===== SEO-полировка лендингов услуг (Day 7): этапы, сравнение, преимущества, FAQ, inline CTA ===== */
/* Префикс .kp-uslg-* — все стили скоупятся на лендинги услуг (land.php). Используем существующие компоненты темы (.kp-eyebrow, .kp-feat-ico, .kp-popup-body, .kp-faq-list) где возможно. */

/* === #etapy === */
.kp-uslg-etapy{padding:64px 0;background:#fafaf8;}
.kp-uslg-etapy-head{max-width:760px;margin:0 0 40px;}
.kp-uslg-etapy-head h2{font-size:clamp(24px,2.8vw,36px);line-height:1.18;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:#0f172a;}
.kp-uslg-etapy-sub{font-size:15px;line-height:1.65;color:#475569;margin:0;}
.kp-uslg-etapy-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;counter-reset:etapy;}
.kp-uslg-etapy-item{position:relative;padding:30px 24px 26px;background:#fff;border:1px solid #ececec;border-radius:14px;box-shadow:0 2px 6px rgba(15,23,42,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.kp-uslg-etapy-item:hover{transform:translateY(-3px);border-color:rgba(211,52,52,.25);box-shadow:0 12px 28px rgba(211,52,52,.08);}
.kp-uslg-etapy-num{position:absolute;top:-14px;left:24px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 12px rgba(15,23,42,.18);}
.kp-uslg-etapy-ico{margin:0 0 12px;}
.kp-uslg-etapy-item h3{font-size:17px;font-weight:700;margin:0 0 8px;color:#0f172a;line-height:1.32;}
.kp-uslg-etapy-item p{font-size:14px;line-height:1.6;color:#475569;margin:0;}

/* === #sravnenie === */
.kp-uslg-sravnenie{padding:64px 0;background:#fff;}
.kp-uslg-sravnenie-head{max-width:760px;margin:0 0 32px;}
.kp-uslg-sravnenie-head h2{font-size:clamp(24px,2.8vw,36px);line-height:1.18;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:#0f172a;}
.kp-uslg-sravnenie-sub{font-size:15px;line-height:1.65;color:#475569;margin:0;}
.kp-uslg-sravnenie-wrap{overflow-x:auto;margin:0 -4px;padding:4px;border-radius:14px;}
.kp-uslg-sravnenie-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e8ecf2;border-radius:14px;overflow:hidden;font-size:14.5px;line-height:1.5;}
.kp-uslg-sravnenie-table thead th{background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 60%,#3a1414 100%);color:#fff;font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding:14px 16px;text-align:left;white-space:nowrap;}
.kp-uslg-sravnenie-table tbody th{background:#fafaf8;font-weight:700;color:#0f172a;text-align:left;padding:16px;border-top:1px solid #ececec;border-right:1px solid #ececec;min-width:220px;}
.kp-uslg-sravnenie-table tbody td{padding:16px;border-top:1px solid #ececec;color:#1e293b;font-weight:500;vertical-align:middle;}
.kp-uslg-sravnenie-table tbody tr:hover th,.kp-uslg-sravnenie-table tbody tr:hover td{background:#fefaf6;}
.kp-uslg-sravnenie-table tbody tr.is-active th,.kp-uslg-sravnenie-table tbody tr.is-active td{background:rgba(211,52,52,.06);border-color:rgba(211,52,52,.2);}
.kp-uslg-sravnenie-table tbody tr.is-active th{color:var(--hovercolor,#d33434);}
.kp-uslg-sravnenie-table b{font-weight:700;color:#0f172a;}
.kp-uslg-sravnenie-table tbody tr.is-active b{color:var(--hovercolor,#d33434);}
.kp-uslg-sravnenie-mat{display:inline-flex;flex-direction:column;gap:3px;}
.kp-uslg-sravnenie-mat em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--hovercolor,#d33434);}
.kp-uslg-sravnenie-note{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;padding:12px 16px;background:#f1f5f9;border-radius:10px;color:#475569;font-size:13px;line-height:1.55;}
.kp-uslg-sravnenie-note svg{flex:0 0 auto;color:#94a3b8;margin-top:2px;}

/* === #preimushchestva === */
.kp-uslg-why{padding:64px 0;background:#fafaf8;}
.kp-uslg-why-head{max-width:760px;margin:0 0 36px;}
.kp-uslg-why-head h2{font-size:clamp(24px,2.8vw,36px);line-height:1.18;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:#0f172a;}
.kp-uslg-why-sub{font-size:15px;line-height:1.65;color:#475569;margin:0;}
.kp-uslg-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.kp-uslg-why-item{padding:28px 24px;background:#fff;border:1px solid #ececec;border-radius:14px;box-shadow:0 2px 6px rgba(15,23,42,.04);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.kp-uslg-why-item:hover{transform:translateY(-3px);border-color:rgba(211,52,52,.25);box-shadow:0 12px 28px rgba(211,52,52,.08);}
.kp-uslg-why-ico{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:13px;background:rgba(211,52,52,.08);color:var(--hovercolor,#d33434);margin-bottom:14px;}
.kp-uslg-why-item h3{font-size:17px;font-weight:700;margin:0 0 8px;color:#0f172a;line-height:1.32;}
.kp-uslg-why-item p{font-size:14px;line-height:1.6;color:#475569;margin:0;}

/* === #faq === (используем глобальный .kp-faq-list — добавляем только обвязку секции) */
.kp-uslg-faq{padding:64px 0;background:#fff;}
.kp-uslg-faq-head{max-width:760px;margin:0 0 32px;}
.kp-uslg-faq-head h2{font-size:clamp(24px,2.8vw,36px);line-height:1.18;font-weight:800;letter-spacing:-.01em;margin:0 0 14px;color:#0f172a;}
.kp-uslg-faq-sub{font-size:15px;line-height:1.65;color:#475569;margin:0;}
.kp-uslg-faq-list{max-width:min(72ch,860px);}
.kp-uslg-faq-q{flex:1 1 auto;padding-right:14px;line-height:1.4;}

/* === #zayavka — inline CTA-форма === */
.kp-uslg-cta{padding:64px 0;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;position:relative;overflow:hidden;}
.kp-uslg-cta::before{content:'';position:absolute;top:-160px;right:-100px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.32) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-uslg-cta::after{content:'';position:absolute;bottom:-200px;left:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(184,29,29,.18) 0%,rgba(184,29,29,0) 70%);pointer-events:none;}
.kp-uslg-cta .container{position:relative;z-index:1;}
.kp-uslg-cta-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:48px;align-items:center;}
.kp-uslg-cta-left{display:flex;flex-direction:column;gap:18px;}
.kp-uslg-cta-left h2{font-size:clamp(24px,3vw,38px);line-height:1.15;font-weight:800;margin:0;color:#fff;letter-spacing:-.015em;}
.kp-uslg-cta-sub{font-size:15px;line-height:1.65;color:rgba(255,255,255,.78);margin:0;max-width:540px;}
.kp-uslg-cta-feats{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;}
.kp-uslg-cta-feats li{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.92);font-size:14px;font-weight:500;}
.kp-uslg-cta-feats svg{flex:0 0 auto;color:#fca5a5;}
.kp-uslg-cta-right{position:relative;z-index:1;}
.kp-uslg-cta-right .kp-popup--inline{position:static!important;display:block;background:#fff;border-radius:16px;padding:30px 28px;box-shadow:0 20px 50px rgba(0,0,0,.28);max-width:none;width:auto;height:auto;max-height:none;animation:none;color:#0f172a;}
.kp-uslg-cta-right .kp-popup--inline .wpcf7,.kp-uslg-cta-right .kp-popup--inline form{display:flex;flex-direction:column;gap:14px;}
.kp-uslg-cta-right .kp-popup--inline form>p{margin:0;}
.kp-uslg-cta-right .kp-popup--inline label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#0f172a;}
.kp-uslg-cta-right .kp-popup--inline input[type=text],.kp-uslg-cta-right .kp-popup--inline input[type=tel],.kp-uslg-cta-right .kp-popup--inline input[type=email],.kp-uslg-cta-right .kp-popup--inline textarea{width:100%;padding:14px 16px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;color:#0f172a;transition:border-color .18s ease,background .18s ease;}
.kp-uslg-cta-right .kp-popup--inline input:focus,.kp-uslg-cta-right .kp-popup--inline textarea:focus{outline:none;border-color:var(--hovercolor,#d33434);background:#fff;}
.kp-uslg-cta-right .kp-popup--inline input[type=submit],.kp-uslg-cta-right .kp-popup--inline button[type=submit]{background:linear-gradient(135deg,#d33434 0%,#a31919 100%);color:#fff;border:none;padding:15px 28px;font-size:15px;font-weight:700;border-radius:10px;cursor:pointer;letter-spacing:.01em;box-shadow:0 8px 22px rgba(211,52,52,.32);transition:transform .18s ease,box-shadow .18s ease;}
.kp-uslg-cta-right .kp-popup--inline input[type=submit]:hover,.kp-uslg-cta-right .kp-popup--inline button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(211,52,52,.42);}

/* Mobile */
@media(max-width:900px){
	.kp-uslg-cta-grid{grid-template-columns:1fr;gap:32px;}
	.kp-uslg-cta-feats{grid-template-columns:1fr;}
}
@media(max-width:600px){
	.kp-uslg-etapy,.kp-uslg-sravnenie,.kp-uslg-why,.kp-uslg-faq,.kp-uslg-cta{padding:48px 0;}
	.kp-uslg-sravnenie-table thead{display:none;}
	.kp-uslg-sravnenie-table tbody tr{display:block;border-top:1px solid #ececec;padding:14px 0;}
	.kp-uslg-sravnenie-table tbody tr:first-child{border-top:none;}
	.kp-uslg-sravnenie-table tbody th{display:block;background:transparent;padding:8px 14px 12px;border:none;font-size:16px;}
	.kp-uslg-sravnenie-table tbody td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;border:none;font-size:14px;}
	.kp-uslg-sravnenie-table tbody td:before{content:attr(data-label);font-weight:600;color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.04em;flex:0 0 auto;}
	.kp-uslg-sravnenie-table tbody tr.is-active{background:rgba(211,52,52,.06);border-radius:12px;border:1px solid rgba(211,52,52,.2);}
	.kp-uslg-cta-right .kp-popup--inline{padding:24px 20px;}
}

/* ═══════════════════ v11: Reviews-карусель + До-После (kp-rev-carousel + kp-do-posle) ═══════════════════ */

/* Reviews-блок head — flex с рейтинг-pill справа (заменяет старый kp-rev-block-sub) */
.kp-rev-block .kp-rev-block-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 32px;text-align:left;}
.kp-rev-block-head-text{text-align:left;flex:1 1 320px;min-width:0;}
.kp-rev-block-head-text h2{margin:0;font-size:clamp(24px,2.8vw,34px);font-weight:800;color:#0f172a;line-height:1.15;}
.kp-rev-block-head-text .kp-eyebrow{margin-bottom:8px;}
.kp-rev-block-rating{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;box-shadow:0 4px 14px rgba(15,23,42,.05);flex:0 0 auto;}
.kp-rev-block-rating-stars{display:inline-flex;gap:2px;}
.kp-rev-block-rating-star{display:inline-flex;color:#cbd5e1;}
.kp-rev-block-rating-star.is-on{color:#f59e0b;}
.kp-rev-block-rating-star svg{fill:currentColor;}
.kp-rev-block-rating-num{font-weight:800;font-size:17px;color:#0f172a;line-height:1;}
.kp-rev-block-rating-cnt{font-size:14px;color:#64748b;line-height:1;border-left:1px solid #e2e8f0;padding-left:10px;}

/* Карусель отзывов — общий компонент для лендингов и /moskva/<okrug>/ */
.kp-carousel--reviews{padding:0 4px;}
.kp-carousel--reviews .kp-carousel-slide{display:flex;align-items:stretch;}
.kp-carousel--reviews .kp-carousel-slide > *{flex:1 1 auto;width:100%;}
.kp-carousel--reviews .kp-review-card,.kp-carousel--reviews article.kp-review-card{height:100%;}
.kp-carousel--reviews .kp-carousel-prev,.kp-carousel--reviews .kp-carousel-next{top:50%;}
.kp-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px;}
.kp-carousel-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;border:0;padding:0;cursor:pointer;transition:width .25s ease,background .2s ease;}
.kp-carousel-dot.is-active{width:26px;border-radius:6px;background:var(--hovercolor,#d33434);}
@media(max-width:768px){.kp-rev-block .kp-rev-block-head{justify-content:center;text-align:center;}.kp-rev-block-head-text{text-align:center;flex:1 1 100%;}}

/* Блок «До и После» — слайдер сравнение */

/* ═══════════════════ Унифицированная CTA-row (телефон + Max + Telegram сгруппированы по центру) ═══════════════════ */
/* Используется в #ban (.kp-guarantee-actions), .kp-calc-actions, и других CTA-блоках. Заменяет разрозненные .kp-calc-or / отдельные иконки. */
.kp-cta-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;position:relative;z-index:1;padding-top:6px;}
.kp-cta-row .kp-calc-tel{justify-content:center;color:#fff;font-size:16px;font-weight:600;white-space:nowrap;border-bottom:1px dashed rgba(252,165,165,.55);padding-bottom:2px;}
.kp-cta-row .kp-calc-tel svg{color:var(--hovercolor,#fca5a5);}
.kp-cta-row .kp-calc-tel:hover{border-color:#fff;color:#fff;}
.kp-cta-msg{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.18);transition:transform .2s ease,box-shadow .2s ease;flex:0 0 42px;}
.kp-cta-msg:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 10px 22px rgba(15,23,42,.28);text-decoration:none;}
.kp-cta-msg img{width:22px;height:22px;display:block;}
@media(max-width:600px){.kp-cta-row{gap:10px;}.kp-cta-row .kp-calc-tel{flex:1 1 100%;justify-content:flex-start;}.kp-cta-msg{flex:0 0 40px;width:40px;height:40px;}}

/* ═══════════════════ #ban — Условия работы / Гарантии (override actions) ═══════════════════ */
.kp-guarantee-actions{align-items:center;}
.kp-guarantee-actions .kp-calc-btn{width:100%;justify-content:center;}

/* ═══════════════════ #prem — Цифры о нас (полный редизайн в стиле /geo/) ═══════════════════ */
.kp-prem-sec{padding:48px 0 56px;}
.kp-prem-box{position:relative;background:linear-gradient(135deg,#0f172a 0%,#1e1b1b 55%,#3a1414 100%);color:#fff;border-radius:var(--kp-radius-lg,20px);padding:64px 48px;overflow:hidden;}
.kp-prem-glow{position:absolute;top:-130px;right:-90px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.42) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-prem-glow--bottom{top:auto;right:auto;bottom:-180px;left:-110px;width:520px;height:520px;background:radial-gradient(circle,rgba(211,52,52,.16) 0%,rgba(211,52,52,0) 70%);}
.kp-prem-head{position:relative;z-index:1;max-width:760px;margin:0 0 40px;}
.kp-prem-h2{font-size:clamp(26px,3vw,40px);line-height:1.12;font-weight:800;margin:0 0 14px;color:#fff;letter-spacing:-.015em;text-align:left;}
.kp-prem-sub{font-size:clamp(14px,1.2vw,16px);line-height:1.65;color:rgba(255,255,255,.75);margin:0;}
.kp-prem-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.kp-prem-card{position:relative;padding:32px 28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--kp-radius-md,14px);backdrop-filter:blur(8px);transition:transform .3s ease,background .3s ease,border-color .3s ease;opacity:0;transform:translateY(20px);}
.kp-prem-card.is-in-view{opacity:1;transform:translateY(0);}
.kp-prem-card:nth-child(1){transition-delay:.05s;}
.kp-prem-card:nth-child(2){transition-delay:.15s;}
.kp-prem-card:nth-child(3){transition-delay:.25s;}
.kp-prem-card:hover{background:rgba(255,255,255,.06);border-color:rgba(211,52,52,.35);transform:translateY(-4px);}
.kp-prem-ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(211,52,52,.22) 0%,rgba(211,52,52,.08) 100%);color:#fca5a5;margin-bottom:18px;}
.kp-prem-num{font-family:var(--fonttitle,inherit);font-size:clamp(48px,5vw,72px);font-weight:800;line-height:1;color:#fff;letter-spacing:-.03em;margin-bottom:6px;background:linear-gradient(135deg,#fff 0%,#fca5a5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.kp-prem-num span{font-size:.55em;vertical-align:top;margin-left:2px;}
.kp-prem-lbl{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:14px;}
.kp-prem-text{font-size:14px;line-height:1.6;color:rgba(255,255,255,.78);margin:0;}
@media(max-width:900px){.kp-prem-box{padding:44px 28px;}.kp-prem-grid{grid-template-columns:1fr;gap:14px;}}
@media(max-width:600px){.kp-prem-sec{padding:32px 0;}.kp-prem-box{padding:36px 22px;border-radius:16px;}.kp-prem-card{padding:24px 22px;}.kp-prem-head{margin-bottom:28px;}}

/* ═══════════════════ #mes — Свяжитесь с нами (светлый блок, фото телефона, Max+Telegram) ═══════════════════ */
.kp-mes-sec{padding:56px 0;background:#f9f9f9;}
.kp-mes-box{display:grid;grid-template-columns:minmax(0,0.95fr) minmax(0,1.1fr);gap:48px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#fef9f9 100%);border:1px solid #f1e9e9;border-radius:var(--kp-radius-lg,20px);padding:48px;box-shadow:0 12px 32px rgba(15,23,42,.05);position:relative;overflow:hidden;}
.kp-mes-box::before{content:'';position:absolute;top:-160px;left:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(211,52,52,.08) 0%,rgba(211,52,52,0) 70%);pointer-events:none;}
.kp-mes-phone-side{position:relative;display:flex;align-items:center;justify-content:center;}
.kp-mes-phone-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(211,52,52,.12) 0%,rgba(211,52,52,0) 65%);pointer-events:none;}
.kp-mes-phone-img{position:relative;z-index:1;max-width:100%;height:auto;width:auto;max-height:540px;filter:drop-shadow(0 30px 60px rgba(15,23,42,.25));transition:transform .4s ease;}
.kp-mes-phone-side:hover .kp-mes-phone-img{transform:translateY(-6px);}
.kp-mes-text-side{position:relative;z-index:1;}
.kp-mes-h2{font-size:clamp(24px,2.6vw,34px);line-height:1.18;font-weight:800;margin:0 0 14px;color:#0f172a;letter-spacing:-.01em;text-align:left;}
.kp-mes-h2 span{color:var(--hovercolor,#d33434);white-space:nowrap;}
.kp-mes-sub{font-size:15px;line-height:1.65;color:#475569;margin:0 0 20px;max-width:520px;}
.kp-mes-bonus{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:rgba(211,52,52,.08);border:1px solid rgba(211,52,52,.18);border-radius:12px;color:#9c1e1e;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:24px;}
.kp-mes-bonus svg{color:var(--hovercolor,#d33434);flex:0 0 auto;}
.kp-mes-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;justify-content:flex-start;}
.kp-mes-actions .kp-calc-tel{color:#0f172a;font-size:18px;font-weight:700;}
.kp-mes-actions .kp-calc-tel svg{color:var(--hovercolor,#d33434);}
.kp-mes-actions .kp-calc-tel:hover{color:var(--hovercolor,#d33434);}
.kp-mes-msg{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;color:#0f172a;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px rgba(15,23,42,.05);}
.kp-mes-msg:hover{transform:translateY(-2px);border-color:var(--hovercolor,#d33434);color:var(--hovercolor,#d33434);box-shadow:0 10px 22px rgba(211,52,52,.18);text-decoration:none;}
.kp-mes-msg img{width:22px;height:22px;display:block;}
.kp-mes-msg--max{border-color:#ffd400;}
.kp-mes-msg--max:hover{background:#fffdf0;border-color:#ffc800;color:#0f172a;}
.kp-mes-msg--tg{border-color:#26a5e4;}
.kp-mes-msg--tg:hover{background:#f0fbff;border-color:#0e90d3;color:#0f172a;}
@media(max-width:900px){.kp-mes-box{grid-template-columns:1fr;gap:24px;padding:36px 28px;}.kp-mes-phone-side{order:-1;}.kp-mes-phone-img{max-height:380px;}}
@media(max-width:600px){.kp-mes-sec{padding:36px 0;}.kp-mes-box{padding:28px 22px;border-radius:16px;}.kp-mes-actions{gap:12px;}.kp-mes-msg{flex:1 1 100%;justify-content:center;}}

/* === Анимация появления при scroll (используется в .kp-prem-card и др.) === */
@media(prefers-reduced-motion:reduce){.kp-prem-card{opacity:1;transform:none;transition:none;}}

/* ═══════════════════ Страница «Оставить отзыв» (/ostavit-otzyv/) — kp-rs-* ═══════════════════ */
.kp-page-hero--review-submit::after{top:50%;right:40px;bottom:auto;left:auto;width:300px;height:300px;transform:translateY(-50%);border-radius:0;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.18)' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.5;}
@media(max-width:1024px){.kp-page-hero--review-submit::after{width:220px;height:220px;right:24px;opacity:.4;}}
@media(max-width:768px){.kp-page-hero--review-submit::after{display:none;}}

.kp-rs-trust{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:28px;color:rgba(255,255,255,.85);font-size:14px;font-weight:500;}
.kp-rs-trust>span{display:inline-flex;align-items:center;gap:8px;}
.kp-rs-trust svg{stroke:var(--hovercolor,#d33434);}

.kp-rs-form-sec{padding:64px 0 48px;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);}
.kp-rs-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:36px;align-items:flex-start;}
@media(max-width:1024px){.kp-rs-grid{grid-template-columns:1fr;gap:24px;}}

.kp-rs-aside{display:flex;flex-direction:column;gap:24px;position:sticky;top:96px;}
@media(max-width:1024px){.kp-rs-aside{position:static;}}

.kp-rs-aside-card{padding:32px 28px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 4px 20px rgba(15,23,42,.04);}
.kp-rs-aside-card .kp-eyebrow{margin-bottom:8px;}
.kp-rs-aside-card h2{margin:0 0 22px;font-size:24px;line-height:1.25;color:#0f172a;}

.kp-rs-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.kp-rs-steps>li{display:flex;gap:14px;align-items:flex-start;}
.kp-rs-step-num{flex:0 0 36px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--hovercolor,#d33434),#9a1818);color:#fff;font-weight:700;font-size:15px;border-radius:50%;box-shadow:0 4px 10px rgba(211,52,52,.25);}
.kp-rs-steps strong{display:block;font-size:15px;color:#0f172a;margin-bottom:4px;}
.kp-rs-steps p{margin:0;font-size:13.5px;line-height:1.55;color:#475569;}
.kp-rs-steps a{color:var(--hovercolor,#d33434);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}

.kp-rs-aside-quote{position:relative;padding:28px 26px 26px;background:linear-gradient(135deg,#0f172a 0%,#3a1414 100%);color:#fff;border-radius:18px;overflow:hidden;}
.kp-rs-aside-quote svg{position:absolute;top:18px;right:18px;opacity:.18;color:#fff;}
.kp-rs-aside-quote p{margin:0 0 14px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.95);font-style:italic;position:relative;}
.kp-rs-aside-quote span{display:block;font-size:12.5px;color:rgba(255,255,255,.65);font-weight:500;}

.kp-rs-form-wrap .kp-rs-popup{padding:36px 32px;border-radius:18px;background:#fff;box-shadow:0 10px 40px rgba(15,23,42,.08);border:1px solid #e2e8f0;}
@media(max-width:560px){.kp-rs-form-wrap .kp-rs-popup{padding:24px 18px;border-radius:14px;}}
.kp-rs-popup label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:6px;}
.kp-rs-popup .wpcf7-form-control-wrap{display:block;margin-bottom:16px;}
.kp-rs-popup input[type="text"],.kp-rs-popup input[type="tel"],.kp-rs-popup input[type="number"],.kp-rs-popup select,.kp-rs-popup textarea{width:100%;padding:13px 16px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;color:#0f172a;transition:border-color .2s,background .2s;font-family:inherit;}
.kp-rs-popup input:focus,.kp-rs-popup select:focus,.kp-rs-popup textarea:focus{outline:none;border-color:var(--hovercolor,#d33434);background:#fff;box-shadow:0 0 0 3px rgba(211,52,52,.12);}
.kp-rs-popup textarea{min-height:120px;resize:vertical;}
.kp-rs-popup select{appearance:none;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' 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 14px center;padding-right:42px;}

.kp-rs-popup .acc{margin:18px 0 8px;font-size:13px;color:#64748b;line-height:1.5;}
.kp-rs-popup .acc a{color:var(--hovercolor,#d33434);text-decoration:underline;}
.kp-rs-popup input[type="submit"],.kp-rs-popup button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 28px;background:linear-gradient(135deg,var(--hovercolor,#d33434),#9a1818);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s;font-family:inherit;}
.kp-rs-popup input[type="submit"]:hover,.kp-rs-popup button[type="submit"]:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(211,52,52,.32);}

/* Rating-блок: 5 радио-инпутов превратим в звёзды */
.kp-rs-rating-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.kp-rs-rating-stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;}
.kp-rs-rating-stars input{position:absolute;opacity:0;pointer-events:none;}
.kp-rs-rating-stars label{cursor:pointer;color:#cbd5e1;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,transform .15s;}
.kp-rs-rating-stars label:hover,.kp-rs-rating-stars label:hover ~ label,.kp-rs-rating-stars input:checked ~ label{color:#f59e0b;}
.kp-rs-rating-stars label:active{transform:scale(.92);}
.kp-rs-rating-stars svg{width:30px;height:30px;}

.kp-rs-cta-sec{padding:40px 0 80px;background:#fff;}

@media(max-width:600px){.kp-rs-form-sec{padding:40px 0 32px;}.kp-rs-aside-card{padding:24px 20px;}}
