.printblob-mockup-sides {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin-top: 12px;
}

.printblob-mockup-side {
	margin: 0;
	padding: 12px 16px 4px;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
}

.printblob-mockup-side legend {
	padding: 0 6px;
	font-weight: 600;
	font-size: 14px;
}

.printblob-mockup-side figcaption {
	margin: 0 0 8px;
}

.printblob-mockup-stage {
	position: relative;
	max-width: 420px;
	margin: 8px 0;
	background: repeating-conic-gradient(#f0f0f1 0% 25%, #fff 0% 50%) 50% / 20px 20px;
	border-radius: 6px;
	user-select: none;
	touch-action: none;
}

.printblob-mockup-stage img {
	display: block;
	width: 100%;
	height: auto;
}

.printblob-mockup-stage__area {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.printblob-mockup-stage__area rect {
	fill: rgb(34 113 177 / 12%);
	stroke: #2271b1;
	stroke-width: 2;
	stroke-dasharray: 6 4;
}

.printblob-mockup-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-start;
	margin-top: 16px;
}

.printblob-mockup-card {
	box-sizing: border-box;
	flex: 0 1 auto;
	min-width: min(100%, 320px);
	max-width: 100%;
	padding: 16px;
	border: 1px solid #c3c4c7;
	background: #fff;
}

.printblob-mockup-card__head {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	justify-content: space-between;
}

.printblob-mockup-card__head h2 {
	margin: 0;
}

.printblob-mockup-card > p {
	width: 0;
	min-width: 100%;
	margin: 8px 0 0;
}

.printblob-mockup-card__sides {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 12px 0 4px;
}

.printblob-mockup-card__side {
	width: 140px;
	margin: 0;
}

.printblob-mockup-card__photo {
	position: relative;
	background: repeating-conic-gradient(#f0f0f1 0% 25%, #fff 0% 50%) 50% / 16px 16px;
	border-radius: 4px;
}

.printblob-mockup-card__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.printblob-mockup-card__side figcaption {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	justify-content: space-between;
	margin-top: 6px;
}
