/* .sample-artifact — the shop-watch offer page's "Enter your code" section,
   illustrating the four-listing comparison view before the reader has typed
   a code. No owning component function or expand.mjs entry, same as
   .feature-grid/.media-split (public/components/media-placeholder.css) and
   .serp-mock (the auto page's own precedent for exactly this kind of
   one-page illustrative mock): presentational demo content with one call
   site, not real business data, so it does not belong in data/offers/*.yaml
   either — see that file's own "STILL NOT MODELLED" comment. Load AFTER
   tokens.css. See public/components/README.md for load order.

   Ratings use the regular sans stack with tabular-nums, not a monospace
   font — same reasoning as .serp-mock__row-rating: one new font family is
   more machinery than aligned digits need, and this keeps every page using
   the same two-font system. */

.sample-artifact {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.sample-artifact__panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--color-surface-raised);
  border: var(--border-width-hairline) solid var(--color-border-strong);
  border-radius: var(--radius-default);
}

.sample-artifact__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-1);
  padding: var(--space-2);
  border-bottom: var(--border-width-hairline) solid var(--color-border-subtle);
  font-family: var(--font-serif);
  font-weight: var(--weight-bold);
}

.sample-artifact__chip {
  padding: 0.15rem 0.5rem;
  border: var(--border-width-hairline) solid var(--color-border-strong);
  border-radius: var(--radius-default);
  font-size: var(--size-100);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.sample-artifact__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sample-artifact__row {
  display: flex;
  align-items: baseline;
  gap: var(--space-1);
  padding: var(--space-2);
  border-bottom: var(--border-width-hairline) solid var(--color-border-subtle);
}

/* The reader's own row, picked out the same way .serp-mock highlights
   "Your shop" — a filled accent dot and bolder text, not a full-row
   background change, so it reads as "this one is you" without implying a
   ranking (the row order here is meaningful; a highlighted background would
   compete with that). */
.sample-artifact__row--you {
  background-color: var(--color-surface-hover);
}

.sample-artifact__dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-pill);
  background-color: var(--color-border-strong);
}

.sample-artifact__row--you .sample-artifact__dot {
  background-color: var(--color-mark-accent);
}

.sample-artifact__name {
  flex: 1;
  font-size: var(--size-200);
  color: var(--color-text-muted);
}

.sample-artifact__row--you .sample-artifact__name {
  font-weight: var(--weight-semibold);
  color: var(--color-text-primary);
}

.sample-artifact__rating {
  flex: none;
  font-size: var(--size-100);
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}

.sample-artifact__next {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: var(--space-2);
}

.sample-artifact__next-label {
  font-size: var(--size-100);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-mark-accent);
}

.sample-artifact__next-text {
  font-size: var(--size-200);
  text-wrap: pretty;
}

.sample-artifact__caption {
  margin: 0;
  font-size: var(--size-200);
  color: var(--color-text-muted);
}
