/* Shared feedback for mouse, touch and keyboard. */
button, a[class*="btn"], a[data-contact], #mainSiteLink, .profile-primary {
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;
}
button:not(:disabled), a[href]{cursor:pointer;}
button:focus-visible,a:focus-visible{outline:3px solid #f59e0b;outline-offset:4px;}
button:not(:disabled):active,a[class*="btn"]:active,a[data-contact]:active,#mainSiteLink:active{transform:scale(.97);}
@media (hover:hover){
 button:not(:disabled):hover,a[class*="btn"]:hover,a[data-contact]:hover,#mainSiteLink:hover{transform:translateY(-2px);box-shadow:0 6px 16px #11182720;}
}
button:disabled{cursor:wait;opacity:.65;}
button[aria-busy="true"]::after{content:"";display:inline-block;width:.85em;height:.85em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-inline-start:9px;vertical-align:middle;animation:button-busy .75s linear infinite;}
@keyframes button-busy{to{transform:rotate(360deg);}}
/* Return link centered; admin login below the chair in the contact column. */
#footer .footer-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;margin-top:28px;padding-top:8px;}
#footer #mainSiteLink{display:inline-flex;justify-self:center;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:0;background:transparent;color:#ef4444;font-weight:600;line-height:1.6;text-align:center;text-decoration:none;}
#footer #mainSiteLink[hidden]{display:none;}
#footer .footer-actions .catalog-tools{display:flex;justify-content:flex-end;justify-self:stretch;align-items:center;margin:0;padding:0;}
#footer #loginButton{min-height:44px;padding:8px 0 8px 16px;border:0;border-radius:0;background:transparent;color:#bdbdbd;font-family:inherit;font-size:12px;font-weight:500;line-height:1.6;box-shadow:none;}
#footer #mainSiteLink:hover{color:#f87171;text-decoration:underline;text-underline-offset:4px;box-shadow:none;}
#footer #loginButton:hover{color:#fff;box-shadow:none;}
@media(max-width:540px){#footer .footer-actions{gap:8px;margin-top:24px;}#footer #mainSiteLink{font-size:14px;}}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important;animation:none!important;}button:hover,a:hover,button:active,a:active{transform:none!important;}button[aria-busy="true"]::after{animation:none;}}

#footer .footer-admin-contact{display:flex;justify-content:flex-end;margin:24px 0 0;padding:0;}
