/* ============================================================
   Bernie's Paws — bernies-theme
   Крем / песок / коралл. Тёплый онлайн-зоомагазин.

   Принцип тот же, что в «Мастерской»: тема задаёт ТОКЕНЫ и ЦВЕТ,
   геометрию блоков движка не ломаем. Точечные правки идут через
   section[class*="bm-…"] — это даёт +1 к специфичности и выигрывает
   у поблочного инлайнового <style> без !important.

   Важно: движок ссылается на токены --gd/--gh/--gs/--dk/--dc/--wrn/--tr
   и т.д. Пока они не объявлены, `background:var(--gd);color:#fff`
   превращается в белый текст на прозрачном фоне — отсюда были
   «невидимые» секции. Ниже объявлен полный контракт.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Nunito:wght@400;500;600;700;800&display=swap');

:root{
  /* — Бренд — */
  --bp-ink:#241D17;
  --bp-coral:#C9603F;
  --bp-coral-dk:#A8492C;
  --bp-sand:#E9A97C;
  --bp-gold:#E0A33C;
  --bp-cream:#FFFCF8;
  --bp-cream-2:#F8F0E6;
  --bp-cream-3:#F0E4D5;

  /* — Контракт движка: цвет — */
  --p:#C9603F;--ph:#A8492C;--pl:#F8E5DC;--p50:#FCF3EF;
  --a:#E9A97C;--ah:#D68F5E;--al:#FBEEE2;
  /* --wrn темнее «золотого» на глаз: звёзды отзывов лежат на белой карточке,
     и на #CE8A26 контраст падал до 2.9 при норме 3 для крупной графики */
  --wrn:#C07F1F;--err:#B4472F;--ok:#5C7A52;

  --gp:linear-gradient(135deg,#C9603F,#E28B5F);
  /* Заливка тёмных секций (cta/centered печатает поверх color:#fff) */
  --gd:linear-gradient(140deg,#8F3D25 0%,#B45133 52%,#C9603F 100%);
  /* Заливка hero — светлая: текст в hero перекрашен в графит ниже */
  --gh:linear-gradient(160deg,#FFFCF8 0%,#F9F1E7 55%,#F3E7D9 100%);
  --gs:linear-gradient(135deg,#FAF3EA,#F1E5D6);
  --dk:#241D17;--dc:#3A2F27;--ds:#F0E4D5;

  --n50:#FFFCF8;--n100:#F8F0E6;--n200:#EADDCC;--n300:#C9B7A2;
  --n400:#9C8B7B;--n500:#7A6A5C;--n600:#5E5045;--n700:#453A31;
  --n800:#2E251E;--n900:#241D17;
  --surface:#FFFCF8;--surface-2:#F8F0E6;--surface-3:#F0E4D5;
  --color-text:#2E251E;

  /* — Типографика — */
  --fh:'Fraunces',Georgia,serif;
  --fb:'Nunito',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-heading:var(--fh);--font-body:var(--fb);
  --h1:clamp(2.35rem,4.8vw,3.7rem);
  --h2:clamp(1.85rem,3.4vw,2.6rem);
  --h3:clamp(1.4rem,2.4vw,1.9rem);
  --h4:clamp(1.12rem,1.8vw,1.34rem);
  --fs-body:1.0625rem;--fs-lg:1.15rem;--fs-sm:.9rem;
  --heading-weight:700;--title-weight:700;--lh-heading:1.14;--lh-body:1.7;

  /* — Геометрия — */
  --rs:8px;--rm:12px;--rl:16px;--rxl:22px;--rf:9999px;
  --r-btn:9999px;--r-card:20px;--r-input:14px;
  --bw:1px;--bw-2:2px;
  --card-bg:#FFFFFF;
  --card-border:1px solid #EADDCC;
  --card-radius:20px;
  /* --card-shadow намеренно не объявлен: движок берёт его и для покоя
     (fallback none), и для ховера (fallback --sh-brand). Объявишь —
     карточка перестанет реагировать на курсор. Тени ниже, вручную. */

  --container-max:1180px;
  --transition-easing:cubic-bezier(.16,1,.3,1);
  --transition-duration:.45s;
  --tr:all .38s cubic-bezier(.16,1,.3,1);
  --sh-sm:0 14px 38px rgba(36,29,23,.07);
  --sh-md:0 24px 56px rgba(36,29,23,.11);
  --sh-brand:0 20px 48px rgba(201,96,63,.18);
  --sh-modal:0 30px 70px rgba(36,29,23,.24);

  /* — Единый вертикальный ритм. Движок подставляет эти токены в свой
       поблочный <style>, поэтому шкала правится только здесь. Блоки
       НЕ должны хранить pt/pb: инлайновый padding перебьёт ритм. — */
  --section-py:96px;--section-py-lg:116px;--section-py-md:72px;--section-py-sm:56px;
  --sh-gap:50px;

  --footer-bg:#F4EBE0;--footer-text:#2E251E;--footer-muted:#6B5B4E;
  --footer-link:#453A31;--footer-heading:#241D17;
  --footer-border:rgba(201,96,63,.26);--footer-social-bg:rgba(201,96,63,.1);
}
@media(max-width:1180px){
  :root{--section-py:76px;--section-py-lg:90px;--section-py-md:60px;--section-py-sm:46px;--sh-gap:40px}
}
@media(max-width:768px){
  :root{--section-py:60px;--section-py-lg:68px;--section-py-md:48px;--section-py-sm:38px;--sh-gap:32px}
}

html,body{background:var(--surface);color:var(--n800);font-family:var(--fb);
  font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.bm-t,.bm-it{font-family:var(--fh);font-weight:var(--heading-weight);
  line-height:var(--lh-heading);letter-spacing:-.015em;color:var(--n900)}

/* Браузерный default h2{margin:.83em 0} нигде не сброшен: у .sh нет ни
   padding, ни border, поэтому margin схлопывался наружу и добавлял
   лишний воздух над каждым заголовком секции. */
section[class*="bm-"] h1,
section[class*="bm-"] h2,
section[class*="bm-"] h3,
section[class*="bm-"] h4{margin-top:0}
section[class*="bm-"] .sh{margin-bottom:var(--sh-gap)}
section[class*="bm-"] .sh h2,
section[class*="bm-"] .sh h3,
section[class*="bm-"] .sh .bm-t{margin-bottom:0}
section[class*="bm-"] .sh p,
section[class*="bm-"] .sh .ss{margin-top:14px;margin-bottom:0;color:var(--n600);font-size:1.05rem}
section[class*="bm-"] .bm-body h2,
section[class*="bm-"] .bm-body h3{margin-top:1.5em}
section[class*="bm-"] .bm-body>:first-child{margin-top:0}

/* Мягкая коралловая нить под заголовком секции — прорастает при появлении */
section[class*="bm-"] .sh .bm-t,
section[class*="bm-"] .sh h2{position:relative;display:inline-block;padding-bottom:18px}
section[class*="bm-"] .sh .bm-t::after,
section[class*="bm-"] .sh h2::after{content:"";position:absolute;left:50%;bottom:0;width:64px;height:2px;
  border-radius:2px;background:linear-gradient(90deg,transparent,var(--bp-sand),transparent);
  transform:translateX(-50%) scaleX(.2);opacity:.85;
  transition:transform 1s var(--transition-easing) .15s}
section[class*="bm-"].is-animated .sh .bm-t::after,
section[class*="bm-"].is-animated .sh h2::after{transform:translateX(-50%) scaleX(1)}

/* Каскад появления карточек внутри уже показанной секции */
section[data-animation] .bm-g>*,
section[data-animation] .bm-ls>*,
section[data-animation] .bm-tl>*,
section[data-animation] .bm-l>.bm-i{opacity:0;transform:translateY(22px);
  transition:opacity .75s var(--transition-easing),transform .75s var(--transition-easing)}
section[data-animation].is-animated .bm-g>*,
section[data-animation].is-animated .bm-ls>*,
section[data-animation].is-animated .bm-tl>*,
section[data-animation].is-animated .bm-l>.bm-i{opacity:1;transform:none}
section[data-animation].is-animated .bm-g>*:nth-child(2),
section[data-animation].is-animated .bm-ls>*:nth-child(2),
section[data-animation].is-animated .bm-tl>*:nth-child(2),
section[data-animation].is-animated .bm-l>.bm-i:nth-child(2){transition-delay:.08s}
section[data-animation].is-animated .bm-g>*:nth-child(3),
section[data-animation].is-animated .bm-ls>*:nth-child(3),
section[data-animation].is-animated .bm-tl>*:nth-child(3),
section[data-animation].is-animated .bm-l>.bm-i:nth-child(3){transition-delay:.16s}
section[data-animation].is-animated .bm-g>*:nth-child(4),
section[data-animation].is-animated .bm-ls>*:nth-child(4),
section[data-animation].is-animated .bm-tl>*:nth-child(4),
section[data-animation].is-animated .bm-l>.bm-i:nth-child(4){transition-delay:.24s}
section[data-animation].is-animated .bm-g>*:nth-child(5){transition-delay:.32s}
section[data-animation].is-animated .bm-g>*:nth-child(6){transition-delay:.4s}

/* ==================== КНОПКИ И ПЛАШКИ ==================== */
.btn{font-family:var(--fb);font-weight:700;letter-spacing:.01em;transition:var(--tr)}
.btn-p,.ub-header-cta{background:var(--gp);color:#FFFCF8;border:0;border-radius:var(--r-btn);
  box-shadow:0 10px 26px rgba(201,96,63,.24)}
.btn-p:hover,.ub-header-cta:hover{filter:brightness(1.06);transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(201,96,63,.3);color:#FFFCF8}
.btn-o{background:transparent;border:1.5px solid rgba(201,96,63,.5);color:var(--bp-coral-dk);
  border-radius:var(--r-btn);font-weight:700}
.btn-o:hover{background:rgba(201,96,63,.09);border-color:var(--p);color:var(--bp-coral-dk)}
.btn-w{border-radius:var(--r-btn);font-weight:700}
.badge,.ub-eyebrow{background:rgba(201,96,63,.1);color:var(--bp-coral-dk);
  border:1px solid rgba(201,96,63,.26);border-radius:var(--rf);
  letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700;
  padding:7px 15px;display:inline-block}
/* Без текста движок всё равно печатает элемент — над заголовками категорий
   висела пустая «пилюля». */
.badge:empty,.ub-eyebrow:empty{display:none}

/* ==================== ШАПКА ==================== */
.ub-header{background:rgba(255,252,248,.93);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--n200)}
.ub-header-logo{height:128px!important;width:auto!important;max-height:none!important;max-width:min(210px,46vw)!important;object-fit:contain}
.ub-menu-link{font-weight:700;color:var(--n700);transition:color .3s ease}
.ub-menu-link:hover,.ub-menu-link.is-active{color:var(--p)}
.ub-header-phone{color:var(--n800);font-weight:700;transition:color .3s ease}
.ub-header-phone:hover{color:var(--p)}
.breadcrumb-link{color:var(--n500);text-decoration:none;transition:color .3s ease}
.breadcrumb-link:hover{color:var(--p)}
.breadcrumb-current{color:var(--n700)}

/* ==================== HERO (hero/large) ====================
   Движок печатает `background:var(--gh);color:#fff` — на светлом фото
   это был белый текст на белом. Секция остаётся светлой, текст графит,
   а слева ложится кремовая вуаль, чтобы заголовок читался поверх кадра. */
section[class*="bm-hero-large-"]{min-height:clamp(520px,68vh,700px);display:flex;align-items:center;
  padding:var(--section-py-lg) 0;position:relative;overflow:hidden;
  color:var(--n800);background-color:#F9F1E7;
  background-size:cover;background-position:center;background-repeat:no-repeat}
section[class*="bm-hero-large-"]::before{content:"";position:absolute;inset:0;top:0;right:0;
  width:auto;height:auto;z-index:0;pointer-events:none;background:
    linear-gradient(100deg,rgba(255,252,248,.95) 0%,rgba(255,252,248,.86) 30%,
      rgba(255,252,248,.46) 58%,rgba(255,252,248,.06) 100%)}
section[class*="bm-hero-large-"]::after{content:"";position:absolute;left:0;right:0;bottom:0;top:auto;
  width:auto;height:34%;z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(255,252,248,.55),transparent)}
section[class*="bm-hero-large-"] .ct{position:relative;z-index:2}
section[class*="bm-hero-large-"] h1,
section[class*="bm-hero-large-"] .bm-t{font-size:var(--h1);color:var(--n900);
  -webkit-text-fill-color:var(--n900);text-shadow:none;margin-bottom:20px;max-width:16ch;text-wrap:balance}
section[class*="bm-hero-large-"] .bm-sub{color:var(--n600);font-size:var(--fs-lg);
  max-width:33em;margin-bottom:32px;line-height:1.7}
section[class*="bm-hero-large-"] .bm-acts{display:flex;gap:14px;flex-wrap:wrap}
section[class*="bm-hero-large-"] .bm-hs{border-top-color:rgba(201,96,63,.22)}
section[class*="bm-hero-large-"] .bm-hsv{color:var(--n900)}
section[class*="bm-hero-large-"] .bm-hsl{color:var(--n500)}
/* Слева текст, справа кадр: на мобильном вуаль кроет всё полотно */
@media(max-width:768px){
  section[class*="bm-hero-large-"]{min-height:clamp(400px,58vh,520px)}
  section[class*="bm-hero-large-"]::before{background:
    linear-gradient(180deg,rgba(255,252,248,.94) 0%,rgba(255,252,248,.8) 55%,rgba(255,252,248,.62) 100%)}
  section[class*="bm-hero-large-"] h1{max-width:none}
}

/* ==================== ВИТРИНА КАТЕГОРИЙ (services/image-top) ==================== */
section[class*="bm-srv-image-top-"]{background:var(--surface)}
/* Гибкая раскладка вместо жёстких трёх колонок: неполный ряд центрируется,
   а не оставляет дыру справа. */
section[class*="bm-srv-image-top-"] .bm-g{display:flex;flex-wrap:wrap;justify-content:center;gap:26px}
section[class*="bm-srv-image-top-"] .bm-c{flex:0 1 calc((100% - 52px)/3);max-width:calc((100% - 52px)/3);
  min-width:0;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--n200);border-radius:var(--r-card);overflow:hidden;
  box-shadow:0 10px 30px rgba(36,29,23,.05);
  transition:transform .5s var(--transition-easing),box-shadow .5s ease,border-color .5s ease}
section[class*="bm-srv-image-top-"] .bm-c:hover{transform:translateY(-6px);
  border-color:rgba(201,96,63,.42);box-shadow:0 26px 56px rgba(36,29,23,.13)}
section[class*="bm-srv-image-top-"] .bm-im{height:auto;aspect-ratio:4/3;background:var(--surface-3);overflow:hidden}
section[class*="bm-srv-image-top-"] .bm-im img{width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--transition-easing)}
section[class*="bm-srv-image-top-"] .bm-c:hover .bm-im img{transform:scale(1.06)}
section[class*="bm-srv-image-top-"] .bm-bd{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
section[class*="bm-srv-image-top-"] .bm-it{font-size:var(--h4);color:var(--n900);margin:0 0 10px;text-wrap:balance}
section[class*="bm-srv-image-top-"] .bm-bd>div:not(.bm-im){color:var(--n600);font-size:.97rem;line-height:1.62}
section[class*="bm-srv-image-top-"] .bm-bd .btn{margin-top:auto;align-self:flex-start}
section[class*="bm-srv-image-top-"] .bm-bd .btn:not(.btn-p){padding-left:0;border:0;background:none;
  color:var(--bp-coral-dk);font-weight:700}
section[class*="bm-srv-image-top-"] .bm-bd .btn:not(.btn-p):hover{color:var(--p);transform:translateX(3px)}
@media(max-width:900px){
  section[class*="bm-srv-image-top-"] .bm-c{flex-basis:calc((100% - 26px)/2);max-width:calc((100% - 26px)/2)}
}
@media(max-width:560px){
  section[class*="bm-srv-image-top-"] .bm-c{flex-basis:100%;max-width:100%}
}

/* ==================== ТЕКСТ + КАДР (text/standard) ==================== */
section[class*="bm-txt-standard-"]{background:var(--surface)}
section[class*="bm-txt-standard-"] .bm-split{gap:60px;align-items:center}
section[class*="bm-txt-standard-"] .bm-ph{height:auto;aspect-ratio:4/3;border-radius:var(--r-card);
  background:var(--surface-3);overflow:hidden;box-shadow:0 24px 60px rgba(36,29,23,.12)}
section[class*="bm-txt-standard-"] .bm-ph img{width:100%;height:100%;object-fit:cover}
section[class*="bm-txt-standard-"] .bm-body h2{font-size:var(--h2);margin-bottom:20px;text-wrap:balance}
section[class*="bm-txt-standard-"] .bm-body p{color:var(--n600);font-size:1.04rem;margin:14px 0}
section[class*="bm-txt-standard-"] .bm-body p:first-of-type{font-size:1.16rem;color:var(--n700);line-height:1.65}
section[class*="bm-txt-standard-"] .bm-body ul{margin:16px 0;padding-left:0;list-style:none}
section[class*="bm-txt-standard-"] .bm-body li{position:relative;padding-left:30px;margin:10px 0;color:var(--n600)}
section[class*="bm-txt-standard-"] .bm-body li::before{content:"";position:absolute;left:6px;top:.62em;
  width:8px;height:8px;border-radius:50%;background:var(--bp-sand)}
section[class*="bm-txt-standard-"] .bm-body a{color:var(--bp-coral-dk);font-weight:700;text-decoration:none;
  border-bottom:1px solid rgba(201,96,63,.4);transition:color .3s ease,border-color .3s ease}
section[class*="bm-txt-standard-"] .bm-body a:hover{color:var(--p);border-color:var(--p)}
@media(max-width:768px){section[class*="bm-txt-standard-"] .bm-split{gap:30px}}

/* ==================== АКЦЕНТНЫЙ БЛОК (text/highlight) ==================== */
section[class*="bm-txt-highlight-"]{background:var(--surface-2);color:var(--n800);
  position:relative;overflow:hidden}
section[class*="bm-txt-highlight-"]::after{content:"";position:absolute;right:-10%;top:50%;
  width:52%;padding-bottom:52%;transform:translateY(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(233,169,124,.22),transparent 70%)}
section[class*="bm-txt-highlight-"] .bm-w{position:relative;z-index:1}
section[class*="bm-txt-highlight-"] .bm-body h2{color:var(--n900);font-size:var(--h2);margin-bottom:18px}
section[class*="bm-txt-highlight-"] .bm-body p{color:var(--n600)}
section[class*="bm-txt-highlight-"] .bm-body a{color:var(--bp-coral-dk);font-weight:700}
section[class*="bm-txt-highlight-"] .bm-q{background:#fff;border:1px solid var(--n200);
  border-left:4px solid var(--p);border-radius:var(--rxl);padding:34px 36px;
  box-shadow:0 20px 50px rgba(36,29,23,.09)}
section[class*="bm-txt-highlight-"] .bm-q p{font-family:var(--fh);font-size:1.32rem;line-height:1.42;
  color:var(--n900);font-style:italic;margin-bottom:14px}
section[class*="bm-txt-highlight-"] .bm-q cite{color:var(--bp-coral-dk);font-style:normal;
  letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:700}
section[class*="bm-txt-highlight-"] .bm-img,
section[class*="bm-txt-highlight-"] .bm-ph{border-radius:var(--r-card);overflow:hidden;
  box-shadow:0 24px 60px rgba(36,29,23,.13)}

/* ==================== ПРЕИМУЩЕСТВА (features/standard и list) ==================== */
section[class*="bm-feat-standard-"],
section[class*="bm-feat-list-"]{background:var(--surface-2)}
section[class*="bm-feat-standard-"] .bm-g{gap:24px}
/* height:100% — иначе карточка садится по своему тексту и ряд идёт лесенкой */
section[class*="bm-feat-standard-"] .bm-c,
section[class*="bm-feat-list-"] .bm-li{background:#fff;border:1px solid var(--n200);
  border-radius:var(--r-card);padding:30px 28px;min-width:0;height:100%;box-sizing:border-box;
  box-shadow:0 10px 30px rgba(36,29,23,.05);
  transition:transform .5s var(--transition-easing),box-shadow .5s ease,border-color .5s ease}
section[class*="bm-feat-standard-"] .bm-c:hover,
section[class*="bm-feat-list-"] .bm-li:hover{transform:translateY(-5px);
  border-color:rgba(201,96,63,.4);box-shadow:0 24px 52px rgba(36,29,23,.12)}
section[class*="bm-feat-standard-"] .bm-ic,
section[class*="bm-feat-list-"] .bm-li-ic{width:46px;height:46px;flex:none;border-radius:14px;
  background:linear-gradient(135deg,rgba(201,96,63,.14),rgba(233,169,124,.24));
  color:var(--bp-coral-dk);font-size:1.15rem;display:flex;align-items:center;justify-content:center}
section[class*="bm-feat-standard-"] .bm-it,
section[class*="bm-feat-list-"] .bm-it{font-size:var(--h4);color:var(--n900);margin:0 0 9px}
section[class*="bm-feat-standard-"] .bm-c>div:last-child,
section[class*="bm-feat-list-"] .bm-li>div>div{color:var(--n600);font-size:.97rem;line-height:1.65}
@media(max-width:900px){
  section[class*="bm-feat-standard-"] .bm-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  section[class*="bm-feat-standard-"] .bm-g{grid-template-columns:minmax(0,1fr)!important}
}

/* ==================== ШАГИ (steps/timeline и vertical) ==================== */
section[class*="bm-stp-timeline-"],
section[class*="bm-stp-vertical-"]{background:var(--surface)}
section[class*="bm-stp-timeline-"] .bm-tl{gap:28px}
section[class*="bm-stp-timeline-"] .bm-tl::before{top:28px;left:12%;right:12%;height:2px;opacity:1;
  background:linear-gradient(90deg,transparent,rgba(233,169,124,.6),transparent)}
section[class*="bm-stp-timeline-"] .bm-n,
section[class*="bm-stp-vertical-"] .bm-n{width:56px;height:56px;margin:0 auto 20px;position:relative;z-index:1;
  background:#fff;border:2px solid rgba(201,96,63,.32);color:var(--bp-coral-dk);
  font-family:var(--fh);font-size:1.45rem;font-weight:700;
  box-shadow:0 10px 24px rgba(36,29,23,.07)}
section[class*="bm-stp-timeline-"] .bm-it{font-size:1.22rem;color:var(--n900);margin:0 0 9px}
section[class*="bm-stp-timeline-"] .bm-i>div:last-child{color:var(--n600);font-size:.97rem;line-height:1.62}

/* ==================== ОТЗЫВЫ (testimonials) ====================
   Слайдер: одна карточка в кадре, цитата серифом, звёзды золотом. */
section[class*="bm-tst-"]{background:var(--surface)}
section[class*="bm-tst-"] .bm-st{color:var(--wrn);letter-spacing:3px}
section[class*="bm-tst-"] .bm-tx,
section[class*="bm-tst-"] .bm-q{font-family:var(--fh);color:var(--n800);font-style:italic;
  font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.55}
/* В слайдере колонка узкая: крупный сериф разгонял отзыв на десяток строк */
section[class*="bm-tst-slider-"] .bm-tx,
section[class*="bm-tst-slider-"] .bm-q{font-size:1.06rem;line-height:1.62}
section[class*="bm-tst-"] .bm-av{background:var(--gp);color:#FFFCF8;font-family:var(--fb);font-weight:800;
  box-shadow:0 10px 24px rgba(201,96,63,.24)}
section[class*="bm-tst-"] .bm-nm,
section[class*="bm-tst-"] .bm-au{color:var(--n900);font-weight:700}
section[class*="bm-tst-"] .bm-ro{color:var(--n500);font-size:.88rem}
/* Карточка слайдера — белая, с мягкой тенью, чтобы отзыв не растворялся */
section[class*="bm-tst-slider-"] .bm-c,
section[class*="bm-tst-slider-"] .swiper-slide>div{background:#fff;border:1px solid var(--n200);
  border-radius:var(--r-card);padding:34px 32px;box-shadow:0 16px 44px rgba(36,29,23,.08);
  height:100%;box-sizing:border-box}
section[class*="bm-tst-"] .swiper-pagination-bullet{background:rgba(201,96,63,.3);opacity:1}
section[class*="bm-tst-"] .swiper-pagination-bullet-active{background:var(--p)}
section[class*="bm-tst-"] .swiper-button-prev,
section[class*="bm-tst-"] .swiper-button-next{color:var(--bp-coral-dk)}
section[class*="bm-tst-"] .swiper-button-prev::after,
section[class*="bm-tst-"] .swiper-button-next::after{font-size:20px;font-weight:700}
/* Столбик отзывов в centered стоял с шагом 64px и разваливал секцию */
section[class*="bm-tst-centered-"] .bm-list{gap:40px}

/* ==================== ВОПРОСЫ (faq/accordion) ==================== */
section[class*="bm-faq-"]{background:var(--surface-2)}
section[class*="bm-faq-"] .bm-l{max-width:860px;margin:0 auto}
section[class*="bm-faq-"] .bm-i{background:#fff;border:1px solid var(--n200);border-radius:var(--rl);
  margin-bottom:12px;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease}
section[class*="bm-faq-"] .bm-i:hover,
section[class*="bm-faq-"] .bm-i.open{border-color:rgba(201,96,63,.4);box-shadow:0 14px 34px rgba(36,29,23,.07)}
section[class*="bm-faq-"] .bm-q{font-family:var(--fb);font-size:1.03rem;font-weight:700;color:var(--n800);
  padding:20px 22px;gap:18px}
section[class*="bm-faq-"] .bm-q:hover{color:var(--bp-coral-dk)}
section[class*="bm-faq-"] .bm-p{width:28px;height:28px;flex:none;border-radius:50%;
  background:rgba(201,96,63,.1);color:var(--bp-coral-dk);
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1;
  transition:transform .4s var(--transition-easing),background .3s ease}
section[class*="bm-faq-"] .bm-i.open .bm-p{transform:rotate(135deg);background:rgba(201,96,63,.18)}
section[class*="bm-faq-"] .bm-a-inner{color:var(--n600);font-size:.99rem;line-height:1.7;padding:0 22px 22px}

/* ==================== ГАЛЕРЕЯ (gallery/grid и slider) ==================== */
section[class*="bm-gal-"]{background:var(--surface)}
section[class*="bm-gal-grid-"] .bm-g{gap:22px}
section[class*="bm-gal-"] .bm-it2,
section[class*="bm-gal-"] .bm-slide,
section[class*="bm-gal-"] .bm-gi{border-radius:var(--r-card);overflow:hidden;background:var(--surface-3);
  position:relative;box-shadow:0 12px 34px rgba(36,29,23,.07)}
section[class*="bm-gal-"] img{transition:transform 1s var(--transition-easing)}
section[class*="bm-gal-"] .bm-it2:hover img,
section[class*="bm-gal-"] .bm-slide:hover img,
section[class*="bm-gal-"] .bm-gi:hover img{transform:scale(1.06)}
section[class*="bm-gal-"] .swiper-pagination-bullet-active{background:var(--p)}

/* ==================== КОНТАКТЫ ==================== */
section[class*="bm-con-"]{background:var(--surface-2)}
section[class*="bm-con-centered-"] .bm-w{max-width:600px}
section[class*="bm-con-centered-"] .bm-ph{font-family:var(--fh);
  font-size:clamp(1.6rem,3.2vw,2.25rem);font-weight:700;color:var(--n900);margin-bottom:12px}
section[class*="bm-con-centered-"] .bm-ph a{color:var(--n900);text-decoration:none;transition:color .3s ease}
section[class*="bm-con-centered-"] .bm-ph a:hover{color:var(--p)}
section[class*="bm-con-centered-"] p.bm-sec{color:var(--n600);margin:6px 0}
section[class*="bm-con-centered-"] p.bm-sec a{color:var(--n600);text-decoration:none}
section[class*="bm-con-centered-"] p.bm-sec a:hover{color:var(--p)}
section[class*="bm-con-"] .bm-so{width:44px;height:44px;background:rgba(201,96,63,.1);
  color:var(--bp-coral-dk);border:1px solid rgba(201,96,63,.28);
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
section[class*="bm-con-"] .bm-so:hover{background:var(--p);color:#FFFCF8;border-color:var(--p);
  transform:translateY(-2px)}
section[class*="bm-con-card-"] .bm-c{background:#fff;border:1px solid var(--n200);
  border-radius:var(--r-card);box-shadow:0 12px 34px rgba(36,29,23,.06)}
section[class*="bm-con-card-"] .bm-c:hover{border-color:rgba(201,96,63,.4)}
section[class*="bm-con-card-"] .bm-it{color:var(--n500);font-family:var(--fb);font-size:.7rem;
  text-transform:uppercase;letter-spacing:.14em;font-weight:700}
section[class*="bm-con-card-"] .bm-c a:not(.bm-so){color:var(--n800);text-decoration:none}
section[class*="bm-con-card-"] .bm-c a:not(.bm-so):hover{color:var(--p)}

/* Вариация с картой нужна только ради карты: iframe в html текстового блока
   вырезает санитайзер. Свою мини-форму и колонку контактов она рисует всегда —
   они дублируют карточки выше, поэтому скрыты. */
section[class*="bm-con-map-"]{background:var(--surface);padding-top:0}
section[class*="bm-con-map-"] .bm-info{display:none}
section[class*="bm-con-map-"] .bm-sp{display:block}
section[class*="bm-con-map-"] .bm-map{height:440px;border-radius:var(--r-card);overflow:hidden;
  border:1px solid var(--n200);box-shadow:0 16px 40px rgba(36,29,23,.08)}
section[class*="bm-con-map-"] .bm-map iframe{display:block;width:100%;height:100%}
@media(max-width:768px){section[class*="bm-con-map-"] .bm-map{height:320px}}

/* ==================== ФОРМА (form/standard) ==================== */
section[class*="bm-frm-standard-"]{background:var(--surface-2);color:var(--n800)}
section[class*="bm-frm-standard-"] .bm-sp{gap:52px;align-items:start}
section[class*="bm-frm-standard-"] .bm-intro .bm-t{color:var(--n900)}
section[class*="bm-frm-standard-"] .bm-intro p{color:var(--n600);font-size:1.08rem;margin-top:16px}
section[class*="bm-frm-standard-"] .bm-box{background:#fff;border:1px solid var(--n200);
  border-radius:var(--rxl);box-shadow:var(--sh-md);padding:38px}
section[class*="bm-frm-standard-"] .fl{color:var(--n500);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.11em;font-weight:700}
section[class*="bm-frm-standard-"] .fi{background:#FFFCF8;border:1px solid var(--n200);color:var(--n800);
  border-radius:var(--r-input);padding:13px 15px;font-size:.98rem}
section[class*="bm-frm-standard-"] .fi::placeholder{color:var(--n400)}
section[class*="bm-frm-standard-"] .fi:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(201,96,63,.14)}
section[class*="bm-frm-standard-"] .bm-consent{color:var(--n600)}
section[class*="bm-frm-standard-"] .bm-consent a{color:var(--bp-coral-dk)}
@media(max-width:900px){section[class*="bm-frm-standard-"] .bm-sp{grid-template-columns:1fr;gap:30px}}

/* ==================== ФИНАЛЬНЫЙ ПРИЗЫВ (cta/centered) ====================
   Единственная плотная секция на сайте: движок печатает color:#fff,
   поэтому --gd обязан быть тёмной коралловой заливкой. */
section[class*="bm-cta-centered-"]{background:var(--gd);color:#FFFCF8;position:relative;overflow:hidden}
section[class*="bm-cta-centered-"]::after{content:"";position:absolute;left:50%;top:50%;
  width:min(880px,84vw);height:min(880px,84vw);transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,220,190,.2),transparent 70%)}
section[class*="bm-cta-centered-"] .ct{position:relative;z-index:1}
section[class*="bm-cta-centered-"] h2,
section[class*="bm-cta-centered-"] .bm-t{color:#FFFCF8;text-wrap:balance}
section[class*="bm-cta-centered-"] .sh h2::after,
section[class*="bm-cta-centered-"] .sh .bm-t::after{background:linear-gradient(90deg,transparent,rgba(255,252,248,.7),transparent)}
section[class*="bm-cta-centered-"] p{color:rgba(255,248,242,.9)}
section[class*="bm-cta-centered-"] .badge{background:rgba(255,252,248,.16);color:#FFFCF8;
  border-color:rgba(255,252,248,.34)}
section[class*="bm-cta-centered-"] .btn-p{background:#FFFCF8;color:var(--bp-coral-dk);
  box-shadow:0 12px 30px rgba(0,0,0,.18)}
section[class*="bm-cta-centered-"] .btn-p:hover{background:#fff;color:var(--bp-coral-dk);filter:none}
section[class*="bm-cta-centered-"] .btn-o{border-color:rgba(255,252,248,.6);color:#FFFCF8}
section[class*="bm-cta-centered-"] .btn-o:hover{background:rgba(255,252,248,.14);color:#FFFCF8}

/* ==================== БАННЕР-ПОЛОСА (cta/banner) ==================== */
section[class*="bm-cta-banner-"]{background:var(--surface)}
section[class*="bm-cta-banner-"] .bm-in{background:linear-gradient(135deg,#FDF5EC,#F6E7D8);
  border:1px solid rgba(201,96,63,.24);border-radius:var(--rxl);padding:42px 46px;
  box-shadow:0 22px 54px rgba(36,29,23,.09)}
section[class*="bm-cta-banner-"] .bm-in h3,
section[class*="bm-cta-banner-"] .bm-in .bm-t{color:var(--n900)}
section[class*="bm-cta-banner-"] .bm-in p{color:var(--n600)}
section[class*="bm-cta-banner-"] .btn-w{background:var(--gp);color:#FFFCF8;border:0}
@media(max-width:768px){section[class*="bm-cta-banner-"] .bm-in{padding:30px 24px}}

/* ==================== ЗНАЧОК VK ====================
   Движок рисует его от руки — штрихи разной толщины и смещение влево.
   Подменяем маской официального знака: цвет по-прежнему currentColor. */
:root{--vk-glyph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.579 6.855c.14-.465 0-.806-.662-.806h-2.193c-.558 0-.813.295-.953.619 0 0-1.115 2.719-2.695 4.482-.51.513-.743.675-1.021.675-.139 0-.341-.162-.341-.627V6.855c0-.558-.161-.806-.626-.806H9.642c-.348 0-.558.258-.558.504 0 .528.79.65.871 2.138v3.228c0 .707-.127.836-.407.836-.743 0-2.551-2.729-3.624-5.853-.209-.607-.42-.852-.98-.852H2.752c-.627 0-.752.295-.752.619 0 .582.743 3.462 3.461 7.271 1.812 2.601 4.363 4.011 6.687 4.011 1.393 0 1.565-.313 1.565-.853v-1.966c0-.626.133-.752.574-.752.324 0 .882.164 2.183 1.417 1.486 1.486 1.732 2.153 2.567 2.153h2.192c.626 0 .939-.313.759-.931-.197-.615-.907-1.51-1.849-2.569-.512-.604-1.277-1.254-1.51-1.579-.325-.419-.232-.604 0-.976.001.001 2.672-3.761 2.95-5.039z'/%3E%3C/svg%3E")}
.bm-so[href*="vk."]>svg,.ub-footer-social[href*="vk."]>svg{display:none}
.bm-so[href*="vk."]::before,.ub-footer-social[href*="vk."]::before{content:"";
  width:19px;height:19px;background:currentColor;
  -webkit-mask:var(--vk-glyph) center/contain no-repeat;
          mask:var(--vk-glyph) center/contain no-repeat}

/* ==================== ФУТЕР ====================
   Светлый, как весь сайт: логотип свёрстан под кремовый фон, а на тёмной
   подложке вокруг него проступала бы плашка. */
.ub-footer{background:var(--footer-bg);color:var(--footer-text);padding:0;
  border-top:1px solid var(--footer-border)}
.ub-footer>.container,.ub-footer .container.mx-auto,.ub-footer .ub-footer-menu,
.ub-footer .ub-footer-border,.ub-footer h3.ub-footer-heading,.ub-footer-contacts{display:none}
.ub-footer-custom{display:block;width:100%;max-width:var(--container-max);margin:0 auto;
  padding:56px 24px 30px;box-sizing:border-box}
.bp-ft{display:grid;grid-template-columns:1.25fr 1fr 1.15fr;gap:40px}
.bp-ft-brand img{height:74px;width:auto;display:block;margin-bottom:16px}
.bp-ft-brand p{margin:0;color:var(--footer-muted);font-size:.92rem;line-height:1.55;max-width:290px}
.bp-ft h4{margin:0 0 14px;font-family:var(--fh);font-size:1.14rem;color:var(--footer-heading);font-weight:700}
.bp-ft-nav,.bp-ft-c{display:flex;flex-direction:column;gap:10px}
.bp-ft-nav a,.bp-ft-c a{color:var(--footer-link);text-decoration:none;font-size:.95rem;font-weight:600;
  transition:color .3s ease}
.bp-ft-nav a:hover,.bp-ft-c a:hover{color:var(--p)}
.bp-ft-bottom{margin-top:32px;padding-top:20px;border-top:1px solid var(--footer-border);
  display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;
  font-size:.8rem;color:var(--footer-muted)}
.bp-ft-bottom a{color:var(--footer-muted);text-decoration:none}
.bp-ft-bottom a:hover{color:var(--p)}
.bp-ft-partners{display:flex;flex-wrap:wrap;align-items:center;gap:28px;
  margin-top:22px;padding-top:20px;border-top:1px solid var(--footer-border)}
.bp-ft-partners img{max-width:220px;height:auto;display:block;
  opacity:.75;transition:opacity .3s ease}
.bp-ft-partners a:hover img{opacity:1}
@media(max-width:900px){
  .bp-ft{grid-template-columns:1fr;gap:30px}
  .bp-ft-partners img{max-width:170px}
}

/* ==================== МЕЛОЧИ ==================== */
#cookie-banner{background:rgba(255,252,248,.97)!important;backdrop-filter:blur(10px);
  border-top:1px solid var(--footer-border)!important;color:var(--n800)!important}
#cookie-banner p{color:var(--n600)!important}
#cookie-banner a{color:var(--bp-coral-dk)!important}
#cookie-banner button{border-radius:var(--r-btn)!important;font-weight:700}
#cookie-banner button:first-child{background:var(--gp)!important;color:#FFFCF8!important}
#scroll-to-top{background:#fff!important;background-image:none!important;
  border:1px solid rgba(201,96,63,.35)!important;box-shadow:0 8px 24px rgba(36,29,23,.14)!important}
#scroll-to-top:hover{background:var(--p)!important;border-color:var(--p)!important}
#scroll-to-top svg,#scroll-to-top path{stroke:var(--n800)!important;fill:var(--n800)!important}
#scroll-to-top:hover svg,#scroll-to-top:hover path{stroke:#FFFCF8!important;fill:#FFFCF8!important}

@media (prefers-reduced-motion: reduce){
  section[data-animation] .bm-g>*,
  section[data-animation] .bm-ls>*,
  section[data-animation] .bm-tl>*,
  section[data-animation] .bm-l>.bm-i{opacity:1;transform:none;transition:none}
  section[class*="bm-"] .sh .bm-t::after,
  section[class*="bm-"] .sh h2::after{transform:translateX(-50%) scaleX(1);transition:none}
  section[class*="bm-srv-image-top-"] .bm-c:hover,
  section[class*="bm-feat-standard-"] .bm-c:hover{transform:none}
}
