/* ============================================
   products.css — Products page only
============================================ */

/* ── PAGE HERO ── */
.page-hero {
  --tv-page-gap: 4.25rem;
  background:var(--navy2); padding:calc(var(--tv-nav-h) + var(--tv-page-gap)) 0 3.75rem;
  position:relative; overflow:hidden;
  border-bottom:1px solid rgba(27,117,188,0.2);
  background-image: none !important;
}
.breadcrumb-tv {
  display:flex; align-items:center; gap:8px;
  font-size:0.75rem; color:var(--smoke); margin-bottom:20px;
}
.breadcrumb-tv a { color:var(--smoke); text-decoration:none; transition:color 0.2s; }
.breadcrumb-tv a:hover { color:var(--blue); }
.breadcrumb-tv span { color:var(--smoke); }
.page-hero-title {
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(3.375rem,8vw,6.25rem); font-weight:700; letter-spacing:0.0125em;
  line-height:0.9; color:var(--white); margin-bottom:20px;
}
.page-hero-title em { color:var(--blue); font-style:normal; }
.page-hero-sub { font-size:1rem; color:var(--smoke); max-width:520px; line-height:1.7; }

/* ── CATEGORY TABS ── */
.cat-tabs-wrap {
  background:var(--navy); padding:0;
  position:sticky; top:var(--tv-nav-h); z-index:100;
  border-bottom:2px solid rgba(27,117,188,0.2);
}
.cat-tabs {
  display:flex; gap:0; overflow-x:auto;
}
.cat-tab {
  display:flex; align-items:center; gap:10px;
  padding:0 24px; height:56px;
  background:transparent; border:none;
  font-family:'Barlow Condensed', sans-serif;
  font-size:0.9375rem; font-weight:600; letter-spacing:0.09375rem;
  text-transform:uppercase; color:var(--smoke);
  cursor:pointer; white-space:nowrap;
  border-bottom:3px solid transparent;
  margin-bottom:-2px;
  transition:color 0.2s, border-color 0.2s, background 0.2s;
  position:relative;
}
.cat-tab svg,
.cat-tab i { width:18px; height:18px; font-size:18px; flex-shrink:0; opacity:0.6; transition:opacity 0.2s; }
.cat-tab::after {
  content: attr(data-count);
  font-size:0.5625rem; font-weight:700;
  background:rgba(27,117,188,0.2);
  color:var(--smoke); padding:2px 6px;
  border-radius:10px; margin-left:4px;
  transition:background 0.2s, color 0.2s;
}
.cat-tab:hover { color:var(--white); background:rgba(255,255,255,0.03); }
.cat-tab:hover svg, .cat-tab:hover i { opacity:1; }
.cat-tab.active { color:var(--white); border-bottom-color:var(--blue); }
.cat-tab.active svg, .cat-tab.active i { opacity:1; }
.cat-tab.active::after { background:var(--blue); color:var(--white); }

/* ── PRODUCT SECTIONS ── */
.prod-section {
  display:none; background:var(--navy);
  background-image: repeating-linear-gradient(135deg,rgba(255,255,255,0.012),rgba(255,255,255,0.012) 7px,transparent 7px,transparent 14px);
  padding:5rem 0;
}
.prod-section.active { display:block; }
.section-sub {
  font-size:1rem; color:var(--smoke); line-height:1.75;
  max-width:600px; margin-bottom:0;
}

/* ── PRODUCT CARDS ── */
.pcard {
  background:var(--navy2);
  border-radius:12px;
  overflow:hidden;
  height:100%;
  display:flex; flex-direction:column;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
  position:relative;
}
.pcard:hover {
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(0,0,0,0.4);
}
.pcard.highlight {
  background:var(--navy2);
  border:1px solid rgba(24,112,181,0.5);
  box-shadow:0 0 0 1px rgba(24,112,181,0.2);
}
.pcard-badge {
  position:absolute; top:16px; left:16px;
  background:var(--blue); color:var(--white);
  font-family:'Barlow Condensed', sans-serif;
  font-size:0.625rem; font-weight:600; letter-spacing:0.125rem;
  text-transform:uppercase; padding:4px 10px; border-radius:20px;
  z-index:2;
}
.pcard-img-wrap {
  background:var(--navy3);
  height:260px;
  display:flex; align-items:center; justify-content:center;
  padding:32px;
  position:relative;
  overflow:hidden;
}
.pcard-img-wrap::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:60px;
  background:linear-gradient(to top, var(--navy2), transparent);
}
.pcard.highlight .pcard-img-wrap {
  background:linear-gradient(135deg, var(--blue3) 0%, #0a3d6b 100%);
}
.pcard-img-wrap img {
  max-height:180px; max-width:100%;
  object-fit:contain;
  position:relative; z-index:1;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,0.4));
  transition:transform 0.3s ease;
}
.pcard:hover .pcard-img-wrap img { transform:scale(1.05); }
.pcard-body {
  padding:28px; flex:1; display:flex; flex-direction:column;
}
.pcard-model {
  font-family:'Barlow Condensed', sans-serif;
  font-size:2.25rem; font-weight:700; color:var(--white); line-height:1;
  margin-bottom:4px;
}
.pcard-type {
  font-size:0.6875rem; color:var(--blue2);
  letter-spacing:0.09375rem; text-transform:uppercase; margin-bottom:14px;
  font-weight:600;
}
.pcard-desc {
  font-size:0.875rem; color:var(--smoke); line-height:1.75;
  margin-bottom:20px; flex:1;
}
.pcard-specs {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px;
}
.pcard-specs span {
  background:rgba(24,112,181,0.12);
  border:1px solid rgba(24,112,181,0.25);
  color:var(--silver); font-size:0.6875rem; font-weight:600;
  padding:5px 12px; border-radius:20px;
  letter-spacing:0.03125rem;
}
.pcard-actions {
  display:flex; flex-direction:row; gap:10px;
}
.pcard-actions .btn-primary,
.pcard-actions .btn-outline {
  flex:1; text-align:center;
  padding:11px 16px !important;
  font-size:0.75rem !important;
}

