/* 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);}}
.footer-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:28px;padding-top:8px;}
#footer .footer-actions .catalog-tools{margin:0;padding:0;}
#footer #mainSiteLink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #64748b;border-radius:12px;color:#f8fafc;font-weight:600;line-height:1.5;text-decoration:none;}
#footer #mainSiteLink[hidden]{display:none;}
#footer .footer-actions #loginButton{min-height:44px;padding:10px 18px;border:1px solid #475569;border-radius:12px;color:#e2e8f0;background:transparent;}
@media(max-width:540px){.footer-actions{flex-direction:column;align-items:stretch;gap:12px;}#footer .footer-actions .catalog-tools{display:flex;justify-content:center;}}
@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;}}
