:root { --ink:#1d2433; --muted:#6b7280; --line:#e5e7eb; --bg:#faf8f4; --card:#fff; --accent:#1f3a5f; --gold:#b08d57; --ok:#2f6f4f; --bad:#a33; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
.wrap { max-width:980px; margin:0 auto; padding:24px 16px 60px; }
header.top { display:flex; align-items:baseline; gap:12px; margin-bottom:18px; }
header.top h1 { font-family:Georgia,"Times New Roman",serif; font-size:1.9rem; margin:0; letter-spacing:.2px; }
header.top .tag { color:var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; }
label { display:block; font-weight:600; font-size:.88rem; margin:12px 0 4px; }
input, textarea, select { width:100%; font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
textarea { min-height:70px; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:640px) { .row { grid-template-columns:1fr; } }
.chips { display:flex; flex-wrap:wrap; gap:6px; }
.chip { border:1px solid var(--line); background:#fff; border-radius:999px; padding:6px 12px; font-size:.88rem; cursor:pointer; }
.chip.on { background:var(--accent); color:#fff; border-color:var(--accent); }
.btn { display:inline-block; border:0; border-radius:10px; padding:11px 18px; font:inherit; font-weight:700; cursor:pointer; background:var(--accent); color:#fff; text-decoration:none; }
.btn.sec { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.btn.gold { background:var(--gold); }
.btn:disabled { opacity:.55; cursor:wait; }
.muted { color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-top:16px; }
.gift { display:flex; flex-direction:column; }
.gift img { width:100%; aspect-ratio:1; object-fit:contain; background:#fff; border-radius:10px; border:1px solid var(--line); }
.gift h3 { font-size:1rem; margin:10px 0 2px; }
.gift .price { font-weight:800; font-size:1.1rem; }
.gift .was { color:var(--muted); text-decoration:line-through; font-weight:400; margin-left:6px; font-size:.9rem; }
.gift .why { font-size:.9rem; margin:6px 0 10px; flex:1; }
.gift .acts { display:flex; gap:8px; flex-wrap:wrap; }
.note { border-left:4px solid var(--gold); background:#fff7e8; padding:12px 14px; border-radius:8px; }
.bar { height:14px; background:#eee; border-radius:999px; overflow:hidden; }
.bar > i { display:block; height:100%; background:var(--ok); transition:width .4s; }
dialog { border:0; border-radius:14px; padding:0; max-width:460px; width:calc(100% - 32px); }
dialog::backdrop { background:rgba(0,0,0,.35); }
dialog .card { border:0; }
.err { color:var(--bad); font-weight:600; margin-top:8px; }
.ok { color:var(--ok); font-weight:700; }
footer { margin-top:30px; font-size:.82rem; color:var(--muted); }
