/* ============================================================
   UniBuilder — matveev-theme [Level-A]
   Аква / корма: teal #0B6E6E + янтарь #C4782A
   Шрифты: Manrope (заголовки, круг лого) + Source Sans 3 (текст)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{
  --p:var(--ub-primary,#0B6E6E);--ph:var(--ub-primary-hover,#085858);--pl:var(--ub-primary-light,#E0F2F2);--p50:#F0F9F9;
  --a:var(--ub-accent,#C4782A);--ah:var(--ub-accent-hover,#A56220);--al:var(--ub-accent-light,#F8EDE0);
  --gp:linear-gradient(135deg,var(--p),var(--ph));
  --dk:#0A1F24;--dc:#123038;--ds:#1A4450;
  --gd:linear-gradient(135deg,#0A1F24,#123038,#1A4450);
  --gh:linear-gradient(160deg,#0A1F24 0%,#123038 55%,#0B6E6E 100%);
  --surface:#ffffff;--surface-2:#F3F7F6;--surface-3:#E6EFEE;
  --n50:#F3F7F6;--n100:#E6EFEE;--n200:#CDDCDA;--n300:#A3B8B6;--n400:#6A8684;
  --n500:#476664;--n600:#334F4D;--n700:#233B39;--n800:#142726;--n900:#0A1F24;
  --rs:6px;--rm:10px;--rl:14px;--rxl:20px;--rf:9999px;--r-btn:9999px;--r-card:16px;--r-input:10px;--bw:1px;
  --sh-sm:0 8px 28px rgba(10,31,36,.07);
  --sh-brand:0 0 36px color-mix(in srgb,var(--p) 16%,transparent);
  --sh-modal:0 25px 50px -12px rgba(10,31,36,.28);
  --sh-btn:0 4px 14px color-mix(in srgb,var(--p) 28%,transparent);
  --sh-btn-hover:0 6px 18px color-mix(in srgb,var(--p) 36%,transparent);
  --fh:'Manrope',ui-sans-serif,system-ui,sans-serif;
  --fb:'Source Sans 3',ui-sans-serif,system-ui,sans-serif;
  --h1:clamp(2.35rem,5.2vw,3.75rem);--h2:clamp(1.85rem,3.8vw,2.75rem);--h3:clamp(1.35rem,2.6vw,1.9rem);--h4:clamp(1.15rem,2vw,1.4rem);
  --heading-weight:700;--heading-tracking:-.025em;--lh-heading:1.12;--lh-body:1.65;
  --heading-gradient:var(--n900);
  --title-weight:700;--stat-value-size:clamp(2.1rem,4.2vw,3.15rem);--stat-value-size-sm:clamp(1.6rem,3vw,2.3rem);--price-size:clamp(1.7rem,3.2vw,2.4rem);
  --section-py:clamp(40px,5vw,64px);--section-py-lg:clamp(48px,6vw,72px);--section-py-md:clamp(32px,4vw,48px);
  --card-featured-border:1px solid var(--p);--card-featured-accent:transparent;
  --footer-bg:#0A1F24;--footer-text:#ffffff;--footer-muted:#8AA0A4;--footer-heading:#ffffff;
  --footer-link:#C5D4D6;--footer-link-hover:#ffffff;--footer-border:#1A4450;
  --footer-social-bg:rgba(255,255,255,.1);--footer-social-hover:rgba(255,255,255,.18);
}
html{font-family:var(--fb);font-size:17px;-webkit-font-smoothing:antialiased}
body{
  font-family:var(--fb);
  color:var(--n800);
  background:
    radial-gradient(ellipse 80% 50% at 0% 0%,rgba(11,110,110,.06),transparent 55%),
    radial-gradient(ellipse 60% 40% at 100% 8%,rgba(196,120,42,.05),transparent 50%),
    var(--surface);
}
h1,h2,h3,h4,h5,.ub-hero h1,.ub-hero h2,
[class*="bm-"] .sh h2,[class*="bm-"] .sh h3,
[class*="bm-"] h1,[class*="bm-"] h2,[class*="bm-"] h3,[class*="bm-"] h4{
  font-family:var(--fh) !important;
  letter-spacing:var(--heading-tracking);
  font-weight:var(--heading-weight);
}
.btn,.btn-p,.btn-o,.nv-select-btn,.ub-menu-link{
  font-family:var(--fh);
}
.ub-hero{
  background-image:
    radial-gradient(circle at 12% 18%,rgba(11,110,110,.10),transparent 42%),
    radial-gradient(circle at 88% 8%,rgba(196,120,42,.10),transparent 36%);
}
@keyframes nv-fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
section[class*="bm-"],section.ub-hero{animation:nv-fade-up .5s ease both}
.btn,.btn-p,.btn-o{transition:transform .2s ease,box-shadow .2s ease}
.btn:hover,.btn-p:hover{transform:translateY(-1px)}

/* ——— Шапка / меню: крупное лого + плотная группа ——— */
.ub-header .container > .flex.items-center.justify-between{
  justify-content:flex-start !important;
  gap:0.75rem !important;
  padding-top:0.65rem !important;
  padding-bottom:0.65rem !important;
}
/* телефон / бургер — вправо, без огромной дыры между лого и меню */
.ub-header .container > .flex.items-center.justify-between > .flex.items-center:last-child{
  margin-left:auto !important;
  flex-shrink:0 !important;
}
.ub-header .ub-header-logo{
  height:52px !important;width:auto !important;max-height:52px !important;max-width:220px !important;
  object-fit:contain;display:block;
}
.ub-header a.flex-shrink-0{margin-right:0.35rem !important}
.ub-header nav{margin-left:0 !important}
.ub-header .flex.items-center.justify-between > .flex.items-center:first-child{
  flex:0 0 auto !important;min-width:0 !important;
}
.ub-header nav.hidden.md\:flex,
.ub-header nav.md\:flex{
  flex:0 1 auto !important;flex-wrap:nowrap !important;justify-content:flex-start !important;
  gap:0 !important;min-width:0 !important;
  margin-left:0.15rem !important;
}
.ub-header nav.space-x-8 > :not([hidden]) ~ :not([hidden]){margin-left:0 !important}
.ub-header .ub-menu-link{
  padding-left:0.45rem !important;padding-right:0.45rem !important;
  font-size:0.9rem !important;white-space:nowrap !important;
}
/* убить «…» overflow UniBuilder */
.ub-header .ub-nav-more{display:none !important}
.ub-header nav > a.ub-menu-link{display:block !important}
.ub-header nav > .dropdown-parent{display:inline-block !important}

