/* PIR Shared Header v1: styling is activated only on pages rendering the shortcode. */
body:has(.pir-shared-header) .main-header,
body:has(.pir-shared-header) .top-header,
body:has(.pir-shared-header) #masthead,
body:has(.pir-shared-header) .header-fixed { display:none!important; }
body:has(.pir-shared-header) #maincontent { margin-left:236px; padding-top:24px!important; min-height:90vh; }
body:has(.pir-shared-header) #maincontent>.container { max-width:1190px; }
body:has(.pir-shared-header) #footer,
body:has(.pir-shared-header) #footer-2,
body:has(.pir-shared-header) footer { margin-left:236px; }

.pir-shared-header #pir-site-nav {
 position:fixed; top:0; left:0; bottom:0; width:236px; z-index:9990; box-sizing:border-box;
 background:#142d4a; border-right:1px solid #42617b; padding:26px 15px 20px; overflow-y:auto;
 box-shadow:4px 0 20px #0002; font-family:system-ui,-apple-system,Segoe UI,sans-serif;
}
/* Mirror the round gold-ring logo in the compact banner. */
.pir-shared-header #pir-site-nav>img {
 display:block; box-sizing:border-box; width:82px; height:82px; aspect-ratio:1 / 1;
 object-fit:cover; border-radius:50%; border:2px solid #c89f61;
 box-shadow:0 2px 9px rgba(0,0,0,.24); margin:0 auto 10px;
}
.pir-shared-header .pir-brand { text-align:center;color:#fff!important;font-weight:800;font-size:17px;margin:0 0 4px; }
.pir-shared-header .pir-tagline { display:block;text-align:center;color:#d2dee9!important;font-size:12px;margin-bottom:24px; }
.pir-shared-header #pir-site-nav nav {display:flex;flex-direction:column;gap:6px;}
.pir-shared-header #pir-site-nav nav a {
 display:block;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;
 font-weight:600;padding:11px 14px;border-radius:10px;
}
.pir-shared-header #pir-site-nav nav a:hover,
.pir-shared-header #pir-site-nav nav a[aria-current=page] {background:#315676;}
.pir-shared-header .pir-bottom {
 border-top:1px solid #47637b;padding-top:16px;margin-top:24px;text-align:center;color:#d3e1e9!important;font-size:12px;
}
.pir-shared-header #pir-mobile-nav {display:none;}
.pir-shared-header .pir-compact-gold-banner {
 box-sizing:border-box;width:100%;max-width:1060px;min-height:138px;max-height:185px;
 aspect-ratio:4/1;display:flex;align-items:center;gap:clamp(14px,2vw,27px);
 padding:16px clamp(16px,3vw,36px);margin:0 auto 24px;border-radius:18px;
 border:1px solid #b49158;border-bottom:4px solid #e2b775;
 background:linear-gradient(115deg,#122a45 0%,#23445c 58%,#0d2036 100%);
 box-shadow:0 9px 23px #0003;
}
.pir-shared-header .pir-compact-gold-banner>img {
 width:clamp(76px,11vw,126px);height:auto;aspect-ratio:1;flex:0 0 auto;
 object-fit:cover;border-radius:50%;border:2px solid #c89f61;
}
.pir-shared-header .pir-compact-gold-banner__text {min-width:0;display:flex;flex-direction:column;gap:5px;}
.pir-shared-header .pir-compact-gold-banner__text>strong {
 font-family:Georgia,serif;font-size:clamp(22px,3.2vw,43px);line-height:1.12;
 letter-spacing:.4px;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 3px #0b1f32;
}
.pir-shared-header .pir-compact-gold-banner__text>span {
 font-size:clamp(12px,1.5vw,18px);color:#f1cf98!important;-webkit-text-fill-color:#f1cf98!important;line-height:1.3;
}
@media(max-width:900px){
 body:has(.pir-shared-header) #maincontent,
 body:has(.pir-shared-header) #footer,
 body:has(.pir-shared-header) #footer-2,
 body:has(.pir-shared-header) footer {margin-left:0!important;}
 .pir-shared-header #pir-site-nav {display:none!important;}
 .pir-shared-header #pir-mobile-nav {display:block;position:sticky;top:0;background:#142d4a;z-index:9992;margin-bottom:20px;}
 .pir-shared-header #pir-mobile-nav summary {color:#fff!important;-webkit-text-fill-color:#fff!important;padding:14px;font-weight:700;cursor:pointer;}
 .pir-shared-header #pir-mobile-nav nav {display:flex;flex-direction:column;padding:8px;}
 .pir-shared-header #pir-mobile-nav a {color:#fff!important;-webkit-text-fill-color:#fff!important;padding:10px;text-decoration:none;}
 .pir-shared-header #pir-mobile-nav a:focus-visible {outline:2px solid #e2b775;outline-offset:-2px;}
 .pir-shared-header .pir-compact-gold-banner {gap:12px;padding:14px 12px;min-height:138px;max-height:none;}
 .pir-shared-header .pir-compact-gold-banner>img {width:clamp(65px,17vw,86px);}
 .pir-shared-header .pir-compact-gold-banner__text>strong {font-size:clamp(18px,5.3vw,25px);}
 .pir-shared-header .pir-compact-gold-banner__text>span {font-size:12px;}
}

/* Additional shared layout behaviors consolidated from legacy page-specific CSS. */
body:has(.pir-shared-header) #maincontent h1.vw-page-title {
  font-size: clamp(22px, 2.5vw, 34px);
  margin: 0 0 20px !important;
}
@media(max-width:900px){
  body:has(.pir-shared-header) #maincontent {padding-top:15px !important;}
  .pir-shared-header #pir-mobile-nav summary {
    list-style:none;
    font-size:17px;
    min-height:48px;
    line-height:22px;
    box-sizing:border-box;
  }
  .pir-shared-header #pir-mobile-nav summary::-webkit-details-marker {display:none;}
  .pir-shared-header #pir-mobile-nav summary::before {
    content:"☰";
    display:inline-block;
    margin-right:10px;
  }
  .pir-shared-header #pir-mobile-nav[open] summary::before {content:"×";}
}


