/* Bunga pojok section home - ukuran lebih besar & animasi lebih jelas */
#home .flower-anim {
  position: absolute;
  width: 430px;
  height: 430px;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transform: scale(0.2);
  transition: opacity 1.4s, transform 1.4s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.18));
}


/* Semua animasi show sama, tidak dibalik */
#home.show .flower-top-left,
#home.show .flower-top-right,
#home.show .flower-bottom-left,
#home.show .flower-bottom-right {
  opacity: 1;
  transform: scale(1) translate(60px, 60px) rotate(-12deg);
}

/* Pojok bunga - rotasi menghadap ke bawah untuk atas kiri & atas kanan */
#home .flower-top-left {
  top: -120px; left: -120px;
  transform: rotate(180deg) scale(0.2); /* rotasi ke bawah saat awal */
}
#home .flower-top-right {
  top: -120px; right: -170px;
  transform: rotate(180deg) scale(0.2); /* rotasi ke bawah saat awal */
}
#home .flower-bottom-left {
  bottom: -170px; left: -160px;
  transform: scale(0.2); /* default */
}
#home .flower-bottom-right {
  bottom: -150px; right: -160px;
  transform: scale(0.2); /* default */
}

/* Saat show, animasi ke posisi akhir */
#home.show .flower-top-left {
  opacity: 1;
  transform: scale(1) translate(60px, 60px) rotate(168deg);
  transition-delay: 0.2s;
}
#home.show .flower-top-right {
  opacity: 1;
  transform: scale(1) translate(-60px, 60px) rotate(192deg);
  transition-delay: 0.5s;
}
#home.show .flower-bottom-left {
  opacity: 1;
  transform: scale(1) translate(60px, -60px) rotate(-12deg);
  transition-delay: 0.8s;
}
#home.show .flower-bottom-right {
  opacity: 1;
  transform: scale(1) translate(-60px, -60px) rotate(-12deg);
  transition-delay: 1.1s;
}

/* Responsive: posisi & animasi bunga home di mobile benar-benar sama dengan desktop */
@media (max-width: 480px) {
  #home .flower-anim {
    width: 400px;
    height: 400px;
  }
  #home .flower-top-left    { top: -135px; left: -150px; }
  #home .flower-top-right   { top: -135px; right: -200px; }
  #home .flower-bottom-left { bottom: -190px; left: -180px; }
  #home .flower-bottom-right{ bottom: -160px; right: -230px; }
}


/* quote section bunga animasi */
#quote .flower-anim {
  position: absolute;
  width: 240px;
  height: 240px;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transform: scale(0.2);
  transition: opacity 1.4s, transform 1.4s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.18));
}

#quote .flower-anim2 {
  position: absolute;
  width: 120px;
  height: 120px;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transform: scale(0.2);
  transition: opacity 1.4s, transform 1.4s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.18));
}

/* Tidak ada rotasi di posisi awal */
#quote .flower-top-left {
  top: 10px; left: -50px;
  transform: scale(0.2);
}
#quote .flower-top-right {
  top: -55px; right: -180px;
  transform: scale(0.2);
}
#quote .flower-top-right2 {
  top: 165px; right: -240px;
  transform: scale(0.2);
}

/* Saat show, fade-in dan membesar tanpa rotasi */
#quote.show .flower-top-left {
  opacity: 1;
  transform: scale(1) translate(60px, 60px);
  transition-delay: 0.2s;
}
#quote.show .flower-top-right {
  opacity: 1;
  transform: scale(1) translate(-60px, 60px);
  transition-delay: 0.5s;
}
#quote.show .flower-top-right2 {
  opacity: 1;
  transform: scale(1) translate(-60px, 60px);
  transition-delay: 0.5s;
}

/* Responsive: posisi & animasi bunga quote di mobile benar-benar sama dengan desktop */
@media (max-width: 480px) {
  #quote .flower-anim{
    width: 240px;
    height: 240px;
  }
  #quote .flower-anim2{
    width: 120px;
    height: 120px;
  }
  #quote .flower-top-left {
    top: 10px; left: -50px;
    transform: scale(0.2);
  }
  #quote .flower-top-right {
    top: -55px; right: -180px;
    transform: scale(0.2);
  }
  #quote .flower-top-right2 {
    top: 165px; right: -240px;
    transform: scale(0.2);
  }
  #quote.show .flower-top-left {
    opacity: 1;
    transform: scale(1) translate(60px, 60px);
    transition-delay: 0.2s;
  }
  #quote.show .flower-top-right {
    opacity: 1;
    transform: scale(1) translate(-60px, 60px);
    transition-delay: 0.5s;
  }
  #quote.show .flower-top-right2 {
    opacity: 1;
    transform: scale(1) translate(-60px, 60px);
    transition-delay: 0.5s;
  }
}



/* couple section bunga animasi */
#couple.section {
  position: relative;
  overflow: hidden;
}

#couple .flower-anim {
  position: absolute;
  width: 340px;
  height: 340px;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transform: scale(0.2);
  transition: opacity 1.4s, transform 1.4s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.18));
}

