/* Screen 04: a quiet product shelf, distinct from the moving case gallery. */
.equipment-section {
  color-scheme: light;
  --equipment-ink: #17283e;
  --equipment-muted: #59697b;
  --equipment-rule: #dae1e9;
  --equipment-accent: #0756d8;
  --focus: #0756d8;
  color: var(--equipment-ink);
}
.equipment-section { padding: 56px 0 48px; background: #f5f6f8; }
.equipment-shell { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.equipment-heading { display: flex; justify-content: space-between; align-items: center; gap: 28px; }
.equipment-heading h2 { margin: 0; font-size: clamp(27px, 2.7vw, 38px); font-weight: 600; line-height: 1.3; letter-spacing: -.04em; }
.equipment-intro { margin: 12px 0 0; font-size: 14px; color: var(--equipment-muted); }
.equipment-section button { cursor: pointer; }
.equipment-link { display: inline-flex; flex-shrink: 0; align-items: center; gap: 32px; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid #8b9aad; color: var(--equipment-ink); background: transparent; font-size: 13px; text-decoration: none; }
.equipment-link:hover { color: var(--equipment-accent); border-color: currentColor; }
.equipment-mode-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; }
.equipment-modes { display: flex; padding: 4px; border: 1px solid #d2dbe7; border-radius: 9px; background: #e9edf3; }
.equipment-modes button { min-height: 44px; min-width: 128px; padding: 8px 22px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #4e6076; font-size: 14px; transition: background-color 180ms, color 180ms; }
.equipment-modes button[aria-pressed="true"] { border-color: #d6e0ee; background: #fff; color: var(--equipment-accent); box-shadow: 0 2px 6px #132d4b09; font-weight: 650; }
.equipment-sample-note { margin: 0; font-size: 12px; color: var(--equipment-muted); }
.equipment-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.equipment-filter-label { margin-right: 6px; color: var(--equipment-muted); font-size: 12px; font-weight: 550; }
.equipment-filters button { min-height: 44px; padding: 8px 18px; border: 1px solid #aab8cb; border-radius: 8px; background: #fff; color: #344b67; font-size: 13px; font-weight: 500; box-shadow: 0 2px 3px #14263e04; transition: background-color 180ms, border-color 180ms, color 180ms, box-shadow 180ms; }
.equipment-filters button:hover { color: var(--equipment-accent); background: #eef4ff; border-color: #0756d8; }
.equipment-filters button[aria-pressed="true"] { color: #fff; background: var(--equipment-accent); border-color: var(--equipment-accent); font-weight: 650; box-shadow: 0 3px 8px #0756d821; }
.equipment-filters button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.equipment-status { margin: 8px 0 12px; color: var(--equipment-muted); font-size: 12px; min-height: 20px; }
.equipment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.equipment-card { min-width: 0; }
.equipment-card-button { text-decoration: none; }
.equipment-detail-pending { margin: 12px 0 0; color: var(--equipment-muted); font-size: 12px; }
.equipment-card-button { display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 1px solid var(--equipment-rule); border-radius: 10px; background: #fff; color: inherit; text-align: left; box-shadow: 0 5px 15px #10233d04; transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; }
.equipment-card-button:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .equipment-card-button:hover { transform: translateY(-5px); border-color: #9bb6dc; box-shadow: 0 15px 28px #17325212; }
}
.equipment-image { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1.6; overflow: hidden; padding: 24px 20px 12px; border-radius: 9px 9px 0 0; background: radial-gradient(ellipse at 50% 58%, #fff 15%, #edf1f6 95%); }
.equipment-image::after { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; height: 2px; background: #cbd8e9; content: ""; pointer-events: none; }
.equipment-image svg { position: absolute; inset: 14% 7% 8%; width: 86%; height: 78%; overflow: visible; }
.equipment-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.equipment-image-label { position: absolute; z-index: 1; top: 13px; left: 14px; color: #61748a; font-size: 11px; letter-spacing: .06em; }
.equipment-image-sample { position: absolute; bottom: 10px; right: 12px; color: #66788b; font-size: 10px; }
.equipment-card-body { display: flex; flex-direction: column; flex: 1; min-width: 0; width: 100%; padding: 16px; }
.equipment-card-type { color: var(--equipment-accent); font-size: 11px; }
.equipment-card-title { margin-top: 6px; font-size: 18px; font-weight: 600; line-height: 1.45; }
.equipment-condition { margin-top: 8px; padding-top: 6px; border-top: 1px solid #edf0f5; color: var(--equipment-muted); font-size: 12px; }
.equipment-stock { display: block; margin-top: 5px; color: #24605d; font-size: 12px; font-weight: 550; }
.equipment-stock.is-sold { color: #775748; }
.equipment-card-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 6px; margin-top: auto; padding-top: 14px; }
.equipment-price { font-size: 22px; font-weight: 600; letter-spacing: -.035em; font-variant-numeric: tabular-nums; line-height: 1.2; }
.equipment-price small { display: block; margin-top: 7px; font-size: 10px; font-weight: 400; letter-spacing: 0; color: var(--equipment-muted); }
.equipment-card-action { color: var(--equipment-accent); font-size: 12px; white-space: nowrap; padding-bottom: 2px; }
.equipment-recovery { display: flex; align-items: center; gap: 22px; margin-top: 24px; padding: 18px 26px; border: 1px solid #d4deed; border-radius: 10px; background: linear-gradient(110deg, #eaf0f9, #f1f4fa 65%, #e7edf9); }
.recovery-mark { flex-shrink: 0; display: grid; place-items: center; width: 62px; height: 62px; border: 1px solid #c4d2e7; border-radius: 50%; color: #33619a; }
.recovery-mark svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.recovery-copy .section-eyebrow { font-size: 10px; margin: 0 0 3px; }
.recovery-copy h3 { margin: 0; font-size: 23px; font-weight: 550; letter-spacing: -.025em; }
.recovery-copy > p:last-child { margin: 5px 0 0; font-size: 12px; color: var(--equipment-muted); }
.equipment-primary { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 46px; padding: 11px 20px; border: 1px solid #0756d8; border-radius: 6px; background: #0756d8; color: #fff; font: inherit; font-size: 13px; text-decoration: none; transition: background-color 180ms; }
.equipment-primary:hover { background: #0647b4; }
.equipment-primary:disabled { border-color: #b8c1cd; background: #e7ecf2; color: #596779; cursor: default; }
.equipment-primary[hidden] { display: none; }
.equipment-recovery > .equipment-primary { margin-left: auto; flex-shrink: 0; }
.equipment-detail-note { color: var(--equipment-muted); font-size: 12px; line-height: 1.8; }
.equipment-form { margin-top: 22px; }
.equipment-form label, .equipment-form legend { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 550; }
.equipment-form label > span:not(.recovery-types span) { font-weight: 400; color: var(--equipment-muted); font-size: 12px; }
.equipment-form input:not([type="radio"]), .equipment-form textarea { display: block; width: 100%; min-height: 44px; border: 1px solid #8696aa; border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; background: #fff; color: var(--equipment-ink); }
.equipment-form textarea { resize: vertical; }
.equipment-form input::placeholder, .equipment-form textarea::placeholder { color: #667589; font-size: 12px; }
.equipment-form input[aria-invalid="true"] { border-color: #b42318; }
.equipment-form fieldset { padding: 0; margin: 0; border: 0; }
.equipment-form legend { padding: 0; }
.recovery-types { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.recovery-types label { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; padding: 8px 12px; border: 1px solid #8696aa; border-radius: 6px; cursor: pointer; }
.recovery-types label:has(:checked) { border-color: #0756d8; background: #edf3ff; color: #0756d8; }
.recovery-types input { width: 16px; height: 16px; accent-color: #0756d8; }
.recovery-fields { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; }
.equipment-error { display: block; margin-top: 5px; font-size: 12px; color: #b42318; }
.equipment-error:empty { display: none; }
.equipment-form > button { margin-top: 22px; }
.equipment-form-status { color: #0756d8; font-size: 13px; line-height: 1.8; }
.equipment-form-status:empty { display: none; }
.equipment-form[hidden] { display: none; }
@media (max-width: 1100px) { .equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .equipment-image { aspect-ratio: 1.65; } }
@media (max-width: 700px) {
  .equipment-section { padding: 48px 0 40px; }
  .equipment-shell { width: calc(100% - 40px); }
  .equipment-heading { align-items: start; gap: 16px; }
  .equipment-heading h2 { font-size: 27px; text-wrap: balance; }
  .equipment-intro { font-size: 12px; }
  .equipment-link { gap: 8px; font-size: 12px; margin-top: 27px; }
  .equipment-mode-row { flex-wrap: wrap; margin-top: 24px; gap: 12px; }
  .equipment-modes { width: 100%; }
  .equipment-modes button { flex: 1; min-width: 0; }
  .equipment-sample-note { font-size: 11px; }
  .equipment-filters { gap: 8px; margin-top: 18px; }
  .equipment-filter-label { flex-basis: 100%; margin: 0 0 2px; }
  .equipment-filters button { padding: 7px 12px; font-size: 12px; }
  .equipment-grid { gap: 12px; margin-top: 20px; }
  .equipment-image { aspect-ratio: 1.1; padding: 24px 10px 14px; }
  .equipment-image-label { left: 10px; top: 9px; font-size: 10px; }
  .equipment-image-sample { bottom: 7px; font-size: 9px; }
  .equipment-card-body { padding: 13px 11px; }
  .equipment-card-title { font-size: 16px; min-height: 2.9em; }
  .equipment-card-bottom { align-items: start; flex-direction: column; gap: 10px; padding-top: 15px; }
  .equipment-price { font-size: 21px; }
  .equipment-recovery { flex-wrap: wrap; gap: 14px; padding: 22px 18px; }
  .recovery-mark { width: 44px; height: 44px; }
  .recovery-mark svg { width: 28px; height: 28px; }
  .recovery-copy { flex: 1; min-width: 0; }
  .recovery-copy h3 { font-size: 21px; }
  .equipment-recovery > .equipment-primary { margin: 2px 0 0; width: 100%; }
  .equipment-form > button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .equipment-section * { transition: none !important; } .equipment-card-button:hover { transform: none; } }
