/* eLockers Staging Visual Refresh 1.0.0
 * Strictly scoped to the elockers.com.au host via PHP-added body class.
 * Keeps existing Kallyas header markup, navigation behavior, actual logo asset,
 * footer widgets, and page-builder content. */
body.elst-stage {
  --elst-navy:#0d3156;
  --elst-dark:#0b2745;
  --elst-blue:#138ff0;
  --elst-light:#f1f7fd;
  --elst-ink:#163b62;
  color:#263c52;
  -webkit-font-smoothing:antialiased;
}
body.elst-stage a:focus-visible,
body.elst-stage button:focus-visible {
  outline:3px solid #28a7f4;
  outline-offset:3px;
}
/* Kallyas header – appearance only, not positioning/sticky/dropdown logic */
body.elst-stage #header.site-header {
  box-shadow:0 6px 24px rgba(7,36,68,.11)!important;
  border-bottom:1px solid rgba(16,69,107,.09);
}
body.elst-stage #header .site-header-main-wrapper,
body.elst-stage #header .site-header-wrapper .kl-top-header {
  background:#fff!important;
}
body.elst-stage #header .site-header-top-wrapper {
  background:#f1f6fa!important;
  color:#355d79!important;
}
body.elst-stage #header .site-header-top-wrapper a {
  color:#19486d!important;
}
body.elst-stage #header #logo-container,
body.elst-stage #header #logo {
  overflow:visible;
}
body.elst-stage #header #logo .site-logo-anch {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
}
body.elst-stage #header #logo img.site-logo-img,
body.elst-stage #header #logo img.site-logo-img-sticky {
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:56px!important;
  object-fit:contain;
  vertical-align:middle;
}
body.elst-stage #header #logo .site-logo-name {
  color:var(--elst-navy)!important;
  font-weight:800;
  letter-spacing:-.03em;
}
/* Main menu: preserve real WordPress items, nested links and responsive toggle. */
@media(min-width:992px) {
  body.elst-stage #header #main-menu .main-menu-nav > li > a,
  body.elst-stage #header #main-menu .main-menu-nav > li > a > span {
    color:#173d62!important;
    font-size:13px!important;
    font-weight:700!important;
    letter-spacing:0!important;
    text-transform:none!important;
    background:transparent!important;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li:hover > a,
  body.elst-stage #header #main-menu .main-menu-nav > li.current-menu-item > a,
  body.elst-stage #header #main-menu .main-menu-nav > li.current_page_item > a {
    color:var(--elst-blue)!important;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu > a,
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu > a > span {
    color:#fff!important;
    background:var(--elst-blue)!important;
    border-radius:8px!important;
    text-shadow:none!important;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu > a {
    padding:9px 17px!important;
    line-height:1.35!important;
    margin:0 0 0 12px;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu > a > span {
    padding:0!important;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu:hover > a,
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu:hover > a > span {
    background:#086cb9!important;
  }
}
/* Never force old navigation/dropdowns into a new DOM structure. */
body.elst-stage #header #main-menu .sub-menu,
body.elst-stage #header #main-menu .zn_mega_container {
  border-radius:0 0 10px 10px;
  box-shadow:0 15px 30px rgba(4,37,71,.14);
}
/* Page builder modules – unified spacing, including after deleting the old blocks. */
body.elst-home-test #el-hero-modern,
body.elst-home-test #el-revenue-modern,
body.elst-home-test section.elsg-enhanced,
body.elst-home-test #el-about-modern {
  position:relative;
  isolation:isolate;
  clear:both;
  width:100%;
  margin:0!important;
}
body.elst-home-test #el-hero-modern .hero-inner,
body.elst-home-test #el-revenue-modern .rev-inner,
body.elst-home-test #el-about-modern .about-wrap {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
body.elst-home-test #el-revenue-modern,
body.elst-home-test #el-about-modern {
  padding-top:68px;
  padding-bottom:68px;
}
body.elst-home-test #el-about-modern {background:#fff;}
body.elst-home-test section.elsg-enhanced {padding-top:68px!important;padding-bottom:68px!important;}
/* Only truly empty rendered Zion sections get this class from staging.js. */
body.elst-home-test .zn_section.elst-empty-after-cleanup {display:none!important;}
/* Footer prelude: new content, existing footer below remains intact. */
body.elst-stage .elst-contact-band {
  background:linear-gradient(110deg,#0d365e 0%,#0c5b92 100%);
  padding:40px 22px;
  color:#fff;
  margin:0;
}
body.elst-stage .elst-contact-band__inner {
  max-width:1200px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
}
body.elst-stage .elst-contact-band__eyebrow {
  color:#99dafe;
  letter-spacing:1.9px;
  font-size:12px;
  font-weight:800;
  margin:0 0 9px;
}
body.elst-stage .elst-contact-band h2 {
  color:#fff!important;
  font-size:clamp(24px,2.6vw,35px);
  line-height:1.18;
  font-weight:800;
  margin:0 0 8px;
}
body.elst-stage .elst-contact-band p:not(.elst-contact-band__eyebrow) {
  color:#d8e9f5;
  line-height:1.6;
  font-size:15px;
  margin:0;
}
body.elst-stage .elst-contact-band__button {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:16px;
  background:#fff;
  color:#0d4d80!important;
  padding:14px 22px;
  border-radius:9px;
  text-decoration:none!important;
  font-weight:800;
  font-size:15px;
  box-shadow:0 8px 24px rgba(5,35,64,.15);
}
body.elst-stage .elst-contact-band__button:hover {
  background:#e7f5ff;
  transform:translateY(-2px);
}
body.elst-stage #footer.site-footer {
  background:#0b2745!important;
  color:#c4d7e8!important;
  padding:43px 0 22px;
  border-top:0!important;
}
body.elst-stage #footer.site-footer h1,
body.elst-stage #footer.site-footer h2,
body.elst-stage #footer.site-footer h3,
body.elst-stage #footer.site-footer h4,
body.elst-stage #footer.site-footer .widgettitle {
  color:#fff!important;
}
body.elst-stage #footer.site-footer a {
  color:#d5ecff;
  text-decoration:none;
}
body.elst-stage #footer.site-footer a:hover {color:#80cdfb!important;}
body.elst-stage #footer.site-footer .container > .row {margin-bottom:18px;}
body.elst-stage #footer.site-footer .site-footer-bottom {
  padding-top:16px;
  border-top:1px solid rgba(208,229,244,.17);
}
body.elst-stage #footer.site-footer .footer-copyright-text {
  color:#b3c9de!important;
  font-size:13px;
  line-height:1.7;
}
body.elst-stage #footer.site-footer .footer-copyright-img {
  object-fit:contain;
  max-height:42px;
  width:auto;
}
body.elst-stage #footer.site-footer ul {list-style:none;}
@media(max-width:991px) {
  body.elst-stage #header #logo img.site-logo-img,
  body.elst-stage #header #logo img.site-logo-img-sticky {max-width:170px!important;max-height:48px!important;}
  body.elst-home-test #el-revenue-modern,
  body.elst-home-test #el-about-modern {padding-top:52px;padding-bottom:52px;}
}
@media(max-width:767px) {
  body.elst-stage .elst-contact-band {padding:35px 20px;}
  body.elst-stage .elst-contact-band__inner {flex-direction:column;align-items:flex-start;gap:20px;}
  body.elst-stage .elst-contact-band__button {width:100%;justify-content:center;}
  body.elst-home-test section.elsg-enhanced {padding-top:52px!important;padding-bottom:52px!important;}
  body.elst-stage #footer.site-footer {padding-top:30px;}
}
@media(prefers-reduced-motion:reduce){
 body.elst-stage .elst-contact-band__button {transition:none!important;transform:none!important;}
}

