:root {
  --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;
  --typography-primary-font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --typography-secondary-font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --heading-weight: 600;
  --heading-tracking: -0.02em;
  --heading-gradient: #111111;
}
body, h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay cards: text sits on photo, must stay light */
[class*="bm-srv-overlay"] .bm-c,
[class*="bm-srv-overlay"] .bm-c h4,
[class*="bm-srv-overlay"] .bm-c p,
[class*="bm-srv-overlay"] .bm-c .bm-it,
[class*="bm-srv-overlay"] .bm-c .bm-bd,
[class*="bm-srv-overlay"] .bm-c .bm-cdesc {
  color: #ffffff !important;
}
[class*="bm-srv-overlay"] .bm-c .btn {
  color: #ffffff;
  border-color: #ffffff;
}
.ub-size-table,
.bm-body table,
.bm-txt-highlight table,
[class*="bm-txt-"] table {
  width: 100%;
  max-width: 560px;
  border-collapse: collapse;
  margin: 16px 0 8px;
}
.bm-body table th,
.bm-txt-highlight table th,
[class*="bm-txt-"] table th {
  background: #111111;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 12px 14px;
  text-align: center;
}
.bm-body table td,
.bm-txt-highlight table td,
[class*="bm-txt-"] table td {
  border: 1px solid #eadcc0;
  padding: 12px 14px;
  text-align: center;
  color: #111111;
}
.bm-body table tr:nth-child(even) td,
.bm-txt-highlight table tr:nth-child(even) td,
[class*="bm-txt-"] table tr:nth-child(even) td {
  background: #fbf6ee;
}
/* Hero with photo background — white text */
.ub-hero[style*="background-image"] h1,
.ub-hero[style*="background-image"] .bm-t,
.ub-hero[style*="background-image"] .bm-sub {
  color: #ffffff !important;
}
/* Contacts cards on light-gold section */
[class*="bm-con-card-"] .bm-c {
  background: #ffffff;
  border-color: #eadcc0;
}
[class*="bm-con-card-"] .bm-c h4,
[class*="bm-con-card-"] .bm-c p,
[class*="bm-con-card-"] .bm-c a {
  color: #111111;
}
[class*="bm-con-card-"] .bm-it {
  color: #666666 !important;
}
/* Text block CTA button (CMS strips classes from html links) */
.bm-txt-standard-20 .bm-body p a[href="/o-kompanii/"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 9999px;
  background: #111111;
  color: #ffffff !important;
  font-weight: 600;
  text-decoration: none;
  margin-top: 8px;
  transition: opacity 0.2s ease;
}
.bm-txt-standard-20 .bm-body p a[href="/o-kompanii/"]:hover {
  opacity: 0.88;
}

