
/* SECTION 00A: Anti Flash Fix for Logo Loader and Top Bar Icons */
.vacse-site.has-logo-loader .vacse-loader{position:fixed!important;inset:0!important;z-index:2147483646!important}
.vacse-topbar,.vacse-topbar a,.vacse-topbar svg{color:#fff!important;fill:currentColor!important}
@keyframes vacseLoaderSpin{to{transform:rotate(360deg)}}
.vacse-loader__spinner{animation:vacseLoaderSpin .8s linear infinite}


/* SECTION 00: WordPress-safe reset and design system */
.vacse-site,.vacse-site *{box-sizing:border-box}
.vacse-site{width:100%;max-width:none;margin:0;overflow-x:visible;isolation:isolate;font-family:var(--vacse-font,"Inter"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:var(--vacse-bg,#f6f8fb)}
.vacse-site a{text-decoration:none}
.vacse-site img{max-width:100%;height:auto;display:block}
body:has(.vacse-site){overflow-x:hidden}
.vacse-container{width:min(1440px,calc(100% - 40px));margin-inline:auto}
.vacse-site svg{width:1.1em;height:1.1em;fill:currentColor;display:inline-block;vertical-align:-.16em}
:root{--vacse-white:#fff;--vacse-text:#172033;--vacse-muted:#627089;--vacse-border:#dfe7f2;--vacse-shadow:0 18px 50px rgba(6,28,66,.14);--vacse-radius:18px}


/* SECTION 00A: Logo Loading Overlay */
.vacse-loader{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--vacse-loader-bg,#fff);
  transition:opacity .45s ease, visibility .45s ease;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.vacse-loader.is-hiding{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.vacse-loader__box{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:28px;
  text-align:center;
}
.vacse-loader__logo{
  width:var(--vacse-loader-logo-w,150px);
  max-width:min(46vw,220px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(6,28,66,.14));
  animation:vacseLoaderPulse 1.25s ease-in-out infinite;
}
.vacse-loader__spinner{
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid rgba(9,42,95,.14);
  border-top-color:var(--vacse-loader-spinner,#f68c12);
  animation:vacseLoaderSpin .85s linear infinite;
}
.vacse-loader p{
  margin:0;
  color:var(--vacse-loader-text,#092a5f);
  font-weight:800;
  letter-spacing:.02em;
}
@keyframes vacseLoaderSpin{to{transform:rotate(360deg)}}
@keyframes vacseLoaderPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.035);opacity:.92}}
@media (prefers-reduced-motion:reduce){
  .vacse-loader,.vacse-loader__logo,.vacse-loader__spinner{animation:none!important;transition:none!important}
}

/* SECTION 01: Top Contact Bar */
.vacse-topbar{background:var(--vacse-navy-dark);color:#fff;font-size:13px;position:relative;z-index:1002}
.vacse-topbar__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.vacse-topbar a{color:#fff;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.vacse-topbar__left{display:flex;align-items:center;gap:18px;min-width:0;overflow:hidden}
.vacse-topbar__left a span{overflow:hidden;text-overflow:ellipsis}
.vacse-topbar__right{display:flex;gap:10px;align-items:center}
.vacse-topbar__right a{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08)}
.vacse-topbar__right a:hover{background:var(--vacse-orange);color:var(--vacse-navy-dark)}

/* SECTION 02: One-line Sticky Header / Navigation / Search / Buttons / Mobile Search Overlay */
.vacse-header{background:#fff;border-bottom:1px solid var(--vacse-border);box-shadow:0 8px 22px rgba(6,28,66,.08);position:relative;z-index:1000;width:100%}
/* v1.7 no-gap sticky:
   JavaScript fixes ONLY the real header to the viewport after scrolling.
   No cloned header and no spacer are used, so desktop will not show a blank white/gray gap. */
.vacse-site.has-sticky-header .vacse-header{position:relative;z-index:99990}
.vacse-site.has-sticky-header .vacse-header.is-vacse-fixed{
  position:fixed!important;
  top:var(--vacse-admin-offset,0px)!important;
  left:var(--vacse-fixed-left,0px)!important;
  width:var(--vacse-fixed-width,100%)!important;
  right:auto!important;
  z-index:2147483000!important;
  margin:0!important;
  transform:none!important;
  box-shadow:0 12px 30px rgba(6,28,66,.18)!important;
  animation:vacseStickyDrop .16s ease-out both;
}
@keyframes vacseStickyDrop{from{transform:translateY(-8px)!important;opacity:.96}to{transform:translateY(0)!important;opacity:1}}
.admin-bar .vacse-site.has-sticky-header .vacse-header.is-vacse-fixed{top:var(--vacse-admin-offset,32px)!important}
.vacse-header__inner{min-height:88px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--vacse-header-gap,8px)}
.vacse-logo{flex:0 0 auto;display:flex;align-items:center;justify-self:start}
.vacse-logo img{width:var(--vacse-logo-w,185px);max-height:72px;object-fit:contain}
.vacse-desktop-nav{min-width:0;display:flex;justify-content:center;overflow:visible}
.vacse-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;flex-wrap:nowrap}
.vacse-nav>li{position:relative;margin:0;flex:0 1 auto}
.vacse-nav>li>a{display:flex;align-items:center;gap:3px;color:var(--vacse-navy);font-weight:800;font-size:var(--vacse-nav-font,12px);text-transform:uppercase;letter-spacing:.01em;padding:12px var(--vacse-nav-pad-x,7px);border-radius:10px;white-space:nowrap}
.vacse-nav>li:hover>a,.vacse-nav>li>a:focus{background:#edf4ff;color:var(--vacse-blue)}
.vacse-caret{font-size:11px;color:var(--vacse-orange)}
.vacse-dropdown{position:absolute;left:0;top:calc(100% + var(--vacse-dropdown-offset,0px));min-width:230px;background:#fff;border:1px solid var(--vacse-border);border-top:4px solid var(--vacse-orange);border-radius:0 0 16px 16px;box-shadow:0 20px 45px rgba(6,28,66,.18);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;z-index:2000}
.vacse-dropdown li{margin:0}
.vacse-dropdown a{display:block;padding:12px 14px;border-radius:10px;color:var(--vacse-text);font-weight:700;font-size:14px;text-transform:none}
.vacse-dropdown a:hover{background:#fff5e8;color:var(--vacse-navy)}
.vacse-nav>li:hover>.vacse-dropdown,.vacse-nav>li:focus-within>.vacse-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.vacse-search{display:flex;align-items:center;width:var(--vacse-search-w,160px);min-width:130px;max-width:190px;border:1px solid var(--vacse-border);border-radius:999px;overflow:visible;background:#fff;justify-self:end;position:relative;z-index:2147483642}
.vacse-search input{width:100%;min-width:0;border:0!important;outline:0!important;padding:9px 10px!important;font-size:12px!important;background:#fff!important;color:var(--vacse-text)!important;min-height:0!important}
.vacse-search button{border:0;background:var(--vacse-navy);color:#fff;padding:9px 10px;font-weight:800;font-size:11px;cursor:pointer}

/* v2.7 Search Results Dropdown Fix */
.vacse-search-results{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(360px,92vw);
  max-height:360px;
  overflow:auto;
  display:none;
  background:#fff;
  border:1px solid var(--vacse-border);
  border-radius:16px;
  box-shadow:0 22px 50px rgba(6,28,66,.22);
  padding:8px;
  z-index:2147483647;
  pointer-events:auto!important;
}
.vacse-search-results.is-open{display:block}
.vacse-search-result{
  display:flex!important;
  flex-direction:column;
  gap:3px;
  padding:11px 12px;
  border-radius:12px;
  color:var(--vacse-text)!important;
  text-decoration:none!important;
  background:#fff;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.vacse-search-result:hover,.vacse-search-result:focus{
  background:#edf4ff;
  color:var(--vacse-navy)!important;
  outline:none;
}
.vacse-search-result strong{font-size:14px;line-height:1.25}
.vacse-search-result span{font-size:12px;color:var(--vacse-muted)}
.vacse-search-empty{padding:12px;color:var(--vacse-muted);font-weight:700;font-size:13px}
.vacse-search-view-all{border-top:1px solid var(--vacse-border);margin-top:6px;padding-top:6px}
.vacse-search-view-all a{display:block;padding:10px 12px;border-radius:12px;background:var(--vacse-orange);color:var(--vacse-navy-dark)!important;font-weight:900;text-align:center;text-decoration:none!important;pointer-events:auto!important}
.vacse-mobile-search .vacse-search-results{
  left:0;
  right:0;
  width:100%;
  top:calc(100% + 8px);
}

.vacse-header-actions{display:flex;align-items:center;gap:6px;justify-self:end;white-space:nowrap}
.vacse-app-btn,.vacse-apply-btn{min-height:40px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.vacse-app-btn{padding:7px 9px;background:#f5f8fc;color:var(--vacse-navy);border:1px solid var(--vacse-border)}
.vacse-app-btn img{width:27px;height:27px;object-fit:contain;border-radius:7px}
.vacse-apply-btn{padding:7px 11px;background:var(--vacse-orange);color:var(--vacse-navy-dark);box-shadow:0 8px 16px rgba(246,140,18,.22)}
.vacse-app-btn:hover,.vacse-apply-btn:hover{transform:translateY(-1px)}
.vacse-mobile-toggle{display:none;align-items:center;gap:9px;border:0;background:var(--vacse-navy);color:#fff;border-radius:999px;padding:9px 13px;font-weight:900;text-transform:uppercase;box-shadow:0 8px 18px rgba(6,28,66,.18)}
.vacse-mobile-toggle i{width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.14);display:grid;place-items:center;gap:0;position:relative}
.vacse-mobile-toggle span{display:block;width:15px;height:2px;background:#fff;border-radius:10px;margin:2px 0}
.vacse-mobile-toggle b{font-size:12px;line-height:1}
.vacse-mobile-toggle--box{border-radius:12px}
.vacse-mobile-toggle--box i{border-radius:8px}

/* v3.0 Mobile Search Button + Full-Screen Search Overlay */
.vacse-mobile-search-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  border:1px solid var(--vacse-border);
  background:#fff;
  color:var(--vacse-navy);
  border-radius:999px;
  padding:9px 13px;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(6,28,66,.10);
  cursor:pointer;
}
.vacse-mobile-search-toggle b{font-size:12px;line-height:1}
.vacse-mobile-search-icon{
  width:24px;
  height:24px;
  border:3px solid currentColor;
  border-radius:50%;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
}
.vacse-mobile-search-icon::after{
  content:"";
  position:absolute;
  width:9px;
  height:3px;
  background:currentColor;
  border-radius:999px;
  right:-7px;
  bottom:0;
  transform:rotate(45deg);
  transform-origin:center;
}
.vacse-mobile-search-toggle[aria-expanded="true"]{background:var(--vacse-orange);color:var(--vacse-navy-dark)}
.vacse-mobile-search-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:2147483647;
  pointer-events:none;
}
.vacse-mobile-search-overlay.is-open{
  display:block;
  pointer-events:auto;
}
.vacse-mobile-search-backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,28,66,.58);
  backdrop-filter:blur(4px);
}
.vacse-mobile-search-dialog{
  position:relative;
  width:min(92vw,640px);
  margin:calc(var(--vacse-mobile-menu-top,82px) + 16px) auto 0;
  background:#fff;
  border-radius:22px;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  padding:18px;
  max-height:calc(100vh - var(--vacse-mobile-menu-top,82px) - 32px);
  overflow:visible;
}
.vacse-mobile-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  color:var(--vacse-navy);
}
.vacse-mobile-search-head strong{font-size:20px;font-weight:900}
.vacse-mobile-search-close{
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  background:#f1f5fa;
  color:var(--vacse-navy);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  font-weight:700;
}
.vacse-mobile-search-form{
  display:flex;
  gap:8px;
  position:relative;
  border:1px solid var(--vacse-border);
  border-radius:16px;
  background:#fff;
  padding:6px;
}
.vacse-mobile-search-form input{
  flex:1;
  min-width:0;
  border:0!important;
  outline:0!important;
  padding:13px 12px!important;
  font-size:16px!important;
  background:#fff!important;
  color:var(--vacse-text)!important;
}
.vacse-mobile-search-form button[type="submit"]{
  border:0;
  background:var(--vacse-orange);
  color:var(--vacse-navy-dark);
  border-radius:12px;
  font-weight:900;
  padding:0 16px;
  cursor:pointer;
}
.vacse-mobile-search-form .vacse-search-results{
  top:calc(100% + 10px);
  left:0;
  right:0;
  width:100%;
  max-height:min(54vh,440px);
  z-index:2147483647;
}
.vacse-mobile-toggle[aria-expanded="true"]{background:var(--vacse-orange);color:var(--vacse-navy-dark)}
.vacse-mobile-toggle[aria-expanded="true"] span{background:var(--vacse-navy-dark)}
.vacse-mobile-panel{display:none;background:#fff;border-top:1px solid var(--vacse-border);box-shadow:0 20px 35px rgba(6,28,66,.12);padding:14px 20px}
.vacse-mobile-search{display:flex;border:1px solid var(--vacse-border);border-radius:14px;overflow:visible;margin-bottom:12px;position:relative;z-index:2147483642;background:#fff}
.vacse-mobile-search input{flex:1;border:0!important;padding:12px!important}
.vacse-mobile-search button{border:0;background:var(--vacse-navy);color:#fff;font-weight:900;padding:0 14px}
.vacse-mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.vacse-mobile-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:12px;background:#f5f8fc;color:var(--vacse-navy);font-weight:900;border:1px solid var(--vacse-border);font-size:12px}
.vacse-mobile-actions a:last-child{background:var(--vacse-orange);color:var(--vacse-navy-dark)}
.vacse-mobile-actions img{width:24px;height:24px;border-radius:6px}
.vacse-mobile-nav .vacse-nav{display:block}
.vacse-mobile-nav .vacse-nav>li>a{justify-content:space-between;border-bottom:1px solid var(--vacse-border);border-radius:0;padding:14px 6px;font-size:14px}
.vacse-mobile-nav .vacse-dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:3px solid var(--vacse-orange);border-radius:0;display:none;margin:0 0 6px 10px;background:#f8fbff}
.vacse-mobile-nav .is-open>.vacse-dropdown{display:block}

/* SECTION 03: Hero Slider */
.vacse-hero{position:relative;height:var(--vacse-hero-h,560px);overflow:hidden;background:var(--vacse-navy-dark)}
.vacse-slides,.vacse-slide{position:absolute;inset:0}
.vacse-slide{opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease}
.vacse-slide.is-active{opacity:1;visibility:visible}
.vacse-slide__link{position:absolute;inset:0;z-index:3}
.vacse-slide__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02)}
.vacse-slide__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,66,calc(var(--vacse-hero-overlay,55)/100)) 0%,rgba(6,28,66,.52) 42%,rgba(6,28,66,.12) 100%)}
.vacse-slide__content{height:100%;position:relative;z-index:5;display:flex;align-items:center;pointer-events:none}
.vacse-slide__card{max-width:500px;color:#fff;pointer-events:auto}
.vacse-slide__card.has-card{background:rgba(6,28,66,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:26px;box-shadow:var(--vacse-shadow)}
.vacse-eyebrow{margin:0 0 12px;color:var(--vacse-orange);text-transform:uppercase;font-weight:900;letter-spacing:.08em;font-size:14px}
.vacse-slide h1{margin:0;font-size:var(--vacse-hero-title,56px);line-height:.98;font-weight:900;letter-spacing:-.04em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.22)}
.vacse-slide__subtitle{font-size:18px;line-height:1.45;color:#eef4ff;margin:14px 0 0}
.vacse-slide__buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.vacse-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:12px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.02em}
.vacse-btn--orange{background:var(--vacse-orange);color:var(--vacse-navy-dark)}
.vacse-btn--outline{color:#fff;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.06)}
.vacse-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:var(--vacse-arrow-size,46px)!important;height:var(--vacse-arrow-size,46px)!important;min-width:var(--vacse-arrow-size,46px)!important;max-width:var(--vacse-arrow-size,46px)!important;min-height:var(--vacse-arrow-size,46px)!important;max-height:var(--vacse-arrow-size,46px)!important;aspect-ratio:1/1!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.42)!important;background:var(--vacse-arrow-bg,rgba(6,28,66,.70))!important;color:transparent!important;font-size:0!important;line-height:0!important;cursor:pointer;display:grid!important;place-items:center!important;padding:0!important;margin:0!important;box-shadow:0 12px 30px rgba(6,28,66,.24);appearance:none!important;-webkit-appearance:none!important;text-indent:0!important;overflow:hidden!important}
.vacse-slider-arrow::before{content:"";display:block;width:calc(var(--vacse-arrow-icon,22px) * .48);height:calc(var(--vacse-arrow-icon,22px) * .48);border-top:3px solid var(--vacse-arrow-color,#fff);border-right:3px solid var(--vacse-arrow-color,#fff);position:absolute;left:50%;top:50%;transform-origin:center}
.vacse-slider-arrow.prev::before{transform:translate(-42%,-50%) rotate(225deg)}.vacse-slider-arrow.next::before{transform:translate(-58%,-50%) rotate(45deg)}
.vacse-slider-arrow.prev{left:var(--vacse-arrow-offset,22px)}.vacse-slider-arrow.next{right:var(--vacse-arrow-offset,22px)}
.vacse-slider-arrow:hover,.vacse-slider-arrow:focus{background:var(--vacse-orange);color:var(--vacse-navy-dark);outline:3px solid rgba(246,140,18,.22)}
.vacse-slider-dots{position:absolute;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.vacse-slider-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.75);cursor:pointer;padding:0}
.vacse-slider-dots button.is-active{background:var(--vacse-orange);width:26px;border-radius:999px}

/* SECTION 04: Announcement Bar */
.vacse-announcement{margin-top:-1px;background:#fff;padding:18px 0}
.vacse-announcement__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:var(--vacse-navy);color:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 15px 35px rgba(6,28,66,.15)}
.vacse-announcement strong{text-transform:uppercase;letter-spacing:.03em}
.vacse-announcement a{background:var(--vacse-orange);color:var(--vacse-navy-dark);font-weight:900;border-radius:10px;padding:10px 14px;white-space:nowrap}

/* SECTION 05: Quick Links */
.vacse-quicklinks{padding:22px 0 34px;background:#fff}
.vacse-quicklinks h2,.vacse-why h2{margin:0 0 20px;text-align:center;color:var(--vacse-navy);font-size:30px}
.vacse-quicklinks__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.vacse-quick-card{min-height:118px;border:1px solid var(--vacse-border);border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--vacse-navy);font-weight:900;box-shadow:0 8px 24px rgba(6,28,66,.06);text-align:center}
.vacse-quick-card span{width:42px;height:42px;display:grid;place-items:center;color:var(--vacse-navy);font-size:34px}
.vacse-quick-card span svg{width:38px;height:38px}
.vacse-quick-card:hover{transform:translateY(-3px);border-color:var(--vacse-orange)}

/* SECTION 06: Full-width Responsive Welcome */
.vacse-welcome{padding:48px 0;background:linear-gradient(180deg,#fff,var(--vacse-bg))}
.vacse-welcome__grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(360px,1fr);gap:32px;align-items:stretch}
.vacse-welcome__media{min-height:360px;height:100%;border-radius:24px;overflow:hidden;background:#dfe7f2;box-shadow:var(--vacse-shadow);position:relative;z-index:1;display:block!important}
.vacse-welcome__media img{width:100%!important;height:100%!important;min-height:360px!important;object-fit:cover!important;display:block!important;opacity:1!important;visibility:visible!important;position:relative!important;z-index:2}
.vacse-media-placeholder{height:100%;min-height:360px;display:grid;place-items:center;background:linear-gradient(135deg,var(--vacse-navy),var(--vacse-blue));color:#fff;font-size:52px;font-weight:900;letter-spacing:.1em}
.vacse-welcome__text{background:#fff;border:1px solid var(--vacse-border);border-radius:24px;padding:42px;box-shadow:0 15px 40px rgba(6,28,66,.08);display:flex;flex-direction:column;justify-content:center}
.vacse-welcome__text h2{margin:0 0 12px;color:var(--vacse-navy);font-size:42px;line-height:1}
.vacse-welcome__text h2:after{content:"";display:block;width:78px;height:5px;background:var(--vacse-orange);border-radius:99px;margin-top:14px}
.vacse-welcome__text p{font-size:18px;line-height:1.75;color:var(--vacse-text)}
.vacse-welcome__text a{align-self:flex-start;background:var(--vacse-navy);color:#fff;border-radius:12px;padding:14px 18px;font-weight:900}

/* SECTION 07: Why Choose */
.vacse-why{padding:34px 0 56px;background:#fff}
.vacse-why__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.vacse-why-card{background:#fff;border:1px solid var(--vacse-border);border-radius:18px;text-align:center;padding:24px 18px;box-shadow:0 10px 25px rgba(6,28,66,.06)}
.vacse-why-card span{width:58px;height:58px;border-radius:50%;background:#fff4e6;color:var(--vacse-orange);display:grid;place-items:center;margin:0 auto 14px}
.vacse-why-card span svg{width:34px;height:34px}
.vacse-why-card h3{margin:0 0 8px;color:var(--vacse-navy);font-size:17px}
.vacse-why-card p{margin:0;color:var(--vacse-muted);font-size:14px;line-height:1.45}

/* SECTION 08: Admissions CTA */
.vacse-admissions{background:linear-gradient(135deg,var(--vacse-navy-dark),var(--vacse-navy));color:#fff;padding:42px 0}
.vacse-admissions__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.vacse-admissions h2{margin:0 0 8px;font-size:34px}
.vacse-admissions p{margin:0;color:#dce8ff;font-size:18px}
.vacse-admissions__buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* SECTION 09: News and Events */
.vacse-news-events{padding:48px 0 22px;background:var(--vacse-bg)}
.vacse-news-events__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vacse-panel{background:#fff;border:1px solid var(--vacse-border);border-radius:22px;box-shadow:0 16px 42px rgba(6,28,66,.08);padding:24px}
.vacse-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.vacse-panel__head h2{margin:0;color:var(--vacse-navy);font-size:28px}
.vacse-panel__head a{color:var(--vacse-blue);font-weight:900;font-size:13px;text-transform:uppercase}
.vacse-news-item{display:grid;grid-template-columns:84px 1fr;grid-template-rows:auto auto;gap:6px 14px;color:var(--vacse-text);padding:13px 0;border-top:1px solid var(--vacse-border)}
.vacse-news-item .thumb{grid-row:span 2;width:84px;height:64px;border-radius:12px;background:linear-gradient(135deg,#d9e7fa,#fdf5e8)}
.vacse-news-item b{font-size:16px}.vacse-news-item small{color:var(--vacse-muted)}
.vacse-event-item{display:flex;gap:14px;align-items:center;color:var(--vacse-text);padding:13px 0;border-top:1px solid var(--vacse-border)}
.vacse-event-item .date{width:68px;min-width:68px;height:74px;border-radius:14px;background:var(--vacse-navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.vacse-event-item .date b{font-size:13px;color:#cfe0ff}.vacse-event-item .date strong{font-size:28px;line-height:1}
.vacse-event-item span:last-child{display:flex;flex-direction:column;gap:4px}.vacse-event-item small{color:var(--vacse-muted)}

/* SECTION 10: Facebook Feed */
.vacse-facebook{padding:22px 0 56px;background:var(--vacse-bg)}
.vacse-facebook__panel{min-height:240px}
.vacse-facebook-samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.vacse-facebook-samples article{border:1px solid var(--vacse-border);border-radius:18px;background:#f8fbff;padding:18px}
.vacse-facebook-samples b{display:block;color:var(--vacse-navy);margin-bottom:4px}.vacse-facebook-samples small{color:var(--vacse-muted)}.vacse-facebook-samples p{line-height:1.6}

/* SECTION 11: Footer */
.vacse-footer{background:var(--vacse-navy-dark);color:#dce8ff;padding:48px 0 0}
.vacse-footer__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.25fr;gap:34px}
.vacse-footer img{width:220px;max-height:90px;object-fit:contain;margin-bottom:18px}
.vacse-footer h3{margin:0 0 14px;color:#fff}
.vacse-footer p{line-height:1.7}.vacse-footer a{display:block;color:#dce8ff;margin:8px 0}
.vacse-footer .vacse-btn{display:inline-flex;color:var(--vacse-navy-dark)}
.vacse-footer-social{display:flex;gap:10px}.vacse-footer-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.vacse-footer__bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding:18px 0;color:#b8c9e6;font-size:14px}

/* SECTION 12: Responsive */
@media(max-width:1280px){
  .vacse-header__inner{gap:6px;grid-template-columns:auto minmax(0,1fr) auto auto}.vacse-logo img{width:min(var(--vacse-logo-w,185px),170px)}.vacse-nav>li>a{font-size:11px;padding:11px 5px}.vacse-search{width:135px;min-width:125px}.vacse-app-btn span{display:none}.vacse-app-btn{padding:7px}.vacse-apply-btn{padding:7px 9px}.vacse-quicklinks__grid{grid-template-columns:repeat(4,1fr)}.vacse-why__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1100px){
  .vacse-desktop-nav,.vacse-search,.vacse-header-actions{display:none}
  .vacse-mobile-search-toggle,.vacse-mobile-toggle{display:inline-flex;justify-self:end}
  .vacse-header__inner{grid-template-columns:auto 1fr auto auto;min-height:82px}
  .vacse-logo img{width:var(--vacse-logo-w-tablet,190px)}
  .vacse-mobile-panel.is-open{display:block}
  .vacse-hero{height:var(--vacse-hero-h-tablet,500px)}
  .vacse-slide h1{font-size:44px}
  .vacse-slide__card.has-card{max-width:560px;padding:28px}
  .vacse-welcome__grid{grid-template-columns:1fr}
  .vacse-admissions__inner{align-items:flex-start;flex-direction:column}
  .vacse-admissions__buttons{justify-content:flex-start}
  .vacse-footer__grid{grid-template-columns:1fr 1fr}
  .admin-bar .vacse-site.has-sticky-header .vacse-header{top:46px}
}
@media(max-width:782px){
  .admin-bar .vacse-site.has-sticky-header .vacse-header{top:46px!important}.admin-bar .vacse-header--fixed{top:46px!important}
}
@media(max-width:700px){
  .vacse-container{width:min(100% - 28px,1440px)}.vacse-topbar__inner{flex-direction:column;align-items:flex-start;padding:9px 0}.vacse-topbar__left{display:grid;gap:7px;width:100%}.vacse-topbar__right{align-self:flex-end}.vacse-logo img{width:var(--vacse-logo-w-mobile,155px)}.vacse-header__inner{min-height:74px}.vacse-mobile-actions{grid-template-columns:1fr}.vacse-hero{height:var(--vacse-hero-h-mobile,430px)}.vacse-slide__bg{background-size:contain;background-repeat:no-repeat;background-position:center top;background-color:var(--vacse-navy-dark)}.vacse-slide__shade{background:linear-gradient(0deg,rgba(6,28,66,.66),rgba(6,28,66,.08) 58%,rgba(6,28,66,0))}.vacse-slide__content{align-items:flex-end;padding-bottom:52px}.vacse-slide__card{max-width:min(76%,340px);margin-inline:auto}.vacse-slide__card.has-card{padding:8px 10px;border-radius:14px;background:rgba(6,28,66,.54);box-shadow:0 10px 26px rgba(6,28,66,.18)}.vacse-eyebrow{font-size:8px;margin-bottom:4px;letter-spacing:.05em}.vacse-slide h1{font-size:var(--vacse-hero-title-mobile,18px);line-height:1.04;letter-spacing:-.02em}.vacse-slide__subtitle{font-size:10px;line-height:1.22;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vacse-slide__buttons{gap:6px;margin-top:7px}.vacse-hero .vacse-btn{min-height:28px;padding:6px 8px;font-size:8.5px;border-radius:8px}.vacse-slider-arrow{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important}.vacse-slider-arrow::before{width:9px;height:9px;border-width:2px}.vacse-slider-arrow.prev{left:8px}.vacse-slider-arrow.next{right:8px}.vacse-announcement__inner{grid-template-columns:1fr;padding:16px}.vacse-quicklinks h2,.vacse-why h2{font-size:24px}.vacse-quicklinks__grid{grid-template-columns:repeat(2,1fr)}.vacse-welcome{padding:34px 0}.vacse-welcome__media,.vacse-media-placeholder{min-height:240px}.vacse-welcome__text{padding:24px}.vacse-welcome__text h2{font-size:32px}.vacse-welcome__text p{font-size:16px}.vacse-why__grid{grid-template-columns:1fr}.vacse-news-events__grid{grid-template-columns:1fr}.vacse-panel{padding:18px;border-radius:18px}.vacse-panel__head h2{font-size:23px}.vacse-admissions h2{font-size:28px}.vacse-admissions__buttons .vacse-btn{width:100%}.vacse-footer__grid{grid-template-columns:1fr}.vacse-footer{padding-top:34px}
}

/* SECTION 14: Sticky/mobile patch */
.elementor-widget-container:has(.vacse-site),.elementor-shortcode:has(.vacse-site){overflow:visible!important}
.vacse-site.has-sticky-header{overflow-x:clip;overflow-y:visible!important}


/* SECTION 99: v1.3 sticky/header/slider correction patch */
.vacse-site.has-sticky-header{overflow:visible!important}
.vacse-site.has-sticky-header .vacse-header{will-change:transform}
.vacse-header-spacer.is-active{display:block!important;height:var(--vacse-fixed-header-height,88px)!important}
.vacse-header--fixed{box-shadow:0 12px 30px rgba(6,28,66,.16)!important}
.vacse-slider-arrow svg,.vacse-slider-arrow span{display:none!important}
@media(max-width:480px){
  .vacse-slide__card{max-width:min(70%,300px)}
  .vacse-slide__card.has-card{padding:7px 9px;border-radius:12px}
  .vacse-slide h1{font-size:clamp(15px,var(--vacse-hero-title-mobile,18px),18px)}
  .vacse-slide__subtitle{font-size:9px;-webkit-line-clamp:2}
  .vacse-eyebrow{font-size:7.5px}
  .vacse-slide__buttons{margin-top:5px}
  .vacse-hero .vacse-btn{min-height:25px;padding:5px 7px;font-size:7.5px}
}


/* SECTION 02B: Guaranteed Sticky Header Fix v1.4
   This version uses a fixed viewport header when Sticky Navigation is enabled.
   It is more reliable inside WordPress themes, Elementor, and page-builder wrappers
   because it does not depend on CSS position: sticky. */
.vacse-site.has-sticky-header .vacse-header{
  position:fixed!important;
  top:var(--vacse-admin-offset, 0px)!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  max-width:100vw!important;
  z-index:2147483000!important;
  transform:none!important;
  margin:0!important;
}
.vacse-site.has-sticky-header .vacse-header-spacer{
  display:block!important;
  height:var(--vacse-fixed-header-height, 88px)!important;
}
.vacse-site.has-sticky-header .vacse-mobile-panel{
  position:fixed!important;
  top:calc(var(--vacse-admin-offset, 0px) + var(--vacse-fixed-header-height, 88px))!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  max-height:calc(100vh - var(--vacse-admin-offset, 0px) - var(--vacse-fixed-header-height, 88px))!important;
  overflow:auto!important;
  z-index:2147482999!important;
}
@media (max-width: 782px){
  .admin-bar .vacse-site.has-sticky-header .vacse-header{
    top:46px!important;
  }
}


/* SECTION 99: v1.6 hard fix — sticky clone, arrows, mobile slider text */
/* Do NOT move or fix the original header. A cloned compact header is fixed to the browser window instead.
   This prevents the large blank gap that Elementor/theme wrappers can create. */
.vacse-site.has-sticky-header .vacse-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  transform:none!important;
}
.vacse-header-spacer{display:none!important;height:0!important}
.vacse-sticky-clone{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  z-index:2147483640!important;
  transform:translateY(-110%)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:transform .22s ease, opacity .22s ease, visibility .22s ease!important;
  box-shadow:0 16px 34px rgba(6,28,66,.18)!important;
}
.admin-bar .vacse-sticky-clone{top:32px!important}
.vacse-sticky-clone.is-visible{
  transform:translateY(0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.vacse-sticky-clone .vacse-header__inner{
  min-height:74px!important;
}
.vacse-sticky-clone .vacse-logo img{
  max-height:58px!important;
}
.vacse-sticky-clone .vacse-mobile-panel{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:var(--vacse-sticky-clone-height,74px)!important;
  max-height:calc(100vh - var(--vacse-sticky-clone-height,74px))!important;
  overflow:auto!important;
}
.admin-bar .vacse-sticky-clone .vacse-mobile-panel{
  top:calc(var(--vacse-sticky-clone-height,74px) + 32px)!important;
  max-height:calc(100vh - var(--vacse-sticky-clone-height,74px) - 32px)!important;
}
.vacse-sticky-clone .vacse-dropdown{
  z-index:2147483641!important;
}

/* True circle slider arrows. This overrides theme button styles that may stretch arrows into pills. */
.vacse-slider-arrow,
.vacse-site button.vacse-slider-arrow,
button.vacse-slider-arrow{
  inline-size:var(--vacse-arrow-size,46px)!important;
  block-size:var(--vacse-arrow-size,46px)!important;
  width:var(--vacse-arrow-size,46px)!important;
  height:var(--vacse-arrow-size,46px)!important;
  min-width:var(--vacse-arrow-size,46px)!important;
  max-width:var(--vacse-arrow-size,46px)!important;
  min-height:var(--vacse-arrow-size,46px)!important;
  max-height:var(--vacse-arrow-size,46px)!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  line-height:1!important;
  font-size:0!important;
  color:transparent!important;
  text-indent:-9999px!important;
}
.vacse-slider-arrow::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:calc(var(--vacse-arrow-icon,22px) * .45)!important;
  height:calc(var(--vacse-arrow-icon,22px) * .45)!important;
  border-top:3px solid var(--vacse-arrow-color,#fff)!important;
  border-right:3px solid var(--vacse-arrow-color,#fff)!important;
  margin:0!important;
  padding:0!important;
}
.vacse-slider-arrow.prev::before{transform:translate(-38%,-50%) rotate(225deg)!important}
.vacse-slider-arrow.next::before{transform:translate(-62%,-50%) rotate(45deg)!important}

@media(max-width:782px){
  .admin-bar .vacse-sticky-clone{top:46px!important}
  .admin-bar .vacse-sticky-clone .vacse-mobile-panel{
    top:calc(var(--vacse-sticky-clone-height,74px) + 46px)!important;
    max-height:calc(100vh - var(--vacse-sticky-clone-height,74px) - 46px)!important;
  }
}
@media(max-width:700px){
  .vacse-slide__content{
    align-items:flex-end!important;
    justify-content:flex-start!important;
    padding-bottom:46px!important;
  }
  .vacse-slide__card{
    width:auto!important;
    max-width:min(62vw,260px)!important;
    margin-left:14px!important;
    margin-right:auto!important;
  }
  .vacse-slide__card.has-card{
    padding:8px 9px!important;
    border-radius:12px!important;
    background:rgba(6,28,66,.48)!important;
  }
  .vacse-eyebrow{font-size:7px!important;line-height:1.1!important;margin-bottom:3px!important}
  .vacse-slide h1{font-size:15px!important;line-height:1.05!important;letter-spacing:-.01em!important}
  .vacse-slide__subtitle{font-size:9px!important;line-height:1.2!important;margin-top:4px!important;-webkit-line-clamp:2!important}
  .vacse-slide__buttons{gap:5px!important;margin-top:6px!important}
  .vacse-hero .vacse-btn{min-height:24px!important;padding:5px 7px!important;font-size:7.5px!important;border-radius:7px!important}
  .vacse-slider-arrow,
  .vacse-site button.vacse-slider-arrow,
  button.vacse-slider-arrow{
    width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;min-height:30px!important;max-height:30px!important;
  }
  .vacse-slider-arrow::before{width:8px!important;height:8px!important;border-width:2px!important}
  .vacse-slider-arrow.prev{left:6px!important}
  .vacse-slider-arrow.next{right:6px!important}
}
@media(max-width:420px){
  .vacse-slide__card{max-width:58vw!important}
  .vacse-slide h1{font-size:14px!important}
  .vacse-slide__subtitle{font-size:8.5px!important}
}




/* SECTION 99: v1.8 Sticky Header, Clickable Mobile Menu, Slider Text/Arrow Final Fixes */
/* Do not use spacer. A cloned sticky header is appended to <body> only while scrolling. */
.vacse-site.has-sticky-header{overflow:visible!important}
.vacse-sticky-clone{
  position:fixed!important;
  top:var(--vacse-admin-offset,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  z-index:2147483600!important;
  transform:translateY(-120%)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:transform .18s ease, opacity .18s ease, visibility .18s ease!important;
}
.vacse-sticky-clone.is-visible{
  transform:translateY(0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.admin-bar .vacse-sticky-clone{top:32px!important}
.vacse-sticky-clone .vacse-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%!important;
  z-index:2147483601!important;
  box-shadow:0 12px 30px rgba(6,28,66,.22)!important;
}
.vacse-sticky-clone .vacse-mobile-panel{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:100%!important;
  z-index:2147483602!important;
  max-height:calc(100vh - var(--vacse-sticky-height,82px) - var(--vacse-admin-offset,0px))!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  pointer-events:auto!important;
}
.vacse-sticky-clone .vacse-mobile-panel.is-open{display:block!important}
.vacse-mobile-panel,
.vacse-mobile-panel *{
  pointer-events:auto!important;
}
.vacse-mobile-panel.is-open{
  position:relative!important;
  z-index:2147483000!important;
}

/* Keep old fixed classes harmless if a cache keeps them. */
.vacse-header-spacer{display:none!important;height:0!important;min-height:0!important;max-height:0!important}
.vacse-site.has-sticky-header .vacse-header.is-vacse-fixed{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%!important;
}

/* Bulletproof circular slider arrows. Uses inner span so the icon cannot drift. */
.vacse-site .vacse-hero .vacse-slider-arrow,
.vacse-site .vacse-hero button.vacse-slider-arrow{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:50!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--vacse-arrow-size,46px)!important;
  height:var(--vacse-arrow-size,46px)!important;
  min-width:var(--vacse-arrow-size,46px)!important;
  min-height:var(--vacse-arrow-size,46px)!important;
  max-width:var(--vacse-arrow-size,46px)!important;
  max-height:var(--vacse-arrow-size,46px)!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:var(--vacse-arrow-bg,rgba(6,28,66,.70))!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.vacse-slider-arrow::before{display:none!important;content:none!important}
.vacse-slider-arrow span{
  width:calc(var(--vacse-arrow-icon,22px) * .48)!important;
  height:calc(var(--vacse-arrow-icon,22px) * .48)!important;
  border-top:3px solid var(--vacse-arrow-color,#fff)!important;
  border-right:3px solid var(--vacse-arrow-color,#fff)!important;
  display:block!important;
  position:relative!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
}
.vacse-slider-arrow.prev span{transform:translateX(2px) rotate(225deg)!important}
.vacse-slider-arrow.next span{transform:translateX(-2px) rotate(45deg)!important}

/* More responsive slider text card. Text scales with the box instead of looking tiny inside it. */
@media(max-width:700px){
  .vacse-slide__content{
    align-items:flex-end!important;
    justify-content:flex-start!important;
    padding-bottom:44px!important;
  }
  .vacse-slide__card{
    width:min(var(--vacse-hero-card-mobile-w,68vw), 360px)!important;
    max-width:min(var(--vacse-hero-card-mobile-w,68vw), 360px)!important;
    margin-left:14px!important;
    margin-right:auto!important;
  }
  .vacse-slide__card.has-card{
    padding:var(--vacse-hero-card-mobile-pad,12px)!important;
    border-radius:14px!important;
    background:rgba(6,28,66,.58)!important;
    backdrop-filter:blur(7px)!important;
  }
  .vacse-eyebrow{
    font-size:clamp(8px,2vw,11px)!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
  }
  .vacse-slide h1{
    font-size:clamp(16px, calc(var(--vacse-hero-title-mobile,18px) + 1vw), 25px)!important;
    line-height:1.05!important;
    letter-spacing:-.02em!important;
  }
  .vacse-slide__subtitle{
    font-size:var(--vacse-hero-subtitle-mobile,10px)!important;
    line-height:1.25!important;
    margin-top:6px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .vacse-slide__buttons{
    gap:6px!important;
    margin-top:8px!important;
  }
  .vacse-hero .vacse-btn{
    min-height:28px!important;
    padding:6px 9px!important;
    font-size:8.5px!important;
    border-radius:8px!important;
  }
  .vacse-site .vacse-hero .vacse-slider-arrow,
  .vacse-site .vacse-hero button.vacse-slider-arrow{
    width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;min-height:32px!important;max-height:32px!important;
  }
  .vacse-slider-arrow span{width:8px!important;height:8px!important;border-width:2px!important}
  .vacse-slider-arrow.prev{left:8px!important}
  .vacse-slider-arrow.next{right:8px!important}
}
@media(max-width:420px){
  .vacse-slide__card{width:min(var(--vacse-hero-card-mobile-w,66vw), 280px)!important;max-width:min(var(--vacse-hero-card-mobile-w,66vw), 280px)!important}
  .vacse-slide h1{font-size:clamp(14px, var(--vacse-hero-title-mobile,18px), 20px)!important}
}
@media(max-width:782px){
  .admin-bar .vacse-sticky-clone{top:46px!important}
}


/* SECTION 100: v1.9 FINAL PATCH — Clickable Mobile Sticky Menu + Responsive Slider Text Card */
/* Keep sticky clone above every theme/Elementor layer. */
.vacse-sticky-clone,
.vacse-sticky-clone.is-visible,
.vacse-sticky-clone .vacse-header,
.vacse-sticky-clone .vacse-mobile-panel{
  z-index:2147483600!important;
}
.vacse-sticky-clone.is-visible,
.vacse-sticky-clone.is-visible *{
  pointer-events:auto!important;
}

/* Mobile menu panel is fixed to the screen when opened.
   This prevents Elementor wrappers, slider overlays, or parent overflow from blocking clicks. */
@media(max-width:1100px){
  .vacse-header .vacse-mobile-panel.is-open,
  .vacse-sticky-clone .vacse-mobile-panel.is-open{
    display:block!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:var(--vacse-mobile-menu-top,82px)!important;
    width:100%!important;
    max-width:none!important;
    max-height:calc(100vh - var(--vacse-mobile-menu-top,82px))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
    background:#fff!important;
    box-shadow:0 20px 40px rgba(6,28,66,.24)!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .vacse-header .vacse-mobile-panel.is-open *,
  .vacse-sticky-clone .vacse-mobile-panel.is-open *{
    pointer-events:auto!important;
  }
  .vacse-mobile-nav a,
  .vacse-mobile-actions a,
  .vacse-mobile-search input,
  .vacse-mobile-search button{
    position:relative!important;
    z-index:2147483647!important;
  }
  .vacse-mobile-nav .has-dropdown.is-open > .vacse-dropdown{
    display:block!important;
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
    width:100%!important;
    max-width:none!important;
    box-shadow:none!important;
    border-radius:12px!important;
    margin:6px 0 0!important;
    background:#f6f8fb!important;
  }
}

/* Make the mobile slider text card readable and proportional.
   It uses the dashboard controls but prevents tiny text/boxes on phones. */
@media(max-width:700px){
  .vacse-hero{
    min-height:var(--vacse-hero-h-mobile,430px)!important;
  }
  .vacse-slide__content{
    align-items:flex-end!important;
    justify-content:flex-start!important;
    padding:0 14px 42px!important;
    box-sizing:border-box!important;
  }
  .vacse-slide__card{
    box-sizing:border-box!important;
    width:min(max(var(--vacse-hero-card-mobile-w,84vw),78vw), 410px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:0 auto 0 0!important;
  }
  .vacse-slide__card.has-card{
    padding:max(var(--vacse-hero-card-mobile-pad,16px),14px)!important;
    border-radius:16px!important;
    background:rgba(6,28,66,.62)!important;
    backdrop-filter:blur(8px)!important;
  }
  .vacse-eyebrow{
    font-size:clamp(9px,2.6vw,12px)!important;
    line-height:1.15!important;
    margin:0 0 6px!important;
  }
  .vacse-slide h1{
    font-size:clamp(21px,6vw,30px)!important;
    line-height:1.05!important;
    letter-spacing:-.02em!important;
    margin:0!important;
    max-width:100%!important;
  }
  .vacse-slide__subtitle{
    font-size:clamp(12px,3.4vw,15px)!important;
    line-height:1.32!important;
    margin:8px 0 0!important;
    max-width:100%!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .vacse-slide__buttons{
    gap:7px!important;
    margin-top:10px!important;
    flex-wrap:wrap!important;
  }
  .vacse-hero .vacse-btn{
    min-height:32px!important;
    padding:7px 10px!important;
    font-size:10px!important;
    border-radius:10px!important;
    line-height:1.1!important;
  }
}
@media(max-width:420px){
  .vacse-slide__card{
    width:calc(100vw - 34px)!important;
    max-width:calc(100vw - 34px)!important;
  }
  .vacse-slide__card.has-card{
    padding:13px!important;
  }
  .vacse-slide h1{
    font-size:clamp(19px,6.2vw,25px)!important;
  }
  .vacse-slide__subtitle{
    font-size:clamp(11px,3.5vw,13px)!important;
    -webkit-line-clamp:2!important;
  }
}

/* Arrow alignment kept stable in this build. */
.vacse-site .vacse-hero .vacse-slider-arrow,
.vacse-site .vacse-hero button.vacse-slider-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  padding:0!important;
  line-height:1!important;
}
.vacse-site .vacse-hero .vacse-slider-arrow span{
  position:relative!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  display:block!important;
}

/* SECTION 100: v2.0 Mobile Sticky Dropdown Final Fix
   Forces mobile dropdowns to behave like an accordion in both the original
   header and the sticky cloned header. This overrides theme/Elementor styles. */
@media (max-width: 1024px){
  .vacse-mobile-panel.is-open{
    display:block!important;
    pointer-events:auto!important;
  }

  .vacse-mobile-nav .vacse-nav{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .vacse-mobile-nav .vacse-nav > li{
    display:block!important;
    width:100%!important;
    position:relative!important;
    margin:0 0 6px!important;
  }

  .vacse-mobile-nav .vacse-nav > li > a{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:13px 14px!important;
    border-radius:12px!important;
    background:#f6f8fb!important;
    color:var(--vacse-navy)!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-decoration:none!important;
    pointer-events:auto!important;
  }

  .vacse-mobile-nav .vacse-nav > li.has-dropdown > a .vacse-caret{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    border-radius:999px!important;
    background:rgba(9,42,95,.08)!important;
    transition:transform .18s ease!important;
    flex:0 0 auto!important;
  }

  .vacse-mobile-nav .vacse-nav > li.has-dropdown.is-open > a{
    background:var(--vacse-navy)!important;
    color:#fff!important;
  }

  .vacse-mobile-nav .vacse-nav > li.has-dropdown.is-open > a .vacse-caret{
    transform:rotate(180deg)!important;
    background:var(--vacse-orange)!important;
    color:var(--vacse-navy-dark)!important;
  }

  .vacse-mobile-nav .vacse-nav > li > .vacse-dropdown,
  .vacse-mobile-nav .vacse-nav > li > .sub-menu{
    display:none!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    margin:6px 0 0!important;
    padding:8px!important;
    list-style:none!important;
    background:#eef4fb!important;
    border:0!important;
    border-left:4px solid var(--vacse-orange)!important;
    border-radius:12px!important;
    box-shadow:none!important;
    z-index:auto!important;
  }

  .vacse-mobile-nav .vacse-nav > li.has-dropdown.is-open > .vacse-dropdown,
  .vacse-mobile-nav .vacse-nav > li.menu-item-has-children.is-open > .sub-menu{
    display:block!important;
  }

  .vacse-mobile-nav .vacse-dropdown li,
  .vacse-mobile-nav .sub-menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }

  .vacse-mobile-nav .vacse-dropdown a,
  .vacse-mobile-nav .sub-menu a{
    display:block!important;
    width:100%!important;
    padding:11px 12px!important;
    border-radius:10px!important;
    color:var(--vacse-text)!important;
    background:transparent!important;
    font-weight:800!important;
    text-transform:none!important;
    text-decoration:none!important;
    pointer-events:auto!important;
  }

  .vacse-mobile-nav .vacse-dropdown a:hover,
  .vacse-mobile-nav .sub-menu a:hover{
    background:#fff!important;
    color:var(--vacse-navy)!important;
  }

  .vacse-sticky-clone.is-visible,
  .vacse-sticky-clone.is-visible *,
  .vacse-sticky-clone .vacse-mobile-panel.is-open,
  .vacse-sticky-clone .vacse-mobile-panel.is-open *{
    pointer-events:auto!important;
  }

  .vacse-sticky-clone .vacse-mobile-panel.is-open{
    z-index:2147483647!important;
  }
}


/* SECTION 99: WordPress menu mode compatibility */
.vacse-nav .menu-item,
.vacse-nav .vacse-nav__item{list-style:none;}
.vacse-nav .menu-item-has-children{position:relative;}
.vacse-nav .menu-item-has-children > .sub-menu,
.vacse-nav .has-dropdown > .vacse-dropdown{
  top:calc(100% + var(--vacse-dropdown-offset,0px));
}
.vacse-nav .menu-item-has-children:hover > .sub-menu,
.vacse-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
.vacse-mobile-nav .menu-item-has-children > .sub-menu{
  display:none!important;
}
.vacse-mobile-nav .menu-item-has-children.is-open > .sub-menu{
  display:block!important;
  position:static!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  box-shadow:none!important;
  border-radius:12px!important;
  margin:6px 0 0!important;
  background:#f6f8fb!important;
}
.vacse-mobile-nav .menu-item-has-children > a::after{
  content:"▾";
  margin-left:auto;
}


/* SECTION 02B: v2.8 Search Direct Fix */
.vacse-search,
.vacse-search *{
  pointer-events:auto!important;
}
.vacse-search-results{
  opacity:1!important;
  visibility:visible;
  transform:none!important;
}
.vacse-search-results:not(.is-open){
  visibility:hidden!important;
  pointer-events:none!important;
}
.vacse-search-results.is-open{
  visibility:visible!important;
  pointer-events:auto!important;
}
.vacse-search-result,
.vacse-search-view-all a{
  position:relative;
  z-index:2147483647;
}

/* SECTION 101: v3.0 Mobile Search Overlay Final Fix
   Search is no longer inside the mobile menu. It opens as its own overlay so
   results never appear behind the menu and remain clickable. */
@media(max-width:1100px){
  .vacse-mobile-panel .vacse-mobile-search{display:none!important}
  .vacse-mobile-search-overlay.is-open{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .vacse-mobile-search-overlay.is-open *{pointer-events:auto!important}
  .vacse-mobile-search-overlay .vacse-search-results.is-open{
    display:block!important;
    position:absolute!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .vacse-mobile-search-overlay .vacse-search-result,
  .vacse-mobile-search-overlay .vacse-search-view-all a{
    pointer-events:auto!important;
    cursor:pointer!important;
  }
}
@media(max-width:700px){
  .vacse-header__inner{
    grid-template-columns:auto 1fr auto auto!important;
    gap:8px!important;
    min-height:74px!important;
  }
  .vacse-mobile-search-toggle,
  .vacse-mobile-toggle{
    padding:8px 10px!important;
    min-height:42px!important;
  }
  .vacse-mobile-search-toggle b,
  .vacse-mobile-toggle b{display:none!important}
  .vacse-mobile-search-icon{width:21px;height:21px;border-width:3px}
  .vacse-logo img{width:var(--vacse-logo-w-mobile,155px)!important}
  .vacse-mobile-search-dialog{
    width:calc(100vw - 24px)!important;
    margin:calc(var(--vacse-mobile-menu-top,74px) + 10px) 12px 0!important;
    padding:14px!important;
    border-radius:18px!important;
  }
  .vacse-mobile-search-head strong{font-size:18px!important}
  .vacse-mobile-search-form{
    flex-direction:column!important;
    gap:8px!important;
  }
  .vacse-mobile-search-form button[type="submit"]{
    min-height:42px!important;
  }
  .vacse-mobile-search-form .vacse-search-results{
    position:static!important;
    width:100%!important;
    max-height:50vh!important;
    margin-top:8px!important;
  }
}


/* SECTION 102: v3.1 Mobile Dropdown Link Click Fix */
@media(max-width:1100px){
  .vacse-mobile-nav .vacse-dropdown,
  .vacse-mobile-nav .sub-menu{
    position:relative!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
  }
  .vacse-mobile-nav .vacse-dropdown a[href],
  .vacse-mobile-nav .sub-menu a[href]{
    position:relative!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }
  .vacse-mobile-nav .vacse-nav > li.has-dropdown > a,
  .vacse-mobile-nav .vacse-nav > li.menu-item-has-children > a{
    cursor:pointer!important;
  }
}


/* Header/Footer shortcode wrapper fixes */
.vacse-subpage-site{position:relative;z-index:20;margin:0!important;padding:0!important}.vacse-subpage-site .vacse-header{z-index:999999}.vacse-subpage-site .vacse-dropdown,.vacse-subpage-site .sub-menu{z-index:1000000!important}.vacse-subpage-preview-content{font-family:var(--vacse-font, Inter, Arial, sans-serif)}


/* =========================================================
   v2.3 SUBMENU CLICK / FLICKER FIX
   Fixes small boxes appearing/disappearing when clicking submenu links.
   Desktop dropdowns now rely on hover only; mobile dropdowns use click accordion only.
   ========================================================= */
.vacse-site .vacse-dropdown,
.vacse-sticky-clone .vacse-dropdown,
.vacse-site .sub-menu,
.vacse-sticky-clone .sub-menu{
  pointer-events:none!important;
}

@media (min-width: 981px){
  .vacse-site .vacse-nav > li > .vacse-dropdown,
  .vacse-sticky-clone .vacse-nav > li > .vacse-dropdown,
  .vacse-site .vacse-nav > li > .sub-menu,
  .vacse-sticky-clone .vacse-nav > li > .sub-menu{
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(4px)!important;
    transition:opacity .12s ease, transform .12s ease, visibility .12s ease!important;
    z-index:2147483600!important;
  }

  .vacse-site .vacse-nav > li:hover > .vacse-dropdown,
  .vacse-sticky-clone .vacse-nav > li:hover > .vacse-dropdown,
  .vacse-site .vacse-nav > li:hover > .sub-menu,
  .vacse-sticky-clone .vacse-nav > li:hover > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  /* Do not keep dropdowns open just because a link receives focus after a click.
     This prevents the temporary floating/flickering boxes. */
  .vacse-site .vacse-nav > li:focus-within > .vacse-dropdown,
  .vacse-sticky-clone .vacse-nav > li:focus-within > .vacse-dropdown,
  .vacse-site .vacse-nav > li:focus-within > .sub-menu,
  .vacse-sticky-clone .vacse-nav > li:focus-within > .sub-menu{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(4px)!important;
  }

  .vacse-site .vacse-nav > li:hover:focus-within > .vacse-dropdown,
  .vacse-sticky-clone .vacse-nav > li:hover:focus-within > .vacse-dropdown,
  .vacse-site .vacse-nav > li:hover:focus-within > .sub-menu,
  .vacse-sticky-clone .vacse-nav > li:hover:focus-within > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .vacse-site .vacse-nav a:focus,
  .vacse-sticky-clone .vacse-nav a:focus{
    outline:none!important;
    box-shadow:none!important;
  }

  .vacse-site .vacse-nav a:focus-visible,
  .vacse-sticky-clone .vacse-nav a:focus-visible{
    outline:3px solid rgba(242,140,24,.55)!important;
    outline-offset:3px!important;
    border-radius:10px!important;
  }
}

@media (max-width: 980px){
  .vacse-site .vacse-mobile-nav .vacse-dropdown,
  .vacse-sticky-clone .vacse-mobile-nav .vacse-dropdown,
  .vacse-site .vacse-mobile-nav .sub-menu,
  .vacse-sticky-clone .vacse-mobile-nav .sub-menu{
    pointer-events:auto!important;
  }

  .vacse-site .vacse-mobile-nav .has-dropdown.is-open > .vacse-dropdown,
  .vacse-sticky-clone .vacse-mobile-nav .has-dropdown.is-open > .vacse-dropdown,
  .vacse-site .vacse-mobile-nav .menu-item-has-children.is-open > .sub-menu,
  .vacse-sticky-clone .vacse-mobile-nav .menu-item-has-children.is-open > .sub-menu{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
}


/* SECTION 99B: Submenu Flicker + Menu Link Loading Overlay Fix */
.vacse-site .vacse-nav a,
.vacse-site .vacse-dropdown a,
.vacse-site .vacse-mobile-nav a {
  -webkit-tap-highlight-color: transparent;
}
.vacse-site .vacse-nav a:focus,
.vacse-site .vacse-dropdown a:focus,
.vacse-site .vacse-mobile-nav a:focus {
  outline: 2px solid rgba(246, 140, 18, .35);
  outline-offset: 3px;
  box-shadow: none !important;
}
.vacse-site .vacse-dropdown,
.vacse-site .sub-menu {
  z-index: 2147481000 !important;
  pointer-events: auto !important;
}
.vacse-link-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  background: var(--vacse-loader-bg, #ffffff) !important;
  color: var(--vacse-loader-text, #092a5f) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}
.vacse-link-loader.is-visible {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.vacse-link-loader__box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  text-align: center !important;
  padding: 28px !important;
}
.vacse-link-loader__logo {
  width: var(--vacse-loader-logo-w, 150px) !important;
  max-width: 72vw !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 24px rgba(6,28,66,.14));
}
.vacse-link-loader__text {
  font-weight: 900 !important;
  font-size: 15px !important;
  letter-spacing: .02em !important;
}
.vacse-link-loader__spinner {
  width: 34px !important;
  height: 34px !important;
  border: 4px solid rgba(9,42,95,.18) !important;
  border-top-color: var(--vacse-loader-spinner, #f68c12) !important;
  border-radius: 999px !important;
  animation: vacseLoaderSpin .8s linear infinite !important;
}

/* v2.6 link-loader fail-safe: never let click loader trap a page */
.vacse-link-loader.is-hiding {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* SECTION 200: v2.7 Subpage Sticky Header Failsafe
   Makes the real subpage header sticky directly, so pages created with Elementor
   HTML widgets do not depend on the cloned sticky header script. */
.vacse-subpage-site.has-subpage-sticky{
  overflow:visible!important;
  isolation:auto!important;
}
.vacse-subpage-site.has-subpage-sticky .vacse-header{
  position:sticky!important;
  position:-webkit-sticky!important;
  top:var(--vacse-admin-offset,0px)!important;
  z-index:2147483600!important;
  box-shadow:0 12px 30px rgba(6,28,66,.16)!important;
}
.admin-bar .vacse-subpage-site.has-subpage-sticky .vacse-header{
  top:32px!important;
}
@media(max-width:782px){
  .admin-bar .vacse-subpage-site.has-subpage-sticky .vacse-header{
    top:46px!important;
  }
}
/* The original header is now sticky on subpages, so hide JS-created clone only for subpage shortcode headers. */
body:has(.vacse-subpage-site.has-subpage-sticky) .vacse-sticky-clone{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* Keep dropdowns above Elementor page content while the original header is sticky. */
.vacse-subpage-site.has-subpage-sticky .vacse-dropdown,
.vacse-subpage-site.has-subpage-sticky .sub-menu,
.vacse-subpage-site.has-subpage-sticky .vacse-mobile-panel{
  z-index:2147483602!important;
}


/* SECTION 201: v2.8 Fixed Sticky Subpage Header
   Stronger than position: sticky. This keeps [vacse_subpage_header] visible on long Elementor pages. */
body.vacsehf-subpage-fixed-header-ready{
  padding-top:var(--vacsehf-subpage-fixed-height,150px)!important;
}
body.admin-bar.vacsehf-subpage-fixed-header-ready{
  padding-top:calc(var(--vacsehf-subpage-fixed-height,150px) + 32px)!important;
}
@media(max-width:782px){
  body.admin-bar.vacsehf-subpage-fixed-header-ready{
    padding-top:calc(var(--vacsehf-subpage-fixed-height,150px) + 46px)!important;
  }
}
body.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2147483600!important;
  overflow:visible!important;
  isolation:isolate!important;
  background:#fff!important;
  transform:none!important;
  will-change:auto!important;
}
body.admin-bar.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky{
  top:32px!important;
}
@media(max-width:782px){
  body.admin-bar.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky{
    top:46px!important;
  }
}
body.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky .vacse-header{
  position:relative!important;
  top:auto!important;
  z-index:2147483601!important;
}
body.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky .vacse-dropdown,
body.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky .sub-menu,
body.vacsehf-subpage-fixed-header-ready .vacse-subpage-site.has-subpage-sticky .vacse-mobile-panel{
  z-index:2147483602!important;
}
body.vacsehf-subpage-fixed-header-ready .vacse-sticky-clone{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* SECTION 00Z: v3.1 No Loader / No Flicker Safety
   All loader overlays are disabled. Header/footer must render without any page-covering overlay. */
.vacse-loader,
.vacse-link-loader,
.vacsehf-safe-load-overlay,
.vacsehf-js-nav-overlay,
#vacseLogoLoader,
.vacse-logo-loader,
.vacse-loader-overlay,
#vacse-loader-overlay {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.vacse-site.has-logo-loader .vacse-loader {
  display:none!important;
}


/* =========================================================
   v3.7 Desktop Sticky Header Fix
   Keeps the subpage header fixed at the top on desktop without any loader behavior.
   ========================================================= */
@media (min-width: 1025px) {
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky {
    position: fixed !important;
    top: var(--vacsehf-admin-offset, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
    background: #ffffff !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: 0 8px 24px rgba(8,42,95,.08) !important;
  }

  body.admin-bar:not(.elementor-editor-active) {
    --vacsehf-admin-offset: 32px;
  }

  body:not(.admin-bar):not(.elementor-editor-active) {
    --vacsehf-admin-offset: 0px;
  }

  body.vacsehf-desktop-sticky-ready:not(.elementor-editor-active) {
    padding-top: var(--vacsehf-sticky-height, 148px) !important;
  }

  body.vacsehf-desktop-sticky-ready:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky + * {
    margin-top: 0 !important;
  }
}

@media (max-width: 1024px) {
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  body.vacsehf-desktop-sticky-ready:not(.elementor-editor-active) {
    padding-top: 0 !important;
  }
}


/* =========================================================
   v3.8 Direct Navigation Sticky Fix
   Reason: Elementor/WordPress wrapper containers can break sticky/fixed behavior
   on the outer shortcode wrapper. This makes the real header/nav area sticky directly.
   ========================================================= */

/* Undo previous wrapper-fixed strategy */
body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  transform: none !important;
}

/* Desktop: make the actual navigation/header row sticky */
@media (min-width: 1025px) {
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-header,
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-nav-wrap,
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-main-header {
    position: sticky !important;
    top: var(--vacsehf-admin-offset, 0px) !important;
    z-index: 999999 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(8,42,95,.10) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.admin-bar:not(.elementor-editor-active) {
    --vacsehf-admin-offset: 32px;
  }

  body:not(.admin-bar):not(.elementor-editor-active) {
    --vacsehf-admin-offset: 0px;
  }

  /* Do not add body padding for sticky mode; sticky keeps natural space */
  body.vacsehf-desktop-sticky-ready:not(.elementor-editor-active) {
    padding-top: 0 !important;
  }
}

/* Mobile/tablet: keep normal flow */
@media (max-width: 1024px) {
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-header,
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-nav-wrap,
  body:not(.elementor-editor-active) .vacse-subpage-site.has-subpage-sticky .vacse-main-header {
    position: relative !important;
    top: auto !important;
  }

  body.vacsehf-desktop-sticky-ready:not(.elementor-editor-active) {
    padding-top: 0 !important;
  }
}
