/* --- Decoupled Navigation & Sticky Header Styles --- */

/* Sticky Header to top for all pages */
header.ct-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease !important;
}

/* Default on all internal pages: solid white background */
header.ct-header {
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

/* Home page: transparent header when at top of page */
body.home header.ct-header:not(.is-sticky),
body.home header.ct-header:not(.is-sticky) [data-device="desktop"],
body.home header.ct-header:not(.is-sticky) [data-device="mobile"],
body.home header.ct-header:not(.is-sticky) .ct-sticky-container,
body.home header.ct-header:not(.is-sticky) [data-row="middle"] {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body.home header.ct-header:not(.is-sticky) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
}

/* Ensure Elementor Hero Slider slides & background images expand to fill the full hero banner */
.elementor-slides .swiper-slide {
  position: relative !important;
  overflow: hidden !important;
  min-height: 730px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

.elementor-slides .swiper-slide-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center center !important;
  z-index: 0 !important;
}

.elementor-slides .elementor-background-overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
}

.elementor-slides .swiper-slide-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  padding: 40px 20px !important;
  box-sizing: border-box !important;
}

.elementor-slides .swiper-slide-contents {
  width: 100% !important;
  max-width: 850px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.elementor-slides .elementor-slide-heading,
.elementor-slides .elementor-slide-description {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-slides .elementor-slide-button {
  margin: 20px auto 0 !important;
}

/* Sticky scrolled state across all pages (including home) */
header.ct-header.is-sticky,
body.home header.ct-header.is-sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

header.ct-header.is-sticky [data-row="middle"] {
  background-color: transparent !important;
}


/* Offcanvas Slide-in Overlay Menu */
#offcanvas {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(247, 148, 29, 0.96) !important; /* Brand orange backdrop */
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s ease !important;
}

#offcanvas.is-active,
#offcanvas.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#offcanvas .ct-panel-actions {
  position: absolute !important;
  top: 25px !important;
  right: 25px !important;
  z-index: 1000000 !important;
}

#offcanvas .ct-toggle-close {
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #ffffff !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#offcanvas .ct-toggle-close svg {
  fill: #ffffff !important;
  stroke: #ffffff !important;
  width: 24px !important;
  height: 24px !important;
}

#offcanvas .mobile-menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

#offcanvas .mobile-menu li {
  margin: 18px 0 !important;
}

#offcanvas .mobile-menu a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
  display: inline-block !important;
}

#offcanvas .mobile-menu a:hover,
#offcanvas .mobile-menu li.current-menu-item > a {
  color: #000000 !important;
  transform: scale(1.05) !important;
}

#offcanvas .sub-menu {
  display: none !important;
  margin-top: 10px !important;
}

#offcanvas .sub-menu.is-open {
  display: block !important;
}

#offcanvas .sub-menu a {
  font-size: 18px !important;
  font-weight: 600 !important;
  opacity: 0.9 !important;
}

/* Bottom Mobile Shortcuts Bar */
.ct-drawer-canvas[data-shortcuts-bar] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: #000000 !important;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15) !important;
}

.ct-shortcuts-bar {
  display: flex !important;
  justify-content: space-around !important;
  align-items: center !important;
  padding: 10px 0 !important;
  background: #000000 !important;
}

.ct-shortcuts-bar-items {
  display: flex !important;
  justify-content: space-around !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ct-shortcuts-bar-items li {
  flex: 1 !important;
  text-align: center !important;
}

.ct-shortcuts-bar-items a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.ct-shortcuts-bar-items svg {
  fill: #ffffff !important;
  width: 20px !important;
  height: 20px !important;
}

/* Product Images - 1500x1500 Cover Mode */
.elementor-portfolio-item__img img,
.elementor-portfolio__item img,
.product-image img,
.woocommerce-product-gallery__image img,
article.entry-card img {
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: 1 / 1;
}





/* ==========================================================================
   Header Standard Navigation & Mega Menu Styles
   ========================================================================== */

/* 3-Column Header Grid Layout on Desktop */
@media (min-width: 1000px) {
  #header [data-device="desktop"] [data-column-set="3"] > .ct-container {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    column-gap: 30px !important;
    width: 100% !important;
    max-width: var(--theme-normal-container-max-width, 1290px) !important;
    margin: 0 auto !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  /* Center the middle nav column */
  #header [data-column="middle"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  #header [data-column="middle"] > [data-items="primary"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* Hide the hamburger trigger on desktop since standard menu is visible */
  #header [data-device="desktop"] .ct-header-trigger {
    display: none !important;
  }
}

/* Nav Menu Structure */
.ct-header-nav {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}

