/* Short, quiet transitions. No perpetual motion or hidden waiting content. */
html{scrollbar-gutter:stable}
.button,.text-button,.nav-toggle,.languages button,.catalog-filters button{transition:background-color .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}
input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease}
input:focus,select:focus,textarea:focus{border-color:#a3a3a3;box-shadow:0 0 0 2px #ffffff15}
:is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid #f5f5f5;outline-offset:4px}
.button:active,.nav-toggle:active,.catalog-filters button:active{transform:scale(.985)}
/* A single quiet sweep follows interaction; never loops or moves the text. */
header nav a,.product-enquiry{position:relative;overflow:hidden;isolation:isolate}
header nav a::after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:#f5f5f5;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
header nav a[aria-current=page]{box-shadow:none}
header nav a[aria-current=page]::after,header nav a:focus-visible::after{transform:scaleX(1)}
@keyframes volt-flow{from{transform:translateX(-220%) skewX(-18deg)}to{transform:translateX(520%) skewX(-18deg)}}
.product-enquiry::after{content:"";position:absolute;inset:0 auto 0 0;width:30%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff75,transparent);transform:translateX(-220%) skewX(-18deg)}
.product-enquiry:focus-visible::after,.product-enquiry:active::after{animation:volt-flow .6s ease-out 1}
@media(hover:hover) and (pointer:fine){header nav a:hover::after{transform:scaleX(1)}.product-enquiry:hover::after{animation:volt-flow .6s ease-out 1}}
@keyframes volt-charge{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#finder-form button[type=submit]{position:relative;overflow:hidden}
#finder-form button.finder-charging{opacity:1}
.finder-charging::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:4px;background:#d71920;transform-origin:left;animation:volt-charge .6s linear forwards}
@keyframes volt-hero-zoom{from{transform:scale(1)}to{transform:scale(1.05)}}
#hero-photo.hero-zoom-once{animation:volt-hero-zoom 10s linear 1 forwards}
@keyframes volt-result-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.result-item-enter{animation:volt-result-enter .25s ease-out;animation-delay:var(--result-delay,0s)}
[data-count-to]{display:inline-block;font-variant-numeric:tabular-nums;min-width:1.2ch}
[data-count-to="15"],[data-count-to="12"]{min-width:2.2ch}
.product-photo-frame.photo-preview{display:block;position:relative;padding:0;border:0;color:inherit;cursor:zoom-in;flex:none;line-height:0;min-height:44px}

.photo-preview:focus-visible{outline-offset:5px}
.photo-preview:disabled{cursor:default}
@media(hover:hover) and (pointer:fine){
 .button:not(:disabled):hover,.catalog-filters button:not(:disabled):hover{transform:translateY(-2px)}

 .home-entry-links a:hover,.back-home:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
}


@media(min-width:1024px) and (hover:hover) and (pointer:fine){
 body[data-catalog="products"] .brand-card{transition:transform .2s ease}
 body[data-catalog="products"] .product-photo{transition:transform .2s ease}
 body[data-catalog="products"] .brand-card:hover{transform:translateY(-4px)}
 body[data-catalog="products"] .brand-card:hover .product-photo{transform:scale(1.03)}
}
.photo-dialog{position:fixed;inset:0;margin:auto;width:min(900px,calc(100% - 32px));max-width:900px;max-height:calc(100dvh - 32px);padding:20px;background:#171717;color:#f5f5f5;border:1px solid #444;border-radius:6px;overflow:auto;box-shadow:0 24px 80px #0008}
.photo-dialog:not([open]){display:none}

.photo-dialog::backdrop{background:#000c}
.photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.photo-dialog-header h2{margin:0;font-size:clamp(18px,3vw,24px);line-height:1.4;overflow-wrap:anywhere}
.photo-dialog-close{flex:none;min-width:64px;min-height:44px;padding:10px 14px;background:#2b2b2b;color:white;border:0;border-radius:3px;font-size:14px;cursor:pointer}
.photo-dialog-stage{display:grid;place-items:center;min-height:120px;background:#101010}
.photo-dialog-stage img{display:block;width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
.photo-dialog-error{padding:24px;font-size:16px;line-height:1.7}
body.photo-dialog-open{overflow:hidden}
@media(max-width:767px){.photo-dialog{padding:12px}.photo-dialog-header{gap:8px;margin-bottom:12px}.photo-dialog-header h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .brand-card,.button,.product-photo,#hero-photo,.shop-photo-view img{transform:none!important}
 .finder-charging::after{display:none}
}
