/* Product-page styles stay inside the custom WooCommerce entry point. */
.compressordb-product-page {
	--cdb-border: #e4e2dd;
	--cdb-text: #1c1b19;
	--cdb-muted: #68655f;
	--cdb-accent: #c8102e;
	color: var(--cdb-text);
}

.compressordb-product-page > .post {
	padding: 0 24px 44px;
	margin: 0;
}

/* Match the reference's main column without adding its sidebar. */
.compressordb-product-page .cdb-hero, .compressordb-product-page .cdb-quick-specs {
	max-width: 902px;
}

.compressordb-product-page .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--cdb-muted);
	margin: 0 0 18px;
}

.compressordb-product-page .woocommerce-breadcrumb a {
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-hero {
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(260px, 1fr);
	grid-template-areas: "gallery info" "gallery actions";
	gap: 40px;
	grid-template-rows: auto 1fr;
	align-items: start;
}

.compressordb-product-page .cdb-hero--no-image {
	grid-template-columns: 1fr;
	grid-template-areas: "info" "actions";
}

.compressordb-product-page .cdb-gallery {
	grid-area: gallery;
	min-width: 0;
	width: 100%;
	max-width: 380px;
}

.compressordb-product-page .cdb-info {
	grid-area: info;
	min-width: 0;
	padding-top: 2px;
}

.compressordb-product-page .product_title {
	font-size: 29px;
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 20px;
}

.compressordb-product-page .cdb-brand {
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	margin-bottom: 14px;
}

.compressordb-product-page .cdb-manufacturer-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 44px;
	object-fit: contain;
}

.compressordb-product-page .cdb-rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.compressordb-product-page .cdb-rating-label {
	flex-basis: 100%;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: #333;
}

.compressordb-product-page .cdb-rating strong {
	font-size: 19px;
}

.compressordb-product-page .cdb-rating .rh_woo_star {
	margin: 0;
}

.compressordb-product-page .cdb-rating .rhwoostar.active {
	color: #f5a623;
}

.compressordb-product-page .cdb-review-count {
	color: #1a73e8;
	font-size: 16px;
}

.compressordb-product-page .cdb-summary {
	font-size: 16px;
	line-height: 26px;
	color: #333;
	max-width: 46ch;
}

.compressordb-product-page .cdb-summary > :last-child {
	margin-bottom: 0;
}

.compressordb-product-page .cdb-actions {
	grid-area: actions;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 10px;
}

.compressordb-product-page .cdb-actions > * {
	flex: 1 1 140px;
}

.compressordb-product-page .cdb-actions .wpsm-button, .compressordb-product-page .cdb-actions .heartplus {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	line-height: 18px;
	margin: 0;
	padding: 12px 10px;
	border: 1px solid var(--cdb-border);
	border-radius: 4px;
	background: #fff;
	color: var(--cdb-text);
	box-shadow: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .3px;
	text-transform: uppercase;
	cursor: pointer;
}

.compressordb-product-page .cdb-actions .cell_wishlist {
	display: block;
}

.compressordb-product-page .cdb-actions .heartplus::before {
	line-height: 18px;
}

.compressordb-product-page .cdb-actions .wpsm-button i, .compressordb-product-page .cdb-actions .heartplus > span {
	margin: 0;
}

.compressordb-product-page .cdb-actions .thumbscount {
	display: none;
}

.compressordb-product-page .cdb-actions .alreadywish, .compressordb-product-page .cdb-actions .comparing {
	border-color: var(--cdb-accent);
	color: var(--cdb-accent);
}

.compressordb-product-page .cdb-actions .wpsm-button:hover, .compressordb-product-page .cdb-actions .heartplus:hover {
	border-color: var(--cdb-muted);
	background: #fafafa;
}

.compressordb-product-page .cdb-gallery .woocommerce-product-gallery {
	width: 100%;
	float: none;
	margin: 0;
}

.compressordb-product-page .cdb-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.compressordb-product-page .cdb-gallery .flex-viewport, .compressordb-product-page .cdb-gallery .woocommerce-product-gallery--without-images, .compressordb-product-page .cdb-gallery .no-gallery-thumbnails .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	overflow: hidden;
}

.compressordb-product-page .cdb-gallery .woocommerce-product-gallery__image > a {
	display: block;
	aspect-ratio: 1;
	padding: 16px;
	box-sizing: border-box;
}

.compressordb-product-page .cdb-gallery .woocommerce-product-gallery__image > a > img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
}

.compressordb-product-page .cdb-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
}

.compressordb-product-page .cdb-gallery .flex-control-thumbs li {
	flex: 0 0 52px;
	width: 52px;
	float: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.compressordb-product-page .cdb-gallery .flex-control-thumbs img {
	width: 52px;
	height: 52px;
	object-fit: contain;
	padding: 4px;
	box-sizing: border-box;
	border: 2px solid var(--cdb-border);
	border-radius: 8px;
}

.compressordb-product-page .cdb-gallery .flex-control-thumbs .flex-active, .compressordb-product-page .cdb-gallery .flex-control-thumbs img:hover {
	border-color: var(--cdb-accent);
}

.compressordb-product-page .cdb-quick-specs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 24px 0 0;
}

.compressordb-product-page .cdb-spec {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	background: #fff;
	padding: 16px 12px;
	text-align: center;
	box-sizing: border-box;
	line-height: 1.45;
}

.compressordb-product-page .cdb-spec dt {
	order: 1;
	font-size: 12px;
	font-weight: 600;
	color: var(--cdb-muted);
	margin-top: 4px;
}

.compressordb-product-page .cdb-spec dd {
	margin: 0;
	font-size: 19px;
	line-height: 1.45;
	font-weight: 800;
	overflow-wrap: break-word;
}

@media (max-width: 1080px) {
	.compressordb-product-page .cdb-hero, .compressordb-product-page .cdb-quick-specs {
		max-width: none;
	}
}

