/* Velocity Hub 1.5.143 — WO110 responsive hero, proof-line, service check, and FAQ color repair. */

/* Safe document canvas: footer/navigation remain explicitly dark in their own components. */
html,
html body,
html body.home,
html body.customize-preview,
html.customize-preview body {
  background-color: var(--vh-page-canvas, #f8fafc) !important;
  color: var(--vh-body-text, #0f172a);
}

html body #page,
html body .site,
html body .site-main,
html body main.site-main {
  background-color: var(--vh-page-canvas, #f8fafc);
}

/* Imported link/accent contract replaces legacy green utility text. */
body:not(.home) main.site-main a:not(.btn):not(.vh-action-btn):not(.nav-link):not(.custom-logo-link),
body:not(.home) main.site-main .text-secondary,
body:not(.home) .vh-related-card__link,
body:not(.home) .vh-event-card__link,
body:not(.home) .vh-faq-card a,
body:not(.home) .vh-related-faq-section .accordion-body a {
  color: var(--vh-link, #9fa90b);
}

body:not(.home) main.site-main a:not(.btn):not(.vh-action-btn):not(.nav-link):not(.custom-logo-link):hover,
body:not(.home) main.site-main a:not(.btn):not(.vh-action-btn):not(.nav-link):not(.custom-logo-link):focus-visible,
body:not(.home) .vh-related-card__link:hover,
body:not(.home) .vh-related-card__link:focus-visible,
body:not(.home) .vh-event-card__link:hover,
body:not(.home) .vh-event-card__link:focus-visible {
  color: var(--vh-link-hover, #155d74);
}

body:not(.home) main.site-main .content-section-heading .text-secondary,
body:not(.home) main.site-main .vh-related-card__eyebrow,
body:not(.home) main.site-main .vh-event-card__badge,
body:not(.home) main.site-main .vh-side-card__eyebrow,
body:not(.home) main.site-main .vh-side-chip i {
  color: var(--vh-accent-text, var(--vh-link, #9fa90b));
}

body:not(.home) main.site-main .vh-related-card__eyebrow,
body:not(.home) main.site-main .vh-event-card__badge,
body:not(.home) main.site-main .vh-side-card__eyebrow {
  background-color: rgba(var(--bs-primary-rgb, 159, 169, 11), 0.10);
}

/* Shared light surfaces. Section-specific saved backgrounds keep precedence via their inline !important rules. */
.vh-related-services-section,
.vh-related-portfolio-section,
.vh-related-events-section,
.vh-related-posts-section,
.vh-related-faq-section,
body.page-template-page-faq #results-faq,
body.post-type-archive-vh_faq #results-faq,
body.tax-vh_faq_category #results-faq,
body.tax-vh_faq_tag #results-faq {
  background-color: var(--vh-section-surface, #f8fafc);
  color: var(--vh-body-text, #0f172a);
}

.vh-related-card,
.vh-related-events-grid .vh-event-card,
.vh-related-faq-section .accordion-item,
.vh-faq-card,
.single-vh_portfolio .vh-side-card,
.single-vh_service .vh-side-card {
  background-color: var(--vh-card-surface, #ffffff);
  border-color: var(--vh-border-color, #dbe3ec);
  color: var(--vh-body-text, #0f172a);
}

.vh-related-card__title,
.vh-event-card__title,
.vh-related-faq-section .accordion-button,
.vh-faq-card__title,
.single-vh_portfolio .vh-side-card,
.single-vh_service .vh-side-card {
  color: var(--vh-body-text, #0f172a);
}

.vh-related-card__body p,
.vh-event-card__body p,
.vh-event-card__meta,
.vh-faq-card__excerpt,
.single-vh_portfolio .vh-snapshot-value,
.single-vh_service .vh-side-note {
  color: var(--vh-muted-text, #475569);
}

/* Sidebar actions now consume the same imported button palette as every other button. */
.single-vh_portfolio .vh-side-actions .vh-action-btn--primary,
.single-vh_service .vh-side-actions .vh-action-btn--primary,
.single-vh_portfolio .vh-action-btn--primary,
.single-vh_service .vh-action-btn--primary {
  background: var(--vh-btn-primary-bg, #9fa90b);
  border-color: var(--vh-btn-primary-border, var(--vh-btn-primary-bg, #9fa90b));
  color: var(--vh-btn-primary-text, #ffffff);
}

.single-vh_portfolio .vh-side-actions .vh-action-btn--primary:hover,
.single-vh_portfolio .vh-side-actions .vh-action-btn--primary:focus-visible,
.single-vh_service .vh-side-actions .vh-action-btn--primary:hover,
.single-vh_service .vh-side-actions .vh-action-btn--primary:focus-visible,
.single-vh_portfolio .vh-action-btn--primary:hover,
.single-vh_service .vh-action-btn--primary:hover {
  background: var(--vh-btn-primary-hover-bg, #155d74);
  border-color: var(--vh-btn-primary-hover-border, var(--vh-btn-primary-hover-bg, #155d74));
  color: var(--vh-btn-primary-hover-text, #ffffff);
}

.single-vh_portfolio .vh-side-actions .vh-action-btn--secondary-dark,
.single-vh_service .vh-side-actions .vh-action-btn--primary-dark,
.single-vh_service .vh-side-actions .vh-action-btn--secondary-dark {
  background: var(--vh-btn-dark-bg, #212529);
  border-color: var(--vh-btn-dark-border, var(--vh-btn-dark-bg, #212529));
  color: var(--vh-btn-dark-text, #ffffff);
}

.single-vh_portfolio .vh-side-actions .vh-action-btn--secondary-dark:hover,
.single-vh_portfolio .vh-side-actions .vh-action-btn--secondary-dark:focus-visible,
.single-vh_service .vh-side-actions .vh-action-btn--primary-dark:hover,
.single-vh_service .vh-side-actions .vh-action-btn--primary-dark:focus-visible,
.single-vh_service .vh-side-actions .vh-action-btn--secondary-dark:hover,
.single-vh_service .vh-side-actions .vh-action-btn--secondary-dark:focus-visible {
  background: var(--vh-btn-dark-hover-bg, #111827);
  border-color: var(--vh-btn-dark-hover-border, var(--vh-btn-dark-hover-bg, #111827));
  color: var(--vh-btn-dark-hover-text, #ffffff);
}

/* Single FAQ: own the hero boundary and establish a real answer surface. */
body.single-vh_faq .vh-layout-hero.vh-hero-context-faq {
  position: relative;
  isolation: isolate;
}

body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-media,
body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-picture,
body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
  contain: paint;
  clip-path: inset(0);
}

body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-picture,
body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-image {
  display: block !important;
}

body.single-vh_faq .vh-layout-hero.vh-hero-context-faq .vh-hero-shell-bg-image {
  object-fit: cover !important;
}

.vh-single-faq-answer-section {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: clamp(2.75rem, 6vw, 5.5rem) 0;
  background-color: var(--vh-section-surface, #f8fafc);
  color: var(--vh-body-text, #0f172a);
}

.vh-single-faq-answer-container {
  width: min(100% - 2rem, 58rem);
  margin-inline: auto;
  padding-inline: 0;
}

.vh-single-faq-answer-card {
  width: 100%;
  margin: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--vh-border-color, #dbe3ec);
  border-radius: clamp(1rem, 2vw, 1.5rem);
  background-color: var(--vh-card-surface, #ffffff);
  color: var(--vh-body-text, #0f172a);
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.vh-single-faq-answer-content {
  color: var(--vh-body-text, #0f172a);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.75;
}

.vh-single-faq-answer-content > :first-child {
  margin-top: 0;
}

.vh-single-faq-answer-content > :last-child {
  margin-bottom: 0;
}

.vh-single-faq-answer-content a {
  color: var(--vh-link, #9fa90b);
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.16em;
}

.vh-single-faq-navigation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
  padding-top: clamp(1.25rem, 2vw, 1.75rem);
  border-top: 1px solid var(--vh-border-color, #dbe3ec);
}

.vh-single-faq-navigation__next {
  text-align: right;
}

.vh-single-faq-navigation a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-radius: 0.65rem;
  color: var(--vh-link, #9fa90b);
  font-weight: 800;
  text-decoration: none;
}

.vh-single-faq-navigation a:hover,
.vh-single-faq-navigation a:focus-visible {
  color: var(--vh-link-hover, #155d74);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 599.98px) {
  .vh-single-faq-answer-section {
    padding-block: 2rem;
  }

  .vh-single-faq-answer-container {
    width: min(100% - 1rem, 58rem);
  }

  .vh-single-faq-answer-card {
    padding: 1.25rem;
    border-radius: 0.9rem;
  }

  .vh-single-faq-navigation {
    grid-template-columns: 1fr;
  }

  .vh-single-faq-navigation__next {
    text-align: left;
  }
}



/* WO110: responsive hero variants are mutually exclusive at every viewport.
   This final contract also protects Customizer previews from legacy 768px rules. */
.vh-responsive-hero,
.vh-responsive-hero--desktop,
.vh-responsive-hero--tablet,
.vh-responsive-hero--mobile {
  display: none !important;
}
@media (min-width: 992px) {
  .vh-responsive-hero.vh-responsive-hero--desktop { display: block !important; }
}
@media (min-width: 600px) and (max-width: 991.98px) {
  .vh-responsive-hero.vh-responsive-hero--tablet { display: block !important; }
}
@media (max-width: 599.98px) {
  .vh-responsive-hero.vh-responsive-hero--mobile { display: block !important; }
}

/* Homepage service checklist icons inherit the active imported accent rather
   than Bootstrap's fixed success green utility. */
body.home .vh-services-band .service-card .vh-service-card__check-icon,
body.home .vh-services-grid .service-card .vh-service-card__check-icon {
  color: var(--vh-accent-text, var(--vh-link, var(--vh-btn-primary-bg, #9fa90b))) !important;
}