/* ── COMPARISON TABLE ── */
.compare-wrap { margin-top:60px; }
.compare-title {
  font-family:'Barlow Condensed', sans-serif;
  font-size:2rem; font-weight:700; color:var(--white); margin-bottom:24px;
}
.compare-table { width:100%; border-collapse:collapse; }
.compare-table th {
  font-family:'Barlow Condensed', sans-serif;
  font-size:0.875rem; font-weight:600; letter-spacing:0.09375rem;
  text-transform:uppercase; padding:16px 20px; text-align:left;
  background:var(--navy3); color:var(--smoke);
}
.compare-table th.highlight-col { background:var(--blue); color:var(--white); }
.compare-table td {
  padding:14px 20px; font-size:0.875rem; color:var(--silver);
  border-bottom:1px solid rgba(27,117,188,0.1);
}
.compare-table td.highlight-col { color:var(--white); font-weight:600; }
.compare-table tr:nth-child(even) td { background:rgba(27,117,188,0.04); }
.compare-table td:first-child {
  font-size:0.6875rem; letter-spacing:0.09375rem;
  text-transform:uppercase; color:var(--smoke);
}

/* ── ANNULAR CUTTER CARDS ── */
.cutter-card {
  background:var(--navy2); padding:32px;
  height:100%; transition:background 0.2s;
  border-top:3px solid transparent;
}
.cutter-card:hover { background:var(--navy3); }
.cutter-badge {
  display:inline-block; font-family:'Barlow Condensed', sans-serif;
  font-size:0.6875rem; font-weight:600; letter-spacing:0.125rem;
  padding:4px 10px; border-radius:2px; margin-bottom:14px;
}
.cutter-badge.tct { background:var(--blue); color:var(--white); }
.cutter-badge.hss { background:var(--navy4); color:var(--silver); border:1px solid rgba(168,189,208,0.3); }
.cutter-name {
  font-family:'Barlow Condensed', sans-serif;
  font-size:1.625rem; font-weight:700; color:var(--white); margin-bottom:4px;
}
.cutter-sub { font-size:0.75rem; color:var(--smoke); margin-bottom:20px; }
.cutter-specs { display:flex; flex-direction:column; gap:10px; }
.cutter-spec { display:flex; justify-content:space-between; align-items:center; }
.cutter-spec span { font-size:0.6875rem; color:var(--smoke); letter-spacing:0.0625rem; text-transform:uppercase; }
.cutter-spec strong { font-size:0.8125rem; color:var(--white); }

