/*
Theme Name: GlobalSoft Corporate Elementor
Theme URI: https://www.globalsofttech.us/
Author: Custom Build
Description: Lightweight Elementor-ready corporate theme matching the supplied Global Soft Technologies reference styling. Content, logo and imagery remain replaceable.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gst-corporate
*/
:root{--gst-navy:#101d31;--gst-navy-2:#0b1728;--gst-blue:#176fc7;--gst-sky:#2e9fe5;--gst-text:#5f6874;--gst-light:#f4f7fb;--gst-white:#fff;--gst-border:#e6ebf2;--gst-container:1170px;--gst-font:'Poppins',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--gst-font);color:var(--gst-text);background:#fff;line-height:1.75;font-size:15px}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.gst-container{width:min(var(--gst-container),calc(100% - 40px));margin:auto}.site-header{position:relative;z-index:999;background:#fff;border-bottom:1px solid rgba(16,29,49,.06);box-shadow:0 2px 12px rgba(16,29,49,.025)}.site-header-inner{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-branding{display:flex;align-items:center;gap:12px;min-width:220px}.custom-logo{max-height:58px;width:auto}.site-title{font-weight:700;font-size:22px;letter-spacing:-.3px;color:var(--gst-navy)}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:32px;padding:0;margin:0}.primary-nav a{font-size:14px;font-weight:600;color:#253142;transition:.2s}.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--gst-blue)}.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--gst-navy);cursor:pointer}.site-main{min-height:50vh}.site-footer{background:#172d67;color:#fff;padding:58px 0 26px;text-align:center}.footer-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center}.footer-logo{margin-bottom:35px;display:flex;justify-content:center;align-items:center}.footer-logo .custom-logo-link{display:inline-flex;justify-content:center}.footer-logo .custom-logo{max-height:58px;width:auto}.footer-site-title{font-size:26px;font-weight:700;letter-spacing:.5px;color:#fff}.footer-nav{width:100%;display:flex;justify-content:center}.footer-menu{list-style:none;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:38px;padding:0;margin:0}.footer-menu a{font-size:17px;font-weight:400;color:#6e93ea;transition:.2s}.footer-menu a:hover,.footer-menu .current-menu-item>a{color:#fff}.site-info{margin-top:14px;padding:0;border:0;font-size:12px;font-weight:500;color:#fff;text-align:center}.elementor-page .site-main{min-height:auto}.elementor-template-canvas .site-header,.elementor-template-canvas .site-footer{display:none}

@media(max-width:900px){.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:91px;left:0;right:0;background:#fff;border-top:1px solid var(--gst-border);box-shadow:0 15px 35px rgba(0,0,0,.08)}.primary-nav.is-open{display:block}.primary-nav ul{display:block;padding:12px 20px 20px}.primary-nav li{border-bottom:1px solid #edf0f3}.primary-nav a{display:block;padding:13px 4px}.footer-menu{gap:22px}.footer-logo{margin-bottom:28px}}@media(max-width:560px){.gst-container{width:min(100% - 28px,var(--gst-container))}.site-header-inner{min-height:76px}.primary-nav{top:76px}}

@media(max-width:700px){.site-footer{padding:42px 0 22px}.footer-menu{gap:14px 24px}.footer-menu a{font-size:15px}.site-info{font-size:12px;margin-top:18px}.footer-logo .custom-logo{max-height:52px}}


/* Steniva nested navigation */
.primary-nav li,.footer-menu li{position:relative}
.primary-nav .sub-menu,.footer-menu .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;left:0;top:100%;min-width:235px;background:#fff;border:1px solid var(--gst-border);box-shadow:0 14px 34px rgba(16,29,49,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:1000}
.primary-nav .menu-item-has-children:hover>.sub-menu,.primary-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.primary-nav .sub-menu li{border:0}
.primary-nav .sub-menu a{display:block;padding:10px 18px;white-space:nowrap;font-size:13px;font-weight:500;color:#253142}
.primary-nav .sub-menu a:hover{background:#f4f7fb;color:var(--gst-blue)}
.primary-nav .menu-item-has-children>a:after{content:'▾';font-size:10px;margin-left:7px;vertical-align:1px}
.footer-menu .sub-menu{display:none}
.footer-menu .menu-item-has-children>a:after{content:'▾';font-size:10px;margin-left:7px}

@media(max-width:900px){
 .primary-nav .sub-menu{position:static;min-width:0;border:0;box-shadow:none;background:#f8fafc;opacity:1;visibility:visible;transform:none;display:block;padding:0 0 4px 14px}
 .primary-nav .sub-menu a{padding:10px 10px;font-size:13px}
 .primary-nav .menu-item-has-children>a:after{float:right}
 .footer-menu .menu-item-has-children>a:after{display:none}
}


/* v1.4 - prevent horizontal viewport overflow */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{position:relative}
.site-header,.site-main,.site-footer{width:100%;max-width:100%;overflow-x:clip}
.gst-container{max-width:100%}
.elementor,.elementor-page,.elementor-section,.elementor-container,.elementor-widget-wrap{max-width:100%}
iframe,video,svg,canvas{max-width:100%}
@supports not (overflow:clip){html,body,.site-header,.site-main,.site-footer{overflow-x:hidden}}

/* v1.5 - corrected desktop dropdown navigation */
.primary-nav > .primary-menu,
.primary-nav > ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:32px;
  padding:0;
  margin:0;
}
.primary-nav > ul > li{position:relative}
.primary-nav .sub-menu{
  display:block;
  position:absolute;
  top:calc(100% + 16px);
  left:0;
  width:240px;
  min-width:240px;
  margin:0;
  padding:8px 0;
  list-style:none;
  background:#fff;
  border:1px solid #e7ebf0;
  border-radius:0;
  box-shadow:0 16px 38px rgba(16,29,49,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:9999;
}
.primary-nav .sub-menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-17px;
  height:17px;
}
.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.primary-nav .sub-menu li{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
}
.primary-nav .sub-menu a{
  display:block;
  width:100%;
  padding:12px 18px;
  white-space:normal;
  font-size:14px;
  line-height:1.35;
  font-weight:500;
  color:#172033;
  text-align:left;
}
.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu .current-menu-item > a{
  background:#f4f7fb;
  color:var(--gst-blue);
}
/* keep the Legal dropdown inside the viewport */
.primary-nav > ul > li:last-child > .sub-menu{
  left:auto;
  right:0;
}

@media(max-width:900px){
  .primary-nav > .primary-menu,
  .primary-nav > ul{display:block;padding:12px 20px 20px}
  .primary-nav .sub-menu{
    position:static;
    width:100%;
    min-width:0;
    margin:0;
    padding:0 0 4px 14px;
    border:0;
    box-shadow:none;
    background:#f8fafc;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .primary-nav .sub-menu::before{display:none}
  .primary-nav .sub-menu a{padding:10px 10px;font-size:13px}
}


/* v1.6: footer uses top-level navigation only; dropdowns belong to header only */
.footer-menu .sub-menu{display:none!important}
.footer-menu .menu-item-has-children>a:after{display:none!important;content:none!important}
.footer-menu>li>a{display:inline-block}
