/* ══ SPEC CARDS ══ */
.spec-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; }
@media(max-width:800px){ .spec-grid{ grid-template-columns:1fr; } }
.spec-card{ padding:1.9rem 1.8rem; overflow:hidden; }
.spec-card .spec-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.spec-card h4{ font-size:1.08rem; font-weight:700; text-transform:none; font-family:var(--font-body); }
.spec-card .icon-wrap{ width:46px; height:46px; border-radius:.8rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 30% 20%, var(--surface-2), var(--surface)); border:1px solid var(--border); }
.spec-card .icon-wrap svg{ width:26px; height:26px; }
.spec-card-photo{ width:calc(100% + 3.6rem); max-width:none; margin:-1.9rem -1.8rem 1.2rem; height:170px; object-fit:cover; border-radius:1.1rem 1.1rem 0 0; display:block; }
.spec-card p{ font-size:.92rem; color:var(--ink-soft); margin-bottom:1rem; }
.spec-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.spec-tag{ font-family:var(--font-mono); font-size:.7rem; font-weight:600; padding:.35rem .7rem; border-radius:.35rem; background:var(--surface-2); color:var(--ink-soft); }
.spec-card-link{ display:inline-block; margin-top:1rem; font-family:var(--font-mono); font-size:.78rem; font-weight:700; letter-spacing:.03em; color:var(--accent-ink); }
.spec-card-link:hover{ color:var(--accent); text-decoration:underline; }

.section-divider-label{ text-align:center; margin:0 auto 3rem; }

/* ══ PRODUCT CATEGORY CARDS ══ */
.category-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
@media(max-width:960px){ .category-grid{ grid-template-columns:1fr; max-width:520px; margin:0 auto; } }
.category-card{ padding:0; overflow:hidden; display:flex; flex-direction:column; }
.category-card-photo{ width:100%; height:220px; object-fit:cover; display:block; }
.category-card-body{ padding:1.9rem 1.9rem 2.1rem; flex:1; display:flex; flex-direction:column; }
.category-card-eyebrow{ font-family:var(--font-mono); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:.6rem; }
.category-card-body h3{ font-size:1.35rem; font-weight:800; text-transform:none; font-family:var(--font-display); margin-bottom:.9rem; }
.category-card-body p{ color:var(--ink-soft); font-size:.92rem; line-height:1.68; margin-bottom:1.6rem; flex:1; }
.category-card-body .btn{ align-self:flex-start; }

/* ══ STEEL HUB CARDS ══ */
.steel-hub-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.75rem; }
@media(max-width:860px){ .steel-hub-grid{ grid-template-columns:1fr; } }

.steel-hub-card{ display:flex; flex-direction:column; padding:0; overflow:hidden; text-decoration:none; border-radius:1.3rem; }

.steel-hub-card-photo-wrap{ position:relative; aspect-ratio:16/9; overflow:hidden; flex-shrink:0; }
.steel-hub-card-photo{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,.84,.44,1); }
.steel-hub-card:hover .steel-hub-card-photo{ transform:scale(1.08); }
.steel-hub-card-photo-wrap::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,11,14,0) 45%, rgba(10,11,14,.6) 100%);
}
.steel-hub-num{
  position:absolute; top:1rem; left:1rem; z-index:1;
  display:flex; align-items:center; justify-content:center;
  width:2.5rem; height:2.5rem; border-radius:50%;
  font-family:var(--font-mono); font-weight:800; font-size:.9rem; color:#fff;
  background:linear-gradient(135deg, var(--accent-hot), var(--accent));
  box-shadow:0 8px 18px rgba(255,106,31,.4), 0 0 0 3px rgba(10,11,14,.4);
}

.steel-hub-card-body{ padding:1.7rem 1.8rem 1.9rem; display:flex; flex-direction:column; flex:1; }
.steel-hub-card-body h3{ font-size:1.22rem; margin-bottom:.6rem; }
.steel-hub-card-body p{ color:var(--ink-soft); font-size:.92rem; line-height:1.62; margin-bottom:1.2rem; }

.steel-hub-subs{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.4rem; }
.steel-hub-sub{
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--font-mono); font-size:.72rem; font-weight:700; color:var(--accent-ink);
  background:var(--surface-2); border:1px solid var(--border); border-radius:2rem;
  padding:.42rem .75rem .42rem .6rem;
  transition:border-color .3s ease, background .3s ease;
}
.steel-hub-card:hover .steel-hub-sub{ border-color:var(--accent); background:rgba(255,106,31,.1); }
.steel-hub-sub svg{ width:12px; height:12px; flex-shrink:0; }

.steel-hub-link{
  font-family:var(--font-mono); font-size:.82rem; font-weight:700; color:var(--accent-ink);
  display:inline-flex; align-items:center; gap:.4rem; margin-top:auto;
  transition:transform .3s cubic-bezier(.16,.84,.44,1), color .3s ease;
}
.steel-hub-card:hover .steel-hub-link{ transform:translateX(5px); color:var(--accent-hot); }

/* closing card spans full width with a horizontal split, instead of sitting
   alone beside empty space as the odd one out in the 2-col grid */
@media(min-width:861px){
  .steel-hub-card:last-child{ grid-column:1 / -1; flex-direction:row; }
  .steel-hub-card:last-child .steel-hub-card-photo-wrap{ width:38%; aspect-ratio:auto; }
  .steel-hub-card:last-child .steel-hub-card-body{ justify-content:center; }
  .steel-hub-card:last-child .steel-hub-link{ margin-top:.4rem; }
}

/* Extracted inline styles */
.products-il-1 { text-align:center; }
.products-il-2 { max-width:26ch; }
