/* ==========================================================================
 * /products/premium-templates (WS33, 47-SPEC). Builds on productmodule/css/module.css (read-only)
 * and luxury.css .lx-*; this file only adds the collection gallery, the collections list and the
 * Premium Media split. One grey page background, white as card surface only. Tokens only.
 * ========================================================================== */

.cm-pt .cm-pt-hero__capture img { aspect-ratio: 2 / 1; object-fit: cover; object-position: center; }

/* ---- collection gallery: first card full width, then two columns ---- */
.cm-pt .cm-pt-gallery {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lx-grid-gap);
	margin: 0; padding: 0; list-style: none;
}
.cm-pt .cm-pt-gallery__item { display: flex; flex-direction: column; overflow: hidden; }
.cm-pt .cm-pt-gallery__item--wide { grid-column: 1 / -1; flex-direction: row; align-items: stretch; }
.cm-pt .cm-pt-gallery__item--wide .cm-pt-gallery__media { flex: 0 0 62%; }
.cm-pt .cm-pt-gallery__item--wide .lx-card__body { display: flex; flex-direction: column; justify-content: center; padding: var(--sp-32); }
.cm-pt .cm-pt-gallery__media { border-radius: 0; margin: 0; }
.cm-pt .cm-pt-gallery__media img { aspect-ratio: 2 / 1; object-fit: cover; }
.cm-pt .cm-pt-count { color: var(--c-brand-600); }

/* ---- all collections: one white card with a counted list ---- */
.cm-pt .cm-pt-colls {
	margin-top: var(--lx-grid-gap); padding: var(--sp-32);
	background: var(--c-surface-0); border: 1px solid var(--c-lx-line); border-radius: var(--lx-radius-sm); box-shadow: var(--shadow-lx-1);
}
.cm-pt .cm-pt-colls__list {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4) var(--sp-32);
	margin: var(--sp-8) 0 0; padding: 0; list-style: none;
}
.cm-pt .cm-pt-colls__list li {
	display: flex; justify-content: space-between; gap: var(--sp-12);
	padding: var(--sp-8) 0; border-bottom: 1px solid var(--c-lx-line); font-size: var(--fs-15); color: var(--c-ink-700);
}
.cm-pt .cm-pt-colls__list b { font-weight: var(--fw-semibold); color: var(--c-navy-900); font-variant-numeric: tabular-nums; }

/* ---- works-with cards: show the body of a page capture, not its blank header strip ---- */
.cm-pt .cm-pt-with .cm-pm-linkcard__media img { object-position: center 70%; }

/* ---- Premium Media: capture beside copy ---- */
.cm-pt .cm-pt-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--lx-split-gap); align-items: center; }
.cm-pt .cm-pt-media__capture { margin: 0; box-shadow: var(--shadow-lx-2); }
.cm-pt .cm-pt-media__capture img { aspect-ratio: 2 / 1; object-fit: cover; }

@media (max-width: 1100px) {
	.cm-pt .cm-pt-colls__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
	.cm-pt .cm-pt-gallery__item--wide { flex-direction: column; }
	.cm-pt .cm-pt-gallery__item--wide .cm-pt-gallery__media { flex: none; }
	.cm-pt .cm-pt-gallery__item--wide .lx-card__body { padding: var(--sp-20) var(--sp-24) var(--sp-24); }
	.cm-pt .cm-pt-media { grid-template-columns: minmax(0, 1fr); }
	.cm-pt .cm-pt-colls__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.cm-pt .cm-pt-gallery { grid-template-columns: minmax(0, 1fr); }
	.cm-pt .cm-pt-colls { padding: var(--sp-24); }
	.cm-pt .cm-pt-colls__list { gap: 0 var(--sp-20); }
}