/* v1.1 – Complete the current Home Modern Test design. */
body.elst-home-test #el-about-v2 {
  position:relative;
  isolation:isolate;
  clear:both;
  width:100%;
  margin:0!important;
  padding-top:68px;
  padding-bottom:68px;
}
body.elst-home-test #el-about-v2 > .wrap {
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
/* Ensure the new sections join neatly without empty separator gaps. */
body.elst-home-test #el-revenue-modern + .zn_section,
body.elst-home-test #el-about-v2 + .zn_section {
  margin-top:0;
}
/* Sharpen header hierarchy while leaving Kallyas dropdown and mobile menu intact. */
body.elst-stage #header #logo img.site-logo-img,
body.elst-stage #header #logo img.site-logo-img-sticky {
  max-width:225px!important;
  max-height:58px!important;
}
@media(min-width:992px) {
  body.elst-stage #header #main-menu .main-menu-nav > li > a {
    transition:color .18s ease,background-color .18s ease;
  }
  body.elst-stage #header #main-menu .main-menu-nav > li.elst-contact-menu > a {
    box-shadow:0 4px 12px rgba(16,130,226,.16);
  }
}
body.elst-stage #header .site-header-top-wrapper {
  border-bottom:1px solid rgba(12,58,96,.08);
}
body.elst-stage #footer.site-footer .footer-copyright-text {
  font-size:13px;
  letter-spacing:0;
}
body.elst-stage #footer.site-footer .footer-copyright-img {
  max-width:125px;
  max-height:39px;
}
body.elst-stage .elst-contact-band__button:focus-visible {
  outline:3px solid #fff;
  outline-offset:3px;
}
@media(max-width:991px){
  body.elst-stage #header #logo img.site-logo-img,
  body.elst-stage #header #logo img.site-logo-img-sticky {
    max-width:170px!important;
    max-height:48px!important;
  }
  body.elst-home-test #el-about-v2 {padding-top:52px;padding-bottom:52px;}
}


