/* Blossom Sway — latar cat air krem dengan rangkaian bunga merah muda yang
   terus bergoyang. Semua ornamen memakai position:fixed sehingga tetap di
   tempat (dan animasinya tidak terganggu) saat halaman digulir. */

body.theme-blossom-sway{
  --radius:20px;--on-primary:#ffffff;
  position:relative;isolation:isolate;
  background-color:#efe7dc;
}

/* Plat latar cat air: menempel viewport, tidak ikut bergulir. */
body.theme-blossom-sway::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url('/themes/blossom-sway/bg-plate.jpg');
  background-size:cover;background-position:center;background-repeat:no-repeat;
}

/* Rangkaian bunga kiri — bergoyang dari pangkal bawah. */
body.theme-blossom-sway::after{
  content:"";position:fixed;z-index:1;pointer-events:none;
  left:0;bottom:0;width:min(42vw,250px);height:min(78vh,700px);
  background-image:url('/themes/blossom-sway/bloom-left.png');
  background-size:contain;background-position:left bottom;background-repeat:no-repeat;
  transform-origin:12% 92%;
  animation:bs-sway-left 7.5s ease-in-out infinite;
  will-change:transform;
}

/* Rangkaian bunga kanan atas — digantung pada .shell agar tetap fixed. */
.theme-blossom-sway .shell::before{
  content:"";position:fixed;z-index:1;pointer-events:none;
  right:0;top:0;width:min(28vw,165px);height:min(34vh,330px);
  background-image:url('/themes/blossom-sway/bloom-right.png');
  background-size:contain;background-position:right top;background-repeat:no-repeat;
  transform-origin:88% 10%;
  animation:bs-sway-right 9.5s ease-in-out infinite;
  will-change:transform;
}

@keyframes bs-sway-left{
  0%,100%{transform:rotate(-1.4deg) translate3d(0,0,0)}
  35%{transform:rotate(.9deg) translate3d(2px,-4px,0)}
  65%{transform:rotate(1.5deg) translate3d(-1px,3px,0)}
}
@keyframes bs-sway-right{
  0%,100%{transform:rotate(1.2deg) translate3d(0,0,0)}
  40%{transform:rotate(-1deg) translate3d(-3px,3px,0)}
  70%{transform:rotate(-1.6deg) translate3d(1px,-2px,0)}
}

/* Konten berada di atas ornamen; latarnya dibuat tembus supaya plat terlihat. */
.theme-blossom-sway .shell{position:relative;z-index:2}
.theme-blossom-sway .main{background:transparent;background-image:none}
.theme-blossom-sway .sec{background:transparent}
.theme-blossom-sway .hero{background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,241,236,.18))}

/* Cover utama: foto penuh layar, judul di atas, salam tamu dan CTA di bawah. */
.theme-blossom-sway .cover{
  padding:0;background-color:#171411;background-image:none;color:#fff;
}
.theme-blossom-sway .cover::before{content:none}
.theme-blossom-sway .cover__frame{
  position:fixed;z-index:-2;inset:0;width:auto;height:auto;margin:0!important;
  border:0;outline:0;box-shadow:none;border-radius:0;overflow:hidden;
}
.theme-blossom-sway .cover__photo{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
}
.theme-blossom-sway .cover__inner{
  position:absolute;inset:0;z-index:2;isolation:isolate;
  box-sizing:border-box;width:100%;max-width:none;height:100%;
  display:flex;flex-direction:column;align-items:center;
  padding:max(58px,8vh) 22px max(54px,7vh);
  background:transparent;box-shadow:none;transform:none!important;animation:none;
}
.theme-blossom-sway .cover__inner::before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;border-radius:0;
  background:linear-gradient(180deg,rgba(10,15,12,.2) 0%,rgba(10,15,12,.04) 34%,rgba(10,15,12,.3) 58%,rgba(10,15,12,.48) 100%);
}
.theme-blossom-sway .cover__label{
  order:1;margin:0 0 .65rem;color:#fff;font-size:.72rem;
  letter-spacing:.28em;text-shadow:0 1px 12px rgba(0,0,0,.55);
}
.theme-blossom-sway .cover__frame{display:block}
.theme-blossom-sway .cover__title{
  order:3;margin:0;color:#fff;font-size:clamp(2.1rem,8.5vw,3.65rem);
  line-height:1.08;text-shadow:0 2px 20px rgba(0,0,0,.48);
}
.theme-blossom-sway .cover__date{
  order:4;margin:.85rem 0 0;color:#fff;font-size:.9rem;letter-spacing:.28em;
  text-shadow:0 1px 12px rgba(0,0,0,.6);
}
.theme-blossom-sway .cover__guest{
  order:5;width:min(100%,310px);box-sizing:border-box;margin:auto 0 .85rem;
  padding:13px 18px;color:#fff;font-size:.9rem;line-height:1.48;
  background:rgba(38,39,36,.42);border:1px solid rgba(255,255,255,.16);
  border-radius:12px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}
