.products-page { background: var(--paper-2); }
.products-header { background: rgba(255,255,255,.9); }
.range-hero { max-width: var(--wrap-wide); margin: 0 auto; padding: clamp(36px, 5vw, 58px) 22px 26px; }
.range-hero > div { max-width: 920px; }
.range-hero h1 { max-width: none; font-family: Iowan Old Style, Baskerville, Georgia, serif; font-size: clamp(40px, 3.6vw, 52px); font-weight: 400; letter-spacing: -0.034em; }
.range-lead { max-width: 52ch; margin-top: 18px; color: var(--ink-2); font-size: clamp(18px,2.1vw,23px); line-height: 1.45; }
.collection-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; max-width: var(--wrap-wide); margin: 0 auto; padding: 16px 22px 34px; }
.collection-tile { position:relative; min-height:150px; padding:0; overflow:hidden; color:#fff; text-align:left; background:var(--ink); border:1px solid var(--line-soft); border-radius:var(--radius); transition:border-color .2s var(--ease),transform .2s var(--ease); }
.collection-tile img { width:100%; height:100%; min-height:150px; object-fit:cover; opacity:.78; }.tile-copy { position:absolute; right:18px; bottom:16px; left:18px; text-shadow:0 1px 12px rgba(0,0,0,.75); }.tile-copy span,.tile-copy small { display:block; }.tile-copy span { font-size:20px; font-weight:600; letter-spacing:-.02em; }.tile-copy small { margin-top:4px; color:rgba(255,255,255,.9); font-size:14px; line-height:1.35; }
.collection-tile:hover,.collection-tile.is-active { border-color:var(--blue); transform:translateY(-2px); }
.range-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; max-width:var(--wrap-wide); margin:0 auto; padding: 0 22px 100px; align-items:start; }
.filter-rail { position:sticky; top:calc(var(--header-h) + 18px); padding:20px; background:var(--paper); border-radius:var(--radius); }
.filter-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }.filter-heading h2 { font-size:19px; }.clear-filters { padding:0; color:var(--blue); background:none; border:0; font-size:13px; }
.filter-rail label { display:grid; gap:7px; padding:15px 0; border-top:1px solid var(--line-soft); color:var(--ink-2); font-size:13px; font-weight:600; }.filter-rail select,.filter-rail input { width:100%; min-height:40px; padding:0 10px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:10px; font-size:14px; }
.catalogue-toolbar { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin:0 0 18px; color:var(--ink-2); font-size:14px; }.catalogue-toolbar p { margin:0; }.catalogue-toolbar strong { color:var(--ink); }.catalogue-note { text-align:right; }
.product-centre-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.product-card { display:flex; flex-direction:column; overflow:hidden; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius); }.product-card img { width:100%; aspect-ratio:4/5; object-fit:cover; background:var(--paper-2); }.product-card-body { display:flex; flex:1; flex-direction:column; padding:18px; }.product-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }.product-model { margin:0; font-size:20px; font-weight:600; }.collection-label { padding:4px 8px; color:var(--blue); background:var(--blue-soft); border-radius:980px; font-size:11px; font-weight:600; }.product-spec { margin:9px 0 0; color:var(--ink-2); font-size:14px; }.product-price { margin-top:auto; padding-top:18px; color:var(--ink-3); font-size:12px; }.product-price strong { display:block; margin-top:2px; color:var(--ink); font-size:16px; }.add-to-inquiry { width:100%; min-height:40px; margin-top:16px; padding:0 14px; color:var(--blue); background:transparent; border:1px solid currentColor; border-radius:10px; font-size:14px; }.add-to-inquiry:hover,.add-to-inquiry.is-selected { color:#fff; background:var(--blue); }.empty-state { padding:70px 22px; text-align:center; background:var(--paper); border-radius:var(--radius); }.empty-state p { max-width:46ch; margin:12px auto 22px; color:var(--ink-2); }
.inquiry-drawer { position:fixed; z-index:70; top:calc(var(--header-h) + 14px); right:18px; display:none; width:min(360px,calc(100vw - 36px)); max-height:calc(100vh - var(--header-h) - 28px); padding:22px; overflow:auto; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--radius); box-shadow:0 24px 60px rgba(0,0,0,.16); }.inquiry-drawer.is-open { display:block; }.drawer-heading { display:flex; justify-content:space-between; gap:16px; }.drawer-heading h2 { font-size:24px; }.drawer-heading .eyebrow { margin-bottom:5px; }.drawer-close { padding:0; color:var(--ink-2); background:none; border:0; align-self:flex-start; font-size:13px; }.drawer-intro,.drawer-empty { margin:16px 0; color:var(--ink-2); font-size:14px; }.inquiry-items { display:grid; gap:10px; }.inquiry-item { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--line-soft); }.inquiry-item strong,.inquiry-item small { display:block; }.inquiry-item small { color:var(--ink-2); font-size:12px; }.remove-model { padding:0; color:var(--blue); background:none; border:0; font-size:13px; }.inquiry-drawer .button { width:100%; min-height:44px; margin-top:18px; font-size:15px; }.inquiry-drawer .text-button { width:100%; justify-content:center; margin-top:10px; font-size:14px; }
@media (max-width:980px) { .collection-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.range-workspace { grid-template-columns:1fr; }.filter-rail { position:static; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:16px; }.filter-heading { grid-column:1/-1; margin:0; }.filter-rail label { padding:0; border:0; }.product-centre-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .products-header .brand-copy small { display:none; }.products-header .brand-copy strong { display:block; max-width:66px; font-size:12px; line-height:1.15; }.products-header .brand { gap:6px; }.range-hero { padding-top:72px; }.collection-strip { display:flex; overflow:auto; padding-bottom:32px; }.collection-tile { flex:0 0 220px; min-height:150px; }.collection-tile img { min-height:150px; }.filter-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }.filter-rail label:last-child { grid-column:1/-1; }.catalogue-toolbar { display:block; }.catalogue-note { margin-top:6px!important; text-align:left; }.product-centre-grid { gap:12px; }.product-card-body { padding:14px; }.product-model { font-size:18px; }.collection-label { display:none; }.product-spec { min-height:42px; }.inquiry-drawer { right:18px; left:18px; width:auto; } }
