.big-category {background-size: cover;background-position: center;}
/* SEO: реальный <img> вместо background-image на плитках категорий/решений и хиро-фото /solutions/<slug>/ —
   иначе фото не попадают в поиск по картинкам; .js-change-background теперь переключает img.src (см. additional.js) */
.big-category__image,.collection-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.collection-hero{overflow:hidden}
.collection-hero .main-slider__title,.collection-hero .main-slider__button{position:relative;z-index:1}
.catalog__choice {text-decoration: none;}
.hover-flip.loading::before, .hover-flip.loading::after {content: 'Загрузка...';}
a.default-border-bottom {text-decoration: none;}
button:disabled, .disabled_label {opacity: 0.4;cursor: no-drop;}

.product-item__mini {max-height: calc(100vh - 120px);}
.modal_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.loading::after {
    content: "";
    background: #ffffff80 url(../static/images/loading.svg) no-repeat 50%;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}

.color-white * {color: #FFFFFF;}

.button-with-icon {cursor: pointer;background-color: #fff;height: 42px;display: flex;align-items: center;justify-content: center;gap: 10px;border: 1px solid #152641;border-radius: 21px;text-decoration: none;transition: 0.3s;}
.button-with-icon:hover {}

.mw560 {max-width: 560px;}
.mw600 {max-width: 600px;}

.product-item__colors, .product__colors {display: flex;}
.product-item__colors a {
    width: 32px;
    height: 32px;
    margin: 0 20px 0 -6px;
    border: 2px solid transparent;
    transition: 300ms;
    font-size: 0;
    padding: 4px;
    border-radius: 50%;
}
.product__colors {padding-top: 5px;}
.product__colors > div {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 -4px;
    border: 1px solid transparent;
    transition: 300ms;
    font-size: 0;
    padding: 3px;
    border-radius: 50%;
}
.product-item__colors a.active, .product__colors > div.active {border-color: #152641;}
.product-item__colors a span, .product__colors > div span {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-size: cover;
}
.product__colors > div span {width: 10px;height: 10px;}
.product-item__colors-and-social .product-item__social > a {height: 14px;}
.small-product__image-block img {max-width: 100%;}
.small-product__smallname {font-size: 12px;margin: -10px 0 10px;}

.lenses__slider {width: 100%;}

.cart__item-description-color img {border-radius: 50%;}

#promocode-modal__answer {margin: -37px 0 20px;font-size: 12px;display: none;}
.alert-danger {color: red;}

svg.black-choice__icon {stroke: #152641;}
div.black-choice__icon {width: 20px;height:20px;border-radius: 50%;background-size: cover;}
.black-choice input:checked + .black-choice__block .black-choice__icon, .black-choice:hover .black-choice__icon {stroke: #fff;}
.filter__choices input:disabled + .black-choice__block {opacity: 0.3;}
.button {border: 0;}
.js-filter_fitting_wrap {display: none;}
#rdrf50-ean, #option-5005 {display: none !important;}
.filter__reset a {text-decoration: none;}

.catalog__info-right-block .text-type .select-items {width: 210px;max-height: 210px;}

.cart__item-buttons a {margin-top: auto;}

.big-category__small-text {max-width: 450px;}
.thank__btn .button {width: 200px;margin-top: 20px;}

.cart__links {font-size: 14px;margin: 20px 0 30px;}

.js-select-city {position: relative;}
.js-select-city ul {
    position: absolute;
    background: #f9fafe;
    z-index: 10;
    width: 100%;
    top: 52px;
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 10px 10px #15264133;
}
.js-select-city ul li {
    padding: 5px 20px;
    cursor: pointer;
}

.catalog_description {margin-top: 50px;}

.shops__block .bordered-button {width: 152px;margin-bottom: 20px;font-size: 14px;}

.breadcrumbs {margin-bottom: 40px;font-size: 15px;}
.breadcrumbs ul {display: flex;margin: 0;padding: 0;list-style: none;}
.breadcrumbs ul li:not(:last-child):after {content:"/";margin: 0 10px;}
.breadcrumbs a {text-decoration: none;}
.breadcrumbs b {font-weight: inherit;}

/*
.product-item .breadcrumbs ul li:last-child {display: none;}
.product-item .breadcrumbs ul li:nth-child(2):after {display: none;}
*/

.catalog_description_top {margin: -20px 0 40px;font-size: 15px;max-width: 695px;}
.filter-button {background-color: var(--ks-surface);color: #152641;}
.filter-button:hover {background-color: #e4eaf8;}

.page-product-advantages {display: flex;margin-bottom: 65px;padding: 0 5px;}
.page-product-advantages .item {width: calc(100% / 3);padding: 15px;}
.page-product-advantages .item .img {margin-bottom: 20px;}
.page-product-advantages .item .img img {border-radius: 20px;}
.page-product-advantages .item .name {margin-bottom: 20px;}
.page-product-advantages .item .text {font-size: 19px;}

.page-product-faq {padding: 0 20px;}
.page-product-faq .dropdowns__item {margin-bottom: 40px;}
.page-product-faq .dropdowns__name {font-size: 18px;}
.page-product-faq .dropdowns__content {font-size: 19px;}

.product-item__big-photos {display: flex;flex-wrap: wrap;gap: 10px;}
.product-item__big-photos .product-item__photo {width: calc(50% - 5px);margin:0;}
.product-item .button-with-icon {margin: 20px 5px 0;}

.lightbox__content.images2columns {display: flex;flex-wrap: wrap;background: #f0f0f2;}
.lightbox__content.images2columns .lightbox__photo {width: 50%;}

.lens__text-image {max-width: 1260px;margin: 0 auto;}
.lens__text-image .item .image img {width: 100%;}

.text-page.no-right-padding {padding-right: 20px;}
.contact-2columns {display: flex;gap: 10px;}
.contact-2columns .column {width: 50%;}

.contact-shops {}
.contact-shops .item {margin-bottom: 150px;}
.contact-shops .name {margin-bottom: 20px;}
.contact-shops .address, .contact-shops .phones {margin-bottom: 10px;}
.contact-shops .link_map {margin-bottom: 20px;}
.contact-shops .link_map .bordered-button {width: 152px;font-size: 14px;}
.contact-shops .phones a:first-child {margin-right: 10px;}
.contact-map {height: 100%;border-radius: 20px;overflow: hidden;}
.contact-shops__image {border-radius: 20px;}
.contacts__requisites {max-width: 625px;}

.contact-map ymaps[class$="-ground-pane"] {
	filter: grayscale(1);
	-ms-filter: grayscale(1);
	-webkit-filter: grayscale(1);
	-moz-filter: grayscale(1);
	-o-filter: grayscale(1);
}

.shops-page__images {display: flex;margin-left: -5px;margin-right: -5px;}
.shops-page__images .item {width: calc(100% / 3);padding: 5px;}
.shops-page__images .item img {border-radius: 5px;}

.socials {list-style: none;margin: 0;padding: 0;}
.socials li {margin-bottom: 20px;}
.socials li a {text-decoration: none;}
.socials li a svg {margin-right: 5px;}

.delivery__info-block .d-flex {gap: 20px;}
.delivery__info-block .link_map {margin-top: 20px;}

.about .wholesale__press {margin-bottom: 200px;}

.fitting .contact-2columns ul {margin: 20px 0;padding: 0 0 0 20px;}
.fitting .contact-2columns ul li {margin-bottom: 10px;}
.fitting__list {display: flex;flex-wrap: wrap;}
.fitting__list li {width: 50%;padding-right: 40px;}
.fitting__list .image {height: 202px;display: flex;align-items: end;}
.fitting__info-with-image {display: flex;justify-content: space-between;gap: 40px;}
.fitting__info-with-image .text {max-width: 695px;}
.fitting__info-with-image .image img {max-height: 800px;}
.fitting__buttons {display: flex;justify-content: center;gap: 10px;margin: 40px 0;}
.fitting .wholesale__advantage-block {height: auto;padding: 40px;}

#cookie_popup {
    position: fixed; bottom: 20px; right: 20px;
    background: #FFFFFF;
    border: 1px solid rgba(21,38,65, 0.2);
    backdrop-filter: blur(8px);
    padding: 20px; 
    font-size: 14px; 
    display: none;
    z-index: 1000;  
    border-radius: 20px; max-width: calc(100% - 40px); width: 484px;
}
.cookie_popup-container {display: flex; justify-content: space-between; align-items: center;}
.cookie_popup-text {flex: 1;}
.cookie_popup-text a {}
.cookie_popup-text a:hover {text-decoration: none;}
.cookie_popup-btn {margin-left: 38px;width: 102px;}
.cookie_popup-btn button {width: 100%;}

.upload-zone2 {height: 220px;border: 1px dashed rgba(21,38,65, 0.2);border-radius: 4px;position: relative;margin: 20px 0 40px;}
.upload-zone2 label {position: absolute;top: 50%;transform: translateY(-50%);width: 100%;text-align: center;color: rgba(21,38,65, 0.4);cursor: pointer;line-height: 1.5;}
.upload-zone2 label span {color: #152641;border-bottom: 1px solid;}
.upload-zone2 label:hover span {border: 0;}
.upload-zone2 .form-upload__label {position: absolute;bottom: 20px;width: 100%;padding: 0 20px;justify-content: space-between;}
.upload-zone2 .form-upload__container {position: absolute;bottom: 3px;left: 40px;}
.upload-zone2 .remove-file-btn {display: none;}

.product-features {
    width: 100%;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    z-index: 10;
    margin-top: 150px;
    margin-left: -10px;
    margin-right: -10px;
}
.product-features .item {width: 25%;display: flex;gap: 20px;padding: 10px;margin-bottom: 20px;}
.product-features .item .texts {flex: 1;}
.product-features .item .name {margin-bottom: 10px;}
.product-features .item .name .js-open-tooltip {
    display: inline-block;
    margin-left: 10px;
    height: 16px;
    transform: translateY(2px);
    cursor: pointer;
}
.product-features .item .name svg rect {fill: #152641}
.product-features .item .name:hover svg circle, .product-features .item.active .name svg circle {fill: #152641}
.product-features .item .name:hover svg rect, .product-features .item.active .name svg rect {fill: #fff}

.product-features .item .name .tooltip {
    position: absolute;
    width: 360px;
    background: #fff;
    border: 1px solid #152641;
    padding: 20px;
    border-radius: 20px;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    display: none;
}
.product-features .item .name .tooltip img {
    margin-bottom: 10px;
}
.product-features .item.active .name .tooltip {display: block;}

.filter__confirm-block .button {min-width: 200px;}

.shops-page__block {padding-top: 60px;margin-bottom: 90px;}

.text-styles {font-weight: 500;font-size: calc(18px + 0.1vw);}
.text-styles p {margin-bottom: 20px;}
.text-styles h2 {font-weight: 700;text-transform: uppercase;font-size: 18px;margin-top: calc(12px + 1.9vw);margin-bottom: 20px;}

#primerka {display: none}
#primerka, .primerka {width: 100%;}
#primerka button, .primerka button {width: calc(100% - 10px);}

/*
@media (min-width: 1420px) and (max-width: 1500px) {
    .product-item__info {padding-left: 60px;padding-right: 75px;}
}

@media (min-width: 992px) and (max-width: 1419px) {
    .product-item__info {padding-left: 50px;padding-right: 60px;}
}
*/
@media (min-width: 1024px) {
    .product-features.count_features_5 .item, .product-features.count_features_6 .item {width: calc(100% / 3);}
    .product-features.count_features_5, .product-features.count_features_7 {justify-content: flex-start;}
}

@media (min-width: 1000px) {
    .text-100 {font-size: 90px;}
    .text-200 {font-size: 150px;}
}

@media (min-width: 768px) {
    .lens__text-image .item {display: flex;justify-content: space-between;}
    .lens__text-image .item:nth-child(2n) .image {order: -1;}
    .lens__text-image .item .text, .lens__text-image .item .image {width: 45%;}
}

@media (max-width: 1600px) {
    .product-item__availability-block > p:first-of-type {margin-right: 15px;}
}



@media (max-width: 1400px) {
    .fitting .wholesale__advantage-block {padding: 40px 20px;}
}

@media (max-width: 1359px) {
    .product-features {margin-top: 100px;}
}   

@media (max-width: 1279px) {
    .footer__addresses {gap: 40px;}
    .page-product-advantages .item .text, .page-product-faq .dropdowns__content {font-size: 18px;}
    .contact-shops .item {margin-bottom: 60px;}
}

@media (max-width: 1023px) {
    .page-product-advantages {padding: 0 10px;}
    .page-product-advantages .item {padding: 10px;}

    .about .wholesale__press {margin-bottom: 120px;}

    .product-features .item {width: calc(100% / 3);}
}

@media (max-width: 991px) {
    .product-item .button-with-icon {width: calc(100% - 10px);margin-top: 10px;}
    .catalog .breadcrumbs {margin-left: 20px;}
    .catalog_description_top {margin: -10px 0 20px 20px;}
    .product-features {margin-top: 50px;}
}

@media (max-width: 767px) {
    .text-19, .text-styles {font-size: 18px;}
    .product .product__pagination {opacity: 1;}
    .swiper-scrollbar {background-color: transparent;}

    .grid-two .product__pagination .swiper-pagination-bullet,
    .maybe__products .product__pagination .swiper-pagination-bullet {width: 10px;}

    .page-product-advantages {padding: 0 20px;display: block;}
    .page-product-advantages .item {padding: 0px;margin-bottom: 40px;width: 100%;}
    .page-product-advantages .item .img, .page-product-advantages .item .name {margin-bottom: 10px;}

    .page-product-faq .dropdowns__item {margin-bottom: 20px;}

    .lens__text-image .item .text {margin-bottom: 20px;}

    .contact-2columns {gap: 40px;flex-direction: column;}
    .contact-2columns .column {width: 100%;}
    .contact-map {height: 250px;}

    .shops-page__images {margin-left: -20px;margin-right: -20px;overflow-y: auto;}
    .shops-page__images .item {width: 90%;min-width: 360px;}

    .fitting__list li {width: 100%;padding-right: 0px;}
    .fitting__info-with-image {display: block;}

    .product-features .item {width: 50%;}

    .shops-page__block {margin-bottom: 40px;}
}

@media (max-width: 480px) {
    .big-category__small-text {max-width: 100%;padding: 0 10px;}
    .lens-modal__radio p.d-flex {flex-wrap: wrap;}
    .lens-modal__radio p.d-flex span {width: 100%;}

    .footer__addresses {gap: 20px;flex-wrap: wrap;}
    .footer__address p {margin-bottom: 2px;}

    .text-100 {font-size: 45px;}
    .text-200 {font-size: 55px;}

    .cookie_popup-btn {margin-left: 20px;}

    .product-features {margin-top: 70px;margin-bottom: -50px;}
    .product-features .item {width: 100%;}
    .product-features .item .name .tooltip {max-width: 80vw;font-size: 14px;}

    .breadcrumbs {margin-bottom: 20px;}
    #primerka .button-with-icon {background-color: #ffffffb3;}
}


/* Корзина и оформление заказа */
.co{display:grid;grid-template-columns:1fr 420px;gap:60px;padding:120px 40px 40px;max-width:1300px;margin:0 auto}
.co h1{font-size:40px;margin:0 0 30px}.co h2{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin:30px 0 12px}
.co label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.co input:not([type=radio]),.co textarea{width:100%;padding:13px 14px;border:1px solid rgba(21,38,65,.25);border-radius:6px;font:inherit;background:#fff}
.co textarea{min-height:90px}.co .err{color:#c01;font-size:13px;margin-top:6px}
.co-box{background:#f3f6fd;border-radius:10px;padding:24px;position:sticky;top:110px;align-self:start}
.co-line{display:flex;gap:14px;margin-bottom:14px;font-size:14px}.co-line img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:none}
.co-line b{display:block}.co-sum{display:flex;justify-content:space-between;padding:6px 0}.co-sum.total{font-weight:700;font-size:18px;border-top:1px solid rgba(21,38,65,.15);margin-top:8px;padding-top:14px}
.co-radio{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(21,38,65,.2);border-radius:6px;margin-bottom:8px;cursor:pointer}
.co-radio input{margin-top:4px}.co-btn{margin-top:24px;width:100%;padding:16px;border:0;border-radius:99px;background:var(--ks-blue);color:#fff;font:inherit;font-weight:700;text-transform:uppercase;cursor:pointer}
.co-ok{max-width:560px;margin:200px auto;text-align:center;padding:0 20px}
@media(max-width:900px){.co{grid-template-columns:1fr;padding:100px 16px 30px;gap:24px}.co-box{position:static;order:-1}}

/* Текстовые страницы и магазины из админки */
.cms{max-width:900px;margin:0 auto;padding:170px 24px 40px;min-height:60vh}
.cms h1{margin:0 0 30px}.cms__body p,.cms__body ul,.cms__body ol{margin:0 0 1em;line-height:1.5}.cms__body h2,.cms__body h3{margin:1.4em 0 .5em}
.cms__body img{max-width:100%;height:auto}.cms__body a{text-decoration:underline}
.cms .shops__inner{margin-top:20px}
.header__logo--text{display:inline-block;font-weight:800;font-size:28px;letter-spacing:.14em;text-transform:uppercase;line-height:1;white-space:nowrap}

/* Коллекции */
.cms--wide{max-width:1400px}
.collection-hero{position:relative;min-height:70vh;background-size:cover;background-position:center;background-color:#ddd;display:flex;align-items:flex-end;padding:0 24px 40px}
.collection-hero .main-slider__title{margin:0}

/* Фильтр каталога */
.shop-filter__price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.shop-filter__price input{width:100%;padding:12px 14px;border:1px solid rgba(21,38,65,.25);border-radius:6px;font:inherit;background:#fff}
.filter__confirm-block .filter__confirm{display:flex;width:100%}
.product-specs__row{display:flex;gap:16px;padding:6px 0;border-bottom:1px solid rgba(21,38,65,.08)}
.product-specs__row:last-child{border-bottom:0}.product-specs__name{flex:0 0 40%;opacity:.6}

/* Страница поиска */
.search-page__form{display:flex;gap:10px;max-width:640px;margin-top:10px}
.search-page__form input{flex:1;padding:14px 16px;border:1px solid rgba(21,38,65,.25);border-radius:99px;font:inherit;background:#fff}
.search-page__form button{border:0;border-radius:99px;padding:0 28px;cursor:pointer}

/* Ozon: выбор пункта выдачи */
#ozon-points{width:100%;padding:13px 14px;border:1px solid rgba(21,38,65,.25);border-radius:6px;font:inherit;background:#fff;margin-top:6px}
#ozon-filter{margin-bottom:6px}

/* Страница заказа по ссылке из письма */
.ord-table{width:100%;border-collapse:collapse;margin-top:16px}.ord-table td{padding:10px 0;border-bottom:1px solid rgba(21,38,65,.1)}.ord-table td:last-child{text-align:right;white-space:nowrap}.ord-table .total td{font-weight:700;border-bottom:0}

/* Личный кабинет */
.acc{max-width:980px}.acc h1{margin-bottom:24px}
.acc-btn.ghost{background:transparent;border:1px solid rgba(21,38,65,.3)}.acc-links{margin-top:18px;font-size:14px}.acc-links a{text-decoration:underline}
@media(max-width:800px){.acc-order{grid-template-columns:1fr auto;gap:8px}.acc-order__items{grid-column:1/-1;order:3}.acc-cols{grid-template-columns:1fr;gap:20px}}

/* Сохранённые адреса */
.addr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0 0 26px}
.addr-card{border:1px solid rgba(21,38,65,.14);border-radius:10px;padding:16px 18px;background:#fff}.addr-card.is-default{border-color:#152641}.addr-card.is-off{background:#faf3f2}
.addr-card__head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.addr-card__text{margin:8px 0;font-size:14px;line-height:1.45}.addr-card__warn{margin:0 0 8px;color:#b3261e;font-size:13px}
.addr-card__actions{display:flex;gap:16px;flex-wrap:wrap}.addr-card__actions form{margin:0}
.addr-edit{margin-top:10px}.addr-edit summary{cursor:pointer;font-size:13px;text-decoration:underline}.addr-edit .acc-form{margin-top:8px}
.addr-add{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.addr-add details{flex:1;min-width:280px}.addr-add summary{list-style:none;display:inline-block;margin-top:0}.addr-add summary::-webkit-details-marker{display:none}
#addr-ozon select,#ozon-points{width:100%;padding:13px 14px;border:1px solid rgba(21,38,65,.25);border-radius:6px;font:inherit;background:#fff}

/* Логотип в шапке рисуется режимом «difference» и рассчитан на белый одноцветный знак — читается на любом фоне.
   Загруженный логотип (любого цвета) приводим к белому, текстовый — тоже белый. */
img.header__logo{filter:brightness(0) invert(1)}
.header__logo--text{color:#fff}

/* ===== Kingstar: блоки каталога оборудования, заявки, новости, главная ===== */
.ks-inline-btn,.product-item__buttons a.button,.ks-cta .button,.ks-section .button{width:auto;min-width:153px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.product-item__buttons{display:flex;flex-wrap:wrap;gap:10px}
.product-item__buttons a.button{margin:0;flex:1 1 180px}
.product__price-request{opacity:.74;font-weight:600}
.header__helpers-block.request-helper{cursor:pointer;padding:0 6px;display:flex;align-items:center;white-space:nowrap}
.header__helpers-block.request-helper span{letter-spacing:.04em}

.ks-section{padding:0 20px;margin:clamp(48px,7vw,110px) auto 0;max-width:1400px}
.ks-section h2{margin:0 0 28px}
.ks-section__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.ks-section__head h2{margin:0}
.ks-eyebrow{opacity:.74;letter-spacing:.08em;margin:0 0 14px}
.ks-note{opacity:.74;margin-top:14px;max-width:760px}

/* технические особенности: нумерованный список карточками */
.ks-features__body ol{list-style:none;counter-reset:ks;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px}
.ks-features__body li{counter-increment:ks;background:#f3f6fd;border-radius:14px;padding:22px 22px 22px 22px;font-size:15px;line-height:1.5;font-weight:500}
.ks-features__body li::before{content:counter(ks,decimal-leading-zero);display:block;font-weight:800;font-size:13px;letter-spacing:.08em;margin-bottom:10px;opacity:.45}
.ks-features__body li b{display:block;font-size:17px;margin-bottom:6px;line-height:1.3}

/* таблица характеристик */
.ks-specs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(21,38,65,.1);border-radius:14px}
.ks-specs{border-collapse:collapse;width:100%;min-width:560px}
.ks-specs th,.ks-specs td{padding:11px 16px;text-align:left;border-bottom:1px solid rgba(21,38,65,.07);vertical-align:top;font-variant-numeric:tabular-nums}
.ks-specs thead th{background:#152641;color:#fff;font-weight:700;position:sticky;top:0}
.ks-specs tbody tr:nth-child(even){background:#f9fafe}
.ks-specs__param{font-weight:600;width:34%;min-width:200px}
.ks-specs tbody th.ks-specs__param{position:sticky;left:0;background:inherit;background-color:#fff}
.ks-specs tbody tr:nth-child(even) th.ks-specs__param{background-color:#f9fafe}
.ks-specs tbody tr:last-child th,.ks-specs tbody tr:last-child td{border-bottom:0}

/* форма заявки в правой шторке */
.request-modal .modal__block{max-width:520px;overflow-y:auto}
.request-modal__title{margin:0 0 6px}
.request-modal__product{opacity:.74;margin:0 0 22px}
.request-form{display:grid;gap:14px}
.request-form__field{display:grid;gap:6px}
.request-form__field span{opacity:.74}
.request-form input[type=text],.request-form input[type=tel],.request-form input[type=email],.request-form select,.request-form textarea{width:100%;padding:13px 16px;border:1px solid rgba(21,38,65,.2);border-radius:12px;background:#fff;font:inherit;transition:border-color .15s}
.request-form input:focus-visible,.request-form select:focus-visible,.request-form textarea:focus-visible{outline:none;border-color:var(--ks-blue);box-shadow:0 0 0 3px rgba(35,80,210,.35)}
.request-form textarea{resize:vertical;min-height:96px}
.request-form__consent{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.request-form__consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:#152641}
.request-form .button{width:100%;margin-top:4px}
.request-form .button:disabled{opacity:.5;cursor:progress}
.request-form__status{min-height:1.4em;margin:0;color:#b00020}
.request-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.request-modal__done p{margin:0 0 10px}

/* главная */
.ks-intro h1{max-width:1100px}
.ks-intro__lead{max-width:640px;margin-top:18px;opacity:.74}
.ks-intro__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ks-badges{display:flex;flex-wrap:wrap;gap:0;margin-top:32px}
.ks-badge{display:flex;align-items:baseline;gap:10px;padding-right:28px;margin-right:28px;border-right:1px solid rgba(21,38,65,.14)}
.ks-badge:last-child{border-right:0;margin-right:0;padding-right:0}
.ks-badge__num{font-size:26px;line-height:1}
.ks-about{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,80px);padding:0 20px;max-width:1400px;margin-left:auto;margin-right:auto;align-items:center}
.ks-about h2{margin:0 0 20px}
.ks-about p.text-19{line-height:1.5;margin:0 0 28px}
.ks-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ks-stats__item{background:var(--ks-surface);color:var(--ks-dark);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;gap:10px;min-height:170px;justify-content:space-between}
.ks-stats__num{font-size:clamp(44px,5vw,72px);line-height:1;font-variant-numeric:tabular-nums}
.ks-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:#f3f6fd;border-radius:20px;padding:28px 30px;margin:48px 0 0}
.ks-cta p{margin:0}
.ks-cta--wide{margin:clamp(48px,7vw,110px) 20px 0;padding:clamp(28px,4vw,56px);background:#152641;color:#fff}
.ks-cta--wide p.text-19{opacity:.75;margin-top:14px;max-width:640px;line-height:1.5}
.ks-cta__actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ks-cta--wide a{color:#fff}

/* новости */
.ks-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 32px}
.ks-tabs a{padding:10px 18px;border-radius:999px;border:1px solid rgba(21,38,65,.2);text-decoration:none;color:inherit;transition:background-color .15s,border-color .15s}
.ks-tabs a:hover{border-color:#152641}
.ks-tabs a.active{background:#152641;color:#fff;border-color:#152641}
.ks-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.ks-news-card{display:flex;flex-direction:column;gap:10px;color:inherit}
.ks-news-card__img{aspect-ratio:4/3;border-radius:16px;background:#eee;overflow:hidden;position:relative;display:block;transition:opacity .2s}
.ks-news-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-news-card:hover .ks-news-card__img{opacity:.88}
.ks-news-card__meta{opacity:.74;letter-spacing:.04em}
.ks-news-card__title{line-height:1.3}
.ks-news-card__text{opacity:.7;line-height:1.45}
.ks-pager{display:flex;gap:24px;justify-content:center;align-items:center;margin-top:40px}
.ks-article__meta{opacity:.74;margin:10px 0 14px}
.ks-article h1{margin-bottom:24px}
.ks-article__cover{width:100%;border-radius:18px;margin:0 0 32px;display:block}
.cms__body table{border-collapse:collapse;width:100%;margin:0 0 1.2em;font-size:15px}
.cms__body th,.cms__body td{border-bottom:1px solid rgba(21,38,65,.1);padding:9px 10px;text-align:left;vertical-align:top}
.cms__body thead th{border-bottom:2px solid #152641}
.cms__body .ks-table-wrap{overflow-x:auto}

/* текстовые страницы: факты, этапы, FAQ */
.ks-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0 36px}
.ks-facts div{background:#f3f6fd;border-radius:16px;padding:20px}
.ks-facts b{display:block;font-size:34px;line-height:1.1;margin-bottom:6px}
.ks-timeline{list-style:none;padding:0;margin:0 0 1.5em;border-left:2px solid #152641}
.ks-timeline li{padding:0 0 18px 22px;position:relative}
.ks-timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--ks-blue);border:2px solid #152641}
.ks-timeline b{display:block}
.ks-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0 28px}
.ks-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.ks-faq details{border-bottom:1px solid rgba(21,38,65,.12);padding:18px 0}
.ks-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ks-faq summary::-webkit-details-marker{display:none}
.ks-faq summary::after{content:"+";font-size:24px;line-height:1;transition:transform .2s}
.ks-faq details[open] summary::after{transform:rotate(45deg)}
.ks-faq details p{margin:12px 0 0}
.ks-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0 0 28px}
.ks-contacts div{background:#f3f6fd;border-radius:16px;padding:20px}
.ks-contacts span{display:block;opacity:.74;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}

@media (max-width:991px){
  .ks-about{grid-template-columns:1fr}
  .ks-news-grid{grid-template-columns:1fr 1fr}
  .ks-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .ks-news-grid{grid-template-columns:1fr}
  .ks-stats__item{min-height:130px;padding:20px}
  .ks-cta--wide{margin-left:10px;margin-right:10px}
  .header__helpers-block.request-helper span{font-size:11px}
}
@media (max-width:767px){
  .ks-badges{flex-direction:column;gap:16px}
  .ks-badge{border-right:0;margin-right:0;padding-right:0}
}
@media (prefers-reduced-motion:reduce){.ks-faq summary::after,.ks-news-card__img,.ks-tabs a{transition:none}}
/* в style.css стоит «* { color: #152641 }» — на тёмных плашках цвет задаём явно */
.ks-cta--wide *:not(.button):not(.button *){color:#fff}
.request-modal .modal__block{padding:24px;box-sizing:border-box;max-height:calc(100dvh - 90px)}
.request-form,.request-form *{box-sizing:border-box}
.request-form__consent span{flex:1}
.request-form[hidden],.request-modal__done[hidden]{display:none}
.header__link{white-space:nowrap}
/* 992–1199: меню компактнее, но не прячем — иначе на планшетах в ландшафте остаётся только бургер */
@media (min-width:992px) and (max-width:1199px){.header__empty-space{width:150px}.header__menu{padding:0 16px;margin-left:10px}.header__link{margin-right:14px;letter-spacing:.02em}}
@media (min-width:1200px) and (max-width:1399px){.header__menu{padding:0 24px}.header__link{margin-right:20px}}
.ks-badge__num{white-space:nowrap}
@media (max-width:600px){.header__helpers-block.request-helper{display:none}}
/* длинные названия моделей в хлебных крошках переносим, а не раздвигаем страницу */
.breadcrumbs ul{flex-wrap:wrap;row-gap:4px}
.breadcrumbs li{min-width:0;overflow-wrap:anywhere}
@media (max-width:767px){.product-item .breadcrumbs li:last-child{display:none}.product-item .breadcrumbs li:nth-last-child(2)::after{display:none}}

/* ===== Kingstar: комплекты, калькуляторы, блок доверия ===== */
.ks-lead{max-width:820px;line-height:1.5;margin:0 0 32px;opacity:.85}
.ks-cta__row{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.ks-kit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ks-kit-card{display:flex;flex-direction:column;border-radius:20px;background:#f3f6fd;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.ks-kit-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(21,38,65,.08)}
.ks-kit-card__img{aspect-ratio:16/9;background:#e8e8e4;overflow:hidden;position:relative;display:block}
.ks-kit-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-kit-card__body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.ks-kit-card__body .ks-eyebrow{margin:0}
.ks-kit-card__title{font-size:26px;line-height:1.1}
.ks-kit-card__text{line-height:1.45;opacity:.75}
.ks-kit-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ks-kit-card__chips span{background:#fff;border-radius:999px;padding:6px 12px}
.ks-kit-card__chips i{font-style:normal;font-weight:500;opacity:.74}
.ks-kit-card__more{margin-top:auto;padding-top:8px}
.ks-kit__hero{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,4vw,60px);align-items:center;margin-bottom:32px}
.ks-kit__hero h1{margin:0 0 18px}
.ks-kit__img{width:100%;border-radius:20px;aspect-ratio:4/3;object-fit:cover}
.ks-kit__h2{margin:56px 0 20px}
.ks-kit-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.ks-kit-stats div{background:var(--ks-surface);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:6px}
.ks-kit-stats b{font-size:clamp(26px,2.6vw,36px);line-height:1.05;font-weight:500}
.ks-kit-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:10px}
.ks-kit-item{display:grid;grid-template-columns:auto 72px 1fr;gap:16px;align-items:center;border:1px solid rgba(21,38,65,.1);border-radius:16px;padding:12px 18px 12px 20px;transition:border-color .15s}
.ks-kit-item:hover{border-color:#152641}
.ks-kit-item__qty{font-size:30px;min-width:48px}
.ks-kit-item img{width:72px;height:72px;object-fit:contain}
.ks-kit-item__text{display:flex;flex-direction:column;gap:4px;line-height:1.3}
.ks-kit-item__text span{opacity:.74}
.ks-kit__body{max-width:900px;margin-top:40px}
.ks-kit__calc{margin-top:48px;scroll-margin-top:100px}

.ks-calc{background:#f3f6fd;border-radius:20px;padding:clamp(20px,3vw,36px);display:grid;gap:24px}
.ks-calc__head p{margin:0}
.ks-calc__note{opacity:.74;margin-top:8px !important;line-height:1.45}
.ks-calc__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px 16px}
.ks-calc__field{display:grid;gap:6px;align-content:start}
.ks-calc__field span{opacity:.74}
.ks-calc__field small{opacity:.74;line-height:1.35}
.ks-calc__field input{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(21,38,65,.2);border-radius:12px;background:#fff;font:inherit;font-variant-numeric:tabular-nums}
.ks-calc__field input:focus-visible{outline:none;border-color:var(--ks-blue);box-shadow:0 0 0 3px rgba(35,80,210,.35)}
.ks-calc__result{display:grid;gap:14px;justify-items:start}
.ks-calc__rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;width:100%}
.ks-calc__rows div{background:#fff;border-radius:14px;padding:16px 18px}
.ks-calc__rows dt{opacity:.74;margin-bottom:6px}
.ks-calc__rows dd{margin:0;font-variant-numeric:tabular-nums}
.ks-calc__rows dd a{text-decoration:underline}
.ks-calc__rows .ks-calc__total{background:#152641}
.ks-calc__rows .ks-calc__total,.ks-calc__rows .ks-calc__total *{color:#fff}

.ks-trust{margin-top:48px;border-top:1px solid rgba(21,38,65,.12);padding-top:28px}
.ks-trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px 24px}
.ks-trust li{display:flex;flex-direction:column;gap:6px;padding-left:28px;position:relative;line-height:1.4}
.ks-trust li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--ks-blue);box-shadow:inset 0 0 0 2px #152641}
.ks-trust li span{opacity:.74}
.ks-trust--compact{margin-top:18px;padding-top:16px}
.ks-trust--compact ul{grid-template-columns:1fr 1fr;gap:10px 14px}
.ks-trust--compact li{padding-left:22px}
.ks-trust--compact li::before{width:12px;height:12px;top:4px}
.ks-trust--compact b{font-size:13px}

@media (max-width:991px){.ks-kit__hero{grid-template-columns:1fr}.ks-kit__img{order:-1}}
@media (max-width:600px){.ks-kit-item{grid-template-columns:auto 56px 1fr;padding:10px 14px}.ks-kit-item img{width:56px;height:56px}.ks-trust--compact ul{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ks-kit-card{transition:none}.ks-kit-card:hover{transform:none}}

/* ===== Kingstar: «Для кого», быстрые контакты, «Перезвоните мне», кнопка «Связаться» ===== */
.product__audience{margin:6px 0 4px;opacity:.74;line-height:1.35;font-weight:500;text-transform:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ks-audience{margin:14px 0 18px;padding:14px 16px;border-radius:14px;background:#f3f6fd;line-height:1.45}
.ks-audience span{display:block;opacity:.74;margin-bottom:4px;letter-spacing:.06em}
.ks-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px}
.ks-quick > span{opacity:.74}
.ks-quick__link{text-decoration:none;border-bottom:1px solid rgba(21,38,65,.35);padding-bottom:1px;transition:border-color .15s}
.ks-quick__link:hover{border-color:#152641}
.request-modal.is-callback .request-form__field--opt{display:none}
.ks-fab{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ks-fab__btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;border:0;border-radius:999px;background:#152641;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(21,38,65,.18);transition:transform .15s ease}
.ks-fab__btn *{color:#fff}
.ks-fab__btn:hover{transform:translateY(-2px)}
.ks-fab__btn:focus-visible{outline:3px solid var(--ks-blue);outline-offset:2px}
.ks-fab__menu{display:flex;flex-direction:column;min-width:240px;background:#fff;border-radius:18px;padding:8px;box-shadow:0 14px 40px rgba(21,38,65,.16);border:1px solid rgba(21,38,65,.08)}
.ks-fab__menu[hidden]{display:none}
.ks-fab__menu a{padding:12px 14px;border-radius:12px;text-decoration:none;font-size:15px;font-weight:600}
.ks-fab__menu a:hover,.ks-fab__menu a:focus-visible{background:var(--ks-surface);outline:none}
@media (max-width:600px){
  .ks-fab{right:14px;bottom:14px}
  .ks-fab__btn{width:52px;height:52px;padding:0;justify-content:center}
  .ks-fab__btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce){.ks-fab__btn{transition:none}.ks-fab__btn:hover{transform:none}}

/* ===== Kingstar: сертификаты, кейсы ===== */
.ks-docs{margin-top:48px;scroll-margin-top:100px}
.ks-docs h2{margin:0 0 20px}
.ks-docs__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:16px}
.ks-doc{display:grid;grid-template-columns:140px 1fr;gap:18px;background:#f3f6fd;border-radius:18px;padding:16px;scroll-margin-top:100px}
.ks-doc:target{box-shadow:0 0 0 3px var(--ks-blue),0 0 0 4px #152641}
.ks-doc__imgs{display:flex;flex-direction:column;gap:8px}
.ks-doc__imgs a{display:block;border-radius:10px;overflow:hidden;background:#fff;border:1px solid rgba(21,38,65,.08);transition:transform .15s ease}
.ks-doc__imgs a:hover{transform:scale(1.02)}
.ks-doc__imgs img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#fff}
.ks-doc__body h3{margin:2px 0 12px;line-height:1.3}
.ks-doc dl{margin:0;display:grid;gap:8px}
.ks-doc dl div{display:grid;grid-template-columns:96px 1fr;gap:10px}
.ks-doc dt{opacity:.74}
.ks-doc dd{margin:0;line-height:1.4;overflow-wrap:anywhere}
.ks-doc__file{display:inline-block;margin-top:14px;padding:8px 14px;border-radius:999px;background:#152641;color:#fff;text-decoration:none}
.ks-doc__file,.ks-doc__file *{color:#fff}
.ks-trust__links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 0}
.ks-trust__links a{text-decoration:none;border-bottom:1px solid rgba(21,38,65,.35)}
.ks-trust__links a:hover{border-color:#152641}
.ks-trust--compact .ks-trust__links{margin-top:10px}
.ks-proof__grid{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:32px;align-items:start}
.ks-proof__list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}
.ks-proof__list li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:#f3f6fd}
.ks-proof__list a{text-decoration:none}
.ks-proof__list span{opacity:.74}
.ks-quote{margin:40px 0 0;padding:28px 32px;border-left:4px solid var(--ks-blue);background:var(--ks-surface);border-radius:0 18px 18px 0;max-width:900px}
.ks-quote p{margin:0 0 12px;line-height:1.25}
.ks-quote footer{opacity:.74}
.ks-case__gallery{margin-top:40px}
@media (max-width:991px){.ks-proof__grid{grid-template-columns:1fr}}
@media (max-width:600px){.ks-doc{grid-template-columns:96px 1fr;gap:12px}.ks-doc dl div{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){.ks-doc__imgs a{transition:none}.ks-doc__imgs a:hover{transform:none}}

/* ===== Палитра Kingstar (минималистичная): один акцент Cerulean, тёмно-синий вместо чёрного, --ks-surface — единственный нейтральный неоновый фон ===== */
:root{--ks-blue:#2350d2;--ks-blue-hover:#1a3fae;--ks-dark:#152641;--ks-surface:#f3f6fd}
::selection{background:rgba(35,80,210,.18);color:var(--ks-dark)}
/* главные кнопки (класс .yellow остался от исходного дизайна) — синие с белым текстом */
.button.yellow{background-color:var(--ks-blue)}
.button.yellow:hover{background-color:var(--ks-blue-hover)}
.button.yellow,.button.yellow *,.button.yellow.color-black,.button.yellow::before,.button.yellow::after{color:#fff}
/* на тёмно-синем блоке синяя кнопка теряется — там белая */
.ks-cta--wide .button.yellow{background-color:#fff}
.ks-cta--wide .button.yellow:hover{background-color:var(--ks-surface)}
.ks-cta--wide .button.yellow,.ks-cta--wide .button.yellow *,.ks-cta--wide .button.yellow::before,.ks-cta--wide .button.yellow::after{color:var(--ks-dark)}
/* тёмные кнопки — тёмно-синие */
.button.black,.button.black-with-hover{background-color:var(--ks-dark)}
.button.black-with-hover:hover{background-color:var(--ks-blue)}
/* ссылки в текстах и акцентные элементы — синие */
.cms__body a,.ks-quick__link,.ks-trust__links a,.ks-proof__list a{color:var(--ks-blue)}
.cms__body a:hover{color:var(--ks-blue-hover)}
.ks-quick__link,.ks-trust__links a{border-bottom-color:rgba(35,80,210,.35)}
.header__helpers-block.request-helper span{color:var(--ks-blue)}
.ks-eyebrow{color:var(--ks-blue);opacity:1}
.ks-tabs a.active{background:var(--ks-blue);border-color:var(--ks-blue)}
.ks-tabs a.active,.ks-tabs a.active *{color:#fff}
/* кнопка «Связаться» и итог калькулятора — основным синим */
.ks-fab__btn{background:var(--ks-blue)}
.ks-fab__menu a:hover,.ks-fab__menu a:focus-visible{background:var(--ks-surface)}
.ks-calc__rows .ks-calc__total{background:var(--ks-blue)}
/* шапка таблицы характеристик — тёмно-синяя, выделение строк — светло-голубое */
.ks-specs tbody tr:hover,.ks-specs tbody tr:hover th.ks-specs__param{background-color:var(--ks-surface)}
/* светло-голубые плашки получают тонкую синюю рамку при наведении у кликабельных карточек */
.ks-kit-card:hover{box-shadow:0 14px 30px rgba(35,80,210,.14)}
.ks-kit-item:hover{border-color:var(--ks-blue)}
/* сетка карточек (комплекты, кейсы): 4 колонки → 2 на планшете → 1 на телефоне; в узком блоке «Документы и объекты» — 2 */
.ks-proof .ks-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1199px){.ks-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ks-kit-grid,.ks-proof .ks-kit-grid{grid-template-columns:1fr}}

/* ===== Плитки категорий и решений (big-category): читаемость названия на светлых фото =====
   Градиентный scrim в фирменном тёмно-синем, снизу — плотный под названием, растворяется кверху,
   фото остаётся ярким. Плюс лёгкая общая тонировка для совсем белых кадров и мягкая тень у текста. */
.big-category::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(0deg,rgba(21,38,65,.72) 0%,rgba(21,38,65,.45) 32%,rgba(21,38,65,.16) 58%,rgba(21,38,65,0) 78%),
    rgba(21,38,65,.12);
  transition:opacity .3s ease}
.big-category__inner{z-index:1}
.big-category__text{text-shadow:0 2px 28px rgba(21,38,65,.5),0 1px 3px rgba(21,38,65,.35)}
.big-category:hover::before{opacity:.9}
@media (prefers-reduced-motion:reduce){.big-category::before{transition:none}}

/* ===== Этап 2: категории — бенто-сетка вместо цепочки полноэкранных плашек =====
   На главной (main-category--bento) — один крупный тайл слева и два поменьше справа, как в бенто-раскладках.
   На /solutions/ (без модификатора) — ровная сетка карточек 4:3, решений может быть больше трёх-четырёх. */
.main-category{display:grid;gap:16px}
/* text-200 — это 150–260px кегля с большим "воздухом" под буквами прямо в строке (line-height у шрифта
   не 1); часть margin-bottom проваливается в этот скрытый нижний паддинг строки и снаружи выглядит,
   будто заголовок прижат к плиткам, хотя в CSS отступ есть. Тушим line-height и берём отступ с запасом */
.main-category h2{grid-column:1/-1;line-height:.92;margin-bottom:clamp(32px,6vw,88px)}
.main-category .big-category{height:auto;min-height:0}
.main-category .big-category__inner{position:absolute;inset:0;display:flex;align-items:flex-end;padding:28px}
.main-category .big-category__text{position:static;top:auto;left:auto;float:none;margin:0;max-width:85%}
.main-category--bento{grid-template-columns:1.3fr 1fr;grid-auto-rows:132px}
.main-category--bento .big-category:first-of-type{grid-row:span 4}
.main-category--bento .big-category:not(:first-of-type){grid-row:span 2}
.main-category--bento .big-category:not(:first-of-type) .big-category__text{font-size:32px}
.main-category:not(.main-category--bento){grid-template-columns:repeat(2,minmax(0,1fr))}
.main-category:not(.main-category--bento) .big-category{aspect-ratio:4/3}
@media (max-width:991px){
  .main-category--bento{grid-template-columns:1fr;grid-auto-rows:auto}
  .main-category--bento .big-category{aspect-ratio:4/3;grid-row:auto!important}
  .main-category--bento .big-category:not(:first-of-type) .big-category__text{font-size:40px}
}
@media (max-width:767px){
  .main-category:not(.main-category--bento){grid-template-columns:1fr}
  .main-category .big-category__inner{padding:20px;justify-content:center;text-align:center}
}

/* Периwinkle/Rose/Persimmon отменены (этап «минимализм»): один акцент — Cerulean, данные — на нейтральном --ks-surface */
.request-form input:focus-visible,.request-form textarea:focus-visible,.ks-calc__field input:focus-visible{box-shadow:0 0 0 3px rgba(35,80,210,.35)}

/* ===== Этап 1: доступность, касания, читаемость ===== */
/* кнопки, которые раньше были div: сбрасываем системное оформление */
.ks-btn-reset{appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;font:inherit;color:inherit;background:transparent;cursor:pointer;text-align:inherit}
.ks-btn-reset.bg-white{background-color:#fff}
/* ссылка «Перейти к содержимому» — видна только при фокусе с клавиатуры */
.ks-skip{position:absolute;left:12px;top:-120px;z-index:2000;background:var(--ks-blue);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none}
.ks-skip:focus{top:12px}
/* видимый фокус для клавиатуры (мышь его не показывает) */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ks-blue);outline-offset:2px;border-radius:4px}
.label-container input:focus-visible,.label-container select:focus-visible{outline:3px solid var(--ks-blue);outline-offset:2px}
.search__input-block:focus-within{box-shadow:0 0 0 3px var(--ks-blue);border-radius:12px}
/* зоны нажатия не меньше 44×44 */
.header__helpers.blurred-block{height:44px;padding:0 8px}
.header__helpers-block{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;margin-right:2px;padding:0 10px;border-radius:999px}
.header__helpers-block:last-of-type{margin-right:0}
.header__helpers-block:hover{background:rgba(255,255,255,.45)}
.header__sandwich,.modal__close{width:44px;height:44px}
.header__menu{height:44px}
/* базовая .button была шириной ровно 153px без отступов — переведённый на русский текст в некоторых кнопках
   не влезал и обрезался высотой блока (overflow:hidden у .hover-flip). Ширина по контенту с отступами —
   кнопка больше не режет текст, сколько бы он ни занял */
/* inline-flex сажал кнопку слайдера в одну строку с заголовком на широких экранах (сама стала
   строчным элементом) — нужен блочный display, но с шириной по контенту, а не auto (auto у блочного
   flex-контейнера растягивается на всю ширину родителя) */
.button{display:flex;width:fit-content;min-width:153px;height:44px;padding:0 24px;border-radius:22px;white-space:nowrap}
.hover-flip::before,.hover-flip::after{white-space:nowrap}
.blurred-block{height:44px}
.dropdowns__item-title{width:100%;min-height:44px;text-align:left}
.grids__choice{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.menu__group-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.ks-tabs a{min-height:44px;display:inline-flex;align-items:center}
.ks-quick__link{display:inline-block;padding:11px 0;border-bottom:0;text-decoration:underline;text-decoration-color:rgba(35,80,210,.35);text-underline-offset:4px}
.ks-quick__link:hover{text-decoration-color:currentColor}
@media (max-width:991px){
  .footer__link,.menu__group-link,.menu__social-link,.footer__bottom a,.footer__social a{display:inline-block;padding:10px 0}
  .breadcrumbs a{display:inline-block;padding:10px 0}
  .ks-trust__links a,.ks-section__head a{display:inline-block;padding:11px 0}
  .header__logo-link{padding:7px 0}
  .ks-cta__actions a{padding:11px 0}
  .footer__address a{display:inline-block;padding:11px 0}
  .footer__bottom a{padding:12px 0}
}
/* текущий раздел в меню */
.header__link[aria-current="page"],.menu__group-link[aria-current="page"],.menu__group-title[aria-current="page"],.footer__link[aria-current="page"]{color:var(--ks-blue)}
.header__link[aria-current="page"] span{color:var(--ks-blue)}
/* приглушённый текст: не прозрачнее 0.74 — контраст ≥4.5:1 на белом, светлых и розовых плашках */
.ks-news-card__meta,.ks-quick > span,.ks-note,.ks-calc__note,.product__audience,.product__price-request,.ks-calc__field span,.ks-calc__field small,.ks-trust li span,.ks-doc dt,.ks-article__meta,.request-form__field span,.request-modal__product,.ks-kit-item__text span,.ks-audience span,.ks-proof__list span,.ks-kit-card__chips i,.ks-kit-card__text,.ks-lead{opacity:.74}
/* слайдер без автопрокрутки — индикатор обратного отсчёта не нужен */
.autoplay-progress{display:none!important}
/* основной текст на телефоне — от 16px, второстепенный — от 15px */
@media (max-width:767px){.text-15{font-size:16px}.text-14{font-size:15px}}
/* ошибки формы — рядом с полем */
.request-form__error{margin:6px 0 0;color:#b3261e;font-size:14px;font-weight:600}
.request-form [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 2px rgba(179,38,30,.15)}
.request-form__consent.is-invalid{color:#b3261e}
:where(img[width][height]){height:auto}

/* ===== Этап 3: моушн — единые тайминги и появление карточек при прокрутке ===== */
:root{--ks-ease:cubic-bezier(.16,1,.3,1);--ks-dur-s:150ms;--ks-dur-m:300ms;--ks-dur-l:550ms}
.js-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--ks-dur-l) var(--ks-ease),transform var(--ks-dur-l) var(--ks-ease)}
.js-reveal.is-visible{opacity:1;transform:none}
/* карточки товаров получают то же лёгкое движение при наведении, что и карточки комплектов/кейсов */
.product{transition:transform var(--ks-dur-m) var(--ks-ease)}
.product:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){
  .js-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .product{transition:none}
  .product:hover{transform:none}
}

/* ===== Заголовки прячутся под плавающей шапкой (.header фиксирован, position:fixed, высота ~64px) =====
   Это видно при переходе по якорям: «Характеристики» на странице товара (#specs), вкладки калькулятора
   (#laundromat/#hotel), разделы документов (#kind-…), skip-link (#main) — заголовок раздела оказывался
   ровно под шапкой. scroll-margin-top ничего не меняет визуально, но браузер останавливает прокрутку
   с запасом, поэтому действует на любой будущий якорь без необходимости править каждый шаблон отдельно. */
[id]{scroll-margin-top:96px}

/* ===== Конструктор блоков товара (product.template === 'blocks') — apple.com-стиль карточки товара,
   собирается из блоков в админке (admin/product_blocks.php), рендерится inc/product_blocks.php.
   Токены (--ks-blue/--ks-dark/--ks-surface, --ks-ease/--ks-dur-*) те же, что и на всём сайте. ===== */
.ks-blocks{max-width:none;padding:0}
.ks-blocks .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.ks-blocks section{padding:96px 0}
@media (max-width:640px){.ks-blocks section{padding:56px 0}}

/* — hero — */
/* .header сайта — position:fixed, нижний край на 64px от верха экрана (см. style.css) — герою нужен
   собственный запас сверху, иначе заголовок оказывается прижат прямо к шапке */
.ks-block-hero{padding:160px 0 0;text-align:center}
.ks-block-hero__h1{font-size:clamp(40px,6vw,84px);line-height:1.02;margin:8px 0 20px;letter-spacing:-.01em}
.ks-block-hero__lead{max-width:640px;margin:0 auto 28px;color:rgba(21,38,65,.78)}
.ks-block-hero .ks-cta__row{justify-content:center;margin-bottom:12px}
.ks-block-hero .ks-quick{justify-content:center}
.ks-block-hero__img{margin-top:48px;padding:0 24px}
.ks-block-hero__img img{max-width:700px;width:100%;height:auto;display:block;margin:0 auto}
.ks-block-hero__specline{text-align:center;padding:20px 24px;color:rgba(21,38,65,.78)}
@media (max-width:640px){.ks-block-hero{padding:120px 0 0}}

/* — статы доверия: переиспользует .ks-kit-stats как есть; это не <section>, а обычный div (идёт сразу
   за hero, без разрыва фона), поэтому .wrap и вертикальные отступы даёт свой собственный контейнер */
.ks-block-trust-wrap{padding:64px 0}
.ks-block-trust{margin-bottom:0}
@media (max-width:640px){.ks-block-trust-wrap{padding:40px 0}}

/* — текст+фото: тот же грид, что .ks-kit__hero, но без CTA-строки кита — */
.ks-block-split__row{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.ks-block-split__img img{width:100%;height:auto;border-radius:20px;display:block}
@media (max-width:900px){.ks-block-split__row{grid-template-columns:1fr}.ks-block-split__img{order:-1}}

/* — бенто-мозаика: разные по размеру плитки в одной сетке. Секция — на нейтральной подложке (--ks-surface),
   обычные плитки — белые карточки поверх неё (иначе на белом фоне страницы «фото»-плитка без своей
   заливки сливается с фоном и не читается как плитка); цветные акценты (blue/dark) — поверх этого же фона */
.ks-block-bento{background:var(--ks-surface)}
.ks-block-bento__h2{text-align:center;font-size:clamp(28px,3.4vw,42px);margin:0 0 14px}
.ks-block-bento__lead{text-align:center;color:rgba(21,38,65,.55);font-size:17px;max-width:520px;margin:0 auto 56px}
.ks-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:150px;gap:16px}
.ks-bento-tile{position:relative;overflow:hidden;border-radius:20px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;min-width:0;background:#fff}
.ks-bento-tile b{display:block;font-family:'Unbounded',sans-serif;font-weight:600;font-size:21px;line-height:1.25;margin-bottom:6px}
.ks-bento-tile span{font-size:14px;line-height:1.5;opacity:.85}
.ks-bento-tile.is-photo{grid-column:span 2;grid-row:span 2;background:#fff;padding:0}
.ks-bento-tile.is-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:24px 24px 74px}
.ks-bento-tile.is-photo b,.ks-bento-tile.is-photo span{position:relative;z-index:1;padding:0 24px}
.ks-bento-tile.is-photo span{padding-bottom:24px}
.ks-bento-tile.is-wide{grid-column:span 2}
.ks-bento-tile.is-full{grid-column:span 2}   /* «на всю ширину» больше не растягивает короткие плитки: две подряд встают в одну строку */
/* глобальное * { color: #152641 } в style.css бьёт по <b>/<span> напрямую, а не только через наследование —
   color на самой плашке его не перебивает, нужно явно красить дочерние элементы (см. «Палитра» в CLAUDE.md) */
.ks-bento-tile.is-blue{background:var(--ks-blue)}
.ks-bento-tile.is-dark{background:var(--ks-dark)}
.ks-bento-tile.is-blue,.ks-bento-tile.is-blue b,.ks-bento-tile.is-blue span,
.ks-bento-tile.is-dark,.ks-bento-tile.is-dark b,.ks-bento-tile.is-dark span{color:#fff}
.ks-bento-tile.is-dark span,.ks-bento-tile.is-blue span{opacity:.75}
@media (max-width:900px){
  .ks-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  .ks-bento-tile{min-height:150px;padding:22px}
  .ks-bento-tile.is-photo{grid-column:span 2;grid-row:auto;aspect-ratio:16/11;height:auto}
  .ks-bento-tile.is-photo img{padding:18px 18px 84px}
  .ks-bento-tile.is-wide,.ks-bento-tile.is-full{grid-column:span 2}
}
@media (max-width:560px){
  .ks-bento{grid-template-columns:1fr}
  .ks-bento-tile.is-photo,.ks-bento-tile.is-wide,.ks-bento-tile.is-full{grid-column:span 1}
  .ks-bento-tile.is-photo{aspect-ratio:4/3}
}

/* — power: тёмная секция, «прикалывается» на время скролла и досчитывает число (50G → 400G), абстрактный
   индикатор (кольца + лучи) крутится синхронно — JS в product-blocks.js, один ScrollTrigger на секцию */
.ks-block-power{position:relative;overflow:hidden;background:var(--ks-dark);height:100svh;display:flex;align-items:center;justify-content:center}
.ks-block-power__bg{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 100% at 50% 10%,#1d2f4d 0%,var(--ks-dark) 65%);opacity:.5}
.ks-block-power__spinner{position:absolute;top:50%;left:50%;width:min(56vw,520px);height:min(56vw,520px);transform:translate(-50%,-50%);pointer-events:none;opacity:.6;z-index:0}
.ks-block-power__spinner svg{display:block;width:100%;height:100%}
.ks-block-power__inner{position:relative;z-index:1;width:100%;padding:24px;text-align:center;color:#fff}
.ks-block-power__inner .ks-eyebrow{color:rgba(255,255,255,.78)}
.ks-block-power__number{font-size:clamp(64px,12vw,190px);line-height:.95;margin:6px 0 0;font-family:'Unbounded',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.ks-block-power__inner p{max-width:520px;margin:24px auto 0;color:rgba(255,255,255,.68);font-size:18px;line-height:1.6;opacity:0}
@media (max-width:640px){.ks-block-power__spinner{width:min(78vw,320px);height:min(78vw,320px)}}
@media (prefers-reduced-motion:reduce){.ks-block-power__spinner{display:none}.ks-block-power__inner p{opacity:1}}

/* — 360°: покадровая прокрутка через canvas, на всю ширину экрана (эффект в духе apple.com/airpods) —
   JS (product-blocks.js) пинит секцию на десктопе и просто скрабит кадр по прогрессу без пина на мобильном
   (короткая секция + длинный пин на телефоне выглядели как зависание с пустым полем) */
.ks-block-spin{position:relative;overflow:hidden;background:var(--ks-surface);height:100svh}
.ks-block-spin__stage{position:absolute;inset:0;width:100%;height:100%}
.ks-block-spin__stage canvas{display:block;width:100%;height:100%;object-fit:cover}
.ks-block-spin__scrim{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(to top,rgba(21,38,65,.55),rgba(21,38,65,0));pointer-events:none}
.ks-block-spin__caption{position:absolute;left:0;right:0;bottom:64px;text-align:center;padding:0 24px;opacity:0}
.ks-block-spin__caption h2{font-size:clamp(26px,3.6vw,42px);margin:8px 0 0;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ks-block-spin__caption .ks-eyebrow{color:#fff;opacity:.85}
@media (max-width:900px){
  .ks-block-spin{height:auto;display:flex;flex-direction:column}
  .ks-block-spin__stage{order:1;position:relative;width:100%;height:auto;aspect-ratio:16/9}
  .ks-block-spin__scrim{display:none}
  .ks-block-spin__caption{order:0;position:static;padding:28px 24px 24px}
  .ks-block-spin__caption h2{color:var(--ks-dark);text-shadow:none}
  .ks-block-spin__caption .ks-eyebrow{color:var(--ks-blue);opacity:1}
}
@media (prefers-reduced-motion:reduce){.ks-block-spin{height:auto;padding:0}.ks-block-spin__stage{position:relative;aspect-ratio:16/9}.ks-block-spin__caption{opacity:1;position:absolute}}

/* — сравнение моделей: карточки (загрузка/фактор отжима из specs) + компактная таблица; на узком экране
   таблица прячется — вместо неё вкладки моделей и список «параметр — значение» (JS в product-blocks.js
   читает ту же таблицу, один источник данных) — свайпать 5 колонок на телефоне неудобно, а параметр
   уезжает вместе с ними */
.ks-block-compare__h2{text-align:center;margin-bottom:12px}
.ks-block-compare__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0 56px}
.ks-block-compare__card{border:1px solid var(--line, rgba(21,38,65,.1));border-radius:20px;padding:28px 22px;text-align:center}
.ks-block-compare__card b{display:block;font-family:'Unbounded',sans-serif;font-weight:600;font-size:20px;margin-bottom:6px}
.ks-block-compare__kg{font-size:32px;font-weight:600;color:var(--ks-blue);margin:14px 0 2px}
.ks-block-compare__kg--sm{font-size:22px;margin-top:12px}
.ks-block-compare__kglabel{font-size:13px;color:rgba(21,38,65,.55)}
.ks-block-compare__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px;padding:0 24px}
.ks-block-compare__table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px}
.ks-block-compare__table th,.ks-block-compare__table td{padding:16px 18px;text-align:center;border-bottom:1px solid rgba(21,38,65,.1)}
.ks-block-compare__table thead th{color:rgba(21,38,65,.5);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.ks-block-compare__table tbody th{text-align:left;font-weight:500;color:rgba(21,38,65,.75)}
.ks-block-compare__table tbody tr:last-child th,.ks-block-compare__table tbody tr:last-child td{border-bottom:0}
.ks-block-compare__mobile{display:none}
@media (max-width:900px){.ks-block-compare__grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
  .ks-block-compare__table-wrap{display:none}
  .ks-block-compare__mobile{display:block}
}
.ks-block-compare__tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px 24px;padding:0 24px}
.ks-block-compare__tab{flex:0 0 auto;padding:10px 18px;border-radius:100px;background:var(--ks-surface);color:var(--ks-dark);font-size:14px;font-weight:600;font-family:inherit;border:0;cursor:pointer}
.ks-block-compare__tab.is-active{background:var(--ks-blue);color:#fff}
.ks-block-compare__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(21,38,65,.1);font-size:15px}
.ks-block-compare__row:last-child{border-bottom:0}
.ks-block-compare__label{color:rgba(21,38,65,.55)}
.ks-block-compare__value{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}

/* — FAQ: заголовок над уже существующим аккордеоном .dropdowns — */
.ks-block-faq{background:var(--ks-surface)}
.ks-block-faq__h2{text-align:center;margin-bottom:40px}
/* карточки-«гармошка» вместо голого списка со строчками — .dropdowns переиспользуется как есть
   (тот же аккордеон, что «Описание»/«Параметры» на обычной странице товара), но здесь на белых
   скруглённых карточках с большими отступами, как в исходном концепте */
.ks-block-faq .dropdowns{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.ks-block-faq .dropdowns__item{background:#fff;border-radius:16px;overflow:hidden;margin:0}
.ks-block-faq .dropdowns__item-title{padding:26px 32px;min-height:0}
.ks-block-faq .dropdowns__name{font-size:19px;font-weight:600;text-transform:none;letter-spacing:0}
.ks-block-faq .dropdowns__content{margin-top:0}
.ks-block-faq .dropdowns__content p{padding:0 32px 26px;color:rgba(21,38,65,.62);font-size:16px;line-height:1.6}
@media (max-width:640px){.ks-block-faq .dropdowns__item-title,.ks-block-faq .dropdowns__content p{padding-left:20px;padding-right:20px}}

/* — появление блоков при прокрутке: та же механика классов, что .js-reveal/.is-visible (см. «Этап 3» выше),
   но с собственным IntersectionObserver в product-blocks.js — рискованно добавлять новые селекторы
   в общий обсервер kingstar.js, который используется всем сайтом */
.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--ks-dur-l) var(--ks-ease),transform var(--ks-dur-l) var(--ks-ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* — SEO/доступность: текст, нужный поисковикам/скринридерам, но не в визуальном макете (целевое число
   в .ks-block-power, которое иначе досчитывается только через GSAP и не существует в статическом HTML) — */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* — Аудит UI/UX (18.10): первый экран — */
/* Unbounded шире старого шрифта: длинное слово («Оборудование») при фиксированных 150px / calc(32px+11.7vw) не помещалось и рвалось на «Оборудовани|е».
   Кегль крупных заголовков подгоняем под ширину окна, а переносы ставим по слогам, а не по буквам. */
.rightsans{-webkit-hyphens:manual;hyphens:manual;text-wrap:balance}   /* без автопереносов: слова не рвём дефисом; если слово не влезает, его режет overflow-wrap:anywhere из style.css */
.text-200{font-size:clamp(26px,8.1vw,150px)}
@media (min-width:1000px){.text-200{font-size:clamp(26px,9.4vw,150px)}}
.main-slider__title{font-size:clamp(28px,8.2vw,90px)}
/* cookie ниже модалки заявки (100), иначе закрывает «Отправить заявку»; на телефоне — компактная полоса */
#cookie_popup{z-index:95}
.cookie_popup-btn .button{min-width:0;padding-left:0;padding-right:0}   /* базовая .button шире 102px-колонки и вылезала за плашку */
@media (max-width:767px){
  #cookie_popup{left:12px;right:12px;bottom:12px;width:auto;max-width:none;padding:10px 12px;font-size:12px;line-height:1.35;border-radius:14px}
  .cookie_popup-btn{width:64px;margin-left:12px}
  body:has(#cookie_popup[style*="block"]) .ks-fab{bottom:88px}
}
/* белый заголовок поверх фото: затемнение снизу (inset-тень лежит под содержимым, на z-index детей не влияет) */
.main-slider__slide{box-shadow:inset 0 -55vh 140px -80px rgba(21,38,65,.6)}
.collection-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to top,rgba(21,38,65,.62),rgba(21,38,65,0) 65%)}
/* без JS: прямые каналы связи вместо недоступной формы */
.ks-noscript{position:fixed;left:0;right:0;bottom:0;z-index:2000;padding:12px 16px;background:#152641;color:#fff;font-size:14px;text-align:center}
.ks-noscript a{color:#fff;text-decoration:underline}
.request-modal__next{margin-top:14px;opacity:.8}
/* кнопка в карточке каталога: сама карточка — ссылка, поэтому действие стоит рядом, а не внутри */
.product__request{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;padding:0 2px;font-size:14px;font-weight:600;color:var(--ks-blue);text-decoration:none}
.product__request:hover{text-decoration:underline}

/* Телефон: длинные слова в заголовках (самообслуживания, Калькуляторы) помещаются целиком, без переносов дефисом и разрывов посреди слова */
@media (max-width:600px){
  h1.rightsans.text-100{font-size:clamp(24px,8.6vw,34px);line-height:1.1}
  .ks-kit-card__title.rightsans{font-size:clamp(17px,5.6vw,21px)}
  .big-category__text.rightsans{font-size:clamp(16px,4.8vw,18px)}
  h2.rightsans.text-50{font-size:clamp(20px,6.4vw,26px);line-height:1.2}
  p.rightsans.text-36{font-size:clamp(17px,5.6vw,22px);line-height:1.25}
}

/* Заголовки спокойнее: крупные H1 старых страниц 90→58px, H2 50→38px, лендинг Smart 84→60px (телефон — правила выше) */
@media (min-width:601px){
  h1.rightsans.text-100{font-size:clamp(34px,4vw,58px);line-height:1.08}
  h2.rightsans.text-50{font-size:clamp(26px,2.6vw,38px);line-height:1.15}
  .big-category__text.rightsans{font-size:clamp(22px,2.4vw,34px)}
  .ks-block-hero__h1{font-size:clamp(34px,4.2vw,60px);line-height:1.05}
  main.ks-blocks h2.rightsans{font-size:clamp(24px,2.4vw,34px);line-height:1.15}
  .main-slider__title{font-size:clamp(28px,4.4vw,60px)}
}

/* Калькуляторы: подпись, поле и подсказка у соседних полей выровнены по строкам сетки (subgrid), поле не «скачет», если подпись в две строки */
.ks-calc__grid{row-gap:0}
.ks-calc__field{grid-row:span 3;grid-template-rows:subgrid;row-gap:0;padding-bottom:14px}
.ks-calc__field span{align-self:end;margin-bottom:6px}
.ks-calc__field small{margin-top:6px}
@supports not (grid-template-rows:subgrid){.ks-calc__field{grid-row:auto;grid-template-rows:none}.ks-calc__field span{min-height:2.7em}}


/* Просмотр изображений поверх страницы (kingstar.js) */
.ks-lb[hidden]{display:none}
.ks-lb{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:56px 64px;background:rgba(21,38,65,.88)}
.ks-lb__img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff}
.ks-lb button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#152641;font-size:28px;line-height:1;cursor:pointer}
.ks-lb button[hidden]{display:none}
.ks-lb button:hover{background:#F3F6FD}
.ks-lb__x{top:12px;right:12px}
.ks-lb__n{top:50%;margin-top:-24px}
.ks-lb__n--p{left:8px}
.ks-lb__n--n{right:8px}
.ks-lb__c{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;font-size:14px;font-weight:600;color:#fff}
.ks-lb-on{overflow:hidden}
@media (max-width:700px){.ks-lb{padding:64px 12px}.ks-lb__n{top:auto;bottom:8px;margin-top:0}.ks-lb__n--p{left:12px}.ks-lb__n--n{right:12px}.ks-lb__c{bottom:24px}}


/* Подвал: слева дилер и быстрые контакты, справа четыре колонки ссылок; внизу строка реквизитов, производитель и политика */
.ft{margin-top:0;padding:clamp(48px,6vw,80px) 0 28px;border-top:1px solid rgba(21,38,65,.12);background:#fff;color:#152641}
.ft__inner{box-sizing:border-box;width:min(100% - 2 * clamp(20px,4vw,48px),1240px);margin-inline:auto}
.ft__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px)}
.ft__h{margin:0 0 14px;font-size:13px;line-height:1.3;font-weight:700;color:rgba(21,38,65,.72)}
.ft__name{margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:800}
.ft__m{margin:0 0 6px;font-size:14px;line-height:1.5;font-weight:500;color:rgba(21,38,65,.72)}
.ft__contacts{list-style:none;margin:18px 0 20px;padding:0;display:grid;gap:2px}
.ft__contacts li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;min-height:44px;border-top:1px solid rgba(21,38,65,.12)}
.ft__k{font-size:13px;font-weight:600;color:rgba(21,38,65,.72)}
.ft__contacts a{font-size:17px;font-weight:700;color:#152641;text-decoration:none}
.ft__contacts a:hover,.ft__col a:hover,.ft__legal a:hover{color:#2350D2}
.ft__reply{margin:12px 0 0}
.ft__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ft__col ul{list-style:none;margin:0;padding:0}
.ft__col a{display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.35;font-weight:600;color:#152641;text-decoration:none}
.ft__col a[aria-current]{color:#2350D2}
.ft__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px;margin-top:clamp(32px,4vw,56px);padding-top:20px;border-top:1px solid rgba(21,38,65,.12);font-size:13px;line-height:1.5;font-weight:500;color:rgba(21,38,65,.72)}
.ft__bottom p{margin:0}
.ft__mf{flex:1 1 320px}
.ft__legal{list-style:none;margin:0;padding:0}
.ft__legal a{display:inline-flex;align-items:center;min-height:44px;color:rgba(21,38,65,.72);text-decoration:underline;text-underline-offset:3px}
.ft__note{margin:20px 0 0;font-size:12px;color:rgba(21,38,65,.72)}
@media (max-width:1100px){.ft__grid{grid-template-columns:minmax(0,1fr)}.ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ft__contacts li{grid-template-columns:84px minmax(0,1fr)}.ft__btn{width:100%}}

/* Открывающееся меню: быстрые контакты дилера под ссылками */
.menu__quick{margin-top:32px;padding-top:20px;border-top:1px solid rgba(21,38,65,.12)}
.menu__quick-t{margin:0 0 8px;font-size:13px;font-weight:700;color:rgba(21,38,65,.72)}
.menu__quick ul{list-style:none;margin:0 0 16px;padding:0}
.menu__quick li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:center;min-height:44px}
.menu__quick li span{font-size:13px;font-weight:600;color:rgba(21,38,65,.72)}
.menu__quick a:not(.button){font-size:16px;font-weight:700;color:#152641;text-decoration:none}
.menu__quick a:not(.button):hover{color:#2350D2}
.menu__quick-m{margin:10px 0 0;font-size:13px;color:rgba(21,38,65,.72)}
.menu__quick.desktop{margin-top:48px;max-width:420px}
.ft__contacts a,.menu__quick a:not(.button){display:flex;align-items:center;min-height:44px}

/* Подвал, второй проход: реквизиты и контакты одной полосой сверху, ссылки четырьмя широкими колонками ниже */
.ft__grid{grid-template-columns:minmax(0,1fr);gap:clamp(32px,4vw,56px)}
.ft__org{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.ft__contacts{margin-top:0}
.ft__cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px clamp(24px,3vw,48px);padding-top:clamp(24px,3vw,40px);border-top:1px solid rgba(21,38,65,.12)}
.ft__col a{font-size:16px}
@media (max-width:900px){.ft__org{grid-template-columns:minmax(0,1fr)}.ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:340px){.ft__cols{grid-template-columns:minmax(0,1fr)}}
.ft__col a{padding:8px 0;line-height:1.3}

/* Подвал, третий проход: только навигация и контакты, без повторного рассказа о компании (реквизиты — одной строкой внизу) */
.ft{padding:clamp(40px,5vw,64px) 0 24px}
.ft__cols{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:0;border-top:0}
.ft__col--c .ft__m{margin:8px 0 0}
.ft__bottom{margin-top:clamp(24px,3vw,40px)}
.ft__bottom > p:first-child{flex:1 1 100%}
@media (max-width:1100px){.ft__cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:340px){.ft__cols{grid-template-columns:minmax(0,1fr)}}
.ft{padding-top:clamp(32px,4vw,48px)}

/* Поиск в модальном окне: кольцо фокуса одно, вокруг всей строки (.search__input-block:focus-within); у самого поля своё кольцо убрано */
.search__input-block input:focus,.search__input-block input:focus-visible{outline:none !important;box-shadow:none}

/* Живой поиск в модальном окне: карточка без слайдера — фото на плашке и название */
.sm-card{display:flex;flex-direction:column;gap:6px;min-width:0;color:#152641;text-decoration:none}
.sm-card__img{display:block;aspect-ratio:1 / 1;border-radius:14px;background:#F3F6FD;overflow:hidden}
.sm-card__img img{display:block;width:100%;height:100%;object-fit:contain;padding:8%;box-sizing:border-box;mix-blend-mode:multiply}
.sm-card__t{padding:2px 2px 0;font-size:15px;line-height:1.3;font-weight:700}
.sm-card__r{padding:0 2px;font-size:13px;line-height:1.3;font-weight:500;color:rgba(21,38,65,.72)}
.sm-card:hover .sm-card__t{color:#2350D2}
.search__list{gap:20px 16px}
.search__list{max-width:1100px;margin-inline:auto}
@media (max-width:991px){.search__list{max-width:92%}}
.ks-fab__menu a:focus-visible{outline:2px solid var(--ks-blue);outline-offset:-2px}
.search__input::placeholder{text-overflow:ellipsis}
@media (max-width:700px){.search__input{font-size:16px}}

/* Поиск в модальном окне на телефоне: стрелка «Найти» не уходит за край при кнопке «Очистить», область нажатия 44px */
.search__submit{flex:none;width:44px;height:44px;margin-left:4px;background-size:16px 14px}
.search__clean{flex:none}
.search__input{min-width:0}
@media (max-width:700px){.search__input-block{padding:0 8px 0 16px}.search__input{margin-left:12px;margin-right:6px}.search__clean{font-size:13px}}
.search__clean{min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
.search__input-block:not(.active) .search__clean{display:none}
@media (max-width:700px){.ft__col--c{grid-column:1 / -1;padding-top:8px;border-top:1px solid rgba(21,38,65,.12)}}
@media (max-width:700px){.ft{padding-bottom:84px}}

/* <picture> не создаёт своего блока: img ведёт себя как прямой потомок контейнера (srcset-фильтр inc/srcset.php) */
picture{display:contents}
