/* Commerce blocks (brand-restore spec section 9.1): Clover device cards inside a light island, the buy actions, the
   device specs, the chooser and the cash-discount receipt. Loaded on /, /clover/* and /locations/*. Core .stz-card and
   .stz-btn as shipped; tokens only. */

.device-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--stz-space-6); margin: 0; padding: 0; list-style: none; }
.device-cards--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.device-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.device-card { display: flex; flex-direction: column; height: 100%; padding: var(--stz-space-5); }
.device-card__media { margin: 0 0 var(--stz-space-4); }
.device-card__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.device-card__kind { margin: 0 0 var(--stz-space-1); color: var(--stz-accent-text); font-size: var(--stz-size-caption); font-weight: var(--stz-weight-medium); }
.device-card h3 { margin: 0; color: var(--stz-text); font-size: var(--stz-size-title); line-height: var(--stz-lh-label); }
.device-card h3 a { color: inherit; }
.device-card__use { margin: var(--stz-space-1) 0 var(--stz-space-5); color: var(--stz-text-muted); font-size: var(--stz-size-small); line-height: var(--stz-lh-label); }
.device-facts { margin: 0 0 var(--stz-space-5); padding: 0; list-style: none; border-top: var(--stz-border-width-hairline) solid var(--stz-border-hairline); font-size: var(--stz-size-caption); }
.device-facts li { padding-block: var(--stz-space-2); border-bottom: var(--stz-border-width-hairline) solid var(--stz-border-hairline); }
.device-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--stz-space-3) var(--stz-space-5); margin: auto 0 0; }

/* Device page: the cart row in the hero and the spec list. */
.cart-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--stz-space-3) var(--stz-space-5); }
.cart-row::after { content: ""; order: 1; flex-basis: 100%; }
.cart-row .cart-alt,
.cart-row .cart-call { order: 2; }
.cart-mid { display: flex; flex-wrap: wrap; align-items: center; gap: var(--stz-space-3); }
.cart-more { margin: var(--stz-space-3) 0 0; }
.spec-list { margin: 0; border-top: var(--stz-border-width-hairline) solid var(--stz-border-hairline); }
.spec-list div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--stz-space-5); padding-block: var(--stz-space-3); border-bottom: var(--stz-border-width-hairline) solid var(--stz-border-hairline); }
.spec-list dt { color: var(--stz-text); font-weight: var(--stz-weight-medium); }
.spec-list dd { margin: 0; }
.split .media { margin-top: var(--stz-space-8); }
.close-band .cart-alt { display: inline-block; margin-top: var(--stz-space-1); }

/* "Which Clover?" chooser on /clover/devices/. */
.chooser-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--stz-space-10) var(--stz-space-13); align-items: start; }
.chooser-form { display: grid; gap: var(--stz-space-6); }
.chooser-step { margin: 0; padding: 0; border: 0; min-width: 0; }
.chooser-step legend { margin-bottom: var(--stz-space-3); }
.chooser-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--stz-space-1) var(--stz-space-5); }
.chooser-option { min-height: var(--stz-touch-target); }
.chooser-submit { justify-self: start; }
.chooser-result { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--stz-space-8); align-items: center; }
.chooser-stage img { display: block; width: 100%; }
.chooser-copy h3 { margin: var(--stz-space-2) 0 var(--stz-space-3); }
.chooser-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--stz-space-3) var(--stz-space-5); margin-top: var(--stz-space-5); }

/* Cash discount receipt: a card on the panel plane. */
.receipt-card { display: grid; gap: var(--stz-space-5); }
.receipt { margin: 0; }
.receipt figcaption { margin-bottom: var(--stz-space-2); color: var(--stz-text); font-weight: var(--stz-weight-medium); }
.receipt dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 0; border-top: var(--stz-border-width-hairline) solid var(--stz-border-hairline); font-variant-numeric: tabular-nums; }
.receipt dt,
.receipt dd { margin: 0; padding-block: var(--stz-space-2); border-bottom: var(--stz-border-width-hairline) solid var(--stz-border-hairline); }
.receipt dd { text-align: right; color: var(--stz-text); }
.receipt .total { color: var(--stz-text); font-weight: var(--stz-weight-medium); }
.receipt-note { margin: 0; font-size: var(--stz-size-small); line-height: var(--stz-lh-label); }

@media (max-width: 1023.98px) {
  .device-cards,
  .device-cards--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chooser-grid,
  .chooser-result { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
  .device-cards { gap: var(--stz-space-3); }
  .device-card { padding: var(--stz-space-3); }
  .device-card__media { margin-bottom: var(--stz-space-2); }
  .device-card__actions { gap: var(--stz-space-2) var(--stz-space-3); }
  .device-card__actions .stz-btn { --_pad: var(--stz-space-2) var(--stz-space-3); flex: 1 1 100%; min-width: 0; white-space: normal; }
  .spec-list div { grid-template-columns: minmax(0, 1fr); gap: var(--stz-space-1); }
}
