* { box-sizing: border-box; }
body { margin: 0; background: var(--surface-alt); color: var(--ink); font-family: Inter, system-ui, -apple-system, sans-serif; font-size: var(--fs-base); line-height: var(--lh-normal); }
a { color: var(--brand); }
a:focus-visible, button:focus-visible { outline: var(--t-focus-ring-width) solid var(--t-focus-ring-color); outline-offset: var(--t-focus-ring-offset); }
.seo-header { min-height: var(--t-touch-target-min); padding: var(--space-3) var(--space-6); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); background: var(--surface); border-bottom: 1px solid var(--line); }
.seo-brand { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--ink); font-size: var(--fs-md); font-weight: var(--fw-bold); text-decoration: none; }
.seo-brand img { width: var(--space-6); height: var(--space-6); border-radius: var(--radius-sm); }
.seo-header-link { font-weight: var(--fw-semibold); text-decoration: none; }
.seo-main { width: min(1120px, calc(100% - (2 * var(--space-6)))); margin: 0 auto; padding: var(--space-8) 0 var(--space-12); }
.seo-breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-6); color: var(--ink-mute); font-size: var(--fs-sm); }
.seo-breadcrumbs a { color: var(--ink-soft); text-decoration: none; }
.seo-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-8); padding: var(--space-6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.seo-product-media { min-height: 360px; display: flex; align-items: center; justify-content: center; background: var(--surface); border-radius: var(--radius); overflow: hidden; }
.seo-product-media img { width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.seo-eyebrow { margin: 0 0 var(--space-2); color: var(--ink-mute); font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0; font-size: var(--fs-xl); line-height: var(--lh-tight); }
.seo-supplier { margin: var(--space-3) 0 0; color: var(--ink-soft); }
.seo-supplier a { color: var(--ink-soft); font-weight: var(--fw-semibold); text-decoration: none; }
.seo-choice { margin-top: var(--space-6); }
.seo-choice h2 { margin: 0 0 var(--space-3); font-size: var(--fs-md); }
.seo-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.seo-chip { min-height: var(--t-touch-target-min); padding: var(--space-2) var(--space-3); display: inline-flex; align-items: center; color: var(--ink-soft); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-pill); font-weight: var(--fw-semibold); text-decoration: none; }
.seo-chip.is-active { color: var(--brand); background: var(--brand-50); border-color: var(--brand); }
.seo-variants { margin: 0; padding: 0; display: grid; gap: var(--space-3); list-style: none; }
.seo-variant { padding: var(--space-3); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; background: var(--surface-alt); border: 1px solid var(--line); border-radius: var(--radius); }
.seo-variant > div { display: flex; flex-direction: column; gap: var(--space-1); }
.seo-variant span { color: var(--ink-mute); font-size: var(--fs-sm); }
.seo-variant-price { text-align: right; font-variant-numeric: tabular-nums; }
.seo-stock { color: var(--success) !important; font-weight: var(--fw-semibold); }
.seo-stock.is-unavailable { color: var(--error) !important; }
.seo-cta, .seo-secondary { min-height: var(--t-touch-target-min); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.seo-cta.is-disabled { opacity: .5; pointer-events: none; }
.seo-description, .seo-back-to-catalog { margin-top: var(--space-6); padding: var(--space-6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.seo-description h2, .seo-back-to-catalog h2 { margin: 0 0 var(--space-3); font-size: var(--fs-lg); }
.seo-description p, .seo-back-to-catalog p { max-width: 72ch; color: var(--ink-soft); }
.seo-category-header { position: static; margin-bottom: var(--space-8); background: transparent; border: 0; box-shadow: none; }
.seo-category-header > p:not(.seo-eyebrow) { max-width: 64ch; color: var(--ink-soft); }
.seo-category-header .seo-chips { margin-top: var(--space-5); }
.seo-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); list-style: none; }
.seo-list-card { padding: var(--space-4); display: grid; grid-template-columns: var(--space-12) minmax(0, 1fr); gap: var(--space-4); align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.seo-list-card > strong { grid-column: 2; color: var(--ink); font-variant-numeric: tabular-nums; }
.seo-list-media { width: var(--space-12); height: var(--space-12); grid-row: 1 / span 2; }
.seo-list-media img { width: 100%; height: 100%; object-fit: contain; }
.seo-list-card p { margin: 0; color: var(--ink-mute); font-size: var(--fs-xs); }
.seo-list-card h2 { margin: var(--space-1) 0; font-size: var(--fs-md); }
.seo-list-card h2 a { color: var(--ink); text-decoration: none; }
.seo-list-card span { color: var(--ink-soft); font-size: var(--fs-sm); }
.seo-footer { padding: var(--space-6); display: flex; justify-content: center; gap: var(--space-3); color: var(--ink-mute); border-top: 1px solid var(--line); }
.seo-footer a { color: var(--ink); font-weight: var(--fw-semibold); text-decoration: none; }
@media (max-width: 760px) {
  .seo-header { padding-inline: var(--space-4); }
  .seo-main { width: calc(100% - (2 * var(--space-4))); padding-top: var(--space-6); }
  .seo-product { grid-template-columns: 1fr; padding: var(--space-4); gap: var(--space-4); }
  .seo-product-media { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
  .seo-product-media img { display: block; }
  .seo-variant { grid-template-columns: 1fr; }
  .seo-variant-price { text-align: left; }
  .seo-list { grid-template-columns: 1fr; }
}
