/*!
Theme Name: Stafflancer
Theme URI: https://stafflancer.com
Author: Stafflancer LLC
Author URI: https://stafflancer.com
Description: Custom theme for Stafflancer
Version: 1.0.0
Tested up to: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: stafflancer
*/

/* Keep minimal base reset */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }

/* Accessibility helper (keep) */
.screen-reader-text{
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus{
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0,0,0,0.2);
  clip: auto !important;
  clip-path: none;
  color: #111827;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 8px;
  line-height: normal;
  padding: 14px 18px;
  text-decoration: none;
  top: 8px;
  width: auto;
  z-index: 100000;
}

/* =========================================================
   HFE Mobile/Tablet header: logo left, burger right
   ========================================================= */
@media (max-width: 1024px){

  /* Make header a positioning context */
  .elementor-location-header{
    position: relative;
  }

  /* Force HFE toggle to top-right like Pyramid */
  .elementor-location-header .hfe-nav-menu__toggle{
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 9999 !important;
  }

  /* Give logo room so it never collides with the burger */
  .elementor-location-header .elementor-widget-theme-site-logo,
  .elementor-location-header .elementor-widget-site-logo,
  .elementor-location-header .site-branding{
    padding-right: 76px !important;
  }
}

/* CTA inside HFE menu */
.sl-mobile-menu-cta{
  width: 100%;
  padding: 18px 16px 10px;
}

.sl-mobile-menu-cta .quillforms-popup-button{
  display: flex !important;
  width: 100% !important;
  justify-content: center;
}

.sl-mobile-menu-cta-li{
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1024px){
  .elementor-location-header{
    position: relative;
  }

  /* the actual HFE toggle */
  .elementor-location-header .hfe-nav-menu__toggle{
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    z-index: 9999 !important;
  }

  /* give the logo room (so it won't overlap toggle) */
  .elementor-location-header .elementor-widget-theme-site-logo,
  .elementor-location-header .elementor-widget-site-logo,
  .elementor-location-header .site-branding{
    padding-right: 78px !important;
  }
}
.sl-mobile-menu-cta-li,
.sl-mobile-menu-cta{
  width: 100% !important;
}
/* =========================================================
   Prevent duplicate CTA when rotating to landscape / desktop
   Hide the injected mobile-menu CTA above tablet/mobile
   ========================================================= */
@media (min-width: 1025px){
  .sl-mobile-menu-cta,
  .sl-mobile-menu-cta-li{
    display: none !important;
  }
}
/* =========================================================
   QuillForms popup — responsive on mobile + tablet portrait
   (modal sizing, padding, text scale, button width)
   ========================================================= */

/* Mobile + Tablet Portrait */
@media (max-width: 1024px){

  /* Make the popup panel fit the viewport nicely */
  .quillforms-popup,
  .quillforms-popup-modal,
  .quillforms-popup-container,
  .quillforms-popup-content{
    max-width: min(92vw, 520px) !important;
    width: 92vw !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
  }

  /* Keep it from being insanely tall */
  .quillforms-popup,
  .quillforms-popup-modal,
  .quillforms-popup-container,
  .quillforms-popup-content{
    max-height: 86vh !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Better inner spacing */
  .quillforms-popup-content,
  .quillforms-popup-body{
    padding: 18px 16px !important;
  }

  /* Make text more readable + balanced */
  .quillforms-popup-content h1,
  .quillforms-popup-content h2,
  .quillforms-popup-content h3{
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
  }

  .quillforms-popup-content p{
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  /* CTA button: full width, comfortable tap target */
  .quillforms-popup-content .quillforms-popup-button,
  .quillforms-popup-content a.quillforms-popup-button{
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 14px 18px !important;
    border-radius: 999px !important;
  }

  /* Close icon stays reachable */
  .quillforms-popup-close,
  .quillforms-popup-modal-close{
    top: 10px !important;
    right: 10px !important;
    transform: none !important;
  }
}

/* Extra-small phones */
@media (max-width: 420px){
  .quillforms-popup-content,
  .quillforms-popup-body{
    padding: 16px 14px !important;
  }
  .quillforms-popup-content p{
    font-size: 15px !important;
  }
}
/* Case Studies filter: center on mobile */
@media (max-width: 767px){
  .slc-cs-filter-row,
  .sl-case-studies-toolbar{
    justify-content: center !important;
  }

  .slc-cs-filter,
  .sl-case-studies-filter{
    justify-content: center !important;
    width: 100%;
  }

  .slc-cs-filter select,
  .sl-case-studies-filter select{
    width: 100%;
    max-width: 360px;
  }
}

.menu-company-label > a {
    pointer-events: none;
    cursor: default;
}