@charset "utf-8";
/* ═══ GoodWay home · section 2 · THE FITTING BAY ═══════════════════════════
   Paper after section 1's night road. The finder on the left (the kit's size
   field; year, make, model and trim when the shop has a Wheel-Size key), the
   size read back on a tire sidewall on the right, part by part, then the
   filters and the shelf of the shop's own tires, priced installed.
   Torque: the kit's head, finder, seg, size field, chips and tire cards; this
   file adds the bay's layout, the sidewall, the read-outs and the tiles.
   Script: Scripts/gw.sec2.js.
   ═════════════════════════════════════════════════════════════════════════ */

.gw-s2 {
  position: relative;
  padding-block: var(--tq-section);
  background: var(--tq-bg);
  color: var(--tq-text-body);
}
.gw-s2::before {                         /* the lane, where the night road ends */
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  block-size: 2px;
  background: var(--tq-grad-signature);
  opacity: .55;
}
.gw-s2__head { margin-block-end: var(--tq-sp-10); }
.gw-s2__head .tq-head__lead { max-inline-size: 60ch; }

/* ── the bay: the finder and the sidewall ─────────────────────────────── */
.gw-s2__bay {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  gap: var(--tq-sp-9) var(--tq-sp-10);
}
.gw-s2__finder { gap: var(--tq-sp-7); }
.gw-s2__tabs { align-self: stretch; }
.gw-s2__panel { display: flex; flex-direction: column; gap: var(--tq-sp-6); }

.gw-s2__try { display: flex; flex-wrap: wrap; align-items: center; gap: var(--tq-sp-3); }
.gw-s2__trylabel { margin-inline-end: var(--tq-sp-2); font-family: var(--tq-font-display); font-size: var(--tq-fs-xs); font-weight: var(--tq-fw-semibold); letter-spacing: .1em; text-transform: uppercase; color: var(--tq-text-subtle); }
.gw-s2__try .tq-chip { block-size: 32px; padding-inline: var(--tq-sp-5); font-family: var(--tq-font-display); font-size: var(--tq-fs-sm); font-weight: var(--tq-fw-semibold); letter-spacing: .03em; font-variant-numeric: tabular-nums; }
.gw-s2__where { display: flex; align-items: flex-start; gap: var(--tq-sp-3); margin: 0; font-size: var(--tq-fs-xs); line-height: 1.5; color: var(--tq-text-muted); }
.gw-s2__where .tq-i { flex: none; inline-size: 16px; block-size: 16px; margin-block-start: 1px; color: var(--tq-text-subtle); }

