.reload-photos-btn{display:block;margin:20px auto;padding:10px 15px;background-color:#f8f4e3;border:2px solid #d4c7a5;border-radius:5px;font-family:inherit;font-size:20px;cursor:pointer;transition:all .3s}.reload-photos-btn:hover{background-color:#e8d8b5}.contact-info{padding:5rem 2rem;background-color:var(--color-secondary);text-align:center}.contact-container{max-width:800px;margin:0 auto;padding:3rem;background-color:#fff;border-radius:5px;box-shadow:0 10px 30px #0000001a}.contact-info h2{font-size:2.5rem;margin-bottom:2rem;color:var(--color-primary);font-family:var(--font-main)}.contact-info p{font-size:1.1rem;color:var(--color-text-light);line-height:1.8;margin-bottom:1.5rem;font-family:var(--font-secondary)}.contact-methods{display:flex;justify-content:center;gap:2rem;margin-top:2rem}.contact-icon{color:var(--color-primary);margin-bottom:1rem;stroke:var(--color-primary);transition:transform .3s ease}.contact-method{display:flex;flex-direction:column;align-items:center;padding:1.5rem;transition:all .3s ease;border-radius:8px;background-color:#b37e490d;position:relative;cursor:pointer}.contact-method:hover{background-color:#b37e491a;transform:translateY(-5px);box-shadow:0 5px 15px #b37e4926}.contact-method:active{transform:translateY(-2px)}.tooltip{position:absolute;bottom:-10px;left:50%;transform:translate(-50%) translateY(100%);background-color:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;opacity:0;visibility:hidden;transition:all .3s ease;white-space:nowrap;font-family:var(--font-secondary);font-weight:400}.tooltip:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);border-width:0 5px 5px 5px;border-style:solid;border-color:transparent transparent var(--color-primary) transparent}.tooltip.show{opacity:1;visibility:visible;bottom:-25px}.contact-method:hover .tooltip{opacity:.8;visibility:visible}@media(max-width:768px){.contact-methods{flex-direction:column;gap:1rem}}:root{--color-primary: #b37e49;--color-secondary: #f5f1e9;--color-text: #3a3a3a;--color-text-light: #666;--font-main: "Playfair Display", serif;--font-secondary: "Montserrat", sans-serif;--font-handwritten: "Rochester", cursive}.couple-section-container{padding-top:5rem;padding-bottom:5rem;background-color:#fff}.couple-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:0 2rem;max-width:1200px;margin:0 auto 5rem}.couple-photo img{width:100%;height:auto;border-radius:5px;box-shadow:0 10px 30px #0000001a}.couple-text h2{font-size:2.5rem;margin-bottom:1.5rem;color:var(--color-primary)}.couple-text p{font-size:1.1rem;color:var(--color-text-light)}main{font-family:var(--font-secondary);color:var(--color-text);line-height:1.6;background-color:var(--color-secondary)}h1,h2,h3{font-family:var(--font-main);font-weight:400}.hero{height:100vh;background-image:url(/images/palacio_concepcion.jpeg);background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;text-shadow:-1px -1px 40px black,1px -1px 40px black,-1px 1px 40px black,1px 1px 40px black;color:#fff;margin-bottom:5rem}.overlay{background-color:#00000040;padding:2rem;border-radius:5px}.hero h1{font-size:5rem;margin-bottom:.5rem;font-family:var( --font-main)}.date{font-size:1.8rem;letter-spacing:3px}.photos-gallery{padding:4rem 2rem;text-align:center;background-color:var(--color-secondary);position:relative}.photos-gallery h2{font-size:2.5rem;margin-bottom:4rem;color:var(--color-primary)}.vintage-photos{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem;background-color:#f9f7f3;box-shadow:0 5px 15px #0000000d}.photo-frame{position:relative;margin:1.5rem;transition:transform .3s ease;z-index:1}.photo-frame:hover{transform:scale(1.05) rotate(0)!important;z-index:5}.frame{border:12px solid #fff;box-shadow:0 0 15px #00000026,2px 2px 5px #0000001a;overflow:hidden;position:relative;width:280px;height:400px;background-color:#fff}.frame img{width:100%;height:calc(100% - 40px);object-fit:cover;filter:sepia(20%);transition:filter .3s ease}.frame img:hover{filter:sepia(0%)}.photo-caption{position:absolute;bottom:-10px;left:0;width:100%;padding:10px 8px;text-align:center;font-family:var(--font-handwritten);font-size:1.2rem;color:var(--color-text)}.tape{position:absolute;top:-20px;left:50%;transform:translate(-50%) rotate(-5deg);width:80px;height:40px;background-color:#fff9;border:1px solid rgba(0,0,0,.1);box-shadow:0 0 5px #0000000d}.countdown-section{text-align:center;padding:5rem 2rem;background-color:#fff;margin:5rem 0;position:relative;box-shadow:0 5px 15px #0000000d}.countdown-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/texture.png);opacity:.1;pointer-events:none}.countdown-section h2{font-size:2.5rem;margin-bottom:3rem;color:var(--color-primary)}.countdown{display:flex;justify-content:center;gap:3rem}.countdown-item{display:flex;flex-direction:column;align-items:center;background-color:var(--color-secondary);padding:1.5rem;border-radius:5px;box-shadow:0 5px 15px #0000000d;min-width:120px}.countdown-item span:first-child{font-size:3.5rem;font-weight:300;color:var(--color-primary);font-family:var(--font-main)}.label{font-size:1rem;text-transform:uppercase;letter-spacing:2px;margin-top:.5rem;color:var(--color-text-light)}.location-section{padding:5rem 2rem;text-align:center;background-color:var(--color-secondary);position:relative}.location-section h2{font-size:2.5rem;margin-bottom:3rem;color:var(--color-primary)}.location-container{display:grid;grid-template-columns:1fr 2fr;gap:3rem;max-width:1200px;margin:0 auto}.location-info{text-align:left;padding:2rem;background-color:#fff;border-radius:5px;box-shadow:0 5px 15px #0000000d;transform:rotate(-1deg)}.location-info h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--color-primary)}.location-info p{margin-bottom:.7rem;color:var(--color-text-light)}.button{display:inline-block;margin-top:1.5rem;padding:.8rem 1.5rem;background-color:var(--color-primary);color:#fff;text-decoration:none;border-radius:3px;transition:background-color .3s}.button:hover{background-color:#c29e7c}.location-map{border:12px solid white;border-radius:5px;overflow:hidden;box-shadow:0 10px 25px #0000001a;transform:rotate(1deg)}.hotels-section{padding:5rem 2rem;text-align:center;background-color:var(--color-secondary);position:relative;margin:5rem 0}.hotels-section h2{font-size:2.5rem;margin-bottom:2rem;color:var(--color-primary)}.hotels-intro{max-width:800px;margin:0 auto 3rem}.hotels-list{max-width:900px;margin:0 auto;background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 5px 15px #0000000d}.hotel-item{display:grid;grid-template-columns:60px 1fr;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #f0e9df;text-align:left}.hotel-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.hotel-number{background-color:#9fd3c7;color:#333;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;margin-top:22.4px}.hotel-info h3{font-size:1.4rem;margin-bottom:.5rem;color:var(--color-primary)}.hotel-info p{margin-bottom:.5rem;font-size:1rem;color:var(--color-text-light)}.hotel-info a{color:var(--color-primary);text-decoration:none}.hotel-info a:hover{text-decoration:underline}@media(max-width:768px){.hotel-item{grid-template-columns:40px 1fr}.hotel-number{width:30px;height:30px;font-size:1rem}.hotel-info h3{font-size:1.2rem}.hotel-info p{font-size:.9rem}}@media(max-width:900px){.couple-section,.location-container{grid-template-columns:1fr}.hero h1{font-size:3.5rem}.countdown{gap:1rem}.countdown-item{min-width:80px;padding:1rem}.countdown-item span:first-child{font-size:2.5rem}.vintage-photos{padding:1rem}.photo-frame{margin:1rem}.frame{width:220px;height:320px;border-width:8px;border-bottom-width:40px}.photo-caption{font-size:1rem;padding:8px 5px}}@media(max-width:600px){.countdown{flex-wrap:wrap}.countdown-item{width:45%;margin-bottom:1rem}.frame{width:180px;height:280px;border-bottom-width:35px}.photo-caption{font-size:.9rem;padding:6px 4px}}
