/* Product section: the detail page, the catalogue and the category pages.
   Only the pgp-* classes of this section are styled here; pg-* tokens and components come from
   style.css and are used as they are. */

/* ---------- Detail hero ---------- */
.pgp-hero{padding-block:var(--space-lg) var(--space-xl)}
.pgp-hero__inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.pgp-hero__inner > :only-child{grid-column:1/-1;max-width:70ch}
.pgp-hero__title{max-width:22ch}
.pgp-hero__intro{display:grid;gap:1.1rem;align-content:start}
.pgp-hero__chips{margin-top:.15rem}
.pgp-hero__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.4rem}
.pgp-model{display:flex;align-items:baseline;gap:.6rem;margin:0;font-family:var(--font-display);font-size:1.35rem;letter-spacing:.07em;color:var(--gold-bright);line-height:1}
.pgp-model__label{font-family:var(--font-body);font-size:.68rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-dim);font-weight:600}

/* Commercial facts: lead times and MOQ, read from the record. */
.pgp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:.35rem 0 0;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.pgp-stats__item{background:var(--ink-1);padding:.85rem .95rem;display:grid;gap:.25rem}
.pgp-stats dt{font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--text-dim);font-weight:600;line-height:1.3}
.pgp-stats dd{margin:0;font-size:.95rem;color:var(--text);line-height:1.4}

/* ---------- Gallery ---------- */
.pgp-gallery{display:grid;gap:.6rem}
.pgp-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;list-style:none;margin:0;padding:0}
.pgp-gallery__item{min-width:0}
.pgp-gallery__item--lead{grid-column:1/-1}
.pgp-gallery__link{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--ink-2);transition:border-color .25s var(--ease)}
.pgp-gallery__link:hover,.pgp-gallery__link:focus-visible{border-color:var(--gold)}
.pgp-gallery__link img{width:100%;height:auto;object-fit:cover;aspect-ratio:1}
.pgp-gallery__item--lead .pgp-gallery__link img{aspect-ratio:4/3}

/* Lightbox: the behaviour's own dialog, styled to the site. */
.pgp-lightbox{width:min(94vw,1040px);max-width:none;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--ink-1);color:var(--text);overflow:hidden}
.pgp-lightbox::backdrop{background:rgba(3,6,5,.86)}
.pgp-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem;border-bottom:1px solid var(--line)}
.pgp-lightbox__caption{margin:0;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.pgp-lightbox [data-gallery-image]{display:block;width:100%;max-height:72vh;object-fit:contain;background:var(--ink-0)}
.pgp-lightbox__nav{display:flex;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-top:1px solid var(--line)}
.pgp-lightbox[data-state="error"] [data-gallery-image]{opacity:.35}

/* ---------- Specification, notes, OEM, certifications ---------- */
.pgp-specs{column-gap:clamp(1rem,4vw,2.5rem)}
.pgp-specs .pg-specs__value{font-weight:500}
.pgp-notes{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--line);display:grid;gap:.85rem;max-width:70ch}
.pgp-oem{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1rem,4vw,3rem);max-width:820px}
.pgp-certs .pg-cert-card{height:100%}
.pgp-certs .pg-cert-card__mark{font-size:.9rem}

/* ---------- Why source with us ---------- */
.pgp-why{list-style:none;padding:0;margin:0;counter-reset:none}
.pgp-why__item{display:grid;gap:.5rem;padding:1.15rem 1.2rem;background:var(--ink-2);border:1px solid var(--line);border-top:2px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:var(--radius)}
.pgp-why__num{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.06em;color:var(--gold);line-height:1}
.pgp-why__label{font-size:.95rem;font-weight:600;line-height:1.35}

/* ---------- Related ---------- */
.pgp-related{border-top:1px solid var(--line)}

/* ---------- Product card extras ---------- */
.pgp-card__moq{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.pg-product-card .pg-card__model+.pg-card__text{margin-top:.1rem}

/* ---------- Catalogue ---------- */
.pgp-catalogue-hero{padding-block:var(--space-lg) var(--space-xl)}
.pgp-catalogue-hero__title{max-width:24ch}
.pgp-catalogue-hero__intro{margin-top:1rem;color:var(--text-muted)}
.pgp-catalogue-hero__count{margin:1rem 0 0;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}
.pgp-cats__group+.pgp-cats__group{margin-top:.85rem}
.pgp-cats__all{margin:var(--space-md) 0 0}

/* Filter bar and the grid it narrows. */
.pgp-count{margin:0;white-space:nowrap;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}
.pgp-count strong{font-family:var(--font-display);font-size:1rem;letter-spacing:.06em;color:var(--gold-bright);margin-left:.35rem}
.pgp-filters{display:grid;gap:var(--space-md)}
.pgp-filters__bar{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:.75rem;align-items:end;padding:.9rem 1rem;background:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius)}
.pgp-field{display:grid;gap:.35rem;min-width:0}
.pgp-filter-item{display:flex;min-width:0}
.pgp-filter-item>.pg-card{flex:1}

/* ---------- Category page ---------- */
.pgp-tax-hero{padding-block:var(--space-lg) var(--space-xl)}
.pgp-tax-hero__title{max-width:26ch}
.pgp-tax-hero__intro{margin-top:1rem;color:var(--text-muted)}
.pgp-tax-hero__chips{margin-top:1.1rem}
.pgp-tax-hero__all{margin-top:var(--space-md)}

/* ---------- Narrow screens ---------- */
@media (max-width:1020px){
  .pgp-filters__bar{grid-template-columns:1fr 1fr}
  .pgp-filters__bar [data-filter-reset]{justify-self:start}
}
@media (max-width:900px){
  .pgp-hero__inner{grid-template-columns:1fr}
  .pgp-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pgp-oem{grid-template-columns:1fr}
}
@media (max-width:600px){
  .pgp-filters__bar{grid-template-columns:1fr}
  .pgp-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pgp-gallery__item--lead{grid-column:1/-1}
  .pgp-lightbox [data-gallery-image]{max-height:58vh}
  .pgp-card__moq{max-width:none}
}