/* =========================================================
   SOVAREL - GLOBAL PREMIUM PAGE ANIMATIONS
   Loaded from header.php, so it works across all site pages.
========================================================= */

.sv-reveal{opacity:0;transform:translateY(45px);transition:opacity:1s cubic-bezier(.16,1,.3,1),transform:1s cubic-bezier(.16,1,.3,1)}
.sv-reveal.sv-visible{opacity:1;transform:translateY(0)}
.sv-left{opacity:0;transform:translateX(-55px);transition:opacity:1s cubic-bezier(.16,1,.3,1),transform:1s cubic-bezier(.16,1,.3,1)}
.sv-left.sv-visible{opacity:1;transform:translateX(0)}
.sv-right{opacity:0;transform:translateX(55px);transition:opacity:1s cubic-bezier(.16,1,.3,1),transform:1s cubic-bezier(.16,1,.3,1)}
.sv-right.sv-visible{opacity:1;transform:translateX(0)}

/* Every inner-page section reveals softly */
.sv-section{opacity:0;transform:translateY(42px);transition:opacity:1s cubic-bezier(.16,1,.3,1),transform:1s cubic-bezier(.16,1,.3,1)}
.sv-section.sv-visible{opacity:1;transform:translateY(0)}

/* Headings */
.sv-heading{opacity:0;transform:translateY(24px);transition:opacity:.85s ease,transform:.85s cubic-bezier(.16,1,.3,1)}
.sv-heading.sv-visible{opacity:1;transform:translateY(0)}

/* Cards */
.sv-card{opacity:0;transform:translateY(35px);transition:opacity:.8s cubic-bezier(.16,1,.3,1),transform:.8s cubic-bezier(.16,1,.3,1),box-shadow:.45s ease}
.sv-card.sv-visible{opacity:1;transform:translateY(0)}
.sv-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(38,58,39,.10)}

/* Staggered children */
.sv-stagger.sv-visible > .sv-stagger-item{animation:svStaggerIn .75s cubic-bezier(.16,1,.3,1) both}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(1){animation-delay:.05s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(2){animation-delay:.14s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(3){animation-delay:.23s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(4){animation-delay:.32s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(5){animation-delay:.41s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(6){animation-delay:.50s}
.sv-stagger.sv-visible > .sv-stagger-item:nth-child(7){animation-delay:.59s}
@keyframes svStaggerIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Shared hero on all pages */
.hero-video{animation:svHeroZoom 12s ease-out forwards}
@keyframes svHeroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-subtitle{animation:svHeroUp 1s .25s cubic-bezier(.16,1,.3,1) both}
.hero-title{animation:svHeroUp 1.15s .45s cubic-bezier(.16,1,.3,1) both}
.hero-highlight{animation:svHeroUp 1s .75s cubic-bezier(.16,1,.3,1) both}
.hero-description{animation:svHeroUp 1s 1s cubic-bezier(.16,1,.3,1) both}
.hero-buttons{animation:svHeroUp 1s 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes svHeroUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-buttons a{transition:transform .4s cubic-bezier(.16,1,.3,1),background .35s ease,color .35s ease}
.hero-buttons a:hover{transform:translateY(-4px)}

/* Common inner-page banners */
.herobanner{animation:svHeroUp 1s .8s cubic-bezier(.16,1,.3,1) both}

/* Image zoom on common content images */
.sv-img-wrap{overflow:hidden}
.sv-img-wrap img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.sv-img-wrap:hover img{transform:scale(1.045)}

/* Header */
.site-header{transition:box-shadow .35s ease,background .35s ease}
.site-header.sv-scrolled{box-shadow:0 8px 28px rgba(38,58,39,.08)}

/* Existing Sovarel special sections */
.chakra-tab{transition:transform .4s cubic-bezier(.16,1,.3,1),background .4s ease}
.chakra-tab:hover{transform:translateY(-4px)}
.chakra-tab img{transition:transform .5s ease}
.chakra-tab:hover img{transform:scale(1.12)}
.chakra-tab.active img{animation:svFloat 3s ease-in-out infinite}
@keyframes svFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.chakra-panel.active{animation:svPanel .7s cubic-bezier(.16,1,.3,1)}
@keyframes svPanel{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.mandala{animation:svMandala 35s linear infinite}
@keyframes svMandala{to{transform:rotate(360deg)}}

.ritual-card,.package-card,.centre-card,.decision-card,.pick-card,.terms-card,.check-card,.testimonial-card,.press-card{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease}
.ritual-card:hover,.package-card:hover,.centre-card:hover,.decision-card:hover,.pick-card:hover,.terms-card:hover,.check-card:hover,.testimonial-card:hover,.press-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(38,58,39,.10)}

@media(max-width:767px){
  .sv-left,.sv-right{transform:translateY(30px)}
  .sv-left.sv-visible,.sv-right.sv-visible{transform:translateY(0)}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
