@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Great+Vibes&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#2c2523;-webkit-font-smoothing:antialiased;background:#fbf8f2;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;overflow-x:hidden}.wedding-app-root{background:radial-gradient(circle at 50% 0,#fff9ee 0%,#f7f0e4 45%,#efe5d5 100%);flex-direction:column;align-items:center;width:100%;min-height:100vh;display:flex;position:relative}.wedding-bg-overlay{opacity:.12;pointer-events:none;z-index:0;background-image:radial-gradient(#c59b27 .75px,#0000 .75px),radial-gradient(#c59b27 .75px,#fbf8f2 .75px);background-position:0 0,18px 18px;background-size:36px 36px;position:fixed;inset:0}.app-header{z-index:20;justify-content:space-between;align-items:center;width:100%;max-width:680px;padding:24px 20px 14px;display:flex;position:relative}@media (width<=640px){.app-header{padding:16px 16px 10px}.brand-names{font-size:15px}}.brand-badge{cursor:pointer;align-items:center;gap:12px;display:flex}.om-symbol{color:#f8d176;background:linear-gradient(135deg,#8b1e2f 0%,#630f1c 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-family:Cinzel,serif;font-size:18px;font-weight:700;animation:3s ease-in-out infinite alternate gentlePulse;display:flex;box-shadow:0 4px 12px #8b1e2f40}.brand-names{color:#55131e;letter-spacing:.5px;font-family:Cinzel,serif;font-size:18px;font-weight:700}.brand-sub{text-transform:uppercase;letter-spacing:1.5px;color:#9c7320;font-size:11px;font-weight:600;display:block}.nav-btn{cursor:pointer;color:#7b1828;background:#fff;border:1px solid #d4af37;border-radius:9999px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #d4af3726}.nav-btn:hover{color:#fff;background:#7b1828;border-color:#7b1828;transform:translateY(-1px)}.main-stage{z-index:10;flex-direction:column;flex:1;align-items:center;width:100%;max-width:640px;padding:30px 20px 40px;display:flex;position:relative}.luxury-card{box-sizing:border-box;text-align:center;background:#fff;border:1.5px solid #ebd9a9;border-radius:28px;width:100%;padding:36px 32px 30px;animation:.5s cubic-bezier(.16,1,.3,1) forwards cardFadeUp;position:relative;box-shadow:0 16px 45px -10px #641e281f,0 1px 3px #0000000d}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.luxury-card{border-radius:22px;padding:24px 18px 22px}}.shloka-badge{color:#8b2535;letter-spacing:1.2px;background:#fff8eb;border:1px solid #e2c879;border-radius:9999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 18px;font-size:12px;font-weight:700;display:inline-flex}.ganesh-circle-frame{background:radial-gradient(circle,#fffdf8 0%,#faeccf 100%);border:2.5px solid #dcb651;border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;margin:0 auto 16px;animation:4s ease-in-out infinite floatGanesh;display:flex;position:relative;box-shadow:0 10px 28px #d4af374d,inset 0 0 16px #ffd70033}@keyframes floatGanesh{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.ganesh-circle-frame:before{content:"";border:1.5px dashed #dcb651;border-radius:50%;animation:24s linear infinite rotateHalo;position:absolute;inset:-6px}@keyframes rotateHalo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invitation-intro{text-transform:uppercase;letter-spacing:1.8px;color:#8b6b23;margin-top:10px;font-size:11px;font-weight:700}.couple-title-wrap{flex-direction:column;justify-content:center;align-items:center;width:100%;margin:12px auto 18px;display:flex}.bride-name{color:#701625;letter-spacing:2px;text-align:center;text-shadow:0 1px 3px #7016251a;font-family:Cinzel,serif;font-size:36px;font-weight:800;line-height:1.15}.weds-divider{justify-content:center;align-items:center;gap:16px;width:100%;margin:4px 0;display:flex}.divider-line{background:linear-gradient(90deg,#0000,#d4af37,#0000);width:60px;height:1px}.weds-text{color:#c59b27;letter-spacing:1px;padding:0 6px;font-family:Great Vibes,cursive;font-size:28px;font-weight:500;line-height:1}.groom-name{color:#701625;letter-spacing:2px;text-align:center;text-shadow:0 1px 3px #7016251a;font-family:Cinzel,serif;font-size:36px;font-weight:800;line-height:1.15}@media (width<=640px){.bride-name,.groom-name{letter-spacing:1px;font-size:28px}}.info-badges-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin:16px 0;display:grid}.info-badge-card{text-align:left;background:#faf6ee;border:1px solid #ebd9a9;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.info-badge-icon{background:#fff;border:1px solid #ebd9a9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.info-badge-label{text-transform:uppercase;color:#9c7320;letter-spacing:.5px;font-size:10px;font-weight:600}.info-badge-value{color:#4a121b;font-family:Cinzel,serif;font-size:14px;font-weight:700}.hotel-notice-card{text-align:left;background:#fcf9f2;border:1px solid #ebd9a9;border-left:3.5px solid #8b1e2f;border-radius:14px;margin:16px 0 20px;padding:14px 18px}.hotel-notice-title{color:#701625;align-items:center;gap:7px;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.hotel-notice-text{color:#554440;font-size:12.5px;line-height:1.55}.primary-gold-btn{color:#fff;letter-spacing:.5px;cursor:pointer;background:linear-gradient(135deg,#8b1e2f 0%,#680e1b 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 24px;font-size:16px;font-weight:700;transition:all .25s;display:inline-flex;box-shadow:0 10px 24px #8b1e2f52}.primary-gold-btn:hover{background:linear-gradient(135deg,#a12338 0%,#7d1222 100%);transform:translateY(-2px);box-shadow:0 14px 28px #8b1e2f73}.primary-gold-btn:active{transform:translateY(1px)}.form-section-card{text-align:left;background:#faf6ef;border:1px solid #ebd9a9;border-radius:16px;margin-bottom:14px;padding:16px 20px}.form-section-title{text-transform:uppercase;color:#801d2c;letter-spacing:.5px;border-bottom:1px solid #ebd9a9;align-items:center;gap:7px;margin-bottom:12px;padding-bottom:6px;font-size:12px;font-weight:700;display:flex}.form-group{margin-bottom:10px}.form-group:last-child{margin-bottom:0}.form-label{color:#3b2c28;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.form-control{color:#2b201d;background:#fff;border:1.5px solid #d9c79f;border-radius:12px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .2s}.form-control:focus{border-color:#8b1e2f;box-shadow:0 0 0 3px #8b1e2f1f}.form-control::placeholder{color:#a89a94}.clean-dropzone{text-align:center;cursor:pointer;background:#fff;border:1.5px dashed #caa75c;border-radius:12px;padding:14px 16px;transition:all .2s}.clean-dropzone:hover{background:#fffbf3;border-color:#8b1e2f}.success-badge-circle{color:#059669;background:#ecfdf5;border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;animation:.8s bounceSuccess;display:flex}@keyframes bounceSuccess{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.summary-table{text-align:left;background:#faf6ef;border:1px solid #ebd9a9;border-radius:16px;margin:20px 0;padding:18px}.summary-row{border-bottom:1px dashed #e5d2a6;justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.summary-row:last-child{border-bottom:none}
