/* GP 253 — Produktverzeichnis.  Shared filter geometry with the Ratgeber archive. */
.gp-product-archive {
  --gp-p253-line:#dce6df;
  --gp-p253-muted:#66776d;
  --gp-p253-gap:clamp(1rem,1.35vw,1.32rem);
}

/* Exactly one scrollbar in the filter; never let the reset button float
   over choices. The 252 sticky rule was the cause of the screenshot defect. */
.gp-product-archive .gp-directory-filter-actions {
  position:static !important;
  inset:auto !important;
  z-index:auto;
  margin:.8rem 0 0;
  padding:.85rem 0 .15rem;
  border-top:1px solid var(--gp-p253-line);
  background:#fff !important;
  box-shadow:none;
}
.gp-product-archive .gp-directory-filter-scrollbody,
.gp-product-archive .gp-directory-option-scroll,
.gp-product-archive .gp-directory-option-scroll.is-scrollable {
  scrollbar-width:thin;
  scrollbar-color:#b9cfc2 transparent;
}
.gp-product-archive .gp-directory-option-scroll.is-scrollable {
  max-height:none !important;
  overflow:visible !important;
  padding:0;
}
.gp-product-archive .gp-product-filter-form { min-width:0; }
.gp-product-archive .gp-directory-filter-title {
  margin:0 0 .77rem;
  color:#24404c;
  font-family:var(--gp-body,inherit);
  font-size:1rem;
  font-weight:820;
  letter-spacing:-.015em;
  line-height:1.35;
}
.gp-product-archive .gp-directory-search-wrap {
  margin:0;
  padding:0 0 1rem;
}
.gp-product-archive .gp-directory-search {
  min-height:3.2rem;
  border-color:#d4e0d8;
  border-radius:.85rem;
  box-shadow:0 1px 3px rgba(39,67,51,.025);
}
.gp-product-archive .gp-directory-search input { min-height:3.1rem; }
.gp-product-archive .gp-directory-filter-group {
  margin:0;
  padding:.42rem 0 .32rem;
  border-top:1px solid var(--gp-p253-line);
}
.gp-product-archive .gp-directory-filter-group summary {
  min-height:2.75rem;
  padding:0 .12rem;
  color:#314d40;
  font-size:.875rem;
  font-weight:800;
}
.gp-product-archive .gp-directory-filter-options { padding:.12rem 0 .42rem; }
.gp-product-archive .gp-directory-option-scroll { gap:.125rem; }
.gp-product-archive .gp-directory-check {
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  column-gap:.65rem;
  align-items:center;
  min-height:2.75rem;
  margin:0;
  padding:.42rem .48rem;
  border:0;
  border-radius:.66rem;
  background:transparent !important;
  color:#4a5f57;
  font-size:.825rem;
  line-height:1.4;
}
.gp-product-archive .gp-directory-check:hover { background:#f5f9f6 !important; }
.gp-product-archive .gp-directory-check-box {
  width:20px;
  height:20px;
  margin:0;
  border:1px solid #c6d3ca;
  border-radius:.35rem;
  background:#fff;
}
.gp-product-archive .gp-directory-check:has(input:checked) { background:transparent !important; }
.gp-product-archive .gp-directory-check input:checked + .gp-directory-check-box {
  border-color:#66997c;
  background:#e7f2eb;
}
.gp-product-archive .gp-directory-check-count {
  align-self:center;
  justify-self:end;
  margin-left:.25rem;
  color:#66796e;
  font-size:.74rem;
  font-variant-numeric:tabular-nums;
}
.gp-product-archive .gp-directory-check-name { min-width:0; overflow-wrap:normal; hyphens:auto; }
.gp-product-archive .gp-directory-reset {
  width:100%;
  min-height:2.8rem;
  border:1px solid var(--gp-p253-line);
  border-radius:.8rem;
  background:#fff;
  color:#286050;
  font-size:.795rem;
  font-weight:800;
}
.gp-product-archive .gp-directory-reset:hover,
.gp-product-archive .gp-directory-reset:focus-visible { background:#f4faf6; border-color:#b0c9b7; }

/* Desktop: full-height contained filter with ONE scrollbar on the outside. */
@media (min-width:1025px) {
  .gp-product-archive .gp-directory-sidebar {
    position:sticky;
    top:9rem;
    display:block;
    max-height:calc(100dvh - 10rem);
    min-height:0;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:1.02rem;
    border:1px solid var(--gp-p253-line);
    border-radius:1.2rem;
    background:#fff;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    box-shadow:none;
  }
  body.admin-bar .gp-product-archive .gp-directory-sidebar {
    top:11rem;
    max-height:calc(100dvh - 12rem);
  }
  .gp-product-archive .gp-product-filter-form,
  .gp-product-archive .gp-directory-filter-scrollbody {
    display:block;
    height:auto;
    min-height:0;
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
  }
}
/* Small screens: whole drawer body scrolls, not nested option lists. */
@media (max-width:1024px) {
  .gp-product-archive .gp-directory-sidebar {
    padding:0;
    overflow:hidden;
    max-height:none;
    border-radius:0;
  }
  .gp-product-archive .gp-directory-sidebar-head { padding:.45rem 1rem; }
  .gp-product-archive .gp-product-filter-form { height:calc(100dvh - 3.5rem); overflow:hidden; }
  .gp-product-archive .gp-directory-filter-scrollbody,
  body.admin-bar .gp-product-archive .gp-directory-filter-scrollbody {
    display:block;
    height:100%;
    max-height:none;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:1rem 1.05rem 1.5rem !important;
    overscroll-behavior:contain;
  }
}

/* Product results: 3 clear zones with consistent alignments. */
.gp-product-archive .gp-product-list.is-list-view { gap:1rem; }
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-card {
  display:grid;
  grid-template-columns:minmax(9.5rem,21%) minmax(0,1fr) minmax(15.5rem,24%);
  grid-template-areas:"image main commerce";
  gap:clamp(.9rem,1.35vw,1.4rem);
  align-items:stretch;
  padding:1.05rem;
  border:1px solid #dfe8e2;
  border-radius:1.18rem;
  background:#fff;
  box-shadow:0 .15rem .85rem rgba(32,69,47,.035);
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image {
  min-height:15.5rem;
  height:100%;
  padding:.9rem;
  border:1px solid #e7ede9;
  border-radius:.95rem;
  background:#f7faf8;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image img {
  width:100%;height:100%;max-height:15rem;object-fit:contain;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main {
  display:flex;flex-direction:column;gap:.56rem;min-width:0;padding:.12rem 0 .15rem;
}
.gp-product-archive .gp-product-loop-chip {
  min-height:2rem;
  padding:.31rem .65rem;
  border:1px solid #d9e7df;
  border-radius:999px;
  background:#eef6f2;
  color:#306356;
  font-size:.745rem;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-title {
  margin:.02rem 0 .05rem;
  font-size:clamp(1.28rem,1.1rem + .5vw,1.67rem);
  line-height:1.2;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-description {
  margin:0;
  font-size:.87rem;
  line-height:1.55;
  -webkit-line-clamp:2;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts {
  margin:.25rem 0 0;
  gap:.5rem;
  border:0;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts>div {
  display:flex;flex-direction:column;justify-content:center;min-width:0;
  padding:.62rem .67rem;
  border:1px solid #e7eee9;
  border-radius:.72rem;
  background:#f8fbf9;
}
.gp-product-archive .gp-product-loop-facts dt { font-size:.675rem;line-height:1.28;letter-spacing:.035em; }
.gp-product-archive .gp-product-loop-facts dd { font-size:.83rem;line-height:1.36; }
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-footline {
  margin-top:auto;
  justify-content:flex-start;
  padding-top:.52rem;
  color:var(--gp-p253-muted);
  font-size:.74rem;
}

.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce {
  display:flex;flex-direction:column;gap:.7rem;min-width:0;
  padding:.14rem 0 .12rem 1.05rem;
  border:0;
  border-left:1px solid #e5ece7;
  background:transparent;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price {
  display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;
  min-width:0;padding:.05rem 0 .65rem;
  border-bottom:1px solid #e9efeb;
  text-align:left;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price strong {
  color:#226675;
  font-size:clamp(1.24rem,1.05rem + .35vw,1.5rem);
  font-weight:880;
  letter-spacing:-.025em;
  line-height:1.24;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price small { font-size:.7rem; }
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions {
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin:0;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-button {
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:2.7rem;
  padding:.55rem .75rem;
  border-radius:.76rem;
  font-size:.805rem;
  line-height:1.28;
  white-space:normal;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-button--provider {
  order:-1;
  background:var(--gp-action-green);
  border-color:var(--gp-action-green);
  color:var(--gp-action-on);
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-button--detail {
  background:#fff;
  border-color:#cbded5;
  color:#275e56;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-side-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
  margin:0;
  padding:.05rem 0;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-side-actions .gp-library-button {
  min-height:2.55rem;
  padding:.4rem .35rem;
  border-radius:.7rem;
  font-size:.755rem!important;
  gap:.3rem;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-verification {
  display:block;
  margin:auto 0 0;
  padding:.35rem 0 0;
  border:0;
  border-top:1px solid #edf1ed;
  border-radius:0;
  background:transparent;
  color:var(--gp-p253-muted);
  font-size:.7rem;
  line-height:1.4;
  text-align:left;
}

/* Grid cards remain self-contained and evenly aligned. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-verification {
  margin:0;
  border:0;
  background:transparent;
  font-size:.71rem;
  color:var(--gp-p253-muted);
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main { gap:.53rem; }
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-facts>div { border-color:#e8eee9; }

/* No squeezed columns on a medium-width result surface. */
@media (max-width:1320px) and (min-width:769px) {
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-card {
    grid-template-columns:minmax(8.8rem,25%) minmax(0,1fr);
    grid-template-areas:"image main" "commerce commerce";
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image { min-height:12rem; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce {
    display:grid;
    grid-template-columns:minmax(11rem,.8fr) minmax(0,1.1fr) minmax(12rem,.9fr);
    grid-template-areas:"price buttons util" "verify verify verify";
    gap:.8rem;
    padding:.9rem 0 0;
    border:0;border-top:1px solid #e5ece7;
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price { grid-area:price;justify-content:center;border:0;padding:0; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions { grid-area:buttons; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-side-actions { grid-area:util;align-content:center; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-verification {
    grid-area:verify;padding:.5rem 0 0;margin:0;
  }
}
@media (max-width:768px) {
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-card {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"image" "main" "commerce";
    gap:0;
    padding:0;
    overflow:hidden;
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-image {
    min-height:10.5rem;
    height:12.5rem;
    border:0;
    border-bottom:1px solid #e5ece7;
    border-radius:0;
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main { padding:.95rem; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce {
    display:flex;flex-direction:column;
    gap:.65rem;
    padding:.95rem;
    border:0;border-top:1px solid #e6ece7;
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price { border-bottom:0; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-button--provider { order:0; }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-verification { margin:0; }
}
@media (max-width:359px) {
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-facts { grid-template-columns:minmax(0,1fr); }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions { grid-template-columns:minmax(0,1fr); }
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-button--provider { order:-1; }
}
