@font-face{font-family:WeddingScript;src:url('/assets/great-vibes.ttf') format('truetype');font-display:swap}:root{--navy:#101f35;--beige:#d8c5a6;--paper:#fcfaf6;--muted:#69717c;--line:#dfd5c5}*{box-sizing:border-box}body{margin:0;background:#e8dfd1;color:var(--navy);font:14px/1.7 Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus,select:focus{outline:2px solid #9f8257;outline-offset:3px}header{max-width:1120px;margin:auto;padding:23px 35px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border-bottom:1px solid var(--line)}.back{text-decoration:none;font-size:11px}.monogram{font:27px Georgia,serif;text-decoration:none}.wedding-date{font-size:9px;letter-spacing:2px}main{max-width:1120px;margin:auto;background:var(--paper);box-shadow:0 20px 80px #101f350c}.intro{text-align:center;padding:70px 25px 35px}.eyebrow{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 15px;color:#887357}.intro h1{font:clamp(55px,8vw,85px)/1.2 WeddingScript,cursive;margin:0 0 20px;font-weight:400}.intro>p:not(.eyebrow){max-width:550px;margin:auto;color:var(--muted)}.rule{color:#ad9270;font:27px Georgia;display:flex;align-items:center;justify-content:center;gap:22px;margin-top:28px}.rule:after,.rule:before{content:'';height:1px;width:70px;background:var(--line)}.notice{margin:0 40px 30px;border:1px solid var(--line);background:#f1e9dc;padding:13px 20px;text-align:center;font-size:12px;color:#6e5b3f}.notice.live{background:#edf0eb;color:#415641}.notice.error{background:#f7ece8;color:#8a3b2e}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:25px 45px 45px;border-bottom:1px solid var(--line)}.how>div{display:flex;align-items:flex-start;gap:13px}.how span{font:italic 26px Georgia;color:#af9878}.how p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.how b{font-weight:500;color:var(--navy)}.wishlist{padding:45px 40px 65px}.list-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.list-head .eyebrow{margin-bottom:8px}.list-head h2{font:46px/1.2 WeddingScript,cursive;margin:0}.refresh{background:none;border:1px solid var(--line);padding:9px 14px;color:var(--navy);font-size:11px}.filters{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 14px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:22px}.tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:12px 0;font-size:12px}.tabs button[aria-selected=true]{color:var(--navy);border-bottom-color:var(--navy)}.tabs span{background:#eee5d7;border-radius:50%;padding:3px 6px;margin-left:4px;font-size:10px}.category-label{font-size:10px;color:var(--muted)}select{background:var(--paper);border:1px solid var(--line);padding:8px;font-size:11px;margin-left:7px;color:var(--navy)}.small{font-size:11px;color:var(--muted)}.wishlist-note{margin:0 0 25px;max-width:760px}.gift-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gift-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.gift-art{height:160px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#f3ece1,#e5d8c2)}.gift-card:nth-child(2n) .gift-art{background:linear-gradient(135deg,#e7ebef,#d9e0e7)}.gift-art svg{width:116px;height:116px;color:var(--navy);filter:drop-shadow(0 10px 7px #101f3515)}.badge{position:absolute;right:10px;top:11px;padding:4px 8px;background:#ffffffda;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#5d6a5e}.taken .badge{background:var(--navy);color:#e7d7bd}.card-body{padding:20px;display:flex;flex:1;flex-direction:column}.category{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#8e795d;margin:0 0 9px}.card-body h3{font:24px/1.25 Georgia,serif;margin:0 0 12px;font-weight:400}.card-description{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 13px}.spec{font-size:10px;color:#8a7e6a;line-height:1.6;margin:0 0 17px;flex:1}.price{font:22px Georgia,serif;margin:0 0 3px}.price-label{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border:1px solid var(--navy);background:var(--navy);color:white;text-decoration:none;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.button:hover{background:#293f5b}.card-body .button{width:100%}.taken-message{margin:0;border:1px solid #d8c5a6;background:#f7f2e9;color:#7d694d;padding:11px;text-align:center;font-size:11px}.taken .gift-art svg{opacity:.65}.empty{text-align:center;padding:50px 20px;background:#f4eee4;color:var(--muted);font-size:13px}.success-banner{margin-top:25px;padding:20px;border:1px solid #b8c5af;background:#f0f3ed;font-size:13px}.closing{text-align:center;background:var(--navy);color:var(--paper);padding:55px 25px}.closing h2{font:47px/1.2 WeddingScript,cursive;font-weight:400;margin:0 0 22px}.closing p:not(.eyebrow){font-size:12px;color:#b9c3ce;max-width:420px;margin:0 auto 25px}.outline{background:none;border-color:var(--beige);color:var(--beige)}.closing .eyebrow{color:var(--beige)}footer{text-align:center;padding:35px 30px 40px;background:#eee5d7}footer .script{font:44px WeddingScript,cursive;margin:0}footer>p:not(.script){font-size:10px}footer .small{max-width:700px;margin:22px auto 0;font-size:9px}dialog{background:var(--paper);color:var(--navy);border:1px solid var(--beige);padding:35px;width:calc(100% - 32px);max-width:450px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#081524b8;backdrop-filter:blur(4px)}.close{position:absolute;right:13px;top:6px;background:none;border:0;color:var(--navy);font-size:28px}dialog h2{font:44px/1.2 WeddingScript,cursive;margin:0 0 20px}.chosen-gift{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:24px;font:20px Georgia,serif}.chosen-gift span{display:block;margin-top:8px;font:11px Arial;color:var(--muted)}label[for=gifterName]{display:block;font-size:11px;margin-bottom:8px}input{width:100%;border:1px solid var(--line);padding:12px;background:white;color:var(--navy)}dialog .small{margin:13px 0}.modal-note{font-size:11px;padding:12px;background:#eee5d7;margin:18px 0}.form-error{font-size:12px;color:#9b3e30}.cancel{display:block;margin:15px auto 0;border:0;background:none;color:var(--muted);font-size:11px}.button:disabled{opacity:.55;cursor:wait}.form-error:focus{outline:none}[hidden]{display:none!important}@media(max-width:850px){.gift-list{grid-template-columns:repeat(2,1fr)}.how{gap:15px;padding:22px 30px 35px}.how>div{gap:8px}.how span{font-size:23px}}@media(max-width:580px){header{padding:20px}.wedding-date{display:none}.intro{padding:45px 22px 26px}.intro h1{font-size:59px}.notice{margin:0 20px 20px}.how{grid-template-columns:1fr;gap:17px;padding:14px 25px 30px}.wishlist{padding:35px 20px 45px}.list-head{gap:10px}.list-head .eyebrow{font-size:8px;letter-spacing:1px}.list-head h2{font-size:39px}.refresh{padding:8px;font-size:10px}.filters{align-items:stretch;flex-direction:column;gap:12px}.tabs{gap:25px}.category-label{align-self:flex-end}.gift-list{gap:14px}.gift-art{height:125px}.gift-art svg{width:91px;height:91px}.card-body{padding:14px}.card-body h3{font-size:20px}.price{font-size:17px}.card-description{font-size:11px}.spec{font-size:9px}.card-body .button{font-size:8px;letter-spacing:.8px;padding:12px 5px}.badge{font-size:7px;right:7px;top:7px}.closing h2{font-size:42px}dialog{padding:28px}}@media(max-width:350px){.gift-list{grid-template-columns:1fr}.gift-art{height:160px}.gift-art svg{width:120px;height:120px}}@media(prefers-reduced-motion:no-preference){.gift-card{animation:arrive .35s ease}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

.gift-shopping{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.shop-heading{font-size:10px;font-weight:600;color:var(--navy);margin:0 0 10px;letter-spacing:.2px}.shop-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.shop-links a{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border:1px solid #c9baa1;color:var(--navy);background:#fcfaf6;padding:9px 7px;font-size:10px;line-height:1.5}.shop-links a:hover{background:var(--navy);border-color:var(--navy);color:white}.shop-hint{font-size:9px;color:var(--muted);line-height:1.6;margin:11px 0 0}.success-banner .gift-shopping{max-width:600px}.success-banner .shop-links{grid-template-columns:repeat(4,1fr)}@media(max-width:580px){.shop-links{grid-template-columns:1fr}.success-banner .shop-links{grid-template-columns:1fr 1fr}.shop-links a{font-size:10px}.shop-hint{font-size:9px}}
