/* FindMe · movimento e attesa, GRAFICA 3 */
#fm-wait[hidden]{display:none!important}
#fm-wait{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:rgba(255,255,255,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:24px;box-sizing:border-box;animation:fm-veil .18s ease-out}
#fm-wait .fm-wait-panel{text-align:center;width:min(100%,320px);padding:30px 24px 22px;border:1px solid rgba(37,99,235,.14);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 20px 70px rgba(20,33,61,.16);color:#14213d;font:inherit}
#fm-wait .fm-wait-orbit{position:relative;width:86px;height:86px;margin:0 auto 20px;display:grid;place-items:center}
#fm-wait .fm-wait-orbit::before,#fm-wait .fm-wait-orbit::after{content:"";position:absolute;inset:0;border:4px solid transparent;border-radius:50%;border-top-color:#2563eb;border-right-color:#2563eb;animation:fm-orbit 1.05s linear infinite}
#fm-wait .fm-wait-orbit::after{inset:9px;border-width:3px;border-top-color:#ff7a32;border-right-color:transparent;border-bottom-color:#ff7a32;animation-direction:reverse;animation-duration:1.5s}
#fm-wait svg{width:34px;height:34px;fill:#ff7a32}
#fm-wait .fm-wait-label{display:block;font-size:20px;font-weight:750;line-height:1.35;margin:0}
#fm-wait .fm-wait-note{margin:8px 0 18px;font-size:14px;line-height:1.5;color:#52627a}
#fm-wait .fm-wait-close{display:inline-flex;width:auto;min-height:40px;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #cbdaf0;border-radius:12px;background:#f3f7ff;color:#174f89;font:inherit;font-size:13px;cursor:pointer;margin:0}
#fm-wait .fm-wait-close:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.fm-motion-ready .pulsante,.fm-motion-ready .fm-nav-azioni>a{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.fm-motion-ready .pulsante:active,.fm-motion-ready .fm-nav-azioni>a:active{transform:translateY(1px) scale(.985)}
.fm-motion-pending{opacity:0;transform:translateY(16px)}
.fm-motion-arrived{animation:fm-arrive .5s cubic-bezier(.2,.7,.3,1) both}
@media(hover:hover) and (pointer:fine){
 .fm-motion-ready .pulsante:hover,.fm-motion-ready .fm-nav-azioni>a:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(20,33,61,.13)}
 .fm-motion-ready .hero-visual img{transition:transform .65s ease}
 .fm-motion-ready .hero-visual:hover img{transform:scale(1.025)}
}
@keyframes fm-orbit{to{transform:rotate(360deg)}}
@keyframes fm-veil{from{opacity:0}to{opacity:1}}
@keyframes fm-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fm-paw{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
 #fm-wait,#fm-wait .fm-wait-orbit::before,#fm-wait .fm-wait-orbit::after, .fm-motion-pending{opacity:1;transform:none}
  .fm-motion-ready .pulsante,.fm-motion-ready .fm-nav-azioni>a,.fm-motion-ready .hero-visual img{transition:none!important;transform:none!important}
}

