/* Professional catalogue presentation layer */
.page-hero {
  min-height: 0;
  padding: calc(var(--nav-h) + 3.5rem) 5% 4.25rem;
  background:
    radial-gradient(circle at 82% 30%, rgba(212,181,91,.16), transparent 24rem),
    linear-gradient(120deg, #0d2d20 0%, #123b2a 58%, #0b271c 100%);
}
.page-hero::before { opacity: .62; }
.page-hero-inner { max-width: 1200px; }
.page-hero h1 { max-width: 850px; font-size: clamp(2.4rem,5vw,4.2rem); letter-spacing: -.035em; }
.page-hero > .page-hero-inner > p:last-child { max-width: 700px; font-size: 1rem; line-height: 1.8; }
.breadcrumb { margin-bottom: 2rem; }

.catalogue-trust { background:#fff; border-bottom:1px solid #e4e7e5; }
.catalogue-trust-inner { max-width:1200px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); }
.catalogue-trust-inner > div { display:flex; gap:1rem; align-items:flex-start; padding:1.5rem 1.6rem; border-right:1px solid #e4e7e5; }
.catalogue-trust-inner > div:first-child { padding-left:0; }
.catalogue-trust-inner > div:last-child { border-right:0; padding-right:0; }
.catalogue-trust span { display:grid; place-items:center; width:2.25rem; height:2.25rem; flex:0 0 auto; border-radius:50%; background:#f4edda; color:#7d6120; font-size:.68rem; font-weight:800; }
.catalogue-trust p { margin:0; color:#173d2c; line-height:1.25; }
.catalogue-trust strong { display:block; font-size:.84rem; margin-bottom:.28rem; }
.catalogue-trust small { display:block; color:#69756f; font-size:.75rem; line-height:1.5; }

.filter-bar { top:var(--nav-h); padding:.9rem 5%; box-shadow:0 8px 24px rgba(18,49,36,.07); }
.filter-bar-inner { gap:1.25rem; }
.filter-cats { gap:.55rem; }
.filter-btn { min-height:40px; padding:.58rem 1rem; border-radius:7px; border-color:#dce1de; color:#46544d; }
.filter-btn span { margin-left:.25rem; opacity:.65; }
.filter-btn:hover { background:#f8f6f0; transform:translateY(-1px); }
.filter-btn.active { background:#173f2d; box-shadow:0 5px 14px rgba(23,63,45,.17); }
.filter-search { min-height:42px; min-width:260px; border-radius:7px; padding:.5rem .85rem; background:#f7f8f7; transition:border-color .2s, box-shadow .2s, background .2s; }
.filter-search:focus-within { border-color:#b7953d; background:#fff; box-shadow:0 0 0 3px rgba(183,149,61,.12); }
.filter-search input { width:100%; }
.filter-search span { font-size:1.25rem; color:#607068; line-height:1; }

.catalogue-section { padding:2.25rem 5% 6rem; background:#f6f7f5; }
.catalogue-meta { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2.5rem; padding:.8rem 1rem; background:#fff; border:1px solid #e3e7e4; border-radius:8px; }
.catalogue-meta > a { color:#80631f; font-size:.8rem; font-weight:700; text-decoration:none; }
.catalogue-meta > a span { display:inline-block; transition:transform .2s; }
.catalogue-meta > a:hover span { transform:translateX(3px); }

.cat-group { margin-bottom:5rem; }
.cat-group-header { align-items:center; gap:.9rem; border:0; padding:0 0 1.1rem; margin-bottom:1.4rem; position:relative; }
.cat-group-header::after { content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; border-radius:3px; background:#c5a44c; }
.cat-group-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:9px; background:#e8efe9; font-size:1.25rem; }
.cat-group-header h2 { font-size:clamp(1.45rem,2.4vw,1.9rem); letter-spacing:-.015em; }
.cat-group-header > span { margin-left:auto; background:#fff; border-color:#dde3df; color:#647169; }
.products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.35rem; }

.product-card { border-color:#e0e5e1; border-radius:10px; box-shadow:0 3px 15px rgba(18,49,36,.045); }
.product-card:hover { transform:translateY(-5px); border-color:rgba(183,149,61,.7); box-shadow:0 18px 38px rgba(18,49,36,.11); }
.product-img { height:174px; font-size:0; background:linear-gradient(145deg,#edf3ef,#f7f3e8); }
.product-img::before { content:""; width:82px; height:82px; border-radius:22px; background:rgba(255,255,255,.78); border:1px solid rgba(20,67,47,.1); box-shadow:0 12px 30px rgba(20,67,47,.09); }
.product-img::after { content:"RM"; position:absolute; font-family:'Inter',sans-serif; font-size:1.05rem; font-weight:800; letter-spacing:.08em; color:#1c523a; }
.product-img.green-bg,.product-img.gold-bg,.product-img.dark-bg,.product-img.mist-bg { background:linear-gradient(145deg,#e7efe9,#f7f2e4); }
.product-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:1rem; background:#fff; z-index:2; }
.product-img:has(img)::before,.product-img:has(img)::after { display:none; }
.product-badge { z-index:3; top:12px; right:12px; border-radius:5px; padding:.34rem .62rem; box-shadow:0 2px 8px rgba(0,0,0,.08); }
.badge-instock { background:#1d7f50; }
.badge-popular { background:#173f2d; }
.badge-confirm { background:#f1dfaa; color:#5f4913; }
.badge-representative { background:#e5ebe7; color:#405248; }
.product-body { padding:1.35rem 1.35rem 1.25rem; }
.product-cat-tag { margin-bottom:.55rem; color:#927124; }
.product-body h3 { font-size:1.14rem; line-height:1.35; margin-bottom:.65rem; }
.product-body p { font-size:.81rem; line-height:1.65; color:#66726c; }
.product-specs { padding-top:.15rem; }
.spec-tag { border:0; background:#f1f4f1; color:#56635d; border-radius:4px; font-weight:600; }
.product-footer { border-top:1px solid #edf0ee; padding-top:1rem; }
.view-product-link { color:#45564d; }
.btn-quote { border-radius:5px; padding:.62rem .82rem; letter-spacing:.035em; text-transform:none; }
.btn-quote:focus-visible,.filter-btn:focus-visible,.product-title-link:focus-visible { outline:3px solid rgba(197,164,76,.45); outline-offset:3px; }

.stock-clarity { display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; margin:-.2rem 0 1.8rem; padding:1.55rem 1.65rem; background:linear-gradient(135deg,#fff 0%,#f7faf8 100%); border:1px solid #d8e2dc; border-left:5px solid #1d7f50; border-radius:10px; box-shadow:0 7px 24px rgba(18,58,40,.06); }
.stock-kicker{display:block;color:#9a7728;font-size:.62rem;font-weight:800;letter-spacing:.13em;margin-bottom:.45rem}
.stock-clarity strong { display:block; color:#173f2d; font-family:'Playfair Display',serif;font-size:1.18rem; margin-bottom:.45rem; }
.stock-clarity p { color:#647169; font-size:.8rem; line-height:1.65; margin:0; max-width:650px; }
.stock-legend { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; align-content:center; }
.stock-legend span { display:grid; grid-template-columns:11px 1fr; align-content:start; column-gap:.55rem; padding:.8rem; background:#fff; border:1px solid #e1e7e3; border-radius:7px; color:#647169; line-height:1.4; }
.stock-legend i { width:10px; height:10px; border-radius:50%; margin-top:.18rem; grid-row:1/3; }
.stock-legend b { color:#34473c; font-size:.75rem; }
.stock-legend em{font-style:normal;font-size:.68rem;color:#707b75;margin-top:.18rem}
.legend-instock { background:#1d7f50; }
.legend-confirm { background:#c5a44c; }
.stock-icon{font-family:'Inter',sans-serif;font-size:.62rem;letter-spacing:.08em;font-weight:900;color:#fff;background:#1d7f50}
.cat-group[data-category="available-stock"] .products-grid{align-items:stretch}
.cat-group[data-category="available-stock"] .product-card{border-top:3px solid #d6b354}
.cat-group[data-category="available-stock"] .product-photo{height:220px;padding:12px;background:linear-gradient(145deg,#f2f5f2,#faf8f1);border-bottom-color:#e3e8e4}
.cat-group[data-category="available-stock"] .product-photo img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:5px;transition:transform .25s ease}
.cat-group[data-category="available-stock"] .product-card:hover .product-photo img{transform:scale(1.015)}
.cat-group[data-category="available-stock"] .product-body>p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:5.3em}
.cat-group[data-category="available-stock"] .product-cat-tag{padding-bottom:.5rem;border-bottom:1px solid #edf0ee}
.cat-group[data-category="available-stock"] .product-badge{top:20px;right:20px}
.cat-group[data-category="available-stock"] .badge-instock:before{content:"● ";font-size:.7em}
.cat-group[data-category="available-stock"] .badge-confirm:before{content:"◷ ";font-size:.9em}

@media(max-width:980px){
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalogue-trust-inner > div { padding:1.25rem; }
  .filter-search { order:-1; min-width:100%; }
}
@media(max-width:680px){
  .page-hero { padding-top:calc(var(--nav-h) + 2rem); padding-bottom:3rem; }
  .catalogue-trust-inner { grid-template-columns:1fr; padding:.4rem 5%; }
  .catalogue-trust-inner > div,.catalogue-trust-inner > div:first-child,.catalogue-trust-inner > div:last-child { border-right:0; border-bottom:1px solid #e4e7e5; padding:1rem 0; }
  .catalogue-trust-inner > div:last-child { border-bottom:0; }
  .filter-bar { position:relative; top:auto; }
  .filter-search { display:flex; min-width:100%; }
  .filter-cats { flex-wrap:nowrap; overflow-x:auto; width:100%; padding-bottom:.3rem; scrollbar-width:none; }
  .filter-cats::-webkit-scrollbar { display:none; }
  .filter-btn { flex:0 0 auto; }
  .catalogue-meta { align-items:flex-start; flex-direction:column; }
  .products-grid { grid-template-columns:1fr; }
  .product-img { height:155px; }
  .stock-clarity { grid-template-columns:1fr; gap:1rem; padding:1.2rem; }
  .stock-legend{grid-template-columns:1fr}
  .cat-group[data-category="available-stock"] .product-photo{height:190px}
}