/* PIR compact shared footer — sitewide, via shared plugin v1.0.3.
   Keeps existing WordPress footer widget HTML and all destinations.
   Does not change body text contrast rules or player styling. */
body:has(.pir-shared-header) #footer.copyright-wrapper {
  background: #0d2036 !important;
  border-top: 2px solid #c89f61;
  color: #e9edf4 !important;
  padding: 15px 12px 18px !important;
  text-align: center;
}
body:has(.pir-shared-header) #footer .container {
  max-width: 1200px;
  padding-left: 12px !important;
  padding-right: 12px !important;
}
body:has(.pir-shared-header) #footer .row.wow {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}
body:has(.pir-shared-header) #footer .footer-block:has(.pir-social-links) {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
body:has(.pir-shared-header) #footer .footer-block:not(:has(.pir-social-links)) {
  display: none !important;
}
body:has(.pir-shared-header) #footer #block-7 {
  padding: 0 !important;
  margin: 0 !important;
}
body:has(.pir-shared-header) #footer .pir-footer {
  max-width: 980px;
  margin: 0 auto !important;
  text-align: center;
}
body:has(.pir-shared-header) #footer .pir-footer h3 {
  color: #f1cf98 !important;
  -webkit-text-fill-color: #f1cf98 !important;
  font: 700 17px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif !important;
  letter-spacing: .025em;
  margin: 0 0 4px !important;
}
body:has(.pir-shared-header) #footer .pir-footer p {
  color: #e2eaf3 !important;
  -webkit-text-fill-color: #e2eaf3 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 3px auto !important;
}
body:has(.pir-shared-header) #footer .pir-footer p.pir-network,
body:has(.pir-shared-header) #footer .pir-footer p.pir-copy {
  font-size: 12px !important;
  color: #c6d4e2 !important;
  -webkit-text-fill-color: #c6d4e2 !important;
}
body:has(.pir-shared-header) #footer .pir-footer a {
  color: #f1cf98 !important;
  -webkit-text-fill-color: #f1cf98 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body:has(.pir-shared-header) #footer .pir-social-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
  max-width: 1000px;
  margin: 12px auto 0 !important;
}
body:has(.pir-shared-header) #footer .pir-social-links a {
  display: inline-flex !important;
  min-height: 44px !important;
  padding: 7px 10px !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font: 600 12px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif !important;
  background: #183654 !important;
  border: 1px solid #66819a !important;
  border-radius: 7px !important;
  white-space: normal;
}
body:has(.pir-shared-header) #footer .pir-social-links a:hover,
body:has(.pir-shared-header) #footer .pir-social-links a:focus-visible {
  background: #2b4a67 !important;
  border-color: #e2b775 !important;
}
body:has(.pir-shared-header) #footer .pir-social-links a:focus-visible {
  outline: 2px solid #f1cf98 !important;
  outline-offset: 2px;
}
@media(max-width:900px) {
  body:has(.pir-shared-header) #footer.copyright-wrapper {
    padding: 16px 10px 19px !important;
  }
  body:has(.pir-shared-header) #footer .container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body:has(.pir-shared-header) #footer .pir-footer h3 {
    font-size: 16px !important;
  }
  body:has(.pir-shared-header) #footer .pir-footer p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
  body:has(.pir-shared-header) #footer .pir-social-links {
    margin-top: 10px !important;
    gap: 6px !important;
  }
}
/* Preserve two balanced button rows on typical mobile widths without shrinking touch height. */
@media(max-width:420px) {
  body:has(.pir-shared-header) #footer .pir-social-links a {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

/* Final parity rules for removing duplicated old navigation styles from page bodies. */
.pir-shared-header #pir-site-nav .pir-brand {line-height:1.3; margin-bottom:5px;}
.pir-shared-header #pir-site-nav .pir-tagline {line-height:1.4;}
.pir-shared-header #pir-site-nav nav a {font-size:15px; line-height:1.35;}
@media(max-width:900px){
  .pir-shared-header #pir-mobile-nav {
    box-shadow:0 2px 12px rgba(0,0,0,.25);
  }
  .pir-shared-header #pir-mobile-nav summary {
    padding:13px 17px;
  }
  .pir-shared-header #pir-mobile-nav nav {
    padding:4px 12px 14px;
    max-height:65vh;
    overflow:auto;
  }
  .pir-shared-header #pir-mobile-nav nav a {
    display:block;
    font-size:16px;
    font-weight:600;
    padding:12px 13px;
    border-top:1px solid rgba(255,255,255,.14);
  }
}
