@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Poppins:wght@300;400;500&display=swap";:root{--rosa: #FF6F91;--rosa-escuro: #E55778;--lavanda: #B388FF;--amarelo: #FFE882;--cinza: #FFF8FC;--preto: #1E1E1E}*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}body{font-family:Poppins,sans-serif;color:var(--preto);line-height:1.6}.hero{position:relative;height:100vh;background:url(/assets/bg.jpg) center/cover fixed;display:flex;align-items:center;justify-content:center;text-align:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff6f91bf,#b388ffbf);z-index:0}.overlay{position:relative;z-index:1;padding:2rem;width:min(90%,600px)}.title{font-family:Pacifico,cursive;font-size:clamp(2.5rem,8vw,4rem);color:var(--amarelo);animation:fadeSlide 1s ease-out;text-shadow:0 4px 10px rgba(0,0,0,.25)}.subtitle{font-size:clamp(1.2rem,4vw,2rem);margin-top:.5rem;color:#fff}.name{color:var(--amarelo)}.datetime{margin:1rem 0 2rem;font-weight:500;color:#fff;letter-spacing:.5px}.rsvp-btn{background:var(--rosa);color:#fff;border:none;padding:clamp(.75rem,2vw,1rem) clamp(1.5rem,5vw,2.5rem);font-size:clamp(.9rem,2vw,1.1rem);border-radius:50px;cursor:pointer;box-shadow:0 4px 15px #ff6f9166;transition:transform .25s,box-shadow .25s;animation:pop 2s infinite ease-in-out}.rsvp-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 6px 18px #ff6f918c}.message-text{background:var(--cinza);padding:1.5rem;border-left:5px solid var(--lavanda);border-radius:12px;margin:1.5rem 0 2rem;white-space:pre-line;word-break:break-word}.container{width:min(92%,1200px);margin:0 auto;padding:4rem 0}.details{display:grid;gap:1.5rem}@media (min-width: 700px){.details{grid-template-columns:repeat(3,1fr)}}.card{background:var(--cinza);padding:2rem;border-radius:16px;text-align:center;box-shadow:0 4px 16px #0000000d;transition:transform .25s,box-shadow .25s;border:2px solid var(--rosa-escuro);box-sizing:border-box}.card:hover{transform:translateY(-6px);box-shadow:0 6px 20px #00000014}.card span{font-size:clamp(2rem,6vw,2.5rem)}.card-link{text-decoration:none;color:inherit}.map-text{display:block;margin-top:.75rem;color:var(--rosa-escuro);font-weight:600}.card-link:hover .map-text{text-decoration:underline}.section-title{font-family:Pacifico,cursive;font-size:clamp(1.8rem,5vw,2.4rem);color:var(--rosa-escuro);margin-bottom:1.5rem;text-align:center}.rsvp-final{background:var(--lavanda);color:#fff;text-align:center;padding:3rem 1rem}.rsvp-final h3{font-family:Pacifico,cursive;font-size:clamp(1.6rem,4vw,2.6rem);margin-bottom:1.5rem;text-shadow:0 3px 6px rgba(0,0,0,.2)}footer{background:var(--rosa-escuro);color:#fff;text-align:center;padding:1rem;font-size:clamp(.9rem,2vw,1rem)}@keyframes fadeSlide{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}.fancy-arrow{position:absolute;width:clamp(3rem,10vw,6rem);height:auto;stroke:#f0f;stroke-width:2.5;filter:drop-shadow(0 0 6px #ff00ff) drop-shadow(0 0 12px #ff66cc) drop-shadow(0 0 20px #ffccff);transform-origin:center top;animation:float 2.5s ease-in-out infinite}.arrow-left-top,.arrow-right-top{top:calc(50% + 2rem)}.arrow-left,.arrow-right{top:calc(50% + 4rem)}.arrow-left-bottom,.arrow-right-bottom{top:calc(50% + 6rem)}.arrow-left-top,.arrow-left,.arrow-left-bottom{left:20%}.arrow-right-top,.arrow-right,.arrow-right-bottom{right:20%;left:auto}@keyframes float{0%,to{transform:translateY(-15px)}50%{transform:translateY(15px)}}@media (max-width: 1127px){.arrow-left-top,.arrow-right-top{top:calc(50% + 2rem + 140px)}.arrow-left,.arrow-right{top:calc(50% + 4rem + 140px)}.arrow-left-bottom,.arrow-right-bottom{top:calc(50% + 6rem + 140px)}}@media (max-width: 640px){.overlay{padding:1.5rem}.title{font-size:clamp(2rem,8vw,3.5rem)}.subtitle{font-size:clamp(1rem,5vw,1.8rem)}.rsvp-btn{padding:clamp(.5rem,3vw,.8rem) clamp(1rem,8vw,1.5rem);font-size:clamp(.8rem,3vw,1rem)}.fancy-arrow{width:clamp(2.5rem,15vw,4rem);stroke-width:2;filter:drop-shadow(0 0 4px #ff00ff) drop-shadow(0 0 8px #ff66cc)}}@media (min-width: 1024px){.fancy-arrow{width:clamp(4rem,8vw,8rem)}}*{margin:0;padding:0;box-sizing:border-box}body{min-width:320px;min-height:100vh}a{text-decoration:none;color:inherit}
