/* Header container */
#header-placeholder {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.header-main {
  transition: all 0.3s ease;
  background-color: #fff;
  /* removing sticky from here to avoid conflict, or keeping it doesn't hurt if parent is sticky */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  animation: fade-in 0.5s ease-out forwards;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Navbar base */
.navbar {
  height: 70px;
  position: relative;
  display: flex;
}

.nav-contact-btn {
  background-color: #ff462d;
}

/* Move logo more to the left (override existing padding-left: 30px) */
.navbar-brand .logo-img {
  padding-left: -20px !important;
}

@media (max-width: 991px) {
  .navbar-brand .logo-img {
    padding-left: 0 !important;
    /* override the 15px mobile padding too */
  }
}

/* Push nav items more to the right on desktop */
@media (min-width: 992px) {
  .navbar .navbar-collapse {
    justify-content: flex-end;
  }
}

/* Contact Us orange rounded-rectangle button */
.nav-contact-btn {
  background: #ff462d;
  color: #fff;
  border: 1px solid #ff462d;
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 400;
  line-height: 1;
}

.nav-contact-btn:hover,
.nav-contact-btn:focus {
  background: #e83f29;
  border-color: #e83f29;
  color: #fff;
}

/* Remove underline animation from Contact button */
.nav-contact-btn::after {
  display: none !important;
}


/* Brand / Logo */
.navbar-brand .logo-img {
  height: 50px;
  padding-left: 0%;
  top: 8px;
  z-index: 10;
}

@media (max-width: 991px) {
  .navbar-brand .logo-img {
    height: 40px;
    padding-left: 15px;
  }
}

.logo-text {
  font-size: 1.25rem;
  letter-spacing: -0.5px;
  color: #3d3c3c;
}

.text-primary {
  color: #ff462d !important;
}

/* Top-level nav links (underline hover animation) */
.nav-link {
  color: #555 !important;
  position: relative;
  transition: color 0.2s ease;
  font-weight: 300;
}

.nav-link:hover,
.nav-link.active {
  color: #ff462d !important;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 1rem;
  right: 1rem;
  height: 3px;
  background-color: #ff462d;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}

.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
}

/* Dropdown menu styling */
.navbar .dropdown-menu {
  border: 0;
  border-radius: 16px;
  /* Increased radius */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
  padding: 1rem 0;
  /* More balanced padding */
  /* animation: fade-in 0.3s ease-out forwards; */
  /* REMOVED DELAY */
  display: none;
  /* Default hidden */
}

/* Ensure dropdowns show when toggled (overriding display: none above) */
.navbar .dropdown-menu.show {
  display: block;
}

/* Dropdown items: match nav-link hover underline behavior */
.navbar .dropdown-menu .dropdown-item {
  color: #555;
  position: relative;
  transition: color 0.2s ease;
  padding: 0.6rem 1.5rem;
  /* More horizontal padding to avoid tight borders */
  background-color: transparent;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  color: #ff462d;
  background-color: transparent;
}

.navbar .dropdown-menu .dropdown-item::after {
  content: '';
  position: absolute;
  left: 1.5rem;
  /* Match new padding side */
  right: 1.5rem;
  bottom: 0.25rem;
  height: 3px;
  background-color: #ff462d;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}

.navbar .dropdown-menu .dropdown-item:hover::after,
.navbar .dropdown-menu .dropdown-item:focus::after {
  transform: scaleX(1);
}

/* Optional: open dropdown on hover for desktop with bridge */
@media (min-width: 992px) {
  .navbar .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }

  .navbar .dropdown-menu {
    margin-top: 10px;
    /* Visual spacing */
  }

  /* Invisible bridge to prevent menu from closing when moving mouse across gap */
  .navbar .dropdown-menu::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 20px;
    background: transparent;
  }
}

/* Mobile tweaks */
@media (max-width: 991px) {
  .nav-link::after {
    display: none;
  }

  /* Main navbar collapse background */
  .navbar-collapse {
    background-color: #fff;
    max-height: 80vh;
    overflow-y: auto;
    padding-bottom: 20px;
    border-top: 1px solid #f0f0f0;
  }

  /* Style the dropdown menus in mobile so they aren't transparent */
  .navbar .dropdown-menu {
    box-shadow: none;
    border-radius: 8px;
    padding: 10px 0;
    margin: 10px 15px;
    background-color: #f8f9fa;
    /* Light gray to visually separate */
    border: 1px solid #eee;

  }

  .navbar .dropdown-menu .dropdown-item {
    padding: 10px 20px;
    font-size: 0.95rem;
  }

  .navbar .dropdown-menu .dropdown-item:hover,
  .navbar .dropdown-menu .dropdown-item:focus {
    background-color: #e9ecef;
    color: #ff462d;
  }

  .navbar .dropdown-menu .dropdown-item::after {
    display: none;
  }
}