body,html{background:var(--page-bg);color:var(--text-primary);scroll-behavior:smooth;overflow-x:hidden}:root{--page-bg:#f7f4ea;--card-bg:#ffffff;--accent:#e7cd58;--accent-dark:#b79f33;--accent-soft:#fdf7db;--text-primary:#1f2230}main{background:var(--card-bg)}.bg-white{background-color:var(--card-bg)!important}.bg-gray-50{background-color:#fdf5ef!important}.text-primary-900{color:var(--accent)!important}.text-primary-700{color:var(--accent-dark)!important}.bg-primary-900{background-color:var(--accent)!important}.hover\:bg-primary-800:hover{background-color:var(--accent-dark)!important}.focus\:ring-primary-200:focus{--tw-ring-color:rgba(231, 205, 88, 0.4)!important}.bg-\[\#fff0f3\]{background-color:var(--accent-soft)!important}.border-gray-200{border-color:rgba(209,213,219,.7)!important}.shadow-inner{box-shadow:inset 0 6px 20px rgba(231,205,88,.25)!important}.vertical-label{writing-mode:vertical-rl;letter-spacing:.3em;font-size:10px}.section-title{font-family:UTM-Cafeta,serif;letter-spacing:.18em}.card-shadow{box-shadow:0 25px 65px rgba(15,23,42,.15)}@font-face{font-family:UTM-Azkia;src:url("/assets/fonts/UTM-Azkia.ttf") format("truetype");font-display:swap}@font-face{font-family:Ephesis-Regular;src:url("/assets/fonts/Ephesis-Regular.ttf") format("truetype");font-display:swap}@font-face{font-family:VNF-Shelia-Regular;src:url("/assets/fonts/VNF-Shelia-Regular.ttf") format("truetype");font-display:swap}@font-face{font-family:UTM-Cafeta;src:url("/assets/fonts/UTM-Cafeta.ttf") format("truetype");font-display:swap}@font-face{font-family:LNTH-RaphLanokFuture;src:url("/assets/fonts/LNTH-RaphLanokFuture.otf") format("opentype");font-display:swap}.font-azkia{font-family:UTM-Azkia,sans-serif}.font-ephesis{font-family:Ephesis-Regular,sans-serif}.font-shelia{font-family:VNF-Shelia-Regular,sans-serif}.font-cafeta{font-family:UTM-Cafeta,sans-serif}.font-raphlanok{font-family:LNTH-RaphLanokFuture,sans-serif}.font-roboto{font-family:Roboto,sans-serif}.font-barlow{font-family:Barlow,sans-serif}.font-arial{font-family:Arial,sans-serif}.font-abril-fatface{font-family:"Abril Fatface",sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}.active-heart{position:relative}.active-heart::before{content:"";position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:94px;height:94px;background:center center/cover no-repeat scroll content-box border-box url(/assets/images/heart.webp);filter:contrast(0%) grayscale(0%) hue-rotate(0deg) invert(0%) saturate(100%) sepia(0%) opacity(100%) brightness(200%);animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%{opacity:0}50%{opacity:1}100%{opacity:0}}.heart-couple::before{content:"";position:absolute;top:-64px;width:146px;height:146px;left:50%;margin-left:-73px;transform-origin:center center;background:center center/cover no-repeat scroll content-box border-box url(/assets/images/heart.webp);filter:contrast(0%) grayscale(0%) hue-rotate(0deg) invert(0%) saturate(100%) sepia(0%) opacity(100%) brightness(200%);animation:zoomInOutHeartCouple 2.5s ease-in-out infinite}@keyframes zoomInOutHeartCouple{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.active-heart-couple::before{content:"";position:absolute;top:-50%;left:54%}.line-heart{overflow:hidden;position:absolute;right:-172px;top:-28px}.line-heart img{filter:contrast(0%) grayscale(0%) hue-rotate(0deg) invert(0%) saturate(100%) sepia(0%) opacity(100%) brightness(200%) blur(0px)}.split-left{position:absolute;top:0;left:0;width:50%;height:100%}.split-right{position:absolute;top:0;right:0}.processing-wedding::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#000;text-align:center}.processing-wedding::after{content:"Đang diễn ra";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:24px;font-weight:700}.btn-loading{display:inline-flex;align-items:center;gap:.5rem}.spinner{width:1rem;height:1rem;animation:spin 1s linear infinite}.spinner .track{fill:none;stroke:currentColor;stroke-opacity:0.2}.spinner .head{fill:none;stroke:currentColor;stroke-linecap:round;stroke-dasharray:50;stroke-dashoffset:25}@keyframes spin{to{transform:rotate(360deg)}}.modal-open{overflow:hidden}#successModal{z-index:9999}#successModalBackdrop{z-index:9998}#successModal>div:not(#successModalBackdrop){z-index:10000;position:relative}