@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Cinzel+Decorative:wght@700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Playfair Display,serif;color:#333;overflow-x:hidden;background:#fff}.hero{background:linear-gradient(#c41e3a26,#c41e3a26),url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><rect fill="%23f5f5f5" width="1200" height="800"/><path fill="%23c41e3a" opacity="0.05" d="M0,400 Q300,200 600,400 T1200,400 L1200,800 L0,800 Z"/></svg>') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;color:#c41e3a}.hero-content{max-width:800px;padding:40px;background:#fffffff2;border:3px solid #c41e3a;box-shadow:0 20px 60px #c41e3a4d}.hero-hearts{font-size:40px;margin-bottom:20px}.hero h1{font-family:Great Vibes,cursive;font-size:80px;color:#c41e3a;margin:20px 0;line-height:1.2}.hero .divider{width:200px;height:40px;margin:30px auto;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 40"><path d="M10,20 Q50,10 100,20 T190,20" fill="none" stroke="%23c41e3a" stroke-width="2"/><circle cx="100" cy="20" r="6" fill="%23c41e3a"/><path d="M85,20 Q90,15 95,20 M105,20 Q110,15 115,20" fill="none" stroke="%23c41e3a" stroke-width="2"/></svg>') center/contain no-repeat}.hero-date{font-size:24px;font-weight:700;margin:20px 0}.hero-venue{font-size:16px;margin-top:20px;line-height:1.8}.scroll-down{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#c41e3a;font-size:30px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-20px)}}section{padding:100px 20px;max-width:1200px;margin:0 auto}.section-title{text-align:center;margin-bottom:60px}.section-title h2{font-family:Great Vibes,cursive;font-size:60px;color:#c41e3a;margin-bottom:20px}.section-title p{font-size:18px;color:#666}.timeline{background:linear-gradient(135deg,#fff,#fdf5f7)}.countdown{display:flex;justify-content:center;gap:40px;margin-bottom:60px;flex-wrap:wrap}.countdown-item{text-align:center;background:#fff;padding:30px 10px;border-radius:15px;box-shadow:0 10px 30px #c41e3a1a;border:2px solid #c41e3a;min-width:120px;max-width:120px}.countdown-number{font-size:48px;font-weight:700;color:#c41e3a;display:block}.countdown-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:2px;margin-top:10px}.timeline-events{display:grid;gap:30px;max-width:800px;margin:0 auto}.timeline-event{display:flex;gap:30px;align-items:flex-start;background:#fff;padding:30px;border-radius:15px;border-left:5px solid #c41e3a;box-shadow:0 5px 20px #0000001a;transition:transform .3s}.timeline-event:hover{transform:translate(10px)}.rings-wedding{background-image:url(data:image/png;base64,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);width:40px;height:40px;background-size:contain;background-repeat:no-repeat}.timeline-icon{font-size:40px;color:#c41e3a;min-width:60px;text-align:center}.timeline-content h3{color:#c41e3a;margin-bottom:10px;font-size:24px}.timeline-time{font-weight:700;margin-bottom:5px}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}.load-more-btn{display:inline-block;margin:30px auto 0;padding:12px 24px;background:#c41e3a;color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.gallery-item{position:relative;overflow:hidden;border-radius:15px;aspect-ratio:1;background:linear-gradient(135deg,#fdf5f7,#c41e3a);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #0003;cursor:pointer;transition:transform .3s}.gallery-item:hover{transform:scale(1.05)}.gallery-placeholder{font-family:Great Vibes,cursive;font-size:40px;color:#fff;text-align:center;padding:20px}.wishes{background:linear-gradient(135deg,#fdf5f7,#fff)}.wishes-form{max-width:600px;margin:0 auto;background:#fff;padding:40px;border-radius:20px;box-shadow:0 15px 40px #c41e3a26;border:2px solid #c41e3a}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;color:#c41e3a;font-weight:700}.form-group input,.form-group textarea{width:100%;padding:15px;border:2px solid #f0f0f0;border-radius:10px;font-family:inherit;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#c41e3a}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;padding:18px;background:#c41e3a;color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:background .3s}.submit-btn:hover{background:#a01830}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.success-message{background:#d4edda;color:#155724;padding:15px;border-radius:10px;margin-top:20px;text-align:center;border:2px solid #c3e6cb;display:none}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:10px;margin-top:20px;text-align:center;border:2px solid #f5c6cb;display:none}.wishes-list{max-width:800px;margin:60px auto 0;display:none}.wish-item{background:#fff;padding:25px;margin-bottom:20px;border-radius:15px;border-left:4px solid #c41e3a;box-shadow:0 5px 15px #0000001a}.wish-author{font-weight:700;color:#c41e3a;margin-bottom:10px}.wish-message{color:#555;line-height:1.6}footer{background:#c41e3a;color:#fff;text-align:center;padding:40px 20px}footer .hearts{font-size:30px;margin-bottom:20px}@media(max-width:768px){.hero-content{padding:20px}.hero h1{font-size:50px}.section-title h2{font-size:40px}.countdown{gap:20px}.countdown-item{padding:20px 30px}.timeline-event{flex-direction:column}.wishes-form{padding:25px}.qr-container{gap:40px}}.map-section{background:#fff}.map-container{width:100%;max-width:1000px;margin:0 auto;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #0000001a;border:2px solid #c41e3a;position:relative;padding-top:56.25%;height:0;aspect-ratio:16 / 9}.map-container iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.map-info{max-width:1000px;margin:20px auto 60px;text-align:center;color:#555}@media(max-width:768px){.map-container{padding-top:66.666%}}