.theme-blossom-sway .cover__guest p{margin:0}
.theme-blossom-sway .cover__to{color:#fff;font-size:1.08rem}
.theme-blossom-sway .cover__guest small{font-size:.7rem;opacity:.92}
.theme-blossom-sway .cover__inner>.btn{
  order:6;min-height:44px;padding:11px 22px;border-radius:999px;
  background:#b88d20;border:1px solid rgba(255,255,255,.22);color:#fff;
  box-shadow:0 7px 22px rgba(0,0,0,.24);font-weight:600;
}
.theme-blossom-sway .cover__inner>.btn:hover{background:#c69b2e}
.theme-blossom-sway .cover__corner{display:none}

/* Biarkan foto cover bersih; rangkaian tetap mulai bergoyang setelah sampul dibuka. */
body.theme-blossom-sway.is-locked::after,
body.theme-blossom-sway.is-locked .shell::before{opacity:0;animation-play-state:paused}

/* Warna aksen setelah cover mengikuti merah muda bunga. */
.theme-blossom-sway .hero__title,
.theme-blossom-sway .person__nick,
.theme-blossom-sway .sec__title,
.theme-blossom-sway .event__name,
.theme-blossom-sway .event__num,
.theme-blossom-sway .timeline__date{color:#b4495a}
.theme-blossom-sway .event,
.theme-blossom-sway .quote__box,
.theme-blossom-sway .countdown div{
  background:rgba(255,252,250,.84);
  border-color:rgba(180,73,90,.24);
  box-shadow:0 12px 28px -18px rgba(120,45,58,.32);
}
.theme-blossom-sway .btn--primary{
  background:#c4596b;border-color:#a9414f;color:#fff;
  box-shadow:0 8px 20px -8px rgba(140,45,60,.5);
}
.theme-blossom-sway .btn--primary:hover{background:#d06a7b}
.theme-blossom-sway .bottom-nav{
  background:rgba(252,246,241,.94);
  border-top:1px solid rgba(180,73,90,.2);
}
.theme-blossom-sway .side{
  background-color:#e7c3c6!important;
  background-image:linear-gradient(180deg,rgba(60,20,26,.06) 35%,rgba(60,20,26,.6)),var(--cover-img,url('/themes/blossom-sway/bloom-left.png'))!important;
  background-position:center,center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;color:#fff;
}
.theme-blossom-sway .side::before{content:none;display:none}
.theme-blossom-sway .side__overlay{position:relative;z-index:1;text-shadow:0 2px 12px rgba(70,20,28,.45)}

/* Layar kecil: ornamen dikecilkan supaya teks tetap lega. */
@media(max-width:480px){
  body.theme-blossom-sway::after{width:38vw;height:58vh;opacity:.92}
  .theme-blossom-sway .shell::before{width:30vw;height:26vh;opacity:.9}
  .theme-blossom-sway .cover__inner{padding:max(76px,9vh) 18px max(54px,7vh)}
}

/* Hormati preferensi gerak minimal: bunga tetap tampil, berhenti bergoyang. */
@media(prefers-reduced-motion:reduce){
  body.theme-blossom-sway::after,
  .theme-blossom-sway .shell::before{animation:none}
}
