/* Targeted homepage fixes — loaded after style.min.css */

/* Owl carousel broad img rule must not blow up the quote icon. */
.testimonial-carousel .owl-item img.tsm-quote-icon,
.tsm-quote-content img.tsm-quote-icon {
  width: 48px !important;
  height: auto !important;
  max-width: 48px !important;
}

@media (max-width: 767px) {
  .testimonial-carousel .owl-item img.tsm-quote-icon,
  .tsm-quote-content img.tsm-quote-icon {
    margin: 10px auto 20px !important;
  }
}

/* Hero thumbnail + desktop video (no header/menu rules). */
.herohome-section {
  position: relative;
  min-height: 700px;
  height: 100vh;
  display: flex;
  align-items: center;
  background-color: #030712;
  background-image: none !important;
  overflow: hidden;
  padding: 6rem 0;
}

/* Kill any stale cached .hero-poster-lcp markup from older HTML. */
.hero-poster-lcp {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.hero-video-wrapper {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  isolation: isolate;
}

.hero-video,
video.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 100vh;
  min-width: 177.77vh;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  object-fit: cover;
}

/* Mobile: static thumbnail only — no video bandwidth. */
@media (max-width: 767px) {
  .herohome-section {
    background-image: var(--hero-poster) !important;
    background-size: cover;
    background-position: center;
  }

  .hero-video-wrapper {
    display: none !important;
  }
}

/* Testimonial modal YouTube must not load or paint until opened. */
#videoModal:not(.show) .video-container iframe {
  display: none !important;
  visibility: hidden !important;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgb(3 7 18 / 0.8) 20%, rgb(3 7 18 / 0.1) 40%, transparent 100%);
}

.herohome-section .container-fluid {
  position: relative;
  z-index: 5;
}

@media (max-width: 767px) {
  .herohome-section {
    padding: 100px 0 40px;
    height: calc(100vh - 80px);
    min-height: unset;
  }
}