/* дропдаун: НЕ w-48 / НЕ nowrap — полные RU-названия */
.ub-header .dropdown-parent{position:relative}
.ub-header .dropdown-child{
  width:max-content !important;
  min-width:280px !important;
  max-width:min(420px, 92vw) !important;
  padding:8px 0 !important;
  margin-top:0 !important;
  border-radius:12px !important;
  border:1px solid var(--n200) !important;
  background:#fff !important;
  box-shadow:0 16px 40px rgba(10,31,36,.14) !important;
  overflow:hidden;
  z-index:60 !important;
}
.ub-header .dropdown-child a{
  display:block !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  padding:10px 16px !important;
  line-height:1.35 !important;
  font-size:.95rem !important;
  color:var(--n800) !important;
  border-left:3px solid transparent;
}
.ub-header .dropdown-child a:hover,
.ub-header .dropdown-child a:focus{
  background:var(--pl) !important;
  color:var(--n900) !important;
  border-left-color:var(--p);
}

@media (min-width:768px){
  .ub-header .ub-header-logo{height:56px !important;max-height:56px !important;max-width:240px !important}
}
@media (max-width:767px){
  .ub-header .ub-header-logo{height:44px !important;max-height:44px !important;max-width:180px !important}
}

.ub-header a[href^="tel"]{
  color:var(--n800) !important;font-weight:600 !important;font-size:.95rem !important;
}
.ub-header a[href^="tel"]:hover{color:var(--p) !important}

/* мобильное подменю кормов (инжектится JS) */
.ub-mobile-nav .nv-sub{padding-left:1rem;border-left:2px solid var(--pl);margin:0.25rem 0 0.5rem}
.ub-mobile-nav .nv-sub a{display:block;padding:0.4rem 0;font-size:.92rem;color:var(--n700)}

/* пустые иконки в features — не показывать пустые квадраты/галочки */
[class*="bm-"] .ico:empty,
[class*="bm-"] .ico:has(img[src=""]),
[class*="bm-"] .ico img[src=""]{display:none !important}

/* ——— Контакты: светлая форма ——— */
[class*="bm-con-map-right-"],
[class*="bm-con-map-left-"]{
  background:var(--surface-2) !important;
}
[class*="bm-con-map-right-"] .bm-info h3,
[class*="bm-con-map-right-"] .bm-info h2,
[class*="bm-con-map-left-"] .bm-info h3,
[class*="bm-con-map-left-"] .bm-info h2{
  color:var(--n900) !important;
}
[class*="bm-con-map-right-"] .bm-ci,
[class*="bm-con-map-right-"] .bm-ci a,
[class*="bm-con-map-left-"] .bm-ci,
[class*="bm-con-map-left-"] .bm-ci a{
  color:var(--n700) !important;
}
[class*="bm-con-map-right-"] .fl,
[class*="bm-con-map-left-"] .fl{
  color:var(--n500) !important;
}
[class*="bm-con-map-right-"] .fi,
[class*="bm-con-map-left-"] .fi{
  background:#fff !important;
  border:1px solid var(--n200) !important;
  color:var(--n900) !important;
  color-scheme:light;
}
[class*="bm-con-map-right-"] .bm-map,
[class*="bm-con-map-left-"] .bm-map{
  background:var(--surface-3) !important;
  border:1px solid var(--n200);
  min-height:420px;
}
[class*="bm-con-map-right-"] .bm-map iframe,
[class*="bm-con-map-left-"] .bm-map iframe{
  min-height:420px;
  width:100%;
  border:0;
}

