/* In stock page and strips. Generated by stock_sync.py; uses tokens from styles.css. */
.stock-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-5); }
.stock-card { background: var(--c-bone); border: 1px solid var(--c-stone-100); display: flex; flex-direction: column; scroll-margin-top: 96px; }
.stock-card__img { aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--c-stone-100); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.stock-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.stock-thumbs { display: flex; gap: var(--s-2); padding: var(--s-3) var(--s-5) 0; }
.stock-thumbs a { display: block; width: 56px; height: 42px; border: 1px solid var(--c-stone-100); background: #fff; overflow: hidden; }
.stock-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.stock-card__body { padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3); flex: 1; }
.stock-card__title { font-family: var(--f-sans); font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -0.005em; margin: 0; }
.stock-card__text { font-size: 15px; line-height: 1.55; color: var(--c-stone-400); margin: 0; }
.stock-price { font-family: var(--f-mono); font-size: 22px; font-weight: 500; color: var(--c-ink); margin-top: auto; padding-top: var(--s-2); }
.stock-price__note { font-size: 12px; color: var(--c-stone-300); letter-spacing: 0.02em; }
.stock-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-4); }
.stock-tel { font-size: 14px; color: var(--c-ink); }
.stock-returns { margin: var(--s-7) 0 0; }
.stock-mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-4); }
.stock-mini { display: flex; flex-direction: column; gap: var(--s-2); background: var(--c-bone); border: 1px solid var(--c-stone-100); padding: var(--s-4); color: var(--c-ink); text-decoration: none; }
.stock-mini:hover { border-color: var(--c-stone-200); }
.stock-mini__img { display: flex; aspect-ratio: 4 / 3; background: #fff; align-items: center; justify-content: center; overflow: hidden; }
.stock-mini__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.stock-mini__title { font-size: 15px; font-weight: 500; line-height: 1.35; }
.stock-mini__price { font-family: var(--f-mono); font-size: 16px; }
.stock-mini__price .stock-price__note { font-size: 11px; }
.order-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-4); }
.order-card { border: 1px solid var(--c-stone-100); background: var(--c-bone); padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-3); scroll-margin-top: 96px; }
.order-card__icon { color: var(--c-stone-300); }
.order-card__title { font-family: var(--f-sans); font-size: 17px; font-weight: 500; line-height: 1.3; margin: 0; }
.order-card__text { font-size: 14px; line-height: 1.55; color: var(--c-stone-400); margin: 0; }
.order-card__btn { margin-top: auto; align-self: flex-start; }
.stock-card__img a { display: block; width: 100%; height: 100%; }
.stock-card__title a { color: inherit; text-decoration: none; }
.stock-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Item pages */
.item-crumbs { color: var(--c-stone-300); display: flex; flex-wrap: wrap; gap: 4px 8px; min-width: 0; }
.item-crumbs a { color: inherit; }
.item-crumbs__here { color: var(--c-rust); overflow-wrap: anywhere; }
.item-top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.item-gallery { min-width: 0; }
.item-hero { display: flex; aspect-ratio: 4 / 3; background: #fff; border: 1px solid var(--c-stone-100); align-items: center; justify-content: center; overflow: hidden; cursor: zoom-in; }
.item-hero img { width: 100%; height: 100%; object-fit: contain; display: block; }
.item-hint { color: var(--c-stone-300); margin: var(--s-2) 0 0; }
.item-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: var(--s-2); margin-top: var(--s-3); }
.item-thumbs a { display: block; aspect-ratio: 4 / 3; border: 1px solid var(--c-stone-100); background: #fff; overflow: hidden; }
.item-thumbs a[aria-current="true"] { border-color: var(--c-rust); box-shadow: 0 0 0 1px var(--c-rust); }
.item-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.item-info { min-width: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.item-title { font-family: var(--f-sans); font-size: clamp(26px, 3.4vw, 38px); font-weight: 500; line-height: 1.15; letter-spacing: -0.01em; margin: 0; overflow-wrap: anywhere; }
.item-sku { color: var(--c-stone-300); margin: 0; }
.item-summary { font-size: 17px; line-height: 1.55; color: var(--c-stone-400); margin: 0; }
.item-price { font-family: var(--f-mono); font-size: 30px; font-weight: 500; color: var(--c-ink); }
.item-price--sold { font-size: 18px; color: var(--c-stone-300); }
.item-actions { display: flex; flex-wrap: wrap; gap: var(--s-3); margin: var(--s-2) 0; }
.item-line { font-size: 15px; line-height: 1.5; color: var(--c-stone-400); margin: 0; }
.item-sold { background: var(--c-rust-tint); border-left: 3px solid var(--c-rust); padding: var(--s-4); font-size: 16px; line-height: 1.5; }
.item-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-7); align-items: start; }
.item-h2 { font-family: var(--f-sans); font-size: 24px; font-weight: 500; margin: 0 0 var(--s-4); }
.item-h3 { font-family: var(--f-sans); font-size: 17px; font-weight: 500; margin: var(--s-5) 0 var(--s-2); }
.item-spec { width: 100%; border-collapse: collapse; font-size: 15px; table-layout: fixed; }
.item-spec th, .item-spec td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--c-stone-100); overflow-wrap: anywhere; }
.item-spec th { width: 38%; font-weight: 500; color: var(--c-stone-300); }
.item-cond p { font-size: 16px; line-height: 1.6; margin: 0 0 var(--s-3); }
.item-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 18, 15, 0.94); display: flex; align-items: center; justify-content: center; }
.item-lightbox[hidden] { display: none; }
.item-lightbox img { max-width: 94vw; max-height: 86vh; object-fit: contain; background: #fff; }
.item-lightbox button { position: absolute; background: rgba(255, 255, 255, 0.12); color: #fff; border: 0; font-size: 34px; line-height: 1; width: 48px; height: 48px; cursor: pointer; }
.item-lightbox .lb-close { top: 12px; right: 12px; }
.item-lightbox .lb-prev { left: 8px; top: 50%; transform: translateY(-50%); }
.item-lightbox .lb-next { right: 8px; top: 50%; transform: translateY(-50%); }
.item-lightbox .lb-count { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #fff; }
@media (max-width: 900px) { .item-top, .item-details { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); } }
@media (max-width: 900px) { .stock-grid, .stock-mini-grid, .order-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .stock-grid, .stock-mini-grid, .order-grid { grid-template-columns: 1fr; } }
