/* Shared contact and discovery actions: quiet surfaces, clear focus states. */
body:has(.site-header25) :is(.site-header25 .site-nav>a.site-nav-contact,main .px-button,main .roi-contact,main .jx-button,main .site-button,main .cases-button,main .btn,main .t4x-btn,main .cc22-btn,main .municipal-button,main form button[type=submit],main .ss-search-inner button){
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  max-width:100%;
  box-sizing:border-box;
  padding:11px 18px!important;
  border:1px solid #afc4ce!important;
  border-radius:4px!important;
  background:#f4f8fa!important;
  color:#246278!important;
  box-shadow:none!important;
  font-family:inherit;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.4;
  letter-spacing:0;
  text-decoration:none!important;
  transform:none!important;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease;
}
body:has(.site-header25) :is(.site-header25 .site-nav>a.site-nav-contact,main .px-button,main .roi-contact,main .jx-button,main .site-button,main .cases-button,main .btn,main .t4x-btn,main .cc22-btn,main .municipal-button,main form button[type=submit],main .ss-search-inner button):hover{
  background:#e5eef2!important;
  border-color:#668fa4!important;
  color:#153d54!important;
  box-shadow:none!important;
  transform:none!important;
}
body:has(.site-header25) :is(.site-header25 .site-nav>a.site-nav-contact,main .px-button,main .roi-contact,main .jx-button,main .site-button,main .cases-button,main .btn,main .t4x-btn,main .cc22-btn,main .municipal-button,main form button[type=submit],main .ss-search-inner button):focus-visible{outline:2px solid #176fae;outline-offset:3px}
body:has(.site-header25) :is(.site-header25 .site-nav>a.site-nav-contact,main .px-button,main .roi-contact,main .jx-button,main .site-button,main .cases-button,main .btn,main .t4x-btn,main .cc22-btn,main .municipal-button,main form button[type=submit],main .ss-search-inner button) svg{width:18px;height:18px;flex:none;transform:none!important}
@media(prefers-reduced-motion:reduce){body:has(.site-header25) :is(.site-nav-contact,.jx-button,.site-button-primary,.cases-button,.ss-search-inner button){transition:none}}
body:has(.site-header25) main :is(.jx-button,.site-button,.cases-button,.btn,.t4x-btn,.cc22-btn,.municipal-button,form button[type=submit]):not(:has(svg,img))::before{content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url('/sas-portal/assets/icons/lucide/arrow-right.svg') center/contain no-repeat}
body:has(.site-header25) main :is(form[role=search],.global-search-form) button:not(:has(svg,img))::before{mask-image:url('/sas-portal/assets/icons/lucide/search.svg')}
body:has(.site-header25) main a:is(.btn,.site-button,.cases-button)[href$=".pdf"]:not(:has(svg,img))::before{mask-image:url('/sas-portal/assets/icons/lucide/download.svg')}
/* Labels must not add a bottom offset beside the search action. */
body:has(.site-header25) main :is(.cases-filter-form,.jx-filter,.ix-filters,.ss-search-inner form,.scenario-filters){align-items:end}
body:has(.site-header25) main :is(.cases-filter-form,.jx-filter,.ix-filters,.ss-search-inner form,.scenario-filters)>label{margin:0!important}
body:has(.site-header25) main :is(.cases-filter-form,.jx-filter,.ss-search-inner form,.scenario-filters) :is(input:not([type=hidden]),select,button){box-sizing:border-box;height:44px;min-height:44px;margin-block:0!important;align-self:end}
body:has(.site-header25) main :is(.cases-filter-form,.jx-filter)>button{width:44px;min-width:44px;padding:0!important}
body:has(.site-header25) main .ix-filters>.ix-submit{height:48px;min-height:48px;margin:0!important;align-self:end}
/* Navigation contact stays an open text action, not a framed button. */
body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px!important;border:1px solid #c9dedf!important;border-radius:4px!important;background:#eff6f5!important;color:#245c66!important;gap:8px;min-height:38px;white-space:nowrap;font:600 13px/1.4 Montserrat,Arial,sans-serif!important;letter-spacing:0;cursor:pointer;align-self:center}
@media(min-width:981px) and (max-width:1199px){body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact{font-size:12px!important}}
body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact:hover{background:#e3efed!important;border-color:#7da8a7!important;text-decoration:none!important;transform:none!important}
body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact:focus-visible{outline:2px solid #176fae;outline-offset:3px}
body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact:disabled{opacity:.55;cursor:default}
body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact svg{color:currentColor;width:16px;height:16px;flex-shrink:0}
@media(max-width:980px){body:has(.site-header25) .site-header25 .site-nav>.site-nav-contact{align-self:stretch;min-height:44px;margin-top:12px;font-size:14px!important}}
