/* ==========================================================================
   Harmony Distribution — Shop archive 2026
   ========================================================================== */

/* Reset WC default page padding for shop */
body.woocommerce.woocommerce-shop main,
body.woocommerce.tax-product_cat main,
body.woocommerce-page main { padding-top: 0; }

body.woocommerce .entry-header,
body.woocommerce .woocommerce-products-header,
body.woocommerce .woocommerce-breadcrumb,
body.woocommerce .woocommerce-result-count,
body.woocommerce .woocommerce-ordering,
body.woocommerce ul.products li.product-category {
  display: none !important;
}

/* ===== HERO ===== */
.hd-shop-hero {
  background: var(--hd-deep, #0d2c1c);
  color: #fff;
  padding: 4rem 0 3rem;
  position: relative;
  overflow: hidden;
}
.hd-shop-hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 90% 10%, rgba(214,242,91,.10), transparent 50%),
    linear-gradient(135deg, #0d2c1c 0%, #07180e 100%);
  z-index: 0;
}
.hd-shop-hero-inner { position: relative; z-index: 1; max-width: 1024px; }
.hd-shop-eyebrow {
  display: inline-block;
  font-size: 12px; letter-spacing: .15em; text-transform: uppercase;
  color: #d6f25b; font-weight: 600;
  border: 1px solid rgba(214,242,91,.35);
  padding: .35rem .9rem; border-radius: 999px;
  margin-bottom: 1.25rem;
}
.hd-shop-title {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 900; line-height: 1.05;
  margin: 0 0 1rem; color: #fff;
  letter-spacing: -0.02em;
}
.hd-shop-lead {
  font-size: 1.05rem; line-height: 1.55;
  color: #b8c4be; max-width: 720px;
  margin: 0 0 2rem;
}
.hd-shop-lead strong { color: #d6f25b; font-weight: 800; }

/* ===== Filters ===== */
.hd-shop-filters {
  display: flex; flex-wrap: wrap; gap: .5rem;
}
.hd-filter {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .6rem 1.1rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 14px; font-weight: 600;
  transition: background .15s, border-color .15s, color .15s;
}
.hd-filter:hover {
  background: rgba(214,242,91,.10);
  border-color: rgba(214,242,91,.50);
  color: #d6f25b;
}
.hd-filter span {
  font-size: 12px;
  background: rgba(255,255,255,.1);
  padding: .15rem .5rem;
  border-radius: 999px;
  font-weight: 700;
}
.hd-filter.is-active {
  background: #d6f25b;
  border-color: #d6f25b;
  color: #0d2c1c;
}
.hd-filter.is-active span {
  background: rgba(13,44,28,.15);
  color: #0d2c1c;
}

/* ===== Grid ===== */
.hd-shop-grid-wrap { padding: 4rem 0; background: #fff; }
.hd-shop-grid {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}
.hd-shop-card {
  background: #fff;
  border: 1px solid #e5e9e7;
  border-radius: 14px;
  overflow: hidden;
  transition: transform .2s, border-color .2s, box-shadow .2s;
  list-style: none;
}
.hd-shop-card:hover {
  border-color: #0d2c1c;
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(13,44,28,.10);
}
.hd-shop-card-link {
  display: flex; flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: #0d2c1c;
}
.hd-shop-card-img {
  position: relative;
  aspect-ratio: 1/1;
  background: linear-gradient(135deg, #f8faf9 0%, #ffffff 100%);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.hd-shop-card-img img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 1.25rem;
  transition: transform .3s;
}
.hd-shop-card:hover .hd-shop-card-img img { transform: scale(1.04); }

.hd-shop-card-size {
  position: absolute; top: .75rem; left: .75rem;
  background: #0d2c1c;
  color: #d6f25b;
  font-size: 12px; font-weight: 800;
  padding: .35rem .65rem;
  border-radius: 6px;
  letter-spacing: .03em;
}
.hd-shop-card-gar {
  position: absolute; top: .75rem; right: .75rem;
  background: #d6f25b;
  color: #0d2c1c;
  font-size: 11px; font-weight: 800;
  padding: .35rem .65rem;
  border-radius: 6px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.hd-shop-card-body {
  display: flex; flex-direction: column; gap: .65rem;
  padding: 1.25rem;
  flex-grow: 1;
}
.hd-shop-card-body h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0d2c1c;
  line-height: 1.35;
  min-height: 2.7em;
}
.hd-shop-card-desc {
  margin: 0;
  font-size: 13px;
  color: #6a7572;
  line-height: 1.5;
  min-height: 3em;
}
.hd-shop-card-meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid #f0f3f1;
}
.hd-shop-card-price {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0d2c1c;
}
.hd-shop-card-price .woocommerce-Price-amount,
.hd-shop-card-price bdi { color: #0d2c1c !important; }
.hd-shop-card-price small.woocommerce-price-suffix,
.hd-shop-card-price small.price-ht { font-size: 11px; color: #5a6562; font-weight: 600; }
.hd-shop-card-cta {
  font-size: 13px; font-weight: 700;
  color: #2c6b48;
  letter-spacing: .02em;
  white-space: nowrap;
}
.hd-shop-card:hover .hd-shop-card-cta { color: #1e5a3d; }

.hd-shop-empty {
  text-align: center;
  padding: 4rem 1rem;
  color: #6a7572;
  font-size: 1.05rem;
}

/* ===== Pitch (16 références) ===== */
.hd-shop-pitch {
  background: var(--hd-deep, #0d2c1c);
  color: #fff;
  padding: 5rem 0;
}
.hd-shop-pitch-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
@media (max-width: 900px) { .hd-shop-pitch-grid { grid-template-columns: 1fr; gap: 2.5rem; } }
.hd-shop-pitch h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 900; line-height: 1.15;
  color: #fff;
  margin: 0 0 1rem;
}
.hd-shop-pitch h2 strong { color: #d6f25b; }
.hd-shop-pitch p {
  color: #b8c4be;
  line-height: 1.6;
  margin: 0 0 2rem;
}
.hd-shop-pitch-bullets {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem;
}
@media (max-width: 600px) { .hd-shop-pitch-bullets { grid-template-columns: 1fr; } }
.hd-shop-pitch-bullets li {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: flex; flex-direction: column; gap: .15rem;
}
.hd-shop-pitch-bullets strong {
  font-size: 1.5rem; color: #d6f25b; font-weight: 800; line-height: 1;
}
.hd-shop-pitch-bullets span {
  font-size: 13px; color: #b8c4be;
}
