/* ============================================================
   enhance.css — Capa de efectos premium (Aurora · Clínica Dental)
   ============================================================ */
.fx-rise{opacity:0;transform:translateY(36px) scale(.985);filter:blur(5px);transition:opacity .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1),filter .95s ease;will-change:opacity,transform,filter}
.fx-rise.fx-in{opacity:1;transform:none;filter:blur(0)}
.fx-rise.d1{transition-delay:.07s}.fx-rise.d2{transition-delay:.14s}.fx-rise.d3{transition-delay:.21s}.fx-rise.d4{transition-delay:.28s}.fx-rise.d5{transition-delay:.35s}

.fx-clip{clip-path:inset(0 100% 0 0);opacity:.001;transition:clip-path 1.05s cubic-bezier(.76,0,.24,1),opacity .2s}
.fx-clip.fx-in{clip-path:inset(0 0 0 0);opacity:1}

/* Resplandor coral cálido que sigue al cursor en tarjetas */
.fx-glow{position:relative;isolation:isolate}
.fx-glow::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:0;pointer-events:none;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(239,143,110,.16),transparent 60%);opacity:0;transition:opacity .4s}
.fx-glow:hover::before{opacity:1}
.fx-glow>*{position:relative;z-index:1}

/* Parallax */
.fx-parallax{will-change:transform;transform:translate3d(0,var(--py,0),0)}

/* Flotación sutil de la tarjeta del hero */
@keyframes fxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.fx-float{animation:fxFloat 6.5s ease-in-out infinite}

/* Barrido de brillo en botones */
.fx-shine{position:relative;overflow:hidden}
.fx-shine::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg)}
.fx-shine:hover::after{animation:fxShine .9s ease}
@keyframes fxShine{to{left:130%}}

/* Elevación suave al hover en tarjetas */
.tcard,.feat,.rev,.pstep{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.tcard:hover,.feat:hover,.rev:hover{transform:translateY(-6px)}

/* Iconos de tratamientos: leve giro/escala al hover de su tarjeta */
.tcard .ti,.feat .fi{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.tcard:hover .ti,.feat:hover .fi{transform:scale(1.12) rotate(-4deg)}

@media (prefers-reduced-motion:reduce){
  .fx-rise,.fx-clip{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .fx-float{animation:none!important}
}
