.elementor-252 .elementor-element.elementor-element-1263ee26{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overlay-opacity:0.35;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-252 .elementor-element.elementor-element-1263ee26:not(.elementor-motion-effects-element-type-background), .elementor-252 .elementor-element.elementor-element-1263ee26 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, #2E5117 0%, #86A86A 50%);}.elementor-252 .elementor-element.elementor-element-1263ee26::before, .elementor-252 .elementor-element.elementor-element-1263ee26 > .elementor-background-video-container::before, .elementor-252 .elementor-element.elementor-element-1263ee26 > .e-con-inner > .elementor-background-video-container::before, .elementor-252 .elementor-element.elementor-element-1263ee26 > .elementor-background-slideshow::before, .elementor-252 .elementor-element.elementor-element-1263ee26 > .e-con-inner > .elementor-background-slideshow::before, .elementor-252 .elementor-element.elementor-element-1263ee26 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-252 .elementor-element.elementor-element-38e47e52{text-align:center;}.elementor-252 .elementor-element.elementor-element-38e47e52 .elementor-heading-title{font-family:"Gentium Book Basic", Sans-serif;font-size:72px;font-weight:600;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-252 .elementor-element.elementor-element-6d4c71ed{text-align:center;font-family:"Roboto", Sans-serif;font-size:24px;font-weight:400;color:#FFFFFF;}.elementor-252 .elementor-element.elementor-element-7e7686a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-252 .elementor-element.elementor-element-38e47e52 .elementor-heading-title{font-size:36px;}.elementor-252 .elementor-element.elementor-element-6d4c71ed{font-size:18px;}}/* Start custom CSS *//* --- Remove the desktop gap: hide the ENTIRE mobile section on ≥1024px --- */
@media (min-width:1024px){
  /* Hide the whole Elementor section that contains the MOBILE layout */
  .elementor-section:has(#hfai-results-wrapper-mobile),
  .elementor-container:has(#hfai-results-wrapper-mobile),
  .elementor-widget-wrap:has(#hfai-results-wrapper-mobile),
  #hfai-search-layout:has(#hfai-results-wrapper-mobile){
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* Ensure the DESKTOP section grows to content (no forced min-height) */
  .elementor-section:has(#hfai-results-wrapper){
    min-height: auto !important;
    overflow: visible !important; /* prevent clipping inside */
  }
  .elementor-section:has(#hfai-results-wrapper) .elementor-container{
    overflow: visible !important;
  }
}

/* --- Restore scrolling on desktop (if a parent set overflow hidden) --- */
@media (min-width:1024px){
  html, body{
    height: auto !important;
    overflow-y: auto !important;   /* bring back the page scrollbar */
  }

  /* Make sure our area can extend and not trap overflow */
  #hfai-search-layout,
  #hfai-results-wrapper{
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Keep the results grid visible and the sidebar scrollable */
  #hfai-results-panel{
    display: grid !important;
    gap: 16px;
  }
  #hfai-filter-panel{
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow: auto !important;     /* sidebar gets its own scrollbar if tall */
  }
}
/* HFAI Search: responsive switcher
   - Mobile-first: show mobile wrappers, hide desktop wrappers
   - Desktop ≥1024px: show desktop wrappers, hide mobile wrappers
*/

/* --- Base: MOBILE (default) --- */
#hfai-filter-panel,
#hfai-results-wrapper,
#hfai-results-panel {
  display: none !important; /* hide desktop bits on small screens */
}

/* Show mobile bits */
#hfai-filter-toggle-bar,
#hfai-filter-panel-mobile-wrapper,
#hfai-results-wrapper-mobile {
  display: block;
}

/* Mobile: sticky toggle bar */
#hfai-filter-toggle-bar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: .75rem 1rem;
  cursor: pointer;
  font-weight: 600;
}

/* Mobile: collapsible filter panel */
#hfai-filter-panel-mobile-wrapper {
  overflow: hidden;
  transition: max-height .3s ease;
  max-height: 0; /* collapsed by default; JS toggles .open/.collapsed */
}
#hfai-filter-panel-mobile-wrapper.open {
  max-height: 100vh;
}

/* Mobile: spacing */
#hfai-results-wrapper-mobile,
#hfai-results-panel-mobile {
  padding: 1rem;
}
#hfai-results-panel-mobile {
  display: grid;
  gap: 1rem;
}

/* Mobile: crumb bar */
#hfai-results-wrapper-mobile .hfai-crumb-bar {
  display: grid;
  gap: .5rem;
  margin-bottom: 1rem;
}
#hfai-results-wrapper-mobile .hfai-crumb-controls {
  display: flex;
  gap: .5rem;
  align-items: center;
  flex-wrap: wrap;
}

/* --- IMPORTANT mobile cleanup (remove the big gap) --- */
/* Hide ENTIRE desktop container when on mobile (uses :has to find the desktop block) */
@media (max-width: 1023.98px) {
  /* Nuke any residual space from desktop bits */
  #hfai-filter-panel,
  #hfai-results-wrapper,
  #hfai-results-panel {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* If the desktop block wrapper is still present, hide it fully */
  #hfai-search-layout:has(#hfai-results-wrapper) {
    display: none !important;
  }

  /* Ensure the mobile block wrapper itself is shown */
  #hfai-search-layout:has(#hfai-results-wrapper-mobile) {
    display: block !important;
  }

  /* Extra guard against theme/section spacing above the mobile results */
  #hfai-results-wrapper-mobile {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* --- DESKTOP SWITCH --- */
@media (min-width: 1024px) {
  /* Hide all mobile wrappers on desktop */
  #hfai-filter-toggle-bar,
  #hfai-filter-panel-mobile-wrapper,
  #hfai-results-wrapper-mobile {
    display: none !important;
  }

  /* Show desktop wrappers */
  #hfai-filter-panel,
  #hfai-results-wrapper {
    display: block !important;
  }

  /* CRITICAL: force-show results panel on desktop (overrides base !important) */
  #hfai-results-panel {
    display: grid !important;
    gap: 16px;
  }

  /* Desktop: two-column layout (sidebar + results) */
  #hfai-search-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
  }

  /* Desktop: sticky filter sidebar */
  #hfai-filter-panel {
    position: sticky;
    top: 16px;
    align-self: start;
    max-height: calc(100vh - 32px);
    overflow: auto;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
  }

  /* Desktop: results area */
  #hfai-results-wrapper {
    min-width: 0;
  }

  /* Desktop: crumb bar */
  #hfai-results-wrapper #hfai-crumb-bar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 16px;
  }
  #hfai-results-wrapper #hfai-crumb-bar .crumb-left {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
  }
}

/* --- Buttons (shared) --- */
#hfai-launch-search,
#hfai-reset-filters,
.hfai-reveal-btn,
.hfai-reset-btn {
  padding: .5rem .75rem;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  font-weight: 600;
  line-height: 1.2;
}
#hfai-launch-search,
.hfai-reveal-btn {
  background: #111827;
  color: #fff;
  border-color: #111827;
}/* End custom CSS */