/* v63 — the display-currency control sat unstyled above the filters
   (css/merch.css held its rule but merch.html never loaded that file).
   It now reads as part of the green terminal toolbar. */
.shop-body .shop__currency{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;
  margin:0 0 14px;padding:0;
  font:600 .7rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;text-transform:uppercase;color:#5ac668;
}
.shop-body .shop__currency label{color:#5ac668}
.shop-body .shop__currency select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  min-height:36px;padding:0 30px 0 14px;
  border:1px solid rgba(61,220,87,.55);border-radius:999px;
  background:#071107 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%233ddc57'/%3E%3C/svg%3E") no-repeat right 12px center;
  color:#d8ffd2;font:inherit;letter-spacing:.06em;
}
.shop-body .shop__currency select:hover{border-color:#3ddc57}
.shop-body .shop__currency select:focus-visible{outline:2px solid #3ddc57;outline-offset:2px}
.shop-body .shop__currency select option{background:#071107;color:#d8ffd2}
.shop-body .shop__currency [data-currency-note]{
  text-transform:none;letter-spacing:.02em;font-weight:400;color:rgba(216,255,210,.6)
}
@media (max-width:639px){.shop-body .shop__currency{gap:6px 10px}.shop-body .shop__currency [data-currency-note]{flex-basis:100%}}
.shop__search{display:grid;gap:6px;max-width:460px;margin:0 0 14px;color:#5ac668;font:700 .68rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
.shop__search input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #3f7446;border-radius:5px;background:#071107;color:#d8ffd2;font:inherit;font-size:16px;text-transform:none;letter-spacing:0}
.shop__search input:focus-visible{outline:2px solid #3ddc57;outline-offset:2px}
.shop__search input::placeholder{color:rgba(216,255,210,.5)}
.shop__results{min-height:1.3em;margin:0 0 10px;color:rgba(216,255,210,.66);font-size:.72rem}
.shop__empty{grid-column:1/-1;min-height:180px;display:grid;place-items:center;padding:24px;border:1px dashed rgba(92,240,143,.38);color:#9ddaa6;text-align:center}

/* v63 — downloads show who made them, not just the title. */
.shop-body .product__artist{
  display:block;margin-top:2px;
  font-size:.7rem;line-height:1.3;font-weight:600;color:#9be89f;
  overflow-wrap:anywhere;
}
.shop-body .sheet__artist{margin:-4px 0 8px;font-size:.85rem;font-weight:700;color:#3a3730}
.download-checkout{display:grid;gap:10px;margin-top:12px}.download-checkout__email{display:grid;gap:5px;font-size:.72rem;font-weight:700}.download-checkout__email input{box-sizing:border-box;width:100%;min-height:42px;padding:9px 10px;font:inherit;color:#23201b;background:#fff;border:1px solid #9b9386;border-radius:4px}.download-checkout__email input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.download-checkout__consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:8px;font-size:.66rem;line-height:1.4;color:#5f594f}.download-checkout__consent input{margin-top:2px}
@media (max-width:639px){.shop-body .product__artist{font-size:.64rem}}

/* v64: the stock line fills in when live stock arrives; reserve its line so
   the currency row and the grid don't get pushed down when it does */
#shopNote{min-height:1.5em}

/* v64: discount code field in the basket (js/discount-code-patch.js) */
.basket-discount{display:grid;gap:6px;margin:12px 0 4px}
.basket-discount__label{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.basket-discount__row{display:flex;gap:6px}
.basket-discount__row input{flex:1;min-width:0;min-height:40px;padding:0 10px;border:1px solid rgba(92,240,143,.5);border-radius:4px;background:#050a06;color:#d9ffe3;font:inherit;font-size:16px;text-transform:uppercase;letter-spacing:.06em}
.basket-discount__row button{flex:none;min-height:40px;padding:0 14px;border:1px solid #3df07a;border-radius:4px;background:#103a1d;color:#c8ffd6;font:700 .66rem/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;cursor:pointer}
.basket-discount__msg{margin:0;min-height:1.2em;font-size:.72rem}
.basket-discount__msg[data-kind=ok]{color:#5cf08f}
.basket-discount__msg[data-kind=error]{color:#ff8a7a}
.basket-ship{display:grid;gap:6px;margin:12px 0 0}
.basket-ship select{flex:1;min-height:40px;padding:0 10px;border:1px solid rgba(92,240,143,.5);border-radius:4px;background:#050a06;color:#d9ffe3;font:inherit;font-size:16px}
