:root,
html[data-theme="light"],
body[data-theme="light"] {
  --hv-final-bg: #ffffff;
  --hv-final-soft: #f6f7f9;
  --hv-final-panel: #ffffff;
  --hv-final-ink: #17202a;
  --hv-final-muted: #5d6875;
  --hv-final-line: rgba(23, 32, 42, 0.12);
  --hv-final-orange: #f26a21;
  --hv-final-shadow: 0 18px 42px rgba(18, 24, 32, 0.10);
}

html[data-theme="dark"],
body[data-theme="dark"] {
  --hv-final-bg: #0c0f13;
  --hv-final-soft: #141922;
  --hv-final-panel: #111720;
  --hv-final-ink: #f4f7fb;
  --hv-final-muted: #b4bfca;
  --hv-final-line: rgba(244, 247, 251, 0.14);
  --hv-final-orange: #ff7a2a;
  --hv-final-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
}

body {
  background: var(--hv-final-bg) !important;
  color: var(--hv-final-ink) !important;
}

html[data-theme="light"] body,
body[data-theme="light"],
body[data-theme="light"] .hv2-site,
body[data-theme="light"] .site {
  background: #ffffff !important;
  color: #17202a !important;
}

html[data-theme="dark"] body,
body[data-theme="dark"],
body[data-theme="dark"] .hv2-site,
body[data-theme="dark"] .site {
  background: #0c0f13 !important;
  color: #f4f7fb !important;
}

.hv-header,
.hv-section,
.hv2-section,
.hv2-section--soft,
.hv2-body,
.hv-process,
.hv-proof,
.hv-risk,
.hv-services,
.hv-products,
.hv-faq,
.hv-blog,
.hv-contact,
.site-main {
  background: var(--hv-final-bg) !important;
  color: var(--hv-final-ink) !important;
}

.hv-band,
.hv2-band,
.hv-card,
.hv2-card,
.hv-proof-card,
.hv-service-card,
.hv-route-card,
.hv-product-card,
.hv-faq-item,
.hv-form-panel,
.hv-content-card,
.hv-stat,
.hv-category-card,
.hv-info-card {
  background: var(--hv-final-panel) !important;
  color: var(--hv-final-ink) !important;
  border-color: var(--hv-final-line) !important;
  box-shadow: var(--hv-final-shadow) !important;
}

.hv-muted,
.hv2-lead,
.hv2-card p,
.hv2-section p,
.hv-card p,
.hv-service-card p,
.hv-product-card p,
.hv-faq-item p,
.hv-section p,
.hv-lede,
.hv-kicker,
.hv-nav__description {
  color: var(--hv-final-muted) !important;
}

.hv-kicker,
.hv2-eyebrow,
.hv-kpi,
.hv-accent,
.hv-nav__link:hover,
.hv-nav__trigger:hover {
  color: var(--hv-final-orange) !important;
}

.hv-button,
.hv-primary,
.fluentform .ff-btn-submit {
  background: var(--hv-final-orange) !important;
  border-color: var(--hv-final-orange) !important;
  color: #ffffff !important;
}

.hv-hero {
  background-color: var(--hv-final-bg) !important;
}

.hv2-hero {
  background: var(--hv-final-bg) !important;
  color: var(--hv-final-ink) !important;
}

body[data-theme="light"] .hv-hero {
  --hero-overlay-start: rgba(255, 255, 255, 0.86) !important;
  --hero-overlay-mid: rgba(255, 255, 255, 0.54) !important;
  --hero-overlay-end: rgba(255, 255, 255, 0.08) !important;
}

body[data-theme="dark"] .hv-hero {
  --hero-overlay-start: rgba(9, 12, 16, 0.86) !important;
  --hero-overlay-mid: rgba(9, 12, 16, 0.52) !important;
  --hero-overlay-end: rgba(9, 12, 16, 0.16) !important;
}

body[data-theme="light"] .hv2-hero {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.90), rgba(255, 255, 255, 0.52)), var(--hero, none) !important;
}

body[data-theme="dark"] .hv2-hero,
body[data-theme="dark"] .hv2-section--ink {
  background: #0c0f13 !important;
  color: #f4f7fb !important;
}

.hv-rounded-image,
.hv-media-stack img,
.hv-service-card img,
.hv-proof-card img,
.hv-product-card img,
.hv-category-card img,
.hv2-photo img,
.hv2-card__media img,
.hv2-wide-img,
.hv2-inline-img,
.hv2-visual-band img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 260px;
  object-fit: cover !important;
  background: var(--hv-final-soft) !important;
}