#couple .flower-anim2 {
  position: absolute;
  width: 120px;
  height: 120px;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transform: scale(0.2);
  transition: opacity 1.4s, transform 1.4s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 6px 18px rgba(0,0,0,0.18));
}

/* Tidak ada rotasi di posisi awal */
#couple .flower-top-left {
  top: -80px; left: -180px;
  transform: scale(0.2) rotate(50deg);
}
#couple .flower-top-right {
  top: -55px; right: -180px;
  transform: scale(0.2);
}
#couple .flower-top-right2 {
  top: 165px; right: -240px;
  transform: scale(0.2);
}
#couple .flower-bottom-left {
  bottom: -170px; left: -180px;
  transform: scale(0.2); /* default */
}
#couple .flower-bottom-right {
  bottom: -100px; right: -200px;
  transform: scale(0.2); /* default */
}
#couple .flower-bottom-right2 {
  bottom: -250px; right: 10px;
  transform: scale(0.2) ;
}

/* Saat show, fade-in dan membesar tanpa rotasi */
#couple.show .flower-top-left {
  opacity: 1;
  transform: scale(1) translate(60px, 60px) rotate(50deg);
  transition-delay: 0.2s;
}
#couple.show .flower-top-right {
  opacity: 1;
  transform: scale(1) translate(-60px, 60px);
  transition-delay: 0.5s;
}
#couple.show .flower-top-right2 {
  opacity: 1;
  transform: scale(1) translate(-60px, 60px) rotate(-30deg);
  transition-delay: 0.5s;
}
#couple.show .flower-bottom-left {
  opacity: 1;
  transform: scale(1) translate(60px, -60px) rotate(-12deg);
  transition-delay: 0.8s;
}
#couple.show .flower-bottom-right {
  opacity: 1;
  transform: scale(1) translate(-60px, -60px) rotate(-12deg);
  transition-delay: 1.1s;
}

#couple.show .flower-bottom-right2 {
  opacity: 1;
  transform: scale(1) translate(-60px, -60px) rotate(-30deg);
  transition-delay: 1.1s;
}

/* Bunga membentuk huruf C di pojok kanan atas section couple */
#couple .flower-c {
  position: absolute;
  width: 100px;
  height: 100px;
  pointer-events: none;
  z-index: 21;
  opacity: 0;
  transition: opacity 1.2s, transform 1.2s cubic-bezier(.68,-0.55,.27,1.55);
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.12));
}
/* Huruf C normal, jarak lebih jauh antar bunga */
#couple .flower-c1 { top: 60px; right: 10px; transform: rotate(-30deg) scale(0.7); transition-delay:1.2s; }
#couple .flower-c2 { top: 160px; right: 70px; transform: rotate(-10deg) scale(0.7); transition-delay: 0.9s;}
#couple .flower-c3 { top: 280px; right: 70px; transform: rotate(20deg) scale(0.7); transition-delay: 0.6s;}
#couple .flower-c4 { top: 380px; right: 10px; transform: rotate(40deg) scale(0.7); transition-delay: 0.3s;}

#couple.show .flower-c1,
#couple.show .flower-c2{
  opacity: 1;
  transform: scale(1) rotate(20deg);
}

#couple.show .flower-c3,
#couple.show .flower-c4{
  opacity: 1;
  transform: scale(1) rotate(-30deg);
}

/* Responsive untuk bunga di halaman couple (mobile) */
@media (max-width: 600px) {
  #couple .flower-anim {
    width: 230px;
    height: 230px;
  }
  #couple .flower-anim2 {
    width: 50px;
    height: 50px;
  }
  #couple .flower-top-left {
    top: -80px; left: -140px;
  }
  #couple .flower-top-right {
    top: -90px; right: -150px;
  }
  #couple .flower-top-right2 {
    top: 60px; right: -120px;
  }
  #couple .flower-bottom-left {
    bottom: -110px; left: -140px;
  }
  #couple .flower-bottom-right {
    bottom: -90px; right: -140px;
  }
  #couple .flower-bottom-right2 {
    bottom: -170px; right: 10px;
  }

  /* Huruf C di pojok kanan atas, ukurannya besar dan proporsional */
  #couple .flower-c {
    width: 90px;
    height: 90px;
  }
  #couple .flower-c1 { top: 40px; right: -28px; }
  #couple .flower-c2 { top: 120px; right: 30px; }
  #couple .flower-c3 { top: 220px; right: 30px; }
  #couple .flower-c4 { top: 300px; right: -20px; }
}

/* Responsive untuk couple-card-wrapper di mobile */
@media (max-width: 600px) {
  .couple-section {
    gap: 20px;
  }
  .couple-card-wrapper {
    width: 60vw;
    justify-content: center;
    margin: 0;
    padding: 0;
    /* hilangkan overflow horizontal */
    overflow-x: hidden;
  }
  .couple-card {
    width: 100vw;
    max-width: 98vw;
    min-width: 0;
    padding: 20px 6px;
    border-radius: 18px;
  }
}