/* =========================================================
   WOW LAYER — MB Events & Voyagers
   Strato di effetti aggiuntivo: non modifica il sito esistente.
   Si disattiva da solo con "riduci movimento" del sistema
   o con il pannello accessibilità (pausa animazioni).
   ========================================================= */

/* ---------- 1. Tipografia cinetica 3D (lettere che si alzano) ---------- */
.wowW{display:inline-block;white-space:nowrap}
.wowL{display:inline-block;transform-origin:50% 100% -.35em;
  transform:perspective(700px) rotateX(-100deg) translateY(.35em) translateZ(-.6em);opacity:0;filter:blur(6px);
  transition:transform 1.5s cubic-bezier(.16,.9,.2,1) calc(var(--i)*38ms + .1s),
             opacity .9s ease calc(var(--i)*38ms + .1s),filter 1.1s ease calc(var(--i)*38ms + .1s);
}
.wowSplit.wowIn .wowL{transform:none;opacity:1;filter:none}
.wowSplit.wowWave .wowL{animation:wowWave .9s cubic-bezier(.3,.7,.2,1) calc(var(--i)*18ms) both}
@keyframes wowWave{0%{transform:none}35%{transform:perspective(900px) translateY(-.1em) rotateX(38deg)}100%{transform:none}}

/* ---------- 2. Hero: luce che segue il mouse ---------- */
.wowSpot{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .8s;
  background:radial-gradient(520px circle at var(--wx,50%) var(--wy,50%),rgba(198,214,186,.20),rgba(157,171,148,.07) 40%,transparent 70%);
  mix-blend-mode:screen}
.hero:hover .wowSpot{opacity:1}

/* ---------- 3. Parole giganti dietro le persone (effetto profondità) ---------- */
.wowGiant{position:absolute;left:0;top:50%;z-index:1;pointer-events:none;white-space:nowrap;
  font-family:Arial,Helvetica,sans-serif;font-weight:900;text-transform:uppercase;
  font-size:min(36vw,60vh);line-height:.8;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:1.6px rgba(244,242,236,.5);
  background:linear-gradient(180deg,rgba(244,242,236,.30),rgba(157,171,148,.06) 80%);
  -webkit-background-clip:text;background-clip:text;
  translate:var(--gx,0px) -50%;transition:translate .5s cubic-bezier(.2,.8,.2,1);
  opacity:0;animation:wowGiantIn 1.6s cubic-bezier(.2,.8,.2,1) .2s forwards}
.wowGiant.r{left:auto;right:0}
@keyframes wowGiantIn{from{opacity:0;filter:blur(18px)}to{opacity:1;filter:none}}

/* ---------- 4. Card in 3D con riflesso di luce ---------- */
.wowTilt{transition:rotate .7s cubic-bezier(.2,.8,.2,1),scale .7s cubic-bezier(.2,.8,.2,1)}
.wowTilt.wowTiltOn{transition:rotate .12s linear,scale .4s cubic-bezier(.2,.8,.2,1);scale:1.035;z-index:5;box-shadow:0 40px 80px -30px rgba(0,0,0,.45)}
.wowGlare{position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .5s;
  background:radial-gradient(360px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),rgba(255,255,255,.1) 35%,transparent 60%);
  mix-blend-mode:soft-light}
.wowTiltOn .wowGlare{opacity:1}

/* ---------- 5. Immagini che si svelano (sipario) ---------- */
.wowCurtain img{clip-path:inset(100% 0 0 0);scale:1.28;
  transition:clip-path 1.25s cubic-bezier(.77,0,.18,1),scale 1.8s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.16,.8,.2,1)}
.wowCurtain.wowIn img{clip-path:inset(0 0 0 0);scale:1}

/* ---------- 6. Cursore personalizzato (solo mouse) ---------- */
.wowCursorOn body *:not(input):not(textarea):not(select):not(iframe){cursor:none!important}
.wowDot,.wowRing{position:fixed;left:0;top:0;z-index:2147483000;pointer-events:none;border-radius:50%;
  translate:-100px -100px}
