:root{--ink:#19120f;--wine:#651d2b;--wine2:#40101b;--gold:#c89b4a;--cream:#fbf7ef;--muted:#746a63;--line:#e7dcc9;--white:#fff;--ok:#2f6b48}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f8f0e1,#fff 45%,#f4ead9);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh}.shell{max-width:1180px;margin:auto;padding:28px}.brand{display:flex;align-items:center;gap:16px;margin-bottom:22px}.crest{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--wine);color:var(--gold);font-family:Georgia,serif;font-size:28px;border:2px solid var(--gold)}h1,h2,h3{font-family:Georgia,serif;margin:0}h1{font-size:30px}.tagline{color:var(--muted);margin:4px 0 0}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px}.panel,.summary{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px rgba(61,32,17,.09)}.panel{padding:30px}.summary{padding:22px;position:sticky;top:20px;height:max-content}.progress{height:7px;background:#eee4d4;border-radius:99px;overflow:hidden;margin:18px 0 28px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--wine),var(--gold));transition:width .3s}.assistant{display:flex;gap:12px;margin-bottom:20px}.avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff}.bubble{background:var(--cream);border-radius:4px 16px 16px 16px;padding:14px 17px;line-height:1.5;max-width:720px}.step{display:none}.step.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:0;transform:translateY(4px)}}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}label{font-size:14px;font-weight:700}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #d9cdbb;border-radius:10px;background:#fff;font:inherit}input:focus,textarea:focus,select:focus{outline:2px solid #d7b876;border-color:transparent}.choices,.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.choice{border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;background:#fff;transition:.18s}.choice:hover,.choice.selected{border-color:var(--gold);box-shadow:0 5px 18px rgba(85,45,18,.12)}.choice.selected{background:#fff9ec}.choice input{width:auto;margin-right:8px}.choice.disabled{opacity:.55;cursor:not-allowed}.product{overflow:hidden;padding:0}.product img{width:100%;height:150px;object-fit:contain;background:#faf8f3}.product-body{padding:14px}.price{font-weight:800;color:var(--wine);margin:7px 0}.product-actions{display:flex;align-items:center;gap:8px}.product-actions input[type=number]{width:70px}.engrave{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.nav{display:flex;justify-content:space-between;margin-top:26px}.nav-actions{display:flex;gap:10px}.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:800;cursor:pointer}.btn.primary{background:var(--wine);color:#fff}.btn.secondary{background:#efe6d7;color:var(--ink)}.btn:disabled{opacity:.45}#finishPath{display:none}.summary h3{border-bottom:1px solid var(--line);padding-bottom:12px}.summary-list{list-style:none;padding:0;margin:12px 0}.summary-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.artwork-line{color:var(--wine);font-weight:800}.total{display:flex;justify-content:space-between;font-size:20px;font-weight:900;color:var(--wine);padding-top:12px}.note{font-size:12px;color:var(--muted);line-height:1.45}.artwork-note{display:block;margin-top:7px;color:var(--wine);font-size:13px}.key-ring-selector{max-width:480px}.key-ring-selector label{display:block;margin:12px 0 7px}.sq-badge{display:inline-block;margin:7px 0;padding:4px 8px;border-radius:999px;background:#fff1cb;color:#6d4712;font-size:12px;font-weight:800}.error{color:#a32121;background:#fff0f0;padding:10px;border-radius:9px;margin-top:12px;display:none}.success{text-align:center;padding:22px}.quote-id{font-size:26px;color:var(--wine);margin:12px}.fine{color:var(--muted);font-size:13px}@media(max-width:850px){.layout{grid-template-columns:1fr}.summary{position:static}.choices,.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.shell{padding:14px}.panel{padding:20px}.fields,.choices,.product-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.nav-actions{flex-wrap:wrap;justify-content:flex-end}h1{font-size:25px}}
