/* Hallmark · existing product gallery · tone: practical B2B · anchor hue: jade
   Pre-emit critique: P4 H4 E4 S4 R5 V3. Existing brand and routes preserved. */
:root { --photo-paper: #eae8e3; --price-muted: #555d58; --fx-warning: #785916; --focus-color: #356950; }
html, body { overflow-x: clip; }
.story-layout { display: block; max-width: 840px; }
body[data-category] .nav { background: var(--bg); border-bottom: 1px solid var(--border); }
body[data-category] .nav .logo { color: var(--jade); }
body[data-category] .nav-links a { color: var(--text); }
body[data-category] .catalog-hero { padding: 128px 0 36px; }
body[data-category] .catalog-hero h1 { font-style: normal; overflow-wrap: anywhere; }
body[data-category] .catalog-sub { color: var(--bg); max-width: 680px; opacity: .85; }
body[data-category] .section { padding: 40px 0 64px; }
body[data-category] .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.selection-intro { margin-bottom: 28px; }
.selection-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 16px; }
.selection-count { font-size: .92rem; color: var(--jade); font-weight: 600; }
.product-search { display: flex; align-items: center; gap: 12px; font-size: .8rem; color: var(--text-light); }
.product-search input { width: 240px; min-width: 0; padding: 10px 12px; border: 1px solid var(--border); background: var(--bg); border-radius: 3px; font: inherit; color: var(--text); }
.selection-note { font-size: .85rem; color: var(--price-muted); max-width: 900px; }
.fx-status { margin-top: 8px; font-size: .76rem; color: var(--price-muted); }
.fx-status.fx-stale { color: var(--fx-warning); }
.fx-source { display: inline-block; font-size: .7rem; color: var(--price-muted); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.gallery-item.priced-product { aspect-ratio: auto; border: 0; border-radius: 0; background: var(--bg); overflow: visible; transition: none; min-width: 0; scroll-margin-top: 96px; }
.gallery-item.priced-product:hover { transform: none; box-shadow: none; }
.product-photo { display: block; width: 100%; aspect-ratio: 4 / 5; background: var(--photo-paper); overflow: hidden; }
.product-photo img { width: 100%; height: 100%; object-fit: contain; }
.product-details { padding: 16px 0 0; min-width: 0; }
.product-reference { font-size: .73rem; letter-spacing: .06em; color: var(--text-light); }
.product-details h2 { font: 500 1rem/1.45 var(--sans); color: var(--dark); margin: 6px 0; min-width: 0; overflow-wrap: anywhere; }
.product-material, .product-dimensions { font-size: .78rem; color: var(--price-muted); min-height: 1.5em; }
.product-price { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.product-price strong { font-size: 1.12rem; color: var(--jade); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.product-price span { color: var(--price-muted); font-size: .73rem; white-space: nowrap; }
.product-equivalents { font-size: .74rem; min-height: 1.7em; color: var(--price-muted); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.product-inquiry { display: inline-block; margin-top: 14px; padding: 6px 0; border-bottom: 1px solid var(--jade); color: var(--jade); font-size: .8rem; white-space: nowrap; }
.product-inquiry:hover { color: var(--jade-light); }
.product-inquiry:active { opacity: .8; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 4px; }
.cat-nav-link, .breadcrumb, .nav-links a, .footer a, .btn { white-space: nowrap; }
@media (max-width: 1024px) { body[data-category] .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) {
  .selection-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .product-search { justify-content: space-between; }
  .product-search input { flex: 1; max-width: 320px; }
  .cat-nav-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cat-nav-link { text-align: center; padding: 12px 8px; }
  body[data-category] .catalog-hero { padding-top: 112px; }
}
@media (max-width: 600px) {
  body[data-category] .catalog-hero { padding: 96px 0 24px; }
  body[data-category] .catalog-hero h1 { font-size: 2rem; margin-bottom: 8px; }
  body[data-category] .catalog-hero .breadcrumb { margin-bottom: 12px; }
  body[data-category] .catalog-sub { font-size: .86rem; line-height: 1.6; }
  body[data-category] .section { padding-top: 24px; }
  .selection-note { font-size: .78rem; line-height: 1.6; }
  .selection-toolbar { margin-bottom: 12px; }
  body[data-category] .gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .product-photo { aspect-ratio: 1 / 1; }
  .product-details h2 { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
