body,html{margin:0;padding:0;background-color:#f8f0ea}.app-wrapper{width:100%;overflow-x:hidden}.app-container{font-family:sans-serif;position:relative}.language-switcher{position:absolute;top:20px;right:20px;z-index:99999;height:40px}.dropdown-button{background:none;border:none;cursor:pointer}.flag-icon{width:30px;height:30px;margin-right:5px;border-radius:50%;vertical-align:middle;object-fit:cover;box-shadow:0 0 3px rgba(0,0,0,.2)}.dropdown-menu{display:none;flex-direction:column;background:#fff;position:absolute;top:40px;right:0;border:1px solid #ccc;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:99}.language-switcher:hover .dropdown-menu{display:flex}.dropdown-menu div{cursor:pointer;padding:5px 10px;display:flex;align-items:center}.dropdown-menu div:hover{background-color:#f0f0f0}.invitation-container{background-color:#f8f0ea;display:flex;align-items:center;justify-content:center}.image-section{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.main-image{width:100vw;max-width:958px}@media(max-width:768px){.main-image{width:100vw;max-width:958px}}.text-overlay-wrapper{position:relative;width:100%;height:auto;margin-top:-60px;margin-bottom:0}.text-overlay-blur{position:absolute;inset:0;left:-10%;background-color:#f4efe9;filter:blur(22px);z-index:0;width:calc(100% + 80px);margin:0 auto;border-radius:0 0 0 0}.text-overlay{position:relative;z-index:1;width:100%;background-color:rgba(0,0,0,0)}.names,.text-overlay{display:flex;flex-direction:column;align-items:center}.names{margin-top:20px;font-size:2.8rem;font-weight:300;color:#1a1a1a;gap:10px}.name-left,.name-right{font-size:2rem;letter-spacing:2px;text-transform:uppercase;font-weight:200}.and{font-weight:bolder;font-style:normal;color:#000;font-size:2rem}.swipe{margin-top:30px;font-size:1rem;color:#333}.arrow{display:block;font-size:1.5rem;margin-top:5px}.details-section{padding:120px 20px;text-align:center;position:relative}.guests-title{font-size:2rem;font-weight:400;letter-spacing:2px}.guests-text{font-size:.95rem;margin:10px 0;line-height:1.5;color:#444}.married-title{font-size:1.5rem;font-weight:300;margin-top:20px;color:#1a1a1a}.calendar{margin-top:40px}.month{font-weight:600;font-size:1rem;margin-top:24px}.calendar table{margin:0 auto;border-collapse:collapse;font-size:1rem}.calendar td,.calendar th{padding:8px}.selected{background-color:#1a1a1a;color:#fff;border-radius:50%;width:24px;height:24px}.flower{position:absolute;width:80px;height:auto;opacity:.9}.flower-left{top:40px;left:20px}.flower-right{bottom:30px;right:20px}.wedding-info-section{background-color:#f8f0ea;font-family:Georgia,serif}.location{display:flex;flex-direction:row;text-align:center;justify-content:center;margin-bottom:140px;gap:50px}.image{width:20%}.text{display:flex;flex-direction:column;text-align:center;justify-content:center;gap:8px}.location h2{margin:0;font-size:22px}.location p{margin:5px 0;font-size:14px;color:#777}.dress-code{text-align:center;margin-bottom:40px}.dress-code h3{font-size:24px;margin-bottom:10px;font-weight:200;font-family:Montserrat,sans-serif}.color-palette{display:flex;justify-content:center;gap:12px;margin-top:15px}.color-circle{width:30px;height:30px;border-radius:50%;border:1px solid #ccc}.rsvp-section{padding:60px 20px;text-align:center;background-color:#f8f0ea;color:#333;font-family:Georgia,serif}.rsvp-section h2{margin-bottom:10px}.rsvp-subtitle{font-size:22px;margin:8px 0 30px}.input-label{display:flex;flex-direction:column;font-size:14px;text-align:left;margin:0 auto 20px;width:fit-content;color:#444}.rsvp-form input[type=text]{padding:8px;width:280px;border:1px solid #aaa;border-radius:5px;margin-top:8px;font-size:14px}.presence-label{font-size:14px;margin:20px 0 10px;font-weight:500}.radio-group{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin:0 auto 20px;width:fit-content}.radio-group label{font-size:14px;color:#333}.rsvp-form button{padding:10px 30px;background-color:#2b2e4a;color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:background-color .3s ease}.rsvp-form button:hover{background-color:#1e1f33}.final-message{margin-top:60px;text-align:center}.final-message h2{font-size:24px;font-weight:400;line-height:1.4;margin-bottom:25px}.footer-image{width:100%;margin-top:-35px}.footer-text{font-weight:200;font-family:Montserrat,sans-serif;font-size:30px;padding:4px}.timeline-container{background-color:#fdf8f4;padding:50px 20px;text-align:center;display:flex;flex-direction:column;gap:40px}.timeline-item{display:flex;flex-direction:column;align-items:center}.timeline-icon{width:32px!important;height:32px!important;margin-bottom:10px}.timeline-time{font-size:28px;color:#000;font-weight:300}.timeline-label{font-size:16px;color:#444;margin-top:5px}.location-section{background-color:#f8f1ea;padding:60px 20px;text-align:center;font-family:Arial,sans-serif}.location-title{font-size:2.5rem;letter-spacing:2px;font-weight:300;text-align:center}.location-divider{width:60px;height:2px;margin:10px auto 40px;background-color:#000;border:none}.location-list{flex-direction:column;gap:60px}.location-item,.location-list{display:flex;align-items:center}.location-item{gap:40px;max-width:900px;width:100%}.location-item.reverse{flex-direction:row-reverse}.location-image{width:150px;height:auto;border-radius:6px}.location-text{text-align:left}.location-text h3{margin:0;font-size:1rem}.location-text p{margin-top:6px;font-size:.75rem;color:#555}