/* GP872: Two calm lines throughout grid/list layouts. The complete text opens
   inside the same card without changing the grid row height or card ordering. */
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap {
 position:relative; min-width:0; max-width:100%; min-height:3em; padding:0; isolation:isolate;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap .gp-product-loop-description {
 display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important;
 line-clamp:2; line-height:1.5!important; max-height:3em!important; min-height:3em!important;
 padding:0 2rem 0 0!important; margin:0!important;
 overflow:hidden!important; white-space:normal!important; overflow-wrap:break-word; word-break:normal;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card.has-inline-description {
 position:relative; z-index:40; overflow:visible!important; isolation:isolate;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card.has-inline-description .gp-product-loop-main {
 position:relative; z-index:5; overflow:visible!important;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card.has-inline-description .gp-product-loop-commerce {
 position:relative; z-index:1;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap.is-expanded {
 z-index:20; overflow:visible!important;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap.is-expanded .gp-product-loop-description {
 position:absolute!important; inset:0 0 auto 0; z-index:25;
 display:block!important; -webkit-line-clamp:unset!important; line-clamp:unset!important;
 width:100%; box-sizing:border-box; height:auto!important; max-height:min(15rem,48dvh)!important;
 min-height:3em!important; padding:.6rem 2.2rem .7rem .7rem!important;
 overflow:auto!important; overscroll-behavior:contain;
 border:1px solid #c3d8cc; border-radius:12px;
 background:#fff; box-shadow:0 10px 25px rgba(20,61,41,.13);
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-more {
 position:absolute; right:0; bottom:0; z-index:35;
 width:28px; height:28px; border:0; border-radius:0;
 color:#276f7b; background:transparent!important;box-shadow:none!important;
 font:750 21px/1 system-ui,sans-serif; letter-spacing:0;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap.is-expanded .gp-card-description-more {
 bottom:auto; top:5px; right:5px; background:transparent!important; color:#23685a;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-more:hover {background:transparent!important;color:#164d55;text-decoration:underline;}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-more[hidden] {
 display:none!important;
}
/* With scripting switched off, the complete verified copy stays visible.
   No inert ellipsis button or artificially cut text is left behind. */
@media (scripting:none) {
 body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap {min-height:0!important;}
 body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-wrap .gp-product-loop-description {
  display:block!important; -webkit-line-clamp:unset!important; line-clamp:unset!important;
  max-height:none!important;min-height:0!important;padding-right:0!important;overflow:visible!important;
 }
 body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-card-description-more{display:none!important;}
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-product-loop-commerce-metadata {
 display:flex!important; flex-wrap:wrap!important; align-items:center; justify-content:space-between; gap:.35rem .75rem;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-product-loop-stock-indicator,
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-product-loop-delivery {
 flex:0 0 auto!important; width:auto!important; max-width:100%; white-space:nowrap!important; font-size:.8rem!important;
}
body #gp-main .gp-product-archive .gp-product-list .gp-product-loop-card .gp-product-loop-stock-indicator i { flex-shrink:0; }

/* One media geometry for all catalog products. The thumbnail rail is reserved
   in multi-column grids so titles start at the same baseline. */
body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media {
 display:grid!important; grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:var(--gp-loop-image-h,216px) var(--gp-loop-gallery-h,58px)!important;
 height:calc(var(--gp-loop-image-h,216px) + var(--gp-loop-gallery-h,58px))!important;
 min-height:0!important; gap:0!important; padding:0!important; overflow:hidden;
 background:#fff!important;
}
body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media > .gp-product-loop-image {
 grid-area:1 / 1 / 2 / 2!important; display:grid!important;place-items:center!important;
 width:100%!important; height:var(--gp-loop-image-h,216px)!important;
 min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;
 background:#fff!important;
}
body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media > .gp-product-loop-image img {
 display:block!important;width:100%!important;height:100%!important;max-height:100%!important;
 box-sizing:border-box;object-fit:contain!important;object-position:center!important;
 padding:38px 20px 14px!important;margin:0!important;
}
body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-gallery-thumbs {
 grid-area:2 / 1 / 3 / 2!important;box-sizing:border-box;
 height:var(--gp-loop-gallery-h,58px)!important;min-height:0!important;
 margin:0!important;align-items:center!important;background:#fff!important;
}
body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-commerce {
 margin-top:0!important;
}
/* A single-column catalog needs no empty alignment rail. */
@container gp-products (max-width:570px) {
 body #gp-main .gp-product-archive .gp-product-list.is-grid-view .gp-product-loop-media.is-single-image {
  grid-template-rows:var(--gp-loop-image-h,216px)!important;
  height:var(--gp-loop-image-h,216px)!important;
 }
}
