/* NIGHTSHOT V77 — final global polish. Visual-only, no layout/function overrides. */
:root{--ns-focus:#d94cff;--ns-glass-border:rgba(255,255,255,.105);--ns-ease:cubic-bezier(.2,.75,.25,1)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* Accessible premium focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ns-focus)!important;outline-offset:3px!important}
/* Controls: coherent touch/hover feedback without changing dimensions */
button,.btn,[class*="button"],input[type="submit"],a.ns-publish-link{transition:transform .22s var(--ns-ease),filter .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
@media (hover:hover) and (pointer:fine){button:hover,.btn:hover,[class*="button"]:hover,input[type="submit"]:hover{filter:brightness(1.09) saturate(1.08);transform:translateY(-1px)}}
button:active,.btn:active,[class*="button"]:active,input[type="submit"]:active{transform:scale(.985)}
/* Forms */
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
input:focus,select:focus,textarea:focus{border-color:rgba(217,76,255,.55)!important;box-shadow:0 0 0 3px rgba(217,76,255,.09)!important}
/* Header polish */
.ns-global-header{transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease}
.ns-global-header.is-scrolled{box-shadow:0 12px 35px rgba(0,0,0,.24)}
.ns-global-nav a,.ns-utilitybar a,.ns-mobile-menu a{transition:color .2s ease,opacity .2s ease,text-shadow .2s ease}
@media (hover:hover){.ns-global-nav a:hover,.ns-utilitybar a:hover{color:#fff;text-shadow:0 0 18px rgba(220,76,255,.25)}}
/* Cards across public/support/legal areas: depth only, no geometry changes */
.legal-card,.support-card,.supporto-card,.contact-card,.report-card{transition:border-color .28s ease,box-shadow .28s ease,transform .28s var(--ns-ease);border-color:var(--ns-glass-border)}
@media (hover:hover) and (pointer:fine){.legal-card:hover,.support-card:hover,.supporto-card:hover,.contact-card:hover,.report-card:hover{border-color:rgba(255,255,255,.16);box-shadow:0 18px 45px rgba(0,0,0,.18);transform:translateY(-2px)}}
/* Footer links */
.ns-footer-col a{transition:color .18s ease,transform .18s ease;text-underline-offset:3px}
@media (hover:hover){.ns-footer-col a:hover{transform:translateX(2px)}}
/* Images: better rendering; dimensions intentionally untouched */
img{image-rendering:auto;-webkit-user-drag:none}
/* Small devices: avoid excessive animation and make touch immediate */
@media(max-width:700px){button,.btn,[class*="button"],input[type="submit"]{transition-duration:.16s}.ns-global-header.is-scrolled{box-shadow:0 8px 24px rgba(0,0,0,.2)}}
/* Respect user accessibility preference */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
