/* Shared interaction feedback; colors follow the existing HENKR palette. */
:where(a,button,summary,input,select,textarea){-webkit-tap-highlight-color:rgba(15,91,79,.16)}
:where(a,button,summary){touch-action:manipulation}
:where(button,summary,select){cursor:pointer}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 2px #fff}
:where(.btn,.quote-link,.quick,.chat-button,.menu-toggle,.category-tabs a,.hero-product-grid a,.source-pages a,.detail-thumbs a){transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.quote-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #c6dcd5;border-radius:7px;background:#f0f7f4;font-weight:750}
:where(.link,.text-link,.navlinks a:not(.btn),.mega-button,.lang,.footer a,.crumbs a,.catalogue-nav a,.reference-grid figcaption a,summary){transition:color .18s ease,background-color .18s ease,border-color .18s ease,text-decoration-color .18s ease;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;text-decoration-thickness:2px}
@media(hover:hover) and (pointer:fine){
 .btn:not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);filter:none;box-shadow:0 6px 16px rgba(8,61,54,.18)}
 .btn.gold:not(:disabled):hover{background:#885615;color:#fff}
 .btn.green:not(:disabled):hover{background:var(--deep);color:#fff}
 .btn.outline:not(:disabled):not([aria-disabled="true"]):hover{background:var(--green);border-color:var(--green);color:#fff}
 .btn.outline.light:hover{background:#fff;border-color:#fff;color:var(--deep)!important}
 .quote-link:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-2px);box-shadow:0 5px 14px rgba(8,61,54,.16)}
 :where(.link,.navlinks a:not(.btn),.mega-button,.lang,.crumbs a,.catalogue-nav a,.reference-grid figcaption a,summary):hover{color:var(--green);text-decoration-color:currentColor}
 :where(.text-link,.footer a,.page-hero .crumbs a):hover{color:#f4cb80;text-decoration-color:currentColor;border-bottom-color:currentColor}
 .category-tabs a:not(.active):hover,.quick:hover{background:#e6f2ed;border-color:var(--green);color:var(--deep)}
 :where(.hero-product-grid a,.source-pages a,.detail-thumbs a):hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(8,61,54,.14)}
 .chat-button:hover{background:var(--deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,61,54,.28)}
 .menu-toggle:hover{color:var(--green);background:#e6f2ed}
}
:where(.btn,.quote-link,.quick,.chat-button,.menu-toggle,.category-tabs a):not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px) scale(.98);box-shadow:none;filter:brightness(.9)}
:where(.link,.text-link,.footer a,.crumbs a):active{opacity:.75}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;transform:none;filter:none;box-shadow:none;pointer-events:none}
/* Prevent sticky hover movement on touchscreens, including earlier card rules. */
@media(hover:none){.btn:hover,.card:hover{transform:none;filter:none}.card:hover .card-media img{transform:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
 :where(.btn,.quote-link,.quick,.chat-button,.menu-toggle,.category-tabs a,.hero-product-grid a,.source-pages a,.detail-thumbs a,.card):is(:hover,:active){transform:none!important}
 .card:hover .card-media img{transform:none}
}
