/**
 * Verified mattress imagery for Yawnder ranking modules.
 * The PHP layer reserves these classes only for exact, approved product matches.
 */

.yw-verified-rank-image {
	display: block;
	overflow: hidden;
	border: 1px solid #dbe5f1;
	border-radius: 10px;
	background: #f4f7fb;
	box-shadow: 0 1px 2px rgba(15, 31, 58, 0.05);
}

.yw-verified-rank-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.yw-verified-rank-image:focus-visible {
	outline: 3px solid #7fb5ff;
	outline-offset: 3px;
}

/* Side-sleeper card rows. */
.ss-rank .ss-rank-row.yw-has-rank-image {
	grid-template-columns: 104px minmax(170px, 1.25fr) minmax(175px, 1fr) minmax(145px, .9fr) 112px !important;
}

.ss-rank-row.yw-has-rank-image > .yw-card-rank-image {
	grid-column: 1;
	grid-row: 1;
	width: 104px;
	height: 78px;
	align-self: center;
}

.ss-rank-row.yw-has-rank-image > .ss-rank-name {
	grid-column: 2;
}

.ss-rank-row.yw-has-rank-image > .ss-rank-scores {
	grid-column: 3;
}

.ss-rank-row.yw-has-rank-image > .ss-rank-details {
	grid-column: 4;
}

.ss-rank-row.yw-has-rank-image > .ss-rank-actions {
	grid-column: 5;
}

@media (max-width: 1050px) {
	.ss-rank .ss-rank-row.yw-has-rank-image {
		grid-template-columns: 96px minmax(160px, 1fr) minmax(165px, 1fr) 118px !important;
	}

	.ss-rank-row.yw-has-rank-image > .yw-card-rank-image {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 96px;
		height: 72px;
		align-self: start;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-name {
		grid-column: 2;
		grid-row: 1;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-scores {
		grid-column: 3;
		grid-row: 1;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-details {
		grid-column: 2 / 4;
		grid-row: 2;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-actions {
		grid-column: 4;
		grid-row: 1 / span 2;
	}
}

@media (max-width: 700px) {
	.ss-rank .ss-rank-row.yw-has-rank-image {
		grid-template-columns: 100px minmax(0, 1fr) !important;
		align-items: start;
	}

	.ss-rank-row.yw-has-rank-image > .yw-card-rank-image {
		grid-column: 1;
		grid-row: 1;
		width: 100px;
		height: 75px;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-name {
		grid-column: 2;
		grid-row: 1;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-scores {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-details {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.ss-rank-row.yw-has-rank-image > .ss-rank-actions {
		grid-column: 1 / -1;
		grid-row: 4;
	}
}

/* Detailed score cards beneath the quick ranking. */
.yw-detail-rank-card > div:first-child > .yw-detail-rank-image {
	flex: 0 0 118px;
	width: 118px;
	height: 82px;
	align-self: flex-start;
}

@media (max-width: 600px) {
	.yw-detail-rank-card > div:first-child > .yw-detail-rank-image {
		flex-basis: 100px;
		width: 100px;
		height: 72px;
	}
}

/* Comparison/ranking tables. */
.yw-table-mattress {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 220px;
}

.yw-table-rank-image {
	flex: 0 0 72px;
	width: 72px;
	height: 52px;
}

.yw-table-mattress-copy {
	display: block;
	min-width: 0;
	line-height: 1.35;
}

/* Long-form ranked product sections. */
.yw-product-rank-image {
	width: 100%;
	aspect-ratio: 16 / 7;
	margin: 0 0 22px;
	border-radius: 14px;
}

.yw-product-rank-image img {
	object-fit: cover;
}

@media (max-width: 600px) {
	.yw-table-mattress {
		min-width: 190px;
	}

	.yw-table-rank-image {
		flex-basis: 60px;
		width: 60px;
		height: 44px;
	}

	.yw-product-rank-image {
		aspect-ratio: 4 / 3;
		margin-bottom: 18px;
	}
}