/* GRAFICA 3 · Movimento più evidente, senza impronte. */
.fm-paw-trail{display:none!important}
.fm-hero-animated .etichetta{animation:fm-drop .65s cubic-bezier(.16,1,.3,1) both}
.fm-hero-animated h1{animation:fm-title .9s cubic-bezier(.16,1,.3,1) .1s both}
.fm-hero-animated .hero-descrizione{animation:fm-arrive .8s ease .3s both}
.fm-hero-animated .hero-azioni>.pulsante{animation:fm-pop .75s cubic-bezier(.16,1,.3,1) .45s both}
.fm-hero-animated .hero-azioni>.pulsante:nth-child(2){animation-delay:.6s}
.fm-hero-animated .hero-azioni>.pulsante:nth-child(3){animation-delay:.75s}
.fm-hero-animated .hero-visual{animation:fm-pop 1s cubic-bezier(.16,1,.3,1) .2s both,fm-float 6s ease-in-out 1.2s infinite;transform-origin:50% 60%;will-change:transform}
.fm-motion-ready .fm-nav-azioni>a{position:relative;overflow:hidden;isolation:isolate}
.fm-motion-ready .fm-nav-azioni>a::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.65) 48%,transparent 76%);translate:-150% 0;animation:fm-shine 7s ease-in-out 2s infinite}
.fm-motion-ready .fm-nav-azioni>a:nth-child(2)::after{animation-delay:3.8s}
.fm-motion-ready .fm-nav-servizi>a[href="notifiche.html"]::before{transform-origin:50% 15%;animation:fm-bell 8s ease-in-out 3s infinite}
.fm-motion-ready .scheda,.fm-motion-ready .sighting-card{transition:transform .28s ease,box-shadow .28s ease}
.fm-motion-arrived{animation:fm-card .75s cubic-bezier(.16,1,.3,1) both}
@media(hover:hover) and (pointer:fine){
 .fm-motion-ready .scheda:hover,.fm-motion-ready .sighting-card:hover{transform:translateY(-8px);box-shadow:0 18px 38px rgba(20,33,61,.16)}
 .fm-motion-ready .scheda-immagine{overflow:hidden}
 .fm-motion-ready .scheda-immagine img{transition:transform .6s ease}
 .fm-motion-ready .scheda:hover .scheda-immagine img{transform:scale(1.07)}
 .fm-motion-ready .fm-nav-azioni>a:hover{transform:translateY(-5px) scale(1.025)}
 .fm-motion-ready .marchio{transition:transform .3s ease}
 .fm-motion-ready .marchio:hover{transform:rotate(-3deg) scale(1.06)}
}
@keyframes fm-drop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes fm-title{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
@keyframes fm-pop{from{opacity:0;transform:translateY(25px) scale(.94)}to{opacity:1;transform:none}}
@keyframes fm-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.45deg)}}
@keyframes fm-shine{0%,65%{translate:-150% 0}88%,100%{translate:150% 0}}
@keyframes fm-bell{0%,5%,20%,100%{transform:rotate(0)}8%,14%{transform:rotate(18deg)}11%,17%{transform:rotate(-15deg)}}
@keyframes fm-card{from{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .fm-hero-animated .hero-visual{animation:fm-pop .85s ease .15s both,fm-float-mobile 6s ease-in-out 1s infinite}
}
@keyframes fm-float-mobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){
 .fm-hero-animated .etichetta,.fm-hero-animated h1,.fm-hero-animated .hero-descrizione,.fm-hero-animated .hero-azioni>.pulsante,.fm-hero-animated .hero-visual,.fm-motion-ready .fm-nav-azioni>a::after,.fm-motion-ready .fm-nav-servizi>a::before,.fm-motion-arrived{animation:none!important;opacity:1;transform:none;will-change:auto}
 .fm-motion-ready .scheda,.fm-motion-ready .sighting-card,.fm-motion-ready .scheda-immagine img,.fm-motion-ready .marchio{transition:none!important;transform:none!important}
 .fm-motion-ready .fm-nav-azioni>a::after{display:none}
}

/* Ritorno in cima: freccia, scudo e NÜMI condividono il lato destro. */
html body #fm-back-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:990;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:48px;height:48px;min-height:48px;margin:0;padding:0;border:1px solid #bdd0e2;border-radius:50%;background:#fff;color:#174f89;box-shadow:0 4px 18px #173d6126;cursor:pointer;touch-action:manipulation}
html body #fm-back-top[hidden]{display:none!important}
html body #fm-back-top:hover{background:#edf4fb;border-color:#76a9d6}
html body #fm-back-top:focus-visible{outline:3px solid #f58220;outline-offset:4px}
@media(max-width:480px){html body #fm-back-top{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}}
@media print{html body #fm-back-top{display:none!important}}

