/* Raabet polish layer — shared refinements (Impeccable polish + Emil Kowalski motion standards) */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
*{-webkit-tap-highlight-color:transparent}
::selection{background:#D4FF3A;color:#1B1530}

/* type: balanced headings, no orphans in paragraphs, steady numbers */
h1,h2,h3,.head,.names{text-wrap:balance}
p,li,small,.lead,.desc,.d{text-wrap:pretty}
.price,.pp,[class*=price],.stat b,.cd b,.cd div,output,.tot span:last-child,#barTotal,td:last-child{font-variant-numeric:tabular-nums}

/* press feedback on everything pressable (transform only, 160ms ease-out) */
a.btn,button,.btn,.cta,.way,.fab,.chip,.pkb,[role=tab],.filters button,.qty button,.cartTop,.float,.addp{transition:transform 160ms var(--ease-out),background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 200ms ease,opacity 160ms ease}
a.btn:active,button:active,.btn:active,.cta:active,.way:active,.fab:active,.filters button:active,.qty button:active,.cartTop:active,.float:active,.addp:active{transform:scale(.97)}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}
button:disabled:active{transform:none}
@media (hover:hover) and (pointer:fine){
 .cta:hover,a.btn:hover,.btn:hover{filter:brightness(1.05)}
 .fab:hover{transform:translateY(-2px)}
}

/* visible keyboard focus, never on tap */
:focus{outline:none}
:focus-visible{outline:3px solid #D4FF3A;outline-offset:3px;border-radius:10px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}

/* form fields: comfortable tap targets + one consistent focus ring */
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{min-height:46px;transition:box-shadow 160ms ease,border-color 160ms ease}
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(91,46,255,.28)}
input::placeholder,textarea::placeholder{opacity:.6}
input[type=checkbox],input[type=radio]{cursor:pointer}
label{cursor:default}

/* images: fade in instead of popping */
img{-webkit-user-drag:none}
img[loading=lazy]{animation:pl-fade 400ms var(--ease-out) both}
@keyframes pl-fade{from{opacity:0}to{opacity:1}}

/* motion accessibility: keep fades, drop movement */
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
