.klc-collection {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 16px;
}

/* Rich-text areas */
.klc-top,
.klc-bottom {
	margin: 0 auto 32px;
	line-height: 1.6;
}
.klc-top { padding-top: 8px; }
.klc-bottom { margin-top: 48px; }
.klc-top img,
.klc-bottom img { max-width: 100%; height: auto; }

/* Product grid — mobile first */
.klc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 24px 0;
}
.klc-card {
	display: block;
	text-decoration: none;
	color: #111;
	background: #fff;
	border: 1px solid #ececec;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.klc-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(0,0,0,.10);
	border-color: #c4a052; /* gold accent */
}
.klc-card-img {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f7f7f7;
}
.klc-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.klc-card-title {
	font-family: "Bebas Neue", "Anton", Verdana, sans-serif;
	font-size: 18px;
	letter-spacing: .5px;
	margin: 12px 12px 4px;
	line-height: 1.2;
	text-transform: uppercase;
}
.klc-card-price {
	margin: 0 12px 14px;
	font-family: Verdana, sans-serif;
	font-size: 14px;
	color: #444;
}
.klc-card-price del { color: #999; margin-right: 6px; }
.klc-card-price ins { text-decoration: none; color: #c4a052; font-weight: 700; }

/* Tags */
.klc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 40px 0;
	padding-top: 24px;
	border-top: 1px solid #ececec;
}
.klc-tag {
	display: inline-block;
	padding: 6px 14px;
	background: #000;
	color: #fff;
	text-decoration: none;
	font-family: "Bebas Neue", Verdana, sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: background .15s ease;
}
.klc-tag:hover { background: #c4a052; color: #000; }

/* Tablet */
@media (min-width: 600px) {
	.klc-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.klc-card-title { font-size: 20px; }
}

/* Desktop */
@media (min-width: 1000px) {
	.klc-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
}

/* ----------------------------------------------------------------------
   Catalog-engine bridge.
   The collection grid reuses KL Printful Catalog's standalone .klpc-*
   component styles. Those rely on CSS variables and column rules that the
   catalog normally defines on a .klpc ancestor. We don't use the .klpc class
   here (so the catalog's JS won't bind to and hijack our filtering), so we
   redeclare the variables + column rules on our own .klc-catalog container.
   Accent is set to the brand gold.
---------------------------------------------------------------------- */
.klc-catalog {
	--klpc-accent: #c4a052;
	--klpc-accent-hover: #a8863c;
	--klpc-ink: #1c1c1c;
	--klpc-muted: #6b6b6b;
	--klpc-line: #e6e2dc;
	--klpc-bg: #ffffff;
	--klpc-radius: 12px;
	--klpc-shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.06);
	--klpc-gap: 20px;
	font-family: inherit;
	color: var(--klpc-ink);
	max-width: 1280px;
	margin: 0 auto;
}
.klc-catalog *, .klc-catalog *::before, .klc-catalog *::after { box-sizing: border-box; }

@media (min-width: 1000px) {
	.klc-catalog[data-columns="4"] .klpc-grid { grid-template-columns: repeat(4, 1fr); }
	.klc-catalog[data-columns="3"] .klpc-grid { grid-template-columns: repeat(3, 1fr); }
	.klc-catalog[data-columns="5"] .klpc-grid { grid-template-columns: repeat(5, 1fr); }
}

/* Mirror the catalog's theme-override rules that normally require a .klpc
   ancestor (card title + quick-view title), scoped to .klc-catalog. */
.klc-catalog .klpc-card__title,
.klc-catalog .klpc-card__title a {
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: var(--klpc-ink) !important;
	margin: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
}
.klc-catalog .klpc-card__title a:hover { color: var(--klpc-accent) !important; }
.klc-catalog .klpc-qv__title {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--klpc-ink) !important;
	margin: 0 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
}

