:root{--motion-ease:cubic-bezier(.22,.68,.25,1);--motion-shadow:0 14px 35px #1720241a;--motion-highlight:#f0794218}
a,button,summary{cursor:pointer}a,button,summary,input,select,textarea{transition:color .2s,background-color .2s,border-color .2s,box-shadow .25s,transform .25s var(--motion-ease)}
.button{position:relative;isolation:isolate;overflow:hidden}.button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,#ffffff45 50%,transparent 75%);transform:translateX(-120%);transition:transform .45s var(--motion-ease);pointer-events:none}.button>span,.text-link>span,.product-link>span,.contact-list b{display:inline-block;transition:transform .25s var(--motion-ease)}
nav a{position:relative}nav a:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--motion-ease)}nav a:focus-visible:after{transform:scaleX(1)}
.product{transition:transform .3s var(--motion-ease),box-shadow .3s,border-color .2s;border-bottom:2px solid transparent}.product .product-info{transition:background .25s,padding .25s}.catalog-photo{position:relative}.catalog-photo:after{content:'VIEW MODEL ↗';position:absolute;bottom:18px;right:16px;background:var(--ink);color:var(--paper);padding:7px 11px;font-size:14px;letter-spacing:1px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .25s;pointer-events:none}.catalog-photo:focus-visible:after{opacity:1;transform:none}
.filters button{position:relative;padding-right:9px;padding-left:9px}.filters button.active{background:var(--motion-highlight)}.collection-picker button{position:relative}.parts-card{transition:transform .3s var(--motion-ease),box-shadow .25s,border-color .2s}.parts-images img{transition:transform .3s var(--motion-ease)}
.contact-list a{position:relative;transition:padding .25s,background .25s,box-shadow .25s}.contact-list a:focus-visible{background:#ffffff08}.custom-options summary,.faq summary{padding-right:10px;padding-left:10px}.custom-options summary span,.faq summary span{transition:transform .25s,color .2s}.custom-options details p,.faq details p{padding-right:10px;padding-left:10px}details[open]>p{animation:detail-enter .3s var(--motion-ease)}
input:hover,select:hover,textarea:hover{border-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 5px var(--motion-highlight)}
.dialog-close:hover,.menu:hover{background:var(--motion-highlight);color:var(--accent-dark)}.floating-whatsapp{transition:transform .25s,box-shadow .25s,background .2s}.brand-logo img{transition:transform .3s var(--motion-ease)}
.button:active,.collection-picker button:active,.filters button:active,.floating-whatsapp:active{transform:scale(.97)}.catalog-photo:active{transform:scale(.985)}.parts-card:active{transform:scale(.99)}
dialog[open]{animation:dialog-enter .3s var(--motion-ease)}dialog[open]::backdrop{animation:scrim-enter .25s ease-out}.product{animation:product-enter .4s var(--motion-ease) backwards}.product:nth-child(3n+2){animation-delay:45ms}.product:nth-child(3n+3){animation-delay:90ms}
.reveal-pending{opacity:0;transform:translateY(22px)}.reveal-pending.reveal-visible{opacity:1;transform:none;transition:opacity .5s var(--motion-ease),transform .5s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-3px);box-shadow:0 7px 20px #0002}.button:hover:before{transform:translateX(120%)}.button:hover>span{transform:translate(3px,-2px)}
 nav a:hover:after{transform:scaleX(1)}.brand-logo:hover img{transform:rotate(-4deg) scale(1.04)}
 .text-link:hover>span,.product-link:hover>span{transform:translate(4px,-3px)}.text-link:hover{background:var(--motion-highlight)}
 .product:hover,.product:focus-within{transform:translateY(-7px);box-shadow:var(--motion-shadow);border-bottom-color:var(--accent)}.product:hover .catalog-photo,.product:focus-within .catalog-photo{border-color:var(--accent);background:linear-gradient(160deg,var(--paper),#fff5ef)}
 .product:hover .product-info,.product:focus-within .product-info{padding-left:14px;padding-right:14px;background:var(--paper)}.product:hover .catalog-photo:after,.product:focus-within .catalog-photo:after{opacity:1;transform:none}.product:hover .catalog-photo img{transform:scale(1.055)}
 .filters button:hover{background:var(--motion-highlight);color:var(--accent-dark);border-bottom-color:var(--accent);transform:translateY(-2px)}
 .collection-picker button:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 4px 0 var(--accent)}
 .parts-card:hover{transform:translateY(-6px);box-shadow:var(--motion-shadow);border-color:var(--accent)}.parts-card:hover .parts-images img{transform:scale(1.05)}
 .contact-list a:hover{background:#ffffff09;padding-left:14px;padding-right:14px;box-shadow:inset 3px 0 var(--accent)}.contact-list a:hover b{transform:translate(3px,-3px)}
 .custom-options summary:hover,.faq summary:hover{background:var(--motion-highlight);color:var(--accent-dark)}.custom-options summary:hover{color:var(--accent)}
 .floating-whatsapp:hover{transform:translateY(-4px);box-shadow:0 8px 25px #146c4340}.floating-whatsapp:hover svg{transform:rotate(-8deg)}
}
@keyframes product-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes detail-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
@keyframes scrim-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.product:hover,.product:focus-within,.button:hover,.parts-card:hover,.floating-whatsapp:hover{transform:none}.product:hover .catalog-photo img,.parts-card:hover .parts-images img{transform:none}}
