.products-page { background: var(--paper); }
.products-header { color: var(--green-dark); background: rgba(243,240,232,.94); }
.collection-home { font-size: var(--text-sm); font-weight: 600; }
.collection-hero { min-height: 47rem; padding-top: calc(var(--header-h) + clamp(7rem,12vw,13rem)); padding-bottom: clamp(5rem,8vw,8rem); display: grid; grid-template-columns: .72fr 2.65fr; gap: var(--gap); align-content: center; }
.collection-hero h1 { margin: 0; font-family: var(--font-display); font-size: var(--title-lg); font-weight: 400; letter-spacing: -.065em; line-height: .98; }
.collection-hero h1 span { display: block; margin-left: .55em; }
.collection-hero > p { grid-column: 2; width: min(28rem,68%); margin: 2.5rem 0 0 auto; color: var(--muted); }
.category-nav { position: sticky; top: var(--header-h); z-index: 70; padding-block: 1rem; display: flex; gap: .6rem 1.8rem; overflow-x: auto; border-block: 1px solid var(--line); background: rgba(243,240,232,.96); scrollbar-width: none; }
.category-nav::-webkit-scrollbar { display: none; }
.category-nav a { flex: none; padding: .45rem 0; color: var(--muted); font-size: var(--text-sm); white-space: nowrap; }
.category-nav a.active { color: var(--green); border-bottom: 1px solid var(--green); font-weight: 700; }
.collection-list { min-height: 45rem; padding-block: var(--section-y); }
.collection-list-head { display: grid; grid-template-columns: 1.6fr .8fr; gap: var(--gap); align-items: end; margin-bottom: clamp(4rem,7vw,7rem); }
.collection-list-head h2 { margin: 0; font-family: var(--font-display); font-size: var(--title-md); font-weight: 400; letter-spacing: -.055em; }
.collection-list-head p { margin: 0; color: var(--muted); }
.collection-editorial { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(18rem,.6fr); }
.collection-product { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(18rem,.65fr); gap: clamp(2rem,5vw,6rem); align-items: end; }
.collection-product-image { position: relative; display: block; aspect-ratio: 1.42 / 1; overflow: hidden; background: #dad6cc; }
.collection-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .8s var(--ease); }
.collection-product-image:hover img { transform: scale(1.02); }
.collection-product-image > span { position: absolute; left: 1rem; bottom: 1rem; padding: .35rem .65rem; color: #fff; background: rgba(18,38,29,.72); font-size: .68rem; }
.collection-product-copy { padding-bottom: 1rem; }
.collection-product-copy > p { color: var(--orange); font-size: .7rem; letter-spacing: .06em; }
.collection-product-copy h2 { margin: 1.2rem 0 2.5rem; font-family: var(--font-display); font-size: var(--title-sm); font-weight: 400; letter-spacing: -.05em; line-height: 1.08; }
.collection-product-copy > div { padding-top: 1rem; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--ink); font-size: var(--text-sm); }
.collection-product-copy .text-link { font-size: inherit; }
.collection-product-copy .text-link b { font-weight: 400; }
.collection-empty { min-height: 27rem; padding: clamp(4rem,7vw,7rem); background: #e8e0cf; }
.collection-empty > p { color: var(--orange); font-size: .72rem; letter-spacing: .08em; }
.collection-empty h2 { max-width: 16ch; margin: 2rem 0 4rem; font-family: var(--font-display); font-size: var(--title-sm); font-weight: 400; letter-spacing: -.05em; line-height: 1.1; }

@media (max-width: 900px) {
  .collection-home { display: none; }
  .collection-hero { min-height: 38rem; grid-template-columns: 1fr; align-content: end; }
  .collection-hero h1 { font-size: clamp(3.4rem,15vw,5.5rem); }
  .collection-hero > p { grid-column: 1; width: 82%; }
  .category-nav { margin-inline: 0; padding-inline: var(--page); }
  .collection-list-head { grid-template-columns: 1fr; }
  .collection-list-head p { width: 78%; margin-left: auto; }
  .collection-product { grid-template-columns: 1fr; gap: 2rem; }
  .collection-product-image { aspect-ratio: .82 / 1; }
  .collection-product-copy { width: 88%; margin-left: auto; }
  .collection-empty { padding-inline: var(--page); }
}
