/* UniBuilder — «ГеоАналитик» (geoanalitik-theme) Level-A :root override */
:root{
  --p:var(--ub-primary,#5C3D2E);--ph:var(--ub-primary-hover,#4B3121);--pl:var(--ub-primary-light,#EDE4D8);--p50:#F7F1E8;
  --a:var(--ub-accent,#A47754);--ah:var(--ub-accent-hover,#8B6244);--al:var(--ub-accent-light,#F0E6DA);
  --gp:linear-gradient(135deg,var(--p),var(--ph));
  --dk:#1A120E;--dc:#2A1C14;--ds:#3D2A1E;
  --gd:linear-gradient(135deg,#1A120E,#2A1C14,#3D2A1E);--gh:linear-gradient(160deg,#1A120E 0%,#2A1C14 55%,#3D2A1E 100%);
  --gs:linear-gradient(135deg,var(--p50),var(--al));
  --surface:#FFFcf8;--surface-2:#FAF7F2;--surface-3:#F3EDE4;
  --n50:#FAF7F2;--n100:#F3EDE4;--n200:#E5D9C8;--n300:#D0BFA8;--n400:#B69A77;
  --n500:#8B7355;--n600:#6E5742;--n700:#534033;--n800:#3A2C24;--n900:#351F14;
  --rs:4px;--rm:8px;--rl:12px;--rxl:16px;--rf:9999px;--r-btn:8px;--r-card:12px;--r-input:8px;--bw:1px;
  --sh-sm:0 8px 28px color-mix(in srgb,var(--dk) 8%,transparent);
  --sh-brand:0 0 36px color-mix(in srgb,var(--p) 12%,transparent);--sh-modal:0 25px 50px -12px rgba(0,0,0,.25);
  --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) 38%,transparent);
  --fh:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fb:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --h1:clamp(2.25rem,4.5vw,3.5rem);--h2:clamp(1.75rem,3.5vw,2.75rem);--h3:clamp(1.35rem,2.5vw,1.85rem);--h4:clamp(1.15rem,2vw,1.4rem);
  --heading-weight:600;--heading-tracking:-.02em;--lh-heading:1.15;--lh-body:1.65;
  --heading-gradient:var(--n900);
  --title-weight:700;--stat-value-size:clamp(2rem,4vw,3rem);--stat-value-size-sm:clamp(1.75rem,3.5vw,2.5rem);--price-size:clamp(1.75rem,3.5vw,2.5rem);
  --section-py:clamp(40px,5vw,56px);--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:#1A120E;--footer-text:#ffffff;--footer-muted:#B69A77;--footer-heading:#ffffff;
  --footer-link:#E5D9C8;--footer-link-hover:#ffffff;--footer-border:#3D2A1E;
}
.ub-hero{background-image:radial-gradient(circle,rgba(92,61,46,0.06) 1px,transparent 1px);background-size:22px 22px}

/* Плотнее заголовки секций */
section[class*="bm-"] .sh{
  margin-bottom:clamp(18px,2.5vw,26px) !important;
}


/* [W21] Header логотип/отступ меню → настройки CMS; выпадашка → канон _base (токены). Секции удалены при обновлении до релиза. Оставлено тема-специфичное: палитра, hero-декор/заголовки, text+photo, бейдж Мой Бизнес. */
/* Hero titles: keep long service names to ~2 lines */
.ub-hero h1{
  max-width:min(920px,96%) !important;
  line-height:1.2 !important;
  text-wrap:balance;
}
.ub-hero h1 br{display:block;content:""}

/* Text + photo: balanced split (no tiny image beside long copy) */
@media (min-width:769px){
  [class*="bm-txt-standard-"] .bm-split{
    align-items:stretch;
    gap:40px;
  }
  [class*="bm-txt-standard-"] .bm-split .bm-ph{
    height:100%;
    min-height:340px;
    max-height:none;
  }
  [class*="bm-txt-standard-"] .bm-split .bm-ph img{
    height:100%;
    min-height:340px;
    object-fit:cover;
  }
  [class*="bm-txt-standard-"] .bm-body h2{
    margin-top:0;
  }
}

/* Footer: Мой Бизнес badge */
/* [W23] Бейдж переведён на штатные поля (footer_developer_* + layout=block → .ub-footer-dev-block).
   Стили ретаргечены с ручного .ub-mb-badge на штатный класс — вид сохранён пиксель-в-пиксель. */
.ub-footer-custom,
.ub-mb-badge,
.ub-footer-dev-block{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-top:1.25rem;
  padding-top:.25rem;
}
/* [W23] Штатный блок одинарной вложенности (нет .ub-footer-custom>.ub-mb-badge) — добавляем
   недостающий слой отступа, чтобы отступ сверху совпал с прежним (пиксель-в-пиксель). */
.ub-footer-dev-block{margin-top:2.5rem;padding-top:.5rem}
.ub-mb-badge a,
.ub-footer-dev-block .ub-footer-dev{display:inline-block;line-height:0;opacity:.95;margin-left:0;transition:opacity .2s ease,transform .2s ease}
.ub-mb-badge a:hover,
.ub-footer-dev-block .ub-footer-dev:hover{opacity:1;transform:translateY(-1px)}
.ub-mb-badge img,
.ub-footer-dev-block .ub-footer-dev img{
  display:block;
  height:auto;
  width:min(320px,92vw);
  max-width:100%;
  border-radius:4px;
}

/* Hero banner: крупнее описание, УТП на всю ширину, кнопки не сливаются с фото */
.ub-hero .bm-sub{
  font-size:clamp(1.3rem,2.6vw,1.7rem) !important;
  max-width:min(780px,98%) !important;
  line-height:1.5 !important;
  font-weight:500;
  letter-spacing:.01em;
}
.ub-hero .bm-hs{
  width:100% !important;
  max-width:100% !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start;
  gap:clamp(12px,3vw,40px) !important;
  flex-wrap:nowrap !important;
  box-sizing:border-box;
}
.ub-hero .bm-hs > div{
  flex:1 1 0;
  min-width:0;
}
.ub-hero .bm-hsv{
  font-size:clamp(1.55rem,3.2vw,2.25rem) !important;
}
.ub-hero .bm-hsl{
  color:rgba(243,237,231,.88) !important;
}
@media (max-width:640px){
  .ub-hero .bm-hs{
    flex-wrap:wrap !important;
    gap:20px !important;
  }
  .ub-hero .bm-hs > div{
    flex:1 1 calc(50% - 12px);
  }
}

/* Кнопки на тёмном hero: тёплый акцент бренда, не белая плашка */
.ub-hero .btn.btn-p,
.ub-hero .bm-acts .btn-p{
  background:linear-gradient(135deg,#C9A67A 0%,#A47754 55%,#8B6244 100%) !important;
  background-image:linear-gradient(135deg,#C9A67A 0%,#A47754 55%,#8B6244 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18) !important;
  font-weight:700;
  letter-spacing:.01em;
}
.ub-hero .btn.btn-p:hover,
.ub-hero .bm-acts .btn-p:hover{
  background:linear-gradient(135deg,#D4B48A 0%,#B88960 55%,#9A6E4C 100%) !important;
  background-image:linear-gradient(135deg,#D4B48A 0%,#B88960 55%,#9A6E4C 100%) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.35) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transform:translateY(-1px);
}

/* Карточки услуг/прайса/блога: outline-кнопки еле видны — делаем заметными */
.btn.btn-o{
  background:var(--p) !important;
  background-image:var(--gp) !important;
  color:#fff !important;
  border:2px solid var(--p) !important;
  box-shadow:var(--sh-btn) !important;
  font-weight:600;
}
.btn.btn-o:hover{
  background:var(--ph) !important;
  background-image:none !important;
  color:#fff !important;
  border-color:var(--ph) !important;
  box-shadow:var(--sh-btn-hover) !important;
}
[class*="bm-srv-card-"] .bm-bd .btn,
[class*="bm-prc-"] .bm-c .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 22px;
  width:fit-content;
}

/* /o-nas/ полный текст: на всю ширину контейнера */
.bm-txt-standard-72 .bm-full{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
}

/* Баннер услуги: акцент на цене в подзаголовке (сдержанный) */
.ub-hero .bm-sub strong{
  display:inline;
  font-style:normal;
  font-weight:700;
  font-size:1.15em;
  line-height:inherit;
  letter-spacing:.01em;
  color:#F5E6C8;
  background:transparent;
  padding:0;
  border-radius:0;
  margin-left:.15em;
  box-shadow:none;
  white-space:nowrap;
  vertical-align:baseline;
  border-bottom:1px solid rgba(245,230,200,.45);
}
.ub-hero .bm-sub{
  display:block;
  font-weight:500;
}

/* Деталка услуги: описание — лид + список | карточка с фото/ценой */
.ub-svc{width:100%}
.ub-svc__intro{max-width:820px;margin-bottom:32px}
.ub-svc__intro h2{margin:0 0 14px;font-size:clamp(1.5rem,2.5vw,2rem)}
.ub-svc__intro p{margin:0 0 14px;color:var(--n700);font-size:1.05rem;line-height:1.7}
.ub-svc__intro p:last-child{margin-bottom:0}
.ub-svc__row{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);
  gap:36px;
  align-items:start;
}
.ub-svc__main h3{margin:0 0 16px;font-size:1.25rem}
.ub-svc__main ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.ub-svc__main ul li{
  position:relative;
  padding:14px 16px 14px 44px;
  background:var(--surface-2);
  border:1px solid var(--n200);
  border-radius:10px;
  color:var(--n800);
  line-height:1.45;
}
.ub-svc__main ul li::before{
  content:"✓";
  position:absolute;
  left:14px;top:50%;
  transform:translateY(-50%);
  width:22px;height:22px;
  border-radius:50%;
  background:var(--p);
  color:#fff;
  font-size:12px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.ub-svc__main > p{
  margin:18px 0 0;
  color:var(--n500);
  font-size:.95rem;
  line-height:1.6;
}
.ub-svc__aside{
  background:var(--surface);
  border:1px solid var(--n200);
  border-radius:var(--r-card);
  overflow:hidden;
  box-shadow:var(--sh-sm);
  position:sticky;
  top:88px;
}
.ub-svc__aside > img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
}
.ub-svc__meta{padding:20px 22px 22px}
.ub-svc__price-label{
  font-size:.75rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--n500);
  margin-bottom:4px;
}
.ub-svc__price{
  font-family:var(--fh);
  font-size:clamp(1.6rem,2.5vw,2rem);
  font-weight:800;
  color:var(--p);
  margin-bottom:16px;
  line-height:1.1;
}
.ub-svc__meta-row{
  font-size:.92rem;
  color:var(--n700);
  line-height:1.5;
  padding-top:12px;
  margin-top:12px;
  border-top:1px solid var(--n100);
}
.ub-svc__meta-row a{color:var(--p);text-decoration:none}
.ub-svc__meta-row a:hover{text-decoration:underline}
@media(max-width:900px){
  .ub-svc__row{grid-template-columns:1fr;gap:24px}
  .ub-svc__aside{position:static}
  .ub-svc__aside > img{height:200px}
}

/* Текстовый блок услуги на всю ширину контейнера */
.bm-txt-standard-35 .bm-full,
.bm-txt-standard-39 .bm-full,
.bm-txt-standard-43 .bm-full{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
}
