/* Gesundheitsparadies 516 — reference-led compact, trustworthy product cards.
   Applied only to catalog GRID; old LIST view and product details stay functional.
   All stock/delivery assertions are generated server- and client-side from evidence. */
.gp-product-archive .gp-product-list.is-grid-view {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.15vw,18px);
  align-items:stretch;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-card {
  position:relative;
  overflow:hidden;
  min-width:0;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:0;
  border:1px solid #e0e9e4;
  border-radius:15px;
  background:#fff;
  box-shadow:0 2px 12px rgba(33,62,49,.035);
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media {
  gap:0;
  min-width:0;
  background:#fff;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-image {
  height:clamp(180px,15vw,220px);
  min-height:0;
  max-height:none;
  margin:0;
  border:0;
  border-radius:0;
  background:linear-gradient(155deg,#fdfefd,#f7fbf8);
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-image img {
  display:block;
  position:absolute;
  inset:0;
  width:100%;height:100%;max-height:none;
  padding:clamp(22px,2.2vw,36px) 20px 7px;
  object-fit:contain;
  object-position:center center;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chips {
  position:absolute;
  z-index:3;
  inset:11px auto auto 11px;
  display:flex;
  max-width:calc(100% - 24px);
  gap:0;
  min-height:0;
  margin:0;
  overflow:visible;
  pointer-events:none;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chip {
  display:inline-flex;
  width:auto;
  min-width:0;
  max-width:100%;
  min-height:27px;
  padding:5px 10px;
  border:1px solid #dae9e1;
  border-radius:999px;
  background:rgba(239,247,243,.97);
  color:#245d50;
  font-size:11px;
  font-weight:780;
  line-height:1.28;
  white-space:normal;
  pointer-events:auto;
}
/* A single meaningful category is enough for a narrow three-column card. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-chip:not(:first-child){display:none}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-test-badge {
  top:44px;left:11px;
  max-width:max-content;
  padding:3px 7px;
  font-size:10px;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumbs {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:62px;
  gap:6px;
  padding:6px 12px 8px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#fff;
  scrollbar-width:thin;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumb {
  flex:0 0 52px;
  width:52px;
  height:48px;
  aspect-ratio:auto;
  border-radius:8px;
  padding:3px;
  border:1px solid #dfe8e2;
  background:#fff;
  box-shadow:none;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumb.is-active {
  border-color:#4e996b;
  box-shadow:inset 0 0 0 1px #4e996b;
  background:#f6fbf7;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumb img {
  position:static;
  width:100%;height:100%;max-height:100%;
  padding:0;
  object-fit:contain;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-fallback {
  display:flex;align-items:center;justify-content:center;
  min-height:43px;
  margin:7px 12px 8px;
  padding:3px 9px;
  width:fit-content;
  max-width:calc(100% - 24px);
  border:1px solid #edf1ed;
  border-radius:100px;
  background:#f7faf8;
  color:#63756c;
  font-size:10px;
  line-height:1.3;
  font-weight:600;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:4px 14px 8px;
  min-height:0;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:0;
  min-height:0;
  max-height:3.78em;
  font-family:var(--gp-body,Arial,sans-serif);
  font-size:clamp(15px,1.18vw,18px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.26;
  text-wrap:pretty;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-description {
  min-height:0;
  max-height:2.8em;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:12px;
  line-height:1.4;
  color:#64766e;
  margin:0;
}
/* Product specs are available on the details page; keep list mode specs intact. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-facts,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-footline {display:none}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce {
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:0;
  padding:4px 14px 12px;
  border:0;
  background:#fff;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata {
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:3px 7px;
  min-height:22px;
  font-size:10.5px;
  color:#5c7166;
  line-height:1.4;
}
.gp-product-archive .gp-product-loop-stock-indicator {
  display:inline-flex;align-items:center;gap:5px;
  font-size:inherit;min-width:0;
}
.gp-product-archive .gp-product-loop-stock-indicator i {
  width:8px;height:8px;flex:none;
  border-radius:50%;
  background:#a4b1aa;
}
.gp-product-archive .gp-product-loop-stock-indicator.is-stock-yes i {background:#20b85a}
.gp-product-archive .gp-product-loop-stock-indicator.is-stock-no i {background:#bf7d64}
.gp-product-archive .gp-product-loop-delivery {white-space:normal;overflow-wrap:break-word}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price {
  display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;
  gap:2px 7px;
  min-height:0;
  padding:0;
  margin:0;
  text-align:left;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price strong {
  color:#154a63;
  font-size:clamp(19px,1.43vw,22px);
  line-height:1.15;
  font-weight:900;
  white-space:nowrap;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-package {
  color:#64766e;
  font-size:10px;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price .gp-product-loop-availability {display:none}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price-note {
  flex:0 0 100%;
  font-size:10px;
  text-align:left;
  color:#667870;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main-actions {
  display:block;
  margin-top:auto;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main-actions .gp-product-loop-button {
  display:flex;justify-content:center;align-items:center;
  width:100%;min-height:37px;
  padding:7px 9px;
  border-radius:8px;
  font-size:12px;
  font-weight:800;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-button--provider {
  background:linear-gradient(180deg,#64a548 0%,#4b8c34 100%);
  border-color:#59983f;
  color:#fff;
  box-shadow:none;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-button--provider:hover {background:linear-gradient(180deg,#599a3f,#417a30);color:#fff}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:0;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions .gp-library-button {
  display:flex;align-items:center;justify-content:center;
  gap:6px;
  width:100%!important; min-width:0;
  min-height:34px;
  margin:0;padding:6px 3px;
  border:1px solid #dfe8e3!important;
  border-radius:8px;
  background:#fff!important;
  box-shadow:none!important;
  color:#244e46!important;
  font-size:11px;
  font-weight:720;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions .gp-library-button svg {width:15px;height:15px}
.gp-product-archive .gp-product-list.is-grid-view .gp-card-verified-coupon {
  position:absolute;top:43px;left:11px;z-index:2;
  max-width:calc(100% - 22px);
  padding:3px 8px;
  border:1px solid #c1d6bf;
  border-radius:99px;
  background:#f6fbf5;
  font-size:10px;
  line-height:1.4;
  color:#286249;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-image-placeholder {
  display:grid;
  place-content:center;
  gap:7px;
  min-height:100%;
  padding:42px 20px 20px;
  text-align:center;
  background:radial-gradient(ellipse at 50% 120%,#dbeee3 1%,transparent 65%),linear-gradient(#f8fbf9,#eff6f2);
  color:#4d6e62;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-image-placeholder:before {
  content:'❧';
  font-family:Georgia,serif;
  font-size:48px;
  line-height:1;
  color:#7bab91;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-image-placeholder strong {
  font-size:12px;
  line-height:1.35;
  font-weight:720;
  color:#486e5d;
}
/* The index uses a main-column CSS container. Breakpoints follow available
   card width rather than raw viewport width (important with the filter sidebar). */
@container (max-width:980px) {
  .gp-product-archive .gp-product-list.is-grid-view {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:590px) {
  .gp-product-archive .gp-product-list.is-grid-view {grid-template-columns:1fr}
  .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-image {height:225px}
}
@media (max-width:650px) {
  .gp-product-archive .gp-product-list.is-grid-view {grid-template-columns:1fr}
  .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main {padding-inline:16px}
  .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce {padding-inline:16px}
}
/* Single product: stock is seen before the recorded date; the date belongs
   near the end of the fact list, never suggesting a fresh check after an error. */
.gp-product-detail .gp-product-detail__hero-offer-facts > div:last-child {background:#f7faf7}

.gp-product-archive .gp-product-list.is-grid-view .gp-product-image-placeholder {width:100%;height:100%;}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite {
  position:absolute;z-index:4;top:11px;right:11px;
  display:grid;place-items:center;
  width:35px!important;height:35px;min-width:35px;min-height:35px;
  padding:5px!important;border:1px solid #dce5de!important;border-radius:50%!important;
  background:#fff!important;box-shadow:0 1px 7px rgba(21,46,34,.1)!important;
  color:#345d4b!important;cursor:pointer;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite .gp-library-button__icon,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite svg {width:19px;height:19px}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite [data-gp-label] {display:none}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite[aria-pressed=true] {
  background:#eaf5ed!important;color:#28694d!important;border-color:#8eb19b!important;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite:focus-visible {outline:3px solid #72af88;outline-offset:2px}

/* The list-view toggle preserves its original information layout. */
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce-metadata,
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-gallery-fallback,
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-top-favorite {display:none}
