/* =====================================================================
   /evenimente/ decorative layers (markup from _build/decor/evenimente.py)
   Festive but calm: fine gold string lights, lanterns, layered ridges,
   firs, botanical garlands, leaf confetti. Purely decorative.
   ===================================================================== */

/* the decor sits behind content: content gets its own layer above it.
   (no isolation on the sections: the shared ridge edges must keep painting over neighbours) */
.page-intro__card,
.ev-intro > .container, .ev-types > .container,
.ev-venues > .container, .ev-steps > .container { position: relative; z-index: 1; }

.dz-ev { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.dz-ev * { pointer-events: none; }
.dz-ev > div { position: absolute; }
.dz-ev svg { display: block; width: 100%; height: 100%; overflow: hidden; }
.dz-ev .dz-ev-defs { position: absolute; width: 0; height: 0; }

/* ---------- page intro: string-light swags in the side margins ---------- */
.dz-ev-pi__l, .dz-ev-pi__r { display: none; top: 0; width: min(340px, calc((100% - 900px) / 2)); aspect-ratio: 340 / 110; opacity: .75; }
.dz-ev-pi__l { left: 0; }
.dz-ev-pi__r { right: 0; transform: scaleX(-1); }
@media (min-width: 1100px) { .dz-ev-pi__l, .dz-ev-pi__r { display: block; } }

/* ---------- ev-intro: contours behind the photos, sprig, sand ridges at the foot ---------- */
.dz-ev-in__contour { right: -8%; top: 50%; width: min(60vw, 820px); aspect-ratio: 1; transform: translateY(-50%); opacity: .2; }
.dz-ev-in__sprig { left: 0; bottom: clamp(4px, 1vw, 16px); width: clamp(80px, 10vw, 160px); aspect-ratio: 1; opacity: .2; }
.dz-ev-in__foot { left: 0; right: 0; bottom: 0; height: clamp(56px, 8vw, 130px); }
@media (max-width: 960px) {
  .dz-ev-in__contour { top: auto; bottom: 2%; right: -12%; width: min(90vw, 560px); transform: none; opacity: .16; }
}

/* ---------- ev-types: lanterns, leaf confetti in the margins, far firs ---------- */
.dz-ev-ty__lan { display: none; top: 0; right: max(var(--gutter), calc((100% - 1280px) / 2 + var(--gutter))); width: clamp(170px, 16vw, 240px); aspect-ratio: 240 / 180; opacity: .8; }
@media (min-width: 1200px) { .dz-ev-ty__lan { display: block; } }
.dz-ev-ty__strip { top: clamp(60px, 8vw, 140px); bottom: calc(var(--ridge) * 2); width: calc(max(0px, (100% - 1280px) / 2) + var(--gutter) - 6px); opacity: .9;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); }
.dz-ev-ty__strip--l { left: 0; }
.dz-ev-ty__strip--r { right: 0; }
@media (max-width: 700px) { .dz-ev-ty__strip { display: none; } }
.dz-ev-ty__foot { left: 0; right: 0; bottom: 0; height: clamp(70px, 10vw, 150px); }

/* ---------- ev-venues (dark): stars, string lights, moon, evening ridges ---------- */
.dz-ev-ve__stars { inset: 0;
  -webkit-mask-image: linear-gradient(180deg, #000, rgba(0,0,0,.55) 35%, rgba(0,0,0,.2) 75%, transparent);
          mask-image: linear-gradient(180deg, #000, rgba(0,0,0,.55) 35%, rgba(0,0,0,.2) 75%, transparent); }
.dz-ev-ve__garland { left: 0; right: 0; top: clamp(4px, 1.2vw, 18px); height: clamp(70px, 8.33vw, 140px); }
.dz-ev-ve__moon { display: none; right: max(var(--gutter), calc((100% - 1280px) / 2 + var(--gutter))); top: calc(var(--sec) + var(--ridge) - 6px); width: clamp(64px, 6vw, 92px); aspect-ratio: 1; opacity: .85; }
@media (min-width: 900px) { .dz-ev-ve__moon { display: block; } }
.dz-ev-ve__foot { left: 0; right: 0; bottom: 0; height: clamp(110px, 15vw, 220px); }

/* ---------- ev-steps: branch garlands framing the heading, sprigs by the CTA, far ridges ---------- */
.dz-ev-st__br { top: calc(var(--ridge) + 4px); width: clamp(96px, 18vw, 260px); aspect-ratio: 260 / 170; opacity: .95; }
.dz-ev-st__br--l { left: 0; }
.dz-ev-st__br--r { right: 0; transform: scaleX(-1); }
.dz-ev-st__fl { display: none; bottom: calc(var(--sec) + var(--ridge) - 10px); width: 44px; aspect-ratio: 120 / 155; }
.dz-ev-st__fl--l { left: calc(50% - 350px); }
.dz-ev-st__fl--r { right: calc(50% - 350px); transform: scaleX(-1); }
@media (min-width: 1000px) { .dz-ev-st__fl { display: block; } }
.dz-ev-st__foot { left: 0; right: 0; bottom: 0; height: clamp(60px, 9vw, 130px); }

/* ---------- gentle motion ---------- */
@media (prefers-reduced-motion: no-preference) {
  .dz-ev-tw { animation: dz-ev-twinkle 4.2s ease-in-out infinite alternate; }
  .dz-ev-ve .dz-ev-tw { animation-duration: 3.4s; }
  .dz-ev-tw2 { animation: dz-ev-twinkle 6s ease-in-out infinite alternate; }
  .dz-ev-mist { animation: dz-ev-drift 36s ease-in-out infinite alternate; }
}
@keyframes dz-ev-twinkle { from { opacity: 1; } to { opacity: .35; } }
@keyframes dz-ev-drift { from { transform: translateX(-60px); } to { transform: translateX(60px); } }
