#map{width:100%;height:400px}body{margin:0;padding:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:Lora,Georgia,serif;background:radial-gradient(circle at top,#f9f1dd,#e2cfaa 45%,#c3a474);color:#3c2a1a;padding:16px}.error{color:#ee6969}.pergaminho{position:relative;max-width:720px;width:100%;background:radial-gradient(circle at 10% 20%,#fdf4dc,#f1e0b5 40%,#e4cfa1,#d1b684);border-radius:18px;padding:32px 40px;box-shadow:0 10px 25px #00000040,0 0 0 2px #78502840;border:1px solid rgba(120,80,40,.3);overflow:hidden}.pergaminho:before,.pergaminho:after{content:"";position:absolute;top:0;bottom:0;width:26px;pointer-events:none;opacity:.4}.pergaminho:before{left:0;background:linear-gradient(to right,#5a3c1e8c,#0000);mix-blend-mode:multiply}.pergaminho:after{right:0;background:linear-gradient(to left,#5a3c1e8c,#0000);mix-blend-mode:multiply}.pergaminho-inner{border:1px dashed rgba(120,80,40,.5);border-radius:14px;padding:24px 24px 28px;position:relative}.pergaminho-inner:before,.pergaminho-inner:after{content:"";position:absolute;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(160,120,70,.45),transparent 70%);opacity:.45;pointer-events:none}.pergaminho-inner:before{top:-18px;left:-18px}.pergaminho-inner:after{top:-18px;right:-18px}.cabecalho{text-align:center;margin-bottom:16px}.cabecalho-frase{font-size:.98rem;letter-spacing:.06em;text-transform:uppercase;color:#462d19d9;margin-bottom:8px}.linha-decorativa{width:80px;height:1px;background:linear-gradient(to right,transparent,rgba(90,60,35,.9),transparent);margin:0 auto 12px}.nomes-noivos{font-family:Great Vibes,Playfair Display,serif;font-size:2.8rem;line-height:1.1;margin-bottom:4px}.e-simbolo{font-size:2.2rem;margin:0 8px}.subtitulo-noivos{font-size:.95rem;color:#462d19d9;margin-bottom:18px}.corpo-convite{text-align:center;margin-bottom:22px;padding:0 8px}.texto-principal{font-size:1rem;line-height:1.7;margin-bottom:20px}.frase-destaque{font-style:italic;font-size:1.05rem;margin-bottom:8px}.bloco-informacoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;font-size:.95rem}.info-card{border-radius:10px;padding:10px 12px;background:radial-gradient(circle at top,#ffffffbf,#e7d0a6cc);border:1px solid rgba(120,80,40,.35);box-shadow:0 3px 6px #0000001f}.info-label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#5a3c23e6;margin-bottom:4px}.info-valor{font-size:.97rem;font-weight:600}.local-completo{font-size:.95rem;margin-bottom:18px}.local-completo strong{font-weight:600}.detalhes-finais{font-size:.85rem;color:#462d19e6;margin-bottom:22px}.rsvp{border-top:1px dashed rgba(120,80,40,.4);padding-top:16px;margin-top:4px}.rsvp-titulo{font-family:Playfair Display,Lora,serif;font-size:1.2rem;margin-bottom:6px}.rsvp-subtitulo{font-size:.9rem;margin-bottom:12px}.rsvp-form{display:grid;grid-template-columns:1.6fr .9fr;gap:10px 16px;align-items:flex-end}.rsvp-campos{display:flex;flex-direction:column;gap:8px}.campo{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.campo label{font-size:.85rem;letter-spacing:.02em}.campo input,.campo select,.campo textarea{width:100%;font-size:.9rem;padding:6px 8px;border-radius:6px;border:1px solid rgba(120,80,40,.55);background:#fffcf4f2;outline:none;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease;resize:vertical}.campo textarea{min-height:60px;max-height:120px}.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:#965f28f2;box-shadow:0 0 0 2px #c28d4c66;background:#fffaf0}.campo small{font-size:.75rem;color:#5a3c23d9}.rsvp-acao{display:flex;flex-direction:column;gap:6px;align-items:stretch}.btn-confirmar{cursor:pointer;border:none;padding:9px 16px;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;border-radius:999px;background:linear-gradient(to right,#a3723c,#c79b60);color:#fdf7eb;font-weight:600;box-shadow:0 6px 10px #00000040;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn-confirmar:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 4px 10px #00000052}.btn-confirmar:active{transform:translateY(0);box-shadow:0 2px 5px #0000004d}.rsvp-privacidade{font-size:.74rem;color:#462d19e6}.rsvp-feedback{font-size:.82rem;margin-top:6px;min-height:18px}.rsvp-feedback--ok{color:#216a32}.rsvp-feedback--erro{color:#8b1e1e}.rodape{margin-top:16px;text-align:center;font-size:.78rem;color:#50321ee6}@media (max-width: 768px){.pergaminho{padding:24px 20px}.pergaminho-inner{padding:18px 16px 22px}.nomes-noivos{font-size:2.4rem}.bloco-informacoes{grid-template-columns:1fr;gap:8px}.rsvp-form{grid-template-columns:1fr}}@media (max-width: 480px){.nomes-noivos{font-size:2.1rem}.cabecalho-frase{font-size:.9rem}.texto-principal{font-size:.96rem}.pergaminho{padding:20px 14px}.pergaminho-inner{padding:16px 12px 20px}}