/* Pilot pins */
.pilot-section {
  background:var(--navy2); padding:24px 28px;
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.pilot-label {
  font-size:0.75rem; font-weight:700; letter-spacing:0.125rem;
  text-transform:uppercase; color:var(--blue); white-space:nowrap;
}
.pilot-label i { margin-right:8px; }
.pilot-tags { display:flex; gap:10px; flex-wrap:wrap; }
.pilot-tags span {
  background:rgba(27,117,188,0.1); border:1px solid rgba(27,117,188,0.25);
  padding:6px 14px; border-radius:3px; font-size:0.75rem; color:var(--silver);
}

/* ── METAL CUTTING TOOL CARDS ── */
.tool-card {
  background:var(--navy2); padding:36px 28px;
  height:100%;
  border-bottom:3px solid transparent;
  transition:all 0.3s;
}
.tool-card:hover { background:var(--navy3); border-bottom-color:var(--blue); }
.tool-icon {
  width:52px; height:52px; color:var(--blue2); margin-bottom:20px;
}
.tool-icon svg { width:100%; height:100%; }
.tool-name {
  font-family:'Barlow Condensed', sans-serif;
  font-size:1.5rem; font-weight:600; color:var(--white); margin-bottom:10px;
}
.tool-desc { font-size:0.875rem; color:var(--smoke); line-height:1.75; margin-bottom:18px; }
.tool-specs-row { display:flex; gap:8px; flex-wrap:wrap; }
.tool-specs-row span {
  background:rgba(27,117,188,0.1); border:1px solid rgba(27,117,188,0.2);
  padding:5px 12px; border-radius:3px; font-size:0.6875rem; color:var(--silver);
  font-weight:600; letter-spacing:0.03125rem;
}

/* ── ACCESSORIES ── */
.acc-card {
  background:var(--navy2); padding:36px 24px;
  text-align:center; height:100%; transition:background 0.2s;
}
.acc-card:hover { background:var(--navy3); }
.acc-icon {
  font-size:2rem; color:var(--blue2); margin-bottom:18px; display:block;
}
.acc-name {
  font-family:'Barlow Condensed', sans-serif;
  font-size:1.25rem; font-weight:600; color:var(--white); margin-bottom:10px;
}
.acc-desc { font-size:0.875rem; color:var(--smoke); line-height:1.7; }

/* ── CATALOGUE CTA ── */
.catalogue-cta {
  background:var(--navy2); padding:5rem 0;
  border-top:1px solid rgba(27,117,188,0.2);
}
.catalogue-cta-inner {
  display:flex; align-items:center;
  justify-content:space-between; gap:40px; flex-wrap:wrap;
}
.catalogue-sub { font-size:0.9375rem; color:var(--smoke); margin-top:12px; max-width:480px; }
.catalogue-btns { display:flex; gap:14px; flex-wrap:wrap; flex-shrink:0; }

/* ── RESPONSIVE ── */
@media (max-width:991px) {
  .page-hero { --tv-page-gap: 4rem; padding-bottom:3.125rem; }
  .cat-tab { padding:0 18px; font-size:0.8125rem; }
  .catalogue-cta-inner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:575px) {
  .page-hero { --tv-page-gap: 2.75rem; padding-bottom:2.5rem; }
  .page-hero-title { font-size:clamp(2.75rem,12vw,4rem); }
  .cat-tab { padding:0 14px; font-size:0.6875rem; gap:6px; }
  .cat-tab svg, .cat-tab i { width:16px; height:16px; font-size:16px; }
  .compare-table th, .compare-table td { padding:0.625rem 0.75rem; font-size:0.8125rem; }
  .cutter-card { padding:24px 20px; }
  .tool-card { padding:24px 20px; }
  .acc-card { padding:28px 16px; }
  .catalogue-cta { padding:3.75rem 0; }
  .catalogue-btns { width:100%; flex-direction:column; }
  .catalogue-btns a { width:100%; text-align:center; }
  .pilot-section { flex-direction:column; align-items:flex-start; gap:14px; }
}

/* ============================================
   NEW IN v2 — additive only, nothing above is modified.
   .vcard        : card for a variant_table category product
   .tv-maintenance: DB-unavailable / empty / 404 notice
   Both reuse the existing palette, radii and Barlow Condensed
   headers so they read as part of the original system.
============================================ */

/* ── VARIANT-TABLE PRODUCT CARD ──
   Built on .cutter-card so the surface, padding and type match the
   existing cutter cards exactly; this only adds link behaviour,
   the variant-count pill and the footer CTA. */
.vcard {
  display:flex; flex-direction:column;
  text-decoration:none; height:100%;
  border-top:3px solid transparent;
  transition:background 0.2s, border-color 0.2s;
}
.vcard:hover { background:var(--navy3); border-top-color:var(--blue); }
.vcard .cutter-name,
.vcard .cutter-sub { text-decoration:none; }
.vcard-count {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(24,112,181,0.12);
  border:1px solid rgba(24,112,181,0.25);
  color:var(--silver); font-size:0.6875rem; font-weight:600;
  letter-spacing:0.03125rem; padding:6px 12px; border-radius:20px;
  margin-bottom:18px; align-self:flex-start;
}
.vcard-count i { color:var(--blue2); font-size:0.6875rem; }
.vcard .cutter-specs { margin-bottom:4px; }
.vcard-cta {
  margin-top:auto; padding-top:18px;
  font-family:'Barlow Condensed', sans-serif;
  font-size:0.8125rem; font-weight:600; letter-spacing:0.09375rem;
  text-transform:uppercase; color:var(--blue2);
  transition:color 0.2s;
}
.vcard:hover .vcard-cta { color:var(--white); }

/* ── MAINTENANCE / EMPTY / 404 NOTICE ── */
.tv-maintenance {
  background:var(--navy2);
  border:1px solid rgba(24,112,181,0.15);
  border-radius:12px;
  padding:64px 40px; text-align:center;
  max-width:680px; margin:0 auto;
}
.tv-maintenance > i {
  font-size:2.75rem; color:var(--blue2);
  margin-bottom:24px; display:block;
}
.tv-maintenance-title {
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(1.75rem,3.5vw,2.625rem); font-weight:700;
  color:var(--white); line-height:1; margin-bottom:18px;
}
.tv-maintenance p {
  font-size:0.9375rem; color:var(--smoke); line-height:1.8;
  max-width:480px; margin:0 auto 28px;
}
.tv-maintenance-actions {
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
}

@media (max-width:575px) {
  .tv-maintenance { padding:44px 22px; }
  .tv-maintenance-actions { flex-direction:column; width:100%; }
  .tv-maintenance-actions a { width:100%; text-align:center; }
}