/* =========================================================
   Event Gurus — Effects layer (light organic theme)
   ========================================================= */

/* Scroll progress bar */
.eg-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:70;
    background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
    box-shadow:0 0 10px rgba(198,139,89,.4);transition:width .1s linear}

/* 3D tilt cards (subtle) */
.tilt3d{transform-style:preserve-3d;transition:transform .3s ease,box-shadow .4s ease;will-change:transform}
.tilt3d::before{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;
    background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 48%);
    opacity:0;transition:opacity .3s}
.tilt3d.is-tilting::before{opacity:1}

/* Parallax layers */
[data-parallax]{will-change:transform}

/* Cinematic zoom reveal */
.zoom-reveal{opacity:0;transform:scale(.9);filter:blur(5px);
    transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s}
.zoom-reveal.in{opacity:1;transform:scale(1);filter:blur(0)}

/* Word-by-word title reveal */
.reveal-words .w{display:inline-block;opacity:0;transform:translateY(110%);
    transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal-words.in .w{opacity:1;transform:none}

/* Shine sweep on images */
.shine{position:relative;overflow:hidden}
.shine::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:6;
    transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    transition:left .8s ease}
.shine:hover::after{left:140%}

/* ================= 360 / 3D VENUE RING ================= */
.eg-ring-sec{padding:120px 0;position:relative;overflow:hidden}
.eg-ring-stage{position:relative;height:440px;perspective:1400px;margin:40px auto 0;max-width:1100px}
.eg-ring{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .1s linear;cursor:grab}
.eg-ring.grabbing{cursor:grabbing}
.eg-ring-card{position:absolute;top:50%;left:50%;width:280px;height:380px;margin:-190px 0 0 -140px;
    border-radius:140px 140px 18px 18px;overflow:hidden;box-shadow:0 26px 55px rgba(42,36,33,.28);
    backface-visibility:hidden;border:5px solid #fff}
.eg-ring-card img{width:100%;height:100%;object-fit:cover}
.eg-ring-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(42,36,33,.72))}
.eg-ring-card span{position:absolute;left:0;right:0;bottom:22px;z-index:2;text-align:center;color:#fff;
    font-family:var(--serif);font-size:1.4rem;letter-spacing:.02em}
.eg-ring-hint{text-align:center;margin-top:30px;color:var(--gold-2);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;font-family:var(--display);font-weight:500}
.eg-ring-hint svg{vertical-align:middle;margin-right:8px;animation:eg-swipe 2s ease-in-out infinite}
@keyframes eg-swipe{0%,100%{transform:translateX(-6px)}50%{transform:translateX(6px)}}
.eg-ring-ctrl{display:flex;gap:16px;justify-content:center;margin-top:28px}
.eg-ring-ctrl button{width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);background:#fff;
    color:var(--gold-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s,transform .3s}
.eg-ring-ctrl button:hover{background:var(--gold);color:#fff;transform:scale(1.08)}

/* Floating blush petals */
.eg-petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.eg-petal{position:absolute;top:-40px;width:12px;height:12px;background:var(--rose);opacity:.4;
    border-radius:0 100% 0 100%;animation:eg-fall linear infinite}
@keyframes eg-fall{0%{transform:translateY(-40px) rotate(0);opacity:0}
    10%{opacity:.5}90%{opacity:.35}100%{transform:translateY(560px) rotate(320deg);opacity:0}}

.eg-dark>.eg-container,.eg-dark>.eg-marquee,.eg-dark>.eg-sec-head{position:relative;z-index:2}

/* Reduced motion respect */
@media(prefers-reduced-motion:reduce){
    .zoom-reveal,.reveal-words .w,.tilt3d,.eg-hero-slide{transition:none !important;animation:none !important}
    .eg-petal{display:none}
    .eg-marquee-track{animation-play-state:paused !important}
    .eg-ring{transition:none !important}
}

/* ===== Motion backgrounds (Phase 4) ===== */
.eg-motion-petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.eg-motion-petals span{position:absolute;top:-8%;width:16px;height:16px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(245,216,184,.6) 60%,transparent 70%);border-radius:60% 0 60% 0;opacity:.65;filter:blur(.3px);animation:egPetal linear infinite}
.eg-motion-petals span:nth-child(1){left:8%;animation-duration:15s;animation-delay:0s;transform:scale(.8)}
.eg-motion-petals span:nth-child(2){left:24%;animation-duration:19s;animation-delay:3s;transform:scale(1.1)}
.eg-motion-petals span:nth-child(3){left:45%;animation-duration:13s;animation-delay:1.5s;transform:scale(.7)}
.eg-motion-petals span:nth-child(4){left:63%;animation-duration:21s;animation-delay:5s;transform:scale(1.2)}
.eg-motion-petals span:nth-child(5){left:78%;animation-duration:16s;animation-delay:2s;transform:scale(.9)}
.eg-motion-petals span:nth-child(6){left:91%;animation-duration:18s;animation-delay:4s;transform:scale(1)}
@keyframes egPetal{
  0%{transform:translateY(0) rotate(0deg);opacity:0}
  10%{opacity:.7}
  90%{opacity:.7}
  100%{transform:translateY(115vh) rotate(420deg);opacity:0}
}
/* subtle animated warm shimmer usable on dark hero overlays */
.eg-motion-shimmer{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 50% at 20% 20%,rgba(185,121,63,.22),transparent 60%),radial-gradient(50% 50% at 85% 75%,rgba(245,216,184,.16),transparent 60%);
  background-size:180% 180%;animation:egShimmer 16s ease-in-out infinite alternate}
@keyframes egShimmer{from{background-position:0% 0%}to{background-position:100% 100%}}
@media (prefers-reduced-motion: reduce){.eg-motion-petals span,.eg-hero>img,.egl-hero>img,.eg-motion-shimmer{animation:none!important}}

/* ===== Nav dropdowns — handled in style.css (.eg-has-sub / .eg-submenu) ===== */

/* ===== Site-wide elegant wedding ambience (drifting petals + gold sparkles) ===== */
.eg-ambient{position:fixed;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.eg-ambient .eg-petal{position:absolute;top:-6vh;opacity:0;border-radius:150% 0 150% 0;
  filter:drop-shadow(0 1px 2px rgba(156,103,47,.14));
  animation-name:egDrift;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}
.eg-ambient .eg-petal.h0{background:radial-gradient(circle at 30% 30%,#f9d3ba,#e6a377 62%,#d98b5a)}
.eg-ambient .eg-petal.h1{background:radial-gradient(circle at 30% 30%,#f3e0ad,#d9a441 60%,#c68b59)}
.eg-ambient .eg-petal.h2{background:radial-gradient(circle at 30% 30%,#fbe7e0,#f2c7bd 60%,#e6a693)}
@keyframes egDrift{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}
  8%{opacity:.5}
  92%{opacity:.42}
  100%{transform:translate3d(var(--sway,40px),112vh,0) rotate(340deg);opacity:0}
}
.eg-ambient .eg-sparkle{position:absolute;opacity:0;border-radius:50%;
  background:radial-gradient(circle,#faeccb 0%,#d9a441 42%,transparent 72%);
  animation-name:egTwinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:transform,opacity}
@keyframes egTwinkle{0%,100%{opacity:0;transform:scale(.35)}50%{opacity:.7;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.eg-ambient{display:none}}
