/* ==========================================================================
   Catalogue: PDP, spec tables, filters, type facts.
   ========================================================================== */

.pdp__crumbs { padding-block-start: 1.5rem; }
.pdp__top { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.5rem, 1rem + 3vw, 4rem); align-items: start; padding-block-end: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
@media (max-width: 900px) { .pdp__top { grid-template-columns: 1fr; } }

.pdp-gallery { position: sticky; inset-block-start: calc(var(--header-h) + 1rem); display: grid; gap: 0.75rem; }
@media (max-width: 900px) { .pdp-gallery { position: static; } }
.pdp-gallery__main { position: relative; margin: 0; border-radius: var(--radius-lg); overflow: hidden; background: var(--linen-2); aspect-ratio: 1; }
.pdp-gallery__main img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pdp-gallery__caption { position: absolute; inset-inline-start: 0.75rem; inset-block-end: 0.75rem; padding: 0.25rem 0.6rem; border-radius: var(--radius-pill); font-size: 11.5px; background: rgba(18, 30, 24, 0.6); color: #fff; max-inline-size: calc(100% - 1.5rem); }
.pdp-gallery__thumbs { display: flex; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.pdp-gallery__thumb { inline-size: 76px; block-size: 76px; border-radius: 12px; overflow: hidden; border: 2px solid transparent; opacity: 0.8; }
.pdp-gallery__thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.pdp-gallery__thumb.is-active, .pdp-gallery__thumb:hover { border-color: var(--oak); opacity: 1; }
.pdp-gallery__vis { margin: 0; }

.pdp-summary__type { margin: 0 0 0.5rem; font-size: var(--fs-xs); letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; }
.pdp-summary__type a { color: var(--oak-ink); text-decoration: none; }
.pdp-summary__title { font-size: var(--fs-3xl); margin-block-end: 0.2em; }
.pdp-summary__sku { font-size: var(--fs-sm); color: var(--muted); margin: 0 0 1rem; }
.pdp-summary__lead { font-size: var(--fs-lg); color: var(--ink); }
.pdp-summary__facts { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; padding: 0; margin: 0 0 1rem; }
.pdp-summary__facts li { padding: 0.35rem 0.75rem; border-radius: var(--radius-pill); background: #fff; border: 1px solid var(--line); font-size: var(--fs-sm); color: var(--forest); font-weight: 500; }
.pdp-summary__water { display: flex; align-items: center; gap: 0.5rem; padding: 0.7rem 0.9rem; border-radius: var(--radius); background: #E8F0EA; color: var(--forest); font-size: var(--fs-sm); }
.pdp-summary__water .icon { color: var(--forest-3); inline-size: 18px; block-size: 18px; }
.pdp-summary__water.is-request { background: #fff; border: 1px dashed var(--line); color: var(--muted); }
.pdp-summary__stock { font-size: var(--fs-sm); color: var(--muted); }
.pdp-summary__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-block: 1.25rem 0.5rem; }
.pdp-summary__ctas .btn--primary { grid-column: 1 / -1; }
.pdp-summary__minor { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; margin: 0.25rem 0 1rem; }
.pdp-summary__promise { list-style: none; padding: 1rem 0 0; margin: 0; display: grid; gap: 0.4rem; border-block-start: 1px solid var(--line-2); font-size: var(--fs-sm); color: var(--muted); }
.pdp-summary__promise li { display: flex; gap: 0.5rem; align-items: center; }
.pdp-summary__promise .icon { inline-size: 16px; block-size: 16px; color: var(--oak); }
@media (max-width: 480px) { .pdp-summary__ctas { grid-template-columns: 1fr; } }

.pdp-tabs { position: sticky; inset-block-start: var(--header-h); z-index: 20; background: rgba(251, 248, 243, 0.96); border-block: 1px solid var(--line-2); backdrop-filter: blur(8px); }
.pdp-tabs .container { display: flex; gap: 1.5rem; overflow-x: auto; white-space: nowrap; }
.pdp-tabs a { display: inline-block; padding: 0.85rem 0; font-size: var(--fs-sm); font-weight: 600; color: var(--forest); text-decoration: none; border-block-end: 2px solid transparent; }
.pdp-tabs a:hover { border-color: var(--oak); }
.pdp__body { display: grid; gap: clamp(2.5rem, 2rem + 2vw, 4rem); padding-block: clamp(2rem, 1.5rem + 2vw, 3.5rem) clamp(3rem, 2rem + 3vw, 5rem); }
.pdp-section { scroll-margin-top: calc(var(--header-h) + 4rem); }
.pdp-section__title { font-size: var(--fs-2xl); }

.spec-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; }
@media (max-width: 860px) { .spec-groups { grid-template-columns: 1fr; } }
.spec-group { background: #fff; border: 1px solid var(--line-2); border-radius: var(--radius-lg); padding: 1rem 1.25rem 0.5rem; }
.spec-group__title { font-family: var(--font-body); font-size: var(--fs-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--oak-ink); font-weight: 600; margin: 0 0 0.5rem; }
.spec-table th, .spec-table td { padding: 0.6rem 0; border-block-end: 1px solid var(--line-2); text-align: start; vertical-align: top; font-size: var(--fs-sm); }
.spec-table tr:last-child th, .spec-table tr:last-child td { border-block-end: 0; }
.spec-table th { inline-size: 45%; font-weight: 500; color: var(--muted); padding-inline-end: 1rem; }
.spec-table td { color: var(--ink); font-weight: 500; }
.spec-table tr.is-request td { color: var(--muted); font-weight: 400; font-style: italic; }
.spec-table tr.is-doc td::before { content: "✓ "; color: var(--ok); font-style: normal; }
.spec-table__ref { display: block; font-size: 11.5px; color: var(--muted); font-weight: 400; }

/* Archive + filters */
.filters { padding: 1.1rem 1.25rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--line-2); margin-block-end: 1.25rem; }
.filters__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.75rem; }
.filters__grid .field label { font-size: var(--fs-xs); color: var(--muted); }
.filters__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-block-start: 0.9rem; }
.filters__active { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; list-style: none; margin: 0; padding: 0; }
.chip--remove { background: var(--linen); border-color: var(--oak); }
.js .filters__foot > .btn { display: none; }
.results-count { font-size: var(--fs-sm); color: var(--muted); margin: 0 0 1.25rem; }

.type-facts { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: start; }
.type-facts__list { display: grid; gap: 0.75rem; margin: 0; }
.type-facts__list div { display: grid; grid-template-columns: 140px 1fr; gap: 1rem; padding-block-end: 0.75rem; border-block-end: 1px solid var(--line-2); }
.type-facts__list dt { font-weight: 600; color: var(--forest); }
.type-facts__list dd { margin: 0; }
.type-facts__bands { padding: 1.25rem; border-radius: var(--radius-lg); background: var(--linen); }
.type-facts__bands p { margin: 0 0 0.5rem; }
.type-facts__bands strong { font-family: var(--font-head); font-size: var(--fs-xl); color: var(--forest); }
@media (max-width: 860px) { .type-facts { grid-template-columns: 1fr; } .type-facts__list div { grid-template-columns: 1fr; gap: 0.2rem; } }
.collection-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
