/* Shared interaction states for actions across the site. */
body :is(button,input[type="submit"],input[type="button"],a.button,a.btn,a.text-link,.sav-stack-link,.project-visit,.portal-link,.mega-all,.client-icon,.sav-ai-links a,.sav-google-preference){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}
@media(hover:hover){
 body :is(button,input[type="submit"],input[type="button"]):not(:disabled):hover{box-shadow:0 0 0 2px #ef293866;filter:brightness(.92)}
 body :is(a.button,a.btn):hover{background:#ef2938;color:#fff;border-color:#ef2938;box-shadow:0 0 0 2px #ef293833}
 body :is(.button.red,.btn.red,button[type="submit"].button):hover{background:#b81928;color:#fff;border-color:#b81928}
 body :is(a.text-link,.sav-stack-link,.project-visit,.portal-link,.mega-all,.client-icon):hover{color:#ef2938;text-decoration-color:#ef2938}
 body :is(.sav-ai-links a,.sav-google-preference):hover{background:#b81928;color:#fff;box-shadow:0 0 0 2px #ef293833}
}
body :is(button,input[type="submit"],input[type="button"],a.button,a.btn,a.text-link,.sav-stack-link,.project-visit,.portal-link,.mega-all,.client-icon,.sav-ai-links a,.sav-google-preference):focus-visible{outline:2px solid #ef2938;outline-offset:4px;box-shadow:0 0 0 2px #ffffff80}
body :is(button,input[type="submit"],input[type="button"],a.button,a.btn):not(:disabled):active{filter:brightness(.8)}
body :is(button,input[type="submit"],input[type="button"]):disabled{cursor:not-allowed}
@media(prefers-reduced-motion:reduce){body :is(button,input[type="submit"],input[type="button"],a.button,a.btn,a.text-link,.sav-stack-link,.project-visit,.portal-link,.mega-all,.client-icon,.sav-ai-links a,.sav-google-preference){transition:none}}

/* Section actions: neutral resting borders, clear red hover fill. */
body.sav-home :is(#services,#why-us,#work,#process,#faq,#contact) a.button:not(.red){border:1px solid #000;background:#000;color:#fff}
@media(hover:hover){
 body.sav-home :is(#services,#why-us,#work,#process,#faq,#contact) a.button:not(.red):hover{background:#ef2938;border-color:#ef2938;color:#fff;box-shadow:none}
}