.ct-header-nav .menu {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ct-header-nav .menu > li {
  position: relative;
  list-style: none !important;
}

/* Menu Top-level Links */
.ct-header-nav .menu > li > .ct-menu-link {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 24px 0 !important;
  position: relative !important;
  transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ct-header-nav .menu > li > .ct-menu-link svg {
  fill: currentColor !important;
  transition: transform 0.25s ease !important;
}

.ct-header-nav .menu > li:hover > .ct-menu-link svg {
  transform: rotate(180deg);
}

.ct-header-nav .menu > li > .ct-menu-link:hover,
.ct-header-nav .menu > li.current-menu-item > .ct-menu-link {
  color: #F7941D !important; /* Brand Orange */
}

/* Transparent Header (Homepage initial state) */
body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li > .ct-menu-link {
  color: #ffffff !important;
}

body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li > .ct-menu-link:hover,
body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li.current-menu-item > .ct-menu-link {
  color: #F7941D !important;
}

body.home header.ct-header:not(.is-sticky) .ct-header-search svg {
  fill: #ffffff !important;
}

body.home header.ct-header:not(.is-sticky) .ct-header-search:hover svg {
  fill: #F7941D !important;
}

/* White background / sticky header link colors */
header.ct-header.is-sticky .ct-header-nav .menu > li > .ct-menu-link {
  color: #1a1a1a !important;
}

header.ct-header.is-sticky .ct-header-nav .menu > li > .ct-menu-link:hover {
  color: #F7941D !important;
}

/* ==========================================================================
   Mega Menu Container & Dropdown
   ========================================================================== */

.ct-mega-menu-item {
  position: static !important; /* Positions dropdown relative to header row container */
}

#header [data-row="middle"] {
  position: relative !important;
}

.mega-menu-container {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px);
  width: 95vw !important;
  max-width: 1140px !important;
  background: #ffffff !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12), 0 2px 10px rgba(0, 0, 0, 0.06) !important;
  border-radius: 10px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  padding: 35px 40px !important;
  z-index: 99999 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s ease !important;
}

/* Invisible bridge so mouse hover stays continuous */
.mega-menu-container::before {
  content: "" !important;
  position: absolute !important;
  top: -15px !important;
  left: 0 !important;
  width: 100% !important;
  height: 15px !important;
  background: transparent !important;
}

/* Show on Hover or when .is-active is toggled */
.ct-mega-menu-item:hover > .mega-menu-container,
.ct-mega-menu-item.is-active > .mega-menu-container {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* 3-Column Grid Inside Mega Menu */
.mega-menu-inner {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 36px !important;
}

/* Column Styling */
.mega-column {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.mega-column-title {
  margin: 0 0 14px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #F7941D !important;
}

.mega-column-title a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #000000 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: color 0.2s ease !important;
}

.mega-column-title a:hover {
  color: #F7941D !important;
}

/* Link Lists Inside Columns */
.mega-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.mega-links li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mega-links li a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #4a4a4a !important;
  text-decoration: none !important;
  display: inline-block !important;
  padding: 3px 0 !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.mega-links li a:hover {
  color: #00AEEF !important; /* Brand Cyan accent on product items */
  transform: translateX(4px) !important;
}

/* Hide on mobile devices */
@media (max-width: 999.98px) {
  .ct-header-nav {
    display: none !important;
  }
  #header [data-device="desktop"] {
    display: none !important;
  }
  #header [data-device="mobile"] {
    display: block !important;
  }
}

/* Ensure mobile header trigger icon is clearly visible and correctly styled */
@media (max-width: 999.98px) {
  #header [data-device="mobile"] .ct-header-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 8px !important;
    background: transparent !important;
    border: none !important;
  }

  #header [data-device="mobile"] .ct-header-trigger svg {
    fill: #1a1a1a !important;
    stroke: none !important;
    width: 24px !important;
    height: 18px !important;
  }

  #header [data-device="mobile"] .ct-header-trigger svg rect {
    fill: #1a1a1a !important;
  }

  body.home header.ct-header:not(.is-sticky) [data-device="mobile"] .ct-header-trigger svg rect {
    fill: #ffffff !important;
  }

  header.ct-header.is-sticky [data-device="mobile"] .ct-header-trigger svg rect {
    fill: #1a1a1a !important;
  }
}

/* Mobile Header Layout */
@media (max-width: 999.98px) {
  #header [data-device="mobile"] [data-row="middle"] > .ct-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #header [data-device="mobile"] [data-column="start"] {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
  }

  #header [data-device="mobile"] [data-column="end"] {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
}