@media (max-width: 820px) {
	.compressordb-product-page .cdb-hero {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas: "info" "gallery" "actions";
		gap: 16px;
	}
	.compressordb-product-page .cdb-hero--no-image {
		grid-template-areas: "info" "actions";
	}
	.compressordb-product-page .cdb-gallery {
		width: 100%;
		max-width: 100%;
		justify-self: stretch;
	}
	.compressordb-product-page .cdb-quick-specs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.compressordb-product-page .cdb-spec-group .cdb-spec-table > div {
		padding: 11px 14px;
		font-size: 13.5px;
	}
	.compressordb-product-page > .post {
		padding: 0 14px 28px;
	}
	.compressordb-product-page .product_title {
		font-size: 22px;
	}
	.compressordb-product-page .cdb-quick-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Affiliate offers use saved Content Egg data only. */
.compressordb-product-page .cdb-price-ranges {
	margin: 0 0 20px;
}

.compressordb-product-page .cdb-price-range {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	margin-bottom: 6px;
}

.compressordb-product-page .cdb-price-range > span {
	font-size: 20px;
	font-weight: 700;
}

.compressordb-product-page .cdb-price-range strong {
	font-size: 28px;
	line-height: 1.3;
}

.compressordb-product-page .cdb-price-range small {
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-offers {
	margin-top: 28px;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	overflow: hidden;
}

.compressordb-product-page .cdb-offer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(95px, .8fr) minmax(90px, .7fr);
	border-top: 1px solid var(--cdb-border);
	font-size: 14px;
}

.compressordb-product-page .cdb-offer:first-child {
	border-top: 0;
}

.compressordb-product-page .cdb-offer-store {
	padding: 14px 12px;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-offer-store small {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	line-height: 1.4;
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-offer-price {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 14px 8px;
	background: #f2f4ee;
	font-weight: 700;
	text-align: center;
}

.compressordb-product-page .cdb-offer-price small {
	flex-basis: 100%;
	font-size: 11px;
	font-weight: 400;
}

.compressordb-product-page .cdb-offer-link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background: #1a56db;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	text-align: center;
}

.compressordb-product-page .cdb-offer-link:hover {
	background: #1544ad;
	color: #fff;
}

.compressordb-product-page .cdb-offer-link:focus-visible, .compressordb-product-page .cdb-review-count:focus-visible {
	outline: 2px solid var(--cdb-accent);
	outline-offset: -2px;
}

@media (max-width: 480px) {
	.compressordb-product-page .cdb-offer {
		grid-template-columns: minmax(0, 1fr) minmax(95px, .8fr);
	}
	.compressordb-product-page .cdb-offer-link {
		grid-column: 1 / -1;
	}
	.compressordb-product-page .cdb-price-range strong {
		font-size: 24px;
	}
}

/* Main content and its data-driven table of contents. */
.compressordb-product-page .cdb-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.compressordb-product-page .cdb-page-layout--with-toc {
	grid-template-columns: minmax(0, 1fr) 260px;
	grid-template-areas: "top toc" "body toc";
	column-gap: 40px;
	align-items: start;
}

.compressordb-product-page .cdb-page-layout--with-toc .cdb-product-top {
	grid-area: top;
}

.compressordb-product-page .cdb-product-top, .compressordb-product-page .cdb-product-body {
	min-width: 0;
}

.compressordb-product-page .cdb-product-body {
	grid-area: body;
}

.compressordb-product-page .cdb-toc {
	grid-area: toc;
	position: sticky;
	top: 90px;
	padding: 18px 20px;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
}

.compressordb-product-page .cdb-toc h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	letter-spacing: .3px;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 800;
	margin: 0 0 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--cdb-border);
}

.compressordb-product-page .cdb-toc h2 svg {
	flex: 0 0 16px;
}

.compressordb-product-page .cdb-toc-toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-align: left;
	opacity: 1;
	cursor: default;
}

.compressordb-product-page .cdb-toc-toggle:focus-visible {
	outline: 2px solid var(--cdb-accent);
	outline-offset: 4px;
}

.compressordb-product-page .cdb-toc ul {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.compressordb-product-page .cdb-toc .cdb-toc-list > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.compressordb-product-page .cdb-toc .cdb-toc-list > li::marker {
	content: '';
}

.compressordb-product-page .cdb-toc a {
	display: flex;
	gap: 6px;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--cdb-text);
	text-decoration: none;
}

.compressordb-product-page .cdb-toc a::before {
	content: "›";
	color: var(--cdb-accent);
}

.compressordb-product-page .cdb-toc a:hover {
	color: #1a73e8;
}

.compressordb-product-page .cdb-toc a:focus-visible {
	outline: 2px solid var(--cdb-accent);
	outline-offset: 3px;
}

.compressordb-product-page .cdb-body-section {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--cdb-border);
	scroll-margin-top: 110px;
}

.compressordb-product-page .cdb-body-section > h2 {
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	margin: 0 0 10px;
}

.compressordb-product-page .cdb-overview-content {
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-overview-content p {
	font-size: 16px;
	line-height: 26px;
	color: #333;
	margin: 0 0 10px;
}

.compressordb-product-page .cdb-spec-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 24px;
	align-items: start;
}

.compressordb-product-page .cdb-spec-group {
	min-width: 0;
}

.compressordb-product-page .cdb-spec-group h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
}

.compressordb-product-page .cdb-spec-group h3 svg {
	flex: 0 0 22px;
}

.compressordb-product-page .cdb-spec-table {
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	overflow: hidden;
	margin: 0;
	background: #fff;
}

.compressordb-product-page .cdb-spec-table > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	border-top: 1px solid var(--cdb-border);
	font-size: 14px;
	line-height: 1.45;
	background: #fff;
}

.compressordb-product-page .cdb-spec-table > div:first-child {
	border-top: 0;
}

