/* ============================================================
   UniBuilder — «БЕСТПРАЙСКОМПЛЕКТ» (bpc-theme)
   Палитра снята с логотипа:
     navy  #103050  — иконка, текст БПК
     navy+ #001020  — глубокий фон
     orange #e06010 — акцент в шестерне, CTA
   ============================================================ */
:root {
  --logo-navy: #103050;
  --logo-navy-dark: #001020;
  --logo-navy-mid: #103060;
  --logo-orange: #e06010;
  --logo-orange-hover: #f07828;
  --logo-orange-dark: #c8550e;
  --logo-orange-light: #fef0e6;

  --p: var(--ub-primary, var(--logo-orange));
  --ph: var(--ub-primary-hover, var(--logo-orange-dark));
  --pl: var(--ub-primary-light, var(--logo-orange-light));
  --p50: #fff6ef;
  --a: var(--ub-accent, var(--logo-navy));
  --ah: var(--ub-accent-hover, #0c2840);
  --al: var(--ub-accent-light, #e6edf5);

  --gp: linear-gradient(135deg, var(--p), var(--ph));
  --gs: linear-gradient(135deg, var(--surface-3), var(--al));

  --dk: var(--logo-navy-dark);
  --dc: var(--logo-navy);
  --ds: var(--logo-navy-mid);
  --gd: linear-gradient(135deg, var(--logo-navy-dark), var(--logo-navy), var(--logo-navy-mid));
  --gh: linear-gradient(160deg, var(--logo-navy-dark) 0%, var(--logo-navy) 50%, var(--logo-navy-mid) 100%);

  --surface: #ffffff;
  --surface-2: #f5f8fb;
  --surface-3: #ebf0f6;

  --n50: #f8fafc;
  --n100: #eef3f8;
  --n200: #dce5ef;
  --n300: #c5d2e0;
  --n400: #8fa3b8;
  --n500: #647d96;
  --n600: #4a627a;
  --n700: var(--logo-navy-mid);
  --n800: var(--logo-navy);
  --n900: var(--logo-navy-dark);

  --rs: 6px;
  --rm: 10px;
  --rl: 14px;
  --rxl: 20px;
  --rf: 9999px;
  --r-btn: 8px;
  --r-card: 12px;
  --r-input: 8px;
  --bw: 1px;

  --sh-sm: rgba(16, 48, 80, 0.07) 0 0 0 1px, rgba(0, 16, 32, 0.04) 0 2px 4px;
  --sh-brand: rgba(16, 48, 80, 0.1) 0 0 0 1px, rgba(0, 16, 32, 0.06) 0 4px 12px;
  --sh-modal: rgba(0, 16, 32, 0.14) 0 16px 40px;

  --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.8vw, 3.25rem);
  --h2: clamp(1.75rem, 3.6vw, 2.375rem);
  --h3: clamp(1.375rem, 2.8vw, 1.75rem);
  --h4: clamp(1.125rem, 2vw, 1.375rem);
  --heading-weight: 700;
  --heading-tracking: -0.025em;
  --lh-heading: 1.15;
  --lh-body: 1.65;
  --heading-gradient: var(--logo-navy);

  --card-featured-border: 3px solid var(--p);
  --card-featured-accent: transparent;

  --title-weight: 700;
  --stat-value-size: clamp(2.25rem, 4.5vw, 3.25rem);
  --stat-value-size-sm: clamp(1.75rem, 3.5vw, 2.25rem);
  --price-size: clamp(1.875rem, 4vw, 2.5rem);

  --section-py: clamp(40px, 5vw, 72px);
  --section-py-lg: clamp(48px, 6vw, 88px);
  --section-py-md: clamp(32px, 4vw, 48px);

  --sh-btn: rgba(224, 96, 16, 0.25) 0 4px 14px;
  --sh-btn-hover: rgba(224, 96, 16, 0.35) 0 6px 18px;

  --footer-bg: var(--logo-navy-dark);
  --footer-text: #f8fafc;
  --footer-muted: #8fa3b8;
  --footer-heading: #ffffff;
  --footer-link: #cbd5e1;
  --footer-link-hover: var(--logo-orange);
  --footer-border: var(--logo-navy);
  --footer-social-bg: rgba(255, 255, 255, 0.08);
  --footer-social-hover: rgba(224, 96, 16, 0.28);
}

body {
  color: var(--logo-navy);
}

h1, h2, h3, h4 {
  color: var(--logo-navy-dark);
}

body a {
  color: var(--logo-navy);
}

body a:hover:not(.btn):not(.ub-header-cta) {
  color: var(--logo-orange);
}

/* Заголовки секций */
.sh {
  margin-bottom: 48px;
}

@media (max-width: 768px) {
  .sh {
    margin-bottom: 32px;
  }
}

.sh h2,
.sh h1 {
  margin-bottom: 0;
}

/* Hero — сетка цвета логотипа */
.ub-hero {
  background-image:
    linear-gradient(rgba(16, 48, 80, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 48, 80, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Swiper — убрать синюю подсветку при клике на стрелки */
.swiper-button-prev,
.swiper-button-next {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  user-select: none;
}

.swiper-button-prev:focus,
.swiper-button-next:focus,
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Кнопки */
.btn:hover,
.btn-p:hover,
a.btn-p:hover,
button.btn-p:hover,
.ub-btn-primary:hover,
.ub-form-submit:hover {
  transform: none !important;
}

.btn-p,
a.btn-p,
button.btn-p {
  background: var(--logo-orange) !important;
  border-color: var(--logo-orange) !important;
  color: #fff !important;
}

.btn-p:hover,
a.btn-p:hover,
button.btn-p:hover,
.ub-btn-primary:hover,
.ub-form-submit:hover {
  background: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
}

.btn-o {
  background: transparent !important;
  color: var(--logo-orange) !important;
  border: 2px solid var(--logo-orange) !important;
}

.btn-o:hover {
  background: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
  transform: none !important;
}

/* Шапка */
.ub-header,
header.ub-header {
  border-bottom: none;
  box-shadow: none;
  overflow: visible;
  z-index: 100;
}

.ub-header > .container,
.ub-header > .container > .flex {
  overflow: visible;
}

.ub-header > .container > .flex {
  gap: 12px;
}

.ub-header-nav {
  margin-left: 3rem;
  min-width: 0;
  overflow: visible;
}

.ub-header .flex.items-center.space-x-4 {
  flex-shrink: 0;
  margin-left: auto;
}

.ub-header-cta,
a.ub-header-cta {
  white-space: nowrap;
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .ub-header-nav {
    margin-left: 4.5rem;
  }
}

/* Планшет: бургер вместо десктоп-меню — без наложения на кнопку */
@media (max-width: 1023px) {
  .ub-header .ub-header-nav {
    display: none !important;
  }

  .ub-header .ub-header-cta,
  .ub-header a.ub-header-cta {
    display: none !important;
  }

  .ub-header .ub-header-phones,
  .ub-header .ub-header-contacts .ub-header-phones {
    display: none !important;
  }

  .ub-header .ub-burger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: 4px;
  }

  .ub-header .ub-mobile-nav:not(.hidden) {
    display: block !important;
  }

  .ub-header-nav {
    margin-left: 0;
  }

  .ub-scroll-progress-track,
  .ub-scroll-progress {
    display: none !important;
  }
}

.ub-mobile-nav {
  padding: 8px 16px 16px;
  box-shadow: 0 8px 24px rgba(16, 48, 80, 0.08) !important;
}

.ub-mobile-nav > a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--n200, #e5e7eb);
  font-weight: 500;
}

.ub-mobile-nav > a:last-of-type {
  border-bottom: none;
}

.ub-mobile-nav .ub-burger-contacts {
  margin-top: 0;
  padding-top: 12px;
  border-top: 1px solid var(--n200, #e5e7eb);
}

.ub-mobile-nav .ub-bc-phone {
  display: flex !important;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: var(--logo-navy, #103050);
}

.ub-mobile-nav .ub-bc-phone::before {
  content: "\f095";
  flex: 0 0 20px;
  width: 20px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  font-size: 0.875rem;
  color: var(--logo-orange, #e06010);
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.ub-scroll-progress-track {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(224, 96, 16, 0.16);
  pointer-events: none;
  z-index: 1;
}

.ub-scroll-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: var(--logo-orange);
  pointer-events: none;
  z-index: 2;
  will-change: width;
}

.ub-header .ub-nav a,
.ub-header nav a,
.ub-menu-item > a {
  color: var(--logo-navy);
  font-weight: 500;
}

.ub-header .ub-nav a:hover,
.ub-header nav a:hover,
.ub-menu-item > a:hover {
  color: var(--logo-orange);
}

.ub-header-phone,
.ub-header-contacts a[href^="tel:"] {
  color: var(--logo-navy);
  font-weight: 700;
}

.ub-header-phone:hover,
.ub-header-contacts a[href^="tel:"]:hover {
  color: var(--logo-orange);
}

.ub-header-cta,
a.ub-header-cta,
.ub-header-cta.btn-p,
.ub-header .btn-p {
  background: var(--logo-orange) !important;
  background-color: var(--logo-orange) !important;
  color: #fff !important;
}

.ub-header-cta:hover,
a.ub-header-cta:hover,
.ub-header-cta.btn-p:hover,
.ub-header .btn-p:hover {
  background: var(--logo-orange-hover) !important;
  background-color: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
  transform: none !important;
}

/* Выпадающее меню */
.dropdown-parent {
  position: relative;
}

.dropdown-parent:hover,
.dropdown-parent:focus-within {
  z-index: 200;
}

.dropdown-child {
  z-index: 200;
  border-top: 3px solid var(--logo-orange);
  margin-top: 4px;
}

.dropdown-parent:hover .dropdown-child,
.dropdown-parent:focus-within .dropdown-child,
.dropdown-child:not(.hidden) {
  display: block !important;
}

.ub-dd-link {
  color: var(--logo-navy, #103050);
}

.ub-dd-link:hover {
  background: var(--logo-orange-light, #fef0e6);
  color: var(--logo-orange);
}

.ub-nav-dropdown,
.ub-menu-dropdown {
  border-top: 3px solid var(--logo-orange);
}

/* Карточки услуг (services/card) */
[class*="bm-srv-card"] {
  background: var(--surface-2, #f4f7fa) !important;
}

[class*="bm-srv-card"] .bm-g {
  gap: 20px;
}

[class*="bm-srv-card"] .bm-c {
  background: #fff !important;
  border: 1px solid var(--n200, #e5e7eb) !important;
  border-radius: var(--r-card, 12px) !important;
  box-shadow: 0 4px 20px rgba(16, 48, 80, 0.08) !important;
  overflow: hidden;
  border-color: var(--n200);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

[class*="bm-srv-card"] .bm-bd {
  padding: 16px 20px 20px !important;
}

[class*="bm-srv-card"] .bm-bd h4 {
  margin-top: 0;
  margin-bottom: 8px;
}

[class*="bm-srv-card"] .bm-c:hover {
  border-color: rgba(224, 96, 16, 0.35) !important;
  box-shadow: 0 8px 28px rgba(16, 48, 80, 0.12) !important;
  transform: none !important;
}

[class*="bm-srv-card"] .bm-bd .btn {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  background: var(--logo-orange) !important;
  color: #fff !important;
  border: 2px solid var(--logo-orange) !important;
  box-shadow: none;
  font-weight: 600;
}

[class*="bm-srv-card"] .bm-bd .btn:hover {
  background: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
  transform: none;
  box-shadow: var(--sh-btn);
}

@media (max-width: 768px) {
  [class*="bm-srv-card"] .bm-g {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  [class*="bm-srv-card"] .bm-im {
    height: 112px !important;
  }

  [class*="bm-srv-card"] .bm-bd {
    padding: 12px 14px 14px !important;
  }

  [class*="bm-srv-card"] .bm-bd h4 {
    font-size: 0.8125rem;
    line-height: 1.35;
  }

  [class*="bm-srv-card"] .bm-bd p {
    font-size: 0.75rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  [class*="bm-srv-card"] .bm-bd .btn {
    width: 100%;
    justify-content: center;
    font-size: 0.75rem;
    padding: 8px 10px;
  }
}

/* Плитки услуг — service-sections (страница /uslugi/) */
.container.mx-auto .grid.gap-6 > a.group.block {
  background: #fff !important;
  border: 1px solid var(--n200, #e5e7eb) !important;
  border-radius: var(--r-card, 12px) !important;
  box-shadow: 0 4px 20px rgba(16, 48, 80, 0.08) !important;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.container.mx-auto .grid.gap-6 > a.group.block:hover {
  border-color: rgba(224, 96, 16, 0.35) !important;
  box-shadow: 0 8px 28px rgba(16, 48, 80, 0.12) !important;
}

.container.mx-auto .grid.gap-6 > a.group.block .aspect-video {
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}

.container.mx-auto .grid.gap-6 > a.group.block .p-4 {
  padding: 16px 18px 18px !important;
}

.bm-services-card .bm-service-card,
.bm-services-standard .bm-service-item,
.bm-service-sections .bm-service-card {
  border-left: 4px solid var(--logo-orange);
}

.bm-services-card .bm-service-card:hover,
.bm-service-sections .bm-service-card:hover {
  border-left-color: var(--logo-navy);
}

/* Преимущества */
/* Преимущества — иконка по центру строки с текстом */
[class*="bm-feat-list"] .bm-li {
  align-items: center !important;
}

.bm-features-list .bm-feature-icon,
.bm-features-standard .bm-feature-icon,
.bm-features-accent-headline .bm-feature-icon {
  background: var(--al);
  color: var(--logo-navy);
}

/* Преимущества (standard) — иконки в стиле контактов */
[class*="bm-feat-standard"] .bm-ic {
  width: 44px;
  height: 44px;
  border-radius: var(--rm, 10px);
  background: color-mix(in srgb, var(--logo-orange) 15%, transparent);
  color: var(--logo-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 16px;
}

/* accent-headline рендерится с классом bm-feat-ah-<id>, а не .bm-features-accent-headline —
   старый селектор не совпадал, шрифт FA не применялся и вместо глифов был прямоугольник. */
[class*="bm-feat-standard"] .bm-ic i[class*="fa-"],
[class*="bm-feat-ah"] i[class*="fa-"] {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  line-height: 1;
}

/* Контакты — без подсветки фона у иконок */
[class*="bm-con-map-right"] .bm-ci-i,
[class*="bm-con-map-left"] .bm-ci-i,
[class*="bm-con-centered"] .bm-ci-i,
[class*="bm-con-card"] .bm-ci-i {
  background: transparent;
}

[class*="bm-con-map-right"] .bm-ci-i svg *,
[class*="bm-con-map-left"] .bm-ci-i svg *,
[class*="bm-con-centered"] .bm-ci-i svg *,
[class*="bm-con-card"] .bm-ci-i svg * {
  stroke: var(--logo-orange) !important;
}

/* Цифры и акценты */
.bm-stats-dark .bm-stat-value,
.bm-stats-standard .bm-stat-value,
.bm-stats-cards .bm-stat-value {
  color: var(--logo-orange);
}

@media (max-width: 768px) {
  [class*="bm-sts-standard"] .bm-g {
    grid-template-columns: 1fr !important;
    justify-items: center;
    text-align: center;
    gap: 20px;
  }
}

.bm-stats-dark,
.bm-stats-standard.bg-gd {
  background: var(--gh) !important;
}

/* CTA-баннер — navy градиент логотипа */
.bm-cta-banner {
  background: var(--gh) !important;
}

.bm-cta-banner .btn-p,
.bm-cta-centered .btn-p {
  background: var(--logo-orange) !important;
  color: #fff !important;
}

.bm-cta-banner .btn-p:hover,
.bm-cta-centered .btn-p:hover {
  background: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
}

/* Контакты — более светлый navy-градиент */
[class*="bm-con-map-right"],
[class*="bm-con-map-left"],
[class*="bm-con-centered"],
[class*="bm-con-card"] {
  background: linear-gradient(
    160deg,
    #245578 0%,
    #3a6f94 45%,
    #5a8fb0 100%
  ) !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: #e8f0f7 !important;
}

[class*="bm-con-map-right"] .bm-fb label a,
[class*="bm-con-map-left"] .bm-fb label a,
[class*="bm-con-centered"] .bm-fb label a,
[class*="bm-con-card"] .bm-fb label a,
[class*="bm-frm-standard"][style*="background-image"] .bm-consent a {
  color: #fff !important;
  text-decoration: underline !important;
}

[class*="bm-con-map-right"] .bm-fb label a:hover,
[class*="bm-con-map-left"] .bm-fb label a:hover,
[class*="bm-con-centered"] .bm-fb label a:hover,
[class*="bm-con-card"] .bm-fb label a:hover,
[class*="bm-frm-standard"][style*="background-image"] .bm-consent a:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

/* Highlight-текст */
.bm-text-highlight {
  border-left: 4px solid var(--logo-orange);
  background: var(--logo-orange-light);
}

/* Eyebrow / badge */
.ub-eyebrow,
.badge {
  background: var(--al) !important;
  color: var(--logo-navy) !important;
}

/* Отзывы */
.bm-testimonials-centered blockquote,
.bm-testimonials-standard blockquote {
  border-left: 4px solid var(--logo-orange);
  padding-left: 1.25rem;
}

/* FAQ — без синего текста при клике/фокусе */
[class*="bm-faq-accordion"] .bm-q {
  color: var(--logo-navy-dark, #001020) !important;
  -webkit-tap-highlight-color: transparent;
}

[class*="bm-faq-accordion"] .bm-q:hover {
  color: var(--logo-orange, #e06010) !important;
}

[class*="bm-faq-accordion"] .bm-q:active,
[class*="bm-faq-accordion"] .bm-q:focus {
  color: var(--logo-navy-dark, #001020) !important;
  outline: none;
}

[class*="bm-faq-accordion"] .bm-i.open .bm-q,
[class*="bm-faq-accordion"] .bm-i.open .bm-q:active,
[class*="bm-faq-accordion"] .bm-i.open .bm-q:focus {
  color: var(--logo-orange, #e06010) !important;
}

[class*="bm-faq-accordion"] .bm-a,
[class*="bm-faq-accordion"] .bm-a-inner {
  color: var(--n500, #6b7280) !important;
}

[class*="bm-faq-accordion"] .bm-a a {
  color: var(--logo-orange, #e06010) !important;
}

/* Формы */
.ub-form-submit.btn-p {
  background: var(--logo-orange) !important;
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.ub-form-submit.btn-p:hover {
  background: var(--logo-orange-hover) !important;
  border-color: var(--logo-orange-hover) !important;
  color: #fff !important;
}

/* Форма на деталке услуги — фоновое изображение + оверлей */
[class*="bm-frm-standard"][style*="background-image"] {
  position: relative;
  background-color: var(--logo-navy-dark);
}

[class*="bm-frm-standard"][style*="background-image"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(0, 16, 32, 0.84) 0%,
    rgba(16, 48, 80, 0.72) 55%,
    rgba(16, 48, 80, 0.6) 100%
  );
  pointer-events: none;
}

[class*="bm-frm-standard"][style*="background-image"] .ct {
  position: relative;
  z-index: 1;
}

[class*="bm-frm-standard"][style*="background-image"] .bm-intro h2 {
  color: #fff;
}

[class*="bm-frm-standard"][style*="background-image"] .bm-intro p {
  color: rgba(255, 255, 255, 0.88);
}

/* Popup-форма — заголовок */
.ub-modal-header {
  margin-bottom: 20px;
  padding-right: 40px;
}

.ub-modal-title {
  color: var(--logo-navy);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.ub-modal-subtitle {
  margin: 8px 0 0;
  color: var(--n500);
  font-size: 0.95rem;
  line-height: 1.45;
}

input:not([type="checkbox"]):not([type="radio"]):hover,
textarea:hover,
select:hover,
.fi:hover,
.ub-form-control:hover {
  border-color: var(--logo-orange) !important;
}

[class*="bm-con-map-right"] .fi:hover,
[class*="bm-con-map-left"] .fi:hover,
[class*="bm-con-centered"] .fi:hover,
[class*="bm-con-card"] .fi:hover {
  box-shadow: 0 0 0 3px rgba(224, 96, 16, 0.28) !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  border-color: var(--logo-orange) !important;
  box-shadow: 0 0 0 3px rgba(224, 96, 16, 0.2) !important;
}

/* Checkbox / radio — оранжевый, без focus-подсветки */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--logo-orange, #e06010);
}

input[type="checkbox"]:focus,
input[type="checkbox"]:hover,
input[type="radio"]:focus,
input[type="radio"]:hover {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Реквизиты — таблица */
.bm-body.bm-full:has(.bm-req-table) {
  max-width: 900px;
}

.bm-req-h {
  margin: 0 0 28px;
  text-align: center;
  font-family: var(--fh);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--logo-navy, #1a3a52);
}

.bm-req-table {
  background: var(--surface, #fff);
  border: 1px solid var(--n200, #e5e7eb);
  border-radius: var(--r-card, 12px);
  box-shadow: var(--sh-sm);
  overflow: hidden;
}

.bm-req-row {
  display: grid;
  grid-template-columns: minmax(120px, 32%) 1fr;
  gap: 12px 24px;
  align-items: baseline;
  padding: 16px 24px;
  border-bottom: 1px solid var(--n200, #e5e7eb);
}

.bm-req-row:last-child {
  border-bottom: none;
}

.bm-req-row:nth-child(even) {
  background: var(--surface-2, #f5f8fb);
}

.bm-req-label {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--n500, #6b7280);
}

.bm-req-value {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--logo-navy, #1a3a52);
  word-break: break-word;
}

[class*="bm-txt-standard"] .sh {
  margin-bottom: 32px;
}

@media (max-width: 768px) {
  .bm-req-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 14px 18px;
  }

  .bm-req-label {
    font-size: 0.75rem;
  }
}

/* Футер — navy логотипа */
.ub-footer {
  background: var(--logo-navy-dark) !important;
}

.ub-footer a:hover {
  color: var(--logo-orange) !important;
}

/* --- Правки 13.08.2026 --- */

/* Футер: убираем заголовок «Контакты» над контактным блоком */
.ub-footer .ub-footer-contacts > h3 {
  display: none;
}

/* Услуги на главной (блок 38): карточки по центру,
   чтобы неполный последний ряд не прижимался влево.
   section.* — чтобы перебить inline-<style> вариации (он идёт ниже по документу). */
section.bm-srv-card-38 .bm-g {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

section.bm-srv-card-38 .bm-g > .bm-c {
  flex: 0 1 calc((100% - 48px) / 3);
  min-width: 0;
}

@media (max-width: 768px) {
  section.bm-srv-card-38 .bm-g > .bm-c {
    flex: 0 1 100%;
  }
}

/* --- Правки 13.08.2026, часть 2 --- */

/* 1) Отзывы на главной (блок 40) — отступы по ТЗ */
section.bm-tst-centered-40 {
  padding: 40px 0 0;
}

/* 4) «3 в ряд» для отзывов сделано в шаблоне вариации
   custom/bpc-theme/blocks/testimonials/variations/centered/template.php
   (slides-per-view 3/2/1) — CSS тут не нужен. */

/* 3) Баннер «Услуги» (блок 47) — низкий баннер вместо полноэкранного hero */
section.bm-hero-slider-47 .bm-hs-slide {
  min-height: clamp(280px, 26vw, 420px);
  background-position: center top;
}

section.bm-hero-slider-47 .bm-hs-slide .ct {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* 2) Подвал — одна центрированная колонка.
   Было: контакты по центру, копирайт слева, юр-ссылки справа, логотипы по центру —
   три разных выравнивания в четырёх строках давали дыру посередине. */
.ub-footer {
  /* Никакого display:flex на самом футере: .container внутри центруется через mx-auto,
     а во флекс-контексте auto-поля работают иначе — контейнер уезжал из wrapper'а,
     а блоки с логотипами (они лежат СНАРУЖИ .container) прилипали к краю экрана. */
  text-align: center;
  padding-top: 24px !important;
  padding-bottom: 20px !important;
}

.ub-footer > .container {
  text-align: center;
}

/* Контакты — одной строкой */
.ub-footer .ub-footer-contacts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 24px;
}

.ub-footer .ub-footer-contacts > div {
  margin-bottom: 0;
}

.ub-footer .container > .grid {
  margin-bottom: 0;
  gap: 8px;
}

.ub-footer .ub-footer-border {
  padding-top: 14px;
  margin-top: 14px;
}

/* Копирайт и юр-ссылки — в колонку по центру вместо разлёта по краям */
.ub-footer .ub-footer-border > div {
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

/* Ссылки поднимаем над копирайтом и держим в одну строку */
.ub-footer .ub-footer-legal {
  order: -1;
  flex-direction: row;
  gap: 4px 20px;
}

.ub-footer .ub-footer-border .ub-footer-muted {
  text-align: center;
  font-size: 0.8125rem;
  opacity: 0.72;
}

/* Логотипы — соседи .container, поэтому ширину wrapper'а задаём им напрямую,
   а в один ряд ставим инлайн-блоками (на узких экранах перенесутся сами). */
.ub-footer > .ub-footer-custom,
.ub-footer > .ub-footer-dev-block {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  margin: 10px 14px 0;
}

.ub-footer > .ub-footer-custom .ub-footer-brosto {
  margin-top: 0 !important;
}

/* Бейдж «Мой бизнес»: у картинки надпись на прозрачном фоне, а логотип — на плашке
   #f7f7f7. На тёмном подвале это читалось как наклейка, поэтому подкладываем плашку
   того же тона под весь бейдж (чисто белая дала бы видимый серый прямоугольник). */
.ub-footer .ub-footer-dev {
  display: inline-flex;
  align-items: center;
  background: #f7f7f7;
  border-radius: 10px;
  padding: 8px 14px;
}

.ub-footer .ub-footer-dev img {
  display: block;
  height: 46px !important;
}

@media (max-width: 768px) {
  section.bm-tst-centered-40 {
    padding: 56px 0 0;
  }

  section.bm-hero-slider-47 .bm-hs-slide {
    min-height: 220px;
  }

  section.bm-hero-slider-47 .bm-hs-slide .ct {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

/* Подвал на мобиле — весь текст по центру */
@media (max-width: 768px) {
  .ub-footer .ub-footer-contacts,
  .ub-footer .ub-footer-contacts > div,
  .ub-footer .ub-footer-border .ub-footer-muted,
  .ub-footer .ub-footer-copyright {
    text-align: center;
  }

  .ub-footer .ub-footer-legal {
    justify-content: center;
  }
}

/* Подвал на ПК — контент по левому краю wrapper'а, без центрирования.
   Логотипы лежат СНАРУЖИ .container, поэтому отступ wrapper'а задаём самому футеру
   (max-width контейнера 1200px + его горизонтальный padding), а у .container гасим
   собственные max-width/padding — иначе он ужмётся внутри уже отбитого футера. */
@media (min-width: 769px) and (max-width: 1023px) {
  .ub-footer {
    padding-left: max(24px, calc((100% - 1200px) / 2 + 24px));
    padding-right: max(24px, calc((100% - 1200px) / 2 + 24px));
  }
}

@media (min-width: 1024px) {
  .ub-footer {
    padding-left: max(32px, calc((100% - 1200px) / 2 + 32px));
    padding-right: max(32px, calc((100% - 1200px) / 2 + 32px));
  }
}

@media (min-width: 769px) {
  /* Две колонки внутри wrapper'а: слева текстовая часть, справа логотипы.
     Раньше весь контент шёл в одну колонку слева, и правая половина подвала
     оставалась пустой. Логотипы — соседи .container, поэтому раскладываем
     их гридом самого футера, а не внутри контейнера. */
  .ub-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 48px;
  }

  .ub-footer > .container {
    grid-column: 1;
    grid-row: 1;
  }

  /* Правая колонка. Логотип Бросто убран (footer_custom_html пуст, и тогда движок
     вообще не выводит .ub-footer-custom), остаётся один бейдж «Мой бизнес» —
     поэтому не прибиваем его ко второй строке, а центрируем по высоте колонки. */
  .ub-footer > .ub-footer-custom,
  .ub-footer > .ub-footer-dev-block {
    grid-column: 2;
    justify-self: end;
    align-self: center;
    margin: 0;
  }

  .ub-footer,
  .ub-footer > .container {
    text-align: left;
  }

  .ub-footer > .container {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .ub-footer .ub-footer-contacts {
    justify-content: flex-start;
  }

  .ub-footer .ub-footer-border > div {
    align-items: flex-start;
  }

  .ub-footer .ub-footer-legal {
    justify-content: flex-start;
  }

  .ub-footer .ub-footer-border .ub-footer-muted {
    text-align: left;
  }

  /* Копирайт — ровно две строки: реквизиты и адрес. Перенос задан символом новой
     строки в настройке footer_copyright (HTML там экранируется, \n — нет). */
  .ub-footer .ub-footer-copyright {
    white-space: pre-line;
  }

  .ub-footer > .ub-footer-custom {
    margin-left: 0;
  }
}