.wowDot{width:6px;height:6px;margin:-3px 0 0 -3px;background:#9dab94}
.wowRing{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(157,171,148,.95);
  transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background .35s,border-color .35s;
  display:flex;align-items:center;justify-content:center;font:600 9px/1 Arial,Helvetica,sans-serif;letter-spacing:.18em;color:#000}
.wowRing.link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(157,171,148,.28);border-color:#9dab94}
.wowRing.view{width:96px;height:96px;margin:-48px 0 0 -48px;background:#9dab94;border-color:#9dab94;color:#151715}
.wowRing.view:after{content:"VIEW"}
.wowRing.down{width:26px;height:26px;margin:-13px 0 0 -13px}

/* ---------- 7. Anello 3D di parole (sezione contatti) ---------- */
.wowRingWrap{position:absolute;right:-9vw;top:46%;width:min(46vw,660px);height:min(46vw,660px);translate:0 -50%;
  z-index:-1;pointer-events:none;perspective:1400px;opacity:.85}
.wowCyl{position:absolute;inset:0;transform-style:preserve-3d;rotate:x 14deg}
.wowCyl wow-r{display:block;position:absolute;left:50%;top:50%;white-space:nowrap;
  font:900 min(3.4vw,46px)/1 Arial,Helvetica,sans-serif;letter-spacing:.04em;text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1px rgba(157,171,148,.55);backface-visibility:visible}
.wowCyl wow-r.f{color:rgba(157,171,148,.9);-webkit-text-stroke:0}

/* ---------- 8. Intro: logo in 3D ---------- */
.wowLogo3d{transition:rotate .25s linear}


/* ---------- 9. Scena cinematografica: dentro la parola WELLBEING ---------- */
.wowScene{position:relative;height:260vh;background:#0b0d0b}
.wowSceneSticky{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate}
.wowScenePhoto{position:absolute;inset:0;background:url('loc-retarquinio.jpg') center/cover no-repeat;scale:var(--ps,1.15)}
.wowSceneMask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b0d0b;color:#fff;mix-blend-mode:multiply}
.wowSceneWord{font:900 clamp(56px,15.5vw,300px)/.8 Arial,Helvetica,sans-serif;letter-spacing:-.065em;text-transform:uppercase;white-space:nowrap;
  transform-origin:var(--ox,50%) 50%;scale:var(--ws,1);will-change:scale}
.wowSceneKick{position:absolute;left:0;right:0;top:calc(50% + clamp(48px,10vw,170px));text-align:center;z-index:2;
  font:600 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:#cfd6c8;opacity:var(--ko,1)}
.wowSceneCap{position:absolute;left:3.4vw;bottom:17vh;z-index:2;color:#fff;opacity:var(--co,0);translate:0 var(--cy,30px);
  font:700 clamp(30px,5vw,76px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-.05em;text-shadow:0 10px 40px rgba(0,0,0,.45)}
.wowSceneCap small{display:block;font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#dfe6d8;margin-bottom:18px}

/* ---------- 10. Pavimento di parole in prospettiva 3D ---------- */
.wowFloor{position:relative;height:78vh;min-height:520px;background:#090909;overflow:hidden;perspective:900px;perspective-origin:50% 0%}
.wowFloorPlane{position:absolute;left:-30%;right:-30%;top:6%;bottom:-40%;transform-style:preserve-3d;rotate:x 58deg;display:flex;flex-direction:column;gap:2.4vw}
.wowFloorLine{white-space:nowrap;font:900 9vw/.86 Arial,Helvetica,sans-serif;letter-spacing:-.05em;text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1.5px rgba(157,171,148,.7);translate:var(--fx,0px) 0}
.wowFloorLine.f{color:#9dab94;-webkit-text-stroke:0}
.wowFloorLine.w{color:#f4f2ec;-webkit-text-stroke:0}
.wowFloor:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#090909 0%,rgba(9,9,9,0) 34%,rgba(9,9,9,0) 70%,#090909 100%)}
.wowFloorTitle{position:absolute;left:0;right:0;top:9%;z-index:3;text-align:center;color:#f4f2ec;
  font:600 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.42em;text-transform:uppercase}
.wowOff .wowScene,.wowOff .wowFloor{display:none}
@media (max-width:800px){
  .wowScene{height:200vh}
  .wowSceneWord{font-size:17vw}
  .wowSceneCap{bottom:20vh;left:20px;right:20px}
  .wowFloor{height:56vh;min-height:380px}
  .wowFloorLine{font-size:16vw}
}


/* ---------- 13. Banner "Attenzione" in versione cinematografica ---------- */
.wellnessPopup{background:radial-gradient(ellipse at 50% 45%,rgba(20,26,19,.55),rgba(5,6,5,.88));backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8);perspective:1200px}
.wellnessPopup .wellnessPopupCard{width:min(500px,100%);overflow:visible;background:linear-gradient(160deg,rgba(28,34,27,.92),rgba(10,12,10,.94));
  border:1px solid rgba(157,171,148,.32);border-radius:26px;color:#f4f2ec;
  box-shadow:0 50px 120px -20px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(40px) rotateX(18deg) scale(.92);opacity:0;filter:blur(8px);
  transition:transform 1.1s cubic-bezier(.16,.9,.2,1),opacity .7s ease,filter .9s ease,rotate .2s linear}
.wellnessPopup.open .wellnessPopupCard{transform:none;opacity:1;filter:none}
.wellnessPopup .wellnessPopupCard:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:.42;
  background:url('fieracavalli-horse-man.jpg') center 28%/cover;filter:grayscale(.3);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.wowBreath{position:absolute;left:50%;top:50%;width:min(620px,130vw);aspect-ratio:1;border-radius:50%;translate:-50% -50%;pointer-events:none;z-index:-2;
  background:radial-gradient(circle,rgba(157,171,148,.42),rgba(157,171,148,.1) 45%,transparent 68%);animation:wowBreath 8s ease-in-out infinite}
@keyframes wowBreath{0%,100%{scale:.72;opacity:.55}50%{scale:1.08;opacity:1}}
.wowBreathLbl{position:absolute;left:0;right:0;bottom:-46px;text-align:center;font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.5em;text-transform:uppercase;color:rgba(223,230,216,.75)}
.wowBreathLbl b{font-weight:600;animation:wowBreathTxt 8s ease-in-out infinite}
@keyframes wowBreathTxt{0%,100%{opacity:.35}50%{opacity:1}}
.wellnessPopup .wellnessLabel{font:900 clamp(30px,6vw,46px)/.9 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:#9dab94;margin-bottom:26px}
.wellnessPopup .wellnessText{color:#e9ece4}
.wellnessPopup .wellnessFoot{color:#a9b0a3;border-top-color:rgba(157,171,148,.25)}
.wellnessPopup .wellnessPopupClose{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);transition:rotate .4s,background .3s}
.wellnessPopup .wellnessPopupClose:hover{background:#9dab94;rotate:90deg}
.wowLine{display:inline-block;opacity:0;translate:0 14px;filter:blur(6px);transition:opacity .8s ease,translate 1s cubic-bezier(.16,.9,.2,1),filter .9s ease;transition-delay:calc(var(--d)*110ms + .55s)}
.wellnessPopup.open .wowLine{opacity:1;translate:0 0;filter:none}
.wowSeal{position:absolute;left:-34px;top:-34px;width:92px;height:92px;pointer-events:none;animation:wowSpin 18s linear infinite}
.wowSeal text{font:700 8.6px Arial,Helvetica,sans-serif;letter-spacing:2.6px;fill:#9dab94;text-transform:uppercase}
@keyframes wowSpin{to{rotate:360deg}}

/* ---------- 14. Pulsante "Che evento vuoi organizzare?" ---------- */
.quizFab{overflow:visible;isolation:isolate}
.quizFab:after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:1.5px solid var(--sage,#9dab94);opacity:0;z-index:-1;animation:wowPulse 2.6s cubic-bezier(.2,.8,.2,1) infinite}
@keyframes wowPulse{0%{opacity:.8;scale:.92}100%{opacity:0;scale:1.35}}
.quizFab .quizFabText{background:linear-gradient(100deg,#fff 40%,#e8f2df 50%,#fff 60%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wowShine 4.5s linear infinite}
@keyframes wowShine{from{background-position:120% 0}to{background-position:-180% 0}}
.wowFabRing,.wowFabHorse{display:none!important}
.wowFabStar{display:none;width:34px;height:34px;border-radius:50%;background:#9dab94;align-items:center;justify-content:center;flex:none;position:relative}
.wowFabStar svg{width:18px;height:18px;color:#151715;animation:wowStar 3.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes wowStar{0%,100%{rotate:0deg;scale:1}45%{rotate:90deg;scale:.82}55%{rotate:90deg;scale:1.12}}
.wowFabStar:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(157,171,148,.7);animation:wowPulse 2.6s cubic-bezier(.2,.8,.2,1) infinite}
.wowFabTip{position:absolute;right:calc(100% + 12px);top:50%;translate:8px -50%;white-space:nowrap;background:#fff;color:#151715;border-radius:999px;padding:10px 14px;
  font:700 12px/1 Arial,Helvetica,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .5s,translate .6s cubic-bezier(.16,.9,.2,1)}
.wowFabTip:after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;background:#fff;rotate:45deg;translate:0 -50%}
.wowFabTip.show{opacity:1;translate:0 -50%}
@media (max-width:800px){
  .quizFab{width:auto!important;height:46px!important;left:14px!important;right:auto!important;bottom:22px!important;padding:0 18px 0 6px!important;border-radius:999px!important;gap:10px!important;
    background:#151715!important;box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 0 1px rgba(157,171,148,.55)!important}
  .quizFab .quizFabIcon{display:none}
  .quizFab .quizFabText{display:block!important;font:700 12.5px/1 Arial,Helvetica,sans-serif;letter-spacing:.01em;white-space:nowrap;
    background:linear-gradient(100deg,#f4f2ec 40%,#c9d8bd 50%,#f4f2ec 60%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text}
  .wowFabStar{display:flex!important}
  .quizFab{transition:translate .8s cubic-bezier(.16,.9,.2,1),opacity .5s ease!important}
  .wowHeroZone .quizFab{translate:0 160%;opacity:0;pointer-events:none}
  .wowFabTip{display:none}
  .wellnessPopup .wellnessPopupCard{padding:42px 26px 38px}
  .wowSeal{left:-12px;top:-30px;width:76px;height:76px}
  /* footer mobile compatto */
  .contact{min-height:auto!important;padding-bottom:26px!important}
  .contactBottom{margin-top:34px}
  .footer{padding:18px 20px!important;gap:6px!important}
  .legalBar{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px 10px!important;padding:14px 70px 96px!important}
  .legalBar span[aria-hidden]{display:inline!important}
  /* cerchio: card tutte della stessa larghezza */
  .circleSatInner{width:100%;box-sizing:border-box}
}
.wowOff .quizFab:after,.wowOff .wowFabStar svg,.wowOff .wowFabStar:after,.wowOff .wowSeal,.wowOff .wowBreath{animation:none}
.wowOff .wowLine{opacity:1;translate:0 0;filter:none;transition:none}
.wowOff .wellnessPopup .wellnessPopupCard{transition:opacity .3s}


/* ---------- 15. Apertura dell'header (intro cinematografica) ---------- */
.wowIris{position:fixed;left:50%;top:56%;z-index:2147482000;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 300vmax #0b0d0b;outline:1px solid rgba(157,171,148,.9);outline-offset:0;
  animation:wowIris 1.9s cubic-bezier(.76,0,.2,1) .25s forwards}
@keyframes wowIris{0%{scale:0;outline-color:rgba(157,171,148,.9)}30%{outline-color:rgba(157,171,148,.45)}50%{outline-color:rgba(157,171,148,0)}100%{scale:420;outline-color:rgba(157,171,148,0)}}
.wowIrisLogo{position:fixed;left:50%;top:56%;z-index:2147482001;translate:-50% -50%;width:min(260px,52vw);pointer-events:none;opacity:0;
  animation:wowIrisLogo 1.5s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes wowIrisLogo{0%{opacity:0;scale:.9;filter:blur(10px)}25%{opacity:1;scale:1;filter:none}60%{opacity:1;scale:1.04;filter:none}100%{opacity:0;scale:1.6;filter:blur(14px)}}
.wowHeroSplit .wowL{transform:perspective(500px) translateZ(-520px) translateY(.4em) rotateX(-70deg) rotateY(calc((var(--i) - 5) * 7deg));filter:blur(14px);
  transition:transform 1.9s cubic-bezier(.12,.9,.18,1) calc(var(--i)*55ms + 1.15s),opacity 1.1s ease calc(var(--i)*55ms + 1.15s),filter 1.4s ease calc(var(--i)*55ms + 1.15s)}
.wowHeroSplit.wowIn .wowL{transform:none;filter:none;opacity:1}
.wowOff .wowIris,.wowOff .wowIrisLogo{display:none}

/* ---------- Off: accessibilità / riduci movimento ---------- */
.wowOff .wowL{transform:none!important;opacity:1!important;transition:none!important;animation:none!important}
.wowOff .wowCurtain img{clip-path:none!important;scale:1!important}
.wowOff .wowGiant{animation:none;opacity:1;translate:0 -50%!important}
.wowOff .wowSpot,.wowOff .wowGlare,.wowOff .wowDot,.wowOff .wowRing,.wowOff .wowRingWrap{display:none!important}
.wowOff.wowCursorOn body *{cursor:auto!important}
@media (max-width:800px){
  .wowGiant{font-size:46vw;-webkit-text-stroke-width:1px}
  .wowRingWrap{width:92vw;height:92vw;right:-30vw;top:38%;opacity:.55}
  .wowCyl wow-r{display:block;font-size:6vw}
}

/* ---------- Temporaneo: blocco 'Location della settimana' nascosto ---------- */
.weekPromo{display:none!important}

/* ---------- Prestazioni: barra di navigazione più leggera durante lo scroll ---------- */
.nav.scrolled{backdrop-filter:blur(10px) saturate(100%)!important;-webkit-backdrop-filter:blur(10px) saturate(100%)!important}
@media (max-width:800px){
  .nav.scrolled{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(10,10,9,.82)!important}
}