.compressordb-product-page .cdb-spec-table dt {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	color: var(--cdb-muted);
	font-weight: 500;
}

.compressordb-product-page .cdb-spec-table dd {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	color: var(--cdb-text);
	font-weight: 600;
	text-align: right;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-strengths-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.compressordb-product-page .cdb-points {
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	padding: 18px 20px;
}

.compressordb-product-page .cdb-points:only-child {
	grid-column: 1 / -1;
}

.compressordb-product-page .cdb-points--pros {
	background: #f3faf5;
	border-color: #c7e5d0;
}

.compressordb-product-page .cdb-points--cons {
	background: #fffbef;
	border-color: #e9ddb1;
}

.compressordb-product-page .cdb-points h3 {
	font-size: 16px;
	line-height: 1.4;
	margin: 0 0 12px;
}

.compressordb-product-page .cdb-points ul {
	margin: 0;
	padding-left: 20px;
}

.compressordb-product-page .cdb-points ul > li {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-points ul > li:last-child {
	margin-bottom: 0;
}

@media (max-width: 1080px) {
	.compressordb-product-page .cdb-page-layout--with-toc {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "top" "toc" "body";
	}
	.compressordb-product-page .cdb-toc {
		position: static;
		margin-top: 28px;
	}
	.compressordb-product-page .cdb-toc-toggle {
		cursor: pointer;
	}
	.compressordb-product-page .cdb-toc-toggle::after {
		content: '';
		flex: 0 0 8px;
		height: 8px;
		margin-left: auto;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
	}
	.compressordb-product-page .cdb-toc.is-open .cdb-toc-toggle::after {
		transform: translateY(2px) rotate(-135deg);
	}
	.compressordb-product-page .cdb-toc.is-collapsible:not(.is-open) h2 {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
	}
	.compressordb-product-page .cdb-toc.is-collapsible:not(.is-open) .cdb-toc-list {
		display: none;
	}
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-spec-groups {
		row-gap: 22px;
	}
	.compressordb-product-page .cdb-spec-groups, .compressordb-product-page .cdb-strengths-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.compressordb-product-page .cdb-spec-table > div {
		padding: 12px;
		gap: 12px;
	}
}

/* Editorial lists share the existing content spacing and recommendation cards. */
.compressordb-product-page .cdb-editorial-lists {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.compressordb-product-page .cdb-feature-list {
	grid-column: 1 / -1;
}

.compressordb-product-page .cdb-feature-list ul {
	margin: 0;
	padding-left: 20px;
}

.compressordb-product-page .cdb-feature-list li {
	margin: 0 0 3px;
	font-size: 16px;
	line-height: 26px;
	color: #333;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-feature-list li:last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-editorial-lists {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* One flow per editorial section: subsequent text and headings wrap around floats. */
.compressordb-product-page .cdb-editorial-content {
	display: flow-root;
	overflow-wrap: anywhere;
	font-size: 16px;
	line-height: 26px;
	color: #333;
}

.compressordb-product-page .cdb-editorial-text {
	display: block;
	overflow: visible;
	clear: none;
	margin: 0 0 16px;
}

.compressordb-product-page .cdb-editorial-text p {
	clear: none;
	margin: 0 0 10px;
}

/* Ordinary editorial lists match body text; specialized list blocks keep their styles. */
.compressordb-product-page .cdb-editorial-list, .compressordb-product-page .cdb-editorial-text ul, .compressordb-product-page .cdb-editorial-text ol {
	margin: 0 0 10px;
	padding: 0 0 0 20px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	list-style-position: outside;
}

.compressordb-product-page ul.cdb-editorial-list, .compressordb-product-page .cdb-editorial-text ul {
	list-style-type: disc;
}

.compressordb-product-page ol.cdb-editorial-list, .compressordb-product-page .cdb-editorial-text ol {
	list-style-type: decimal;
}

.compressordb-product-page .cdb-editorial-list > li, .compressordb-product-page .cdb-editorial-text ul > li, .compressordb-product-page .cdb-editorial-text ol > li {
	display: list-item;
	margin: 0 0 3px;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	list-style-type: inherit;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-editorial-list > li:last-child, .compressordb-product-page .cdb-editorial-text ul > li:last-child, .compressordb-product-page .cdb-editorial-text ol > li:last-child {
	margin-bottom: 0;
}

.compressordb-product-page .cdb-editorial-text li > ul, .compressordb-product-page .cdb-editorial-text li > ol {
	margin-top: 8px;
	margin-bottom: 0;
}

.compressordb-product-page .cdb-editorial-content h3, .compressordb-product-page .cdb-editorial-content h4, .compressordb-product-page .cdb-editorial-content h5 {
	clear: none;
	color: var(--cdb-text);
	font-weight: 700;
	line-height: 1.4;
	margin: 22px 0 10px;
}

.compressordb-product-page .cdb-editorial-content h3 {
	font-size: 16px;
	margin: 14px 0 6px;
}

.compressordb-product-page .cdb-editorial-content h4 {
	font-size: 16px;
}

.compressordb-product-page .cdb-editorial-content > :first-child {
	margin-top: 0;
}

.compressordb-product-page .cdb-editorial-image {
	box-sizing: border-box;
	max-width: 100%;
	margin: 0 0 18px;
}

.compressordb-product-page .cdb-editorial-image--small {
	width: 25%;
}

.compressordb-product-page .cdb-editorial-image--medium {
	width: 38%;
}

.compressordb-product-page .cdb-editorial-image--large {
	width: 50%;
}

.compressordb-product-page .cdb-editorial-image--right {
	float: right;
	clear: both;
	margin-left: 24px;
}

.compressordb-product-page .cdb-editorial-image--left {
	float: left;
	clear: both;
	margin-right: 24px;
}

.compressordb-product-page .cdb-editorial-image--full {
	float: none;
	clear: both;
	width: 100%;
	text-align: center;
}

.compressordb-product-page .cdb-editorial-image img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.compressordb-product-page .cdb-editorial-image--full.cdb-editorial-image--small img {
	max-width: 360px;
}

.compressordb-product-page .cdb-editorial-image--full.cdb-editorial-image--medium img {
	max-width: 640px;
}

.compressordb-product-page .cdb-editorial-image--full.cdb-editorial-image--large img {
	max-width: 100%;
}

.compressordb-product-page .cdb-editorial-image figcaption {
	font-size: 13px;
	line-height: 1.5;
	color: var(--cdb-muted);
	margin-top: 8px;
}

@media (max-width: 820px) {
	.compressordb-product-page .cdb-editorial-image {
		float: none;
		clear: both;
		width: 100%;
		margin: 18px 0;
	}
	.compressordb-product-page .cdb-editorial-image img {
		box-sizing: border-box;
		border: 1px solid #e0e0e0;
		border-radius: 10px;
		overflow: hidden;
		padding: 10px;
	}
	.compressordb-product-page .cdb-editorial-image figcaption {
		text-align: center;
	}
}

.compressordb-product-page .cdb-editorial-content h5 {
	font-size: 14px;
}

.compressordb-product-page .cdb-editorial-shortcode {
	clear: both;
	margin: 18px 0;
}

/* Editorial two-column lists are blocks, not separate page sections. */
.compressordb-product-page .cdb-paired-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	clear: both;
	margin: 18px 0;
}

.compressordb-product-page .cdb-paired-card {
	border: 1px solid;
	border-radius: 10px;
	padding: 18px 20px;
	min-width: 0;
}

.compressordb-product-page .cdb-paired-card:only-child {
	grid-column: 1 / -1;
}

.compressordb-product-page .cdb-paired-card--left {
	background: #f3faf5;
	border-color: #c7e5d0;
}

.compressordb-product-page .cdb-paired-card--right {
	background: #fff4f3;
	border-color: #efc7c3;
}

.compressordb-product-page .cdb-paired-card h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .3px;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.compressordb-product-page .cdb-paired-card h3 svg {
	flex: 0 0 26px;
}

.compressordb-product-page .cdb-paired-card--left h3 {
	color: #1a7f4e;
}

.compressordb-product-page .cdb-paired-card--right h3 {
	color: #c8102e;
}

.compressordb-product-page .cdb-paired-card ul {
	margin: 0;
	padding-left: 20px;
}

.compressordb-product-page .cdb-paired-card ul > li {
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 8px;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-paired-card ul > li:last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-paired-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Editor-authored status rows; colors do not determine compatibility. */
.compressordb-product-page .cdb-status-list {
	clear: both;
	margin: 18px 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	overflow: hidden;
}

.compressordb-product-page .cdb-status-list__row {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: 6px 8px;
	margin: 0;
	padding: 16px 20px;
	list-style: none;
	border-bottom: 1px solid var(--cdb-border);
	font-size: 15px;
	line-height: 1.6;
}

.compressordb-product-page .cdb-status-list__row:last-child {
	border-bottom: 0;
}

.compressordb-product-page .cdb-status-list__dot {
	grid-column: 1;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	border-radius: 50%;
}

.compressordb-product-page .cdb-status-list__dot--green {
	background: #278345;
}

.compressordb-product-page .cdb-status-list__dot--yellow {
	background: #c58b08;
}

.compressordb-product-page .cdb-status-list__dot--red {
	background: #c43832;
}

.compressordb-product-page .cdb-status-list__dot--gray {
	background: #777b82;
}

.compressordb-product-page .cdb-status-list__dot--blue {
	background: #2876bb;
}

.compressordb-product-page .cdb-status-list__left {
	grid-column: 2;
	color: var(--text-muted, var(--cdb-muted));
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-status-list__left:last-child {
	grid-column: 2 / -1;
}

.compressordb-product-page .cdb-status-list__right {
	grid-column: 3;
	text-align: right;
	font-weight: 600;
	color: var(--text, var(--cdb-text));
	min-width: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-status-list__row {
		grid-template-columns: 18px minmax(0, 1fr) minmax(0, 1fr);
		gap: 8px;
		padding: 11px 14px;
		font-size: 13.5px;
		line-height: 1.45;
	}
	.compressordb-product-page .cdb-status-list__dot {
		width: 18px;
		height: 18px;
		margin-top: 1px;
	}
}

/* Manual editorial scale; labels and marker position are independent inputs. */
.compressordb-product-page .cdb-range-scale {
	clear: both;
	margin: 24px 0;
	padding: 20px;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	color: var(--cdb-text);
}

.compressordb-product-page .cdb-range-scale__item + .cdb-range-scale__item {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--cdb-border);
}

.compressordb-product-page .cdb-range-scale__title {
	display: block;
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-range-scale__point {
	position: relative;
	left: var(--cdb-range-position);
	transform: translateX(-50%);
	box-sizing: border-box;
	width: max-content;
	max-width: min(18rem, calc(var(--cdb-range-position) + var(--cdb-range-position)), calc(200% - var(--cdb-range-position) - var(--cdb-range-position)));
	margin-bottom: 14px;
	color: var(--cdb-accent);
	font-size: 14px;
	line-height: 1.4;
	font-weight: 700;
	text-align: center;
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-range-scale--left .cdb-range-scale__point {
	transform: none;
	max-width: min(18rem, calc(100% - var(--cdb-range-position)));
	text-align: left;
}

.compressordb-product-page .cdb-range-scale--right .cdb-range-scale__point {
	transform: translateX(-100%);
	max-width: min(18rem, var(--cdb-range-position));
	text-align: right;
}

.compressordb-product-page .cdb-range-scale__track {
	position: relative;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(to right, #ed5550 0%, #f0c43c 50%, #46b16d 100%);
}

.compressordb-product-page .cdb-range-scale__marker {
	position: absolute;
	left: var(--cdb-range-position);
	top: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid #fff;
	outline: 1px solid var(--cdb-accent);
	border-radius: 50%;
	background: var(--cdb-accent);
}

.compressordb-product-page .cdb-range-scale__labels {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 12px;
	color: var(--cdb-muted);
	font-size: 11px;
	line-height: 1.4;
	font-weight: 700;
}

.compressordb-product-page .cdb-range-scale__labels > :nth-child(2) {
	text-align: center;
}

.compressordb-product-page .cdb-range-scale__labels > :last-child {
	text-align: right;
}

.compressordb-product-page .cdb-range-scale__values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 4px;
	color: var(--cdb-muted);
	font-size: 12px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-range-scale__values > :last-child {
	text-align: right;
}

.compressordb-product-page .cdb-range-scale__description {
	margin-top: 18px;
	color: var(--cdb-text);
	font-size: inherit;
	line-height: inherit;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-range-scale__description p {
	margin: 0 0 12px;
}

.compressordb-product-page .cdb-range-scale__description > :first-child {
	margin-top: 0;
}

.compressordb-product-page .cdb-range-scale__description > :last-child {
	margin-bottom: 0;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-range-scale {
		padding: 16px;
	}
	.compressordb-product-page .cdb-range-scale__title {
		font-size: 15px;
	}
	.compressordb-product-page .cdb-range-scale__point {
		font-size: 12px;
	}
	.compressordb-product-page .cdb-range-scale__labels {
		font-size: 10px;
	}
}

/* YouTube previews load the actual player only after activation. */
.compressordb-product-page .cdb-video-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	clear: both;
	margin: 20px 0;
}

.compressordb-product-page .cdb-video-item {
	min-width: 0;
}

.compressordb-product-page .cdb-video-item:only-child {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 560px;
}

.compressordb-product-page .cdb-video-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	background: #1c1c1c;
}

.compressordb-product-page .cdb-video-preview {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: inherit;
	background: #1c1c1c;
	color: #fff;
	box-shadow: none;
	cursor: pointer;
	text-transform: none;
}

.compressordb-product-page .cdb-video-thumbnail {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .8;
}

.compressordb-product-page .cdb-video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	width: 0;
	height: 0;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 28px solid #fff;
}

.compressordb-product-page .cdb-video-badge {
	position: absolute;
	bottom: 12px;
	right: 12px;
	padding: 8px 12px;
	border-radius: 6px;
	background: rgba(0, 0, 0, .85);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.compressordb-product-page .cdb-video-preview:hover .cdb-video-thumbnail {
	opacity: 1;
}

.compressordb-product-page .cdb-video-preview:focus-visible {
	outline: 3px solid #fff;
	outline-offset: -5px;
}

.compressordb-product-page .cdb-video-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.compressordb-product-page .cdb-video-title {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 600;
	overflow-wrap: anywhere;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-video-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.compressordb-product-page .cdb-video-item:only-child {
		max-width: 100%;
	}
}

/* Editorial notices and the static specifications notice. */
.compressordb-product-page .cdb-notice {
	--cdb-notice-color: #28618b;
	--cdb-notice-bg: #f0f7fc;
	--cdb-notice-border: #c8dfef;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	clear: both;
	margin: 18px 0;
	padding: 18px 20px;
	border: 1px solid var(--cdb-notice-border);
	border-radius: 10px;
	background: var(--cdb-notice-bg);
	color: var(--cdb-text);
	font-size: 16px;
	line-height: 26px;
}

.compressordb-product-page .cdb-notice--question {
	--cdb-notice-color: #655395;
	--cdb-notice-bg: #f7f4fc;
	--cdb-notice-border: #ddd3ef;
}

.compressordb-product-page .cdb-notice--warning {
	--cdb-notice-color: #805900;
	--cdb-notice-bg: #fff9e9;
	--cdb-notice-border: #ead8a2;
}

.compressordb-product-page .cdb-notice--success {
	--cdb-notice-color: #267044;
	--cdb-notice-bg: #f1f9f4;
	--cdb-notice-border: #c6e3cf;
}

.compressordb-product-page .cdb-notice__icon {
	display: flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	height: 32px;
	color: var(--cdb-notice-color);
}

.compressordb-product-page .cdb-notice__content {
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
	font-size: 13px; !important
}

.compressordb-product-page .cdb-notice__content p {
	margin: 0 0 12px;
}

.compressordb-product-page .cdb-notice__content > :first-child {
	margin-top: 0;
}

.compressordb-product-page .cdb-notice__content > :last-child {
	margin-bottom: 0;
}

.compressordb-product-page .cdb-notice.cdb-specifications-notice {
	--cdb-notice-color: #4a90d9;
	--cdb-notice-bg: #eef4fb;
	--cdb-notice-border: #cfe0f2;
	padding: 14px 16px;
	gap: 10px;
	border-radius: 8px;
	border-left: 3px solid var(--cdb-notice-color);
	margin-bottom: 0;
	font-size: 13px;
	line-height: 1.55;
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-specifications-notice .cdb-notice__content {
	font-size: 13px;
	line-height: 1.55;
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-specifications-notice .cdb-notice__icon {
	flex-basis: 18px;
	height: 18px;
}

.compressordb-product-page .cdb-specifications-notice .cdb-notice__icon svg {
	width: 18px;
	height: 18px;
}

/* Attachment links use native navigation; no frontend JavaScript is needed. */
.compressordb-product-page .cdb-documents {
	display: grid;
	gap: 14px;
	clear: both;
	margin: 18px 0;
}

.compressordb-product-page .cdb-document {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--cdb-border);
	border-radius: 10px;
	color: var(--cdb-text);
}

.compressordb-product-page .cdb-document__icon {
	display: flex;
	justify-content: center;
	color: var(--cdb-muted);
}

.compressordb-product-page .cdb-document__text {
	min-width: 0;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-document__title {
	display: block;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
}

.compressordb-product-page .cdb-document__description {
	margin: 4px 0 0;
	color: var(--cdb-muted);
	font-size: 14px;
	line-height: 1.6;
}

.compressordb-product-page .cdb-document__button {
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	padding: 9px 16px;
	border: 1px solid var(--cdb-border);
	border-radius: 6px;
	color: var(--cdb-text);
	background: #f7f7f5;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.compressordb-product-page .cdb-document__button:hover {
	border-color: var(--cdb-accent);
	color: var(--cdb-accent);
}

.compressordb-product-page .cdb-document__button:focus-visible {
	outline: 2px solid var(--cdb-accent);
	outline-offset: 3px;
}

@media (max-width: 640px) {
	.compressordb-product-page .cdb-notice {
		padding: 14px;
		gap: 10px;
	}
	.compressordb-product-page .cdb-document {
		grid-template-columns: 28px minmax(0, 1fr);
		padding: 14px;
		gap: 10px 12px;
	}
	.compressordb-product-page .cdb-document__button {
		grid-column: 2;
		justify-self: start;
	}
}

/* Manually selected WooCommerce upsells. */
.compressordb-product-page .cdb-similar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.compressordb-product-page .cdb-similar-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--cdb-border); border-radius: 10px; background: #fff; }
.compressordb-product-page .cdb-similar-image { display: block; aspect-ratio: 1; }
.compressordb-product-page .cdb-similar-image img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; }
.compressordb-product-page .cdb-similar-title { margin: 0; font-size: 14px; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.compressordb-product-page .cdb-similar-title a { color: #1a73e8; text-decoration: none; }
.compressordb-product-page .cdb-similar-title a:hover { text-decoration: underline; }
.compressordb-product-page .cdb-similar-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--cdb-muted); }
.compressordb-product-page .cdb-similar-rating .star-rating, .compressordb-product-page .cdb-similar-rating .rh_woo_star { float: none; margin: 0; }
.compressordb-product-page .cdb-similar-rating .rhwoostar.active { color: #f5a623; }
.compressordb-product-page .cdb-similar-compare { margin-top: auto; }
.compressordb-product-page .cdb-similar-compare .wpsm-button { display: flex; align-items: center; justify-content: center; gap: 6px; box-sizing: border-box; width: 100%; margin: 0; padding: 9px 8px; border: 1px solid var(--cdb-border); border-radius: 6px; background: #fff; color: var(--cdb-text); box-shadow: none; font-size: 13px; line-height: 1.4; cursor: pointer; }
.compressordb-product-page .cdb-similar-compare .wpsm-button i { margin: 0; }
.compressordb-product-page .cdb-similar-compare .wpsm-button:hover, .compressordb-product-page .cdb-similar-compare .comparing { border-color: var(--cdb-accent); color: var(--cdb-accent); }
@media (max-width: 1080px) {
	.compressordb-product-page .cdb-similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.compressordb-product-page .cdb-similar-grid { gap: 10px; }
	.compressordb-product-page .cdb-similar-card { padding: 10px; }
}
/* Native WooCommerce customer reviews; no Editor Review styling. */
.compressordb-product-page .cdb-reviews { margin-top: 28px; color: var(--cdb-text); }
.compressordb-product-page .cdb-review-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; margin: 16px 0; background: #f7f8f9; border: 1px solid var(--cdb-border); border-radius: 10px; }
.compressordb-product-page .cdb-review-filters a { padding: 8px 14px; border: 1px solid var(--cdb-border); border-radius: 20px; background: #fff; color: var(--cdb-text); font-size: 13px; font-weight: 600; text-decoration: none; }
.compressordb-product-page .cdb-review-filters a[aria-current] { background: #dbe9fd; border-color: #dbe9fd; color: #1a56db; }
.compressordb-product-page .cdb-review-filters .cdb-review-add { margin-left: auto; background: #1a1a1a; color: #fff; }
.compressordb-product-page .cdb-reviews ol.commentlist { margin: 0; padding: 0; list-style: none; }
.compressordb-product-page .cdb-reviews .commentlist > .cdb-review-item { margin: 0 0 20px; padding: 0; list-style: none; }
.compressordb-product-page .cdb-review-item::marker { content: ''; }
.compressordb-product-page .cdb-review-card { padding: 20px; border: 1px solid var(--cdb-border); border-radius: 10px; background: #fff; }
.compressordb-product-page .cdb-review-header { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid var(--cdb-border); }
.compressordb-product-page .cdb-review-header .avatar { float: none; position: static; width: 42px; height: 42px; border-radius: 50%; margin: 0; }
.compressordb-product-page .cdb-review-header strong { font-size: 14px; }
.compressordb-product-page .cdb-review-header time { display: block; font-size: 12px; color: var(--cdb-muted); }
.compressordb-product-page .cdb-review-body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 16px 24px; align-items: start; }
.compressordb-product-page .cdb-review-text { min-width: 0; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.compressordb-product-page .cdb-review-text p { margin: 0 0 10px; }
.compressordb-product-page .cdb-review-ratings { grid-column: 2; grid-row: 1 / span 2; padding: 16px; border: 1px solid var(--cdb-border); border-radius: 8px; }
.compressordb-product-page .cdb-review-ratings > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-size: 13px; }
.compressordb-product-page .cdb-review-stars { color: #f5a623; white-space: nowrap; font-size: 18px; line-height: 1.4; }
.compressordb-product-page .cdb-review-stars-empty { color: #d9dce1; }
.compressordb-product-page .cdb-review-notes { grid-column: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 14px 16px; background: #f7f8f9; border-radius: 8px; font-size: 14px; overflow-wrap: anywhere; }
.compressordb-product-page .cdb-review-notes > :only-child { grid-column: 1 / -1; }
.compressordb-product-page .cdb-review-notes p { margin: 8px 0 0; line-height: 1.6; }
.compressordb-product-page .cdb-review-pros > strong { color: #1c9a5b; }
.compressordb-product-page .cdb-review-cons > strong { color: #d9483a; }
.compressordb-product-page .cdb-review-votes { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--cdb-border); }
.compressordb-product-page .cdb-review-votes button { padding: 0; background: none; border: 0; box-shadow: none; font: inherit; font-size: 13px; cursor: pointer; }
.compressordb-product-page .cdb-review-votes [data-vote="helpful"] { color: #1c9a5b; }
.compressordb-product-page .cdb-review-votes [data-vote="unhelpful"] { color: #d9483a; }
.compressordb-product-page .cdb-review-votes button:disabled { cursor: default; opacity: .65; }
.compressordb-product-page .cdb-review-vote-status { font-size: 12px; color: var(--cdb-muted); }
.compressordb-product-page .cdb-reviews #review_form_wrapper { margin-top: 24px; padding: 24px; background: #fbfbfc; border: 1px solid var(--cdb-border); border-radius: 10px; scroll-margin-top: 100px; }
.compressordb-product-page .cdb-reviews .comment-reply-title { display: block; margin-bottom: 16px; font-size: 20px; font-weight: 700; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form { display: flex; flex-wrap: wrap; gap: 14px 16px; margin: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form > * { flex: 1 1 100%; min-width: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-author, .compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-email { flex-basis: calc(50% - 8px); }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form p { margin: 0; padding: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form label { display: block; margin-bottom: 5px; font-size: 13px; line-height: 1.4; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form input:not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="file"]), .compressordb-product-page .cdb-reviews #review_form #respond .comment-form textarea, .compressordb-product-page .cdb-reviews #review_form #respond .comment-form select { width: 100%; max-width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--cdb-border); border-radius: 6px; background: #fff; color: var(--cdb-text); font: inherit; }
.compressordb-product-page .cdb-review-fields { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.compressordb-product-page .cdb-review-input-ratings, .compressordb-product-page .cdb-review-input-notes { display: grid; gap: 14px; min-width: 0; align-content: start; }
.compressordb-product-page .cdb-review-total { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; font-weight: 700; line-height: 1.4; }
.compressordb-product-page .cdb-review-total output { display: block; font-size: 20px; line-height: 1.4; color: #f5a623; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form input[type="submit"] { width: 110px; max-width: 100%; height: 40px; margin: 0; padding: 0 16px; font-size: 13px; line-height: 40px; border: 0; border-radius: 6px; background: #1a1a1a; color: #fff; cursor: pointer; }
@media (max-width: 640px) {
	.compressordb-product-page .cdb-review-body, .compressordb-product-page .cdb-review-fields, .compressordb-product-page .cdb-review-notes { grid-template-columns: minmax(0, 1fr); }
	.compressordb-product-page .cdb-review-ratings { grid-column: 1; grid-row: auto; }
	.compressordb-product-page .cdb-review-filters .cdb-review-add { margin-left: 0; }
	.compressordb-product-page .cdb-reviews #review_form_wrapper, .compressordb-product-page .cdb-review-card { padding: 16px; }
	.compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-author, .compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-email { flex-basis: 100%; }
}

.compressordb-product-page .cdb-reviews #review_form { margin: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond { margin: 0; padding: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form-comment textarea { display: block; width: 100%; height: 110px; min-height: 100px; margin: 0; resize: vertical; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form input[type="text"], .compressordb-product-page .cdb-reviews #review_form #respond .comment-form input[type="email"] { height: 40px; margin: 0; padding: 8px 12px; font-size: 13px; }
.compressordb-product-page .cdb-reviews #review_form #respond .cdb-review-slider label { margin: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .form-submit { margin: 0; padding: 0; }
.compressordb-product-page .cdb-review-slider input::-webkit-slider-runnable-track { height: 4px; border: 1px solid #c5cbd2; border-radius: 3px; background: linear-gradient(to right, #1a73e8 0%, #1a73e8 var(--cdb-range-fill, 0%), #e5e7eb var(--cdb-range-fill, 0%), #e5e7eb 100%); }
.compressordb-product-page .cdb-review-slider input::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -6px; border: 0; border-radius: 50%; background: #1a73e8; }
.compressordb-product-page .cdb-review-slider input::-moz-range-track { height: 4px; box-sizing: border-box; border: 1px solid #c5cbd2; border-radius: 3px; background: #e5e7eb; }
.compressordb-product-page .cdb-review-slider input::-moz-range-progress { height: 4px; border-radius: 3px; background: #1a73e8; }
.compressordb-product-page .cdb-review-slider input::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: #1a73e8; }
@media (max-width: 820px) {
 .compressordb-product-page .cdb-review-fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
 .compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-author, .compressordb-product-page .cdb-reviews #review_form #respond .comment-form > .comment-form-email { flex-basis: 100%; }
}

/* Extended customer review controls and photos. */
.compressordb-product-page .cdb-review-slider { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 12px; }
.compressordb-product-page .cdb-review-slider output { color: #f5a623; font-size: 20px; line-height: 1.4; white-space: nowrap; }
.compressordb-product-page .cdb-reviews #review_form #respond .comment-form input[type="range"] { grid-column: 1 / -1; appearance: none; -webkit-appearance: none; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; height: 20px; background: transparent; accent-color: #1a73e8; cursor: pointer; }
.compressordb-product-page .cdb-reviews input:focus-visible, .compressordb-product-page .cdb-reviews textarea:focus-visible, .compressordb-product-page .cdb-review-gallery a:focus-visible { outline: 2px solid #1a73e8; outline-offset: 3px; }
.compressordb-product-page .cdb-review-input-notes small, .compressordb-product-page .cdb-review-upload small { display: block; margin-bottom: 5px; color: var(--cdb-muted); font-size: 11px; line-height: 1.4; }
.compressordb-product-page .cdb-reviews #review_form #respond .cdb-review-input-notes textarea { height: 100px; min-height: 95px; margin: 0; resize: vertical; }
.compressordb-product-page .cdb-review-upload { position: relative; min-width: 0; }
.compressordb-product-page .cdb-reviews #review_form #respond .cdb-review-upload input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.compressordb-product-page .cdb-review-upload label { cursor: pointer; }
.compressordb-product-page .cdb-review-upload label::after { content: '↑\a Upload Photos'; display: flex; align-items: center; justify-content: center; white-space: pre; text-align: center; box-sizing: border-box; height: 70px; margin-top: 8px; border: 1px solid var(--cdb-border); border-radius: 6px; background: #fff; color: #1a73e8; font-size: 14px; font-weight: 600; line-height: 22px; }
.compressordb-product-page .cdb-review-upload:focus-within label::after { outline: 2px solid #1a73e8; outline-offset: 3px; }
.compressordb-product-page .cdb-review-upload output { display: block; color: var(--cdb-muted); font-size: 12px; }
.compressordb-product-page .cdb-review-notes .cdb-review-note-list { list-style: none; margin: 8px 0 0; padding: 0; }
.compressordb-product-page .cdb-review-notes .cdb-review-note-list > li { position: relative; margin: 0 0 6px; padding: 0 0 0 18px; line-height: 1.6; }
.compressordb-product-page .cdb-review-pros li::before { content: '✓'; position: absolute; left: 0; color: #1c9a5b; }
.compressordb-product-page .cdb-review-cons li::before { content: '−'; position: absolute; left: 0; color: #d9483a; }
.compressordb-product-page .cdb-review-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.compressordb-product-page .cdb-review-gallery a { display: block; width: 80px; max-width: 100%; }
.compressordb-product-page .cdb-review-gallery img { display: block; width: 80px; height: 80px; max-width: 100%; object-fit: cover; border-radius: 8px; margin: 0; }

/* Approved customer review aggregates. */
.compressordb-product-page .cdb-reviews .cdb-review-photos { position: relative; min-width: 0; margin: 16px 0 20px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding-bottom: 6px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-track a { flex: 0 0 calc((100% - 48px) / 5); min-width: 0; aspect-ratio: 1; scroll-snap-align: start; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-track img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: 9px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-nav { display: flex; justify-content: space-between; margin-top: 6px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-nav[hidden] { display: none; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-nav button { width: 32px; height: 32px; padding: 0; border: 1px solid var(--cdb-border); border-radius: 50%; background: #fff; color: var(--cdb-text); font-size: 22px; cursor: pointer; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-nav button:disabled { opacity: .4; cursor: default; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-viewer { max-width: 90vw; max-height: 90vh; padding: 40px 12px 12px; border: 0; border-radius: 10px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-viewer::backdrop { background: rgb(0 0 0 / 75%); }
.compressordb-product-page .cdb-reviews .cdb-review-photo-viewer img { display: block; max-width: 85vw; max-height: 75vh; width: auto; height: auto; object-fit: contain; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-viewer button { position: absolute; top: 4px; right: 8px; border: 0; background: transparent; color: #222; font-size: 26px; cursor: pointer; }
.compressordb-product-page .cdb-review-summary { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: 28px; padding: 24px; margin: 20px 0; border: 1px solid var(--cdb-border); border-radius: 10px; background: #fff; }
.compressordb-product-page .cdb-review-summary--overall-only { grid-template-columns: 1fr; }
.compressordb-product-page .cdb-review-summary-overall { text-align: center; }
.compressordb-product-page .cdb-review-summary-overall p { margin: 10px 0 4px; font-size: 13px; color: var(--cdb-muted); }
.compressordb-product-page .cdb-review-summary-overall a { font-size: 13px; }
.compressordb-product-page .cdb-review-score { max-width: 120px; margin: auto; border-radius: 8px; overflow: hidden; }
.compressordb-product-page .cdb-review-score strong { display: block; padding: 12px; background: var(--cdb-accent, #eb4430); color: #fff; font-size: 32px; line-height: 1; }
.compressordb-product-page .cdb-review-score span { display: block; padding: 7px 4px; background: #1a1a1a; color: #fff; font-size: 11px; font-weight: 700; }
.compressordb-product-page .cdb-review-summary-criteria { display: grid; gap: 14px; min-width: 0; }
.compressordb-product-page .cdb-review-summary-criterion { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; font-size: 14px; }
.compressordb-product-page .cdb-review-summary-criterion progress { grid-column: 1 / -1; appearance: none; width: 100%; height: 8px; border: 0; border-radius: 5px; overflow: hidden; background: #e5e7eb; color: #1a73e8; }
.compressordb-product-page .cdb-review-summary-criterion progress::-webkit-progress-bar { background: #e5e7eb; border-radius: 5px; }
.compressordb-product-page .cdb-review-summary-criterion progress::-webkit-progress-value { background: #1a73e8; border-radius: 5px; }
.compressordb-product-page .cdb-review-summary-criterion progress::-moz-progress-bar { background: #1a73e8; border-radius: 5px; }
.compressordb-product-page .cdb-reviews .cdb-review-photo-track:focus-visible, .compressordb-product-page .cdb-reviews .cdb-review-photos a:focus-visible, .compressordb-product-page .cdb-reviews .cdb-review-photos button:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }
@media (max-width: 820px) {
 .compressordb-product-page .cdb-review-summary { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 18px; }
 .compressordb-product-page .cdb-reviews .cdb-review-photo-track a { flex-basis: calc((100% - 24px) / 3); }
}
@media (max-width: 480px) {
 .compressordb-product-page .cdb-reviews .cdb-review-photo-track a { flex-basis: calc((100% - 12px) / 2.3); }
 .compressordb-product-page .cdb-reviews .cdb-review-photo-nav { display: none; }
}
