/* QR Membership native header/footer. Scoped to public pages selected in Card & Branding. */
body.stbm-portal-chrome{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
body.stbm-portal-chrome > #page, body.stbm-portal-chrome > .site,
body.stbm-portal-chrome > .wp-site-blocks, body.stbm-portal-chrome > main,
body.stbm-portal-chrome > .site-content{flex:1 0 auto;min-width:0;}
body.stbm-portal-chrome .stbm-portal-header,
body.stbm-portal-chrome .stbm-portal-footer,
body.stbm-portal-chrome .stbm-portal-header *{box-sizing:border-box;}
body.stbm-portal-chrome .stbm-portal-header{position:relative;z-index:1000;flex:0 0 auto;width:100%;background:#fff;color:#152d4d;border:0;border-bottom:1px solid #e7eef7;box-shadow:0 1px 4px rgba(15,43,80,.045);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
body.stbm-portal-chrome .stbm-portal-header-inner{width:100%;max-width:1210px;min-height:82px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
body.stbm-portal-chrome .stbm-portal-brand{min-width:0;display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:#102b4f;max-width:calc(100% - 60px);flex-shrink:1;}
body.stbm-portal-chrome .stbm-portal-logo{display:block;max-width:min(345px,100%);max-height:74px;width:auto;height:auto;object-fit:contain;object-position:left center;border:0;box-shadow:none;}
body.stbm-portal-chrome .stbm-portal-brand-words{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.35;}
body.stbm-portal-chrome .stbm-portal-brand-words strong{font-size:19px;font-weight:800;letter-spacing:.02em;line-height:1.25;color:#102b4f;}
body.stbm-portal-chrome .stbm-portal-brand-words small{font-size:12px;font-weight:650;letter-spacing:.035em;color:#233c5f;}
body.stbm-portal-chrome .stbm-portal-navigation{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap;}
body.stbm-portal-chrome .stbm-portal-menu-link{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;font-size:13px;font-weight:750;line-height:1.3;letter-spacing:.015em;color:#183d6a;background:transparent;border:1px solid transparent;border-radius:8px;text-decoration:none;transition:background-color .15s ease;}
body.stbm-portal-chrome .stbm-portal-menu-link:hover,
body.stbm-portal-chrome .stbm-portal-menu-link:focus-visible{background:#eef4fc;border-color:#dae5f4;color:#123d70;text-decoration:none;outline-offset:2px;}
body.stbm-portal-chrome .stbm-portal-menu-toggle{display:none;align-items:center;justify-content:center;width:43px;height:43px;flex:0 0 43px;background:transparent;border:1px solid transparent;border-radius:8px;color:#183d6a;cursor:pointer;padding:0;}
body.stbm-portal-chrome .stbm-portal-footer{flex:0 0 auto;position:relative;z-index:2;width:100%;margin-top:auto;padding:18px 24px;background:#f4f7fa;border-top:1px solid #e1e8f1;text-align:center;color:#60718a;font:400 12px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
body.stbm-portal-chrome .stbm-portal-footer-inner{max-width:1210px;margin:0 auto;overflow-wrap:anywhere;}
/* Theme chrome is hidden only when the administrator opts in, not site-wide by default. */
body.stbm-portal-hide-theme :is(#masthead,header.site-header,.site-header:not(.stbm-portal-header),.elementor-location-header,#site-header,.ct-header,.main-header,.header-area,.header-wrapper){display:none!important;}
body.stbm-portal-hide-theme :is(#colophon,footer.site-footer,.site-footer:not(.stbm-portal-footer),.elementor-location-footer){display:none!important;}
body.stbm-portal-hide-theme .wp-site-blocks > header:not(.stbm-portal-header),
body.stbm-portal-hide-theme .wp-site-blocks > footer:not(.stbm-portal-footer){display:none!important;}
/* No extra theme spacers on plugin pages once the theme header is hidden. */
body.stbm-portal-hide-theme.stbm-member-front-page :is(.site-content,#primary,.content-area,main.site-main,.entry-content){margin-top:0!important;}
@media(max-width:680px){
 body.stbm-portal-chrome .stbm-portal-header-inner{min-height:74px;padding:8px 15px;gap:8px;}
 body.stbm-portal-chrome .stbm-portal-logo{max-width:min(295px,calc(100vw - 105px));max-height:63px;}
 body.stbm-portal-chrome .stbm-portal-brand-words strong{font-size:clamp(13px,3.8vw,17px);}
 body.stbm-portal-chrome .stbm-portal-brand-words small{font-size:10px;}
 body.stbm-portal-chrome .stbm-portal-menu-toggle{display:inline-flex;}
 body.stbm-portal-chrome .stbm-portal-navigation{display:none;position:absolute;top:100%;right:12px;left:12px;z-index:1002;padding:10px;flex-direction:column;align-items:stretch;gap:4px;white-space:normal;background:#fff;border:1px solid #dce5f1;border-radius:12px;box-shadow:0 12px 30px rgba(11,40,80,.16);}
 body.stbm-portal-chrome .stbm-portal-header.stbm-portal-nav-open .stbm-portal-navigation{display:flex;}
 body.stbm-portal-chrome .stbm-portal-menu-link{width:100%;justify-content:flex-start;padding:11px 14px;font-size:14px;}
 body.stbm-portal-chrome .stbm-portal-footer{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));}
 body.stbm-portal-chrome.stbm-member-account-page .stbm-portal-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px));}
}
@media(prefers-reduced-motion:reduce){body.stbm-portal-chrome .stbm-portal-menu-link{transition:none;}}

/* v1.3.84: Administrator-selected header/footer palette (safe color variables). */
body.stbm-portal-chrome .stbm-portal-header{background:var(--stbm-chrome-header-bg,#ffffff)!important;color:var(--stbm-chrome-header-text,#152d4d)!important;}
body.stbm-portal-chrome .stbm-portal-brand,
body.stbm-portal-chrome .stbm-portal-brand-words strong,
body.stbm-portal-chrome .stbm-portal-brand-words small{color:var(--stbm-chrome-header-text,#152d4d)!important;}
body.stbm-portal-chrome .stbm-portal-menu-link,
body.stbm-portal-chrome .stbm-portal-menu-toggle{color:var(--stbm-chrome-menu-color,#183d6a)!important;}
body.stbm-portal-chrome .stbm-portal-menu-link.stbm-portal-menu-primary{
 background:var(--stbm-chrome-button-bg,#204b83)!important;
 border-color:var(--stbm-chrome-button-bg,#204b83)!important;
 color:var(--stbm-chrome-button-text,#ffffff)!important;
}
body.stbm-portal-chrome .stbm-portal-menu-link:not(.stbm-portal-menu-primary):hover,
body.stbm-portal-chrome .stbm-portal-menu-link:not(.stbm-portal-menu-primary):focus-visible{
 background:color-mix(in srgb,var(--stbm-chrome-menu-color,#183d6a) 9%,transparent)!important;
 color:var(--stbm-chrome-menu-color,#183d6a)!important;
}
body.stbm-portal-chrome .stbm-portal-menu-link.stbm-portal-menu-primary:hover{filter:brightness(.91);}
body.stbm-portal-chrome .stbm-portal-footer{
 background:var(--stbm-chrome-footer-bg,#f4f7fa)!important;
 color:var(--stbm-chrome-footer-text,#60718a)!important;
}
@media(max-width:680px){
 body.stbm-portal-chrome .stbm-portal-navigation{
  background:var(--stbm-chrome-header-bg,#fff)!important;
  border-color:color-mix(in srgb,var(--stbm-chrome-menu-color,#183d6a) 20%,transparent)!important;
 }
 body.stbm-portal-chrome .stbm-portal-menu-link.stbm-portal-menu-primary{justify-content:center!important;}
}
/* Keep custom navigation accessible when administrators add several links. */
@media(min-width:1051px){
 body.stbm-portal-chrome .stbm-portal-navigation{
  min-width:0;flex:1 1 auto;flex-wrap:wrap;white-space:normal;
  row-gap:3px;
 }
 body.stbm-portal-chrome .stbm-portal-menu-link{
  max-width:240px;overflow-wrap:anywhere;text-align:center;
 }
}
@media(min-width:681px) and (max-width:1050px){
 body.stbm-portal-chrome .stbm-portal-header-inner{min-height:74px;padding:8px 17px;gap:8px;}
 body.stbm-portal-chrome .stbm-portal-logo{max-width:min(335px,calc(100vw - 105px));max-height:65px;}
 body.stbm-portal-chrome .stbm-portal-menu-toggle{display:inline-flex;}
 body.stbm-portal-chrome .stbm-portal-navigation{
  display:none;position:absolute;top:100%;right:15px;left:auto;width:min(360px,calc(100% - 30px));
  z-index:1002;padding:10px;flex-direction:column;align-items:stretch;gap:4px;white-space:normal;
  background:var(--stbm-chrome-header-bg,#fff);border:1px solid #dce5f1;border-radius:12px;
  box-shadow:0 12px 30px rgba(11,40,80,.16);
 }
 body.stbm-portal-chrome .stbm-portal-header.stbm-portal-nav-open .stbm-portal-navigation{display:flex;}
 body.stbm-portal-chrome .stbm-portal-menu-link{width:100%;justify-content:flex-start;padding:11px 14px;font-size:14px;}
}
@media(max-width:1050px){
 body.stbm-portal-chrome .stbm-portal-navigation{
  max-height:min(72vh,530px);overflow-y:auto;overscroll-behavior:contain;
 }
}


/* v1.3.87 — Eliminate theme content-wrapper bottom whitespace only on
 * public verification pages. Avoid changing footer position globally. */
body.stbm-portal-chrome:has(.stbm-verification-page) :is(.entry-content,.wp-block-post-content,.site-main){
  margin-bottom:0!important;padding-bottom:0!important;
}
body.stbm-portal-chrome:has(.stbm-verification-page) .stbm-portal-footer{
  padding-top:10px!important;padding-bottom:10px!important;
}

/* On a short public verification page, the global sticky-footer layout
 * creates a large blank region below the live clock. Let this particular
 * page end naturally while keeping sticky footer on all other pages. */
body.stbm-portal-chrome:has(.stbm-verification-page){
  min-height:0!important;
}
