.password-content h1,body{color:var(--primary-color)}
.btn-primary,.btn-secondary:hover{color:var(--white)}
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary-color:#000b3d;--background-color:#f6f4f0;--accent-color:#d4a574;--text-light:#6b7280;--white:#ffffff;--shadow:0 2px 6px 2px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1);--navbar-height:70px}
);


html{scroll-behavior:smooth}
body{font-family:'Cormorant Garamond',serif;background-color:var(--background-color);background-image:var(--paper-texture);line-height:1.6;overflow-x:hidden}
.password-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--background-color) 0,#e8e4d9 100%);display:flex;align-items:center;justify-content:center;z-index:1000}
.password-container{position:relative;background:var(--white);padding:3rem;border-radius:20px;box-shadow:var(--shadow-lg);text-align:center;max-width:500px;width:90%;overflow:hidden}
.floral-decoration{position:absolute;width:80px;height:80px;opacity:0.8}
.floral-decoration.top-left{top:10px;left:0;transform:rotate(-240deg) scale(1.6)}
.floral-decoration.top-right{top:15px;right:15px;transform:rotate(0) scale(1.1)}
.floral-decoration.bottom-left{bottom:-20px;left:-20px;transform:rotate(-30deg) scaleX(-1)}
.floral-decoration.bottom-right{bottom:-20px;right:-20px;transform:rotate(-15deg) scale(1.6)}
.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.floral-img{width:100%;height:100%;object-fit:contain}
.password-content h1{font-size:2.5rem;font-weight:600;margin-bottom:0.5rem}
.password-content h2{font-size:2rem;font-weight:500;margin-bottom:1rem;color:var(--accent-color)}
.password-content p{font-size:1.1rem;margin-bottom:2rem;color:var(--text-light)}
.password-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}
.btn-primary,.btn-secondary{padding:1rem 2rem;font-weight:500;text-decoration:none;display:inline-block;text-align:center;cursor:pointer;font-family:inherit}
.password-form input{padding:1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-family:inherit;transition:border-color 0.3s}
.password-form input:focus{outline:0;border-color:var(--accent-color)}
.btn-primary{background:var(--accent-color);border:none;border-radius:10px;font-size:1.1rem;transition:0.3s}
.btn-primary:hover{background:#c19a6b}
.btn-secondary:hover,.nav-link::after,.timeline-event::before,.timeline::before{background:var(--accent-color)}
.btn-secondary{background:0 0;color:var(--accent-color);border:2px solid var(--accent-color);border-radius:8px;font-size:1rem;transition:0.3s}
.password-error{color:#dc2626;font-size:0.9rem;margin-top:1rem}
#schedule-title,.hero-text h1,.nav-brand,.nav-link,section h2,section h3{color:var(--primary-color)}
.main-content.hidden,.password-error.hidden{display:none}
.main-content{min-height:100vh}
.navbar{background:var(--white);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}
.hero,.hero-image,.nav-link{position:relative}
.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;min-height:var(--navbar-height)}
.nav-brand{font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:0.75rem;cursor:pointer;transition:opacity 0.3s;user-select:none}
.nav-brand:hover{opacity:0.8}
.nav-brand-image{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--accent-color)}
.nav-brand-img{width:100%;height:100%;object-fit:cover}
.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:0.5rem}
.nav-toggle span{width:25px;height:3px;background:var(--primary-color);margin:3px 0;transition:0.3s;border-radius:2px}
.contact-person a,.nav-link{text-decoration:none;transition:color 0.3s}
.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}
.nav-link{font-size:1.2rem;font-weight:500}
.contact-person a:hover,.nav-link:hover{color:var(--accent-color)}
.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;transition:width 0.3s}
.nav-link:hover::after{width:100%}
.hero{min-height:calc(100vh - var(--navbar-height));display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--background-color) 0,#e8e4d9 100%);overflow:hidden}
.hero-content{text-align:center;z-index:2;max-width:800px;padding:2rem}
.hero-image{margin-bottom:1rem;transition:0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94)}
.hero-image:hover{transform:scale(1.05);filter:brightness(1.1) saturate(1.2)}
.couple-image{max-width:300px;width:100%;height:auto}
.hero-text h1{font-size:3.5rem;font-weight:600;margin-bottom:0.5rem}
.hero-text h2{font-size:2.5rem;font-weight:500;margin-bottom:0.5rem;color:var(--accent-color)}
.hero-date,.hotel-info p{font-size:1.2rem;color:var(--text-light)}
.hero .floral-decoration{position:absolute;width:120px;height:120px}
.hero .floral-decoration.hero-left{left:5%;top:3%;transform:rotate(-20deg);transform:scaleX(-1)}
.hero .floral-decoration.hero-right{right:5%;bottom:40%;transform:rotate(20deg)}
.ground-flowers{position:absolute;bottom:-60px;left:0;right:0;width:100%;z-index:1;height:200px}
.ground-flowers-img{width:100%;max-width:800px;height:auto;display:block;object-fit:cover}
.timeline-time,.timeline-title{font-size:1.4rem;display:inline-block}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}
section{padding:4rem 0}
#schedule-title,section h2{font-size:2.5rem;font-weight:600;text-align:center;margin-bottom:2rem}
.hotel-details p,.introduction p{font-size:1.2rem}
section h3{font-size:1.8rem;font-weight:500;margin-bottom:1rem}
.contact,.introduction,.location,.registry{background:var(--white);text-align:center}
.accommodation-content > div,.wedding-details{background:var(--background-color)}
.introduction p{color:var(--text-light);max-width:600px;margin:0 auto}
.accommodation,.detail-card,.hotel-details,.timeline-event-content{background:var(--white)}
#schedule-subtitle{font-size:1.2rem;margin-bottom:1rem;color:var(--text-light);text-align:center}
.timeline-container{margin-top:3rem;position:relative}
.timeline{position:relative;max-width:800px;margin:0 auto}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%)}
.timeline-event{position:relative;margin-bottom:3rem;width:45%}
.timeline-event:nth-child(odd){left:0;text-align:right;padding-right:2rem}
.timeline-event:nth-child(even){left:55%;text-align:left;padding-left:2rem}
.timeline-event::before{content:'';position:absolute;top:1rem;width:20px;height:20px;border-radius:50%;border:4px solid var(--white);box-shadow:var(--shadow)}
.timeline-event:nth-child(odd)::before{right:-54px}
.timeline-event:nth-child(even)::before{left:-54px}
.timeline-event-content{padding:1.5rem;border-radius:15px;box-shadow:var(--shadow);position:relative}
.timeline-event-content::before{content:'';position:absolute;top:1rem;width:0;height:0;border:10px solid transparent}
.timeline-event:nth-child(odd) .timeline-event-content::before{right:-20px;border-left-color:var(--white)}
.timeline-event:nth-child(even) .timeline-event-content::before{left:-20px;border-right-color:var(--white)}
.timeline-time{font-weight:600;color:var(--accent-color);margin-right:0.5rem}
.hotel-details p,.timeline-title,.transport-content h4{color:var(--primary-color);margin-bottom:0.5rem}
.timeline-description{color:var(--text-light);font-size:1.3rem}
.accommodation-content h3,.detail-card{text-align:center}
.accommodation-content,.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}
.detail-card{padding:2rem;border-radius:15px;box-shadow:var(--shadow);transition:transform 0.3s}
.detail-card:hover{transform:translateY(-5px)}
.accommodation-content > div{padding:2rem;border-radius:15px}
.hotel-details{box-shadow:var(--shadow);padding:1.5rem;border-radius:10px;margin:1rem 0;text-align:left}
.hotel-details .btn-primary{margin-top:1rem;margin-bottom:0.75rem}
.hotel-email-link{display:block;text-align:center}
.hotel-note{font-style:italic;color:var(--text-light);margin-top:1rem}
.transport-info{margin-top:2rem;background:var(--background-color);padding:2rem;border-radius:15px}
@media (min-width: 769px){
.ground-flowers{background-image:url('assets/webp/flowers2.webp');background-repeat:repeat-x;background-size:auto 100%;background-position:bottom center}
.ground-flowers-img{display:none}
.transport-info{margin-top:0}
}
.transport-option{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:var(--white);border-radius:12px;box-shadow:var(--shadow)}
.transport-option:last-child{margin-bottom:0}
.transport-icon{flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--accent-color);border-radius:50%;color:var(--white)}
.transport-icon-img{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}
.transport-content{flex:1}
.transport-content h4{font-size:1.3rem;font-weight:600}
.transport-content p{color:var(--text-light);font-size:1.1rem;margin-bottom:1rem;line-height:1.6}
.transport-content .btn-secondary{margin-top:0.5rem}
.photo-note,.rsvp-note{font-style:italic;color:var(--text-light);margin:1rem 0}
.wedding-date{font-size:1.2rem;font-weight:500;color:var(--accent-color);margin:0.5rem 0}
.photos,.rsvp{background:var(--background-color);text-align:center}
.contact p,.photos p,.registry p,.rsvp p{font-size:1.2rem;color:var(--text-light);margin-bottom:2rem}
.rsvp-form-container{background:var(--white);border-radius:15px;padding:2rem;box-shadow:var(--shadow)}
#rsvp-iframe-container{margin-bottom:2rem;margin-left:-20px;margin-right:-20px;display:flex;justify-content:center}
.rsvp-alternative p{margin-bottom:1rem;color:var(--text-light);font-style:italic}
#rsvp-iframe-container iframe{border:none;border-radius:8px;max-width:100%;height:auto;min-height:600px}
.contact-person,.photo-item,.registry-info,.venue-image,.witness-label{border-radius:15px}
@media (max-width: 768px){
.timeline::before{left:2rem}
.timeline-event{width:95%;left:0!important;text-align:left!important;padding-left:4rem!important;padding-right:0!important}
.timeline-event::before{left:18px!important;right:auto!important}
.timeline-event-content::before{left:-20px!important;right:auto!important;border-right-color:var(--white)!important;border-left-color:transparent!important}
#hotel-description,.hotel-note{text-align:center}
#rsvp-iframe-container iframe{width:100%!important;height:700px!important;min-height:700px}
}
.registry-info{background:var(--background-color);padding:2rem;max-width:600px;margin:0 auto}
.registry-info ul{list-style:none;text-align:left}
.registry-info li{padding:0.5rem 0 0.5rem 1.5rem;border-bottom:1px solid #e5e7eb;position:relative}
.registry-info li::before{content:'🌸';position:absolute;left:0}
.photo-stack{position:relative;display:flex;justify-content:center;align-items:center;height:160px;perspective:1000px}
.photo-item{position:absolute;width:120px;height:180px;box-shadow:var(--shadow-lg);transition:0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);cursor:pointer;overflow:hidden}
.photo-item:hover{transform:translateY(-20px) scale(1.05);z-index:10;box-shadow:0 20px 40px rgba(0,0,0,0.2)}
.contact-link:hover,.contact-person,.venue-image{box-shadow:var(--shadow)}
.photo-img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s}
.photo-item:hover .photo-img{transform:scale(1.1)}
.photo-1{transform:rotate(-8deg) translateX(-60px);z-index:1}
.photo-1:hover{transform:rotate(-8deg) translateX(-60px) translateY(-20px) scale(1.05)}
.photo-2{transform:rotate(0) translateX(0);z-index:2}
.photo-2:hover{transform:rotate(0) translateX(0) translateY(-20px) scale(1.05)}
.photo-3{transform:rotate(8deg) translateX(60px);z-index:1}
.photo-3:hover{transform:rotate(8deg) translateX(60px) translateY(-20px) scale(1.05)}
@media (max-width: 768px){
.photo-stack{height:250px;margin:2rem 0}
.photo-item{width:150px;height:200px}
.photo-1{transform:rotate(-6deg) translateX(-40px)}
.photo-1:hover{transform:rotate(-6deg) translateX(-40px) translateY(-15px) scale(1.05)}
.photo-2{transform:rotate(0) translateX(0)}
.photo-2:hover{transform:rotate(0) translateX(0) translateY(-15px) scale(1.05)}
.photo-3{transform:rotate(6deg) translateX(40px)}
.photo-3:hover{transform:rotate(6deg) translateX(40px) translateY(-15px) scale(1.05)}
}
.photo-upload{margin-top:2rem}
.location-info{max-width:600px;margin:0 auto}
.location-info h3{color:var(--accent-color);margin-bottom:1rem}
.location-info p{font-size:1.2rem;color:var(--text-light);margin-bottom:1rem}
.location-info .btn-primary{margin-top:1rem}
.location-image{margin-bottom:2rem;text-align:center}
.venue-image{max-width:100%;height:auto;max-height:400px;object-fit:cover}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}
.contact-person{background:var(--white);padding:2rem;position:relative}
.contact-person h3{color:var(--accent-color);margin-bottom:0.5rem}
.witness-label{background:var(--accent-color);color:var(--white);padding:0.25rem 0.75rem;font-size:0.8rem;font-weight:500;position:absolute;top:-8px;right:15px;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.contact-person a,.phone-link{color:var(--primary-color)}
.contact-person a{font-weight:500}
.contact-links{display:flex;flex-direction:column;gap:0.75rem;margin-top:1rem}
.contact-link{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:var(--background-color);border-radius:8px;transition:0.3s;font-weight:500}
.contact-link:hover{transform:translateY(-2px)}
.whatsapp-link{color:#25d366;background:rgba(37,211,102,0.1)}
.whatsapp-link:hover{background:rgba(37,211,102,0.2)}
.footer{background:var(--background-color);color:var(--primary-color);text-align:center;padding:2rem 0}
.footer p{font-size:1rem}
@media (max-width: 1024px){
.nav-toggle{display:flex}
.nav-menu{position:fixed;top:70px;left:-100%;width:100%;height:calc(100vh - 70px);background:var(--white);flex-direction:column;padding:2rem;transition:left 0.3s;box-shadow:var(--shadow)}
.nav-menu.active{left:0}
}
@media (max-width: 768px){
.nav-toggle{display:flex}
.nav-menu{position:fixed;top:70px;left:-100%;width:100%;height:calc(100vh - 70px);background:var(--white);flex-direction:column;padding:2rem;transition:left 0.3s;box-shadow:var(--shadow)}
.nav-menu.active{left:0}
.hero{min-height:calc(100vh - var(--navbar-height));padding-top:0}
.hero-text h1{font-size:2.5rem}
#schedule-title,.hero-text h2,section h2{font-size:2rem}
.couple-image{max-width:85%;width:85%}
.hero .floral-decoration{width:80px;height:80px}
.hero .floral-decoration.hero-left{left:2%;top:3%;transform:rotate(-20deg);transform:scaleX(-1)}
.hero .floral-decoration.hero-right{right:2%;bottom:15%}
section{padding:3rem 0}
.password-container{padding:2rem;margin:1rem}
.floral-decoration{width:60px;height:60px}
}
@media (max-width: 480px){
#rsvp-iframe-container iframe{height:600px!important;min-height:600px}
.photo-stack{height:200px;margin:1.5rem 0}
.photo-item{width:120px;height:160px}
.photo-1{transform:rotate(-4deg) translateX(-30px)}
.photo-1:hover{transform:rotate(-4deg) translateX(-30px) translateY(-10px) scale(1.05)}
.photo-2{transform:rotate(0) translateX(0)}
.photo-2:hover{transform:rotate(0) translateX(0) translateY(-10px) scale(1.05)}
.photo-3{transform:rotate(4deg) translateX(30px)}
.photo-3:hover{transform:rotate(4deg) translateX(30px) translateY(-10px) scale(1.05)}
.hero-text h1{font-size:2rem}
.hero-text h2{font-size:1.5rem}
.couple-image{max-width:85%;width:85%}
.accommodation-content,.contact-info,.details-grid{grid-template-columns:1fr}
.transport-option{flex-direction:column;text-align:center;gap:1rem}
.transport-icon{align-self:center}
.container{padding:0 0.5rem}
.password-container{padding:1.5rem}
}
.hidden{display:none!important}
.floral-img{transition:transform 0.3s}
.floral-img:hover{transform:scale(1.1) rotate(5deg)}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.btn-primary:focus,.nav-link:focus,.password-form input:focus{outline:2px solid var(--accent-color);outline-offset:2px}
.url-access-success{position:fixed;top:20px;right:20px;background:#10b981;color:#fff;padding:1rem 1.5rem;border-radius:10px;box-shadow:var(--shadow-lg);z-index:1001;font-family:inherit;font-size:0.9rem;max-width:300px;line-height:1.4;animation:0.5s ease-out slideInRight}
@keyframes slideInRight{
from{transform:translateX(100%);opacity:0}
to{transform:translateX(0);opacity:1}
}
@media (max-width: 768px){
.url-access-success{top:10px;right:10px;left:10px;max-width:none;text-align:center}
}