.hv-media-stack,
.hv-proof-card,
.hv-service-card,
.hv-product-card,
.hv2-photo,
.hv2-card__media,
.hv2-visual-band figure,
.hv-visual,
.hv-image-frame {
  overflow: hidden !important;
  background: var(--hv-final-soft) !important;
}

.hv-theme-toggle,
.hv-language__toggle {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--hv-final-line) !important;
  background: var(--hv-final-panel) !important;
  color: var(--hv-final-ink) !important;
}

.hv-theme-toggle [data-theme-label],
.hv-language__label,
.hv-language__current,
.hv-language__caret {
  display: none !important;
}

.hv-language__icon,
[data-theme-icon] {
  font-size: 18px !important;
  line-height: 1 !important;
}

.hv-language__menu {
  background: var(--hv-final-panel) !important;
  border-color: var(--hv-final-line) !important;
  box-shadow: var(--hv-final-shadow) !important;
}

.hv-language__option {
  color: var(--hv-final-ink) !important;
}

.hv-language__option small {
  color: var(--hv-final-muted) !important;
}

.hv-language__option:hover,
.hv-language__option.is-active {
  background: color-mix(in srgb, var(--hv-final-orange) 12%, transparent) !important;
}

@media (max-width: 767px) {
  .hv-rounded-image,
  .hv-media-stack img,
  .hv-service-card img,
  .hv-proof-card img,
  .hv-product-card img {
    min-height: 210px;
  }
}

/* final4: stricter light/dark contrast and page shell background control */
html,
body,
#page,
.site,
.site-main,
.hv2-site,
.hv-wrapper,
.hv-page,
.elementor,
.elementor-location-single,
.elementor-location-archive {
  background-color: var(--hv-final-bg) !important;
  color: var(--hv-final-ink) !important;
}

html[data-theme="light"],
html[data-theme="light"] body,
body[data-theme="light"],
body[data-theme="light"] #page,
body[data-theme="light"] .site,
body[data-theme="light"] .site-main,
body[data-theme="light"] .hv2-site,
body[data-theme="light"] .hv-wrapper,
body[data-theme="light"] .hv-page,
body[data-theme="light"] .elementor,
body[data-theme="light"] .elementor-section,
body[data-theme="light"] .elementor-container,
body[data-theme="light"] .elementor-widget-wrap {
  background-color: #ffffff !important;
  color: #17202a !important;
}

html[data-theme="dark"],
html[data-theme="dark"] body,
body[data-theme="dark"],
body[data-theme="dark"] #page,
body[data-theme="dark"] .site,
body[data-theme="dark"] .site-main,
body[data-theme="dark"] .hv2-site,
body[data-theme="dark"] .hv-wrapper,
body[data-theme="dark"] .hv-page,
body[data-theme="dark"] .elementor,
body[data-theme="dark"] .elementor-section,
body[data-theme="dark"] .elementor-container,
body[data-theme="dark"] .elementor-widget-wrap {
  background-color: #0c0f13 !important;
  color: #f4f7fb !important;
}

body[data-theme="light"] h1,
body[data-theme="light"] h2,
body[data-theme="light"] h3,
body[data-theme="light"] h4,
body[data-theme="light"] h5,
body[data-theme="light"] h6,
body[data-theme="light"] .hv-title,
body[data-theme="light"] .hv2-title,
body[data-theme="light"] .elementor-heading-title {
  color: #101820 !important;
}

body[data-theme="dark"] h1,
body[data-theme="dark"] h2,
body[data-theme="dark"] h3,
body[data-theme="dark"] h4,
body[data-theme="dark"] h5,
body[data-theme="dark"] h6,
body[data-theme="dark"] .hv-title,
body[data-theme="dark"] .hv2-title,
body[data-theme="dark"] .elementor-heading-title {
  color: #f7fafc !important;
}

body[data-theme="light"] p,
body[data-theme="light"] li,
body[data-theme="light"] .elementor-widget-text-editor,
body[data-theme="light"] .elementor-widget-container {
  color: #354150 !important;
}

body[data-theme="dark"] p,
body[data-theme="dark"] li,
body[data-theme="dark"] .elementor-widget-text-editor,
body[data-theme="dark"] .elementor-widget-container {
  color: #cbd5e1 !important;
}

body[data-theme="dark"] .hv-header,
body[data-theme="dark"] .hv-section,
body[data-theme="dark"] .hv2-section,
body[data-theme="dark"] .hv2-section--soft,
body[data-theme="dark"] .site-main {
  background: #0c0f13 !important;
}

body[data-theme="light"] .hv-header,
body[data-theme="light"] .hv-section,
body[data-theme="light"] .hv2-section,
body[data-theme="light"] .hv2-section--soft,
body[data-theme="light"] .site-main {
  background: #ffffff !important;
}
