/* MIM Catalogue Cards — photo cards with "View online" / "Download" pills */

.mim-w-catalogue-cards .mim-cc__aside {
	font-family: var(--mim-font-mono);
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mim-fg-muted);
}

.mim-w-catalogue-cards .mim-cc__grid {
	--mim-cc-min: 260px;
	--mim-cc-h: 300px;
	--mim-cc-ov: var(--mim-navy);
	--mim-cc-ov-1: 35%;
	--mim-cc-ov-2: 50%;
	--mim-cc-ov-2-at: 45%;
	--mim-cc-ov-3: 94%;
	--mim-cc-dim: .25;
	--mim-cc-bg: var(--mim-navy);
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--mim-cc-min)), 1fr));
}
.mim-w-catalogue-cards.mim-cc--index .mim-cc__grid {
	--mim-cc-min: 280px;
	--mim-cc-h: 280px;
	--mim-cc-ov-1: 50%;
	--mim-cc-ov-2: 30%;
	--mim-cc-ov-2-at: 40%;
	--mim-cc-bg: var(--mim-card-dark);
}

/* Card */
.mim-w-catalogue-cards .mim-cc__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: var(--mim-cc-h);
	border-radius: var(--mim-radius-md);
	overflow: hidden;
	background: var(--mim-cc-bg);
	color: #fff;
	isolation: isolate;
}
.mim-w-catalogue-cards .mim-cc__media { position: absolute; inset: 0; transition: opacity .5s ease; }
.mim-site .mim-w-catalogue-cards .mim-cc__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	padding: 0;
	box-sizing: border-box;
}
/* Product cut-outs (category thumbnails, or "Image fit: contain") are shown whole. */
.mim-site .mim-w-catalogue-cards .mim-cc__card.is-contain .mim-cc__media img {
	object-fit: contain;
	padding: 24px 20px 48px;
}
.mim-w-catalogue-cards.mim-cc--index .mim-cc__media { opacity: var(--mim-cc-dim); }
.mim-w-catalogue-cards.mim-cc--index .mim-cc__card.is-active .mim-cc__media { opacity: 1; }

.mim-w-catalogue-cards .mim-cc__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg,
		color-mix(in srgb, var(--mim-cc-ov) var(--mim-cc-ov-1), transparent) 0%,
		color-mix(in srgb, var(--mim-cc-ov) var(--mim-cc-ov-2), transparent) var(--mim-cc-ov-2-at),
		color-mix(in srgb, var(--mim-cc-ov) var(--mim-cc-ov-3), transparent) 100%);
}

.mim-w-catalogue-cards .mim-cc__body {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: var(--mim-cc-h);
	padding: clamp(20px, 2vw, 26px);
}
.mim-w-catalogue-cards .mim-cc__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	font-family: var(--mim-font-mono);
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--mim-sky);
}
.mim-w-catalogue-cards.mim-cc--index .mim-cc__top { font-size: 12px; }
.mim-site .mim-w-catalogue-cards .mim-cc__title {
	margin: auto 0 0;
	font-family: var(--mim-font);
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.05;
	font-weight: 800;
	font-stretch: 88%;
	letter-spacing: -.01em;
	color: #fff;
	overflow-wrap: break-word;
}
.mim-site .mim-w-catalogue-cards .mim-cc__title-link { color: inherit; }
.mim-site .mim-w-catalogue-cards .mim-cc__title-link:hover,
.mim-site .mim-w-catalogue-cards .mim-cc__title-link:focus-visible { color: var(--mim-sky); }
.mim-site .mim-w-catalogue-cards .mim-cc__desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--mim-soft-dark);
}
.mim-site .mim-w-catalogue-cards.mim-cc--index .mim-cc__desc { text-wrap: pretty; }

/* Pills */
.mim-w-catalogue-cards .mim-cc__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.mim-site .mim-w-catalogue-cards .mim-cc__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: var(--mim-font);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.mim-w-catalogue-cards .mim-cc__btn-glyph { font-family: var(--mim-font-mono); font-weight: 500; }
.mim-site .mim-w-catalogue-cards .mim-cc__btn--view { background: #fff; border-color: #fff; color: var(--mim-navy); }
.mim-site .mim-w-catalogue-cards a.mim-cc__btn--view:hover,
.mim-site .mim-w-catalogue-cards a.mim-cc__btn--view:focus-visible { background: var(--mim-sky); border-color: var(--mim-sky); color: var(--mim-navy); }
.mim-site .mim-w-catalogue-cards .mim-cc__btn--download { border-color: rgba(255, 255, 255, .45); color: #fff; }
.mim-site .mim-w-catalogue-cards a.mim-cc__btn--download:hover,
.mim-site .mim-w-catalogue-cards a.mim-cc__btn--download:focus-visible { color: var(--mim-sky); border-color: var(--mim-sky); }
.mim-w-catalogue-cards .mim-cc__btn.is-disabled { opacity: .45; cursor: not-allowed; }

/* Placeholder (no image) */
.mim-w-catalogue-cards .mim-cat-ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(120% 90% at 85% 10%, rgba(92, 198, 223, .28) 0%, rgba(92, 198, 223, 0) 55%),
		linear-gradient(160deg, var(--mim-card-dark) 0%, var(--mim-navy) 100%);
}
.mim-w-catalogue-cards .mim-cat-ph::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 14px);
}
.mim-site .mim-w-catalogue-cards .mim-cat-ph__mark { position: relative; width: 72px; height: auto; opacity: .22; transform: translateY(-40%); }
.mim-w-catalogue-cards.mim-cc--index .mim-cc__media--empty { opacity: 1; }

.mim-w-catalogue-cards .mim-cc__none { padding: 24px; border: 1px dashed var(--mim-line); border-radius: var(--mim-radius-sm); color: var(--mim-fg-muted); font-size: 14px; }
