/* products-Modul — alle Farben aus globalen Theme-Variablen */
.products-page { padding: 3rem 0 4rem; }
.products-page__head { text-align:center; margin-bottom: 2rem; }
.products-page__head h1 { margin: 0 0 .5rem; color: var(--color-primary); }
.products-page__lead { color: var(--color-text); opacity: .8; }
.products-page__empty { text-align:center; padding: 2rem; color: var(--color-text); opacity: .6; }

/* Kategorie-Filter */
.products-page__filters {
  display:flex; flex-wrap:wrap; gap:.5rem;
  justify-content:center; margin-bottom: 2rem;
}
.products-chip {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.4rem .9rem; border-radius:999px;
  background: var(--color-secondary, #f3f4f6);
  color: var(--color-text); text-decoration:none;
  font-size:.9rem; font-weight:500;
  border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  transition: background .15s, color .15s;
}
.products-chip:hover { background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
.products-chip.is-active {
  background: var(--color-primary); color:#fff; border-color: var(--color-primary);
}
.products-chip__count {
  font-size:.75rem; padding: 0 .4rem; border-radius:999px;
  background: rgba(255,255,255,.25);
}
.products-chip:not(.is-active) .products-chip__count { background: rgba(0,0,0,.08); }

/* Grid 3-spaltig wie Amazon */
.products-grid {
  list-style:none; padding:0; margin:0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 900px) { .products-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
@media (max-width: 540px) { .products-grid { grid-template-columns: 1fr; } }

.product-card {
  background: var(--color-background, #fff);
  border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  border-radius: .6rem;
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.product-card:hover {
  box-shadow: 0 8px 22px rgba(0,0,0,.1);
  border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
}
.product-card__link {
  display:flex; flex-direction:column;
  text-decoration:none; color:inherit; height:100%;
}
.product-card__media {
  position:relative;
  aspect-ratio: 1 / 1;
  background: color-mix(in srgb, var(--color-text) 4%, transparent);
  overflow: hidden;
}
.product-card__media img { width:100%; height:100%; object-fit: cover; display:block; }
.product-card__no-image {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size: 3rem; opacity: .3;
}
.product-card__badge {
  position:absolute; top:.6rem;
  padding:.2rem .55rem; border-radius:.3rem;
  font-size:.75rem; font-weight:700;
  letter-spacing:.02em;
}
.product-card__badge--featured {
  left:.6rem;
  background: var(--color-accent, #ff9a3c); color:#fff;
}
.product-card__badge--soldout {
  right:.6rem; background:#dc2626; color:#fff;
}
.product-card__badge--limited {
  right:.6rem; background:#f59e0b; color:#fff;
}
.product-card__body {
  padding: 1rem 1.1rem 1.1rem;
  display:flex; flex-direction:column; gap:.4rem;
  flex:1;
}
.product-card__category {
  font-size: .72rem; text-transform:uppercase; letter-spacing:.05em;
  color: var(--color-primary); font-weight: 700;
}
.product-card__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
  color: var(--color-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card__excerpt {
  margin: 0; font-size: .88rem; opacity:.8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card__footer {
  margin-top: auto;
  display:flex; justify-content:space-between; align-items:center;
  padding-top: .5rem;
}
.product-card__more {
  color: var(--color-primary); font-weight:600; font-size:.88rem;
}

/* Preis */
.product-price {
  display:inline-flex; align-items:baseline; gap:.3rem;
  font-weight: 700;
  color: var(--color-text);
}
.product-price__label {
  font-size:.75rem; font-weight:500; opacity:.7;
  text-transform: uppercase; letter-spacing: .03em;
}
.product-price__value { font-size: 1.15rem; }
.product-price--detailed .product-price__value { font-size: 1.7rem; color: var(--color-primary); }
.product-price--ask { font-size:.95rem; opacity:.8; font-weight:500; }

/* ----------- Detail-Seite ----------- */
.product-detail { padding: 2.5rem 0 4rem; }
.product-detail__back { color: var(--color-primary); text-decoration:none; font-weight:600; }
.product-detail__back:hover { text-decoration: underline; }

.product-detail__layout {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  margin: 1.5rem 0 2.5rem;
}
@media (max-width: 800px) { .product-detail__layout { grid-template-columns: 1fr; gap: 1.5rem; } }

.product-detail__media {
  background: color-mix(in srgb, var(--color-text) 4%, transparent);
  border-radius: .6rem;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.product-detail__media img,
.product-detail__img {
  width:100%; height:100%; object-fit: cover; display:block;
  cursor: zoom-in;
}
.product-detail__no-image {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  font-size: 5rem; opacity: .3;
}

.product-detail__info { display:flex; flex-direction:column; gap: .8rem; }
.product-detail__category {
  font-size:.78rem; text-transform:uppercase; letter-spacing:.05em;
  color: var(--color-primary); font-weight:700;
}
.product-detail__title {
  margin: 0; color: var(--color-text);
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.2;
}
.product-detail__article { margin: 0; font-size:.85rem; opacity:.65; }
.product-detail__price-block {
  display:flex; align-items:center; gap: 1rem; flex-wrap:wrap;
  padding: .8rem 0;
  border-top: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
}
.product-detail__stock {
  font-size:.85rem; padding:.2rem .6rem; border-radius:.3rem; font-weight: 600;
}
.product-detail__stock--ok       { color:#065f46; background:#d1fae5; }
.product-detail__stock--limited  { color:#92400e; background:#fef3c7; }
.product-detail__stock--soldout  { color:#991b1b; background:#fee2e2; }
.product-detail__stock--request  { color:#3730a3; background:#e0e7ff; }
.product-detail__excerpt { font-size: 1rem; line-height: 1.55; opacity:.9; margin: 0; }
.product-detail__cta { display:flex; flex-direction:column; gap:.5rem; margin-top:.5rem; }
.product-detail__cta small { font-size:.78rem; }

.product-detail__tags {
  list-style:none; padding:0; margin: .5rem 0 0;
  display:flex; flex-wrap:wrap; gap:.4rem; font-size:.8rem;
}
.product-detail__tags li {
  background: color-mix(in srgb, var(--color-text) 8%, transparent);
  padding: .2rem .55rem; border-radius:.3rem;
}

.product-detail__description {
  margin-top: 2rem;
  font-size: 1rem; line-height: 1.65;
}
.product-detail__description h2 {
  margin: 0 0 .8rem; font-size: 1.4rem; color: var(--color-primary);
  border-bottom: 2px solid color-mix(in srgb, var(--color-primary) 30%, transparent);
  padding-bottom: .3rem;
}
.product-detail__description img { max-width:100%; height:auto; border-radius:.35rem; }

/* CTA-Knopf */
.product-cta-btn {
  display:inline-block;
  background: var(--color-primary);
  color:#fff;
  padding: .8rem 1.6rem;
  border-radius:.45rem;
  text-decoration:none;
  font-weight: 700; font-size: 1rem;
  border: 0;
  cursor: pointer;
  text-align:center;
  transition: background .15s, transform .1s, box-shadow .15s;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
.product-cta-btn:hover {
  background: var(--color-primary-dark, color-mix(in srgb, var(--color-primary) 85%, black));
  color: #fff;
  text-decoration:none;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
}
.product-cta-btn:active { transform: translateY(1px); }

/* Anfrage-Form */
.product-inquiry {
  margin-top: 3rem;
  padding: 1.8rem 2rem;
  background: color-mix(in srgb, var(--color-text) 3%, transparent);
  border-radius: .7rem;
  scroll-margin-top: 2rem;
}
.product-inquiry h2 {
  margin: 0 0 1.2rem;
  color: var(--color-primary);
  font-size: 1.4rem;
}
.product-inquiry__success {
  background:#d1fae5; color:#065f46;
  padding:.8rem 1rem; border-radius:.4rem; margin-bottom:1rem;
  font-weight: 600;
}
.product-inquiry__form { display:flex; flex-direction:column; gap: 1rem; }
.product-inquiry__row { display:grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .product-inquiry__row { grid-template-columns: 1fr; } }
.product-inquiry__form label { display:flex; flex-direction:column; gap:.3rem; font-size:.92rem; }
.product-inquiry__form label > span { font-weight: 600; font-size:.9rem; }
.product-inquiry__form label > span em { color:#dc2626; }
.product-inquiry__form input,
.product-inquiry__form textarea {
  padding: .65rem .8rem;
  border: 1px solid color-mix(in srgb, var(--color-text) 18%, transparent);
  border-radius: .4rem;
  font: inherit;
  background: #fff;
}
.product-inquiry__form input:focus,
.product-inquiry__form textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 50%, transparent);
  outline-offset: 1px;
  border-color: var(--color-primary);
}
.product-inquiry__check {
  flex-direction: row !important; align-items: flex-start; gap: .5rem;
  font-size:.88rem;
}
.product-inquiry__check input { margin-top:.2rem; }
.product-inquiry__actions { display:flex; gap:.5rem; }
.product-inquiry__form .err { color: #dc2626; font-size: .82rem; }

/* ----------- Block (Hooks/Shortcode) ----------- */
.products-block { padding: 2rem 0; }
.products-block.is-compact { background: var(--color-secondary); padding: 1.5rem 0; }
.products-block__head {
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom: 1.5rem; flex-wrap:wrap; gap:.5rem;
}
.products-block__head h2 { margin: 0; color: var(--color-primary); }
.products-block__all { color: var(--color-primary); text-decoration:none; font-weight:600; }
.products-block__grid {
  list-style:none; padding:0; margin:0;
  display:grid; gap:1rem;
  grid-template-columns: repeat(var(--products-cols, 3), 1fr);
}
@media (max-width: 800px) { .products-block__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .products-block__grid { grid-template-columns: 1fr; } }

.product-mini {
  background: var(--color-background, #fff);
  border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  border-radius: .5rem; overflow:hidden;
}
.product-mini > a {
  display:flex; flex-direction:column;
  text-decoration:none; color:inherit; height:100%;
}
.product-mini__media { aspect-ratio: 4 / 3; overflow:hidden; background: color-mix(in srgb, var(--color-text) 4%, transparent); }
.product-mini__media img { width:100%; height:100%; object-fit:cover; }
.product-mini__body { padding: .7rem .9rem; display:flex; flex-direction:column; gap:.3rem; flex:1; }
.product-mini h3 { margin:0; font-size:.95rem; line-height:1.3; }
