/* GP525 – räumt den unteren Produktkartenbereich sauberer auf und
 * vereinheitlicht den aktiven Merken-Zustand über Archiv-, Home-,
 * Wissens- und Detail-Kontexte hinweg. */

:root {
  --gp-favorite-active-bg:#eef7ea;
  --gp-favorite-active-border:#9fc38f;
  --gp-favorite-active-color:#4f8534;
  --gp-favorite-hover-bg:#f6fbf7;
  --gp-favorite-hover-border:#bfd4c4;
  --gp-favorite-hover-color:#2f5f44;
}

/* Oberes Merken-Herz: aktiv nur leicht einfärben, kein zusätzliches Leuchten. */
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite.is-active,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite[aria-pressed="true"] {
  background:var(--gp-favorite-active-bg)!important;
  border-color:var(--gp-favorite-active-border)!important;
  color:var(--gp-favorite-active-color)!important;
  box-shadow:0 1px 4px rgba(21,46,34,.07)!important;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite:hover,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-top-favorite:focus-visible {
  background:var(--gp-favorite-hover-bg)!important;
  border-color:var(--gp-favorite-hover-border)!important;
  color:var(--gp-favorite-hover-color)!important;
}

/* Derselbe ausgewählte Merken-Zustand überall dort, wo Merken-Buttons sitzen. */
.gp-home--v3 :is(.gp-home-article-card__favorite .gp-library-button,.gp-home-product-card__favorite .gp-library-button),
.gp-knowledge-archive .gp-knowledge-card__actions .gp-library-button--favorite,
.gp-product-archive .gp-product-loop-side-actions .gp-library-button--favorite,
.gp-product-detail .gp-product-detail__primary-actions .gp-library-button--favorite,
body.single-post .gp-knowledge-article .gp-article-actionbar .gp-library-button--favorite {
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.gp-home--v3 :is(.gp-home-article-card__favorite .gp-library-button,.gp-home-product-card__favorite .gp-library-button):is(.is-active,[aria-pressed="true"]),
.gp-knowledge-archive .gp-knowledge-card__actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]),
.gp-product-archive .gp-product-loop-side-actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]),
.gp-product-detail .gp-product-detail__primary-actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]),
body.single-post .gp-knowledge-article .gp-article-actionbar .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]) {
  background:var(--gp-favorite-active-bg)!important;
  border-color:var(--gp-favorite-active-border)!important;
  color:var(--gp-favorite-active-color)!important;
  box-shadow:none!important;
}
.gp-home--v3 :is(.gp-home-article-card__favorite .gp-library-button,.gp-home-product-card__favorite .gp-library-button):is(.is-active,[aria-pressed="true"]) .gp-library-button__icon svg,
.gp-knowledge-archive .gp-knowledge-card__actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]) .gp-library-button__icon svg,
.gp-product-archive .gp-product-loop-side-actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]) .gp-library-button__icon svg,
.gp-product-detail .gp-product-detail__primary-actions .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]) .gp-library-button__icon svg,
body.single-post .gp-knowledge-article .gp-article-actionbar .gp-library-button--favorite:is(.is-active,[aria-pressed="true"]) .gp-library-button__icon svg {
  fill:currentColor;
  stroke:currentColor;
}
.gp-home--v3 :is(.gp-home-article-card__favorite .gp-library-button,.gp-home-product-card__favorite .gp-library-button):hover,
.gp-home--v3 :is(.gp-home-article-card__favorite .gp-library-button,.gp-home-product-card__favorite .gp-library-button):focus-visible,
.gp-knowledge-archive .gp-knowledge-card__actions .gp-library-button--favorite:hover,
.gp-knowledge-archive .gp-knowledge-card__actions .gp-library-button--favorite:focus-visible,
.gp-product-archive .gp-product-loop-side-actions .gp-library-button--favorite:hover,
.gp-product-archive .gp-product-loop-side-actions .gp-library-button--favorite:focus-visible,
.gp-product-detail .gp-product-detail__primary-actions .gp-library-button--favorite:hover,
.gp-product-detail .gp-product-detail__primary-actions .gp-library-button--favorite:focus-visible,
body.single-post .gp-knowledge-article .gp-article-actionbar .gp-library-button--favorite:hover,
body.single-post .gp-knowledge-article .gp-article-actionbar .gp-library-button--favorite:focus-visible {
  background:var(--gp-favorite-hover-bg)!important;
  border-color:var(--gp-favorite-hover-border)!important;
  color:var(--gp-favorite-hover-color)!important;
}

/* Home-Karten bisher zu kräftig – auf dasselbe leichte Prinzip umstellen. */
.gp-home--v3 .gp-home-article-card__favorite .gp-library-button.is-active,
.gp-home--v3 .gp-home-article-card__favorite .gp-library-button[aria-pressed="true"],
.gp-home--v3 .gp-home-product-card__favorite .gp-library-button.is-active,
.gp-home--v3 .gp-home-product-card__favorite .gp-library-button[aria-pressed="true"] {
  border-color:var(--gp-favorite-active-border)!important;
  background:var(--gp-favorite-active-bg)!important;
  color:var(--gp-favorite-active-color)!important;
}

/* Unteren Commerce-Bereich etwas höher und sauberer auf das Kartenraster ziehen. */
.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="4"] .gp-product-loop-main {
  gap:4px;
  padding-bottom:4px;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-description {
  margin-bottom:0;
}
.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="4"] .gp-product-loop-commerce {
  margin-top:-2px;
  gap:4px;
  padding-top:0;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce-metadata,
.gp-product-archive .gp-product-list.is-grid-view[data-gp-columns="4"] .gp-product-loop-commerce-metadata {
  min-height:16px;
  gap:2px 8px;
  margin:0;
}
.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="4"] .gp-product-loop-price {
  gap:0 7px;
  margin-top:-2px;
  min-height:0;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price strong {
  line-height:1.04;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-price-note,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-package,
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-availability {
  line-height:1.15;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-main-actions .gp-product-loop-button {
  min-height:38px;
  padding:7px 10px;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions .gp-library-button {
  min-height:35px;
  padding:6px 9px!important;
  font-size:10.4px!important;
  line-height:1.1;
}
.gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions .gp-library-button [data-gp-label] {
  position:relative;
  top:-.02em;
}

@container gp-products (max-width:980px) {
  .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce {
    margin-top:0;
  }
  .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-side-actions .gp-library-button {
    font-size:10.7px!important;
  }
}
