/**
 * Enhanced Layout System for Fixed Navbar
 * Ensures background images extend underneath the semi-opaque navbar
 */
body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* REMOVED: Legacy padding approach replaced by top-placeholder system
.hero--index,
.hero--about-us,
.hero--contact-us,
.hero--gdom,
.hero--latexdam,
.hero--massager,
.homepage__hero {
  margin-top: 0;
  padding-top: var(--header-height, 120px);
}
*/
.hero--index .container:first-child,
.hero--index .container-fluid:first-child,
.hero--about-us .container:first-child,
.hero--about-us .container-fluid:first-child,
.hero--contact-us .container:first-child,
.hero--contact-us .container-fluid:first-child,
.hero--gdom .container:first-child,
.hero--gdom .container-fluid:first-child,
.hero--latexdam .container:first-child,
.hero--latexdam .container-fluid:first-child,
.hero--massager .container:first-child,
.hero--massager .container-fluid:first-child,
.homepage__hero .container:first-child,
.homepage__hero .container-fluid:first-child {
  padding-top: 1rem;
}

/* REMOVED: Legacy negative margin approach replaced by top-placeholder system
body.bg--gradient-halo .hero--about-us {
  margin-top: calc(var(--header-height, 120px) * -1);
  padding-top: calc(var(--header-height, 120px) + 2rem);
}

body.contact-us .hero--contact-us {
  margin-top: calc(var(--header-height, 120px) * -1);
  padding-top: calc(var(--header-height, 120px) + 2rem);
}
*/

.homepage__hero.hero--index {
  /* REMOVED: Legacy negative margin and padding approach replaced by top-placeholder system */
  align-items: center;
  justify-content: space-between;
  background: url(../img/bg-homepage.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
@supports (background-image: url(../img/bg-homepage.webp)) {
  .homepage__hero.hero--index {
    background-image: url(../img/bg-homepage.webp);
  }
}
@media screen and (min-width: 768px) {
  .homepage__hero.hero--index {
    min-height: calc(824px + var(--header-height, 120px));
  }
}
/* REMOVED: Legacy mobile padding-top for homepage hero - using top-placeholder system now */
.homepage__hero.hero--index::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
}
.homepage__hero.hero--index .container,
.homepage__hero.hero--index .container-fluid {
  position: relative;
  z-index: 2;
}

/* REMOVED: All legacy positioning for hero sections now using top-placeholder system
.hero--gdom,
.hero--latexdam,
.hero--massager {
  margin-top: calc(var(--header-height, 120px) * -1);
  padding-top: calc(var(--header-height, 120px) + 1rem);
}
*/

/* If additional padding is needed beyond basic spacing, add it to the hero content container */

.scroll-margin-top {
  scroll-margin-top: var(--header-height, 120px);
}

/* REMOVED: Mobile version of legacy padding approach replaced by top-placeholder system
@media (max-width: 991.98px) {
  .hero--index,
  .hero--about-us,
  .hero--contact-us,
  .hero--gdom,
  .hero--latexdam,
  .hero--massager,
  .homepage__hero {
    padding-top: var(--header-height, 100px);
  }
  body.bg--gradient-halo .hero--about-us,
  body.contact-us .hero--contact-us,
  .homepage__hero.hero--index,
  .hero--gdom,
  .hero--latexdam,
  .hero--massager {
    margin-top: calc(var(--header-height, 100px) * -1);
    padding-top: calc(var(--header-height, 100px) + 1.5rem);
  }
}
*/