/* ——— Custom select (под тему teal) ——— */
.nv-select{
  position:relative;
  width:100%;
}
.nv-select-native{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:1px !important;height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
}
.nv-select-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--n200);
  border-radius:var(--r-input,10px);
  color:var(--n900);
  font:inherit;
  font-size:.95rem;
  line-height:1.35;
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
}
.nv-select.is-placeholder .nv-select-label{
  color:var(--n400);
}
.nv-select-btn:hover,
.nv-select.is-open .nv-select-btn{
  border-color:var(--p);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 18%,transparent);
}
.nv-select-chev{
  flex-shrink:0;
  color:var(--p);
  display:inline-flex;
  transition:transform .2s;
}
.nv-select.is-open .nv-select-chev{transform:rotate(180deg)}
.nv-select-list{
  position:absolute;
  left:0;right:0;
  top:calc(100% + 6px);
  z-index:40;
  background:#fff;
  border:1px solid var(--n200);
  border-radius:12px;
  box-shadow:0 16px 40px rgba(10,31,36,.14);
  padding:6px;
  max-height:280px;
  overflow:auto;
}
.nv-select-option{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  color:var(--n800);
  font:inherit;
  font-size:.92rem;
  line-height:1.35;
  padding:10px 12px;
  border-radius:8px;
  cursor:pointer;
  transition:background .12s,color .12s;
}
.nv-select-option:hover{
  background:var(--pl);
  color:var(--n900);
}
.nv-select-option.is-active{
  background:var(--p);
  color:#fff;
}
.nv-select-option.is-placeholder{
  color:var(--n400);
  font-weight:500;
}
.nv-select-option.is-placeholder.is-active{
  background:var(--surface-3);
  color:var(--n600);
}

/* ——— Steps vertical: кружок по линии заголовка ——— */
[class*="bm-stp-vertical-"] .bm-v{
  max-width:720px !important;
  gap:0 !important;
}
[class*="bm-stp-vertical-"] .bm-sv{
  align-items:flex-start !important;
  gap:24px !important;
  padding:20px 0 !important;
}
[class*="bm-stp-vertical-"] .bm-sv > div:last-child{
  padding-top:10px !important; /* оптически с кружком 56px / h4 ~1.25rem */
}
[class*="bm-stp-vertical-"] .bm-sv h4{
  margin:0 0 8px !important;
  line-height:1.3 !important;
  font-size:1.125rem !important;
}
[class*="bm-stp-vertical-"] .bm-sv p{
  margin:0 !important;
  line-height:1.55 !important;
  font-size:.95rem !important;
  max-width:36rem !important;
}
[class*="bm-stp-vertical-"] .bm-n{
  width:56px !important;height:56px !important;
  flex-shrink:0 !important;
  margin:0 !important;
}
[class*="bm-stp-vertical-"] .bm-sv::before{
  left:27px !important;
  top:56px !important;
  bottom:-20px !important;
  width:2px !important;
  background:rgba(11,110,110,.28) !important;
}
[class*="bm-stp-timeline-"] .bm-sv{
  align-items:flex-start !important;
}




/* ——— Features icons ——— */
[class*="bm-feat-"] .bm-ic:empty{display:none !important}
[class*="bm-feat-"] .bm-ic img,
[class*="bm-feat-standard-"] .bm-ic .ub-icon-img{
  width:56px !important;height:56px !important;
  max-width:56px !important;max-height:56px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  display:block !important;
}
[class*="bm-feat-standard-"] .bm-c{
  padding:24px !important;
}
[class*="bm-feat-standard-"] .sh{
  margin-bottom:1.25rem !important;
}

/* ——— Section spacing tighter ——— */
section[class*="bm-"]:not(.ub-header):not([class*="bm-hero-"]),
section.ub-block:not(.ub-header){
  /* страховка: если шаблон тянет var(--section-py) без inline — уже уменьшено в :root */
}
section[class*="bm-hero-"],
section.ub-hero{
  /* hero чуть компактнее по вертикали, если нет inline pt/pb */
}
/* меньше воздуха у заголовков секций */
section[class*="bm-"] .sh{
  margin-bottom:1.25rem !important;
}
section[class*="bm-"] .sh p{
  margin-top:0.4rem !important;
}

