/* Car detail screen.

   Written against tokens only. 340px figure, 84px thumbnails and the 12/14px
   spec row padding are authored values from the source. */

/* Back link. One of the two places orange is allowed as a text colour on
   white is the active nav item; this is a control, so it reads as one. */

.kssk-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  min-height: 44px;
  margin-bottom: var(--space-24);
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: var(--text-sm);
  line-height: var(--leading-22);
  text-transform: uppercase;
  color: var(--kssk-orange);
  text-decoration: none;
}

.kssk-back:hover { color: var(--orange-600); }
.kssk-back:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }

/* The double chevron points forward by default, so the back link turns it. */
.kssk-back__arrow { display: inline-flex; transform: rotate(180deg); }

/* Media column */

.kssk-detail__media { display: flex; flex-direction: column; gap: var(--space-16); }

/* The cutout sits on a flat recess, which is the same #F5F5F5 the inputs use.
   Not a plate and not a pedestal: it is the page stepping back, not a tray. */
.kssk-detail__figure {
  display: grid;
  place-items: center;
  min-height: 340px;
  padding: var(--space-40);
  box-sizing: border-box;
  background: var(--surface-subtle);
  border-radius: var(--radius-card);
}

.kssk-detail__cutout {
  max-width: 86%;
  max-height: 300px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.kssk-detail__cutout-missing,
.kssk-detail__thumb--empty::after {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: var(--leading-22);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.kssk-detail__thumbs { display: flex; gap: var(--space-12); }

.kssk-detail__thumb {
  flex: 1;
  height: 84px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--surface-subtle);
  border-radius: var(--radius-sm);
}

.kssk-detail__thumb img { width: 100%; height: 100%; object-fit: cover; }

/* An empty slot stays as a quiet recess rather than announcing itself: three
   loud placeholders beside one real photograph would read worse than three
   plain ones. */
.kssk-detail__thumb--empty { background: var(--surface-subtle); }

/* Detail panel */

.kssk-detail__panel { display: flex; flex-direction: column; gap: var(--space-24); }

.kssk-detail__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-8xl);
  line-height: var(--leading-54);
  color: var(--text-body);
}

.kssk-detail__meta {
  margin: 6px 0 0;
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--text-15);
  line-height: var(--leading-22);
  color: var(--text-muted);
}

.kssk-detail__features {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-15);
  line-height: var(--leading-22);
  color: var(--text-body);
}

.kssk-detail__note {
  margin: 0;
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--text-note);
  line-height: var(--leading-18);
  color: var(--text-muted);
}

/* Rate strip */

.kssk-rates {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-24);
  padding: var(--space-16) var(--space-24);
  background: var(--surface-cream);
  border-radius: var(--radius-sm);
}

.kssk-rates__item { display: flex; flex-direction: column; gap: 2px; }

/* Uppercase means this is a label, never that it is important. */
.kssk-rates__label {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}

.kssk-rates__value {
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: var(--text-3xl);
  line-height: var(--leading-33);
  color: var(--text-primary);
}

/* Spec table. Zebra striping carries the rows; there are no borders between
   them, and no card around them. */

.kssk-specs { margin: 0; border-top: var(--divider); }

.kssk-specs__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  padding: var(--space-12) 14px;
}

.kssk-specs__row:nth-child(odd) { background: var(--surface-subtle); }

.kssk-specs__label {
  display: flex;
  align-items: center;
  gap: var(--space-10);
  margin: 0;
  font-family: var(--font-body);
  font-weight: var(--weight-bold);
  font-size: var(--text-sm);
  line-height: var(--leading-22);
  color: var(--text-primary);
}

.kssk-specs__value {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: var(--leading-22);
  color: var(--text-secondary);
  text-align: right;
}

.kssk-detail__actions { display: flex; gap: var(--space-12); }
.kssk-detail__book { flex: 1; }

@media (max-width: 767px) {
  .kssk-detail__actions { flex-direction: column; }
  .kssk-detail__book { flex: none; }
  .kssk-rates { gap: var(--space-16); }
}
