*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf8f5;margin:0;padding:0}#root{min-height:100svh}h1,h2,h3,p{margin:0}button{cursor:pointer}.page{color:#3d3530;background:#faf8f5;flex-direction:column;min-height:100svh;display:flex}.hero-header{text-align:center;background:#fff;border-bottom:1px solid #e8e0d5;padding:72px 24px 56px;position:relative;overflow:hidden}.hero-header:before,.hero-header:after{content:"✦";color:#c9a96e;opacity:.12;pointer-events:none;font-size:200px;line-height:1;position:absolute;top:-40px}.hero-header:before{left:-40px}.hero-header:after{right:-40px}.pre-title{letter-spacing:3.5px;text-transform:uppercase;color:#c9a96e;margin:0 0 20px;font-family:system-ui,sans-serif;font-size:11px}.couple-names{color:#2b221a;letter-spacing:-1px;margin:0 0 14px;font-family:Georgia,serif;font-size:clamp(40px,9vw,80px);font-weight:400;line-height:1.1}.amp{color:#c9a96e;font-style:italic}.wedding-date{letter-spacing:2.5px;color:#9e8f84;text-transform:uppercase;margin:0 0 28px;font-family:system-ui,sans-serif;font-size:13px}.countdown{background:#fdf8f2;border:1px solid #e8d5b0;border-radius:14px;align-items:center;gap:8px;margin:0 auto 32px;padding:16px 28px;display:inline-flex}.countdown-block{flex-direction:column;align-items:center;min-width:44px;display:flex}.countdown-num{color:#2b221a;letter-spacing:-1px;font-family:Georgia,serif;font-size:clamp(28px,5vw,40px);font-weight:400;line-height:1}.countdown-label{letter-spacing:1.5px;text-transform:uppercase;color:#b09080;margin-top:4px;font-family:system-ui,sans-serif;font-size:10px}.countdown-sep{color:#c9a96e;opacity:.6;margin-bottom:14px;font-family:Georgia,serif;font-size:28px;line-height:1}.hero-message{color:#7a6e65;max-width:480px;margin:0 auto;font-family:Georgia,serif;font-size:16px;font-style:italic;line-height:1.8}.gifts-section{box-sizing:border-box;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:52px 24px}.gifts-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.gift-card{background:#fff;border:1px solid #e8e0d5;border-radius:14px;flex-direction:column;gap:10px;padding:22px;transition:box-shadow .25s,transform .25s;display:flex;position:relative}.gift-card:not(.reserved):hover{transform:translateY(-2px);box-shadow:0 8px 28px #6446281a}.gift-card.reserved{opacity:.45;pointer-events:none}.gift-card.cash-gift{background:#fffcf7;border-color:#e8d5b0}.status-badge{letter-spacing:1.5px;text-transform:uppercase;border-radius:20px;align-self:flex-start;padding:3px 10px;font-family:system-ui,sans-serif;font-size:10px;display:inline-block}.badge-reserved{color:#4a9e54;background:#edf7ed}.badge-cash{color:#c9a96e;background:#fdf3e3;border:1px solid #e8d5b0}.badge-partial{color:#d48806;background:#fff7e6;border:1px solid #ffd591}.gift-title{color:#2b221a;flex:1;margin:0;font-family:system-ui,sans-serif;font-size:14px;font-weight:500;line-height:1.5}.gift-notes{color:#9e8f84;margin:0;font-family:system-ui,sans-serif;font-size:12px;font-style:italic;line-height:1.5}.gift-footer{margin-top:auto;padding-top:6px}.gift-btn{color:#f5efe8;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:#2b221a;border:none;border-radius:8px;width:100%;padding:10px 16px;font-family:system-ui,sans-serif;font-size:12px;transition:background .2s}.gift-btn:hover:not(:disabled){background:#c9a96e}.gift-btn:disabled{cursor:default;background:#c8bfb8}.cash-info{color:#9e8f84;font-family:system-ui,sans-serif;font-size:13px;font-style:italic}.cash-section{margin-top:60px}.section-title{color:#2b221a;text-align:center;margin:0 0 8px;font-family:Georgia,serif;font-size:22px;font-weight:400}.section-title:after{content:"";background:#c9a96e;width:36px;height:1px;margin:12px auto 32px;display:block}.cash-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;max-width:580px;margin:0 auto;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#2b221a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:100%;max-width:460px;max-height:90svh;padding:36px;position:relative;overflow-y:auto;box-shadow:0 32px 80px #2b221a47}.modal-close{color:#b09080;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:26px;line-height:1;transition:color .15s,background .15s;position:absolute;top:14px;right:14px}.modal-close:hover{color:#2b221a;background:#f5efe8}.modal-header{margin-bottom:24px;padding-right:32px}.modal-pre{letter-spacing:2.5px;text-transform:uppercase;color:#c9a96e;margin:0 0 6px;font-family:system-ui,sans-serif;font-size:10px}.modal-title{color:#2b221a;font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:1.35}.modal-section{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.modal-section-label{letter-spacing:1px;text-transform:uppercase;color:#9e8f84;margin:0;font-family:system-ui,sans-serif;font-size:12px}.variants-list{flex-direction:column;gap:8px;display:flex}.variant-card{cursor:pointer;text-align:left;background:#faf8f5;border:1.5px solid #e8e0d5;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:border-color .2s,background .2s;display:flex}.variant-card:hover{background:#fffcf7;border-color:#c9a96e}.variant-card.selected{background:#fdf3e3;border-color:#c9a96e}.variant-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.variant-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.variant-icon{flex-shrink:0;font-size:20px}.variant-img{object-fit:contain;background:#fff;border-radius:6px;flex-shrink:0;width:48px;height:48px}.variant-title{color:#2b221a;flex:1;min-width:0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.45}.variant-check{color:#c9a96e;flex-shrink:0;font-size:13px;font-weight:700}.variant-link-btn{letter-spacing:.3px;color:#c9a96e;white-space:nowrap;border:1px solid #e8d5b0;border-radius:6px;flex-shrink:0;padding:4px 9px;font-family:system-ui,sans-serif;font-size:11px;text-decoration:none;transition:background .15s,color .15s}.variant-link-btn:hover{color:#fff;background:#c9a96e;border-color:#c9a96e}.view-product-btn{color:#2b221a;letter-spacing:.5px;cursor:pointer;background:0 0;border:1.5px solid #2b221a;border-radius:8px;width:100%;padding:11px 16px;font-family:system-ui,sans-serif;font-size:13px;transition:background .2s,color .2s}.view-product-btn:hover{color:#f5efe8;background:#2b221a}.view-product-hint{color:#b09080;text-align:center;margin:6px 0 0;font-family:system-ui,sans-serif;font-size:11px;font-style:italic}.field{flex-direction:column;gap:6px;display:flex}.field-label{letter-spacing:.5px;color:#7a6e65;font-family:system-ui,sans-serif;font-size:12px;font-weight:500}.required{color:#c9a96e}.field-input{color:#2b221a;resize:none;box-sizing:border-box;background:#faf8f5;border:1.5px solid #e8e0d5;border-radius:8px;outline:none;width:100%;padding:11px 14px;font-family:system-ui,sans-serif;font-size:15px;transition:border-color .2s}.field-input:focus{background:#fff;border-color:#c9a96e}.field-input::placeholder{color:#c4b8b0}.field-textarea{resize:vertical;min-height:80px;line-height:1.5}.modal-confirm-btn{color:#f5efe8;letter-spacing:.5px;cursor:pointer;background:#2b221a;border:none;border-radius:10px;width:100%;margin-bottom:12px;padding:14px;font-family:system-ui,sans-serif;font-size:14px;transition:background .2s}.modal-confirm-btn:hover:not(:disabled){background:#c9a96e}.modal-confirm-btn:disabled{cursor:not-allowed;background:#d0c8c0}.modal-error{color:#c0392b;text-align:center;margin:0 0 8px;font-family:system-ui,sans-serif;font-size:12px}.modal-hint{color:#b09080;text-align:center;margin:0;font-family:system-ui,sans-serif;font-size:11px;line-height:1.6}.site-footer{text-align:center;color:#b09080;letter-spacing:.5px;background:#fff;border-top:1px solid #e8e0d5;padding:28px 24px;font-family:system-ui,sans-serif;font-size:12px}@media (width<=640px){.hero-header{padding:52px 20px 44px}.hero-header:before,.hero-header:after{font-size:120px;top:-20px}.countdown{gap:4px;padding:14px 16px}.countdown-block{min-width:36px}.countdown-sep{margin-bottom:12px;font-size:22px}.gifts-section{padding:36px 16px}.gifts-grid{grid-template-columns:1fr 1fr;gap:14px}.gift-card{padding:16px}.gift-title{font-size:13px}.cash-grid{grid-template-columns:1fr;max-width:100%}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:22px 22px 0 0;max-width:100%;max-height:88svh;padding:28px 20px 36px}}@media (width<=380px){.gifts-grid{grid-template-columns:1fr}}
