.shop{max-width:600px;padding:4px var(--gutter) 24px;margin-inline:auto}.shop-title{margin:8px 0 14px;font-size:2.125rem}.box{border-radius:var(--radius-card);background:var(--paper);box-shadow:0 1px 0 var(--line);margin-bottom:12px;padding:16px 14px}.box>h2,.box>legend{font-family:var(--font-serif);margin:0 0 12px;padding:0;font-size:1.5rem;font-style:italic;font-weight:500;line-height:1.1}fieldset.box{border:0;min-width:0}fieldset.box>legend{float:left;width:100%}fieldset.box>legend+*{clear:both}.field{margin-bottom:12px;display:block}.field>span{color:var(--plum-muted);margin-bottom:4px;font-size:.8125rem;display:block}.field input,.field select{border:1px solid var(--field);border-radius:var(--radius-control);background:var(--paper);width:100%;height:48px;padding:0 12px;font-size:1rem}.field input::placeholder{color:#8d7a88}.field input[aria-invalid=true]{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.field-error{color:var(--warn);margin-top:4px;font-size:.8125rem}.field-error[hidden]{display:none}.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.note{color:var(--plum-muted);margin:-4px 0 12px;font-size:.8125rem;line-height:1.45}.alert{border-radius:var(--radius-control);color:#7a2b49;background:#fbeaf0;margin:0 0 12px;padding:12px 14px;font-size:.9375rem}.alert[hidden]{display:none}.alert.info{background:var(--lavender-wash);color:var(--plum)}.alert ul{margin:0;padding-left:18px}.link-btn{color:var(--plum);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:.875rem;text-decoration:underline}.btn.block{width:100%}.btn.ghost{color:var(--plum);border:1px solid var(--plum);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--lavender-wash)}.totals{margin:0}.totals>div{justify-content:space-between;gap:12px;margin:4px 0;font-size:.9375rem;display:flex}.totals dt,.totals dd{margin:0}.totals .discount dd{color:var(--gold-ink)}.totals .total{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:1.25rem;font-weight:500}.empty{text-align:center;padding:40px 12px 16px}.empty p{color:var(--plum-muted);margin:10px 0 22px}.thumb{object-fit:cover;background:linear-gradient(160deg,#e9dff5,#f6e6ee);border-radius:10px;flex:none;width:64px;height:80px}.totals .total:only-child{border-top:0;margin-top:0;padding-top:0}