/* by vehicle: four plain selects (the phone's own picker is the best one), then the factory sizes */
.gw-s2__ymm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tq-sp-5) var(--tq-sp-5); }
.gw-s2__sel { position: relative; }
.gw-s2__sel > select { inline-size: 100%; }
.gw-s2__sel > select:disabled { cursor: not-allowed; opacity: .6; }
.gw-s2__sel.is-busy::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 38px;
  inline-size: 16px;
  block-size: 16px;
  margin-block-start: -8px;
  border: 2px solid rgb(var(--tq-accent-rgb) / .25);
  border-block-start-color: var(--tq-accent);
  border-radius: 50%;
  animation: gw-s2-turn .8s linear infinite;
}
@keyframes gw-s2-turn { to { transform: rotate(360deg); } }
.gw-s2__fit:empty { display: none; }
.gw-s2__fitcard { display: flex; flex-direction: column; gap: var(--tq-sp-4); padding: var(--tq-sp-6); border-radius: var(--tq-r-md); background: var(--tq-surface-2); }
.gw-s2__vehicle { margin: 0; font-size: var(--tq-fs-md); color: var(--tq-text-muted); }
.gw-s2__vehicle b { color: var(--tq-text-strong); font-weight: var(--tq-fw-semibold); }
.gw-s2__fitlabel { margin: var(--tq-sp-2) 0 0; font-family: var(--tq-font-display); font-size: var(--tq-fs-xs); font-weight: var(--tq-fw-semibold); letter-spacing: .1em; text-transform: uppercase; color: var(--tq-text-subtle); }
.gw-s2__sizes { display: flex; flex-wrap: wrap; gap: var(--tq-sp-3); margin: 0; padding: 0; list-style: none; }
.gw-s2__sizechip {
  display: inline-flex;
  align-items: center;
  min-block-size: 40px;
  padding: var(--tq-sp-3) var(--tq-sp-5);
  border: 1px solid var(--tq-line-strong);
  border-radius: var(--tq-r-sm);
  background: var(--tq-surface);
  color: var(--tq-text-strong);
  font-family: var(--tq-font-display);
  font-size: var(--tq-fs-lg);
  font-weight: var(--tq-fw-bold);
  letter-spacing: .03em;
  font-variant-numeric: tabular-nums;
  text-align: start;
  cursor: pointer;
  transition: border-color var(--tq-d-fast) var(--tq-ease), background-color var(--tq-d-fast) var(--tq-ease);
}
.gw-s2__sizechip:hover { border-color: rgb(var(--tq-steel-rgb) / .4); }
.gw-s2__sizechip[aria-pressed="true"] { border-color: var(--tq-accent); background: var(--tq-accent-soft); color: var(--tq-accent-text); box-shadow: inset 0 0 0 1px var(--tq-accent); }
.gw-s2__fitflags { margin: 0; font-size: var(--tq-fs-sm); color: var(--tq-text-body); }
.gw-s2__source { margin: 0; font-size: var(--tq-fs-xs); line-height: 1.5; color: var(--tq-text-subtle); }
.gw-s2__loading { margin: 0; font-size: var(--tq-fs-sm); color: var(--tq-text-muted); }

