
/* === Premium animations for Liga Beauty === */

:root{
  --lux-gold:#d7b27b;
  --lux-gold-light:#fff1d4;
  --lux-dark:#1f1712;
}

/* Top scroll progress */
.lux-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,#b88444,#fff1d4,#d7b27b);
  z-index:100000;
  box-shadow:0 0 18px rgba(215,178,123,.72);
  pointer-events:none;
}

/* Soft cursor glow on desktop */
.lux-cursor-glow{
  position:fixed;
  width:230px;
  height:230px;
  left:0;
  top:0;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(215,178,123,.18),rgba(215,178,123,.06) 38%,transparent 68%);
  transform:translate(-50%,-50%);
  z-index:3;
  opacity:0;
  transition:opacity .25s ease;
  mix-blend-mode:screen;
}

/* Hero luxury lights */
.hero{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}

.hero:before,
.hero:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  filter:blur(8px);
}

.hero:before{
  width:520px;
  height:520px;
  right:-180px;
  top:6%;
  background:radial-gradient(circle,rgba(215,178,123,.24),rgba(215,178,123,.08) 44%,transparent 70%);
  animation:luxFloat 9s ease-in-out infinite;
}

.hero:after{
  width:420px;
  height:420px;
  left:-160px;
  bottom:8%;
  background:radial-gradient(circle,rgba(255,241,212,.16),rgba(215,178,123,.07) 45%,transparent 72%);
  animation:luxFloat 11s ease-in-out infinite reverse;
}

.hero > *{
  position:relative;
  z-index:1;
}

/* Sparkles */
.lux-sparkle{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#fff1d4;
  box-shadow:0 0 14px rgba(255,241,212,.95),0 0 28px rgba(215,178,123,.45);
  pointer-events:none;
  opacity:.72;
  animation:luxSparkle var(--dur, 5s) ease-in-out infinite;
  animation-delay:var(--delay, 0s);
  z-index:1;
}

/* Reveal on scroll */
.lux-reveal{
  opacity:0;
  transform:translateY(28px);
  filter:blur(9px);
  transition:
    opacity .82s cubic-bezier(.2,.7,.2,1),
    transform .82s cubic-bezier(.2,.7,.2,1),
    filter .82s cubic-bezier(.2,.7,.2,1);
}

.lux-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

/* Premium card hover */
.course,
.benefit,
.review,
.lilia-card,
.why-card,
.why__items > div,
.lead__box,
.mentor,
.blog-card,
.work{
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    box-shadow .35s cubic-bezier(.2,.7,.2,1),
    border-color .35s ease,
    filter .35s ease !important;
  will-change:transform;
}

@media (hover:hover){
  .course:hover,
  .benefit:hover,
  .review:hover,
  .lilia-card:hover,
  .why-card:hover,
  .why__items > div:hover,
  .blog-card:hover{
    transform:translateY(-7px);
    box-shadow:0 24px 58px rgba(57,35,18,.16) !important;
    border-color:rgba(215,178,123,.42) !important;
  }

  .lead__box:hover,
  .mentor:hover{
    box-shadow:0 30px 80px rgba(57,35,18,.18) !important;
  }
}

/* Buttons shine */
.btn{
  position:relative !important;
  overflow:hidden !important;
  transform:translateZ(0);
}

.btn:after{
  content:"";
  position:absolute;
  top:-45%;
  left:-75%;
  width:52%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:translateX(0) skewX(-22deg);
  transition:transform .75s ease;
  pointer-events:none;
}

@media (hover:hover){
  .btn:hover:after{
    transform:translateX(360%) skewX(-22deg);
  }
}

/* Section titles subtle luxury */
.section-title,
.lilia-content .section-title,
.mentor h2,
.reviews h2,
.lead__box h2{
  text-shadow:0 18px 46px rgba(58,35,17,.08);
}

/* Image/cards glow */
.work{
  position:relative;
  overflow:hidden;
}

.work:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,transparent 0%,rgba(255,241,212,.16) 42%,transparent 72%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}

@media (hover:hover){
  .work:hover{
    transform:translateY(-5px) scale(1.015);
    filter:saturate(1.08) contrast(1.03);
  }

  .work:hover:after{
    opacity:1;
  }
}

/* Hero badges glow */
.hero__badges span,
.hero-badges span,
.badges span{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 16px 38px rgba(0,0,0,.12) !important;
  transition:transform .3s ease, border-color .3s ease, background .3s ease !important;
}

@media (hover:hover){
  .hero__badges span:hover,
  .hero-badges span:hover,
  .badges span:hover{
    transform:translateY(-4px);
    border-color:rgba(255,241,212,.55) !important;
    background:rgba(255,255,255,.12) !important;
  }
}

/* Soft animated gold border for lead form */
.lead-form,
.form{
  position:relative;
}

.lead-form:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:24px;
  padding:1px;
  background:linear-gradient(135deg,rgba(215,178,123,.35),rgba(255,241,212,.2),rgba(215,178,123,.35));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.85;
}

/* Animations */
@keyframes luxFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(0,-22px,0) scale(1.04);}
}

@keyframes luxSparkle{
  0%,100%{transform:translate3d(0,0,0) scale(.8); opacity:.28;}
  35%{opacity:.9;}
  50%{transform:translate3d(12px,-24px,0) scale(1.35); opacity:1;}
  75%{opacity:.45;}
}

/* Mobile: keep elegant, not heavy */
@media (max-width:720px){
  .hero:before{
    width:330px;
    height:330px;
    right:-160px;
  }

  .hero:after{
    width:280px;
    height:280px;
    left:-130px;
  }

  .lux-cursor-glow{
    display:none;
  }

  .lux-reveal{
    transform:translateY(18px);
    filter:blur(5px);
  }
}

/* Accessibility */
@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .lux-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }

  .lux-sparkle,
  .lux-cursor-glow,
  .lux-progress{
    display:none !important;
  }
}
