.rsvp-form,.timeline-content{box-shadow:0 5px 15px rgba(0,0,0,.1)}.cta-button,.submit-btn{text-transform:uppercase;letter-spacing:1px}*,.submit-loader{box-sizing:border-box}.modal-translation h3,body{font-family:Inter,sans-serif}#map .description,#map h4{width:249px;text-align:center}#details h3,#map .description,#map .map-info,#map .open-booking,#map h4,.footer,.hero,.location-card,.section-subtitle,.section-title{text-align:center}*{margin:0;padding:0}html{scroll-behavior:smooth}body{line-height:1.6;color:#333;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{font-size:2.5rem;margin-bottom:3rem;color:#2c3e50}.section-subtitle{margin-bottom:2rem;font-size:1.1rem;color:#7f8c8d}.nav-link,.nav-logo{color:#2c3e50;text-decoration:none}.navbar{position:absolute;top:0;width:100%;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:.3s}.hero,.submit-loader,.timeline,.timeline-item{position:relative}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 20px;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{font-weight:500;transition:color .3s}.nav-link:hover{color:#e74c3c}.hamburger{display:none;flex-direction:column;cursor:pointer}.hamburger span{width:25px;height:3px;background:#2c3e50;margin:3px 0;transition:.3s}.hero{height:100vh;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),url(https://images.unsplash.com/photo-1519741497674-611481863552?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#fff}.cta-button,.submit-loader.active{display:inline-block}.hero-content{z-index:2}.hero-title{font-size:4rem;margin-bottom:1rem;font-weight:400}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;font-weight:300}.hero-date{margin-bottom:3rem}.date-text{font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.location-text{font-size:1.2rem;opacity:.9}.cta-button{padding:15px 40px;background:0 0;border:2px solid #fff;color:#fff;text-decoration:none;font-weight:500;transition:.3s}.submit-btn,.time,.venue{font-weight:600}.faq-question,.submit-btn{transition:background .3s;cursor:pointer}.cta-button:hover{background:#fff;color:#2c3e50}.section{padding:100px 0}.section:nth-child(even){background:#f8f9fa}#details h3{color:#9c6f61;font-family:Charm,cursive;font-size:2rem;margin-bottom:25px}.timeline{max-width:800px;margin:0 auto}.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:#e74c3c;transform:translateX(-50%)}.timeline-item{margin-bottom:50px}.timeline-item:nth-child(odd) .timeline-content{margin-right:60%;text-align:right}.timeline-item:nth-child(even) .timeline-content{margin-left:60%}.timeline-item::before{content:'';position:absolute;left:50%;top:20px;width:20px;height:20px;background:#e74c3c;border-radius:50%;transform:translateX(-50%);z-index:2}.timeline-content{background:#fff;padding:30px;border-radius:10px}.timeline-content h3{color:#2c3e50;margin-bottom:10px;font-size:1.5rem}.time{color:#e74c3c;font-size:1.1rem;margin-bottom:10px}.venue{margin-bottom:5px}.address{color:#7f8c8d;font-size:.9rem}.location-section{background:#fff}.location-card,.rsvp-section{background:#f8f9fa}.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px;margin-bottom:50px}.location-card{padding:30px;border-radius:10px}.location-card h3{color:#2c3e50;margin-bottom:15px;font-size:1.5rem}.location-card p{margin-bottom:10px}#map{height:100%;width:100%}.rsvp-form{max-width:600px;margin:0 auto;background:#fff;padding:40px;border-radius:10px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:5px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:#9c6f61}.form-group textarea{resize:vertical;min-height:100px}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-group.highlight-error{animation:.5s ease-in-out shake;border:2px solid #e74c3c;border-radius:8px;padding:10px;background-color:rgba(231,76,60,.1)}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-label input[type=radio]{margin-right:8px;width:auto}.submit-btn{width:100%;padding:15px;background:#e74c3c;color:#fff;border:none;border-radius:5px;font-size:16px}.submit-btn:hover{background:#c0392b}.submit-loader{display:none;margin:0 0 5px;border-radius:50%;border:2px solid #ffffff38;border-top-color:#fff;animation:.6s linear infinite spinner;vertical-align:middle;margin-right:6px;display:none;width:16px;height:16px;top:2px}@keyframes spinner{to{transform:rotate(360deg)}}.faq-section{background:#fff}.faq-list{max-width:800px;margin:0 auto}.faq-item{margin-bottom:20px;border:1px solid #e9ecef;border-radius:10px;overflow:hidden}.faq-question{padding:25px;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.faq-question:hover{background:#e9ecef}.faq-question h3{margin:0;color:#2c3e50}.faq-icon{font-size:1.5rem;color:#9c6f61;transition:transform .3s;user-select:none}.faq-item.active .faq-icon{transform:rotate(45deg)}.faq-answer{padding:0 25px;max-height:0;overflow:hidden;transition:.3s}.faq-item.active .faq-answer{padding:25px;max-height:200px}.footer{background:#2c3e50;color:#fff;padding:30px 0}.phone-only{display:none}.modal-translation{display:none;z-index:2147483000;position:fixed;bottom:20px;right:20px;background-color:#fff;border-radius:16px;box-shadow:rgba(0,0,0,.16) 0 5px 40px;width:400px;max-width:90vw;max-height:704px;padding:20px 26px;opacity:0;transform:translate3d(0,50px,0)}.modal-translation.active{display:block;animation:.7s fromBottom;animation-fill-mode:forwards;animation-delay:.8s}@keyframes fromBottom{to{opacity:1;transform:translate3d(0,0,0)}}.modal-translation h3{font-size:1.5em;font-weight:700;margin-bottom:20px}.modal-translation p{display:block;-webkit-font-smoothing:antialiased;font-size:16px;line-height:27.2px;margin-bottom:13.6px}.modal-translation-button{display:inline-block;background:#3ac601;margin:0 10px 0 0;border-radius:4px;padding:12px 22px;color:#fff!important;font-weight:700;font-size:.95em}.modal-translation-ignore,.modal-translation-ignore:hover{background:0 0!important;cursor:pointer;color:#333941!important}.modal-translation-button:hover{text-decoration:none;background:#2f9c03}.modal-translation-button svg{width:25px;vertical-align:middle;display:inline-block}@media (max-width:887px){.location-grid{grid-template-columns:1fr}.hamburger{display:flex}.nav-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;width:100%;flex-direction:column;background-color:#fff;text-align:center;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.1);padding:1rem 0;gap:0;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .3s,transform .3s}.nav-menu.active{opacity:1;transform:translateY(0);pointer-events:auto}.nav-link{display:block;padding:1rem 0;transition:background-color .2s,color .2s}.nav-link:hover{background-color:#f8f9fa;color:#9c6f61}.hero-title{font-size:3.5rem!important}.section-title{font-size:2rem}.timeline::before{left:20px}.timeline-item::before{left:20px}.timeline-item:nth-child(even) .timeline-content,.timeline-item:nth-child(odd) .timeline-content{margin-left:60px;margin-right:0;text-align:left}.radio-group{flex-direction:column;gap:10px}}@media (max-width:480px){.hero-title{font-size:4.3rem!important;line-height:1.4em}.location-text{font-size:1.5rem!important}.hero{padding-top:120px!important;min-height:85vh!important}.phone-only{display:block}.registry-card{padding:25px!important}.bank-details{max-width:100%!important}.rsvp-form{padding:20px}.container{padding:0 15px}}.success-message{background:#d4edda;color:#155724;padding:15px;border-radius:5px;margin-bottom:20px;border:1px solid #c3e6cb;display:none}.success-message.show{display:block}.rsvp-form.submitted>:not(.success-message){display:none!important}.rsvp-form.submitted .success-message{display:block;text-align:center;padding:40px 20px;font-size:18px;line-height:1.6;background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:8px;margin:0}.map-label-img{display:inline-block;width:125px;height:125px;margin-bottom:10px;background-size:cover}#map .hotel-image{display:inherit;margin:0 auto}#map h4{font-size:21px;margin:15px 0}#map .description{font-size:12px;margin:0 0 15px;font-size:1.2em}#map .open-booking{display:inline-block;border-bottom:2px dashed #b57f9a;color:#b57f9a;padding:0 3px;font-size:1.2em;text-decoration:none;margin-bottom:15px}#map .open-booking:hover{color:#fff;background:#b57f9a}.hotel-eurostars-plaza-mayor{background-image:url(https://romieyalvaro.com/imgs/hotel-eurostars-plaza-mayor.png)}.hotel-eurostars-gran-via{background-image:url(https://romieyalvaro.com/imgs/hotel-eurostars-gran-via.png)}.hotel-social-hub{background-image:url(https://romieyalvaro.com/imgs/hotel-social-hub.png)}.hotel-madfor{background-image:url(https://romieyalvaro.com/imgs/hotel-madfor.png)}.hotel-porcel{background-image:url(https://romieyalvaro.com/imgs/hotel-porcel.png)}.hotel-acta-piramides{background-image:url(https://romieyalvaro.com/imgs/hotel-acta-piramides.png)}.basilica{background-image:url(https://romieyalvaro.com/imgs/basilica.png)}.account-number{font-weight:700;font-size:1.4em;margin:10px 0}