/* ── the sidewall ──────────────────────────────────────────────────────── */
.gw-s2__decode {
  position: relative;
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  margin: 0;
  border: 1px solid var(--tq-line);
  border-radius: var(--tq-r-xl);
  background: var(--tq-surface);
  box-shadow: var(--tq-el-2);
  overflow: hidden;
}
.gw-s2__example {
  position: absolute;
  inset-block-start: var(--tq-sp-5);
  inset-inline-start: var(--tq-sp-5);
  z-index: 1;
  display: none;
  align-items: center;
  padding: 5px 10px;
  border-radius: var(--tq-r-full);
  background: rgb(255 255 255 / .92);
  color: var(--tq-text-strong);
  font-family: var(--tq-font-display);
  font-size: var(--tq-fs-xs);
  font-weight: var(--tq-fw-semibold);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.gw-s2__decode.is-example .gw-s2__example { display: inline-flex; }
.gw-s2__wall { display: block; inline-size: 100%; block-size: auto; background: radial-gradient(130% 120% at 50% 0%, var(--tq-paper-50, #FAFAF9), var(--tq-paper-200)); }
.gw-s2__tread { fill: none; stroke: #272B30; stroke-width: 16; stroke-dasharray: 9 6; }
.gw-s2__walltext { fill: #E8EBEE; font-family: var(--tq-font-display); font-weight: 700; letter-spacing: .05em; }
.gw-s2__tok { cursor: pointer; transition: fill var(--tq-d-base) var(--tq-ease); }
.gw-s2__tok:hover, .gw-s2__tok.is-on { fill: var(--tq-brand-400); }
.gw-s2__wallsmall { fill: #A3A9B0; font-family: var(--tq-font-display); font-size: 14px; font-weight: 600; letter-spacing: .14em; }

.gw-s2__readout { display: flex; flex-direction: column; gap: var(--tq-sp-6); padding: var(--tq-sp-7) var(--tq-sp-7) var(--tq-sp-8); }
.gw-s2__parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tq-sp-2) var(--tq-sp-6); margin: 0; padding: 0; list-style: none; }
.gw-s2__part {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "mark what" "mark note";
  align-items: start;
  gap: 2px var(--tq-sp-5);
  padding: var(--tq-sp-4) var(--tq-sp-4);
  border-radius: var(--tq-r-md);
  outline: none;
  transition: background-color var(--tq-d-fast) var(--tq-ease);
}
.gw-s2__part:focus-visible { box-shadow: var(--tq-ring); }
.gw-s2__part.is-on { background: var(--tq-accent-soft); }
.gw-s2__mark {
  grid-area: mark;
  display: grid;
  place-items: center;
  min-inline-size: 52px;
  block-size: 34px;
  padding-inline: var(--tq-sp-3);
  border-radius: var(--tq-r-sm);
  background: var(--tq-graphite-900);
  color: #F1F3F5;
  font-family: var(--tq-font-display);
  font-size: var(--tq-fs-lg);
  font-weight: var(--tq-fw-bold);
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  transition: background-color var(--tq-d-fast) var(--tq-ease);
}
.gw-s2__part.is-on .gw-s2__mark { background: var(--tq-accent); color: var(--tq-on-accent); }
.gw-s2__what { grid-area: what; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0 var(--tq-sp-4); min-inline-size: 0; }
.gw-s2__ptitle { font-size: var(--tq-fs-sm); font-weight: var(--tq-fw-semibold); color: var(--tq-text-strong); }
.gw-s2__pvalue { font-family: var(--tq-font-display); font-size: var(--tq-fs-lg); font-weight: var(--tq-fw-bold); color: var(--tq-text-strong); font-variant-numeric: tabular-nums; }
.gw-s2__pnote { grid-area: note; font-size: var(--tq-fs-xs); line-height: 1.5; color: var(--tq-text-muted); }
.gw-s2__dims { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-block-start: 1px solid var(--tq-line); padding-block-start: var(--tq-sp-6); }
.gw-s2__dims > div { display: flex; flex-direction: column; gap: var(--tq-sp-2); padding-inline: var(--tq-sp-5); min-inline-size: 0; }
.gw-s2__dims > div + div { border-inline-start: 1px solid var(--tq-line); }
.gw-s2__dims dt { font-size: var(--tq-fs-xs); color: var(--tq-text-muted); }
.gw-s2__dims dd { margin: 0; color: var(--tq-text-subtle); font-size: var(--tq-fs-sm); }
.gw-s2__dims dd b { font-family: var(--tq-font-display); font-size: var(--tq-fs-2xl); font-weight: var(--tq-fw-bold); color: var(--tq-text-strong); font-variant-numeric: tabular-nums; }
.gw-s2__dims dd span { white-space: nowrap; }
.gw-s2__fine { margin: 0; font-size: var(--tq-fs-2xs, 12px); line-height: 1.5; color: var(--tq-text-subtle); }

/* ── the filters ───────────────────────────────────────────────────────── */
.gw-s2__filters { display: flex; flex-direction: column; gap: var(--tq-sp-7); margin-block: var(--tq-sp-11) var(--tq-sp-8); }
.gw-s2__group { display: flex; flex-direction: column; gap: var(--tq-sp-4); min-inline-size: 0; }
.gw-s2__glabel { margin: 0; font-family: var(--tq-font-display); font-size: var(--tq-fs-xs); font-weight: var(--tq-fw-semibold); letter-spacing: .1em; text-transform: uppercase; color: var(--tq-text-subtle); }
.gw-s2__tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--tq-sp-4); margin: 0; padding: 0; list-style: none; }
.gw-s2__tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--tq-sp-3);
  inline-size: 100%;
  min-block-size: 100%;
  padding: var(--tq-sp-5) var(--tq-sp-5) var(--tq-sp-4);
  border: 1px solid var(--tq-line);
  border-radius: var(--tq-r-lg);
  background: var(--tq-surface);
  color: var(--tq-text-body);
  text-align: start;
  cursor: pointer;
  transition: border-color var(--tq-d-fast) var(--tq-ease), background-color var(--tq-d-fast) var(--tq-ease), transform var(--tq-d-fast) var(--tq-ease-out), box-shadow var(--tq-d-base) var(--tq-ease);
}
.gw-s2__tile:hover:not(:disabled) { border-color: var(--tq-line-strong); transform: translateY(-2px); box-shadow: var(--tq-el-2); }
.gw-s2__tile:focus-visible { outline: none; box-shadow: var(--tq-ring); }
.gw-s2__tile[aria-pressed="true"] { border-color: var(--tq-accent); background: var(--tq-accent-soft); color: var(--tq-text-strong); box-shadow: inset 0 0 0 1px var(--tq-accent); }
.gw-s2__tile:disabled { cursor: default; opacity: .5; }
.gw-s2__pict { inline-size: 64px; block-size: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: var(--tq-text-muted); }
.gw-s2__tile[aria-pressed="true"] .gw-s2__pict { color: var(--tq-accent-text); }
.gw-s2__bolt { fill: currentColor; stroke: none; }
.gw-s2__tname { font-size: var(--tq-fs-sm); font-weight: var(--tq-fw-semibold); color: var(--tq-text-strong); line-height: 1.25; }
.gw-s2__n { position: absolute; inset-block-start: var(--tq-sp-4); inset-inline-end: var(--tq-sp-5); font-family: var(--tq-font-display); font-size: var(--tq-fs-sm); font-weight: var(--tq-fw-semibold); color: var(--tq-text-subtle); font-variant-numeric: tabular-nums; }
.gw-s2__tile[aria-pressed="true"] .gw-s2__n { color: var(--tq-accent-text); }
.gw-s2__chiprow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--tq-sp-7) var(--tq-sp-10); }
.gw-s2__chips { display: flex; flex-wrap: wrap; gap: var(--tq-sp-3); min-block-size: 36px; }
.gw-s2__chips .tq-chip:disabled { cursor: default; opacity: .5; transform: none; }

