/* Only styles the WP menu component inserted into the EXISTING header. */
.sjpc-wp-nav,.sjpc-wp-nav *{box-sizing:border-box}
.sjpc-wp-nav{--sjpc-menu-ink:#0a234f;--sjpc-menu-accent:#ff1971;position:relative;min-width:0;width:100%;z-index:9999;font-family:'Manrope','DM Sans',sans-serif!important;color:var(--sjpc-menu-ink)}
.sjpc-wp-nav a,.sjpc-wp-nav button,.sjpc-wp-nav .sub-menu,.sjpc-wp-nav .sub-menu *{font-family:'Manrope','DM Sans',sans-serif!important;font-weight:700!important;font-style:normal;letter-spacing:-.02em;text-transform:none}
.sjpc-wp-nav ul,.sjpc-wp-nav li{margin:0!important;padding:0!important;list-style:none!important}
.sjpc-wp-nav .sjpc-wp-menu-list{display:flex!important;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,30px);flex-wrap:nowrap;min-height:52px;width:100%}
.sjpc-wp-nav .sjpc-wp-menu-list>li{position:relative;display:flex;align-items:center;gap:2px;flex:0 0 auto}
.sjpc-wp-nav .sjpc-wp-menu-list li>a{display:inline-flex;align-items:center;justify-content:flex-start;min-height:42px;padding:8px 4px!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--sjpc-menu-ink)!important;font-size:clamp(13px,1.05vw,17px)!important;line-height:1.4!important;white-space:nowrap;text-decoration:none!important;box-shadow:none!important;transition:color .2s ease}
.sjpc-wp-nav li>a:hover,.sjpc-wp-nav li.current-menu-item>a,.sjpc-wp-nav li.current-menu-ancestor>a{color:var(--sjpc-menu-accent)!important}
.sjpc-wp-nav .sjpc-menu-chevron{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 30px;width:30px!important;height:34px!important;min-height:0!important;border:0!important;border-radius:50%!important;padding:0!important;margin:0!important;background:transparent!important;color:var(--sjpc-menu-ink)!important;cursor:pointer;box-shadow:none!important;line-height:1!important;font-size:13px!important}
.sjpc-wp-nav .sjpc-menu-chevron .fa{display:block;font-family:FontAwesome!important;font-style:normal!important;font-size:13px;line-height:1!important;transition:transform .28s cubic-bezier(.2,.8,.2,1);transform-origin:50% 50%}
.sjpc-wp-nav li.sjpc-open>.sjpc-menu-chevron .fa,.sjpc-wp-nav li:not(.sjpc-force-closed):hover>.sjpc-menu-chevron .fa{transform:rotate(180deg)}
.sjpc-wp-nav .sjpc-wp-menu-list .sub-menu{display:block!important;position:absolute;top:100%;left:0;min-width:230px;width:max-content;max-width:min(340px,calc(100vw - 36px));padding:11px!important;background:#fff!important;border:1px solid #e2e9f5!important;border-radius:18px!important;box-shadow:0 20px 45px rgba(10,35,79,.12)!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:10000}
.sjpc-wp-nav .sjpc-wp-menu-list .sub-menu li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0}
.sjpc-wp-nav .sjpc-wp-menu-list .sub-menu li>a{white-space:normal;width:100%;min-height:40px;border-radius:10px!important;padding:10px 12px!important;color:var(--sjpc-menu-ink)!important;font-size:14px!important;line-height:1.4!important;font-weight:600!important}
.sjpc-wp-nav .sjpc-wp-menu-list .sub-menu li>a:hover,.sjpc-wp-nav .sjpc-wp-menu-list .sub-menu li.current-menu-item>a{color:var(--sjpc-menu-accent)!important;background:#f7faff!important}
.sjpc-wp-nav li.sjpc-open>.sub-menu,.sjpc-wp-nav li:not(.sjpc-force-closed):hover>.sub-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.sjpc-wp-nav .sub-menu .sub-menu{left:100%;top:0}
.sjpc-wp-nav a:focus-visible,.sjpc-wp-nav button:focus-visible{outline:2px solid #0b84ff!important;outline-offset:3px}
.sjpc-wp-mobile-toggle{display:none!important}
.sjpc-menu-missing{font:600 13px 'Manrope','DM Sans',sans-serif;color:#a13c51;margin:0}
@media(max-width:1100px){
 .sjpc-wp-nav{display:flex;justify-content:flex-end}
 .sjpc-wp-nav .sjpc-wp-mobile-toggle{display:flex!important;align-items:center;justify-content:center;gap:8px;border:1px solid #dce7f5!important;border-radius:999px!important;background:#fff!important;color:var(--sjpc-menu-ink)!important;min-height:44px;padding:9px 14px!important;font:600 14px 'Manrope','DM Sans',sans-serif!important;cursor:pointer}
 .sjpc-wp-nav .sjpc-wp-mobile-toggle .fa{font-family:FontAwesome!important}
 .sjpc-wp-nav>.sjpc-wp-menu-list{display:none!important;position:absolute;right:0;top:calc(100% + 9px);width:min(340px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0!important;min-height:0;padding:14px!important;background:#fff;border:1px solid #e2e9f5;border-radius:20px;box-shadow:0 15px 35px #0a234f1f;z-index:10000}
 .sjpc-wp-nav.sjpc-mobile-open>.sjpc-wp-menu-list{display:flex!important}
 .sjpc-wp-nav .sjpc-wp-menu-list>li{width:100%;justify-content:space-between;flex-wrap:wrap}
 .sjpc-wp-nav .sjpc-wp-menu-list li>a{flex:1;min-width:0;font-size:15px!important;padding:10px!important}
 .sjpc-wp-nav .sjpc-wp-menu-list .sub-menu,.sjpc-wp-nav .sub-menu .sub-menu{position:static!important;width:100%;min-width:0;max-width:none;display:none!important;transform:none!important;box-shadow:none!important;border:0!important;border-left:2px solid #e2e9f5!important;border-radius:0!important;padding:4px 0 4px 11px!important;margin-left:11px!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
 .sjpc-wp-nav .sjpc-wp-menu-list li:hover>.sub-menu{display:none!important}
 .sjpc-wp-nav .sjpc-wp-menu-list li.sjpc-open>.sub-menu{display:block!important}
 .sjpc-wp-nav .sjpc-menu-chevron{flex:0 0 36px;width:36px!important;height:40px!important}
 .sjpc-wp-nav li:hover:not(.sjpc-open)>.sjpc-menu-chevron .fa{transform:rotate(0)}
}
@media(prefers-reduced-motion:reduce){.sjpc-wp-nav *{transition:none!important}}

/* Elementor flex/rounded wrappers can clip dropdowns despite their z-index.
   JS adds this class ONLY to ancestors of the SJP WordPress menu. */
.sjpc-nav-unclip{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;clip-path:none!important}
.elementor-location-header:has(.sjpc-wp-nav),header:has(.sjpc-wp-nav){overflow:visible!important;z-index:9999!important}
.sjpc-wp-nav .sjpc-wp-menu-list > li > a,
.sjpc-wp-nav .sjpc-wp-menu-list > li > .sjpc-menu-chevron{
  font-family:'Manrope','DM Sans',sans-serif!important;font-weight:700!important;
}
.sjpc-wp-nav .sjpc-wp-menu-list li > .sjpc-menu-chevron > .fa{
  font-family:FontAwesome!important;font-weight:normal!important;
}
/* Treat focus the same as hover so keyboard users can reach dropdown links. */
@media (min-width:1101px){
 .sjpc-wp-nav li:focus-within > .sub-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
 .sjpc-wp-nav .sjpc-wp-menu-list .sub-menu{z-index:10000!important}
}

/* v3.0: Fill the existing header's empty central space, never add a header. */
.sjpc-auto-nav-slot{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;width:auto;max-width:100%;align-self:center;position:relative;z-index:10010;overflow:visible!important}
.sjpc-auto-nav-slot>.sjpc-wp-nav{width:100%;max-width:100%;min-width:0;position:relative;z-index:10011}
.sjpc-auto-nav-host{overflow:visible!important;isolation:auto!important}
@media (max-width:1100px){
 .sjpc-auto-nav-slot{flex:0 0 auto;width:auto;justify-content:flex-end;margin-left:auto}
 .sjpc-auto-nav-slot>.sjpc-wp-nav{width:auto;}
}

@media(max-width:700px){
 .sjpc-auto-nav-host{flex-wrap:wrap!important}
 .sjpc-auto-nav-slot{order:99;flex:0 0 100%;width:100%!important;max-width:100%;justify-content:center;margin:6px auto 0!important}
 .sjpc-auto-nav-slot>.sjpc-wp-nav{display:flex;justify-content:center;width:100%!important}
 .sjpc-auto-nav-slot .sjpc-wp-menu-list{right:0;left:auto}
}

/* v3.1: The existing Elementor hamburger opens the SJP Primary links directly.
   In this mode hide the redundant second Menu toggle and extra white row. */
@media(max-width:1350px){
 .sjpc-wp-nav.sjpc-external-bound>.sjpc-wp-mobile-toggle{display:none!important}
 .sjpc-external-menu-header.sjpc-auto-nav-host{flex-wrap:nowrap!important}
 .sjpc-auto-nav-slot.sjpc-external-nav-slot{
   position:absolute!important;left:auto!important;right:0!important;top:0!important;
   flex:0 0 0!important;order:initial!important;display:block!important;
   width:0!important;min-width:0!important;max-width:0!important;height:0!important;
   margin:0!important;padding:0!important;overflow:visible!important;pointer-events:none
 }
 .sjpc-auto-nav-slot.sjpc-external-nav-slot>.sjpc-wp-nav{width:0!important;max-width:0!important;min-width:0!important}
 .sjpc-wp-nav.sjpc-external-bound>.sjpc-wp-menu-list{
   display:none!important;
   position:fixed!important;
   top:var(--sjpc-external-top,90px)!important;
   right:var(--sjpc-external-right,12px)!important;
   bottom:auto!important;left:auto!important;
   width:min(430px,calc(100vw - 24px))!important;
   max-width:calc(100vw - 24px)!important;
   max-height:min(72dvh,calc(100dvh - var(--sjpc-external-top,90px) - 14px))!important;
   overflow-y:auto!important;overflow-x:hidden!important;
   padding:16px!important;
   flex-direction:column!important;align-items:stretch!important;gap:0!important;
   background:#fff!important;border:1px solid #dfe8f5!important;border-radius:24px!important;
   box-shadow:0 20px 50px rgba(5,24,59,.16)!important;z-index:2147481000!important;
   pointer-events:auto!important
 }
 .sjpc-wp-nav.sjpc-external-bound.sjpc-external-open>.sjpc-wp-menu-list{display:flex!important}
 .sjpc-wp-nav.sjpc-external-bound .sjpc-wp-menu-list>li{width:100%;justify-content:space-between;flex-wrap:wrap}
 .sjpc-wp-nav.sjpc-external-bound .sjpc-wp-menu-list li>a{flex:1;min-width:0;font-size:16px!important;padding:11px 12px!important}
 .sjpc-wp-nav.sjpc-external-bound .sjpc-wp-menu-list .sub-menu,
 .sjpc-wp-nav.sjpc-external-bound .sub-menu .sub-menu{
   position:static!important;display:none!important;width:100%!important;max-width:none!important;min-width:0!important;
   transform:none!important;box-shadow:none!important;border:0!important;border-left:2px solid #e2e9f5!important;
   border-radius:0!important;padding:4px 0 4px 11px!important;margin-left:11px!important;
   visibility:visible!important;opacity:1!important;pointer-events:auto!important
 }
 .sjpc-wp-nav.sjpc-external-bound .sjpc-wp-menu-list li.sjpc-open>.sub-menu{display:block!important}
 .sjpc-wp-nav.sjpc-external-bound .sjpc-wp-menu-list li:hover:not(.sjpc-open)>.sub-menu{display:none!important}
 .sjpc-wp-nav.sjpc-external-bound .sjpc-menu-chevron{flex:0 0 36px;width:36px!important;height:40px!important}
 .sjpc-external-trigger{cursor:pointer}
}
