/* Small, purposeful responses; no perpetual decorative motion. */
:root{--micro-speed:200ms;--micro-ease:cubic-bezier(.2,.75,.25,1)}
.shop-categories a{position:relative;overflow:hidden;transition:background var(--micro-speed),box-shadow var(--micro-speed),transform 150ms}
.shop-categories a:after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--micro-ease)}
.shop-categories a>b{transition:transform 200ms var(--micro-ease)}
.shop-categories a:focus-visible:after{transform:scaleX(1)}
.product{transition:border-color 200ms,box-shadow 200ms,transform 200ms var(--micro-ease)}
.product-photo img{transition:transform 240ms var(--micro-ease)}
.product .item-bottom b{transition:color 180ms,transform 180ms}
.product:focus-visible{border-color:var(--red)}
.filters button{transition:background 180ms,color 180ms,border-color 180ms,transform 130ms}
button,.solid-button,.ghost-button{transition:background-color 180ms,border-color 180ms,box-shadow 180ms,transform 130ms var(--micro-ease)}
button:not(:disabled):active,.solid-button:active,.ghost-button:active,.shop-categories a:active{transform:scale(.98)}
button:disabled{transition:opacity 180ms;opacity:.65}
button[aria-busy=true]:after{content:'';display:inline-block;width:10px;height:10px;margin-left:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:micro-spin .7s linear infinite;vertical-align:middle}
@keyframes micro-spin{to{transform:rotate(360deg)}}
.cart-count{display:inline-flex;align-items:center;justify-content:center;transform-origin:center}
.micro-cart-feedback{margin-top:10px;font-size:13px;font-weight:600;color:#15803d;min-height:20px}
.toast{box-shadow:0 8px 28px #0003}
input,select,textarea{transition:border-color 180ms,box-shadow 180ms}
input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #ee292e1a}
.micro-invalid{border-color:#b91c1c!important;box-shadow:0 0 0 3px #b91c1c16}
.micro-field-error{display:block;font-size:12px;font-weight:400;line-height:1.4;color:#b91c1c;margin-top:6px}
.micro-confirmed{display:inline-flex;align-items:center;gap:7px}
.micro-confirmed:before{content:'✓';display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:12px;font-weight:700;flex-shrink:0}
@media(hover:hover) and (pointer:fine){
 .shop-categories a:hover{background:#e8e9e5;box-shadow:inset 0 0 0 1px #d4d7d0}
 .shop-categories a:hover:after{transform:scaleX(1)}
 .shop-categories a:hover>b{transform:translate(4px,-4px)}
 .product:hover{transform:translateY(-3px);border-color:#ee292eaa;box-shadow:0 8px 24px #0002}
 .product:hover .product-photo img{transform:scale(1.045)}
 .product:hover .item-bottom b{color:#fff;transform:translateX(3px)}
 .filters button:not(.active):hover{border-color:#ffffff80;background:#ffffff0a}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .product:hover,.shop-categories a:hover>b,button:not(:disabled):active,.solid-button:active,.ghost-button:active,.shop-categories a:active,.product:hover .product-photo img,.product:hover .item-bottom b{transform:none}
}
/* Kit cards: restrained depth, a short racing accent, and a clear action. */
.kit-grid article{position:relative;isolation:isolate;overflow:hidden;background:#20211f;border-color:#ffffff26;transition:transform 240ms cubic-bezier(.2,.75,.25,1),background-color 240ms,border-color 240ms,box-shadow 240ms}
.kit-grid article:before{content:'';position:absolute;left:30px;top:0;width:36px;height:2px;background:#ee292e;opacity:.55;transform:scaleX(.6);transform-origin:left;transition:transform 260ms cubic-bezier(.2,.75,.25,1),opacity 220ms;pointer-events:none}
.kit-grid article>span{transition:color 220ms;color:#9c9f98}
.kit-grid article>h3{color:#f5f5f2}
.kit-grid article>p{color:#b8bbb3}
.kit-grid article>.kit-action{position:relative;color:#f5f5f2;border-bottom-color:#ffffff35;transition:border-color 220ms,color 220ms}
.kit-grid .kit-action .direction-icon{transition:transform 220ms cubic-bezier(.2,.75,.25,1)}
.kit-grid article:focus-within{background:#282a26;border-color:#ffffff65;box-shadow:0 10px 28px #0002}
.kit-grid article:focus-within:before{opacity:1;transform:scaleX(1)}
.kit-grid article:focus-within>.kit-action{border-bottom-color:#ee292e;color:#fff}
.kit-grid article:focus-within .direction-icon{transform:translate(3px,-3px)}
@media(hover:hover) and (pointer:fine){
 .kit-grid article:hover{transform:translateY(-4px);background:#282a26;border-color:#ffffff65;box-shadow:0 10px 28px #0002}
 .kit-grid article:hover:before{opacity:1;transform:scaleX(1)}
 .kit-grid article:hover>span{color:#d5d8cf}
 .kit-grid article:hover>.kit-action{border-bottom-color:#ee292e;color:#fff}
 .kit-grid article:hover .direction-icon{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:reduce){.kit-grid article,.kit-grid article:before,.kit-grid article>span,.kit-grid article>.kit-action,.kit-grid .kit-action .direction-icon{transition:none}.kit-grid article:hover,.kit-grid article:hover .direction-icon,.kit-grid article:focus-within .direction-icon{transform:none}}