/* ——— Footer partners ——— */
.ub-footer-custom,
.nv-foot-partners{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:16px 28px;
  padding:18px 16px 8px;
}
.nv-foot-partner{
  display:inline-flex;
  align-items:center;
  line-height:0;
  opacity:.92;
  transition:opacity .2s, transform .2s;
}
.nv-foot-partner:hover{
  opacity:1;
  transform:translateY(-1px);
}
.nv-foot-partner img{
  display:block;
  height:44px;
  width:auto;
  max-width:min(280px, 42vw);
  object-fit:contain;
  border-radius:6px;
}
@media(max-width:640px){
  .nv-foot-partners{gap:14px;padding-top:14px}
  .nv-foot-partner img{height:38px;max-width:min(240px, 86vw)}
}

/* ——— Hero banners readable ——— */
section.ub-hero[style*="background-image"],
section[class*="bm-hero-"][style*="background-image"]{
  background-size:cover !important;
  background-position:center !important;
}
section.ub-hero[style*="background-image"] h1,
section[class*="bm-hero-"][style*="background-image"] h1{
  color:#fff !important;
  text-shadow:0 2px 22px rgba(0,0,0,.45) !important;
}
section.ub-hero[style*="background-image"] .bm-sub,
section[class*="bm-hero-"][style*="background-image"] .bm-sub,
section.ub-hero[style*="background-image"] p.bm-sub,
section[class*="bm-hero-"][style*="background-image"] p.bm-sub{
  color:#fff !important;
  font-size:clamp(1.2rem,2.5vw,1.45rem) !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.6) !important;
  max-width:40rem !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}
