/* Единый интерфейс «Звёздной»: палитра, кнопки, поля и состояния. */
:root{--zv-brand:#565ce0;--zv-brand-hover:#4247b9;--zv-brand-pressed:#363b9b;--zv-soft:#eeefff;--zv-border:#c9ccf7;--zv-text:#292936;--zv-radius:12px;--zv-shadow:0 4px 14px rgba(86,92,224,.12);--zv-duration:200ms;--cf-primary:var(--zv-brand);--cf-primary-dark:var(--zv-brand-hover);--hero-primary:var(--zv-brand);--hero-primary-light:var(--zv-brand);--deadline-primary:var(--zv-brand);--color-primary:var(--zv-brand)}
/* Основные действия. Селекторы не затрагивают раскрытие меню и скрытые панели. */
html body :is(.header__btn-order,.prefooter__btn-order,.cssmenu__btn,.main-slider__btn,.popular__btn,.promo__btn,.news-home__btn,.calculation__btn,.error404__btn,.form-bid-anchor,.zv-catalog-callback,.hero-drip-btn-primary,.hero-drip-btn-secondary,.contact-btn,.card-more-btn,.more-btn,.more-cases-btn,.seo-accordion-3__toggle,.cost-form__btn,.form-button,.wpcf7-submit,:where(.reviews__form) [type=submit],:where(.reviews__form) [type=submit],:where(.dialog-content) .btn,.wp-block-button__link,.zv3d-enquire,.zvblint-enquire,.zvspot-enquire,.zvkongrev-enquire,.zvfoil-enquire,.zvkomb-enquire,[id="zvc-copy-number"]){box-sizing:border-box;height:auto!important;min-height:48px;max-width:100%;padding:12px 24px!important;border:1px solid var(--zv-brand)!important;border-radius:var(--zv-radius)!important;background-color:var(--zv-brand)!important;background-image:none!important;color:#fff!important;font-family:SFProText-Medium,Arial,sans-serif!important;font-size:16px!important;font-weight:500!important;line-height:22px!important;letter-spacing:normal!important;text-transform:none!important;text-align:center;text-decoration:none!important;white-space:normal;cursor:pointer;box-shadow:none;transition:background-color var(--zv-duration),border-color var(--zv-duration),color var(--zv-duration),box-shadow var(--zv-duration)!important}
html body :is(.header__btn-order,.prefooter__btn-order,.cssmenu__btn,.main-slider__btn,.popular__btn,.promo__btn,.news-home__btn,.calculation__btn,.error404__btn,.form-bid-anchor,.hero-drip-btn-primary,.contact-btn,.card-more-btn,.more-btn,.more-cases-btn,.seo-accordion-3__toggle,.cost-form__btn--primary,.form-button,.wpcf7-submit,:where(.reviews__form) [type=submit],:where(.reviews__form) [type=submit],:where(.dialog-content) .btn,.wp-block-button__link,.zv3d-enquire,.zvblint-enquire,.zvspot-enquire,.zvkongrev-enquire,.zvfoil-enquire,.zvkomb-enquire,[id="zvc-copy-number"]):hover{background-color:var(--zv-brand-hover)!important;border-color:var(--zv-brand-hover)!important;color:#fff!important;box-shadow:var(--zv-shadow)!important;transform:none!important}
/* Второстепенные действия и связь. */
html body :is(.zv-catalog-callback,.hero-drip-btn-secondary,.cost-form__btn--ghost){background-color:#fff!important;color:var(--zv-brand)!important;border-color:var(--zv-brand)!important}
html body :is(.zv-catalog-callback,.hero-drip-btn-secondary,.cost-form__btn--ghost):hover{background-color:var(--zv-soft)!important;color:var(--zv-brand-hover)!important;box-shadow:var(--zv-shadow)!important;transform:none!important}
html body :is(.card-more-btn,.more-btn,.seo-accordion-3__toggle,.cssmenu__btn,.header__btn-order){font-size:14px!important;line-height:20px!important;padding:12px 18px!important}
html body :is(.card-more-btn,.more-btn,.seo-accordion-3__toggle){min-height:44px}
html body :is(.main-slider__btn,.more-cases-btn)::after{content:' →';display:inline-block;margin-left:8px;position:static;transform:none!important;font-size:20px;line-height:1}
html body :is(.header__btn-order,.prefooter__btn-order,.main-slider__btn,.popular__btn,.form-bid-anchor,.wpcf7-submit,.cost-form__btn--primary,.card-more-btn,.more-btn):active{background-color:var(--zv-brand-pressed)!important;box-shadow:none!important}
/* Поля разных форм получают общий фокус, но не новую логику проверки. */
html body :is(.wpcf7,.card__form,.reviews__form,.contacts__form,.cost-form,.popup,.form-form) :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],select,textarea,.jq-selectbox__select){box-sizing:border-box;max-width:100%;min-height:48px;border-radius:var(--zv-radius)!important;border:1px solid #d9dbe7;background-color:#fff;padding:12px 14px;font-family:SFProText-Light,Arial,sans-serif;font-size:16px;line-height:22px;transition:border-color var(--zv-duration),box-shadow var(--zv-duration)}
html body :is(.wpcf7,.card__form,.reviews__form,.contacts__form,.cost-form,.popup,.form-form) :is(input,select,textarea,.jq-selectbox):focus-within{border-color:var(--zv-brand)!important;box-shadow:0 0 0 3px rgba(86,92,224,.16)!important;outline:none}
html body :is(input[type=checkbox],input[type=radio]){accent-color:var(--zv-brand)}
html body input[type=file]::file-selector-button{min-height:44px;padding:10px 16px;border:1px solid var(--zv-border);border-radius:var(--zv-radius);background:var(--zv-soft);color:var(--zv-brand);font:inherit;cursor:pointer}
html body :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--zv-brand)!important;outline-offset:3px}
html body :is(button,input[type=submit],.cost-form__btn):is(:disabled,[aria-disabled=true]){opacity:.5!important;cursor:not-allowed!important;box-shadow:none!important}
html body .wpcf7 form.submitting .wpcf7-submit{opacity:.65;cursor:progress}
html body .wpcf7-spinner{background-color:var(--zv-brand)}
/* Мессенджеры: единые контейнеры; изображения брендов сохраняют узнаваемость. */
html body :is(.zvc-messenger,.section2__btn-tl,.section2__btn-wp,.section2__btn-vb,.section2__btn-vk,.contacts__btn-tl,.contacts__btn-wp,.contacts__btn-vb,.contacts__btn-vk){box-sizing:border-box;min-height:48px;border:1px solid var(--zv-border)!important;border-radius:var(--zv-radius)!important;background:var(--zv-soft)!important;color:var(--zv-brand)!important;text-transform:none!important;transition:background-color var(--zv-duration),border-color var(--zv-duration),box-shadow var(--zv-duration)!important}
html body :is(.zvc-messenger,.section2__btn-tl,.section2__btn-wp,.section2__btn-vb,.section2__btn-vk,.contacts__btn-tl,.contacts__btn-wp,.contacts__btn-vb,.contacts__btn-vk):hover{background:var(--zv-soft)!important;border-color:var(--zv-brand)!important;box-shadow:var(--zv-shadow)!important;transform:none!important}
html body :is(.section2__btn-tl,.section2__btn-wp,.section2__btn-vb,.section2__btn-vk,.contacts__btn-tl,.contacts__btn-wp,.contacts__btn-vb,.contacts__btn-vk){padding:12px 18px;font:500 14px/22px SFProText-Medium,Arial,sans-serif}
/* Вкладки, фильтры, пагинация и буквы словаря. */
html body :is(.tab-button,.filter-btn,.portfolio__control,.portfolio-filter-item,.glossary__link){box-sizing:border-box;min-height:44px;border-radius:var(--zv-radius)!important;transition:background-color var(--zv-duration),border-color var(--zv-duration),color var(--zv-duration)!important}
html body :is(.tab-button,.filter-btn,.portfolio__control,.portfolio-filter-item,.glossary__link):hover{background:var(--zv-soft)!important;color:var(--zv-brand)!important;border-color:var(--zv-border)!important}
html body :is(.tab-button.active,.filter-btn.active,.portfolio__control.mixitup-control-active,.portfolio-filter-item.item-active,.glossary__link.active,.page-numbers.current){background:var(--zv-brand)!important;color:#fff!important;border-color:var(--zv-brand)!important;box-shadow:none!important}
html body :is(.faq-icon,.quality-shield-icon,.timing-value,.summary-icon,.zvpol-nav-card__arrow){color:var(--zv-brand)}
html body :is(.card-nav,.menu) a:is(:hover,.active){border-radius:8px}
/* Карточки: одинаковая мягкая тень без прыжков и увеличения фотографий. */
html body :is(.catalog-directions__card,.zvpol-nav-card,.zvpol-category-card,.catalog-card,.case-card,.case-card--featured,.material-card,.deadline-item,.production-step-card,.summary-card,.faq-item,.wp-logo-card):hover{transform:none!important;box-shadow:var(--zv-shadow)!important;border-color:var(--zv-border)!important}
html body :is(.catalog-directions__card,.zvpol-nav-card,.zvpol-category-card,.catalog-card,.case-card,.case-card--featured,.material-card,.wp-logo-card):hover img,html body .wp-client-logo:hover{transform:none!important}
html body :is(.catalog-directions__card,.zvpol-nav-card,.zvpol-category-card,.catalog-card,.case-card,.case-card--featured,.material-card,.deadline-item,.production-step-card,.summary-card,.faq-item,.wp-logo-card){transition:background-color var(--zv-duration),border-color var(--zv-duration),box-shadow var(--zv-duration)!important}
html body .wp-stats-card{background:var(--zv-soft)!important}
html body .wp-stat-number{color:var(--zv-brand)!important}
/* Просмотр фотографий и карусели. Геометрия сеток остаётся в их компонентах. */
html body :is(.zv3d-prev,.zv3d-next,.zv3d-close,.zvblint-prev,.zvblint-next,.zvblint-close,.zvspot-prev,.zvspot-next,.zvspot-close,.zvkongrev-prev,.zvkongrev-next,.zvkongrev-close,.zvfoil-prev,.zvfoil-next,.zvfoil-close,.zvkomb-prev,.zvkomb-next,.zvkomb-close,.popup__close,.zvc-dialog-close){box-sizing:border-box;min-width:44px;min-height:44px;border:1px solid var(--zv-border);border-radius:var(--zv-radius)!important;background:var(--zv-soft)!important;color:var(--zv-brand)!important;box-shadow:none;transition:background-color var(--zv-duration),color var(--zv-duration)}
html body :is(.lightbox-close,.lightbox-nav,.fancybox-button){color:#fff;border-radius:var(--zv-radius)}
html body :is(.lightbox-close,.lightbox-nav,.fancybox-button):hover{background:var(--zv-brand)!important;transform:none}
html body .owl-carousel .owl-nav :is(button.owl-prev,button.owl-next){min-width:44px;min-height:44px;background-color:var(--zv-soft)!important;background-size:20px 24px!important;background-position:center!important;border:1px solid var(--zv-border)!important;border-radius:var(--zv-radius)!important;color:var(--zv-brand)!important;transition:background-color var(--zv-duration),border-color var(--zv-duration)!important}
html body .owl-carousel .owl-nav button:hover{border-color:var(--zv-brand)!important}
html body :is(.zv-technologies .owl-dot.active,.zv-catalog-strip .owl-dot.active,.owl-dot.active span){background-color:var(--zv-brand)!important;border-color:var(--zv-brand)!important}
html body .fancybox-thumbs__list a:before{border-color:var(--zv-brand)}
/* Результаты настольного поиска оформляются отдельно от его скрытия на телефонах. */
html body div.asp_r :is(.item:hover,.item.hovered){background:var(--zv-soft)!important}
html body div.asp_r .item h3 a{color:var(--zv-brand)!important}
@media(prefers-reduced-motion:reduce){html body :is(a,button,input,select,textarea,.popup,.popup__content,.popup__overlay,.case-card,.material-card,.deadline-item,.catalog-card,.zvpol-nav-card,.zvpol-category-card,.faq-icon,.lightbox-image){animation:none!important;transition:none!important;scroll-behavior:auto!important}.popup__content,.popup__overlay{opacity:1!important;transform:none!important}}

/* Контурные служебные значки одной толщины. */
html body :is(.cssmenu__tel,.cssmenu__tel2,.cssmenu__mail,.cssmenu__address,.contacts__block-in-tel,.contacts__block-in-mail){background-size:16px 16px}
html body :is(.news__more,.news-home__more){background-size:20px 20px}
html body .owl-carousel .owl-nav button.owl-prev{background-image:url('../img/ui-indigo/prev.svg')!important}
html body .owl-carousel .owl-nav button.owl-next{background-image:url('../img/ui-indigo/next.svg')!important}
html body :is(.card__form,.reviews__form,.contacts__form) .jq-selectbox__trigger-arrow{background-size:14px 14px}

/* CTA меню и нижние ссылки на мессенджеры. */
html body #zv-mega-menu .zm-pitch button{min-height:48px;border-radius:12px;font-family:SFProText-Medium,Arial,sans-serif;font-size:16px;transition:background-color 200ms}
html body .prefooter__other-contacts-links a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:4px;border:1px solid var(--zv-border);border-radius:12px;background:var(--zv-soft);vertical-align:middle}
html body .prefooter__other-contacts-links a img{width:28px;height:28px;object-fit:contain;margin:0}
html body .prefooter__other-contacts-links a:hover{border-color:var(--zv-brand);box-shadow:var(--zv-shadow)}
/* Текст формы отзывов не должен расширять экран телефона. */
html body .reviews__form-text{box-sizing:border-box;width:100%;max-width:730px}
/* Цвет декоративных пиктограмм услуг; их исходные контуры сохранены. */
html body .section1__item img{filter:url(#zv-indigo-icon-tint)}
/* Некоторые старые CF7-шаблоны содержат вторую оболочку попапа. */
html body .popup .popup__content .popup__content{width:100%;max-width:none;padding:0;margin:0;box-shadow:none;border-radius:0;transform:none;opacity:1}
html body .popup :is(form,label,p){font-family:SFProText-Light,Arial,sans-serif;font-size:15px;line-height:1.45}
html body :is(.wpcf7,.card__form,.reviews__form,.contacts__form,.cost-form,.popup,.form-form) :is(input,select,textarea):focus-visible{outline:none!important}
html body .promo__item_big .header__btn-order{width:auto!important;max-width:100%}
html body :is(.news__media,.news-home__media,.portfolio__grid-item,.prefooter__other-contacts-links a):hover img{transform:none!important}
html body #zvc-max-number{border-radius:12px}

/* Крестик по центру кнопки, независимо от метрик шрифта. */
html body .popup__close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;line-height:1;font-size:0}
html body .popup__close::before,html body .popup__close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}
html body .popup__close::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Кнопки главного слайдера: компактная ширина и центрирование. */
html body .main-slider .main-slider__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto!important;min-width:0!important;max-width:100%;min-height:48px;padding:12px 18px!important;box-sizing:border-box;vertical-align:middle}
html body .main-slider .main-slider__btn:after{content:'→';position:static;display:block;width:auto;height:auto;margin:0;padding:0;line-height:22px;font-size:20px;flex:0 0 auto;background:none;transform:none!important}

/* Белая кнопка на фирменном фоне промокарточки. Слой переопределяет общие !important кнопок. */
@layer zv-promo-contrast {
  html body .promo__item:hover :is(.promo__btn,.header__btn-order) {
    background-color:#fff!important;
    border-color:#fff!important;
    color:var(--zv-brand-hover)!important;
    box-shadow:none!important;
  }
  html body .promo__item:hover :is(.promo__btn,.header__btn-order):is(:hover,:focus-visible) {
    background-color:var(--zv-soft)!important;
    border-color:#fff!important;
    color:var(--zv-brand-pressed)!important;
  }
  html body .promo__item:hover :is(.promo__btn,.header__btn-order):focus-visible {
    outline:2px solid #fff!important;
    outline-offset:3px;
  }
}
/* Мобильные и планшетные кнопки только в подвале. */
@media(max-width:1199px){
 html body .prefooter :is(.header__btn-order,.prefooter__btn-order){display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;float:none!important;width:100%!important;max-width:100%!important;min-height:48px!important;height:auto!important;margin:16px 0 0!important;padding:12px 18px!important;font-size:16px!important;font-weight:500!important;line-height:22px!important;text-align:center!important;white-space:normal!important}
 html body .prefooter__sicial{display:flex!important;align-items:center!important;gap:8px!important}
 html body .prefooter__sicial>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;flex:0 0 48px!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;background:var(--zv-soft)!important;border:1px solid var(--zv-border)!important;border-radius:12px!important}
 html body .prefooter__sicial>a img{width:28px!important;height:28px!important;object-fit:contain!important;margin:0!important}
}
@media(max-width:767px){html body .prefooter__sicial{justify-content:center!important}}
