/* ===================================================================
   Nav fix for static (WP/Elementor + UAEL) conversion
   - Neutralizes frozen sticky-header inline widths captured at export
   - Styles the clean mobile menu panel built by js/nav-fix.js
   Desktop hover dropdowns already work via the theme CSS.
   =================================================================== */

/* --- Frozen sticky header cleanup (captured at 1440px / 100px) --- */
.elementor-sticky--active {
  width: 100% !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
}
@media (max-width: 1024px) {
  .elementor-sticky,
  .elementor-sticky--active { width: 100% !important; left: 0 !important; }
  .elementor-location-header { overflow-x: clip; }
  .uael-nav-menu__toggle, .elementor-menu-toggle { cursor: pointer; }
}

/* --- Clean mobile menu panel (injected), right-side slide-in like the live site --- */
.adapt-mm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
}
.adapt-mm-backdrop.open { opacity: 1; visibility: visible; }

.adapt-mm {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: min(90vw, 460px);
  z-index: 100001;
  background: #ffffff;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 58px 0 28px;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  box-shadow: -8px 0 34px rgba(0, 0, 0, 0.28);
  font-family: "Poppins", "Roboto", Helvetica, Arial, sans-serif;
}
.adapt-mm.open { transform: translateX(0); }
html.adapt-mm-lock { overflow: hidden; }

.adapt-mm-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 34px;
  /* the theme styles bare <button> elements with a background/gradient, so
     force a clean transparent red X to match the live site */
  color: #F04E30 !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  cursor: pointer;
}
.adapt-mm-close:hover { color: #C7191E !important; background: transparent !important; }
.adapt-mm-logo { text-align: center; padding: 6px 24px 20px; }
.adapt-mm-logo img { max-width: 190px; height: auto; }

.adapt-mm ul { list-style: none; margin: 0; padding: 0; }
.adapt-mm > ul > li { border-bottom: 1px solid #ededed; }
.adapt-mm a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  color: #171717;
  text-decoration: none;
  font-size: 17px;
  font-weight: 600;
  font-family: inherit;
}
.adapt-mm a:hover { background: #fafafa; }
.adapt-mm .adapt-mm-caret { font-size: 13px; transition: transform 0.2s; opacity: 0.7; }
.adapt-mm .has-sub.open > a .adapt-mm-caret { transform: rotate(180deg); }
.adapt-mm .has-sub > ul { display: none; background: #f6f6f6; }
.adapt-mm .has-sub.open > ul { display: block; }
.adapt-mm .has-sub > ul a { font-size: 15px; font-weight: 400; }

/* bottom phone + quote buttons */
.adapt-mm-actions { display: flex; flex-direction: column; gap: 12px; padding: 22px 24px 0; }
.adapt-mm-btn {
  display: flex; align-items: center; justify-content: center;
  padding: 14px 18px; border-radius: 6px;
  font-size: 15px; font-weight: 700; text-decoration: none;
  border: 2px solid transparent; text-transform: uppercase; letter-spacing: 0.02em;
}
.adapt-mm-btn-phone { border-color: #F04E30; color: #F04E30; background: #fff; }
.adapt-mm-btn-phone:hover { background: #F04E30; color: #fff; }
.adapt-mm-btn-quote { background-image: linear-gradient(158deg, #FFC222 0%, #E68328 100%); color: #141414; }
.adapt-mm-btn-quote:hover { filter: brightness(1.06); color: #141414; }

/* Desktop uses the normal nav; keep the panel + backdrop out of the way. */
@media (min-width: 1025px) {
  .adapt-mm, .adapt-mm-backdrop { display: none !important; }
}