/* centered-clean — описание по центру вместе с заголовком */
section[class*="bm-hero-centered"][style*="background-image"] .bm-sub,
section[class*="bm-hero-centered"][style*="background-image"] p.bm-sub{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* ——— About text + contacts ——— */
[class*="bm-txt-standard-"] .nv-lead{
  font-size:1.05rem;color:var(--n700)!important;line-height:1.65;
}
[class*="bm-txt-standard-"] .nv-contacts{
  margin-top:1.35rem;
  display:flex;
  flex-direction:column;
  gap:0;
  background:var(--surface-2);
  border:1px solid var(--n200);
  border-radius:14px;
  overflow:hidden;
}
[class*="bm-txt-standard-"] .nv-contact{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 16px;
  border-top:1px solid var(--n200);
}
[class*="bm-txt-standard-"] .nv-contact:first-child{border-top:0}
[class*="bm-txt-standard-"] .nv-k{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--n400);
  padding-top:3px;
}
[class*="bm-txt-standard-"] .nv-v{
  color:var(--n800)!important;
  font-weight:500;
  line-height:1.45;
  text-decoration:none;
}
a.nv-v{color:var(--p)!important}
a.nv-v:hover{color:var(--ph)!important}
[class*="bm-txt-standard-"] .bm-ph{
  min-height:420px!important;
  height:auto!important;
  aspect-ratio:4/5;
  max-height:560px;
  border-radius:18px!important;
}
[class*="bm-txt-standard-"] .nv-quote{
  margin:1.25rem 0 0;
  padding:.9rem 1rem .9rem 1.1rem;
  border-left:3px solid var(--a,#C4782A);
  background:rgba(11,110,110,.06);
  border-radius:0 12px 12px 0;
}
[class*="bm-txt-standard-"] .nv-quote p{margin:0 0 .35rem;font-style:italic;color:var(--n700)}
[class*="bm-txt-standard-"] .nv-quote cite{font-size:.85rem;color:var(--n500);font-style:normal}
[class*="bm-txt-standard-"] .bm-split{
  align-items:start!important;
  gap:40px!important;
}
@media(max-width:768px){
  [class*="bm-txt-standard-"] .bm-ph{
    min-height:260px!important;
    aspect-ratio:16/10;
    max-height:none;
  }
  [class*="bm-txt-standard-"] .nv-contact{
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* ——— FAQ accordion polish ——— */
[class*="bm-faq-accordion-"] .sh h2{margin-bottom:8px}
[class*="bm-faq-accordion-"] .sh p{color:var(--n500);max-width:36rem;margin-left:auto;margin-right:auto}
[class*="bm-faq-accordion-"] .bm-l{max-width:760px!important}

/* ——— Feed detail features ——— */
[class*="bm-feat-standard-"] .sh{
  text-align:center;
  margin-bottom:1.5rem !important;
}
[class*="bm-feat-standard-"] .sh p{
  max-width:40rem;
  margin-left:auto;
  margin-right:auto;
  color:var(--n500);
}
[class*="bm-feat-standard-"] .bm-g{
  gap:18px !important;
}
[class*="bm-feat-standard-"] .bm-c{
  padding:26px 22px !important;
  border-radius:16px !important;
  background:var(--surface) !important;
  border:1px solid var(--n200) !important;
  transition:border-color .2s, box-shadow .2s, transform .2s;
}
[class*="bm-feat-standard-"] .bm-c:hover{
  border-color:color-mix(in srgb,var(--p) 40%,var(--n200)) !important;
  box-shadow:0 14px 34px rgba(10,31,36,.08) !important;
  transform:translateY(-2px);
}
[class*="bm-feat-standard-"] .bm-ic{
  margin-bottom:14px !important;
}
[class*="bm-feat-standard-"] .bm-ic img,
[class*="bm-feat-standard-"] .ub-icon-img{
  width:56px !important;height:56px !important;
  border-radius:50% !important;
}
[class*="bm-feat-standard-"] .bm-c h4{
  font-size:1.05rem !important;
  margin:0 0 8px !important;
  color:var(--n900) !important;
}
[class*="bm-feat-standard-"] .bm-c p{
  margin:0 !important;
  line-height:1.6 !important;
  color:var(--n600) !important;
  font-size:.92rem !important;
}
[class*="bm-txt-highlight-"] .bm-body h2{
  margin-bottom:14px;
  line-height:1.25;
}
[class*="bm-txt-highlight-"] .bm-body p{
  line-height:1.7 !important;
  margin:0 0 14px !important;
}
[class*="bm-txt-highlight-"] .bm-q{
  border-radius:16px !important;
  padding:28px !important;
}

/* ——— Home about link ——— */
.nv-about-link,
[class*="bm-txt-standard-"] a[href="/o-nas/"],
[class*="bm-txt-standard-"] a[href="/o-nas"]{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:12px 22px !important;
  background:var(--p) !important;
  color:#fff !important;
  border-radius:999px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  transition:background .2s, transform .2s;
}
.nv-about-link:hover,
[class*="bm-txt-standard-"] a[href="/o-nas/"]:hover,
[class*="bm-txt-standard-"] a[href="/o-nas"]:hover{
  background:var(--ph) !important;
  color:#fff !important;
  transform:translateY(-1px);
}

/* ——— Section titles: круговой акцент как у лого ——— */
[class*="bm-"] .sh h2{
  position:relative;
  display:inline-block;
  max-width:100%;
}
[class*="bm-"] .sh h2::after{
  content:"";
  display:block;
  width:52px;
  height:4px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--p),var(--a));
}
[class*="bm-"] .sh{text-align:center}
[class*="bm-"] .sh h2::after{margin-left:auto;margin-right:auto}
[class*="bm-"] .sh p{
  font-family:var(--fb);
  font-size:1.05rem;
  color:var(--n500);
  max-width:40rem;
  margin-left:auto;
  margin-right:auto;
}

/* ——— Catalog cards: «медальон» + янтарная линия ——— */
[class*="bm-svc-card-"] .bm-c,
[class*="bm-svc-card-"] article{
  border-radius:18px !important;
  overflow:hidden;
  border:1px solid var(--n200) !important;
  background:#fff !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
[class*="bm-svc-card-"] .bm-c:hover,
[class*="bm-svc-card-"] article:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--p) 45%,var(--n200)) !important;
  box-shadow:0 18px 40px rgba(10,31,36,.12) !important;
}
[class*="bm-svc-card-"] .bm-c::before{
  content:"";
  display:block;
  height:3px;
  background:linear-gradient(90deg,var(--p) 0%,var(--a) 100%);
}

/* ——— Stats dark: глубокая аква-полоса ——— */
[class*="bm-sts-dark-"],
[class*="bm-sts-cards-"]{
  position:relative;
  overflow:hidden;
}
[class*="bm-sts-dark-"]{
  background:
    radial-gradient(circle at 12% 20%,rgba(11,110,110,.45),transparent 42%),
    radial-gradient(circle at 88% 80%,rgba(196,120,42,.22),transparent 40%),
    linear-gradient(145deg,#071618 0%,#0A1F24 45%,#123038 100%) !important;
  color:#fff !important;
}
[class*="bm-sts-dark-"] .sh h2,
[class*="bm-sts-dark-"] .sh p{color:#fff !important}
[class*="bm-sts-dark-"] .sh h2::after{
  background:linear-gradient(90deg,#5ec4c4,var(--a));
}
[class*="bm-sts-dark-"] .bm-c,
[class*="bm-sts-dark-"] [class*="stat"]{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:20px !important;
  backdrop-filter:blur(6px);
  padding:28px 20px !important;
  text-align:center;
}
[class*="bm-sts-dark-"] .bm-v,
[class*="bm-sts-dark-"] .stat-value,
[class*="bm-sts-dark-"] strong{
  font-family:var(--fh) !important;
  font-size:var(--stat-value-size) !important;
  font-weight:800 !important;
  letter-spacing:-.03em;
  color:#fff !important;
  line-height:1 !important;
}
[class*="bm-sts-dark-"] .bm-l,
[class*="bm-sts-dark-"] .stat-label,
[class*="bm-sts-dark-"] p{
  color:rgba(197,212,214,.9) !important;
  margin-top:10px !important;
}

/* ——— Steps timeline ——— */
[class*="bm-stp-timeline-"] .bm-n,
[class*="bm-stp-standard-"] .bm-n{
  font-family:var(--fh) !important;
  background:var(--p) !important;
  color:#fff !important;
  border-radius:50% !important;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--p) 18%,transparent);
}
[class*="bm-stp-timeline-"] .bm-sv h4,
[class*="bm-stp-standard-"] .bm-sv h4{
  font-family:var(--fh) !important;
}
[class*="bm-stp-timeline-"]{
  background:
    linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%) !important;
}

