@import"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Parisienne&display=swap";:root{--color-bg: #f9f9f9;--color-text: #333;--color-primary: #d4a373;--color-secondary: #fefae0;--font-main: "EB Garamond", serif;--font-serif: "Parisienne", cursive}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}.navbar{background:#fffffff2;height:80px;display:flex;justify-content:center;align-items:center;font-size:1.2rem;position:sticky;top:0;z-index:2000;box-shadow:0 2px 10px #0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:80px;max-width:1200px;width:100%;padding:0 2rem}.navbar-logo{color:#333;justify-self:start;cursor:pointer;text-decoration:none;font-size:1rem;font-family:var(--font-serif);letter-spacing:2px;white-space:nowrap}.nav-menu{display:flex;align-items:center;list-style:none;text-align:center;justify-content:flex-end;margin-right:2rem;padding:0}.nav-item{height:80px}.nav-links{color:#555;display:flex;align-items:center;text-decoration:none;padding:0 1rem;height:100%;font-family:var(--font-main);font-weight:300;text-transform:uppercase;font-size:.9rem;letter-spacing:1.5px;transition:all .3s ease}.nav-links:hover{color:#d4a373;border-bottom:2px solid #d4a373}.menu-icon{display:none}@media screen and (max-width:960px){.NavbarItems{position:relative}.nav-menu{display:flex;flex-direction:column;justify-content:flex-start;padding-top:2rem;width:100%;height:90vh;position:absolute;top:80px;left:-100%;opacity:1;transition:all .5s ease}.nav-menu.active{background:#fff;left:0;opacity:1;transition:all .5s ease;z-index:1}.nav-links{text-align:center;padding:2rem;width:100%;display:table}.nav-links:hover{background-color:#f9f9f9;border-radius:0;border-bottom:none;color:#d4a373}.navbar-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-icon{display:block;position:absolute;top:0;right:0;transform:translate(-100%,60%);font-size:1.8rem;cursor:pointer;color:#333}}.hero{height:150vh;width:100%;background-image:url(/assets/floral-bg-BjMY2we0.png);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text);position:relative}.hero-content{animation:fadeIn 1.5s ease-out;padding:2rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hero-eyebrow{font-family:var(--font-main);text-transform:uppercase;letter-spacing:.2em;font-size:.9rem;margin-bottom:1rem;opacity:.9;color:#8f9779}.hero-title{font-family:var(--font-serif);font-size:6rem;margin-bottom:.5rem;line-height:1.2;color:#222e50;font-weight:400}.hero-date{font-family:var(--font-main);font-size:1.5rem;letter-spacing:.05em;margin-bottom:1.5rem;color:#222e50}.hero-divider{width:60px;height:2px;background-color:var(--color-primary);margin:0 auto 1.5rem}.hero-venue{font-family:var(--font-main);font-size:1.5rem;margin-bottom:.2rem;color:#8f9779}.btn-rsvp{background-color:var(--color-primary);color:#fff;border:none;margin-top:5rem;padding:1rem 2.5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .3s ease;font-family:var(--font-main);border-radius:50px;display:inline-block}.btn-rsvp:hover{background-color:#fff;color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero{height:110vh}.hero-title{font-size:3rem}.hero-venue{font-size:1rem}}.rsvp-section{padding:4rem 2rem;background-color:var(--color-bg);display:flex;justify-content:center}.rsvp-container{width:100%;max-width:600px;background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.03)}.rsvp-title{font-family:var(--font-main);font-size:2.5rem;text-align:center;color:var(--color-primary);margin-bottom:.5rem}.rsvp-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:.95rem}.rsvp-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-row{display:flex;gap:1rem}.form-group.half-width{flex:1}.form-group label{font-size:.9rem;font-weight:500;color:var(--color-text)}.form-input,.form-textarea,.form-select{padding:.8rem;border:1px solid #e0e0e0;border-radius:6px;font-family:var(--font-main);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d4a3731a}.form-textarea{resize:vertical;min-height:100px}.attendance-buttons{display:flex;gap:1rem}.btn-attendance{flex:1;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-family:var(--font-main);font-size:1rem;transition:all .3s ease;color:#555}.btn-attendance:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#d4a3730d}.btn-attendance.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #d4a3734d}.btn-submit{margin-top:1rem;padding:1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s,background-color .2s}.btn-submit:hover{background-color:#c49263}.btn-submit:active{transform:scale(.98)}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.form-message{padding:1rem;border-radius:6px;text-align:center;margin-bottom:1.5rem}.form-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media(max-width:480px){.form-row{flex-direction:column;gap:1.5rem}.attendance-buttons{flex-direction:column}}.additional-guest-section{background-color:#f9f9f9;padding:1.5rem;border-radius:8px;border:1px solid #eee;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.guest-header{margin:0;color:var(--color-primary);font-family:var(--font-serif);font-size:1.2rem;border-bottom:1px solid #ddd;padding-bottom:.5rem;margin-bottom:.5rem}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-reset{margin-top:1rem;background:none;border:none;color:var(--color-primary);display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s;font-family:var(--font-main)}.btn-reset:hover{background-color:#d4a3731a;text-decoration:underline}.photobooth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#000;color:#fff;position:relative;overflow:hidden}.camera-wrapper,.review-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.webcam-view{width:100%;height:100%;object-fit:cover}.photo-preview{max-width:100%;max-height:80vh;border-radius:8px;box-shadow:0 4px 12px #00000080}.camera-controls{position:absolute;bottom:40px;width:100%;display:flex;justify-content:space-around;align-items:center;padding:0 20px;z-index:10}.btn-capture{width:70px;height:70px;border-radius:50%;background-color:#fff;border:4px solid rgba(0,0,0,.2);cursor:pointer;transition:transform .1s}.btn-capture:active{transform:scale(.9)}.btn-icon{background:#fff3;border:none;color:#fff;font-size:1.5rem;padding:10px;border-radius:50%;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.review-controls{display:flex;gap:20px;margin-top:20px}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:25px;border:none;font-size:1rem;font-weight:600;cursor:pointer}.btn-primary{background-color:#e5b9a8;color:#333}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background-color:#fff3;color:#fff}.instruction-text{position:absolute;bottom:120px;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.5);opacity:.8}.success-view{background-color:#f7f3f0;color:#333;text-align:center;padding:2rem}.success-img{margin:20px 0;max-height:50vh}.error-msg{color:#ff6b6b;margin-bottom:10px;font-weight:700}.photobooth-container{z-index:1000}.app-container{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}.mobile-only{display:none!important}@media(max-width:768px){.mobile-only{display:list-item!important}}.confirmation-view{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-secondary);animation:fadeIn .5s ease}.confirmation-content{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 10px 30px #0000000d;max-width:500px;width:90%}.confirmation-content h1{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:1rem;font-size:2.5rem}.confirmation-content p{color:#666;margin-bottom:1rem;font-size:1.1rem}.btn-back{margin-top:2rem;padding:.8rem 2rem;background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:50px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-back:hover{background:var(--color-primary);color:#fff}