/* Gallery slider — gold navigation on light background */
.bm-gal-slider-24 .swiper-button-prev,
.bm-gal-slider-24 .swiper-button-next {
  color: #d7b56d !important;
  background: rgba(17, 17, 17, 0.06);
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.bm-gal-slider-24 .swiper-button-prev:after,
.bm-gal-slider-24 .swiper-button-next:after {
  font-size: 18px;
  font-weight: 700;
}
.bm-gal-slider-24 .swiper-pagination-bullet {
  background: #d7b56d !important;
  opacity: 0.35;
}
.bm-gal-slider-24 .swiper-pagination-bullet-active {
  background: #d7b56d !important;
  opacity: 1;
}
.bm-gal-slider-24 .bm-t,
.bm-gal-slider-24 h2 {
  color: #111111 !important;
}

/* Home hero slider — gold CTA buttons on first banners */
.bm-hero-slider-19 .bm-acts .btn-p {
  background: #d7b56d !important;
  border-color: #d7b56d !important;
  color: #111111 !important;
}
.bm-hero-slider-19 .bm-acts .btn-p:hover {
  background: #c9a55f !important;
  border-color: #c9a55f !important;
  color: #111111 !important;
}

/* Contacts map-left on light-gold background */
[class*="bm-con-map-left-"] .bm-info h3,
[class*="bm-con-map-left-"] .bm-info .bm-t,
[class*="bm-con-map-left-"] .bm-ci,
[class*="bm-con-map-left-"] .bm-ci a,
[class*="bm-con-map-left-"] .bm-hr,
[class*="bm-con-map-left-"] .bm-sub {
  color: #111111 !important;
}
[class*="bm-con-map-left-"] .bm-ci-i {
  background: color-mix(in srgb, #d7b56d 22%, #ffffff) !important;
}
[class*="bm-con-map-left-"] .bm-so {
  background: #111111 !important;
  color: #ffffff !important;
}
[class*="bm-con-map-left-"] .bm-so:hover {
  background: #d7b56d !important;
  color: #111111 !important;
}

/* Header — richer top bar */
.ub-topbar {
  background: #111111 !important;
  color: #f7f0e3 !important;
  border-bottom-color: rgba(215, 181, 109, 0.25) !important;
}
.ub-topbar a,
.ub-topbar .ub-header-phone {
  color: #f7f0e3 !important;
}
.ub-topbar a:hover {
  color: #d7b56d !important;
}
.ub-topbar .ub-brand-topbar {
  color: #f7f0e3;
  opacity: 0.92;
}
.ub-topbar .ub-topbar-phone {
  color: #d7b56d !important;
  font-weight: 600;
  margin-left: 16px;
}
.ub-topbar .ub-topbar-cta {
  margin-left: 12px;
  background: #d7b56d !important;
  color: #111111 !important;
  border: none;
  padding: 8px 16px;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.8125rem;
  text-decoration: none;
}
.ub-topbar .ub-topbar-cta:hover {
  opacity: 0.9;
  color: #111111 !important;
}
.ub-header .ub-header-contacts a {
  font-weight: 500;
}
.ub-header .ub-header-nav .ub-menu-link {
  font-weight: 500;
  letter-spacing: 0.01em;
}
.ub-header .ub-header-logo {
  max-height: 56px;
}
.ub-header-cart {
  display: none !important;
}
.ub-header .ub-header-cta .btn,
.ub-header a[href="/kontakty/"].btn {
  background: #111111;
  color: #ffffff;
  border-radius: 9999px;
  padding: 10px 20px;
  font-weight: 600;
  font-size: 0.875rem;
}

/* Dark compact footer */
.ub-footer {
  background: #0f1216 !important;
  color: #ffffff !important;
  border-top: 3px solid #d7b56d;
  padding-top: 24px !important;
  padding-bottom: 12px !important;
}
.ub-footer .ub-footer-logo,
.ub-footer img.ub-footer-logo + p.ub-footer-muted,
.ub-footer-menu,
.ub-footer .container > div > div:has(.ub-footer-menu) {
  display: none !important;
}

/* Keep grid from reserving empty menu column (logo/social column stays) */
.ub-footer > .container > div[style*="display:grid"] > div:nth-child(2) {
  display: none !important;
}
.ub-footer > .container > div:first-child {
  gap: 1.25rem !important;
  margin-bottom: 0.75rem !important;
  align-items: start;
}
.ub-footer .ub-footer-heading {
  display: none !important;
}
.ub-footer .ub-footer-link {
  color: #e8e8e8 !important;
}
.ub-footer .ub-footer-link:hover {
  color: #d7b56d !important;
}
.ub-footer .ub-footer-muted {
  color: #9aa1ad !important;
}
.ub-footer .ub-footer-contacts .mb-2 {
  margin-bottom: 4px !important;
}
.ub-footer .ub-footer-border {
  border-color: rgba(215, 181, 109, 0.22) !important;
  padding-top: 12px !important;
}
.ub-footer .ub-footer-social {
  background: rgba(215, 181, 109, 0.12) !important;
  color: #d7b56d !important;
  width: 36px;
  height: 36px;
}
.ub-footer .ub-footer-social:hover {
  background: #d7b56d !important;
  color: #111111 !important;
}
.ub-footer .flex.gap-3.mt-4 {
  margin-top: 0 !important;
}

.ub-footer .ub-footer-contacts {
  justify-self: end;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.ub-footer-dev-block {
  margin-top: 10px;
  padding: 0 16px 4px;
  text-align: center;
}
.ub-footer-dev a {
  display: inline-block;
}
.ub-footer-dev img,
.ub-footer-dev-block img {
  height: 40px !important;
  width: auto !important;
}
@media (max-width: 768px) {
  .ub-footer {
    padding-top: 18px !important;
    padding-bottom: 8px !important;
    text-align: center;
  }
  .ub-footer > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .ub-footer > .container > div:first-child {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
    margin-bottom: 0.5rem !important;
    justify-items: center;
  }
  .ub-footer-contacts {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .ub-footer .flex.gap-3 {
    justify-content: center;
  }
  .ub-footer .ub-footer-contacts {
    justify-self: end;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .ub-footer-border .flex {
    gap: 8px !important;
  }
  .ub-footer-legal {
    justify-content: center;
    gap: 12px !important;
  }
  .ub-footer-copyright {
    display: block;
    line-height: 1.4;
  }
  .ub-footer-dev img,
  .ub-footer-dev-block img {
    height: 32px !important;
  }
}

/* Contacts page — map-only hero block */
.bm-con-map-left-63 .bm-info,
.bm-con-map-left-63 .bm-hr,
.bm-con-map-left-63 .bm-soc {
  display: none !important;
}
.bm-con-map-left-63 .bm-sp {
  grid-template-columns: 1fr !important;
}
.bm-con-map-left-63 .bm-map {
  min-height: clamp(320px, 48vh, 480px) !important;
  border-radius: 0 !important;
}
.bm-con-map-left-63 .bm-map iframe {
  min-height: clamp(320px, 48vh, 480px) !important;
}
.bm-con-map-left-63 .ct {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.bm-con-map-left-63 h3.bm-t:empty,
.bm-con-map-left-63 h3.bm-t {
  display: none;
}

/* Contacts cards: one column on phones so email/phone do not overflow */
@media (max-width: 768px) {
  [class*="bm-con-card-"] .bm-g {
    grid-template-columns: 1fr !important;
  }
  [class*="bm-con-card-"] .bm-c {
    min-width: 0;
    overflow: hidden;
  }
  [class*="bm-con-card-"] .bm-c p,
  [class*="bm-con-card-"] .bm-c a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* Social icons: keep a consistent (non-tiny/non-blown) size */
.ub-header-social svg,
.ub-footer-social svg,
.bm-so svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 auto;
  display: block;
}

/* Galereya: when we convert "Галерея образов" h2 -> h1 via JS */
.bm-gal-grid-50 .sh h1.bm-t,
.bm-gal-grid-50 .sh h2.bm-t {
  margin: 0 0 20px;
}
