/* GBPSSI-AAN Portal Suite v3.24.7 — responsive reconciliation safety layer */
:root{--gbp-rfr-safe-bottom:env(safe-area-inset-bottom,0px);--gbp-rfr-safe-top:env(safe-area-inset-top,0px)}
.gbpssi-responsive-v3247,.gbpssi-responsive-v3247 *{box-sizing:border-box}
.gbpssi-responsive-v3247 img,.gbpssi-responsive-v3247 video,.gbpssi-responsive-v3247 canvas,.gbpssi-responsive-v3247 svg{max-width:100%}
.gbpssi-responsive-v3247 img,.gbpssi-responsive-v3247 video{height:auto}
.gbpssi-responsive-v3247 iframe{max-width:100%}
.gbpssi-responsive-v3247 :where(.gbpssi-card,.gbpssi-console-card,.gbpssi-dashboard-card,.gbpssi-ui-card,.gbpssi-public-home section,.gbpssi-public-about section,.gbpssi-public-activities section,.gbpssi-public-events section,.gbpssi-public-contact,.um,.um-form,.elementor-widget-container){min-width:0}
.gbpssi-responsive-v3247 :where(h1,h2,h3,h4,h5,h6,p,a,span,strong,td,th,label){overflow-wrap:anywhere}
.gbpssi-responsive-v3247 :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button){max-width:100%}
.gbpssi-responsive-v3247 :where(.gbpssi-console-table-wrap,.gbpssi-table-wrap,.gbpssi-ui-table-wrap,.um-account-main,.gbpssi-directory-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.gbpssi-responsive-v3247 :where(.gbpssi-modal,.gbpssi-dialog,[role=dialog]){max-width:min(94vw,900px);max-height:calc(100dvh - 32px);overflow:auto}
.gbpssi-responsive-v3247 :where(.gbpssi-grid,.gbpssi-card-grid,.gbpssi-console-kpis,.gbpssi-dashboard-grid,.gbpssi-public-control-kpis,.gbpssi-public-network-grid)>*{min-width:0}

/* Portal/PWA safe-area reconciliation. */
body.gbpssi-responsive-v3247.gbpssi-portal-shell-active{padding-bottom:0}
.gbpssi-responsive-v3247 .gbpssi-portal-mobile-nav{padding-bottom:max(6px,var(--gbp-rfr-safe-bottom))}
.gbpssi-responsive-v3247 .gbpssi-app-install-float{max-width:calc(100vw - 20px)}
.gbpssi-responsive-v3247 .gbpssi-pwa-offline-banner{max-width:calc(100vw - 24px)}

/* Admin Console long forms/tables. */
.gbpssi-responsive-v3247 .gbpssi-admin-console :where(input,select,textarea){min-width:0}
.gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-card-head>*{min-width:0}
.gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-button{white-space:normal;text-align:center}

/* Admin-only QA panel. */
.gbpssi-rfr-inspector{position:fixed;right:14px;bottom:14px;z-index:2147483000;width:min(360px,calc(100vw - 28px));background:#fff;border:1px solid #cbdbe8;border-top:4px solid #174a82;border-radius:14px;box-shadow:0 20px 50px rgba(7,35,67,.26);font:13px/1.4 Arial,sans-serif;color:#17324f;padding:12px}
.gbpssi-rfr-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.gbpssi-rfr-inspector-head strong{font-size:14px}.gbpssi-rfr-inspector-head button{width:32px;height:32px;min-height:32px;border:0;border-radius:50%;background:#edf4f9;color:#17324f;cursor:pointer}
.gbpssi-rfr-inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gbpssi-rfr-inspector-grid div{padding:7px 8px;border-radius:8px;background:#f3f7fa}.gbpssi-rfr-inspector-grid b{display:block;font-size:16px}.gbpssi-rfr-inspector-list{margin:8px 0 0;padding:8px;background:#fff8df;border:1px solid #f0df9b;border-radius:8px;max-height:150px;overflow:auto}.gbpssi-rfr-inspector-list code{display:block;font-size:11px;white-space:normal;word-break:break-all;margin:3px 0}.gbpssi-rfr-qa-overflow{outline:3px solid rgba(190,45,45,.75)!important;outline-offset:-2px!important}

/* QA admin sections rendered inside frontend Admin Console. */
.gbpssi-rfr-freeze-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#7b1e25;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;white-space:nowrap}.gbpssi-rfr-freeze-note{display:grid;gap:4px;margin:14px 0;padding:14px 16px;background:#fff5f5;border:1px solid #edc7ca;border-left:4px solid #9b2730;border-radius:10px}.gbpssi-rfr-freeze-note strong{color:#7b1e25}.gbpssi-rfr-freeze-note span{color:#4f6070}.gbpssi-rfr-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.gbpssi-rfr-mode-grid>div{padding:10px 12px;border:1px solid #dbe6ee;border-radius:10px;background:#f8fbfd}.gbpssi-rfr-mode-grid strong,.gbpssi-rfr-mode-grid span{display:block}.gbpssi-rfr-mode-grid span{margin-top:3px;font-size:12px;color:#66788a}.gbpssi-rfr-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gbpssi-rfr-link-grid a{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px;border:1px solid #d7e3ec;border-radius:11px;background:#fff;color:#17324f;text-decoration:none}.gbpssi-rfr-link-grid a:hover{border-color:#6f9cc4;box-shadow:0 7px 20px rgba(23,74,130,.08)}.gbpssi-rfr-link-grid span{font-size:12px;color:#647688}.gbpssi-rfr-link-grid b{margin-top:auto;color:#174a82;font-size:12px}.gbpssi-rfr-table{min-width:1320px!important}.gbpssi-rfr-table th small,.gbpssi-rfr-table td small{display:block;margin-top:3px;color:#728292;font-weight:400}.gbpssi-rfr-table select{min-width:94px}.gbpssi-rfr-table select.is-pass{border-color:#79aa8a;background:#f0faf3}.gbpssi-rfr-table select.is-issues{border-color:#cf8e8e;background:#fff3f3}.gbpssi-rfr-table textarea{min-width:210px;width:100%}

@media(max-width:1180px){.gbpssi-rfr-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gbpssi-rfr-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .gbpssi-responsive-v3247 :where(a,button,input[type=button],input[type=submit],input[type=reset],select,.um-button,.gbpssi-console-button,.gbpssi-ui-button){min-height:44px}
  .gbpssi-responsive-v3247 :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
  .gbpssi-responsive-v3247 :where(.gbpssi-action-row,.gbpssi-card-actions,.gbpssi-console-card-head,.gbpssi-profile-actions,.gbpssi-event-actions){min-width:0;flex-wrap:wrap}
  .gbpssi-responsive-v3247 :where(.gbpssi-public-home,.gbpssi-public-about,.gbpssi-public-activities,.gbpssi-public-events,.gbpssi-public-contact,.gbpssi-pwa-wrap){width:100%;max-width:100%}
  .gbpssi-rfr-link-grid{grid-template-columns:1fr}.gbpssi-rfr-freeze-pill{white-space:normal}.gbpssi-rfr-inspector{right:8px;bottom:calc(86px + var(--gbp-rfr-safe-bottom));width:calc(100vw - 16px)}
}
@media(max-width:600px){
  .gbpssi-responsive-v3247 :where(.gbpssi-two-col,.gbpssi-three-col,.gbpssi-form-grid,.gbpssi-public-form-grid,.gbpssi-event-grid,.gbpssi-profile-grid){grid-template-columns:1fr!important}
  .gbpssi-responsive-v3247 :where(.gbpssi-card,.gbpssi-console-card,.gbpssi-ui-card){border-radius:12px}
  .gbpssi-rfr-mode-grid{grid-template-columns:1fr}.gbpssi-rfr-inspector-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){.gbpssi-rfr-inspector-grid{grid-template-columns:1fr}.gbpssi-responsive-v3247 :where(.gbpssi-console-kpis,.gbpssi-dashboard-grid){grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.gbpssi-responsive-v3247 *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v3.24.7.1 — shared-shell responsive reconciliation.
 * Scope: public shell, authentication, Portal navigation/overlays and Admin Console shell.
 * This remains non-publishing and is safe under the Production Change Freeze. */
html{max-width:100%;overflow-x:clip}
body.gbpssi-responsive-v3247{width:100%;max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body.gbpssi-responsive-v3247{overflow-x:hidden}}
.gbpssi-responsive-v3247 :where(#page,.site,.site-content,.ast-container,#primary,.content-area,.site-main,article,.entry-content,main){min-width:0}
.gbpssi-responsive-v3247 :where(.elementor,.elementor-section,.elementor-container,.e-con,.e-con-inner,.elementor-widget,.elementor-widget-container){min-width:0;max-width:100%}

/* Public website shell — contain governed nav/ticker without masking intended horizontal menus. */
body.gbpssi-responsive-v3247.gbpssi-public-site-v3246 :where(#masthead,header.site-header,.site-header,.elementor-location-header,.gbpssi-public-nav-row){max-width:100vw}
body.gbpssi-responsive-v3247.gbpssi-public-site-v3246 .gbpssi-public-floating-submenu{max-width:calc(100vw - 24px)!important}
body.gbpssi-responsive-v3247.gbpssi-public-site-v3246 .gbpssi-public-floating-submenu .gbpssi-public-submenu-live{max-width:100%!important}
body.gbpssi-responsive-v3247 .gbpssi-dph-identity>*{min-width:0}
body.gbpssi-responsive-v3247 .gbpssi-dph-brand,body.gbpssi-responsive-v3247 .gbpssi-dph-brand-copy,body.gbpssi-responsive-v3247 .gbpssi-dph-purpose{min-width:0}
body.gbpssi-responsive-v3247 .gbpssi-dph-brand-copy :where(strong,small),body.gbpssi-responsive-v3247 .gbpssi-dph-purpose :where(strong,span){overflow-wrap:anywhere}
body.gbpssi-responsive-v3247 .gbpssi-dph-announcements,body.gbpssi-responsive-v3247 .gbpssi-dph-announcement-track,body.gbpssi-responsive-v3247 .gbpssi-dph-announcement-item{min-width:0;max-width:100%}
body.gbpssi-responsive-v3247.gbpssi-dph-menu-open{overflow:hidden!important;touch-action:none}

/* Authentication reconciliation — collapse builder/UM columns safely and contain Select2/password wrappers. */
body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um,.um-form,.um-row,.um-field,.um-field-area,.um-field-block,.select2-container,.select2-selection,.um-field-value){min-width:0!important;max-width:100%!important}
body.gbpssi-responsive-v3247.gbpssi-ui-auth .select2-container{width:100%!important}
body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-field-error,.um-notice,.um-error,.um-message){max-width:100%!important;overflow-wrap:anywhere!important}
body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-field-checkbox,.um-field-radio){max-width:100%!important}
body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-field-checkbox-option,.um-field-radio-option){white-space:normal!important;overflow-wrap:anywhere!important}

/* Portal shell — retain bottom-navigation clearance and use dynamic viewport/safe-area dimensions. */
body.gbpssi-responsive-v3247.gbpssi-portal-shell-active{padding-bottom:0!important}
.gbpssi-responsive-v3247 .gbpssi-portal-mobile-drawer,.gbpssi-responsive-v3247 .gbpssi-portal-search-modal{max-width:100vw;max-height:100dvh}
.gbpssi-responsive-v3247 .gbpssi-portal-drawer-panel{overscroll-behavior:contain}
.gbpssi-responsive-v3247 .gbpssi-portal-search-card{max-width:min(620px,calc(100vw - 24px))}
.gbpssi-responsive-v3247.gbpssi-ui-overlay-open{overflow:hidden!important;touch-action:none}

/* Admin Console shell — prevent sticky/tab/action controls from creating page-level overflow. */
.gbpssi-responsive-v3247 .gbpssi-admin-console :where(.gbpssi-console-nav-v3245,.gbpssi-console-nav-groups,.gbpssi-console-nav-sections,.gbpssi-console-hero,.gbpssi-console-context-head,.gbpssi-console-content){max-width:100%;min-width:0}
.gbpssi-responsive-v3247 .gbpssi-admin-console :where(.gbpssi-console-hero-links,.gbpssi-console-card-actions,.gbpssi-console-actions,.gbpssi-app-filter-actions){min-width:0;flex-wrap:wrap}
.gbpssi-responsive-v3247 .gbpssi-admin-console :where(.gbpssi-console-card,.gbpssi-console-context-head) :where(a,button,input,select,textarea){max-width:100%}

@media(max-width:900px){
 body.gbpssi-responsive-v3247 .gbpssi-dph-nav{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 body.gbpssi-responsive-v3247 .gbpssi-dph-nav>ul{width:100%;min-width:0}
 body.gbpssi-responsive-v3247 .gbpssi-dph-dropdown{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:820px){
 body.gbpssi-responsive-v3247.gbpssi-portal-shell-active{padding-bottom:calc(70px + var(--gbp-rfr-safe-bottom))!important}
 .gbpssi-responsive-v3247 .gbpssi-portal-mobile-bar{height:calc(64px + var(--gbp-rfr-safe-bottom));padding-bottom:max(5px,var(--gbp-rfr-safe-bottom))}
 .gbpssi-responsive-v3247 .gbpssi-portal-drawer-panel{max-height:min(88dvh,calc(100dvh - 8px));padding-bottom:calc(22px + var(--gbp-rfr-safe-bottom))}
 .gbpssi-responsive-v3247 .gbpssi-portal-search-modal{height:100dvh;padding:clamp(12px,6vh,56px) 12px calc(80px + var(--gbp-rfr-safe-bottom))}
 body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-row,.um-col-1,.um-col-2,.um-col-3){width:100%!important;max-width:100%!important;float:none!important;clear:both!important;margin-left:0!important;margin-right:0!important}
 body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-col-1,.um-col-2,.um-col-3){display:block!important}
 body.gbpssi-responsive-v3247.gbpssi-ui-auth .um-field-area{width:100%!important}
 .gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-nav-v3245{border-radius:10px!important}
 .gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-nav-groups,.gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-nav-sections{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-nav-v3245 a{scroll-snap-align:start}
}
@media(max-width:600px){
 body.gbpssi-responsive-v3247.gbpssi-ui-auth .gbpssi-auth-stage-login,body.gbpssi-responsive-v3247.gbpssi-ui-auth .gbpssi-auth-stage-register{width:100%!important;max-width:100%!important}
 body.gbpssi-responsive-v3247.gbpssi-ui-auth :where(.um-left,.um-right,.um-col-alt){width:100%!important;max-width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important}
 body.gbpssi-responsive-v3247.gbpssi-ui-auth .um-col-alt{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 .gbpssi-responsive-v3247 .gbpssi-portal-drawer-account-actions{grid-template-columns:1fr!important}
 .gbpssi-responsive-v3247 .gbpssi-portal-search-card{padding:22px 14px}
 .gbpssi-responsive-v3247 .gbpssi-portal-search-card h2{font-size:clamp(21px,7vw,27px)}
 .gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-hero-links{width:100%;align-items:stretch}
 .gbpssi-responsive-v3247 .gbpssi-admin-console .gbpssi-console-hero-links a{flex:1 1 145px;justify-content:center;white-space:normal;text-align:center}
}
.gbpssi-rfr-cycle-note{display:flex;align-items:flex-start;gap:10px;margin:10px 0 14px;padding:11px 13px;border:1px solid #cfe0ee;border-left:4px solid #174a82;border-radius:10px;background:#f4f9fd;color:#50677d}.gbpssi-rfr-cycle-note strong{flex:0 0 auto;color:#174a82}.gbpssi-rfr-cycle-note span{min-width:0}
@media(max-width:600px){.gbpssi-rfr-cycle-note{display:grid;gap:3px}}

/* v3.26.7.0: UM Account is responsive structurally; never solve it with an internal x-scroll. */
.gbpssi-responsive-v3247 .um-account-main{overflow-x:visible!important;min-width:0!important;width:100%!important}

/* v3.30.0 — final cross-portal regression guardrails.
 * These rules standardise interaction/navigation behaviour only; feature modules
 * continue to own their content and business logic. */
.gbpssi-responsive-v3247 :where(.gbpssi-member-services-nav,.gbpssi-account-services-nav,.gbpssi-discover-nav,.gbpssi-universe-tabs,.gbpssi-universe-subnav){
  min-width:0;max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch
}
.gbpssi-responsive-v3247 :where(.gbpssi-member-services-nav,.gbpssi-account-services-nav,.gbpssi-discover-nav) a{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
.gbpssi-responsive-v3247 :where(details>summary){min-height:40px}
.gbpssi-responsive-v3247 :where(.gbpssi-universe-card,.gbpssi-roster-console,.gbpssi-discover-context,.gbpssi-discover-hub,.gbpssi-account-services-intro){min-width:0;max-width:100%}
.gbpssi-responsive-v3247 :where(.gbpssi-universe-card,.gbpssi-roster-console) :where(table){max-width:100%}
.gbpssi-responsive-v3247 :where(.gbpssi-universe-table-wrap,.gbpssi-roster-table-wrap,.gbpssi-inst-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:820px){
  .gbpssi-responsive-v3247 :where(.gbpssi-member-services-nav,.gbpssi-account-services-nav,.gbpssi-discover-nav,.gbpssi-universe-tabs,.gbpssi-universe-subnav){
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;padding-bottom:4px
  }
  .gbpssi-responsive-v3247 :where(.gbpssi-member-services-nav,.gbpssi-account-services-nav,.gbpssi-discover-nav,.gbpssi-universe-tabs,.gbpssi-universe-subnav)::-webkit-scrollbar{display:none}
  .gbpssi-responsive-v3247 :where(.gbpssi-member-services-nav,.gbpssi-account-services-nav,.gbpssi-discover-nav,.gbpssi-universe-tabs,.gbpssi-universe-subnav)>*{flex:0 0 auto!important;white-space:nowrap!important}
  .gbpssi-responsive-v3247 :where(.gbpssi-account-services-intro,.gbpssi-universe-intro){min-width:0!important;max-width:100%!important}
}
@media(max-width:600px){
  .gbpssi-responsive-v3247 :where(.gbpssi-universe-kpis,.gbpssi-universe-grid,.gbpssi-universe-impactgrid){grid-template-columns:1fr!important}
}