/* Force mobile header visibility under 1000px */
@media (max-width: 999.98px) {
  #header > div[data-device="desktop"] {
    display: none !important;
  }

  #header > div[data-device="mobile"] {
    display: block !important;
    width: 100% !important;
  }

  #header [data-device="mobile"] .ct-sticky-container,
  #header [data-device="mobile"] [data-sticky="slide"],
  #header [data-device="mobile"] [data-row="middle"] {
    display: block !important;
    width: 100% !important;
  }

  #header [data-device="mobile"] [data-row="middle"] > .ct-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 10px 20px !important;
    box-sizing: border-box !important;
  }

  #header [data-device="mobile"] [data-column="start"],
  #header [data-device="mobile"] [data-column="start"] > [data-items="primary"] {
    display: flex !important;
    align-items: center !important;
  }

  #header [data-device="mobile"] [data-column="end"],
  #header [data-device="mobile"] [data-column="end"] > [data-items="primary"] {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  #header [data-device="mobile"] .ct-header-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    padding: 8px !important;
    margin: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
  }

  #header [data-device="mobile"] .ct-header-trigger svg {
    display: block !important;
    width: 24px !important;
    height: 18px !important;
  }

  #header [data-device="mobile"] .ct-header-trigger svg rect {
    fill: #1a1a1a !important;
  }

  body.home header.ct-header:not(.is-sticky) [data-device="mobile"] .ct-header-trigger svg rect {
    fill: #ffffff !important;
  }
}

/* Fix mobile logo sizing to prevent pushing header trigger off-screen */
@media (max-width: 999.98px) {
  #header [data-device="mobile"] .site-branding,
  #header [data-device="mobile"] .site-logo-container {
    max-height: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
  }

  #header [data-device="mobile"] .site-logo-container img {
    max-height: 44px !important;
    height: 44px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

/* Force mobile header logo width and container alignment */
@media (max-width: 999.98px) {
  #header [data-device="mobile"] .site-branding {
    max-width: 160px !important;
    width: auto !important;
  }

  #header [data-device="mobile"] .site-logo-container {
    max-width: 160px !important;
    width: auto !important;
    height: 40px !important;
  }

  #header [data-device="mobile"] .site-logo-container img {
    max-width: 100% !important;
    max-height: 40px !important;
    height: 40px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

/* ==========================================================================
   Header Right Alignment (Menu right-aligned next to search icon)
   ========================================================================== */
@media (min-width: 1000px) {
  #header [data-device="desktop"] [data-column-set="3"] > .ct-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  #header [data-device="desktop"] [data-column="start"] {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }

  #header [data-device="desktop"] [data-column="middle"] {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  #header [data-device="desktop"] [data-column="middle"] > [data-items="primary"] {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
  }

  #header [data-device="desktop"] .ct-header-nav {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-right: 20px !important;
  }

  #header [data-device="desktop"] [data-column="end"] {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  #header [data-device="desktop"] [data-column="end"] > [data-items="primary"] {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
}

/* ==========================================================================
   Search Modal & Instant Results Styles
   ========================================================================== */
#search-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(13, 31, 60, 0.95) !important; /* Deep luxury navy overlay */
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 9999999 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 80px 20px 40px !important;
  box-sizing: border-box !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease !important;
}

#search-modal.is-active,
#search-modal.active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#search-modal .ct-panel-actions {
  position: absolute !important;
  top: 30px !important;
  right: 30px !important;
  z-index: 10000000 !important;
}

#search-modal .ct-toggle-close {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

#search-modal .ct-toggle-close:hover {
  background: #F7941D !important;
  transform: rotate(90deg) !important;
}

#search-modal .ct-toggle-close svg {
  fill: #ffffff !important;
  width: 16px !important;
  height: 16px !important;
}

#search-modal .ct-panel-content {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#search-modal .ct-search-form {
  width: 100% !important;
  margin: 0 !important;
}

#search-modal .ct-search-form-inner {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background: #ffffff !important;
  border-radius: 50px !important;
  padding: 8px 16px 8px 24px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
}

#search-modal .modal-field {
  flex: 1 !important;
  border: none !important;
  outline: none !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  color: #1a1a1a !important;
  background: transparent !important;
  padding: 10px 0 !important;
}

#search-modal .modal-field::placeholder {
  color: #888888 !important;
  font-size: 16px !important;
}

#search-modal button[type="submit"] {
  background: #F7941D !important; /* Brand orange button */
  border: none !important;
  border-radius: 50px !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

#search-modal button[type="submit"]:hover {
  background: #e08316 !important;
  transform: scale(1.05) !important;
}

#search-modal button[type="submit"] svg {
  fill: #ffffff !important;
  width: 18px !important;
  height: 18px !important;
}

/* Custom Live Results Dropdown Container */
.live-search-results-box {
  width: 100% !important;
  max-width: 760px !important;
  margin-top: 20px !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.3) !important;
  max-height: 60vh !important;
  overflow-y: auto !important;
  padding: 12px 0 !important;
  box-sizing: border-box !important;
}

.live-search-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 24px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-decoration: none !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.live-search-item:last-child {
  border-bottom: none !important;
}

