/* In-stock store buy box and cart (CR-038, 16 Oct 2026) */
.inv-price { font-size: 2.2rem; font-weight: 800; margin: 8px 0 4px; }
.inv-sub { color: var(--ink-3); margin: 0 0 18px; }
.inv-opts { display: grid; gap: 12px; max-width: 420px; }
.inv-opts select { width: 100%; }
.inv-opts .field[hidden] { display: none; }
.inv-qty { display: inline-flex; align-items: stretch; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.inv-qty input { width: 64px; text-align: center; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); border-radius: 0; -moz-appearance: textfield; }
.inv-qty input::-webkit-outer-spin-button, .inv-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.inv-step { width: 44px; min-height: 44px; background: var(--bg-alt); border: 0; font-size: 1.25rem; cursor: pointer; color: var(--ink); }
.inv-step:hover { background: var(--blue-wash); }
.inv-stock { margin: 14px 0 12px; color: var(--green); font-weight: 600; }
.inv-actions { display: grid; gap: 10px; max-width: 420px; }
.inv-actions .btn { width: 100%; justify-content: center; }
.inv-actions .btn[disabled] { opacity: .5; cursor: not-allowed; }
.inv-added { min-height: 1.4em; margin: 10px 0 0; color: var(--green); font-weight: 600; }
.inv-all summary { cursor: pointer; font-weight: 700; font-size: 1.1rem; }
.inv-all-list { list-style: none; padding: 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 24px; }
.inv-all-list li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line-soft); padding: 6px 0; }
.inv-all-list span { font-weight: 700; white-space: nowrap; }
.cart-lines { list-style: none; padding: 0; margin: 18px 0; }
.cart-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-name { display: grid; gap: 2px; min-width: 0; }
.cart-name span { color: var(--ink-3); font-size: .92rem; }
.cart-ctl { display: flex; align-items: center; gap: 14px; }
.cart-ctl input { width: 64px; text-align: center; }
.cart-remove { background: none; border: 0; color: var(--red); cursor: pointer; text-decoration: underline; padding: 8px 0; }
.inv-total { font-size: 1.3rem; font-weight: 800; margin: 6px 0 14px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.inv-email { background: var(--blue-wash); border-radius: var(--r-sm); padding: 14px 16px; margin: 0 0 18px; }
