.font-moul{font-family:Moul,cursive,serif}.font-moulpali{font-family:Moulpali,cursive,serif}.font-siemreap{font-family:"Siemreap", "Kantumruy Pro", var(--font-khmer), sans-serif}.font-metal{font-family:Metal,cursive,serif}.font-kantumruy{font-family:"Kantumruy Pro", "Kantumruy", var(--font-khmer), "Noto Sans Khmer", sans-serif}.font-nokora{font-family:Nokora,Noto Serif Khmer,serif}.font-noto-khmer{font-family:Noto Sans Khmer,Kantumruy,sans-serif}.font-fasthand{font-family:Fasthand,cursive}.font-great-vibes{font-family:Great Vibes,cursive}.font-guest-name{font-family:Moul,Moulpali,Kantumruy Pro,cursive,serif}.font-roboto{font-family:Roboto,sans-serif}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 #cc990073}50%{transform:scale(1.045);box-shadow:0 0 0 12px #c900}}.animate-breathe{animation:2.6s ease-in-out infinite breathe}@keyframes img-shine{0%{transform:translate(-160%)skew(-18deg)}55%{transform:translate(260%)skew(-18deg)}to{transform:translate(260%)skew(-18deg)}}.img-shine{position:relative;overflow:hidden}.img-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#fff0 0%,#ffffff59 45%,#fff6e08c 50%,#ffffff59 55%,#fff0 100%);width:55%;animation:7s ease-in-out infinite img-shine;position:absolute;top:-30%;bottom:-30%;left:0;transform:translate(-160%)skew(-18deg)}.img-shine-stagger:after{animation-delay:.9s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:1s cubic-bezier(.4,0,.2,1) forwards fade-in}.animate-fade-in-delay{animation:1s cubic-bezier(.4,0,.2,1) .3s both fade-in}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:1.2s cubic-bezier(.4,0,.2,1) forwards fade-in-up}.animate-fade-in-up-fast{animation:.8s cubic-bezier(.4,0,.2,1) both fade-in-up}.animate-fade-in-up-fast-delay-1{animation:.8s cubic-bezier(.4,0,.2,1) .1s both fade-in-up}.animate-fade-in-up-fast-delay-2{animation:.8s cubic-bezier(.4,0,.2,1) .2s both fade-in-up}.animate-fade-in-up-fast-delay-3{animation:.8s cubic-bezier(.4,0,.2,1) .3s both fade-in-up}@keyframes float-gentle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.03)}}.animate-float-gentle{animation:4s ease-in-out infinite float-gentle}.framebox{background:url(/templates/wedding/floral-romance/images/frame02.png) 50%/contain no-repeat;min-height:clamp(100px,16vh,140px)}.text_wrap{padding-left:8px!important;padding-right:8px!important}.template-scroll::-webkit-scrollbar{width:4px}.template-scroll::-webkit-scrollbar-thumb{background:#ca8a044d;border-radius:4px}@keyframes petal-fall{0%{opacity:0;transform:translateY(-10vh)translate(0)rotate(0)scale(.8)}15%{opacity:.85}50%{transform:translateY(50vh)translate(30px)rotate(180deg)scale(1)}85%{opacity:.85}to{opacity:0;transform:translateY(112vh)translate(-20px)rotate(360deg)scale(.9)}}.floating-petal{will-change:transform, opacity;animation-name:petal-fall;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-iteration-count:infinite;position:absolute;top:0}.petal-1{animation-duration:11s;animation-delay:0s;left:8%}.petal-2{animation-duration:14s;animation-delay:2.5s;left:28%}.petal-3{animation-duration:12s;animation-delay:4.5s;left:52%}.petal-4{animation-duration:15s;animation-delay:1.2s;left:74%}.petal-5{animation-duration:13s;animation-delay:5s;left:88%}.petal-6{animation-duration:16s;animation-delay:7s;left:42%}.cover-gradient-warmth{background:radial-gradient(circle at 50% 35%,#fff8f08c 0%,#fdedf273 50%,#f7dee6b3 100%)}.cover-gradient-sage{background:radial-gradient(circle at 50% 40%,#ffffff26 0%,#ebf4ed59 50%,#d7e8dc8c 100%)}.kbach-guest-card-sage{background:linear-gradient(135deg,#fffffff0 0%,#f8fcf9e0 100%);border:1px solid #c5993359;box-shadow:0 4px 20px -2px #163c2d14,0 2px 6px -1px #b8860b1f}.royal-date-medallion-sage{background:linear-gradient(135deg,#fffffff2 0%,#f6fbf7e6 50%,#f0f8f2f2 100%);border:1px solid #c5993359;box-shadow:0 4px 18px -2px #163c2d14,inset 0 0 0 1px #c599334d}@keyframes float-mote{0%,to{opacity:.3;transform:translateY(0)scale(.9)}50%{opacity:.85;transform:translateY(-22px)scale(1.35)}}.golden-mote{filter:blur(.5px);pointer-events:none;background:radial-gradient(circle,#fde047 0%,#d9770666 60%,#0000 100%);border-radius:9999px;animation:ease-in-out infinite float-mote;position:absolute}.mote-1{width:8px;height:8px;animation-duration:4.5s;top:22%;left:18%}.mote-2{width:6px;height:6px;animation-duration:5.5s;animation-delay:1.5s;top:46%;left:82%}.mote-3{width:9px;height:9px;animation-duration:6s;animation-delay:2.2s;top:68%;left:24%}.mote-4{width:7px;height:7px;animation-duration:5s;animation-delay:3s;top:82%;left:72%}