.live-search-item:hover,
.live-search-item:focus {
  background: #f8faff !important;
  transform: translateX(4px) !important;
}

.live-search-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  text-align: left !important;
}

.live-search-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #0d1f3c !important;
}

.live-search-category {
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #F7941D !important;
}

.live-search-excerpt {
  font-size: 13px !important;
  color: #666666 !important;
  margin-top: 2px !important;
  line-height: 1.4 !important;
}

.live-search-arrow {
  font-size: 18px !important;
  color: #aaaaaa !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.live-search-item:hover .live-search-arrow {
  color: #F7941D !important;
  transform: translateX(4px) !important;
}

.live-search-empty {
  padding: 30px 24px !important;
  text-align: center !important;
  font-family: 'Poppins', sans-serif !important;
  color: #666666 !important;
  font-size: 15px !important;
}




/* ==========================================================================
   Active / Selected Menu Item Styling (Brand Orange #F7941D)
   ========================================================================== */
.ct-header-nav .menu > li.current-menu-item > .ct-menu-link,
.ct-header-nav .menu > li.current_page_item > .ct-menu-link,
.ct-header-nav .menu > li.is-active > .ct-menu-link,
.ct-header-nav .menu > li > .ct-menu-link.is-active,
.ct-header-nav .menu > li > .ct-menu-link.current-menu-link,
.ct-header-nav .menu > li > .ct-menu-link[aria-current="page"] {
  color: #F7941D !important; /* Brand Orange */
  font-weight: 600 !important;
}

.ct-header-nav .menu > li.current-menu-item > .ct-menu-link svg,
.ct-header-nav .menu > li.is-active > .ct-menu-link svg,
.ct-header-nav .menu > li > .ct-menu-link.is-active svg {
  fill: #F7941D !important;
}

/* Home page transparent header active state */
body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li.current-menu-item > .ct-menu-link,
body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li.is-active > .ct-menu-link,
body.home header.ct-header:not(.is-sticky) .ct-header-nav .menu > li > .ct-menu-link.is-active {
  color: #F7941D !important;
}

/* Mobile Offcanvas active item */
#offcanvas .mobile-menu li.current-menu-item > a,
#offcanvas .mobile-menu li.is-active > a,
#offcanvas .mobile-menu a.is-active,
#offcanvas .mobile-menu a.current-menu-link,
#offcanvas .mobile-menu a[aria-current="page"] {
  color: #F7941D !important;
  font-weight: 600 !important;
}

/* Mega menu links active state */
.mega-menu-container .mega-links li.current-menu-item > a,
.mega-menu-container .mega-links a.is-active,
.mega-menu-container .mega-column-title a.is-active {
  color: #F7941D !important;
  font-weight: 600 !important;
}


/* ==========================================================================
   Persistent Bottom Shortcuts Bar (Home, Phone, Get a Quote, Scroll to Top)
   ========================================================================== */
.ct-drawer-canvas {
  position: static !important;
  pointer-events: none !important;
}

.ct-drawer-canvas .ct-drawer-inner {
  position: static !important;
  width: auto !important;
  height: auto !important;
  pointer-events: none !important;
  transform: none !important;
}

.ct-shortcuts-bar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 52px !important;
  z-index: 9999 !important;
  background-color: #000000 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

.ct-shortcuts-bar-items {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-around !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
  background-color: #000000 !important;
  list-style: none !important;
  pointer-events: auto !important;
}

.ct-shortcuts-bar-items li {
  flex: 1 1 25% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

/* Vertical dashed dividers between items */
.ct-shortcuts-bar-items li:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  right: 0 !important;
  top: 20% !important;
  height: 60% !important;
  width: 1px !important;
  border-right: 1px dashed rgba(255, 255, 255, 0.35) !important;
  pointer-events: none !important;
}

.ct-shortcuts-bar-items a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.ct-shortcuts-bar-items a:hover {
  color: #F7941D !important;
}

.ct-shortcuts-bar-items a:hover svg {
  fill: #F7941D !important;
  transform: scale(1.12) !important;
}

.ct-shortcuts-bar-items .ct-icon-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
}

.ct-shortcuts-bar-items svg {
  width: 18px !important;
  height: 18px !important;
  fill: #ffffff !important;
  transition: fill 0.2s ease, transform 0.2s ease !important;
}

/* Ensure body doesn't get obscured at the bottom */
body {
  padding-bottom: 52px !important;
}

/* Ensure the original Elementor popup modal sits above the bottom bar with clear scrolling */
#elementor-popup-modal-2279.dialog-type-lightbox {
  z-index: 100000 !important;
}

#elementor-popup-modal-2279 .dialog-message {
  padding-bottom: 70px !important;
  box-sizing: border-box !important;
}
