/* Shared interaction feedback. Keep content visible and motion optional. */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px;box-shadow:0 0 0 2px #fffcf6}
.ws-choice input:focus-visible+span{outline:2px solid #7e6120;outline-offset:4px}
button:disabled{cursor:wait;opacity:.65}
button[aria-busy="true"]{cursor:progress}
summary{cursor:pointer}
a.text-link:hover,.nav a:not(.brand):not(.logo):hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}
@media(hover:hover){
  .btn:not(:disabled):hover,.order:hover,.nav-cta:hover{filter:brightness(.92)}
  a.flavor-card:hover,a.recipe-card:hover,a.ws-press-card:hover{box-shadow:0 6px 18px rgba(22,19,17,.12)}
}
@media(prefers-reduced-motion:no-preference){
  .btn,.order,.nav-cta,.text-link,.filter-tab,a.flavor-card,a.recipe-card,a.ws-press-card{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease,transform .16s ease}
  .btn:not(:disabled):active,.order:active,.nav-cta:active{transform:translateY(1px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
}
