.model-page .site-header { margin-bottom: 16px; }
.model-page .container { max-width: 1080px; padding-bottom: 20px; }
.bike-preview { --control-bg: rgba(251,248,241,.88); }
.bike-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bike-heading h1 { margin: 0; font: 600 26px/1.3 var(--font-serif); }
.bike-heading > span { font-size: 14px; color: var(--ink-soft); }
.bike-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bike-preview button { color: var(--ink); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.bike-views { display: flex; border: 1px solid var(--silver); border-radius: 999px; padding: 3px; }
.bike-views button { min-width: 65px; padding: 5px 16px; border: 0; border-radius: 999px; line-height: 1.5; }
.bike-views button[aria-pressed=true] { background: var(--silver-bg); color: var(--leather); }
.bike-spin { border: 1px solid var(--silver); padding: 7px 14px; border-radius: 999px; line-height: 1.5; }
.bike-spin[aria-pressed=true] { color: var(--leather); border-color: var(--leather); }
.bike-stage { position: relative; height: clamp(300px,calc(100svh - 270px),610px); margin-top: 8px; background: radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.45),transparent 70%); }
.bike-stage canvas { display: block; width: 100%; height: 100%; touch-action: none; outline-offset: -3px; }
.bike-status { position: absolute; inset: 45% 20px auto; text-align: center; font-size: 16px; background: var(--paper); border-radius: 8px; padding: 12px; }
.bike-status[hidden] { display: none; }
.bike-instructions { position: absolute; left: 0; bottom: 5px; right: 0; margin: 0; text-align: center; color: var(--ink-soft); font-size: 14px; pointer-events: none; }
.bike-zoom { position: absolute; right: 0; bottom: 40px; display: flex; flex-direction: column; border: 1px solid var(--silver); border-radius: 999px; background: var(--control-bg); overflow: hidden; }
.bike-zoom button { width: 38px; height: 38px; border: 0; font-size: 23px; line-height: 1; }
.bike-zoom button + button { border-top: 1px solid var(--silver); }
.bike-footer { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--silver); padding-top: 12px; gap: 12px; }
.bike-part { min-width: 0; }
.bike-part > div { display: flex; align-items: center; gap: 12px; }
.bike-part strong { font: 600 18px/1.4 var(--font-serif); }
.bike-part span { display: block; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.bike-part button { width: 24px; height: 24px; padding: 0; border: 1px solid var(--silver); border-radius: 50%; line-height: 1; }
.bike-download { flex: none; font-size: 14px; color: var(--leather); text-decoration: none; padding: 8px 0 8px 8px; }
.bike-download span { margin-left: 6px; }
.bike-estimate { font-size: 14px; color: var(--ink-soft); margin: 12px 0 0; }
.bike-preview[data-state=unavailable] .bike-stage canvas,
.bike-preview[data-state=unavailable] .bike-zoom,
.bike-preview[data-state=unavailable] .bike-instructions { visibility: hidden; }
.bike-preview button:hover,.bike-download:hover { color: var(--leather); }
@media(max-width:680px) {
  .bike-heading h1 { font-size: 23px; }
  .bike-heading { margin-bottom: 12px; }
  .bike-views button { min-width: 52px; padding-inline: 12px; }
  .bike-stage { height: clamp(255px,calc(100svh - 330px),490px); }
  .bike-spin { padding-inline: 12px; }
  .bike-footer { padding-top: 10px; align-items: flex-start; }
  .bike-part span { max-width: 235px; }
  .bike-download { padding-top: 1px; }
  .bike-estimate { margin-top: 8px; }
  html:lang(en) .bike-footer { gap: 8px; }
  html:lang(en) .bike-part span { max-width: 200px; }
}
@media(max-width:380px) {
  .bike-heading { gap: 8px; }
  .bike-heading > span { max-width: 155px; text-align: right; }
  .bike-views button { padding-inline: 9px; min-width: 47px; }
  .bike-download span { display: none; }
}
