/* ============================================================
   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) {
  color: var(--logo-orange);
}

/* Заголовки секций — без лишнего воздуха под h2 */
.sh {
  margin-bottom: 24px;
}

.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;
}

/* Кнопки */
.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;
}

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

.ub-header-nav {
  margin-left: 3rem;
}

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

.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.btn-p,
.ub-header .btn-p {
  background: var(--logo-orange) !important;
  color: #fff !important;
}

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

/* Выпадающее меню */
.dropdown-child {
  z-index: 70;
}

.dropdown-parent:hover {
  z-index: 70;
}

.ub-dd-link:hover {
  background: transparent;
  color: var(--logo-orange);
}

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

/* Карточки услуг (services/card) */
[class*="bm-srv-card"] .bm-c {
  border-color: var(--n200);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

[class*="bm-srv-card"] .bm-c:hover {
  border-color: rgba(224, 96, 16, 0.35) !important;
  box-shadow: 0 8px 24px rgba(16, 48, 80, 0.08) !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);
}

.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);
}

.bm-features-list .bm-feature-card:hover .bm-feature-icon,
.bm-features-standard .bm-feature-item:hover .bm-feature-icon {
  background: var(--logo-navy);
  color: #fff;
}

/* Преимущества (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;
}

[class*="bm-feat-standard"] .bm-ic i[class*="fa-"],
.bm-features-accent-headline 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-feat-standard"] .bm-c:hover .bm-ic {
  background: var(--logo-navy);
  color: #fff;
}

/* Контакты — без подсветки фона у иконок */
[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;
}

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

.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;
}

/* 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;
}

/* Формы */
.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:focus,
textarea:focus,
select:focus {
  border-color: var(--logo-navy) !important;
  box-shadow: 0 0 0 3px rgba(16, 48, 80, 0.12) !important;
}

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

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