/* Gesundheitsparadies 554 – kartengerechte Layout-Regeln fuer 1–4 Spalten + Listenansicht.
 * Keine Aenderungen an Produktdaten, Bilderquellen, Merk-/Vergleichslogik oder Filterung.
 * Behebt die festen Text-Clip-Hoehen, unnoetige Bildleeraeume und unruhige Kartenfuesse. */

/* Das Katalograster muss die Hoehe jeder Zeile anhand der wirklichen Inhalte
 * bestimmen. Der Kartenfuss bleibt immer am unteren Kartenende. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-card,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-card{
  grid-template-rows:auto minmax(max-content,1fr) auto!important;
  align-items:stretch;
  min-height:0;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-main{
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  gap:7px!important;
  padding-bottom:9px!important;
}
/* Vorher wurde das Beschreibungsende in 1-, 2- und 3-Spalten-Ansichten
 * abgeschnitten, teilweise sogar mitten in einer sichtbaren Zeile. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-description,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-description{
  display:block!important;
  flex:0 0 auto!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  line-height:1.48!important;
  margin:0!important;
  overflow-wrap:break-word;
}
/* Zwischen ein- und dreispaltigen Layouts keine dritte ungenutzte
 * Titelzeile reservieren – Titel mit drei Zeilen duerfen trotzdem wachsen. */
.gp-product-archive .gp-product-list.is-grid-view:not([data-gp-columns="4"]) .gp-product-loop-title{
  display:block!important;
  -webkit-line-clamp:unset!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  line-height:1.24!important;
}
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="2"] .gp-product-loop-title,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="3"] .gp-product-loop-title{
  min-height:2.48em!important;
}
/* In jeder Grid-Variante darf der Preis/CTA die Beschreibung nie verdecken. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-commerce{
  margin-top:0!important;
  position:relative;
  padding-top:7px!important;
  gap:8px!important;
  justify-content:flex-end!important;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-price{
  margin-top:0!important;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main-actions,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns] .gp-product-loop-main-actions{
  margin-top:4px!important;
  padding-top:0!important;
}
/* Das gute, bereits fein abgestimmte 4er-Kartenbild und die kleine Titelbox
 * bleiben erhalten. Nur der Kartenfuss hat einen kontrollierten Abstand. */
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="4"] .gp-product-loop-main{
  padding-top:6px!important;
  padding-bottom:9px!important;
  gap:5px!important;
}
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="4"] .gp-product-loop-commerce{
  padding-top:3px!important;
  gap:7px!important;
}
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="4"] .gp-product-loop-main-actions{
  margin-top:5px!important;
}
/* Weniger fest reservierter Bildraum bei 2er/3er-Rastern. */

.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="2"]{
  --gp-loop-image-h:228px;
  --gp-loop-gallery-h:62px;
  --gp-loop-thumb-w:50px;
  --gp-loop-thumb-h:46px;
}
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="3"]{
  --gp-loop-image-h:216px;
  --gp-loop-gallery-h:58px;
  --gp-loop-thumb-w:46px;
  --gp-loop-thumb-h:43px;
}








/* Bild- und Vorschauflächen bleiben in 2er/3er-Rastern genauso hoch wie
 * die direkt benachbarten Ein-Bild-Karten. */
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="2"] .gp-product-loop-media,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="3"] .gp-product-loop-media{
  height:calc(var(--gp-loop-image-h) + var(--gp-loop-gallery-h))!important;
}
/* Nicht immer einen Scrollbalken unter den Miniaturbildern anzeigen.
 * Die Galerie bleibt horizontal scrollbar (Touch, Trackpad, Mausrad). */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumbs{
  scrollbar-width:none!important;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumbs::-webkit-scrollbar{
  display:none;
}

/* Listenansicht: Beschreibungen nicht verdecken, Lieferstatus wieder anzeigen;
 * Preis und CTA ohne verwaisten dritten leeren Grid-Bereich ausrichten. */
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-description{
  display:block!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce{
  display:grid!important;
  grid-template-columns:minmax(145px,.75fr) minmax(210px,1.25fr)!important;
  grid-template-areas:"metadata metadata" "price buttons"!important;
  gap:10px 22px!important;
  margin-top:14px!important;
  padding-top:14px!important;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce-metadata{
  grid-area:metadata!important;
  display:flex!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:10px 20px!important;
  min-height:0!important;
  color:#60716c;
  font-size:12px;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-price{
  grid-area:price!important;
  justify-content:center;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-main-actions{
  grid-area:buttons!important;
  margin:0!important;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-media{
  gap:6px!important;
}
.gp-product-archive .gp-product-list.is-list-view .gp-product-loop-gallery-thumbs{
  padding-bottom:2px!important;
  scrollbar-width:none!important;
}
@container gp-products (max-width:700px) {
  .gp-product-archive .gp-product-list.is-list-view .gp-product-loop-commerce{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"metadata" "price" "buttons"!important;
  }
}