/* v1.2.0: Product dropdown menu polish, no changes to menu links or hover logic.
   Kallyas 4.x uses .main-nav ul ul.sub-menu in both normal and sticky headers. */
@media (min-width: 992px) {
  body.elst-stage #header .main-nav ul ul.sub-menu,
  body.elst-stage .chaser .main-nav ul ul.sub-menu {
    min-width:285px!important;
    width:max-content;
    max-width:min(350px, calc(100vw - 35px));
    padding:7px 0!important;
    background:#fff!important;
    border:1px solid #dce9f3!important;
    border-radius:0 0 12px 12px!important;
    box-shadow:0 18px 40px rgba(10,48,82,.18)!important;
  }
  body.elst-stage #header .main-nav ul ul.sub-menu > .menu-item,
  body.elst-stage .chaser .main-nav ul ul.sub-menu > .menu-item {
    background:#fff!important;
  }
  body.elst-stage #header .main-nav ul ul.sub-menu .menu-item > a,
  body.elst-stage .chaser .main-nav ul ul.sub-menu .menu-item > a {
    box-sizing:border-box;
    min-width:285px!important;
    max-width:350px;
    padding:12px 19px!important;
    background:#fff!important;
    color:#173d62!important;
    font-size:13px!important;
    font-weight:650!important;
    text-transform:none!important;
    letter-spacing:0!important;
    line-height:1.5!important;
    white-space:normal!important;
    border-bottom:1px solid #eef3f8!important;
  }
  body.elst-stage #header .main-nav ul ul.sub-menu .menu-item:last-child > a,
  body.elst-stage .chaser .main-nav ul ul.sub-menu .menu-item:last-child > a {
    border-bottom:0!important;
  }
  body.elst-stage #header .main-nav ul ul.sub-menu .menu-item:hover > a,
  body.elst-stage #header .main-nav ul ul.sub-menu .menu-item > a:focus-visible,
  body.elst-stage .chaser .main-nav ul ul.sub-menu .menu-item:hover > a,
  body.elst-stage .chaser .main-nav ul ul.sub-menu .menu-item > a:focus-visible {
    background:#eff7ff!important;
    color:#0879cf!important;
  }
}