/* ——— CTA banner ——— */
[class*="bm-cta-banner-"]{
  background:
    radial-gradient(circle at 85% 30%,rgba(196,120,42,.28),transparent 42%),
    linear-gradient(120deg,#0A1F24 0%,#0B6E6E 55%,#085858 100%) !important;
  color:#fff !important;
  border-radius:0 !important;
}
[class*="bm-cta-banner-"] h2,
[class*="bm-cta-banner-"] p{color:#fff !important}
[class*="bm-cta-banner-"] h2{
  font-family:var(--fh) !important;
  letter-spacing:-.02em;
}
[class*="bm-cta-banner-"] .btn,
[class*="bm-cta-banner-"] .btn-p{
  background:var(--a) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 8px 22px rgba(196,120,42,.35);
}
[class*="bm-cta-banner-"] .btn:hover,
[class*="bm-cta-banner-"] .btn-p:hover{
  background:var(--ah) !important;
}

/* ——— Quote / highlight strip ——— */
[class*="bm-txt-highlight-"]{
  background:var(--surface-2) !important;
}
[class*="bm-txt-highlight-"] .bm-q{
  background:#fff !important;
  border:1px solid var(--n200) !important;
  border-left:5px solid var(--p) !important;
  box-shadow:0 12px 36px rgba(10,31,36,.06);
  position:relative;
}
[class*="bm-txt-highlight-"] .bm-q::before{
  content:"";
  position:absolute;
  top:-12px;right:24px;
  width:56px;height:56px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 40%,#fff 0 18%,transparent 19%),
    var(--p);
  opacity:.9;
  box-shadow:0 8px 20px rgba(11,110,110,.25);
}

/* ——— Testimonials polish ——— */
[class*="bm-tst-centered-"] .bm-slide,
[class*="bm-tst-centered-"] .bm-card,
[class*="bm-tst-centered-"] blockquote{
  border-radius:18px !important;
  border:1px solid var(--n200);
  background:#fff;
}

/* ——— Hero: сильнее типографика ——— */
.ub-hero h1{
  font-family:var(--fh) !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
  text-wrap:balance;
}
.ub-hero p,
.ub-hero .bm-sub{
  font-family:var(--fb);
  font-size:clamp(1.2rem,2.5vw,1.45rem);
  font-weight:500;
  line-height:1.5;
  max-width:40rem;
}
.ub-hero.bm-hero-large .bm-sub,
[class*="bm-hero-large-"] .bm-sub{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* ——— Hero stats: читаемо + на всю ширину контейнера ——— */
section.ub-hero[style*="background-image"] .bm-hs,
section[class*="bm-hero-large-"][style*="background-image"] .bm-hs{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:clamp(12px,2.5vw,40px) !important;
  flex-wrap:nowrap !important;
  margin-top:40px !important;
  padding-top:28px !important;
  border-top:1px solid rgba(255,255,255,.28) !important;
  box-sizing:border-box;
}
section.ub-hero[style*="background-image"] .bm-hs > div,
section[class*="bm-hero-large-"][style*="background-image"] .bm-hs > div{
  flex:1 1 0 !important;
  min-width:0 !important;
  text-align:left !important;
}
section.ub-hero[style*="background-image"] .bm-hsv,
section[class*="bm-hero-large-"][style*="background-image"] .bm-hsv{
  color:#fff !important;
  font-family:var(--fh) !important;
  font-size:clamp(1.85rem,3.4vw,2.75rem) !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-.03em;
  text-shadow:0 2px 18px rgba(0,0,0,.55) !important;
}
section.ub-hero[style*="background-image"] .bm-hsl,
section[class*="bm-hero-large-"][style*="background-image"] .bm-hsl{
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(.9rem,1.5vw,1.05rem) !important;
  font-weight:500 !important;
  line-height:1.35 !important;
  margin-top:8px !important;
  text-shadow:0 2px 14px rgba(0,0,0,.55) !important;
  max-width:14rem;
}
@media(max-width:640px){
  section.ub-hero[style*="background-image"] .bm-hs,
  section[class*="bm-hero-large-"][style*="background-image"] .bm-hs{
    flex-wrap:wrap !important;
    gap:20px 16px !important;
  }
  section.ub-hero[style*="background-image"] .bm-hs > div,
  section[class*="bm-hero-large-"][style*="background-image"] .bm-hs > div{
    flex:1 1 calc(50% - 12px) !important;
  }
}

/* ——— About lead ——— */
.nv-lead{
  font-size:1.12rem !important;
  line-height:1.55 !important;
  color:var(--n700) !important;
  font-weight:500;
}

/* ——— Wave divider between major sections ——— */
[class*="bm-svc-card-"]{
  position:relative;
}
[class*="bm-svc-card-"]::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:28px;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath fill='%23F3F7F6' d='M0,24 C240,48 480,0 720,16 C960,32 1200,48 1440,20 L1440,48 L0,48 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  opacity:.9;
}

/* ——— Feed product pages: break template look ——— */
.ub-hero .badge,
.ub-hero .ub-eyebrow,
[class*="bm-hero-"] .badge{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  padding:7px 14px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  font-family:var(--fh) !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  margin-bottom:14px !important;
  backdrop-filter:blur(6px);
}

/* features/list — numbered rows, not card grid */
[class*="bm-feat-list-"] .bm-ls{
  display:grid !important;
  gap:14px !important;
  max-width:820px;
  margin:0 auto;
}
[class*="bm-feat-list-"] .bm-li{
  display:flex !important;
  gap:18px !important;
  align-items:center !important; /* иконка по центру относительно всего текста */
  padding:20px 22px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid var(--n200) !important;
  border-left:4px solid var(--p) !important;
  box-shadow:none !important;
  text-align:left !important;
}
[class*="bm-feat-list-"] .bm-li:hover{
  transform:none !important;
  border-color:color-mix(in srgb,var(--p) 35%,var(--n200)) !important;
  box-shadow:0 10px 28px rgba(10,31,36,.07) !important;
}
/* галочка/иконка строго по центру квадрата */
[class*="bm-feat-list-"] .bm-li-ic{
  flex-shrink:0 !important;
  width:44px !important;
  height:44px !important;
  border-radius:12px !important;
  background:var(--gp) !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  font-size:0 !important;
  overflow:hidden;
}
[class*="bm-feat-list-"] .bm-li-ic svg{
  display:block !important;
  width:20px !important;
  height:20px !important;
  margin:0 !important;
  flex-shrink:0 !important;
}
[class*="bm-feat-list-"] .bm-li-ic img,
[class*="bm-feat-list-"] .bm-li-ic .ub-icon-img{
  display:block !important;
  width:28px !important;
  height:28px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  margin:0 !important;
}
/* общие фичи: центрирование иконок в квадрате/круге */
[class*="bm-feat-"] .bm-ic{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
}
[class*="bm-feat-"] .bm-ic svg{
  display:block !important;
  margin:0 !important;
}

/* features/dark — аква-полоса на деталках */
[class*="bm-feat-dark-"]{
  background:
    radial-gradient(circle at 10% 0%,rgba(11,110,110,.35),transparent 45%),
    linear-gradient(160deg,#071618,#0A1F24 55%,#123038) !important;
  color:#fff !important;
}
[class*="bm-feat-dark-"] .sh h2,
[class*="bm-feat-dark-"] .sh p{color:#fff !important}
[class*="bm-feat-dark-"] .sh h2::after{background:linear-gradient(90deg,#5ec4c4,var(--a))}
[class*="bm-feat-dark-"] .bm-c{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  color:#fff !important;
}
[class*="bm-feat-dark-"] .bm-c h4{color:#fff !important}
[class*="bm-feat-dark-"] .bm-c p{color:rgba(197,212,214,.92) !important}

[class*="bm-feat-dark-"] .bm-ic{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:0 !important;
  margin-bottom:14px !important;
}
[class*="bm-feat-dark-"] .bm-ic img,
[class*="bm-feat-dark-"] .bm-ic .ub-icon-img{
  width:56px !important;height:56px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  display:block !important;
  margin:0 auto !important;
  background:#fff;
  padding:4px;
  box-sizing:border-box;
}


/* Catalog image-top: taller media + overlay title feel */
[class*="bm-srv-image-top-"] .bm-im{
  height:220px !important;
  position:relative;
}
[class*="bm-srv-image-top-"] .bm-im::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(7,22,24,.45));
  pointer-events:none;
}
[class*="bm-srv-image-top-"] .bm-c{
  border-radius:18px !important;
  overflow:hidden;
  border:1px solid var(--n200) !important;
  transition:transform .25s, box-shadow .25s;
}
[class*="bm-srv-image-top-"] .bm-c:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(10,31,36,.12);
}
[class*="bm-srv-image-top-"] .bm-bd h4{
  font-family:var(--fh) !important;
  font-size:1.15rem !important;
}

/* Related feed chips */
.nv-related{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  padding:8px 0 4px;
}
.nv-related h3{
  font-family:var(--fh) !important;
  font-size:1.35rem !important;
  margin:0 0 8px !important;
  color:var(--n900);
}
.nv-related > p{
  color:var(--n500);
  margin:0 0 18px !important;
}
.nv-feed-chips{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
a.nv-feed-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--n200);
  background:#fff;
  color:var(--n800) !important;
  text-decoration:none !important;
  font-family:var(--fh);
  font-weight:600;
  font-size:.9rem;
  transition:background .2s, border-color .2s, color .2s, transform .2s;
}
a.nv-feed-chip:hover{
  background:var(--p);
  border-color:var(--p);
  color:#fff !important;
  transform:translateY(-1px);
}

/* Feed text+image: taller photo, less "CMS card" */
[class*="bm-txt-standard-"] .bm-split{
  align-items:start !important;
  gap:clamp(24px,4vw,48px) !important;
}
[class*="bm-txt-standard-"] .bm-split img,
[class*="bm-txt-standard-"] .bm-media img{
  border-radius:20px !important;
  min-height:280px;
  object-fit:cover;
  box-shadow:0 18px 40px rgba(10,31,36,.12);
}

/* Stats cards on feed pages */
[class*="bm-sts-cards-"] .bm-c{
  border-radius:18px !important;
  border:1px solid var(--n200) !important;
  background:var(--surface-2) !important;
  text-align:center;
  padding:26px 18px !important;
}
[class*="bm-sts-cards-"] .bm-v,
[class*="bm-sts-cards-"] strong{
  font-family:var(--fh) !important;
  color:var(--p) !important;
  font-size:clamp(1.35rem,2.5vw,1.75rem) !important;
  font-weight:800 !important;
}

/* FAQ on feed details */
[class*="bm-faq-"] .bm-item,
[class*="bm-faq-"] details{
  border-radius:14px !important;
  border:1px solid var(--n200) !important;
  background:#fff !important;
  margin-bottom:10px !important;
  overflow:hidden;
}

/* ——— FAQ tight before/after ——— */
[class*="bm-faq-accordion-"],
[class*="bm-faq-"]{
  padding-top:12px !important;
}
[class*="bm-txt-highlight-"]{
  padding-bottom:12px !important;
}
[class*="bm-txt-highlight-"] .bm-w{
  max-width:820px;
  margin:0 auto;
}
[class*="bm-txt-highlight-"] .bm-w:not(.has-quote){
  grid-template-columns:1fr !important;
}

/* ——— Home principle (корм под задачу) ——— */
.nv-principle{max-width:34rem}
.nv-principle > p:first-child{
  display:inline-block !important;
  margin:0 0 14px !important;
  padding:6px 12px !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--p) !important;
  background:rgba(11,110,110,.1) !important;
  border-radius:999px !important;
  line-height:1.2 !important;
}
.nv-principle h2{
  font-family:var(--fh) !important;
  font-weight:800 !important;
  letter-spacing:-.03em !important;
  line-height:1.2 !important;
  margin:0 0 16px !important;
  color:var(--n900) !important;
  text-wrap:balance;
}
.nv-principle > p:nth-of-type(2){
  font-size:1.08rem !important;
  line-height:1.65 !important;
  color:var(--n700) !important;
  margin:0 0 22px !important;
}
.nv-principle ul{
  list-style:none !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 0 18px !important;
  padding:0 !important;
}
.nv-principle ul li{
  margin:0 !important;
  padding:8px 14px !important;
  font-size:.88rem !important;
  font-weight:600 !important;
  color:var(--n800) !important;
  background:#fff !important;
  border:1px solid var(--n200) !important;
  border-radius:999px !important;
  box-shadow:0 1px 0 rgba(10,31,36,.04);
}
.nv-principle > p:last-child{
  margin:0 !important;
  font-size:.9rem !important;
  font-weight:500 !important;
  color:var(--a,#C4782A) !important;
}
[class*="bm-txt-standard-"]:has(.nv-principle){
  background:#F3F7F6 !important;
}
[class*="bm-txt-standard-"]:has(.nv-principle) .bm-ph{
  border-radius:20px !important;
  box-shadow:0 18px 48px rgba(10,31,36,.12);
}
