@font-face{font-family:Melodrame;src:url(/melodrame.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg-color: #FDFCFB;--text-color: #a24229;--terracotta: #a24229;--light-bg: #F5F3F0;--dark-bg: #EFEFEF;--font-title: "Arapey", serif;--font-body: "Arapey", serif}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;text-align:center}h1,h2,h3,h4{font-weight:400;font-family:var(--font-title);color:var(--text-color)}.names{font-family:Melodrame,serif!important;font-size:clamp(3rem,10vw,7rem);line-height:1;letter-spacing:-1px;margin:1rem 0 2rem}a{color:var(--terracotta);text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.7}.section-terracotta{background-color:var(--terracotta);color:#fff!important}.section-terracotta h1,.section-terracotta h2,.section-terracotta h3,.section-terracotta h4,.section-terracotta p,.section-terracotta .body-text,.section-terracotta .event-title,.section-terracotta .serif-title,.section-terracotta .form-label,.section-terracotta .hotel-zone-title,.section-terracotta .place-name,.section-terracotta .table-tel,.section-terracotta .table-link{color:#fff!important}.rsvp-collapsible .form-label{color:var(--text-color)!important}.form-input::placeholder{color:#a2422966}.section-terracotta .rsvp-btn{border-color:#fff;color:#fff}.section-terracotta .rsvp-btn:hover{background-color:#fff;color:var(--terracotta)}.site-header{width:100%;padding:1.5rem 0;background-color:var(--bg-color);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(162,66,41,.1)}.header-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.main-nav{display:flex;gap:2rem;font-family:var(--font-body);font-size:.9rem;letter-spacing:2px;text-transform:uppercase}.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:6px;width:30px}.nav-toggle span{display:block;width:100%;height:1px;background-color:var(--text-color);transition:all .3s ease}.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-link{color:var(--text-color);position:relative}.hero-minimal{padding:8rem 2rem 6rem;max-width:800px;margin:0 auto}.details-section,.text-block-section,.rsvp-section{padding:7rem 2rem;max-width:100%}.details-section>*,.text-block-section>*,.rsvp-section>*{max-width:900px;margin-left:auto;margin-right:auto}.photo-section{width:100%;max-width:500px;margin:0 auto 3rem;padding:0 2rem}.photo-section img,.photo-section video{width:100%;height:auto;object-fit:cover;display:block}.body-text{font-size:1.25rem;font-family:var(--font-body);font-weight:300;line-height:1.8}.serif-title{font-family:var(--font-title);font-size:3.5rem;margin-bottom:2.5rem;letter-spacing:2px;text-transform:uppercase}.rsvp-btn{display:inline-block;padding:1.2rem 3rem;border:1px solid var(--terracotta);background-color:transparent;color:var(--terracotta);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;font-family:inherit;text-decoration:none}.rsvp-btn:hover{background-color:var(--terracotta);color:#fff}.rsvp-btn.spotify-btn{border-color:var(--terracotta);color:var(--terracotta)}.section-terracotta .rsvp-btn.spotify-btn{border-color:#fff;color:#fff}.rsvp-btn.spotify-btn:hover{background-color:#1db954;border-color:#1db954;color:#fff!important;transform:translateY(-2px);box-shadow:0 5px 15px #1db9544d}.rsvp-btn.inverse{border-color:var(--terracotta);color:var(--terracotta)}.section-terracotta .rsvp-btn.inverse{border-color:#fff;color:#fff}.rsvp-btn.inverse:hover{background-color:#fff;color:var(--terracotta)!important}.timeline-event{margin-bottom:5rem;position:relative}.event-header{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.icon-crop{width:60px;height:70px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.event-icon{width:60px;height:auto;filter:invert(1);mix-blend-mode:screen;transform:rotate(15deg);margin-top:-5px}.event-title{font-size:2.2rem;margin:0;letter-spacing:1px;text-transform:uppercase}.map-container{position:relative;width:100%;height:100%;overflow:hidden}.location-split-section{display:flex;flex-direction:column;min-height:600px;background-color:var(--terracotta);overflow:hidden;position:relative}.location-split-section .section-header{width:100%;padding:6rem 1rem 1rem;display:flex;justify-content:center;align-items:center;background-color:var(--terracotta);z-index:10}.location-split-section .split-content{display:flex;flex-direction:row;flex:1;min-height:450px;max-width:1100px;margin:0 auto;width:100%}.location-split-section .map-column{flex:1;position:relative;background-color:var(--terracotta);padding:2rem;display:flex;align-items:center;justify-content:center}.location-split-section .info-column{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 4rem;text-align:center;color:#fff;background-color:var(--terracotta);z-index:2}.location-split-section .map-full-container{width:100%;max-width:450px;height:350px;margin:0 auto;border:none;position:relative;box-shadow:0 10px 30px #0003;border-radius:4px;overflow:hidden}.location-split-section .map-container{width:100%;height:100%}.location-split-section .serif-title{color:#fff!important;margin:0;font-size:3.5rem;text-transform:uppercase;letter-spacing:2px;text-align:center;width:100%;line-height:1.2}.location-pazo-title{font-family:var(--font-body);font-size:1.25rem;color:#fff!important;text-transform:none;letter-spacing:1px;margin-bottom:2rem;font-weight:300}.location-split-section .external-link{margin-top:4rem}.location-split-section .map-container iframe{width:100%;height:100%;filter:grayscale(1) contrast(1.1) brightness(1.1);border:none}.location-split-section .map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);width:44px;height:44px;z-index:5;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.location-split-section .map-pin svg path{fill:var(--terracotta)}@media (max-width: 1024px){.location-split-section{flex-direction:column}.location-split-section .map-column{height:450px;order:2}.location-split-section .info-column{order:1;padding:6rem 2rem}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.split-section{display:flex;flex-wrap:wrap;max-width:100%;align-items:stretch}.rsvp-collapsible{max-height:0;overflow:hidden;transition:max-height .8s ease-out;background:var(--light-bg);margin-top:2rem;border-radius:8px;color:var(--text-color)!important}.rsvp-subtitle{margin-bottom:2rem}.rsvp-subtitle:empty,.rsvp-subtitle:has(br:only-child){display:none;margin-bottom:0}.rsvp-collapsible.open{max-height:1500px;padding:4rem 2rem}.form-group{margin-bottom:2rem;text-align:left}.form-label{display:block;margin-bottom:.5rem;font-size:.9rem;letter-spacing:1px;text-transform:uppercase}.form-input{width:100%;padding:1rem;border:1px solid rgba(162,66,41,.2);background:transparent;color:var(--text-color);font-family:inherit;font-size:1rem;border-radius:4px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.radio-group{display:flex;gap:2rem}.contacts-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:3rem}.contact-card{padding:2.5rem 1.5rem;background-color:#fff;border:1px solid rgba(162,66,41,.08);position:relative;transition:all .3s ease;box-shadow:0 4px 15px #00000005;flex:1;min-width:280px;max-width:350px}.hotel-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #a242290d}.hotels-table-container{margin-top:4rem;max-width:1200px!important;text-align:left;display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 1024px){.hotels-table-container{grid-template-columns:1fr;align-items:center;max-width:800px!important;margin-left:auto;margin-right:auto}}.hotel-zone-group{margin-bottom:2rem}.hotel-zone-title-container{margin-bottom:2rem;border-bottom:2px solid var(--terracotta);padding-bottom:.5rem;display:inline-flex;flex-direction:column}.hotel-zone-dist{font-size:.95rem;font-family:var(--font-body);font-style:italic;color:#888;margin-top:.25rem}.hotel-zone-title{font-size:1.8rem;color:var(--terracotta);text-transform:uppercase;letter-spacing:2px;margin:0}.hotel-custom-table{display:flex;flex-direction:column;width:100%}.hotel-table-header{display:grid;grid-template-columns:1fr 1fr;padding:1rem 2rem;background-color:#ffffff1a;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:#fff;font-weight:600}.hotel-table-row{display:grid;grid-template-columns:1fr 1fr;padding:1.5rem 2rem;align-items:center;border-bottom:1px solid rgba(162,66,41,.1);transition:background-color .3s ease}.hotel-table-row:hover{background-color:#a2422905}.hotel-table-row .place-name{font-size:1.2rem;color:var(--text-color);font-weight:500}.table-link{font-size:.8rem;letter-spacing:1px;text-decoration:underline;color:var(--terracotta);font-weight:500}.table-tel{font-size:1.1rem;color:#555;font-family:var(--font-body)}.table-tel:hover{color:var(--terracotta)}@media (max-width: 768px){.hotel-table-header{display:none}.hotel-table-row{grid-template-columns:1fr;gap:1rem;padding:2rem;text-align:center}.hotel-zone-title-container{display:block;text-align:center}}.contact-card h4{color:var(--terracotta);font-size:1.4rem;margin-bottom:.5rem;font-weight:600}.contact-card p,.contact-card a{color:#555!important;font-size:1.1rem}footer{padding:6rem 2rem;font-size:1.2rem;font-family:var(--font-title);letter-spacing:2px}.edit-mode-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;gap:.5rem;padding:.5rem;justify-content:flex-end;align-items:flex-start;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:100}.editable-container{position:relative;transition:border .3s ease}.editing .editable-container{border:1px dashed rgba(162,66,41,.3)}.editable-container:hover{border-color:var(--terracotta)}.editable-container:hover .edit-mode-overlay{opacity:1}.editable-content{position:relative;z-index:1;cursor:text}.edit-btn{background:#fff;border:1px solid var(--terracotta);color:var(--terracotta);width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000001a;pointer-events:auto}.form-success-msg{animation:fadeInUp .6s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rsvp-btn:disabled{opacity:.7;cursor:not-allowed}.edit-btn:hover{background:var(--terracotta);color:#fff}.edit-btn.delete:hover{background:#e74c3c;border-color:#e74c3c}.fade-in{opacity:0;transform:translateY(20px);transition:opacity 1s ease,transform 1s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){.split-section{flex-direction:column}.split-photo iframe{min-height:350px}.contacts-grid{grid-template-columns:1fr}}.fade-in.visible{opacity:1!important;transform:translateY(0)!important}.change-summary-panel{position:fixed;top:100px;right:20px;width:380px;max-height:calc(100vh - 140px);background:#111;color:#fff;z-index:2000;border-radius:16px;box-shadow:0 20px 50px #0009;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.08);font-family:Outfit,sans-serif;animation:slideInRight .5s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{padding:1.5rem;background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;font-size:.85rem;letter-spacing:3px;font-weight:800;color:var(--terracotta);text-transform:uppercase}.panel-header .badge{font-size:.6rem;padding:3px 10px;background:#a242291a;border:1px solid rgba(162,66,41,.4);border-radius:20px;color:var(--terracotta);font-weight:700}.panel-content{padding:1.5rem;overflow-y:auto;flex-grow:1;background:linear-gradient(180deg,#111,#0a0a0a)}.empty-msg{font-size:.9rem;color:#666;text-align:center;margin-top:3rem;line-height:1.6;font-style:italic}.feedback-list{list-style:none;padding:0;margin:0}.feedback-item{background:#1a1a1a;border-radius:10px;padding:1.2rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.03);transition:all .2s}.feedback-item:hover{background:#222;border-color:#a2422933}.item-id{font-size:.65rem;color:var(--terracotta);font-weight:700;text-transform:uppercase;display:block;margin-bottom:.6rem;letter-spacing:1px}.feedback-item p{margin:0;font-size:.95rem;line-height:1.6;color:#ccc}.panel-footer{padding:1.5rem;background:#111;border-top:1px solid rgba(255,255,255,.05)}.copy-summary-btn{width:100%;padding:1.2rem;background:var(--terracotta);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:2px}.copy-summary-btn:hover:not(:disabled){background:#a24229;transform:translateY(-3px);box-shadow:0 10px 25px #a2422966}.copy-summary-btn:active:not(:disabled){transform:translateY(-1px)}.copy-summary-btn:disabled{background:#252525;color:#555;cursor:not-allowed;border:1px solid rgba(255,255,255,.02)}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:#333;border-radius:10px}.panel-content::-webkit-scrollbar-thumb:hover{background:#444}.footer-final{padding:8rem 2rem;text-align:center;background-color:var(--bg-color);display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-names{font-family:Melodrame,serif;font-size:3.5rem;color:var(--terracotta);line-height:1.2}.footer-date{font-family:var(--font-body);font-size:1.2rem;letter-spacing:4px;text-transform:uppercase;color:var(--terracotta);opacity:.8}@media (max-width: 768px){.nav-toggle{display:flex}.main-nav{position:fixed;top:0;right:0;width:100%;height:100vh;background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:999}.main-nav.open{transform:translate(0)}.nav-link{font-size:1.5rem}.names{font-size:3.5rem;margin:2rem 0}.hero-minimal{padding:5rem 1.5rem 3rem}.photo-section{max-width:100%;padding:0 1rem}.details-section,.text-block-section,.rsvp-section{padding:5rem 1.5rem}.serif-title{font-size:2.2rem!important}.body-text{font-size:1.05rem!important}.hotel-location{padding-bottom:2rem}.contact-card{min-width:100%;padding:2rem 1rem}.location-split-section .split-content{flex-direction:column;min-height:auto}.location-split-section .map-column{height:350px;padding:0 1.5rem 2rem;order:2}.location-split-section .info-column{order:1;padding:4rem 1.5rem}.location-split-section .serif-title{font-size:2.8rem}.rsvp-collapsible.open{padding:2.5rem 1.2rem}.radio-group{flex-direction:column;gap:.8rem}.form-input{padding:.8rem}footer{padding:4rem 1.5rem;font-size:1rem}}
