/* ILMUS variation matrix — single-product quick order table */

.ilmus-matrix {
	margin: 1.5em 0;
}

.ilmus-matrix__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1em;
	font-size: 0.95em;
}

.ilmus-matrix__table thead th {
	text-align: left;
	font-weight: 600;
	padding: 0.5em 0.75em;
	border-bottom: 2px solid #e2e2e2;
	color: #333;
	text-transform: uppercase;
	font-size: 0.8em;
	letter-spacing: 0.03em;
}

.ilmus-matrix__col-price,
.ilmus-matrix__cell-price {
	text-align: right;
	white-space: nowrap;
}

.ilmus-matrix__col-qty,
.ilmus-matrix__cell-qty {
	text-align: center;
	width: 110px;
}

.ilmus-matrix__row > td {
	padding: 0.6em 0.75em;
	border-bottom: 1px dotted #d9d9d9;
	vertical-align: middle;
}

.ilmus-matrix__cell-sku {
	font-weight: 700;
	white-space: nowrap;
}

.ilmus-matrix__cell-desc {
	color: #555;
}

.ilmus-matrix__cell-price del {
	color: #999;
	font-weight: 400;
	margin-right: 0.35em;
	font-size: 0.9em;
}

.ilmus-matrix__cell-price ins {
	text-decoration: none;
	font-weight: 700;
}

.ilmus-matrix__qty {
	width: 70px;
	max-width: 100%;
	padding: 0.35em 0.4em;
	text-align: center;
}

/* Hide number spinners for a cleaner look (keep keyboard arrows usable). */
.ilmus-matrix__qty::-webkit-outer-spin-button,
.ilmus-matrix__qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ilmus-matrix__row.is-out-of-stock {
	opacity: 0.6;
}

.ilmus-matrix__nostock {
	font-size: 0.85em;
	color: #b00;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.ilmus-matrix__footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1em;
	flex-wrap: wrap;
}

.ilmus-matrix__msg {
	margin: 0;
	flex: 1 1 auto;
	min-height: 1.2em;
	font-size: 0.95em;
}

.ilmus-matrix__msg.is-success {
	color: #2e7d32;
	font-weight: 600;
}

.ilmus-matrix__msg.is-error {
	color: #c0392b;
	font-weight: 600;
}

.ilmus-matrix__add {
	min-width: 200px;
}

.ilmus-matrix__add.loading {
	opacity: 0.6;
	cursor: progress;
}

/* Responsive: stack as cards on small screens. */
@media (max-width: 600px) {
	.ilmus-matrix__table thead {
		display: none;
	}

	.ilmus-matrix__table,
	.ilmus-matrix__table tbody,
	.ilmus-matrix__row,
	.ilmus-matrix__row > td {
		display: block;
		width: 100%;
	}

	.ilmus-matrix__row {
		border: 1px solid #e2e2e2;
		border-radius: 6px;
		margin-bottom: 0.75em;
		padding: 0.25em 0;
	}

	.ilmus-matrix__row > td {
		border-bottom: none;
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: right;
	}

	.ilmus-matrix__row > td::before {
		content: attr(data-title);
		font-weight: 600;
		text-transform: uppercase;
		font-size: 0.75em;
		color: #888;
		margin-right: 1em;
	}

	.ilmus-matrix__footer {
		justify-content: stretch;
	}

	.ilmus-matrix__add {
		width: 100%;
	}
}