@import url("https://fonts.googleapis.com/css2?family=Updock&display=swap");:root{--wedding-dark:#40110d;--wedding-dark-brown:#591f12;--wedding-primary:#8c5d5d;--wedding-light-pink:#bf8f8f;--wedding-light:#d9c1bf}body{font-family:Georgia,Times New Roman,serif;color:var(--wedding-dark);background-color:#f8f6f4;font-size:1.125rem;line-height:1.6}.h1,h1{font-size:2.5rem;margin-bottom:1.5rem}.h1,.h2,h1,h2{font-weight:400;color:var(--wedding-dark-brown);line-height:1.3}.h2,h2{font-size:1.875rem;margin-bottom:1.25rem}.h3,h3{font-size:1.5rem;font-weight:400;color:var(--wedding-dark-brown);line-height:1.3}.h3,.lead,h3,p{margin-bottom:1rem}.lead,p{font-weight:300;color:var(--wedding-dark);line-height:1.6}.lead,p{font-size:1.125rem}.wedding-container{min-height:100vh}.wedding-image{width:100%;height:100vh;object-fit:cover}.wedding-content{padding:3rem;height:100vh;overflow-y:auto}.btn-back-custom{background:transparent;border:none;color:var(--wedding-dark);font-family:Georgia,serif;font-size:.875rem;font-weight:300;cursor:pointer;padding:.5rem 0;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;display:inline-block}.btn-back-custom:hover{color:var(--wedding-primary);padding-left:.5rem}.invitation-section{margin-bottom:3rem}.schedule-section{margin-top:2rem}.when-where-section{margin-top:3rem;margin-bottom:3rem}.when-where-item{margin-bottom:2.5rem}.when-where-item h3{color:var(--wedding-dark-brown);margin-bottom:1rem;font-size:1.25rem;font-weight:400}.when-where-item .date{color:var(--wedding-dark);font-family:"'Updock', Georgia, serif";font-size:1.375rem;font-weight:400;line-height:1.5;margin-bottom:0}.when-where-item p{font-size:1.125rem;color:var(--wedding-dark);margin-bottom:.5rem}.when-where-item .venue-name{font-weight:400;color:var(--wedding-dark)}.when-where-item .venue-address{color:var(--wedding-dark);font-size:1.125rem}.google-maps-container{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden;border-radius:8px;margin-top:1rem;filter:grayscale(100%) contrast(1.1)}.google-maps-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.schedule-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid hsla(0,27%,65%,.3)}.schedule-item:last-child{border-bottom:none}.schedule-item .schedule-time{color:var(--wedding-dark);font-weight:400;min-width:60px;font-size:1.125rem}.schedule-item .schedule-event{color:var(--wedding-dark);font-size:1.125rem;font-weight:300}.schedule-note{color:var(--wedding-dark);opacity:.7;font-size:1rem;font-style:italic;font-weight:300}.rsvp-section{margin-top:3rem;padding:0;background:#fff;border-radius:16px;box-shadow:0 2px 24px rgba(64,17,13,.08);overflow:hidden;border:1px solid hsla(5,25%,80%,.5);animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.rsvp-form{padding:3.5rem}.rsvp-form-header{text-align:left;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid hsla(5,25%,80%,.4)}.rsvp-form-title{color:var(--wedding-dark-brown);font-size:1.5rem;font-weight:400;margin:0;letter-spacing:.5px;text-transform:uppercase;font-family:Georgia,serif}.form-group-custom{margin-bottom:2.5rem}.form-label-custom{display:block;font-weight:400;color:var(--wedding-dark);margin-bottom:.875rem;font-size:1rem;letter-spacing:.5px;text-transform:uppercase;font-family:Georgia,serif}.required-star{color:var(--wedding-primary)}.optional-text,.required-star{font-size:.75rem;margin-left:4px;font-weight:300}.optional-text{color:rgba(89,31,18,.5);text-transform:none}.form-input-custom,.form-textarea-custom{width:100%;padding:.875rem 0;border:none;border-bottom:1px solid hsla(5,25%,80%,.6);border-radius:0;font-size:1.125rem;font-family:Georgia,serif;background-color:transparent;color:var(--wedding-dark);transition:all .3s ease;box-shadow:none}.form-input-custom:focus,.form-textarea-custom:focus{outline:none;border-bottom-color:var(--wedding-primary);border-bottom-width:2px;padding-bottom:calc(.875rem - 1px)}.form-input-custom::placeholder,.form-textarea-custom::placeholder{color:rgba(64,17,13,.4);font-style:normal;font-weight:300}.form-textarea-custom{resize:vertical;min-height:80px;padding-top:.5rem}.radio-group-custom{display:flex;gap:1.5rem;margin-top:.75rem}.radio-option-custom{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;border:1px solid hsla(5,25%,80%,.6);border-radius:0;background-color:transparent;cursor:pointer;transition:all .3s ease;font-weight:300;color:var(--wedding-dark);box-shadow:none;text-transform:uppercase;font-size:1rem;letter-spacing:.5px}.radio-option-custom:hover{border-color:var(--wedding-primary);background-color:hsla(5,25%,80%,.1)}.radio-option-custom.active{background-color:var(--wedding-dark);border-color:var(--wedding-dark);color:#fff;font-weight:400}.radio-input-hidden{position:absolute;opacity:0;width:0;height:0}.radio-custom-checkmark{display:none}.radio-custom-label{font-size:.875rem}.select-wrapper-custom{position:relative}.form-select-custom{width:100%;padding:.875rem 2rem .875rem 0;border:none;border-bottom:1px solid hsla(5,25%,80%,.6);border-radius:0;font-size:1.125rem;font-family:Georgia,serif;background-color:transparent;color:var(--wedding-dark);cursor:pointer;transition:all .3s ease;box-shadow:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.form-select-custom:focus{outline:none;border-bottom-color:var(--wedding-primary);border-bottom-width:2px;padding-bottom:calc(.875rem - 1px)}.select-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--wedding-dark);font-size:.75rem;opacity:.5}.alert-custom{padding:1rem 0;margin-bottom:2rem;font-weight:300;font-size:1rem;letter-spacing:.3px;animation:slideIn .3s ease;border-bottom:1px solid}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-success-custom{color:var(--wedding-dark);border-bottom-color:rgba(140,93,93,.3)}.alert-error-custom{color:var(--wedding-dark);border-bottom-color:rgba(89,31,18,.3)}.alert-warning-custom{color:var(--wedding-dark);border-bottom-color:hsla(0,27%,65%,.3)}.btn-submit-custom{width:100%;padding:1rem 2rem;background:var(--wedding-dark);color:#fff;border:1px solid var(--wedding-dark);border-radius:0;font-size:1rem;font-weight:400;font-family:Georgia,serif;cursor:pointer;transition:all .3s ease;box-shadow:none;display:block;text-align:center;text-transform:uppercase;letter-spacing:1px;margin-top:2rem}.btn-submit-custom:hover:not(:disabled){background:var(--wedding-primary);border-color:var(--wedding-primary);color:#fff}.btn-submit-custom:active:not(:disabled){background:var(--wedding-dark-brown);border-color:var(--wedding-dark-brown);transform:translateY(1px)}.btn-submit-custom:disabled{opacity:.5;cursor:not-allowed;background:rgba(64,17,13,.3);border-color:rgba(64,17,13,.3)}.btn-primary{background-color:var(--wedding-primary);border-color:var(--wedding-primary)}.btn-primary:hover{background-color:var(--wedding-secondary);border-color:var(--wedding-secondary)}@media (max-width:768px){.h1,h1{font-size:1.75rem}.h2,h2{font-size:1.375rem}.h3,h3{font-size:1.125rem}.rsvp-form{padding:2rem 1.5rem}.rsvp-form-title{font-size:1.375rem}.form-group-custom{margin-bottom:2rem}.radio-group-custom{flex-direction:column;gap:1rem}.radio-option-custom{width:100%}.wedding-image{height:50vh}.wedding-content{height:auto;padding:2rem 1rem}.when-where-item .date{font-size:1.25rem}}.overwrite-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(64,17,13,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.overwrite-dialog{background-color:#fff;border:1px solid var(--wedding-light-pink);padding:2.5rem;max-width:500px;width:100%;box-shadow:0 4px 20px rgba(64,17,13,.2)}.overwrite-dialog-title{font-size:1.25rem;font-weight:400;color:var(--wedding-dark-brown);margin-bottom:2rem;line-height:1.5;text-align:center}.overwrite-dialog-buttons{display:flex;gap:1rem;justify-content:center}.overwrite-dialog-btn{padding:.875rem 2rem;font-size:1rem;font-weight:400;font-family:Georgia,serif;border:1px solid var(--wedding-light-pink);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;min-width:120px}.overwrite-dialog-btn-yes{background-color:var(--wedding-dark);color:#fff;border-color:var(--wedding-dark)}.overwrite-dialog-btn-yes:hover{background-color:var(--wedding-dark-brown);border-color:var(--wedding-dark-brown)}.overwrite-dialog-btn-no{background-color:transparent;color:var(--wedding-dark);border-color:var(--wedding-light-pink)}.overwrite-dialog-btn-no:hover{background-color:var(--wedding-light);border-color:var(--wedding-primary)}@media (max-width:768px){.overwrite-dialog{padding:2rem 1.5rem}.overwrite-dialog-title{font-size:1.125rem;margin-bottom:1.5rem}.overwrite-dialog-buttons{flex-direction:column}.overwrite-dialog-btn{width:100%}}