/* ── the shelf ─────────────────────────────────────────────────────────── */
.gw-s2__shelf { display: flex; flex-direction: column; gap: var(--tq-sp-6); scroll-margin-block-start: calc(var(--tq-header-h, 72px) + var(--tq-sp-6)); }
.gw-s2__shelfhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--tq-sp-3) var(--tq-sp-6); }
.gw-s2__shelftitle { margin: 0; }
.gw-s2__count { margin: 0; font-family: var(--tq-font-display); font-size: var(--tq-fs-lg); font-weight: var(--tq-fw-semibold); color: var(--tq-text-subtle); font-variant-numeric: tabular-nums; }
.gw-s2__clear { margin-inline-start: auto; }
.gw-s2__notes { display: flex; flex-direction: column; gap: var(--tq-sp-3); }
.gw-s2__notes:empty { display: none; }
.gw-s2__note { display: flex; align-items: flex-start; gap: var(--tq-sp-3); margin: 0; padding: var(--tq-sp-4) var(--tq-sp-5); border-radius: var(--tq-r-sm); font-size: var(--tq-fs-sm); line-height: 1.5; }
.gw-s2__note .tq-i { flex: none; inline-size: 18px; block-size: 18px; margin-block-start: 1px; }
.gw-s2__note.is-info { background: rgb(var(--tq-info-rgb) / .08); color: var(--tq-text-body); }
.gw-s2__note.is-info .tq-i { color: var(--tq-info); }
.gw-s2__note.is-warn { background: rgb(var(--tq-warning-rgb) / .1); color: var(--tq-text-body); }
.gw-s2__note.is-warn .tq-i { color: var(--tq-warning); }
.tq-tire .gw-s2__note { padding: var(--tq-sp-3) var(--tq-sp-4); font-size: var(--tq-fs-xs); }
.gw-s2__retry { padding: 0; border: 0; background: none; color: var(--tq-accent-text); font: inherit; font-weight: var(--tq-fw-semibold); text-decoration: underline; cursor: pointer; }
.gw-s2__cards { display: flex; flex-direction: column; gap: var(--tq-sp-6); min-block-size: 120px; }
.gw-s2__axle { display: flex; align-items: baseline; gap: var(--tq-sp-4); margin: var(--tq-sp-4) 0 0; font-family: var(--tq-font-display); font-size: var(--tq-fs-xl); font-weight: var(--tq-fw-bold); letter-spacing: .02em; color: var(--tq-text-strong); }
.gw-s2__axle span { font-size: var(--tq-fs-md); font-weight: var(--tq-fw-semibold); color: var(--tq-text-subtle); }
.gw-s2__none { margin: 0; font-size: var(--tq-fs-sm); color: var(--tq-text-muted); }
.gw-s2__ghost { block-size: 440px; border-radius: var(--tq-r-lg); background: var(--tq-fill-2); }
.gw-s2__empty {
  display: flex;
  align-items: center;
  gap: var(--tq-sp-5);
  padding: var(--tq-sp-8);
  border: 1px dashed var(--tq-line-strong);
  border-radius: var(--tq-r-lg);
  background: var(--tq-surface);
  color: var(--tq-text-body);
}
.gw-s2__empty .tq-i { flex: none; inline-size: 28px; block-size: 28px; color: var(--tq-text-subtle); }
.gw-s2__empty p { margin: 0; font-size: var(--tq-fs-md); }
.gw-s2__empty a { color: var(--tq-accent-text); font-weight: var(--tq-fw-semibold); white-space: nowrap; }
.gw-s2__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--tq-sp-4); }
.gw-s2 .tq-tire__installed .gw-s2__promo { display: flex; align-items: center; gap: var(--tq-sp-2); flex-basis: 100%; color: var(--tq-success); font-weight: var(--tq-fw-semibold); white-space: normal; }
.gw-s2 .tq-tire__installed .gw-s2__promo .tq-i { inline-size: 14px; block-size: 14px; }
.gw-s2 .tq-tire__installed .gw-s2__phoneitems, .gw-s2 .tq-tire__installed .gw-s2__fee { flex-basis: 100%; white-space: normal; }

