/* ═══════════════════════════════════════════════════════════
   V2 CATALOGUE — Vue Labo (archive-product.php)
   ═══════════════════════════════════════════════════════════ */

body.archive, body.woocommerce-shop, body.tax-product_cat {
  background: #070a08 !important;
  color: #eef4ef;
}
body.archive main, body.woocommerce-shop main, body.tax-product_cat main,
body.archive .site-main, body.woocommerce-shop .site-main, body.tax-product_cat .site-main {
  padding: 0 !important;
  max-width: none !important;
  background: #070a08;
}
body.archive .woocommerce-notices-wrapper,
body.woocommerce-shop .woocommerce-notices-wrapper,
body.tax-product_cat .woocommerce-notices-wrapper { padding: 0 32px; }

/* Hide legacy WC archive header */
.woocommerce-products-header, .woocommerce-result-count, .woocommerce-ordering { display: none !important; }

.v2c-page { background: #070a08; color: #eef4ef; font-family: 'DM Sans', sans-serif; }

/* Ticker */
.v2c-ticker {
  background: linear-gradient(90deg, #39ff7a 0%, #39ff7a 55%, #b14bff 100%);
  color: #070a08;
  padding: 8px 32px;
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.4px;
  font-weight: 600;
  text-transform: uppercase;
  gap: 16px;
  overflow: hidden;
  white-space: nowrap;
}
.v2c-ticker span { flex: 1; text-align: center; }
.v2c-ticker span:first-child { text-align: left; }
.v2c-ticker span:last-child { text-align: right; }

/* Header */
.v2c-header { padding: 48px 32px 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.v2c-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: #b14bff; letter-spacing: 1.6px; text-shadow: 0 0 8px rgba(177,75,255,0.4); text-transform: uppercase; }
.v2c-h1 {
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: clamp(64px, 10vw, 110px);
  font-weight: 400;
  letter-spacing: 0;
  margin: 8px 0 0;
  text-transform: uppercase;
  line-height: 0.9;
  color: #eef4ef;
}
.v2c-h1 .v2c-dot { color: #b14bff; text-shadow: 0 0 16px rgba(177,75,255,0.5); }
.v2c-sub { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #8e978f; margin-top: 12px; letter-spacing: 0.5px; }

/* View toggle */
.v2c-view-toggle { display: flex; gap: 8px; }
.v2c-view-btn {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.2px;
  padding: 8px 14px;
  border: 1px solid #1e2622;
  color: #8e978f;
  background: transparent;
  text-decoration: none;
  transition: all 150ms ease;
  text-transform: uppercase;
}
.v2c-view-btn--active-lime { border-color: #39ff7a; color: #39ff7a; background: rgba(57,255,122,0.06); text-shadow: 0 0 6px rgba(57,255,122,0.4); }
.v2c-view-btn--active-violet { border-color: #b14bff; color: #b14bff; background: rgba(177,75,255,0.06); text-shadow: 0 0 6px rgba(177,75,255,0.4); }
.v2c-view-btn:hover { border-color: #39ff7a; color: #39ff7a; }

/* Chip strip */
.v2c-chips { padding: 0 32px 24px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.v2c-chip {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1px;
  padding: 8px 14px;
  border: 1px solid #1e2622;
  color: #8e978f;
  text-decoration: none;
  transition: all 150ms ease;
  text-transform: uppercase;
  line-height: 1;
}
.v2c-chip:hover { color: #eef4ef; border-color: #3f4b43; }
.v2c-chip--active { color: #eef4ef; }
.v2c-chip--active.v2c-chip--lime { border-color: #39ff7a; color: #39ff7a; background: rgba(57,255,122,0.06); text-shadow: 0 0 6px rgba(57,255,122,0.4); }
.v2c-chip--active.v2c-chip--violet { border-color: #b14bff; color: #b14bff; background: rgba(177,75,255,0.06); text-shadow: 0 0 6px rgba(177,75,255,0.4); }
.v2c-chip-boutique {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1.2px;
  padding: 8px 14px;
  border: 1px solid #39ff7a;
  color: #39ff7a;
  text-decoration: none;
  text-shadow: 0 0 6px rgba(57,255,122,0.4);
  text-transform: uppercase;
}
.v2c-chip-boutique:hover { background: rgba(57,255,122,0.08); color: #39ff7a; }

/* Main layout */
.v2c-main { padding: 0 32px 64px; display: grid; grid-template-columns: 240px 1fr; gap: 32px; }

/* Sidebar */
.v2c-sidebar { padding-top: 24px; border-top: 1px solid #1e2622; }
.v2c-sb-block { margin-bottom: 28px; }
.v2c-sb-title { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1.4px; margin-bottom: 10px; text-transform: uppercase; }
.v2c-sb-title--lime { color: #39ff7a; text-shadow: 0 0 6px rgba(57,255,122,0.4); }
.v2c-sb-title--violet { color: #b14bff; text-shadow: 0 0 6px rgba(177,75,255,0.4); }
.v2c-sb-item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #8e978f;
  padding: 4px 0;
  letter-spacing: 0.3px;
  text-decoration: none;
  display: block;
  transition: color 150ms ease;
}
a.v2c-sb-item:hover { color: #eef4ef; }
.v2c-sb-item--active { color: #eef4ef !important; }
.v2c-sb-item--muted { color: #5f6864; }

/* Products area */
.v2c-products-area { min-width: 0; }

/* TABLE view */
.v2c-table { font-family: 'JetBrains Mono', monospace; font-size: 13px; }
.v2c-table-head {
  display: grid;
  grid-template-columns: 60px 2fr 150px 140px 80px 80px 90px 40px;
  padding: 16px 0;
  border-top: 1px solid #1e2622;
  border-bottom: 1px solid #1e2622;
  font-size: 10px;
  color: #5f6864;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.v2c-row {
  display: grid;
  grid-template-columns: 60px 2fr 150px 140px 80px 80px 90px 40px;
  padding: 16px 0;
  border-bottom: 1px solid #1e2622;
  align-items: center;
  text-decoration: none;
  color: inherit;
  transition: background 150ms ease;
}
.v2c-row:hover { background: rgba(57,255,122,0.03); }
.v2c-row .v2c-name { font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 16px; color: #eef4ef; letter-spacing: -0.2px; }
.v2c-row .v2c-cat, .v2c-row .v2c-sub-cat { color: #8e978f; letter-spacing: 1px; }
.v2c-row .v2c-price { color: #eef4ef; font-weight: 600; }
.v2c-mute { color: #5f6864 !important; }
.v2c-lime { color: #39ff7a !important; text-shadow: 0 0 6px rgba(57,255,122,0.4); font-weight: 600; }
.v2c-violet { color: #b14bff !important; text-shadow: 0 0 6px rgba(177,75,255,0.4); font-weight: 600; }
.v2c-right { text-align: right; }

/* GRILLE view */
.v2c-grid {
  padding-top: 24px;
  border-top: 1px solid #1e2622;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.v2c-card {
  border: 1px solid #1e2622;
  background: #0d1210;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  transition: all 200ms ease;
}
.v2c-card:hover {
  border-color: #39ff7a;
  box-shadow: 0 0 20px rgba(57,255,122,0.2);
  transform: translateY(-2px);
}
.v2c-card-img {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #fafafa;
  overflow: hidden;
}
.v2c-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; padding: 8px; box-sizing: border-box; }
.v2c-card-ref {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: #5f6864;
  letter-spacing: 1.2px;
  background: rgba(7,10,8,0.85);
  padding: 2px 6px;
}
.v2c-card-stock {
  position: absolute;
  top: 8px;
  right: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  background: rgba(7,10,8,0.85);
  padding: 2px 6px;
}
.v2c-card-stock.v2c-violet { text-shadow: 0 0 6px rgba(177,75,255,0.6); }
.v2c-card-meta {
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: #5f6864;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.v2c-card-name {
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #eef4ef;
}
.v2c-card-foot {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #1e2622;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.v2c-micro { font-family: 'JetBrains Mono', monospace; font-size: 9px; color: #5f6864; letter-spacing: 1px; }
.v2c-card-cbd { font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 600; }
.v2c-card-price { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: #eef4ef; font-weight: 600; }
.v2c-right-col { text-align: right; }

/* Legend */
.v2c-legend {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: #5f6864;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

/* Responsive */
@media (max-width: 1100px) {
  .v2c-main { grid-template-columns: 1fr; }
  .v2c-sidebar { display: none; }
  .v2c-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .v2c-ticker { font-size: 9px; padding: 6px 12px; gap: 8px; }
  .v2c-ticker span:nth-child(2), .v2c-ticker span:nth-child(3) { display: none; }
  .v2c-header { padding: 32px 20px 16px; }
  .v2c-chips { padding: 0 20px 16px; }
  .v2c-main { padding: 0 20px 48px; }
  .v2c-grid { grid-template-columns: repeat(2, 1fr); }
  .v2c-chip-boutique { margin-left: 0; }
  .v2c-table, .v2c-table-head, .v2c-row { grid-template-columns: 40px 1fr 70px 50px !important; font-size: 11px !important; }
  .v2c-row .v2c-cat, .v2c-row .v2c-sub-cat, .v2c-table-head span:nth-child(3), .v2c-table-head span:nth-child(4),
  .v2c-table-head span:nth-child(5), .v2c-table-head span:nth-child(6), .v2c-row span:nth-child(5), .v2c-row span:nth-child(6) { display: none; }
  .v2c-legend { flex-direction: column; gap: 8px; }
}
@media (max-width: 480px) {
  .v2c-grid { grid-template-columns: 1fr; }
}

/* Filter items — clickable (hover, active, clear) */
a.v2c-sb-item { cursor: pointer; }
a.v2c-sb-item:hover { color: #39ff7a !important; text-shadow: 0 0 6px rgba(57,255,122,0.3); }
a.v2c-sb-item.v2c-sb-item--active { color: #eef4ef !important; text-shadow: 0 0 6px rgba(57,255,122,0.4); }
.v2c-sb-clear { color: #b14bff !important; font-size: 10px !important; margin-top: 6px; padding: 6px 0 !important; }
.v2c-sb-clear:hover { color: #b14bff !important; text-shadow: 0 0 6px rgba(177,75,255,0.5) !important; opacity: 0.9; }

/* Hide stock picto on catalog cards */
.v2c-card-stock { display: none !important; }

/* When accessory has no CBD value, show price only */
.v2c-card-foot--price-only { justify-content: flex-end; }
.v2c-card-foot--price-only .v2c-right-col { text-align: right; }

/* Product card kind badge (CBD / MOL) */
.v2c-card { position: relative; }
.v2c-card-kind {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 1.4px;
  padding: 4px 8px;
  border: 1px solid currentColor;
  text-transform: uppercase;
  border-radius: 2px;
  background: rgba(7,10,8,0.75);
  backdrop-filter: blur(4px);
}
.v2c-card[data-cat="cbd"] .v2c-card-kind {
  color: var(--w-cbd, #39ff7a);
  text-shadow: 0 0 6px rgba(57,255,122,0.4);
}
.v2c-card[data-cat="molecules"] .v2c-card-kind {
  color: var(--w-mol, #b14bff);
  text-shadow: 0 0 6px rgba(177,75,255,0.5);
}
.v2c-card[data-cat="molecules"]:hover {
  border-color: var(--w-mol, #b14bff);
  box-shadow: 0 0 24px rgba(177,75,255,0.2);
}
.v2c-card[data-cat="cbd"]:hover {
  border-color: var(--w-cbd, #39ff7a);
  box-shadow: 0 0 24px rgba(57,255,122,0.15);
}

/* Page-scoped tint when browsing a molecules category archive */
body[data-cat="molecules"] .v2c-h1,
body[data-cat="molecules"] .v2c-label,
body.weedn-cat-molecules .v2c-h1 .v2c-dot {
  color: var(--w-mol, #b14bff);
  text-shadow: 0 0 20px rgba(177,75,255,0.3);
}

/* ======================================================================
 * Universe filter toggle (TOUS / CBD / MOLÉCULES)
 * ====================================================================== */
.weedn-kind-filter {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  background: rgba(18, 24, 20, 0.6);
  border: 1px solid #1e2622;
  border-radius: 4px;
  margin-bottom: 32px;
}
.weedn-kind-btn {
  padding: 8px 18px;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 13px;
  letter-spacing: 1.5px;
  color: #8e978f;
  text-decoration: none;
  border-radius: 2px;
  transition: color .2s, background .2s, box-shadow .2s;
}
.weedn-kind-btn:hover { color: #fff; }
.weedn-kind-btn.is-active {
  color: #070a08;
  background: #fff;
}
.weedn-kind-btn--cbd.is-active { background: var(--w-cbd, #39ff7a); box-shadow: 0 0 16px rgba(57,255,122,0.3); }
.weedn-kind-btn--mol.is-active { background: var(--w-mol, #b14bff); box-shadow: 0 0 16px rgba(177,75,255,0.4); }
.weedn-kind-btn--cbd { color: var(--w-cbd, #39ff7a); }
.weedn-kind-btn--mol { color: var(--w-mol, #b14bff); }
