/* Werner lot + upload layouts (staging) — presentation_template v3 */
.sga-w-lot-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (min-width: 576px) {
  .sga-w-lot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .sga-w-lot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .sga-w-lot-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* live-auction.js expects Bootstrap row-cols container; keep dual-class bridge */
.sga-w-lot-grid.row {
  display: grid;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
}
.sga-w-lot-grid > .col {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

/* Marketplace browse (/shop) — 3-col desktop instead of the 4-col lot grid */
.sga-w-shop-grid.row {
  display: grid;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0;
}
.sga-w-shop-grid > .col {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
@media (min-width: 992px) {
  .sga-w-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .sga-w-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sga-w-shop .sga-w-card .sga-w-media {
  display: block;
  text-decoration: none;
}
.sga-w-shop .sga-w-stat-value {
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sga-w-card {
  border: 1px solid #e8eaed;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16,24,40,.05), 0 10px 28px rgba(16,24,40,.06);
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s ease, transform .18s ease;
}
.sga-w-card:hover {
  box-shadow: 0 4px 14px rgba(16,24,40,.1), 0 18px 36px rgba(16,24,40,.07);
  transform: translateY(-1px);
}
.sga-w-media {
  position: relative;
  background: #fafafa;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-bottom: 1px solid #f0f1f3;
}
.sga-w-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #fafafa;
}
.sga-w-lot-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #d32f2f;
  color: #fff;
  font-weight: 800;
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .38rem .62rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(211,47,47,.28);
  z-index: 2;
  line-height: 1;
}
.sga-w-watch {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1.5px solid #ef9a9a;
  background: #fff;
  color: #d32f2f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  z-index: 2;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
}
.sga-w-watch:hover {
  color: #b71c1c;
  border-color: #d32f2f;
  background: #fff5f5;
}
.sga-w-photo-count {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  background: rgba(255,255,255,.94);
  color: #374151;
  font-size: .72rem;
  font-weight: 700;
  padding: .28rem .55rem;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 4px rgba(16,24,40,.08);
  z-index: 2;
  line-height: 1;
}
.sga-w-photo-count i { color: #6b7280; font-size: .7rem; }
.sga-w-body {
  padding: .95rem 1rem 1.05rem;
  display: flex;
  flex-direction: column;
  gap: .58rem;
  flex: 1 1 auto;
}
.sga-w-title {
  font-size: .98rem;
  font-weight: 800;
  color: #111827;
  margin: 0;
  line-height: 1.28;
  letter-spacing: .01em;
  text-transform: uppercase;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
}
.sga-w-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.sga-w-pill {
  display: inline-flex;
  align-items: center;
  font-size: .68rem;
  font-weight: 700;
  padding: .24rem .55rem;
  border-radius: 999px;
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
  line-height: 1.1;
  letter-spacing: .02em;
}
.sga-w-pill-cond {
  background: #e8f8ef;
  color: #0f7a45;
  border-color: #b7ebcd;
}
.sga-w-pill-type {
  background: #f3f4f6;
  color: #4b5563;
  border-color: #d1d5db;
  text-transform: uppercase;
}
.sga-w-meta {
  font-size: .8rem;
  color: #6b7280;
  display: flex;
  flex-direction: column;
  gap: .28rem;
}
.sga-w-meta > span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-width: 0;
}
.sga-w-meta i {
  width: 14px;
  text-align: center;
  color: #9ca3af;
  flex: 0 0 auto;
}
.sga-w-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .45rem;
  padding: .7rem .75rem;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  border-radius: 12px;
}
.sga-w-stats > div { min-width: 0; }
.sga-w-stat-label {
  display: block;
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6b7280;
  font-weight: 700;
  line-height: 1.2;
}
.sga-w-stat-value {
  display: block;
  font-size: .92rem;
  font-weight: 800;
  color: #111827;
  margin-top: .18rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sga-w-stat-value--bid { color: #d32f2f; }
.sga-w-bid-form { margin-top: .1rem; }
.sga-w-bid-row {
  display: flex;
  gap: .5rem;
  align-items: stretch;
  margin-top: auto;
}
.sga-w-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  flex: 1 1 auto;
  min-width: 0;
  height: 42px;
}
.sga-w-stepper button {
  border: 0;
  background: #f3f4f6;
  width: 34px;
  height: 100%;
  font-weight: 800;
  color: #111827;
  flex: 0 0 auto;
  line-height: 1;
}
.sga-w-stepper button:hover:not(:disabled) { background: #e5e7eb; }
.sga-w-stepper button:disabled {
  opacity: .72;
  cursor: not-allowed;
}
.sga-w-stepper input:disabled {
  opacity: 1;
  color: #6b7280;
  cursor: not-allowed;
  -webkit-text-fill-color: #6b7280;
}
.sga-w-currency {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 0 .45rem;
  font-weight: 800;
  color: #374151;
  font-size: .9rem;
  flex: 0 0 auto;
  user-select: none;
}
.sga-w-stepper input {
  border: 0;
  width: 100%;
  min-width: 0;
  text-align: left;
  font-weight: 700;
  height: 100%;
  box-shadow: none !important;
  padding: 0 .4rem 0 .2rem;
  background: transparent;
  color: #111827;
  /* Custom +/- buttons already exist — hide native number spinners */
  -moz-appearance: textfield;
  appearance: textfield;
}
.sga-w-stepper input::-webkit-outer-spin-button,
.sga-w-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.sga-w-btn-bid {
  border: 0;
  border-radius: 10px;
  background: #d32f2f;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .03em;
  padding: 0 .85rem;
  white-space: nowrap;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  flex: 0 0 auto;
  text-decoration: none;
  font-size: .82rem;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(211,47,47,.22);
}
.sga-w-btn-bid i { font-size: .85rem; }
.sga-w-btn-bid:hover:not(:disabled) { background: #b71c1c; color: #fff !important; }
.sga-w-btn-bid:disabled,
.sga-w-bid-form.is-disabled .sga-w-btn-bid:not(.sga-w-btn-bid--link) {
  background: #ef9a9a;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}
.sga-w-btn-bid--link {
  background: #d32f2f;
  cursor: pointer;
}
.sga-w-btn-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: 100%;
  border-radius: 10px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  color: #111827;
  font-weight: 700;
  font-size: .86rem;
  padding: .62rem .75rem;
  text-decoration: none;
  letter-spacing: .02em;
  margin-top: .1rem;
}
.sga-w-btn-view i { color: #6b7280; }
.sga-w-btn-view:hover {
  background: #f9fafb;
  color: #111827;
  border-color: #9ca3af;
}
.sga-w-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}
.sga-w-status-row--sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sga-w-lot-live {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .75rem;
  justify-content: space-between;
  margin: -.35rem 0 .15rem;
}
.sga-w-lot-status {
  border-radius: .45rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
  padding: .45rem .65rem;
  text-transform: uppercase;
}
.sga-w-lot-countdown {
  align-items: center;
  color: #6b7280;
  display: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .92rem;
  font-weight: 700;
  gap: .4rem;
  letter-spacing: .02em;
  line-height: 1;
}
.sga-w-lot-countdown.is-live {
  display: inline-flex;
}
.sga-w-lot-countdown i {
  color: #e10600;
  font-size: .85rem;
}
.sga-w-lot-countdown.is-urgent {
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: .45rem;
  color: #9a3412;
  padding: .35rem .55rem;
}
.sga-w-lot-countdown.is-urgent i {
  color: #d97706;
}
.sga-w-standing:empty,
.sga-w-standing .badge:empty,
.sga-w-standing .badge.bg-none:not(.bg-success):not(.bg-danger):not(.bg-secondary) {
  display: none;
}
.sga-w-standing .badge {
  font-size: .7rem;
  font-weight: 700;
}
.sga-w-standing .badge.bg-success,
.sga-w-standing .badge.bg-danger {
  display: inline-flex;
}

/* Opened lot (Oop-Lot) — 3-column desktop */
.sga-w-detail {
  margin-top: 4.75rem;
  padding-bottom: 2.5rem;
  color: #111827;
  /* same canvas as .sga-w-auction, so the detail page is not narrower than the lot grid */
  max-width: 1400px;
  width: calc(100% - 3.75rem);
}
@media (max-width: 575.98px) {
  .sga-w-detail { width: calc(100% - 1.5rem); }
}
.sga-w-back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #4b5563;
  text-decoration: none;
  font-weight: 600;
  font-size: .95rem;
  margin-bottom: 1.1rem;
}
.sga-w-back:hover { color: #c62828; }

.sga-w-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.35rem 1.5rem;
  align-items: start;
}
@media (min-width: 992px) {
  .sga-w-detail-grid {
    grid-template-columns: minmax(280px, 1.05fr) minmax(300px, 1.2fr) minmax(270px, 0.88fr);
  }
}

/* Gallery */
.sga-w-gallery {
  background: transparent;
  border: 0;
  overflow: visible;
}
.sga-w-gallery-stage {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(55,65,81,.35), transparent 60%),
    linear-gradient(160deg, #1f2937 0%, #111827 55%, #0b1220 100%);
  border: 1px solid #1f2937;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
  min-height: 360px;
}
.sga-w-gallery-main {
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: transparent;
}
.sga-w-gallery-main img {
  max-height: 390px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  cursor: zoom-in;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.sga-w-photo-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: #c62828;
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .4rem .7rem;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(198,40,40,.35);
}
.sga-w-expand {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.sga-w-expand:hover { background: #fff; color: #c62828; }
.sga-w-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
}
.sga-w-nav:hover { color: #c62828; }
.sga-w-nav-prev { left: 12px; }
.sga-w-nav-next { right: 12px; }

.sga-w-thumbs {
  display: flex;
  gap: .55rem;
  padding: .85rem 0 0;
  overflow-x: auto;
  background: transparent;
  border: 0;
}
.sga-w-thumb {
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  padding: 0;
  border-radius: 10px;
  border: 2px solid #e5e7eb;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}
.sga-w-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
  border-radius: 0;
}
.sga-w-thumb.active,
.sga-w-thumb:hover {
  border-color: #c62828;
  box-shadow: 0 0 0 1px #c62828;
}

/* Center column */
.sga-w-lot-badge-inline {
  position: static;
  display: inline-flex;
  margin-bottom: .65rem;
  font-size: .78rem;
  padding: .4rem .7rem;
  border-radius: 8px;
}
.sga-w-detail-title {
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 800;
  margin: 0 0 .2rem;
  color: #0f172a;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.sga-w-detail-sub {
  color: #6b7280;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: .85rem;
  letter-spacing: .02em;
}
.sga-w-detail-badges {
  margin-bottom: 1.1rem;
}
.sga-w-pill-type-outline {
  background: #fff;
  color: #374151;
  border: 1.5px solid #d1d5db;
  font-weight: 800;
  letter-spacing: .03em;
}
.sga-w-pill-cond {
  background: #ecfdf5;
  color: #047857;
  border-color: #6ee7b7;
  font-weight: 800;
  letter-spacing: .03em;
}

/* Specs: icon + label | value — NOT grey pill rows */
.sga-w-specs {
  display: grid;
  grid-template-columns: 1fr;
  gap: .15rem 1.75rem;
  margin: 0 0 1.35rem;
  padding: .15rem 0;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
}
@media (min-width: 640px) {
  .sga-w-specs { grid-template-columns: 1fr 1fr; }
}
.sga-w-spec {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .72rem 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: .92rem;
}
.sga-w-specs > .sga-w-spec:nth-last-child(-n+2) { border-bottom: 0; }
@media (max-width: 639.98px) {
  .sga-w-specs > .sga-w-spec:last-child { border-bottom: 0; }
  .sga-w-specs > .sga-w-spec:nth-last-child(2) { border-bottom: 1px solid #f3f4f6; }
}
.sga-w-spec-left {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.sga-w-spec-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #fef2f2;
  color: #c62828;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  flex: 0 0 auto;
}
.sga-w-spec-label {
  color: #6b7280;
  font-weight: 600;
  font-size: .86rem;
}
.sga-w-spec-value {
  color: #111827;
  font-weight: 800;
  text-align: right;
  font-size: .92rem;
}
.sga-w-spec.is-yes .sga-w-spec-value { color: #059669; }
.sga-w-spec.is-no .sga-w-spec-value { color: #6b7280; }

.sga-w-desc {
  margin-top: .35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.sga-w-desc-heading {
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #111827;
  margin: 0 0 .55rem;
}
.sga-w-desc-body {
  color: #374151;
  font-size: .95rem;
  line-height: 1.55;
}

/* Right sticky rail */
.sga-w-rail {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(16,24,40,.08);
  padding: 1.15rem 1.15rem 1.2rem;
  position: sticky;
  top: 88px;
}
.sga-w-rail-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-bottom: .95rem;
}
.sga-w-rail-price .sga-w-stat-label {
  display: block;
  margin-bottom: .2rem;
}
.sga-w-price-red {
  display: block;
  color: #c62828;
  font-weight: 800;
  font-size: 1.35rem;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.sga-w-rail-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-bottom: .85rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid #f3f4f6;
}
.sga-w-meta-value {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  color: #111827;
  margin-top: .15rem;
}
.sga-w-time-remaining {
  color: #c62828;
  font-size: .95rem;
}
.sga-w-time-remaining i { margin-right: .3rem; }
.sga-w-rail-ends {
  margin-bottom: 1rem;
}
.sga-w-rail-ends strong {
  display: block;
  margin-top: .2rem;
  font-size: .95rem;
  color: #111827;
}
.sga-w-rail-actions {
  display: grid;
  gap: .65rem;
}
.sga-w-btn-place-bid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: #c62828;
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .03em;
  padding: .85rem 1rem;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(198,40,40,.28);
}
.sga-w-btn-place-bid:hover:not(.is-disabled):not(:disabled) {
  background: #b71c1c;
  color: #fff !important;
}
.sga-w-btn-place-bid.is-disabled,
.sga-w-btn-place-bid:disabled {
  opacity: 1;
  cursor: not-allowed;
  background: #c62828;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(198,40,40,.18);
  filter: none;
}
.sga-w-btn-place-bid.is-disabled::after,
.sga-w-btn-place-bid:disabled::after {
  /* keep solid brand red chrome while waiting */
  content: none;
}
.sga-w-bid-wait-note {
  margin: -.15rem 0 0;
  font-size: .8rem;
  color: #6b7280;
  text-align: center;
}
.sga-w-btn-watchlist {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: 100%;
  border-radius: 12px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  color: #111827 !important;
  font-weight: 800;
  letter-spacing: .02em;
  padding: .75rem 1rem;
  text-decoration: none !important;
}
.sga-w-btn-watchlist:hover {
  border-color: #c62828;
  color: #c62828 !important;
  background: #fffafa;
}
.sga-w-terms-box {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  margin-top: .95rem;
  padding: .75rem .8rem;
  border-radius: 12px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #7f1d1d;
}
.sga-w-terms-box > i {
  color: #c62828;
  margin-top: .15rem;
  flex: 0 0 auto;
}
.sga-w-terms {
  font-size: .8rem;
  color: #7f1d1d;
  line-height: 1.4;
}
.sga-w-terms a {
  color: #b71c1c;
  font-weight: 700;
  text-decoration: underline;
}

/* Keep rail stats override from older markup paths */
.sga-w-rail .sga-w-stats {
  margin-bottom: .85rem;
  grid-template-columns: 1fr 1fr;
}
.sga-w-rail-actions .btn-danger {
  background: #c62828;
  border-color: #c62828;
  font-weight: 800;
  border-radius: 10px;
  padding: .7rem 1rem;
}

@media (max-width: 991.98px) {
  .sga-w-col-rail { order: 3; }
  .sga-w-col-main { order: 2; }
  .sga-w-col-gallery { order: 1; }
  .sga-w-rail { position: static; }
}
@media (max-width: 575.98px) {
  .sga-w-gallery-main { height: 280px; }
  .sga-w-gallery-main img { max-height: 250px; }
  .sga-w-gallery-stage { min-height: 280px; }
  .sga-w-price-red { font-size: 1.15rem; }
  .sga-w-nav { width: 36px; height: 36px; }
}

/* Upload forms chrome */
/* Padding, not margin: the nav is in normal flow, and a margin here left a white body-coloured
   band between the navbar and where this page's own background starts. */
.sga-w-form-page { padding-top: 2rem; padding-bottom: 2.5rem; background: #f8fafc; }
.sga-w-form-hero {
  border-radius: 18px;
  background: linear-gradient(135deg, #111827 0%, #1f2937 55%, #7f1d1d 100%);
  color: #fff;
  padding: 1.4rem 1.5rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 12px 28px rgba(17,24,39,.18);
}
.sga-w-form-hero h1,
.sga-w-form-hero h2 {
  margin: 0 0 .35rem;
  font-weight: 800;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}
.sga-w-form-hero p { margin: 0; color: rgba(255,255,255,.82); max-width: 48rem; }
.sga-w-form-heading .sga-w-form-title {
  margin: 0 0 .4rem;
  font-weight: 800;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  color: #111827;
  letter-spacing: -.02em;
}
.sga-w-form-heading .sga-w-form-sub {
  margin: 0 auto;
  max-width: 36rem;
  color: #6b7280;
  font-weight: 500;
}
.sga-w-form-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(16,24,40,.05);
  overflow: hidden;
  background: #fff;
}
.sga-w-form-card--clean {
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(16,24,40,.06);
}
.sga-w-form-card .card-header {
  background: #111827 !important;
  color: #fff !important;
  font-weight: 700;
  border-bottom: 0;
  padding: .9rem 1.15rem;
}
.sga-w-form-card--clean .card-header { display: none; }
.sga-w-form-card .card-body { padding: 1.25rem 1.15rem 1.4rem; }
.sga-w-label {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #374151;
  margin-bottom: .45rem;
}
.sga-w-label i { color: #c62828; width: 1rem; text-align: center; }
.sga-w-label .req { color: #c62828; }
.sga-w-listing-form .form-control,
.sga-w-listing-form .form-select {
  border-radius: 10px;
  border-color: #d1d5db;
  min-height: 46px;
  font-weight: 500;
}
.sga-w-listing-form .form-control:focus,
.sga-w-listing-form .form-select:focus {
  border-color: #c62828;
  box-shadow: 0 0 0 .2rem rgba(198,40,40,.12);
}
.sga-w-price-group .input-group-text {
  background: #f9fafb;
  border-color: #d1d5db;
  font-weight: 800;
  color: #111827;
  border-radius: 10px 0 0 10px;
}
.sga-w-price-group .form-control { border-radius: 0 10px 10px 0; }
.sga-w-commission-box,
.sga-w-commission-note {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 12px;
  padding: .95rem 1rem;
  color: #9a3412;
  font-weight: 600;
}
.sga-w-dropzone {
  position: relative;
  border: 2px dashed #d1d5db;
  border-radius: 14px;
  background: #fafafa;
  min-height: 160px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.sga-w-dropzone:hover,
.sga-w-dropzone.is-dragover {
  border-color: #c62828;
  background: #fff5f5;
  box-shadow: inset 0 0 0 1px rgba(198,40,40,.08);
}
.sga-w-dropzone-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
.sga-w-dropzone-inner {
  pointer-events: none;
  text-align: center;
  padding: 1.6rem 1rem;
}
.sga-w-dropzone-icon {
  font-size: 1.8rem;
  color: #c62828;
  margin-bottom: .55rem;
  display: block;
}
.sga-w-dropzone-title {
  font-weight: 700;
  color: #111827;
  margin-bottom: .15rem;
}
.sga-w-dropzone-sub { color: #6b7280; font-weight: 500; }
.sga-w-browse { color: #c62828; font-weight: 800; text-decoration: underline; }
.sga-w-dropzone-hint {
  margin-top: .55rem;
  font-size: .82rem;
  color: #9ca3af;
  font-weight: 600;
}
.sga-w-dropzone-file {
  margin-top: .65rem;
  display: inline-block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: .3rem .75rem;
  font-size: .82rem;
  font-weight: 700;
  color: #111827;
}
.sga-w-dropzone--video { min-height: 140px; }
.sga-w-dropzone--doc { min-height: 150px; }
.sga-w-confidential {
  margin: .65rem 0 0;
  color: #b91c1c;
  font-size: .9rem;
}
.sga-w-radio-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
.sga-w-radio-fieldset legend {
  float: none;
  width: auto;
  margin-bottom: .55rem;
}
.sga-w-radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.sga-w-radio {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
}
.sga-w-radio input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.sga-w-radio span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: .65rem 1rem;
  border-radius: 10px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  color: #374151;
  font-weight: 700;
  transition: all .15s ease;
}
.sga-w-radio input:checked + span {
  border-color: #c62828;
  background: #c62828;
  color: #fff;
  box-shadow: 0 4px 12px rgba(198,40,40,.22);
}
.sga-w-radio input:focus-visible + span {
  outline: 2px solid rgba(198,40,40,.35);
  outline-offset: 2px;
}
.sga-w-terms-link {
  color: #c62828 !important;
  font-weight: 800;
  text-decoration: underline;
}
.sga-w-agree-check .form-check-label,
.sga-w-inline-check .form-check-label {
  font-weight: 600;
  color: #374151;
}
.sga-w-admin-onbehalf {
  border: 1px solid #fde68a;
  background: #fffbeb;
  border-radius: 12px;
  padding: .75rem 1rem;
}
.sga-w-admin-onbehalf > summary {
  cursor: pointer;
  font-weight: 800;
  color: #92400e;
  list-style: none;
}
.sga-w-admin-onbehalf > summary::-webkit-details-marker { display: none; }
.sga-w-admin-onbehalf-body { margin-top: .85rem; }
.sga-w-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.25rem;
}
.sga-w-form-actions--stacked {
  display: grid;
  gap: .85rem;
  margin-top: 1.75rem;
}
.sga-w-btn-submit,
.sga-w-form-actions .btn-danger {
  background: #c62828;
  border: 1px solid #c62828;
  color: #fff;
  font-weight: 800;
  border-radius: 12px;
  padding: .95rem 1.2rem;
  letter-spacing: .04em;
  width: 100%;
  text-transform: uppercase;
}
.sga-w-btn-submit:hover,
.sga-w-form-actions .btn-danger:hover {
  background: #b71c1c;
  border-color: #b71c1c;
  color: #fff;
}
.sga-w-btn-draft {
  width: 100%;
  border-radius: 12px;
  border: 2px solid #c62828;
  color: #c62828;
  background: #fff;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .9rem 1.2rem;
  text-transform: uppercase;
}
.sga-w-btn-draft:hover {
  background: #fff5f5;
  color: #b71c1c;
  border-color: #b71c1c;
}
.sga-w-or-divider {
  display: flex;
  align-items: center;
  gap: .85rem;
  color: #9ca3af;
  font-weight: 800;
  letter-spacing: .08em;
  font-size: .78rem;
}
.sga-w-or-divider::before,
.sga-w-or-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #e5e7eb;
}
.sga-w-form-actions .btn-outline-secondary {
  border-radius: 10px;
  font-weight: 700;
  padding: .7rem 1.2rem;
}
.sga-w-offer-page {
  background: #f5f6f8;
  min-height: calc(100vh - 4rem);
}
.sga-w-offer-shell {
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
  padding: 1.75rem 1.5rem 1.6rem;
}
@media (min-width: 768px) {
  .sga-w-offer-shell { padding: 2.1rem 2.25rem 2rem; }
}
.sga-w-offer-head {
  margin-bottom: 1.5rem;
}
.sga-w-offer-head h1 {
  margin: 0 0 .45rem;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-weight: 800;
  letter-spacing: -.02em;
  color: #111827;
}
.sga-w-offer-head p {
  margin: 0 auto;
  max-width: 36rem;
  color: #6b7280;
  font-size: .98rem;
  line-height: 1.5;
  font-weight: 500;
}
.sga-w-field-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .45rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #111827;
}
.sga-w-field-label i {
  color: #c62828;
  width: 1rem;
  text-align: center;
  font-size: .9rem;
}
.sga-w-field-label .req { color: #c62828; }
.sga-w-field-input {
  min-height: 48px;
  border-radius: 12px !important;
  border-color: #d1d5db !important;
  font-weight: 600;
  color: #111827;
  box-shadow: none !important;
}
.sga-w-field-input:focus {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 .2rem rgba(198, 40, 40, .12) !important;
}
.sga-w-field-help {
  margin-top: .4rem;
  font-size: .82rem;
  color: #6b7280;
  font-weight: 500;
}
.sga-w-dropzone {
  position: relative;
  border: 2px dashed #d1d5db;
  border-radius: 16px;
  background: #fafbfc;
  min-height: 168px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
  overflow: hidden;
}
.sga-w-dropzone:hover,
.sga-w-dropzone:focus,
.sga-w-dropzone.is-dragover {
  border-color: #c62828;
  background: #fff5f5;
  box-shadow: inset 0 0 0 1px rgba(198, 40, 40, .08);
  outline: none;
}
.sga-w-dropzone.has-files {
  border-style: solid;
  border-color: #e5e7eb;
  background: #fff;
}
.sga-w-dropzone-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
.sga-w-dropzone-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 1.35rem 1rem;
  pointer-events: none;
}
.sga-w-dropzone-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto .75rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fee2e2;
  color: #c62828;
  font-size: 1.35rem;
}
.sga-w-dropzone-title {
  font-weight: 800;
  color: #111827;
  font-size: 1rem;
}
.sga-w-dropzone-sub {
  color: #6b7280;
  font-weight: 600;
  font-size: .92rem;
}
.sga-w-dropzone-browse {
  color: #c62828;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sga-w-dropzone-hint {
  margin-top: .55rem !important;
  color: #9ca3af;
  font-size: .8rem;
  font-weight: 600;
}
.sga-w-radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.sga-w-radio {
  position: relative;
  flex: 1 1 120px;
  margin: 0;
  cursor: pointer;
}
.sga-w-radio input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.sga-w-radio span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 1.5px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
  color: #374151;
  font-weight: 800;
  font-size: .95rem;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.sga-w-radio input:checked + span {
  border-color: #c62828;
  background: #fff5f5;
  color: #b71c1c;
  box-shadow: inset 0 0 0 1px rgba(198, 40, 40, .15);
}
.sga-w-radio input:focus-visible + span {
  box-shadow: 0 0 0 .2rem rgba(198, 40, 40, .18);
}
.sga-w-offer-actions {
  margin-top: 1.6rem;
}
.sga-w-offer-cta {
  width: 100%;
  min-height: 54px;
  border: 0 !important;
  border-radius: 12px !important;
  background: #c62828 !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(198, 40, 40, .22);
}
.sga-w-offer-cta:hover,
.sga-w-offer-cta:focus {
  background: #b71c1c !important;
  color: #fff !important;
}
.sga-w-offer-form #image-preview .card {
  border-radius: 12px;
  overflow: hidden;
  border-color: #e5e7eb;
}
.sga-w-offer-form #image-preview .card-img-top {
  height: 110px !important;
}
@media (max-width: 575.98px) {
  .sga-w-gallery-main { height: 280px; }
  .sga-w-gallery-main img { max-height: 280px; }
  .sga-w-form-actions .btn { width: 100%; }
  .sga-w-rail { position: static; }
  .sga-w-offer-shell { padding: 1.25rem 1rem 1.2rem; border-radius: 14px; }
  .sga-w-dropzone { min-height: 150px; }
}

/* Auction page header banner — Peet mock 2026-08-06 */
.sga-w-banner {
  align-items: center;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 1rem;
  box-shadow: 0 8px 22px rgba(17, 17, 17, .07);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  padding: 1rem 1.15rem;
}
.sga-w-banner-identity {
  align-items: center;
  display: flex;
  flex: 1 1 16rem;
  gap: 1rem;
  min-width: 0;
}
.sga-w-banner-logo {
  border-radius: 50%;
  flex: 0 0 auto;
  height: 64px;
  object-fit: contain;
  width: 64px;
}
.sga-w-banner-title-wrap {
  align-items: center;
  border-left: 1px solid #e4e4e4;
  display: flex;
  gap: .55rem;
  min-width: 0;
  padding-left: 1rem;
}
.sga-w-banner-dealership {
  color: #e10600;
  flex: 0 0 auto;
  font-size: 1.25rem;
}
.sga-w-banner-title {
  color: #111827;
  font-size: clamp(1.05rem, 1.7vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sga-w-banner-when {
  align-items: center;
  border-left: 1px solid #e5e7eb;
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 0;
}
.sga-w-banner-when-item {
  align-items: center;
  display: grid;
  gap: 0 .7rem;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  padding: 0 1.15rem;
}
.sga-w-banner-when-item + .sga-w-banner-when-item {
  border-left: 1px solid #e5e7eb;
}
/* Calendar sits in a light grey circle, locked to the date row */
.sga-w-banner-when-item > i {
  align-items: center;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  color: #e10600;
  display: inline-flex;
  font-size: 1rem;
  grid-column: 1;
  grid-row: 2;
  height: 2.4rem;
  justify-content: center;
  line-height: 1;
  width: 2.4rem;
}
.sga-w-banner-when-label {
  color: #8b8f97;
  display: block;
  font-size: .68rem;
  font-weight: 700;
  grid-column: 2;
  grid-row: 1;
  letter-spacing: .06em;
  line-height: 1.1;
  margin: 0;
}
.sga-w-banner-when-date {
  color: #111827;
  display: block;
  font-size: .98rem;
  font-weight: 800;
  grid-column: 2;
  grid-row: 2;
  line-height: 1.15;
}
.sga-w-banner-when-time {
  color: #8b8f97;
  display: block;
  font-size: .82rem;
  font-weight: 500;
  grid-column: 2;
  grid-row: 3;
  line-height: 1.25;
  margin: 0;
}
.sga-w-banner-rules {
  align-items: center;
  background: #fff;
  border: 1.5px solid #e10600;
  border-radius: .7rem;
  color: #e10600;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .95rem;
  font-weight: 700;
  gap: .45rem;
  line-height: 1;
  margin-left: 1.15rem;
  min-height: 2.6rem;
  padding: .55rem 1rem;
  position: relative;
  transition: background .15s ease, color .15s ease;
}
/* Light grey y-divider before Rules, matching START|END */
.sga-w-banner-rules::before {
  background: #e5e7eb;
  bottom: 12%;
  content: "";
  left: -1.15rem;
  position: absolute;
  top: 12%;
  width: 1px;
}
.sga-w-banner-rules:hover,
.sga-w-banner-rules:focus {
  background: #e10600;
  color: #fff;
}
.sga-w-banner-timer {
  background: #f3f4f6;
  border-radius: .85rem;
  flex: 0 0 auto;
  margin-left: auto;
  min-width: 13.5rem;
  padding: .65rem .9rem .7rem;
  text-align: center;
}
.sga-w-banner-timer-heading {
  align-items: center;
  color: #8b8f97;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 700;
  gap: .35rem;
  justify-content: center;
  letter-spacing: .06em;
  margin-bottom: .2rem;
}
.sga-w-banner-timer-heading i {
  color: #e10600;
  font-size: .85rem;
}
.sga-w-banner-countdown {
  align-items: flex-start;
  display: inline-flex;
  gap: .15rem;
  justify-content: center;
}
.sga-w-banner-countdown .sga-cd-cell {
  flex: 0 0 auto;
  min-width: 2.4rem;
  text-align: center;
}
.sga-w-banner-countdown .timer-box {
  background: transparent !important;
  color: #e10600 !important;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.1;
  min-height: 0;
  padding: 0;
}
.sga-w-banner-countdown .timer-label {
  color: #9aa0a8 !important;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .05em;
  margin-top: .15rem;
  text-transform: uppercase;
}
.sga-w-banner-countdown .sga-cd-sep {
  align-self: flex-start;
  color: #e10600;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  font-weight: 800;
  line-height: 1.25;
  padding-top: .05rem;
}
@media (max-width: 991.98px) {
  .sga-w-banner-timer { margin-left: 0; width: 100%; }
  .sga-w-banner-title { white-space: normal; }
}
@media (max-width: 575.98px) {
  .sga-w-banner { padding: .9rem .85rem; }
  .sga-w-banner-logo { height: 52px; width: 52px; }
  .sga-w-banner-rules { width: 100%; justify-content: center; }
}

/* Auction lot-card reference refinements — staging 2026-08-05 */
.sga-w-auction { max-width: 1400px; width: calc(100% - 3.75rem); }
@media (min-width: 992px) {
  .sga-w-lot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sga-w-card { border-color: #222; border-radius: 3px; box-shadow: none; }
.sga-w-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,.10); transform: none; }
.sga-w-media { aspect-ratio: 16 / 9; background: #f8f8f8; }
.sga-w-media img { object-fit: cover; }
.sga-w-watch { border-color: #222; color: #e10600; height: 54px; right: 24px; top: 18px; width: 54px; }
.sga-w-photo-count { bottom: 20px; font-size: 1rem; left: 20px; padding: .55rem 1rem; }
.sga-w-photo-count i { font-size: 1rem; }
.sga-w-body { gap: 1.25rem; padding: 1.5rem 1.35rem 0; }
.sga-w-card-heading { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
.sga-w-lot-badge { background: #e10600; border-radius: .55rem; box-shadow: none; font-size: 1.35rem; padding: .62rem 1rem; position: static; }
.sga-w-history { align-items: center; background: #fff; border: 1px solid #222; border-radius: .55rem; color: #111; display: inline-flex; font-size: 1.15rem; font-weight: 700; gap: .65rem; padding: .55rem 1rem; }
.sga-w-history:hover, .sga-w-history:focus { background: #f5f5f5; }
.sga-w-title { font-size: clamp(1.45rem, 2.25vw, 2.25rem); line-height: 1.1; min-height: 0; }
.sga-w-badges { gap: .75rem; }
.sga-w-pill { border-radius: .5rem; font-size: 1rem; padding: .5rem .9rem; }
.sga-w-meta { flex-direction: row; font-size: 1.05rem; gap: 1.5rem; }
.sga-w-meta > span + span { border-left: 1px solid #b8bcc4; padding-left: 1.5rem; }
.sga-w-meta i { color: #111; font-size: 1.15rem; }
.sga-w-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); border-color: #d8dde6; border-radius: 1rem; gap: 0; padding: 1.1rem 1.35rem; }
.sga-w-stats > div + div { border-left: 1px solid #cdd3dd; padding-left: 2rem; }
.sga-w-stat-label { font-size: .95rem; }
.sga-w-stat-value { font-size: clamp(1.45rem, 2.2vw, 2.25rem); margin-top: .45rem; }
.sga-w-bid-row { gap: 1.25rem; }
.sga-w-stepper { border-color: #aeb5c0; border-radius: .55rem; height: 4.5rem; }
.sga-w-stepper button { background: #fff; border-right: 1px solid #aeb5c0; font-size: 2rem; width: 4.5rem; }
.sga-w-stepper button:last-child { border-left: 1px solid #aeb5c0; border-right: 0; }
.sga-w-stepper input { font-size: 1.35rem; text-align: center; }
.sga-w-currency { display: none; }
.sga-w-btn-bid { background: #e10600; border-radius: .55rem; font-size: 1.35rem; height: 4.5rem; min-width: 38%; }
.sga-w-btn-bid i { display: none; }
.sga-w-btn-view { border: 0; border-radius: 0; border-top: 1px solid #d8dde6; font-size: 1.35rem; margin: .25rem 0 0; padding: 1.25rem; }
.sga-w-btn-view i { color: #111; font-size: 1.5rem; }
@media (max-width: 575.98px) {
  .sga-w-auction { width: calc(100% - 1.5rem); }
  .sga-w-body { gap: .9rem; padding: 1rem 1rem 0; }
  .sga-w-lot-badge { font-size: 1rem; }
  .sga-w-history { font-size: .85rem; padding: .45rem .65rem; }
  .sga-w-watch { height: 42px; right: 12px; top: 12px; width: 42px; }
  .sga-w-meta { flex-direction: column; gap: .45rem; }
  .sga-w-meta > span + span { border-left: 0; padding-left: 0; }
  .sga-w-stats > div + div { padding-left: 1rem; }
  .sga-w-bid-row { gap: .65rem; }
  .sga-w-stepper, .sga-w-btn-bid { height: 3.5rem; }
  .sga-w-stepper button { font-size: 1.5rem; width: 3.5rem; }
  .sga-w-btn-bid { font-size: 1rem; }
}

/* Marketplace cards use the same full-size Werner reference anatomy as auction lots. */
.sga-w-shop-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) {
  .sga-w-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sga-w-shop .sga-w-media {
  aspect-ratio: 16 / 9;
  display: block;
  text-decoration: none;
}
.sga-w-shop-footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.sga-w-shop .sga-w-stats {
  margin-top: 0;
  gap: .45rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sga-w-shop .sga-w-stat-label {
  font-size: .62rem;
}
.sga-w-shop .sga-w-stat-value,
.sga-w-shop .sga-w-stat-value--bid {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.08;
  margin-top: .14rem;
  font-size: .78rem;
}
.sga-w-shop .sga-w-stat-value--bid {
  color: #d32f2f;
}
.sga-w-shop .sga-w-btn-view {
  margin: .35rem 0 0;
  font-size: .78rem;
  padding: .55rem .75rem;
}
.sga-w-shop .sga-w-watch { pointer-events: none; }
.sga-w-history--label {
  pointer-events: none;
  white-space: nowrap;
}
@media (max-width: 1199.98px) {
  .sga-w-shop .sga-w-title { font-size: clamp(1.16rem, 2vw, 1.45rem); }
  .sga-w-shop .sga-w-lot-badge,
  .sga-w-shop .sga-w-history { font-size: .92rem; }
  .sga-w-shop .sga-w-stat-value,
  .sga-w-shop .sga-w-stat-value--bid { font-size: clamp(.72rem, 1.4vw, .94rem); }
}

@media (min-width: 1200px) {
  .sga-w-shop .sga-w-title { font-size: clamp(1.15rem, 1.8vw, 1.48rem); }
  .sga-w-shop .sga-w-stat-value,
  .sga-w-shop .sga-w-stat-value--bid { font-size: clamp(.84rem, 1.1vw, 1.06rem); }
  .sga-w-shop .sga-w-stat-label { font-size: .7rem; }
}

/* /auctions listing cards — Peet mock 2026-08-06 */
.sga-w-auctions-page {
  margin-top: 1rem;
}
.sga-w-auctions-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.sga-w-auctions-filter {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: .65rem;
  color: #374151;
  font-size: .92rem;
  font-weight: 700;
  padding: .55rem 1rem;
  text-decoration: none;
}
.sga-w-auctions-filter:hover,
.sga-w-auctions-filter:focus {
  border-color: #e10600;
  color: #e10600;
}
.sga-w-auctions-filter.is-active {
  background: #e10600;
  border-color: #e10600;
  color: #fff;
}
.sga-w-auctions-filter[href*="status=closing"].is-active {
  background: #d97706;
  border-color: #d97706;
}
.sga-w-auction-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .9rem;
  box-shadow: 0 10px 24px rgba(17, 17, 17, .08);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.sga-w-auction-card-head {
  align-items: center;
  background: #111;
  color: #fff;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  min-height: 3.4rem;
  padding: .75rem 1rem;
}
.sga-w-auction-card-title {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  font-size: .98rem;
  font-weight: 700;
  gap: .55rem;
  line-height: 1.25;
  margin: 0;
  min-width: 0;
}
.sga-w-auction-card-title i {
  flex: 0 0 auto;
  opacity: .92;
}
.sga-w-auction-card-title span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.sga-w-auction-card-status {
  align-items: center;
  background: #6b7280;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: .78rem;
  font-weight: 700;
  gap: .4rem;
  line-height: 1;
  padding: .4rem .7rem;
  white-space: nowrap;
}
.sga-w-auction-card-status-dot {
  background: #fff;
  border-radius: 50%;
  display: inline-block;
  height: .45rem;
  width: .45rem;
}
.sga-w-auction-card-status--upcoming {
  background: #1f9d55;
}
.sga-w-auction-card-status--active {
  background: #e10600;
}
.sga-w-auction-card-status--closing {
  background: #d97706;
}
.sga-w-auction-card--closing {
  border-color: #f3d5a4;
}
.sga-w-auction-card--closing .sga-w-auction-card-cta {
  background: #d97706;
}
.sga-w-auction-card--closing .sga-w-auction-card-cta:hover,
.sga-w-auction-card--closing .sga-w-auction-card-cta:focus {
  background: #b45309;
}
.sga-w-auction-card-status--completed {
  background: #6b7280;
}
.sga-w-auction-card-status--cancelled {
  background: #4b5563;
}
.sga-w-auction-card-media {
  align-items: center;
  background: #fff;
  display: flex;
  justify-content: center;
  min-height: 12.5rem;
  padding: 1.25rem 1rem;
}
.sga-w-auction-card-image {
  max-height: 10.5rem;
  max-width: 100%;
  object-fit: contain;
}
.sga-w-auction-card-stats {
  display: grid;
  gap: .55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 1rem 1rem;
}
.sga-w-auction-card-stat {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .7rem;
  min-width: 0;
  padding: .7rem .55rem .65rem;
  text-align: left;
}
.sga-w-auction-card-stat-label {
  align-items: center;
  color: #6b7280;
  display: flex;
  font-size: .62rem;
  font-weight: 700;
  gap: .3rem;
  letter-spacing: .04em;
  line-height: 1.1;
  margin-bottom: .4rem;
}
.sga-w-auction-card-stat-label i {
  color: #e10600;
  font-size: .75rem;
}
.sga-w-auction-card-stat-value {
  color: #111827;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: .35rem;
}
.sga-w-auction-card-stat-meta {
  align-items: center;
  color: #6b7280;
  display: flex;
  font-size: .78rem;
  font-weight: 500;
  gap: .3rem;
  line-height: 1.1;
}
.sga-w-auction-card-stat-meta i {
  color: #e10600;
  font-size: .72rem;
}
.sga-w-auction-card-dealer {
  align-items: center;
  color: #e10600;
  display: flex;
  font-size: .85rem;
  font-weight: 700;
  gap: .4rem;
  padding: 0 1rem .75rem;
}
.sga-w-auction-card-cta {
  align-items: center;
  background: #e10600;
  border-radius: .7rem;
  color: #fff !important;
  display: flex;
  font-size: .98rem;
  font-weight: 800;
  gap: .55rem;
  justify-content: center;
  letter-spacing: .03em;
  margin: 0 1rem 1rem;
  min-height: 3.1rem;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .15s ease, transform .15s ease;
}
.sga-w-auction-card-cta:hover,
.sga-w-auction-card-cta:focus {
  background: #c40500;
  color: #fff !important;
  transform: translateY(-1px);
}
.sga-w-auction-card-cta i {
  font-size: 1rem;
  transform: rotate(-18deg);
}
@media (max-width: 575.98px) {
  .sga-w-auction-card-stats { grid-template-columns: 1fr; }
  .sga-w-auction-card-head { align-items: flex-start; flex-direction: column; }
}

/* Auction lot lightbox gallery navigation */
.sga-w-lightbox-nav {
  align-items: center;
  background: rgba(17, 17, 17, .55);
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: none;
  font-size: 1.6rem;
  height: 3.25rem;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: background .15s ease, opacity .15s ease;
  width: 3.25rem;
  z-index: 1055;
}
.sga-w-lightbox-nav:hover,
.sga-w-lightbox-nav:focus {
  background: rgba(225, 6, 0, .92);
  color: #fff;
  outline: none;
}
.sga-w-lightbox-nav:disabled {
  cursor: default;
  opacity: .35;
}
.sga-w-lightbox-nav--prev { left: 1rem; }
.sga-w-lightbox-nav--next { right: 1rem; }
.sga-w-lightbox-counter {
  background: rgba(0, 0, 0, .65);
  border-radius: 999px;
  bottom: 1.25rem;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
  left: 50%;
  letter-spacing: .04em;
  padding: .45rem .9rem;
  position: absolute;
  transform: translateX(-50%);
  z-index: 1055;
}
@media (max-width: 767.98px) {
  .sga-w-lightbox-nav {
    font-size: 1.25rem;
    height: 2.75rem;
    width: 2.75rem;
  }
  .sga-w-lightbox-nav--prev { left: .55rem; }
  .sga-w-lightbox-nav--next { right: .55rem; }
}

/* Peet marketplace listing format (2026-08-07) */
.sga-mkt-page { padding-bottom: 2.5rem; }
.sga-mkt-notice {
  background: #fff7f7;
  border: 1px solid #f0c7c7;
  border-left: 4px solid #c62828;
  border-radius: .5rem;
  color: #4a1515;
  font-size: .95rem;
  line-height: 1.45;
  margin-bottom: 1.25rem;
  padding: .95rem 1.1rem;
}
.sga-mkt-filters {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1rem;
}
.sga-mkt-search {
  align-items: center;
  background: #fff;
  border: 1px solid #d7dbe0;
  border-radius: .45rem;
  display: flex;
  flex: 1 1 16rem;
  gap: .5rem;
  min-width: 12rem;
  padding: .45rem .75rem;
}
.sga-mkt-search input {
  border: 0;
  flex: 1;
  font-size: .92rem;
  outline: none;
  width: 100%;
}
.sga-mkt-search i { color: #8a939e; }
.sga-mkt-filters .form-select {
  flex: 0 1 auto;
  font-size: .86rem;
  max-width: 9.5rem;
  min-width: 7.5rem;
  padding: .45rem .7rem;
}
.sga-mkt-sort-btn {
  align-items: center;
  background: #fff;
  border: 1px solid #d7dbe0;
  border-radius: .45rem;
  color: #222;
  display: inline-flex;
  font-size: .86rem;
  gap: .4rem;
  padding: .5rem .85rem;
  white-space: nowrap;
}
.sga-mkt-alert-form,
.sga-mkt-alert-login {
  background: #fafbfc;
  border: 1px dashed #d7dbe0;
  border-radius: .5rem;
  font-size: .9rem;
  margin-bottom: 1.25rem;
  padding: .75rem 1rem;
}
.sga-mkt-alert-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .4rem;
}
.sga-mkt-alert-row input {
  border: 1px solid #d7dbe0;
  border-radius: .4rem;
  flex: 1 1 12rem;
  padding: .45rem .7rem;
}
.sga-mkt-grid {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 576px) {
  .sga-mkt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .sga-mkt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .sga-mkt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .sga-mkt-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.sga-mkt-card {
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: .85rem;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sga-mkt-media {
  aspect-ratio: 4 / 3;
  background: #f4f5f7;
  display: block;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  width: 100%;
}
.sga-mkt-media img {
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  width: 100%;
}
/* Homepage compact cards: same image frame; secondary actions stay on /shop */
.sga-mkt-card.is-compact .sga-mkt-btn-row {
  display: none;
}
.sga-mkt-time,
.sga-mkt-photos {
  align-items: center;
  background: rgba(17, 24, 39, .72);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: .72rem;
  gap: .3rem;
  padding: .28rem .55rem;
  position: absolute;
}
.sga-mkt-time { right: .55rem; top: .55rem; }
.sga-mkt-photos { bottom: .55rem; left: .55rem; }
.sga-mkt-pending-badge {
  background: #f59e0b;
  border-radius: .35rem;
  color: #111;
  font-size: .72rem;
  font-weight: 700;
  left: .55rem;
  letter-spacing: .03em;
  padding: .28rem .5rem;
  position: absolute;
  text-transform: uppercase;
  top: .55rem;
}
.sga-mkt-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .55rem;
  padding: .85rem .9rem 1rem;
}
.sga-mkt-title-row {
  align-items: flex-start;
  display: flex;
  gap: .5rem;
  justify-content: space-between;
}
.sga-mkt-title {
  font-size: .98rem;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.2;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.sga-mkt-cond {
  border: 1px solid;
  border-radius: 999px;
  flex: 0 0 auto;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .18rem .5rem;
  text-transform: uppercase;
  white-space: nowrap;
}
.sga-mkt-cond.is-new { border-color: #16a34a; color: #16a34a; }
.sga-mkt-cond.is-used { border-color: #2563eb; color: #2563eb; }
.sga-mkt-meta {
  align-items: center;
  color: #4b5563;
  display: flex;
  flex-wrap: wrap;
  font-size: .82rem;
  gap: .55rem .85rem;
  justify-content: space-between;
}
.sga-mkt-loc i { color: #c62828; margin-right: .3rem; }
.sga-mkt-seller i { color: #2563eb; margin-right: .3rem; }
.sga-mkt-status {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.sga-mkt-chip {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 600;
  gap: .3rem;
  padding: .28rem .55rem;
  white-space: nowrap;
}
.sga-mkt-chip.is-yes { background: #ecfdf3; color: #15803d; }
.sga-mkt-chip.is-no { background: #fef2f2; color: #b91c1c; }
.sga-mkt-chip.is-muted { background: #f3f4f6; color: #6b7280; }
.sga-mkt-chip.is-extras { background: #fff7ed; color: #c2410c; }
.sga-mkt-chip.is-verified { background: #eff6ff; color: #1d4ed8; }
.sga-mkt-price {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.01em;
  margin: .15rem 0 .2rem;
  text-align: center;
}
.sga-mkt-actions { display: grid; gap: .45rem; margin-top: auto; }
.sga-mkt-btn-buy {
  align-items: center;
  background: #c62828;
  border: 0;
  border-radius: .45rem;
  color: #fff !important;
  display: inline-flex;
  font-size: .92rem;
  font-weight: 700;
  gap: .45rem;
  justify-content: center;
  padding: .7rem .85rem;
  text-decoration: none !important;
}
.sga-mkt-btn-buy.is-disabled,
.sga-mkt-btn-buy:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}
.sga-mkt-btn-row {
  display: grid;
  gap: .45rem;
  grid-template-columns: 1fr 1fr;
}
.sga-mkt-btn-secondary {
  align-items: center;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: .45rem;
  color: #111 !important;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 700;
  gap: .35rem;
  justify-content: center;
  padding: .55rem .4rem;
  text-decoration: none !important;
}
.sga-mkt-legend {
  border-top: 1px solid #e5e7eb;
  display: grid;
  gap: .85rem;
  grid-template-columns: 1fr;
  margin-top: 1.75rem;
  padding-top: 1.15rem;
}
@media (min-width: 992px) {
  .sga-mkt-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.sga-mkt-legend-item {
  align-items: flex-start;
  color: #4b5563;
  display: flex;
  font-size: .84rem;
  gap: .65rem;
  line-height: 1.4;
}
.sga-hp-market-grid {
  display: grid !important;
  gap: 1.15rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 576px) {
  .sga-hp-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 992px) {
  .sga-hp-market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 1200px) {
  .sga-hp-market-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
.sga-w-help {
  color: #6b7280;
  display: block;
  font-size: .8rem;
  line-height: 1.35;
  margin-top: .35rem;
}
.sga-w-help--warn { color: #9a3412; }
.sga-mkt-buy-confirm .modal-content { border-radius: .75rem; }
.sga-mkt-questions {
  border-top: 1px solid #e5e7eb;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
}
.sga-mkt-questions h2 {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: .85rem;
}
.sga-mkt-q {
  background: #fafafa;
  border: 1px solid #eceff3;
  border-radius: .55rem;
  margin-bottom: .65rem;
  padding: .75rem .9rem;
}
.sga-mkt-q-meta {
  color: #6b7280;
  font-size: .78rem;
  margin-bottom: .35rem;
}
.sga-mkt-pending-banner {
  background: #fff7ed;
  border: 1px solid #fdba74;
  border-radius: .5rem;
  color: #9a3412;
  font-weight: 700;
  margin-bottom: .85rem;
  padding: .65rem .85rem;
  text-align: center;
}