/* ----------------------------------------------------------------------
   Cover / banner image on a single collection
---------------------------------------------------------------------- */
.klc-banner {
	position: relative;
	width: 100%;
	margin: 0 0 28px;
	overflow: hidden;
	border-radius: 4px;
	background: #111;
}
.klc-banner__img {
	display: block;
	width: 100%;
	height: clamp(180px, 34vw, 420px);
	object-fit: cover;
}
.klc-banner__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 24px;
	background: linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,0) 75%);
}
.klc-banner__title {
	color: #fff;
	font-family: "Anton", "Bebas Neue", Verdana, sans-serif;
	font-size: clamp(28px, 6vw, 64px);
	line-height: 1.02;
	letter-spacing: .5px;
	text-transform: uppercase;
	margin: 0;
	text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

/* ----------------------------------------------------------------------
   /collections/ archive grid — cover image with the name beneath
---------------------------------------------------------------------- */
.klc-archive__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 32px 16px 64px;
}
.klc-archive__header {
	text-align: center;
	margin: 8px 0 32px;
}
.klc-archive__heading {
	font-family: "Anton", "Bebas Neue", Verdana, sans-serif;
	font-size: clamp(30px, 6vw, 56px);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0;
	color: #111;
}
.klc-archive-empty { text-align: center; color: #777; padding: 48px 0; }

.klc-archive-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}
.klc-ccard {
	display: block;
	text-decoration: none;
	color: #111;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 4px;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.klc-ccard:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(0,0,0,.12);
	border-color: #c4a052; /* gold accent */
}
.klc-ccard__img {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: #f4f4f4;
	overflow: hidden;
}
.klc-ccard__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
.klc-ccard:hover .klc-ccard__img img { transform: scale(1.04); }
.klc-ccard__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(45deg, #f0f0f0, #f0f0f0 10px, #e9e9e9 10px, #e9e9e9 20px);
}
.klc-archive-grid .klc-ccard__title {
	font-family: "Bebas Neue", "Anton", Verdana, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: .6px !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 12px 10px 14px !important;
	line-height: 1.2 !important;
	color: #111 !important;
}

/* Tablet */
@media (min-width: 600px) {
	.klc-archive-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.klc-archive-grid .klc-ccard__title { font-size: 17px !important; }
}
/* Desktop */
@media (min-width: 1000px) {
	.klc-archive-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; }
	.klc-archive-grid .klc-ccard__title { font-size: 18px !important; }
}

/* ----------------------------------------------------------------------
   Standalone H1 (single collection without a banner image)
---------------------------------------------------------------------- */
.klc-collection .klc-title {
	font-family: "Anton", "Bebas Neue", Verdana, sans-serif !important;
	font-size: clamp(28px, 6vw, 56px) !important;
	line-height: 1.05 !important;
	letter-spacing: .5px !important;
	text-transform: uppercase !important;
	margin: 8px 0 20px !important;
	color: #111 !important;
}

/* ----------------------------------------------------------------------
   Parent page copy: H1 + short (above grid) + long (below grid)
---------------------------------------------------------------------- */
.klc-archive-copy {
	max-width: 860px;
	margin: 0 auto 28px;
	text-align: center;
}
.klc-archive-copy .klc-archive__heading {
	font-family: "Anton", "Bebas Neue", Verdana, sans-serif !important;
	font-size: clamp(30px, 6vw, 56px) !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	margin: 0 0 14px !important;
	color: #111 !important;
}
.klc-archive-short {
	font-size: 16px;
	line-height: 1.6;
	color: #444;
}
.klc-archive-short img { max-width: 100%; height: auto; }

.klc-archive-long {
	max-width: 860px;
	margin: 40px auto 0;
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}
.klc-archive-long img { max-width: 100%; height: auto; }

/* ----------------------------------------------------------------------
   Breadcrumb (beneath tags / below long copy)
---------------------------------------------------------------------- */
.klc-breadcrumb {
	margin: 32px auto 8px;
	padding-top: 18px;
	border-top: 1px solid #ececec;
	font-family: Verdana, sans-serif;
	font-size: 13px;
	color: #777;
	text-align: left;
}
.klc-breadcrumb a {
	color: #777;
	text-decoration: none;
	transition: color .15s ease;
}
.klc-breadcrumb a:hover { color: #c4a052; }
.klc-breadcrumb__sep { margin: 0 8px; color: #bbb; }
.klc-breadcrumb__current { color: #111; font-weight: 600; }
