@font-face{font-family:Cormorant;src:url('fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Noto;src:url('fonts/devanagari.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f8f2e9;--card:#fffcf6;--ink:#552e3b;--ink-soft:#73525c;--plum:#5b2f45;--rose:#c9848e;--rose-wash:#f6e3e1;--leaf:#4f6b47;--leaf-wash:#e7eedf;--line:#e2d2c2;--brass:#b38d55;--focus:#9b693d}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--paper) url('gift-grain.svg');color:var(--ink);font:16px/1.65 Noto,Georgia,serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.gift-skip{position:absolute;left:-999px;top:8px;background:var(--card);padding:10px 14px;z-index:5}.gift-skip:focus{left:12px}
.gift-top{max-width:1040px;margin:0 auto;padding:18px clamp(18px,4vw,40px) 0}
#gift-return{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font:1.15rem/1 Cormorant,Georgia,serif;font-weight:500;border-bottom:1px solid transparent}
#gift-return:hover{border-bottom-color:currentColor}
#gift-return svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.gift-page{max-width:1040px;margin:0 auto;padding:0 clamp(18px,4vw,40px) 72px}
.gift-hero{position:relative;padding:clamp(22px,5vw,56px) 0 clamp(20px,3vw,34px);isolation:isolate}
.gift-hero::after{content:"";position:absolute;z-index:-1;right:-4%;top:-6px;width:min(46%,420px);aspect-ratio:3/2;background:url('gift-floral.webp') center/contain no-repeat;opacity:.95;pointer-events:none}
.gift-couple{margin:0 0 .4rem;font:500 1.05rem/1.3 Cormorant,Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.gift-hero h1{margin:0;font:300 clamp(3rem,8vw,5.4rem)/.98 Cormorant,Georgia,serif;letter-spacing:-.01em;color:var(--ink)}
.gift-lede{margin:.9rem 0 0;max-width:30ch;font-size:1.08rem;color:var(--ink-soft)}
.gift-board{position:relative}
.gift-search{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(16px,3vw,26px);box-shadow:0 18px 40px -30px #552e3b66}
.gift-search label{display:block;font:600 1.3rem/1.2 Cormorant,Georgia,serif;margin:0 0 .65rem}
.gift-search-field{position:relative}
.gift-search-field svg{position:absolute;left:16px;top:50%;width:20px;height:20px;transform:translateY(-50%);fill:none;stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round;pointer-events:none}
#gift-search{width:100%;min-height:56px;padding:12px 16px 12px 48px;border:1px solid #c9b3a4;border-radius:10px;background:#fff;font-size:1.05rem}
#gift-search::placeholder{color:#9a8088}
#gift-search:focus{border-color:var(--plum)}
#gift-search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 5l8 8M13 5l-8 8' stroke='%235e2c47' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* When close matches are already listed, adding a new gift is the quieter, secondary choice. */
.gift-add-row[data-quiet]{background:transparent;border:1px dashed color-mix(in srgb,var(--plum) 40%,transparent)}
.gift-add-row[data-quiet] .gift-primary{background:transparent;color:var(--plum)}
.gift-add-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--rose-wash)}
.gift-add-row[hidden]{display:none}
.gift-add-row span{font-size:.98rem}.gift-add-row strong{font-weight:600}
.gift-primary,.gift-secondary,.gift-filters button,.gift-card button{min-height:44px;border-radius:999px;padding:9px 20px;border:1px solid var(--plum);transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.gift-primary{background:var(--plum);color:#fff8f0}
.gift-primary:hover{background:#45213a}
.gift-secondary{background:transparent;color:var(--plum)}
.gift-secondary:hover{background:#5b2f450f}
.gift-filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 6px}
.gift-filters button{background:transparent;color:var(--ink);border-color:var(--line);padding:8px 16px}
.gift-filters button:hover{border-color:var(--plum)}
.gift-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff8f0}
.gift-filters span:empty{display:none}
.gift-filters span{display:inline-block;min-width:1.6em;margin-left:4px;font-size:.85em;opacity:.8}
.gift-summary{margin:6px 0 14px;font-size:.92rem;color:var(--ink-soft);min-height:1.5em}
.gift-results{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.gift-card{display:flex;flex-direction:column;gap:10px;min-height:150px;padding:18px 18px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.gift-card h3{margin:0;font:600 1.45rem/1.15 Cormorant,Georgia,serif;overflow-wrap:anywhere}
.gift-card .gift-variant{margin:-4px 0 0;font-size:.95rem;color:var(--ink-soft);overflow-wrap:anywhere}
.gift-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:.82rem;line-height:1.5}
.gift-chip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gift-card[data-kind=suggestion] .gift-chip{background:var(--rose-wash);color:#7c3e4b}
.gift-card[data-kind=plan] .gift-chip{background:#efe8e1;color:#6c5a5f}
.gift-card[data-mine] .gift-chip{background:var(--leaf-wash);color:#3e5638}
.gift-card[data-kind=plan]:not([data-mine]){background:#fbf7f1}
.gift-card[data-kind=plan]:not([data-mine]) h3{color:#6c5a5f}
.gift-card[data-mine]{border-color:#b9c9ad;box-shadow:inset 3px 0 0 var(--leaf)}
.gift-card-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gift-card .gift-primary,.gift-card .gift-secondary{padding:8px 18px}
.gift-card .gift-confirm-text{flex-basis:100%;margin:0;font-size:.92rem}
.gift-empty{grid-column:1/-1;padding:28px 22px;text-align:center;border:1px dashed #d4bfae;border-radius:12px;color:var(--ink-soft);background:#fffcf680}
.gift-empty p{margin:0}
.gift-more{display:block;margin:22px auto 0}.gift-more[hidden],#gift-fields[hidden],.gift-dialog-variant[hidden]{display:none}
.gift-dialog-variant{margin:-.6rem 0 .6rem;color:var(--ink-soft)}
.gift-status{margin:18px 0 0;min-height:1.5em;font-size:.98rem}
.gift-status:not(:empty){padding:12px 16px;border-radius:10px;background:var(--leaf-wash);color:#304a2b}
.gift-status[data-tone=error]:not(:empty){background:#f7e1df;color:#7a2d2d}
.gift-dialog{width:min(94vw,520px);max-height:92dvh;overflow:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 30px 70px -30px #2b1520aa}
.gift-dialog::backdrop{background:#2f1a25a8;backdrop-filter:blur(3px)}
.gift-dialog form{position:relative;padding:28px clamp(20px,5vw,32px) 26px}
.gift-dialog-kicker{margin:0;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.gift-dialog h2{margin:.25rem 0 1rem;padding-right:44px;font:500 2.1rem/1.08 Cormorant,Georgia,serif;overflow-wrap:anywhere}
.gift-dialog label{display:block;margin:14px 0 6px;font-weight:600;font-size:.95rem}
.gift-dialog label span{font-weight:400;color:var(--ink-soft)}
.gift-dialog input{width:100%;min-height:48px;padding:10px 14px;border:1px solid #c9b3a4;border-radius:10px;background:#fff}
.gift-close{position:absolute;right:14px;top:14px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent}
.gift-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.gift-similar:empty{display:none}
.gift-similar{margin-top:16px;padding:12px 14px;border-radius:10px;background:#f4ece0;font-size:.92rem}
.gift-similar p{margin:0}.gift-similar ul{margin:6px 0 0;padding-left:1.1rem}
.gift-dialog-status{min-height:1.4em;margin:14px 0 0;font-size:.95rem}
.gift-dialog-status[data-tone=error]{color:#8a2c2c}
.gift-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.gift-dialog-actions .gift-primary{flex:1 1 180px}
@media(max-width:640px){.gift-hero::after{width:52%;right:-10%;top:-2px;opacity:.85}.gift-hero h1{max-width:7ch}.gift-lede{max-width:24ch}.gift-search{border-radius:12px}.gift-filters{gap:6px}.gift-filters button{padding:7px 13px;font-size:.95rem}.gift-card{min-height:0}.gift-add-row button{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(forced-colors:active){.gift-primary,.gift-filters button[aria-pressed=true]{border:2px solid ButtonText}}
