.carousel{position:relative;width:100%;max-width:500px;margin:20px auto 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000026}.carousel-images{position:relative;width:100%;padding-bottom:75%;background:#f5f5f5}.carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease-in-out}.carousel-image.active{opacity:1;z-index:1}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;color:#2e7d32;border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #0003}.carousel-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #0000004d}.carousel-arrow-left{left:15px}.carousel-arrow-right{right:15px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid white;background:#ffffff80;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot:hover{background:#fffc;transform:scale(1.2)}.carousel-dot.active{background:#fff;box-shadow:0 0 8px #fffc}@media (max-width: 768px){.carousel{margin:15px auto 0}.carousel-arrow{width:40px;height:40px;font-size:1.5rem}.carousel-arrow-left{left:10px}.carousel-arrow-right{right:10px}.carousel-dots{bottom:15px}.carousel-dot{width:10px;height:10px}}@media (max-width: 480px){.carousel-arrow{width:35px;height:35px;font-size:1.3rem}}.landing-container{max-width:900px;margin:0 auto;padding:40px 20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);min-height:100vh}.landing-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #2e7d3226;padding:50px 40px}.landing-title{color:#2e7d32;font-size:2.2rem;font-weight:700;margin:30px 0 20px;text-align:center}.landing-title:first-child{margin-top:0}.landing-text{color:#424242;font-size:1.1rem;line-height:1.8;margin-bottom:20px;text-align:left}.landing-text strong{color:#2e7d32;font-weight:600}@media (max-width: 768px){.landing-content{padding:30px 25px}.landing-title{font-size:1.8rem}.landing-text{font-size:1rem}}@media (max-width: 480px){.landing-container{padding:20px 10px}.landing-content{padding:25px 20px;border-radius:12px}.landing-title{font-size:1.5rem}.landing-text{font-size:.95rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);min-height:100vh;padding:20px}.container{max-width:700px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 8px 32px #2e7d3226;padding:40px;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid #4caf50}.title{font-size:2.5rem;color:#2e7d32;margin-bottom:10px;font-weight:700}.subtitle{font-size:1.2rem;color:#66bb6a;font-weight:400;margin-bottom:20px}.intro-text{background:#f1f8f4;padding:20px;border-radius:12px;margin-bottom:30px;border-left:4px solid #4caf50}.intro-text p{color:#424242;line-height:1.6;font-size:1rem}.reception-section{margin-bottom:40px;padding:25px;background:#fafafa;border-radius:12px;border:2px solid #e8f5e9}.reception-section p{margin-bottom:15px;line-height:1.6}.reception-section p:last-of-type{margin-bottom:20px}.reception-section a{color:#2e7d32;text-decoration:none;font-weight:500}.reception-section a:hover{color:#1b5e20;text-decoration:underline}.reception-title{color:#2e7d32;font-size:1.8rem;margin-bottom:15px;font-weight:600}.reception-details{background:#fff;padding:15px;border-radius:8px;margin-bottom:25px;color:#424242;line-height:1.8;border-left:4px solid #81c784}.guest-subtitle{color:#388e3c;font-size:1.2rem;margin:25px 0 15px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2e7d32;font-weight:500;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #c8e6c9;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group textarea{resize:vertical;min-height:80px}.btn-primary{width:100%;padding:16px;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d;margin-top:20px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-primary:active{transform:translateY(0)}.btn-secondary{padding:12px 24px;background:#fff;color:#4caf50;border:2px solid #4caf50;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:20px}.btn-secondary:hover{background:#4caf50;color:#fff}.confirmation{min-height:400px;display:flex;align-items:center;justify-content:center}.confirmation-box{text-align:center;padding:40px}.confirmation-box h1{color:#2e7d32;font-size:2.5rem;margin-bottom:20px}.confirmation-message{color:#424242;font-size:1.1rem;line-height:1.8;margin-bottom:30px;max-width:600px}.loading{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{width:50px;height:50px;border:4px solid #c8e6c9;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:#2e7d32;font-size:1.1rem}.error{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.error h1{color:#d32f2f;margin-bottom:15px}.error p{color:#424242;font-size:1.1rem}@media (max-width: 768px){body{padding:10px}.container{padding:25px 20px;border-radius:12px}.title{font-size:2rem}.subtitle{font-size:1rem}.reception-section{padding:20px 15px}.reception-title{font-size:1.5rem}.intro-text{padding:15px}.reception-details{padding:12px;font-size:.95rem}.confirmation-box{padding:20px}.confirmation-box h1{font-size:2rem}.confirmation-message{font-size:1rem}}@media (max-width: 480px){.title{font-size:1.75rem}.reception-title{font-size:1.3rem}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;font-size:.95rem}.btn-primary{padding:14px;font-size:1rem}}
