:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;margin:0;padding:0}body{font-family:Georgia,serif;background-color:#1a1a1a;color:#3a3a3a;overflow-x:hidden}.wedding-container{min-height:100vh;background:#1a1a1a}.hero-fullscreen{width:100%;height:100vh;position:relative;background-image:url(/collage.webp);background-size:cover;background-position:center;background-attachment:fixed}@media (max-width: 768px){.hero-fullscreen{background-image:url(/vertical-collage.webp);background-attachment:scroll}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#00000080);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.names{font-size:5rem;color:#fff;margin-bottom:10px;font-weight:300;letter-spacing:8px;text-shadow:2px 2px 20px rgba(0,0,0,.5);animation:fadeInUp 1s ease-out}.tagline{font-size:1.8rem;color:#f0f0f0;margin-bottom:60px;font-style:italic;text-shadow:1px 1px 10px rgba(0,0,0,.5);animation:fadeInUp 1s ease-out .2s both}.countdown{display:flex;gap:40px;margin-bottom:80px;animation:fadeInUp 1s ease-out .4s both}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:80px}.countdown-value{font-size:3rem;color:#fff;font-weight:300;text-shadow:2px 2px 10px rgba(0,0,0,.5);background:#ffffff1a;border-radius:10px;padding:10px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.countdown-label{font-size:.9rem;color:#f0f0f0;text-transform:uppercase;letter-spacing:2px;margin-top:10px}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);animation:bounce 2s infinite}.scroll-indicator span{font-size:2rem;color:#fff;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-20px)}60%{transform:translate(-50%) translateY(-10px)}}.content-section{background-image:linear-gradient(to bottom,#faf9f64d,#f5f0e84d),url(/image.webp);background-size:cover;background-position:center;background-attachment:fixed;padding:80px 20px}.details-card{max-width:900px;margin:0 auto 80px;background:#fff;padding:60px 40px;border-radius:20px;box-shadow:0 20px 60px #0000001a}.details{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:40px}.date,.what,.venue,.wear{text-align:center}.date h2,.what h2,.venue h2,.wear h2{font-size:1.1rem;color:#d4a574;margin-bottom:12px;text-transform:uppercase;letter-spacing:2px}.date-link{text-decoration:none;color:inherit;transition:transform .3s ease;display:block}.date-link:hover{transform:translateY(-5px)}.date-text{font-size:1.8rem;color:#3a3a3a;font-weight:300;margin-bottom:10px}.time-text{font-size:1.4rem;color:#6b6b6b;margin-bottom:15px}.calendar-add{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;color:#d4a574;text-transform:uppercase;letter-spacing:1px;transition:color .3s ease}.calendar-icon{color:currentColor}.date-link:hover .calendar-add{color:#b88a5a}.venue-link{text-decoration:none;color:inherit;transition:transform .3s ease;display:block}.venue-link:hover{transform:translateY(-5px)}.venue-name{font-size:1.8rem;color:#3a3a3a;margin-bottom:8px}.venue-location{font-size:1.2rem;color:#6b6b6b;margin-bottom:15px}.venue-directions{font-size:1rem;color:#d4a574;text-transform:uppercase;letter-spacing:1px;transition:color .3s ease}.wear-text{font-size:1.8rem;color:#3a3a3a;margin-bottom:8px}.wear-description{font-size:1.2rem;color:#6b6b6b;margin-bottom:15px}.schedule-item{margin-bottom:12px;text-align:center}.schedule-time{font-size:1.1rem;font-weight:600;color:#d4a574;margin-bottom:4px}.schedule-event{font-size:1rem;color:#3a3a3a}.venue-link:hover .venue-directions{color:#b88a5a}.photo-section{max-width:1200px;margin:0 auto 80px;text-align:center}.section-title{font-size:2.5rem;color:#556b2f;margin-bottom:50px;font-weight:300;letter-spacing:3px;text-transform:uppercase}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:50px 0}.gallery-image{width:100%;height:280px;object-fit:cover;object-position:center center;border-radius:15px;transition:all .4s ease;cursor:pointer;box-shadow:0 10px 30px #00000026}.gallery-image[alt=Together],.gallery-image[alt="Mario and Peach"]{object-position:center}.gallery-image:hover{transform:scale(1.05) translateY(-10px);box-shadow:0 20px 40px #00000040}.rsvp-section{margin-top:80px;text-align:center}.rsvp-button{background:linear-gradient(135deg,#d4a574,#b88a5a);color:#fff;border:none;padding:20px 60px;font-size:1.3rem;border-radius:50px;cursor:pointer;transition:all .3s ease;letter-spacing:3px;text-transform:uppercase;box-shadow:0 10px 30px #d4a5744d}.rsvp-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #d4a57466}.rsvp-letter{max-width:700px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000001a;overflow:hidden}.letter-content{padding:60px;background:linear-gradient(to bottom,#fff,#fdfcfa);font-family:Georgia,serif;line-height:1.8}.letter-greeting{font-size:1.4rem;color:#3a3a3a;margin-bottom:25px;font-weight:500;text-align:left}.letter-body{font-size:1.15rem;color:#4a4a4a;margin-bottom:20px;line-height:2;text-align:left}.letter-first-line{text-indent:40px}.inline-link{color:#d4a574;text-decoration:underline;transition:color .3s ease}.inline-link:hover{color:#b88a5a}.inline-input{display:inline-block;border:none;border-bottom:2px solid #d4a574;background:transparent;font-family:inherit;font-size:inherit;color:#3a3a3a;padding:2px 8px;margin:0 4px;transition:all .3s ease}.inline-input:focus{outline:none;border-bottom-color:#b88a5a;background:#d4a5740d}.number-input{width:50px;text-align:center}.text-input{width:150px}.text-input-long{width:250px}.select-input{cursor:pointer;width:auto;padding-right:25px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23d4a574' d='M6 9L1 4h10z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:10px}.letter-closing{font-size:1.15rem;color:#4a4a4a;margin:30px 0 40px;text-align:left}.letter-signature{margin-top:40px}.letter-signature p{font-size:1.15rem;color:#4a4a4a;margin-bottom:15px}.signature-input{width:100%;padding:15px;margin-bottom:15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;font-family:inherit;transition:all .3s ease;background:#fafafa;color:#3a3a3a}.signature-input:focus{outline:none;border-color:#d4a574;background:#fff;color:#3a3a3a}.letter-actions{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:40px}.send-button{padding:18px 30px;border:none;border-radius:10px;font-size:1.1rem;cursor:pointer;transition:all .3s ease;font-family:inherit;font-weight:500;background:linear-gradient(135deg,#d4a574,#b88a5a);color:#fff;text-transform:uppercase;letter-spacing:1px}.send-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 25px #d4a5744d}.cancel-button{padding:18px 30px;border:2px solid #e0e0e0;border-radius:10px;font-size:1.1rem;cursor:pointer;transition:all .3s ease;font-family:inherit;background:#fff;color:#6b6b6b}.cancel-button:hover:not(:disabled){border-color:#d4a574;color:#d4a574}.send-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.thank-you{padding:50px;background:linear-gradient(135deg,#f0f8f0,#e8f5e8);border-radius:20px;margin-top:50px;box-shadow:0 15px 40px #7fb06926}.thank-you h3{font-size:2rem;color:#7fb069;margin-bottom:15px}.thank-you p{font-size:1.2rem;color:#6b6b6b}.registry-section{max-width:1200px;margin:0 auto 80px}.registry-intro{max-width:900px;margin:0 auto 60px;background:#d4a5740d;padding:40px;border-radius:15px;border-left:4px solid #d4a574}.registry-intro p{font-size:1.05rem;color:#4a4a4a;line-height:1.8;margin-bottom:20px;text-align:left}.registry-intro p:last-child{margin-bottom:0}.registry-category{margin-bottom:60px}.category-title{font-size:1.8rem;color:#556b2f;margin-bottom:30px;font-weight:300;letter-spacing:2px;text-transform:uppercase;border-bottom:2px solid #d4a574;padding-bottom:15px}.registry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:30px;margin-bottom:40px}.registry-item{color:inherit;transition:all .3s ease;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;height:100%;cursor:pointer;position:relative}.registry-item:hover{transform:translateY(-10px);box-shadow:0 20px 50px #00000026}.registry-item.reserved{cursor:default;opacity:.7}.registry-item.reserved:hover{transform:none;box-shadow:0 10px 30px #0000001a}.registry-item.reserved .registry-item-image img{filter:grayscale(50%)}.registry-item.reserved:hover .registry-item-image img{transform:none}.reserved-badge{position:absolute;top:15px;right:15px;background:linear-gradient(135deg,#7fb069,#6b9d5a);color:#fff;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;z-index:10;box-shadow:0 4px 12px #7fb0694d}.registry-item-image{width:100%;height:200px;overflow:hidden;background:#f5f5f5}.registry-item-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}.registry-item:hover .registry-item-image img{transform:scale(1.1)}.custom-gift-item{opacity:.85}.custom-gift-item:hover{opacity:1}.item-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;z-index:2;transition:transform .3s ease}.custom-gift-item:hover .item-overlay{transform:translate(-50%,-50%) scale(1.2)}.registry-item-info{padding:20px;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.item-name{font-size:1.1rem;color:#3a3a3a;text-align:center;line-height:1.4;font-weight:400;margin-bottom:8px}.item-price{font-size:1.3rem;color:#d4a574;text-align:center;font-weight:600;margin-bottom:12px}.contribute-button{background:linear-gradient(135deg,#d4a574,#b88a5a);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;width:100%;white-space:nowrap}.contribute-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d4a5744d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:100%;box-shadow:0 30px 80px #0000004d;position:relative;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:28px;cursor:pointer;color:#999;transition:color .3s ease}.modal-close:hover{color:#333}.modal-item-preview{width:100%;height:250px;overflow:hidden;border-radius:15px;margin-bottom:30px;background:#f5f5f5}.modal-item-preview img{width:100%;height:100%;object-fit:cover;object-position:center}.modal-title{font-size:1.8rem;color:#3a3a3a;margin-bottom:10px;text-align:center;font-weight:400}.modal-price{font-size:1.6rem;color:#d4a574;text-align:center;font-weight:600;margin-bottom:25px}.contribution-form,.purchase-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.95rem;color:#556b2f;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:1px}.required{color:#d4a574;font-weight:600}.form-group input{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;color:#3a3a3a}.form-group input:focus{outline:none;border-color:#d4a574;background:#fffbf5}.already-claimed{background:#f0f8f0;border-left:4px solid #7fb069;padding:12px 15px;border-radius:8px;color:#556b2f;font-size:.95rem;text-align:center}.modal-actions{display:flex;gap:15px;margin-top:20px}.pay-button{flex:1;background:linear-gradient(135deg,#7fb069,#6b9d5a);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500;text-transform:uppercase;letter-spacing:1px}.pay-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #7fb0694d}.pay-button:disabled{opacity:.6;cursor:not-allowed}.claim-submit-button{flex:1;background:linear-gradient(135deg,#d4a574,#b88a5a);color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500;text-transform:uppercase;letter-spacing:1px}.claim-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #d4a5744d}.claim-submit-button:disabled{opacity:.6;cursor:not-allowed}.modal-cancel-button{flex:.5;background:#f5f5f5;border:2px solid #e0e0e0;color:#6b6b6b;padding:14px 20px;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:500;text-transform:uppercase;letter-spacing:1px}.modal-cancel-button:hover:not(:disabled){border-color:#d4a574;color:#d4a574}.modal-cancel-button:disabled{opacity:.6;cursor:not-allowed}.view-product-link{text-align:center;color:#d4a574;text-decoration:none;font-size:.95rem;margin-top:15px;transition:color .3s ease;font-weight:500}.view-product-link:hover{color:#b88a5a;text-decoration:underline}.custom-gift-form{display:flex;flex-direction:column;gap:20px}textarea{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;color:#3a3a3a;resize:vertical}textarea:focus{outline:none;border-color:#d4a574;background:#fffbf5}.delivery-option{background:#f9fafb;padding:15px;border-radius:8px;border:1px solid #e0e0e0}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input{cursor:pointer;width:18px;height:18px}.checkbox-label span{font-size:1rem;color:#3a3a3a}.address-box{background:#f0f8f0;border-left:4px solid #7fb069;padding:20px;border-radius:8px;margin:15px 0}.address-title{font-size:.95rem;color:#556b2f;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.address-text{font-size:1rem;color:#3a3a3a;line-height:1.6;margin:0}.footer{text-align:center;padding:80px 20px 50px;background:transparent;color:#6b6b6b;font-style:italic;font-size:1.2rem}@media (max-width: 768px){.names{font-size:3rem;letter-spacing:4px}.tagline{font-size:1.3rem}.countdown{gap:20px}.countdown-value{font-size:2rem;padding:8px 15px}.details-card{padding:40px 20px}.details{grid-template-columns:1fr;gap:40px}.gallery{grid-template-columns:repeat(2,1fr);gap:15px}.gallery-image{height:200px}.rsvp-buttons{grid-template-columns:1fr}.registry-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.section-title{font-size:2rem}.category-title{font-size:1.4rem}}@media (max-width: 480px){.names{font-size:2.5rem}.countdown{flex-wrap:nowrap;gap:10px}.countdown-item{min-width:auto}.countdown-value{font-size:1.5rem;padding:5px 10px}.countdown-label{font-size:.7rem}.gallery{grid-template-columns:1fr}}
