/* Willow Veil — ivory botanical with fixed, looped foliage from the supplied clip. */
body.theme-willow-veil{
  --radius:22px;--on-primary:#fff;
  position:relative;isolation:isolate;background-color:#f6f1e8;
}

/* Static leaf plate is shown only when reduced motion is requested. */
body.theme-willow-veil::before{
  content:"";position:fixed;inset:0;z-index:64;pointer-events:none;
  background:url('/themes/willow-veil/foliage-poster.png') center/cover no-repeat;
  opacity:0;mix-blend-mode:multiply;
}

/* Kept directly under body so it remains viewport-fixed while sections scroll. */
body.theme-willow-veil .willow-veil-motion{
  position:fixed;z-index:65;inset:0;width:100vw;height:100vh;object-fit:cover;object-position:center;
  opacity:.18;mix-blend-mode:multiply;pointer-events:none;
}

.theme-willow-veil .shell{position:relative;z-index:1}
.theme-willow-veil .main{background:transparent;background-image:none}
.theme-willow-veil .sec{background:transparent}
.theme-willow-veil .hero{background:linear-gradient(180deg,rgba(255,253,248,.42),rgba(246,241,232,.22))}

/* Dynamic owner/demo photo remains the cover background. */
.theme-willow-veil .cover{padding:0;background:#273329;color:#fff}
.theme-willow-veil .cover__bg{
  background:linear-gradient(180deg,rgba(18,28,20,.26),rgba(18,28,20,.08) 38%,rgba(18,28,20,.56)),var(--cover-img,none) center/cover,var(--primary);
}
.theme-willow-veil .cover__frame{display:none}
.theme-willow-veil .cover__inner{
  box-sizing:border-box;width:100%;max-width:none;height:100%;padding:max(74px,9vh) 20px max(54px,7vh);
  justify-content:flex-start;animation:none;transform:none!important;
}
.theme-willow-veil .cover__label{color:#fff;letter-spacing:.3em;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.theme-willow-veil .cover__title{margin:0;color:#fff;font-size:clamp(2.2rem,8vw,3.8rem);line-height:1.08;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.theme-willow-veil .cover__date{margin:.8rem 0 0;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.theme-willow-veil .cover__guest{
  width:min(100%,320px);margin:auto 0 .9rem;padding:14px 18px;color:#fff;
  background:rgba(25,39,29,.46);border:1px solid rgba(255,255,255,.24);border-radius:14px;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.theme-willow-veil .cover__to{color:#fff;font-size:1.08rem}
.theme-willow-veil .cover__guest small{font-size:.7rem;opacity:.93}
.theme-willow-veil .cover__inner>.btn{
  min-height:46px;padding:12px 24px;border:1px solid rgba(255,255,255,.3);border-radius:999px;
  background:#829270;color:#fff;box-shadow:0 8px 24px rgba(20,34,22,.35);font-weight:600;
}
.theme-willow-veil .cover__inner>.btn:hover{background:#738463}
.theme-willow-veil .cover__corner{display:none}

/* Plant greens and warm paper tones stay legible over translucent moving foliage. */
.theme-willow-veil .hero__title,
.theme-willow-veil .person__nick,
.theme-willow-veil .sec__title,
.theme-willow-veil .event__name,
.theme-willow-veil .event__num,
.theme-willow-veil .timeline__date{color:#53674d}
.theme-willow-veil .event,
.theme-willow-veil .quote__box,
.theme-willow-veil .countdown div{
  background:rgba(255,253,248,.9);border-color:rgba(130,146,112,.3);
  box-shadow:0 12px 28px -18px rgba(50,70,45,.3);
}
.theme-willow-veil .btn--primary{background:#829270;border-color:#6f8061;color:#fff}
.theme-willow-veil .btn--primary:hover{background:#738463}
.theme-willow-veil .bottom-nav{background:rgba(255,253,248,.96);border-top:1px solid rgba(130,146,112,.28)}
.theme-willow-veil .side{
  background-color:#e9e4d7!important;
  background-image:linear-gradient(180deg,rgba(25,39,29,.03) 38%,rgba(25,39,29,.62)),var(--cover-img,url('/themes/willow-veil/foliage-poster.png'))!important;
  background-position:center,center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;color:#fff;
}
.theme-willow-veil .side::before{content:none;display:none}
.theme-willow-veil .side__overlay{position:relative;z-index:1;text-shadow:0 2px 12px rgba(28,43,30,.5)}

/* Keep all plant motion on the invitation column on wide screens without cropping the 9:16 clip. */
@media(min-width:900px){
  body.theme-willow-veil .willow-veil-motion{left:50vw;right:auto;width:50vw;object-fit:contain;object-position:right center;opacity:.16}
  body.theme-willow-veil::before{left:50vw;right:0;background-size:auto 100vh;background-position:right center}
}

@media(max-width:480px){
  .theme-willow-veil .cover__inner{padding:max(76px,9vh) 18px max(54px,7vh)}
  .theme-willow-veil .willow-veil-music-btn{width:44px;height:44px;min-width:44px;padding:0;justify-content:center;gap:0}
  .theme-willow-veil .willow-veil-music-btn__label{display:none}
}

@media(prefers-reduced-motion:reduce){
  body.theme-willow-veil .willow-veil-motion{display:none!important}
  body.theme-willow-veil::before{opacity:.2}
}

/* Player control stays above the decorative video and opens a user-visible player. */
.theme-willow-veil .bottom-nav{z-index:70}
.theme-willow-veil .willow-veil-music-btn{
  z-index:71;display:flex;align-items:center;gap:7px;width:auto;height:46px;min-width:46px;
  padding:0 14px;border-radius:999px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));
  background:#829270;color:#fff;white-space:nowrap;box-shadow:0 5px 16px rgba(32,48,34,.28);animation:none!important;
}
.theme-willow-veil .willow-veil-music-btn__label{font:500 .76rem/1 var(--font-body);letter-spacing:.01em}
.theme-willow-veil .willow-veil-music-btn[aria-expanded="true"] .music-disc{animation:music-disc-spin 3s linear infinite}
.theme-willow-veil .willow-veil-music-dialog{
  box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);
  margin:auto;padding:18px;border:1px solid rgba(130,146,112,.45);border-radius:20px;
  background:#fffdf8;color:#3e5140;box-shadow:0 24px 80px rgba(22,35,24,.36);overflow:auto;
}
.theme-willow-veil .willow-veil-music-dialog::backdrop{background:rgba(25,39,29,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.theme-willow-veil .willow-veil-music-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.theme-willow-veil .willow-veil-music-dialog__head h2{font-size:1.18rem;color:#53674d}
.theme-willow-veil .willow-veil-music-dialog__head button{width:40px;height:40px;flex:0 0 auto;border:0;border-radius:50%;background:#edf0e8;color:#3e5140;display:grid;place-items:center}
.theme-willow-veil .willow-veil-music-dialog__player{width:100%;min-height:200px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#101410}
.theme-willow-veil .willow-veil-music-dialog__player iframe{display:block;width:100%;height:100%;min-height:200px;border:0}
.theme-willow-veil .willow-veil-music-dialog__source{margin:12px 0 0;text-align:center;font-size:.78rem;color:#78836f}
.theme-willow-veil .willow-veil-music-dialog__source a{color:#53674d;text-underline-offset:2px}
@media(min-width:900px){.theme-willow-veil .willow-veil-music-btn{right:16px!important}}
@media(prefers-reduced-motion:reduce){.theme-willow-veil .willow-veil-music-btn[aria-expanded="true"] .music-disc{animation:none!important}}