/* ── narrower ──────────────────────────────────────────────────────────── */
@media (max-width: 1179px) {
  .gw-s2__parts { grid-template-columns: minmax(0, 1fr); }
  .gw-s2__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .gw-s2__bay { grid-template-columns: minmax(0, 1fr); }
  .gw-s2__parts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .gw-s2__parts { grid-template-columns: minmax(0, 1fr); }
  .gw-s2__chiprow { grid-template-columns: minmax(0, 1fr); }
  .gw-s2 .gw-s2__tiles {                  /* a row that scrolls sideways (two classes: the kit's ul[class] reset outranks one) */
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(132px, 38%);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-block: 2px var(--tq-sp-2);
    margin-inline: calc(-1 * var(--tq-gutter));
    padding-inline: var(--tq-gutter);
    scroll-padding-inline: var(--tq-gutter);
  }
  .gw-s2__tiles::-webkit-scrollbar { display: none; }
  .gw-s2__tiles > li { scroll-snap-align: start; }
  .gw-s2__dims > div { padding-inline: var(--tq-sp-3); }
  .gw-s2__dims dd b { font-size: var(--tq-fs-xl); }
  .gw-s2__dims dd span { display: block; }
}
@media (max-width: 559px) {
  .gw-s2__ymm { grid-template-columns: minmax(0, 1fr); }
  .gw-s2__readout { padding: var(--tq-sp-6) var(--tq-sp-5) var(--tq-sp-7); }
  .gw-s2__grid {                          /* the shelf swipes on a phone */
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: 82%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-inline: calc(-1 * var(--tq-gutter));
    padding-inline: var(--tq-gutter);
    scroll-padding-inline: var(--tq-gutter);
    padding-block-end: var(--tq-sp-3);
  }
  .gw-s2__grid::-webkit-scrollbar { display: none; }
  .gw-s2__grid > * { scroll-snap-align: start; }
  .gw-s2__ghost { block-size: 400px; }
  .gw-s2__empty { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-s2__tile, .gw-s2__tok, .gw-s2__part, .gw-s2__mark { transition: none; }
  .gw-s2__tile:hover:not(:disabled) { transform: none; }
  .gw-s2__sel.is-busy::after { animation-duration: 2.4s; }
}
@media (forced-colors: active) {
  .gw-s2__tile[aria-pressed="true"], .gw-s2__sizechip[aria-pressed="true"] { outline: 2px solid Highlight; }
  .gw-s2__part.is-on { outline: 2px solid Highlight; }
}
