body:not(.elementor-editor-active) .page-header {
  display: none !important;
}

/* Force the scrollbar gutter to always remain, preventing the width shift */
html {
  margin-right: 0 !important;
    scrollbar-gutter: stable;
}

/* ===== Sticky Footer Fix ===== */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Push the content area to fill available space */
body > .elementor-location-archive,
body > .elementor-location-single,
body > main,
body > #content,
body > .site-content {
    flex: 1 0 auto;
}

/* Keep header and footer at natural size */
body > .elementor-location-header,
body > .elementor-location-footer {
    flex-shrink: 0;
}

/* ── Keep header stable ── */
body.mfp-ready .elementor-location-header {
  padding-right: 0 !important;
  margin-right: 0 !important;
}
/* hover color override */
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus {
	color: var(--e-global-color-accent) !important;
}

/* Standard content line: 80px from 1440 frame edge */
.site-inner {
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
}

/* Wide/deep content line: 160px from 1440 frame edge */
.site-inner-wide {
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  padding-left: 160px !important;
  padding-right: 160px !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .site-inner,
  .site-inner-wide {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
}

@media (max-width: 767px) {
  .site-inner,
  .site-inner-wide {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

.btn-container {
	width: fit-content !important;
	flex-shrink: 0 !important;
}

.btn-container .elementor-button {
	white-space: nowrap !important;
	padding: 10px 32px 10px 32px !important;
}

.text-shadow-std {
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15) !important;
}

.find-out-more-btn svg {
	font-size: 20px;
	display: inline-block !important;
	transition: transform 0.3s ease-in-out !important;
}

.find-out-more-btn:hover svg {
	transform: translateX(2px) !important;
}

.header-contact-button-large-screen .elementor-button {
	line-height: 1!important;
	padding: 13px 38px 12px 38px !important;
}

.elementor .header-contact-button .elementor-button:hover {
  background-color: #D21F3C !important;
}

/* FOOTER START */
li.menu-item-type-post_type.not-last {
	margin-bottom: 0 !important;
}

.nav-item-bold a {
	font-weight: 700 !important;
	font-size: 16px !important;
}

.elementor-nav-menu > li {
  	margin-bottom: 0 !important;
}

.footer-social-icons .elementor-icon-wrapper svg,
.footer-social-icons .elementor-icon-wrapper svg path {
    transition: fill 0.05s ease-in-out !important;
}

.footer-social-icons .elementor-icon-wrapper:hover svg,
.footer-social-icons .elementor-icon-wrapper:hover svg path {    
    fill: #F31F46 !important;
}
/* FOOTER END */

/* ------- Navigation Header Started ---- */
.header {
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(calc(100% - 40px), 1400px) !important;
  max-width: 1400px !important;
  box-sizing: border-box !important;
  z-index: 9999 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-left: 60px !important;
  padding-right: 60px !important;
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease,
    box-shadow 0.25s ease,
    padding 0.25s ease,
    background-color 0.25s ease !important;
  will-change: transform;
}

.header.header-hidden {
    transform: translateX(-50%) translateY(calc(-100% - 20px)) !important;
    opacity: 0;
    pointer-events: none;
}

.header.header-scrolled {
  box-shadow: 0 8px 28px rgba(17, 35, 73, 0.12) !important;
}

.header > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Desktop pieces */
.header-logo {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.header-nav {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    overflow: visible !important;
}
.header-nav > .e-con-inner {
    justify-content: center !important;
}

.header-cta {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    justify-content: flex-end !important;
}

/* ── Mobile & Tablet: reduce search modal padding ── */
@media (max-width: 1024px) {
  .ekit-popup-d55a2d0 > .mfp-container > .mfp-content {
    padding: 0px 20px 0px 20px !important;
  }
}

/* ── Search field font ── */
.ekit_modal-searchPanel .ekit_search-field {
  font-family: "Nunito Sans", sans-serif !important;
}

/* ── Search field placeholder ── */
.ekit_modal-searchPanel .ekit_search-field::placeholder {
  font-family: "Nunito Sans", sans-serif !important;
}

/* ── Search button SVG icon nudge ── */
.ekit_modal-searchPanel .ekit_search-button svg {
  margin-top: 6px !important;
}

.ekit_modal-searchPanel .ekit_search-field {
  padding-top: 3px !important;
}

/* When mobile menu is open, don't animate header separately */
body.mobile-menu-open .header {
  display: none !important;
}

/* ============================================
   Mobile bar (default hidden on desktop)
   ============================================ */
.header-mobile-bar {
    display: none !important;
}

@media (min-width: 1025px) {
.header.header-scrolled {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* ===== ARROW ===== */
  .nlh-nav-menu .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: 0 !important;
    padding-left: 0 !important;
    margin-left: 6px !important;
    flex-shrink: 0 !important;
    transition: transform 0.3s ease !important;
    line-height: 1 !important;
  }
  .nlh-nav-menu .sub-arrow svg,
  .nlh-nav-menu .sub-arrow svg path {
    fill: currentColor !important;
    display: block !important;
  }

  /* Arrow rotate on hover */
  .nlh-nav-menu .elementor-nav-menu > li:hover > a .sub-arrow,
  .nlh-nav-menu .elementor-nav-menu > li.open > a .sub-arrow {
    transform: rotate(180deg) !important;
  }

 /* ===== DROPDOWN POSITION & SHADOW ===== */
  .nlh-nav-menu .sub-menu {
    margin-top: 30px !important;
    margin-left: 12px !important;       /* align with menu text */
    box-shadow: 0px 2px 6px 0 rgba(0, 0, 0, 0.12) !important;
    border-radius: 12px !important;
    min-width: 100% !important;
    width: max-content !important;
    box-sizing: border-box !important;
  }

  /* Dropdown items padding */
  .nlh-nav-menu .sub-menu a.elementor-sub-item {
    padding:10px 20px 12px 10px !important;
  }
  
   .nlh-nav-menu .sub-menu li:first-child a.elementor-sub-item {
   padding-top: 18px !important;
  }

  .nlh-nav-menu .sub-menu li:last-child a.elementor-sub-item {
   padding-bottom: 18px !important;
 }
}

/* Tablet: 768px - 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .header {
    width: calc(100% - 50px) !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
  }

  .overlay-topbar {
    padding: 24px 50px 12px 50px !important;
  }

  .overlay-menu-wrapper {
    padding: 32px 50px !important;
  }
}

/* Mobile: <= 767px */
@media (max-width: 767px) {
  .header {
    width: calc(100% - 24px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .overlay-topbar {
    padding: 24px 24px 12px 24px !important;
  }

  .overlay-menu-wrapper {
    padding: 32px 24px !important;
  }
}


/* ============================================
   1024px breakpoint
   ============================================ */
@media (max-width: 1024px) {
    .header.header-scrolled {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
      }
      
    /* Hide desktop pieces */
    .header-logo,
    .header-nav,
    .header-cta {
        display: none !important;
    }
    
    /* Mobile bar - row, space-between, full width of parent's content area */
    .header-mobile-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        flex: 1 1 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        --flex-direction: row !important;
        --flex-wrap-mobile: nowrap !important;
        --justify-content: space-between !important;
        --align-items: center !important;
        --container-widget-width: auto !important;
        --container-widget-flex-grow: 0 !important;
    }
    
    .header-mobile-bar > .e-con-inner {
        padding: 0 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    
    /* Logo (image) - left side */
    .header-mobile-bar > .elementor-widget-image,
    .header-mobile-bar > .e-con-inner > .elementor-widget-image {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        align-self: center !important;
    }
    
    /* Inner container (icons) - right side */
    .header-mobile-bar > .e-con,
    .header-mobile-bar > .e-con-inner > .e-con {
        flex: 0 0 auto !important;
        width: auto !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        margin: 0 !important;
        margin-left: auto !important;  /* ← FORCE push to right */
        --flex-direction: row !important;
        --flex-wrap-mobile: nowrap !important;
        --justify-content: flex-end !important;
        --align-items: center !important;
        --container-widget-flex-grow: 0 !important;
        --container-widget-width: auto !important;
    }
    
    /* Icons inside the right container - vertical center */
    .header-mobile-bar .e-con > * {
        flex: 0 0 auto !important;
        width: auto !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
    }
}

.mobile-hamburger {
    cursor: pointer;
}

.mobile-hamburger .elementor-icon-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
    }
    
    .mobile-hamburger .elementor-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: auto !important;
        line-height: 1 !important;
    }
    
 .mobile-menu-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: #ffffff !important;
  z-index: 99998 !important;
  overflow-y: auto !important;
  padding: 0 !important;

  opacity: 0;
  visibility: hidden;
  transform: translateX(105%) scale(0.94);
  pointer-events: none;
}

.mobile-menu-overlay.is-open {
  visibility: visible !important;
  pointer-events: auto !important;
  animation: mobileOverlayIn 0.62s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.mobile-menu-overlay.is-closing {
  visibility: visible !important;
  pointer-events: none !important;
  animation: mobileOverlayOut 0.42s cubic-bezier(0.7, 0, 0.2, 1) both;
}

@keyframes mobileOverlayIn {
  from {
    transform: translateX(105%) scale(0.94);
    opacity: 0.92;
  }

  65% {
    transform: translateX(-1.5%) scale(1.01);
    opacity: 1;
  }

  to {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

@keyframes mobileOverlayOut {
  from {
    transform: translateX(0) scale(1);
    opacity: 1;
  }

  to {
    transform: translateX(105%) scale(0.96);
    opacity: 1;
  }
}

.mobile-menu-overlay.is-open .overlay-topbar {
  animation: mobileOverlayItemIn 0.58s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

.mobile-menu-overlay.is-open .overlay-menu-wrapper {
  animation: mobileOverlayItemIn 0.64s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

.mobile-menu-overlay.is-closing .overlay-topbar,
.mobile-menu-overlay.is-closing .overlay-menu-wrapper {
  animation: mobileOverlayItemOut 0.22s ease both;
}

@keyframes mobileOverlayItemIn {
  from {
    transform: translateY(28px) scale(0.98);
    opacity: 0;
  }

  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

@keyframes mobileOverlayItemOut {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(10px);
    opacity: 0;
  }
}


/* ============================================
   Overlay Top Bar - match .header position
   ============================================ */
.overlay-topbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    --flex-direction: row !important;
    --flex-wrap-mobile: nowrap !important;
    --justify-content: space-between !important;
    --align-items: center !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-width: auto !important;
}

.overlay-topbar > * {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.overlay-topbar .elementor-widget-image {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.overlay-topbar-icons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    --flex-direction: row !important;
    --flex-wrap-mobile: nowrap !important;
    --align-items: center !important;
    --justify-content: flex-end !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-width: auto !important;
}

.overlay-topbar-icons > * {
    flex: 0 0 auto !important;
    width: auto !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.mobile-close .elementor-icon-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
}

.mobile-close .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    line-height: 1 !important;
}

/* Overlay search button: match closed header icon size */
.mobile-menu-overlay .mobile-search-icon .ekit_navsearch-button,
.mobile-menu-overlay .mobile-search-icon a.ekit_navsearch-button {
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  line-height: 45px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background-color: #F31F46 !important;
}

@media (max-width: 1024px) {
  .header .search-widget .ekit_navsearch-button svg,
  .header .search-widget a.ekit_navsearch-button svg,
  .header .search-widget .ekit_navsearch-button i,
  .mobile-menu-overlay .mobile-search-icon .ekit_navsearch-button svg,
  .mobile-menu-overlay .mobile-search-icon a.ekit_navsearch-button svg,
  .mobile-menu-overlay .mobile-search-icon .ekit_navsearch-button i {
    transform: translate(-1px, -1px) !important;
  }
}

/* ============================================
   Menu wrapper
   ============================================ */
.overlay-menu-wrapper {
    width: 100% !important;
}

/* ============================================
   Mobile Nav Menu - menu items styling
   ============================================ */

.mobile-nav-menu * {
    box-sizing: border-box !important;
}

.mobile-nav-menu,
.mobile-nav-menu .elementor-widget-container,
.mobile-nav-menu nav,
.mobile-nav-menu .elementor-nav-menu--main,
.mobile-nav-menu ul.elementor-nav-menu,
.mobile-nav-menu ul.menu {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

.mobile-nav-menu .elementor-nav-menu,
.mobile-nav-menu ul.menu {
    list-style: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

/* Override Elementor's default link padding */
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu a,
.mobile-nav-menu .elementor-nav-menu a,
.mobile-nav-menu a.elementor-item,
.mobile-nav-menu a.elementor-sub-item,
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu a.highlighted,
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu a:focus,
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu a:hover,
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu a:active,
.mobile-nav-menu a.elementor-item-active {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    text-decoration: none !important;
    background: transparent !important;
    outline: none !important;
}

/* Remove Elementor active line */
.mobile-nav-menu .elementor-item::before,
.mobile-nav-menu .elementor-item::after {
    display: none !important;
    content: none !important;
}

/* Parent <li> */
.mobile-nav-menu ul.menu > .menu-item {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    width: 100% !important;
    background: transparent !important;
}

/* Parent link - layout */
.mobile-nav-menu ul.menu > .menu-item > a,
.mobile-nav-menu ul.menu > .menu-item > a.elementor-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
}


.mobile-nav-menu {
    --e-global-color-accent: #112349 !important;
}

.mobile-nav-menu .menu-item-has-children.is-expanded {
    --e-global-color-accent: #F31F46 !important;
}


.mobile-nav-menu ul.menu > .menu-item.is-expanded > a,
.mobile-nav-menu ul.menu > .menu-item.is-expanded > a.elementor-item {
    color: #F31F46 !important;
    fill: #F31F46 !important;
}

.mobile-nav-menu .sub-menu > .menu-item > a,
.mobile-nav-menu .sub-menu > .menu-item > a.elementor-sub-item {
    color: #112349 !important;
    fill: #112349 !important;
}

/* Child current page - red */
.mobile-nav-menu .sub-menu > .menu-item.current-menu-item > a {
    color: #F31F46 !important;
}

/* no children current page → red */
.mobile-nav-menu ul.menu > .menu-item.current-menu-item:not(.menu-item-has-children) > a,
.mobile-nav-menu ul.menu > .menu-item.current-menu-item:not(.menu-item-has-children) > a.elementor-item {
    color: #F31F46 !important;
    fill: #F31F46 !important;
}

/* Our Facilities 这种 current page (无 children) → 红色
   需要比 (0,4,1) 更高的 specificity */
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu 
    .current-menu-item:not(.menu-item-has-children) > a.elementor-item-active,
.mobile-nav-menu .elementor-nav-menu--main .elementor-nav-menu 
    .current-menu-item:not(.menu-item-has-children) > a.elementor-item {
    color: #F31F46 !important;
    fill: #F31F46 !important;
}

/* current-menu-ancestor 的 arrow 默认也是 navy */
.mobile-nav-menu ul.menu > .menu-item.current-menu-ancestor:not(.is-expanded) > a .sub-arrow::before {
    border-right-color: #112349 !important;
    border-bottom-color: #112349 !important;
}

/* ============================================
   ARROW (Chevron via ::before on .sub-arrow)
   ============================================ */
.mobile-nav-menu .sub-arrow svg,
.mobile-nav-menu .sub-arrow i {
    display: none !important;
}

.mobile-nav-menu .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: auto !important;
    margin-right: 15px !important;  /* aligned with search center */
    flex-shrink: 0 !important;
    visibility: visible !important;
    overflow: visible !important;
    position: relative !important;
    background: transparent !important;
    padding: 0 !important;
}

.mobile-nav-menu .sub-arrow::before {
    content: "" !important;
    display: block !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 2px solid #112349 !important;
    border-bottom: 2px solid #112349 !important;
    background: transparent !important;
    transform: rotate(45deg) !important;
    transition: transform 0.3s ease, border-color 0.3s ease !important;
    position: relative !important;
    top: -3px !important;
}

/* Arrow up + red ONLY when is-expanded */
.mobile-nav-menu .menu-item-has-children.is-expanded > a .sub-arrow::before {
    transform: rotate(-135deg) !important;
    top: 3px !important;
    border-right-color: #F31F46 !important;
    border-bottom-color: #F31F46 !important;
}

/* Disable old ::after */
.mobile-nav-menu .menu-item-has-children > a::after {
    display: none !important;
    content: none !important;
}

/* ============================================
   Sub-menu
   ============================================ */
.mobile-nav-menu .sub-menu,
.mobile-nav-menu .elementor-nav-menu--dropdown {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.35s ease, padding 0.35s ease !important;
    background: transparent !important;
    box-shadow: none !important;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    border: none !important;
}

.mobile-nav-menu .menu-item-has-children.is-expanded > .sub-menu,
.mobile-nav-menu .menu-item-has-children.is-expanded > .elementor-nav-menu--dropdown {
    max-height: 1000px !important;
    padding-top: 18px !important;
}

.mobile-nav-menu .sub-menu > .menu-item {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    width: 100% !important;
    background: transparent !important;
}

.mobile-nav-menu .sub-menu > .menu-item > a,
.mobile-nav-menu .sub-menu > .menu-item > a.elementor-sub-item {
    display: block !important;
    width: 100% !important;
    padding: 0 0 0 16px !important;
    margin: 0 !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
}

/* ------- Navigation Header Ended ------- */

.breadcrumbs {
	font-weight: 400;
	font-size: 14px;
	font-family: "Nunito Sans";
	max-width: 450px;
}

.breadcrumbs a {
	color: #112349;
}

.breadcrumbs a:hover, #breadcrumbs a:hover {
	color: #F31F46;
}



/* ============================================================
   NLH Search Results - Complete Stylesheet
   ============================================================ */


/* ---------- Result Card (Root Container) ---------- */
.nlh-result-card {
    overflow: hidden;
    position: relative;
    transition: all 0.25s ease;
}


/* Hover state */
.nlh-result-card:hover {
    box-shadow: 0 8px 24px rgba(26, 40, 85, 0.10), 
                0 2px 6px rgba(26, 40, 85, 0.06);
    transform: translateY(-2px);
    border-color: #e5e7eb;
}


/* ---------- Image Container (Left side) ---------- */
.nlh-result-image-wrap {
    overflow: hidden;
}

/* ---------- Featured Image (force fill container) ---------- */
.nlh-result-image,
.nlh-result-image .elementor-widget-container,
.nlh-result-image .elementor-image,
.nlh-result-image a {
    height: 100%;
    width: 100%;
    display: block;
}

.nlh-result-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block;
}

/* ---------- Content Container (Right side) ---------- */
.nlh-result-content {
    flex: 1 1 auto;
    min-width: 0;
}


/* ---------- Title ---------- */
.nlh-result-title h3 {
    transition: color 0.2s ease;
}


.nlh-result-card:hover .nlh-result-title h3 {
    color: #e91e5b !important;
}

/* ---------- Excerpt ---------- */
.nlh-result-excerpt,
.nlh-result-excerpt p {
    color: #374151 !important;
}


/* ---------- Keyword Highlight ---------- */
.nlh-search-highlight {
    background: rgba(233, 30, 91, 0.15);
    color: #e91e5b;
    padding: 1px 4px;
    border-radius: 3px;
    font-weight: 600;
}


/* ---------- Search Query ---------- */
.nlh-search-page-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a2855;
}

.nlh-search-page-title p {
    margin: 0;
}

/* The styled query part */
.nlh-search-query {
    color: #f31f46;
    font-style: 700;
	font-style: italic;
}

/* ---------- Mobile Responsive ---------- */
@media (max-width: 767px) {
    
      /* Image container full width */
    .nlh-result-image-wrap {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        height: 200px !important;  
    }
    
    /* Force image to fill */
    .nlh-result-image,
    .nlh-result-image img {
        width: 100% !important;
        height: 200px !important;
    }
}

