/* ==========================================================================
   Review Maker - Frontend Styles
   ========================================================================== */

/* Lazy Loading */
.rm__lazy-loading {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.rm__lazy-loaded {
	opacity: 1;
}

.rm__gallery-image.rm__lazy-loading,
.rm__gallery-image.rm__lazy-loaded {
	transition: opacity 0.3s ease-in-out;
}

/* Quick Navigation */
.rm__quick-nav {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 1em;
	margin-bottom: 2em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.rm__quick-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

.rm__quick-nav-item {
	margin: 0;
	padding: 0;
}

.rm__quick-nav-link {
	display: inline-block;
	padding: 0.5em 1em;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	color: #2c3338;
	text-decoration: none;
	font-size: 0.9em;
	font-weight: 500;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.rm__quick-nav-link:hover {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-color: #667eea;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
}

.rm__quick-nav-link.is-active {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-color: #667eea;
	color: #fff;
	font-weight: 600;
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}

/* ==========================================================================
   Single Review Maker Styles (rm__ prefix with double underscore)
   ========================================================================== */

/* Main Container */
.rm {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2em 1em;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: #1a1a1a;
	line-height: 1.7;
}

.rm h1, .rm h2, .rm h3, .rm h4, .rm h5, .rm h6 {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: #0d0d0d;
	margin-top: 0;
	line-height: 1.3;
}

/* Hero Section - Complete Redesign */
.rm__hero {
	position: relative;
	margin: 3em 0 4em;
	padding: 0;
	background: #ffffff;
	overflow: hidden;
}

.rm__hero-container {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 3em;
	padding: 0em;
	position: relative;
}

@media (max-width: 968px) {
	.rm__hero-container {
		grid-template-columns: 1fr;
		gap: 2em;
		padding: 0,5em;
	}
}

@media (max-width: 768px) {
	.rm__hero {
		margin: 2em 0 3em;
	}
	
	.rm__hero-container {
		padding: 0em;
		gap: 1.5em;
	}
}

/* Hero Rating Ribbon - Modern Badge Design */
.rm__hero-rating-ribbon {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	gap: 0.75em;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	padding: 0.5em 0.75em;
	border-radius:8px;
	z-index: 10;
	backdrop-filter: blur(10px);
	transform: translateY(0);
	transition: transform 0.3s ease;
}

.rm__hero-rating-ribbon:hover {
	transform: translateY(-2px);
}

.rm__hero-rating-ribbon-icon {
	font-size: 1.75em;
	line-height: 1;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.rm__hero-rating-ribbon-content {
	display: flex;
	flex-direction: column;
	gap: 0.15em;
	align-items: flex-start;
}

.rm__hero-rating-ribbon-value {
	font-size: 1.75em;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.5px;
}

.rm__hero-rating-ribbon-label {
	font-size: 0.7em;
	opacity: 0.95;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
}

/* Hero Image - Modern Card Design */
.rm__hero-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	padding: 2em;
	border: solid 1px #e9ecef;	
	border-radius: 8px;	
	min-height: 350px;
	position: relative;
	overflow: hidden;
	transition: border-color 0.3s ease;
}

.rm__hero-image-wrapper:hover {
	border-color: #667eea;
}

.rm__hero-image-link {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	position: relative;
	z-index: 2;
}

.rm__hero-image {
	max-width: 100%;
	height: auto;
	max-height: 450px;
	object-fit: contain;
}

.rm__hero-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 350px;
	color: #adb5bd;
	font-style: italic;
	font-size: 1.1em;
	position: relative;
	z-index: 2;
}

/* Hero Specs - Modern Grid Cards */
.rm__hero-specs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1em;
	position: relative;
	z-index: 2;
}

.rm__hero-spec-item {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding: 1.25em;
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius:8px;
	position: relative;
	transition: border-color 0.3s ease;
}

.rm__hero-spec-item:hover {
	border-color: #667eea;
}

.rm__hero-spec-item.rm__hero-spec-hidden {
	display: none;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
	transition: opacity 0.3s ease, max-height 0.3s ease, padding 0.3s ease, margin 0.3s ease;
}

.rm__hero-specs[data-expanded="true"] .rm__hero-spec-item.rm__hero-spec-hidden {
	display: flex;
	opacity: 1;
	max-height: 200px;
	padding: 1.25em;
	margin: 0;
}

.rm__hero-spec-icon {
	font-size: 1.5em;
	line-height: 1;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
}

.rm__hero-spec-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4em;
	min-width: 0;
}

.rm__hero-spec-label {
	font-size: 0.8em;
	font-weight: 700;
	color: #6c757d;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	line-height: 1.2;
}

.rm__hero-spec-value {
	font-size: 1.05em;
	color: #0d0d0d;
	font-weight: 600;
	line-height: 1.4;
	word-break: break-word;
}

/* Hero Specs Toggle Button - Modern Design */
.rm__hero-specs-toggle {
	grid-column: 1 / -1;
	width: 100%;
	padding: 1em 1.5em;
	margin-top: 0.5em;
	background: #ffffff;
	border: 1px solid #dee2e6;
	border-radius:8px;
	color: #495057;
	font-size: 0.95em;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75em;
	position: relative;
}

.rm__hero-specs-toggle:hover {
	background: #ffffff;
	border-color: #667eea;
	color: #667eea;
}

.rm__hero-specs-toggle[aria-expanded="true"] {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-color: #667eea;
	color: #fff;
}

.rm__hero-specs-toggle[aria-expanded="true"] .rm__hero-specs-toggle-show {
	display: none;
}

.rm__hero-specs-toggle[aria-expanded="false"] .rm__hero-specs-toggle-hide {
	display: none;
}

.rm__hero-specs-toggle-icon {
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	font-size: 0.9em;
}

.rm__hero-specs-toggle[aria-expanded="true"] .rm__hero-specs-toggle-icon {
	transform: rotate(180deg);
}

/* Specs Table Section - Semantic HTML table (SEO, featured snippets) */
.specs-table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: 15px;
}

.specs-table th,
.specs-table td {
	padding: 12px 14px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: top;
}

.specs-table th {
	font-weight: 600;
	width: 35%;
	color: #111;
}

.specs-table tr:nth-child(even) {
	background-color: #fafafa;
}

.specs-table tr:last-child th,
.specs-table tr:last-child td {
	border-bottom: none;
}

/* Legacy: wrapper and table content (when used with rm__specs-table-content) */
.rm__specs-table-content.specs-table {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	border: 1px solid #f1f3f5;
}

.rm__specs-table-content.specs-table tbody tr:hover {
	background-color: rgba(102, 126, 234, 0.03);
}

.specs-table tr:nth-child(even):hover,
.specs-table tr:nth-child(odd):hover {
	background-color: rgba(102, 126, 234, 0.05);
}

/* Mobile: horizontal scroll so table does not break */
@media (max-width: 768px) {
	.specs-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		margin: 16px 0;
	}

	.specs-table th,
	.specs-table td {
		white-space: nowrap;
		padding: 10px 12px;
		font-size: 14px;
	}

	.specs-table th {
		min-width: 140px;
	}
}

/* Spec Groups Section - Modern Cards */
.rm__section {
	margin: 1em 0;
}

.rm__section h2 {
	font-size: 2.25em;
	font-weight: 700;
	color: #0d0d0d;
	margin: 0 0 0.5em 0;
	text-align: center;
	position: relative;
	padding-bottom: 0.5em;
	letter-spacing: -0.5px;
}

.rm__section h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 5px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 3px;
}

/* Testing Methodology Section */
.rm__testing-methodology {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	padding: 3em 2.5em;
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.rm__testing-methodology-list {
	list-style: none;
	padding: 0;
	margin: 0 0 2em 0;
}

.rm__testing-methodology-list li {
	position: relative;
	padding: 1em 1em 1em 2.5em;
	margin-bottom: 0.75em;
	background: #ffffff;
	border-left: 4px solid #667eea;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	line-height: 1.7;
	color: #495057;
	font-size: 1.05em;
}

.rm__testing-methodology-list li::before {
	content: '✓';
	position: absolute;
	left: 0.75em;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #ffffff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.85em;
	box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
}

.rm__testing-methodology-list li:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border-left-color: #764ba2;
}

.rm__testing-methodology-author {
	display: flex;
	align-items: center;
	gap: 1em;
	margin: 2em 0 1.5em 0;
	padding: 1em 1.5em;
	background: #f8f9fa;
	border-radius: 12px;
	border-left: 4px solid #667eea;
}

.rm__testing-methodology-author .rm__author-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	flex-shrink: 0;
}

.rm__testing-methodology-author .rm__author-name {
	font-weight: 600;
	color: #2c3e50;
	font-size: 1em;
}

.rm__personal-experience {
	margin: 2em 0 0 0;
	padding: 2em;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	border-left: 6px solid #667eea;
	position: relative;
}

.rm__personal-experience h3 {
	font-size: 1.5em;
	font-weight: 700;
	color: #2c3e50;
	margin: 0 0 1em 0;
	padding-bottom: 0.75em;
	border-bottom: 2px solid #f1f3f5;
}

.rm__personal-experience-content {
	line-height: 1.9;
	color: #1a1a1a;
	font-size: 1.05em;
}

.rm__personal-experience-content p {
	margin-bottom: 1em;
}

.rm__personal-experience-content p:last-child {
	margin-bottom: 0;
}

/* Target Audience Section (Best For / Who Should Not Buy) */
.rm__target-audience {
	margin: 3em 0;
}

.rm__best-for,
.rm__who-should-not-buy {
	margin-bottom: 3em;
}

.rm__best-for:last-child,
.rm__who-should-not-buy:last-child {
	margin-bottom: 0;
}

.rm__best-for h2,
.rm__who-should-not-buy h2 {
	font-size: 1.75em;
	font-weight: 700;
	color: #2c3e50;
	margin: 0 0 1.5em 0;
	position: relative;
	padding-bottom: 0.75em;
}

.rm__best-for h2::after,
.rm__who-should-not-buy h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 4px;
	border-radius: 2px;
}

.rm__best-for h2::after {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
}

.rm__who-should-not-buy h2::after {
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
}

.rm__best-for-list,
.rm__who-should-not-buy-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rm__best-for-list li {
	position: relative;
	padding: 1em 1em 1em 2.5em;
	margin-bottom: 0.75em;
	background: #e8f5e9;
	border-left: 4px solid #4caf50;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.1);
	transition: all 0.3s ease;
	line-height: 1.7;
	color: #495057;
	font-size: 1.05em;
}

.rm__best-for-list li::before {
	content: '✓';
	position: absolute;
	left: 0.75em;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.85em;
	box-shadow: 0 2px 6px rgba(76, 175, 80, 0.3);
}

.rm__best-for-list li:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(76, 175, 80, 0.15);
	border-left-color: #45a049;
}

.rm__who-should-not-buy-list li {
	position: relative;
	padding: 1em 1em 1em 2.5em;
	margin-bottom: 0.75em;
	background: #fff5f5;
	border-left: 4px solid #dc3545;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(220, 53, 69, 0.1);
	transition: all 0.3s ease;
	line-height: 1.7;
	color: #495057;
	font-size: 1.05em;
}

.rm__who-should-not-buy-list li::before {
	content: '✗';
	position: absolute;
	left: 0.75em;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
	color: #ffffff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.85em;
	box-shadow: 0 2px 6px rgba(220, 53, 69, 0.3);
}

.rm__who-should-not-buy-list li:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.15);
	border-left-color: #c82333;
}

.rm__personal-opinion {
	margin: 2em 0 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid #e9ecef;
	background: transparent;
}

.rm__personal-opinion-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.rm__personal-opinion-author .rm__author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.rm__personal-opinion-author-info {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.rm__personal-opinion-author .rm__author-name {
	font-size: 0.9rem;
	font-weight: 600;
	color: #495057;
}

.rm__personal-opinion-author .rm__author-experience {
	font-size: 0.8rem;
	color: #868e96;
}

.rm__personal-opinion h3 {
	font-size: 1rem;
	font-weight: 600;
	color: #212529;
	margin: 0 0 0.5em 0;
	letter-spacing: -0.01em;
}

.rm__personal-opinion p {
	margin: 0;
	line-height: 1.7;
	color: #495057;
	font-size: 0.95rem;
}

/* Affiliates disclosure – info callout */
.rm__affiliates-note {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 3rem 0 0;
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
	border: 1px solid #bae6fd;
	border-radius: 12px;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #0c4a6e;
	position: relative;
	box-shadow: 0 1px 3px rgba(14, 165, 233, 0.08);
}

.rm__affiliates-note::before {
	content: 'ℹ';
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0ea5e9;
	color: #fff;
	border-radius: 50%;
	font-size: 0.85rem;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
}

.rm__spec-group {
	margin-bottom: 2.5em;
	padding: 0;
	background: transparent;
}

.rm__spec-group h3 {
	font-size: 1.35em;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0 0 1em 0;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #e9ecef;
	letter-spacing: -0.02em;
}

.rm__spec-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.rm__spec-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.25em;
	padding: 0.875em 1.25em;
	background: #fff;
	border-bottom: 1px solid #f1f3f5;
	position: relative;
}

.rm__spec-item:last-child {
	border-bottom: none;
}

.rm__spec-item::before {
	display: none;
}

.rm__spec-item:hover {
	background: #fafbfc;
}

.rm__spec-item dt {
	font-weight: 500;
	color: #6c757d;
	font-size: 0.8rem;
	letter-spacing: 0.01em;
	margin: 0;
	line-height: 1.4;
}

.rm__spec-item dd {
	margin: 0;
	color: #1a1a1a;
	font-size: 0.95rem;
	line-height: 1.5;
	font-weight: 400;
}

/* Analysis Section - Premium Card Design */
.rm__analysis-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5em;
	margin-top: 2em;
}

.rm__analysis-card {
	background: #ffffff;
	position: relative;
	overflow: hidden;
}

.rm__analysis-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: 2px solid #f1f3f5;
}

.rm__analysis-card h3 {
	font-size: 1.75em;
	font-weight: 800;
	color: #0d0d0d;
	margin: 0;
	letter-spacing: -0.5px;
}

.rm__section-rating {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3em;
	padding: 0.75em 1.25em;
	background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
	border-radius: 14px;
	border: 2px solid rgba(102, 126, 234, 0.2);
	backdrop-filter: blur(10px);
}

.rm__section-rating-value {
	font-size: 1.75em;
	font-weight: 800;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	letter-spacing: -0.5px;
}

.rm__section-rating-label {
	font-size: 0.7em;
	color: #667eea;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
}

.rm__section-image {
	margin: 1.5em 0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f8f9fa;
}

.rm__section-image:hover {
	transform: scale(1.02);
}

.rm__section-image img {
	max-width: 100%;
	max-height: 600px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

.rm__analysis-content {
	line-height: 1.85;
	color: #1a1a1a;
	font-size: 1.05em;
}

.rm__analysis-content p {
	margin-bottom: 1.25em;
}

.rm__analysis-content p:last-child {
	margin-bottom: 0;
}

/* Mobile Responsive for Single Review */
@media (max-width: 768px) {
	.rm {
		padding: 1.5em 0.8em;
	}

	.rm__hero {
		margin: 2em 0 3em;
		border-radius: 16px;
	}

	.rm__hero-container {
		padding: 0em;
		gap: 1.5em;
	}

	.rm__hero-rating-ribbon {
		position: relative;
		top: 0;
		right: 0;
		margin-bottom: 1.5em;
		justify-content: center;
		width: 100%;
	}

	.rm__hero-image-wrapper {
		min-height: 250px;
		padding: 1.5em;
	}

	.rm__hero-image {
		max-height: 300px;
	}

	.rm__hero-specs {
		grid-template-columns: 1fr;
		gap: 0.75em;
	}

	.rm__hero-spec-item {
		padding: 1em;
	}

	.specs-table,
	.rm__specs-table-content {
		font-size: 0.9em;
	}

	.specs-table th,
	.specs-table td,
	.rm__specs-table-content th,
	.rm__specs-table-content td {
		padding: 0.75em 0.5em;
		vertical-align: middle;
	}

	.specs-table th,
	.rm__specs-table-content th {
		font-weight: 700;
		color: #495057;
		min-width: 100px;
		width: 40%;
		border-right: 1px solid #f1f3f5;
		font-size: 0.85em;
		padding-right: 0.75em;
	}

	.specs-table td,
	.rm__specs-table-content td {
		font-size: 0.9em;
		padding-left: 0.75em;
	}

	.rm__section {
		margin: 3em 0;
	}

	.rm__section h2 {
		font-size: 1.75em;
		margin-bottom: 0.5em;
		padding-bottom: 0.5em;
	}

	.rm__spec-group {
		padding: 1.5em;
		margin-bottom: 2em;
	}

	.rm__spec-group h3 {
		font-size: 1.25em;
		margin-bottom: 0.75em;
	}

	.rm__spec-grid {
		grid-template-columns: 1fr;
	}

	.rm__spec-item {
		padding: 0.75em 1em;
	}

	.rm__analysis-grid {
		grid-template-columns: 1fr;
		gap: 2em;
	}

	.rm__analysis-card {
		padding: 0em;
	}

	.rm__analysis-card-header {
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		gap: 1.25em;
		margin-bottom: 1.25em;
		padding-bottom: 1.25em;
		position: relative;
	}

	.rm__analysis-card h3 {
		font-size: 1.5em;
		padding-right: 5.5em;
		flex: 1;
		min-width: 0;
	}

	.rm__section-rating {
		position: absolute;
		top: 0;
		right: 0;
		padding: 0.4em 0.6em;
		font-size: 0.8em;
		border-radius: 8px;
		white-space: nowrap;
	}

	.rm__section-rating-value {
		font-size: 1.2em;
	}

	.rm__section-rating-label {
		font-size: 0.6em;
	}

	.rm__intro-content {
		padding: 0;
		font-size: 1.05em;
	}

	.rm__highlights {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 2em;
		margin: 3em 0;
	}

	.rm__list {
		padding: 2em 1.5em;
	}

	.rm__list h3 {
		font-size: 1.5em;
		margin-bottom: 1.25em;
	}

	.rm__list ul li {
		padding: 0.875em 0.875em 0.875em 2.75em;
		font-size: 1em;
	}
}

/* Intro Section - Modern Typography */
.rm__intro {
	margin: 3em 0;
}

.rm__intro-content {
	line-height: 1.9;
	color: #1a1a1a;
	font-size: 1.15em;
	margin: 0 auto;
	background: #ffffff;

}

.rm__intro-content p {
	margin-bottom: 1.25em;
}

.rm__intro-content p:last-child {
	margin-bottom: 0;
}

/* Highlights (Pros/Cons Summary) - Modern Split Design */
.rm__highlights {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5em;
	margin: 4em 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
}

.rm__list {
	padding: 2em 2em 0.5em 2em;
	border-radius: 20px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
	position: relative;
	overflow: hidden;
}

.rm__list::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
}

.rm__list--pros {
	background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
	border: 2px solid #4caf50;
}

.rm__list--pros::before {
	background: linear-gradient(90deg, #4caf50 0%, #66bb6a 100%);
}

.rm__list--cons {
	background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
	border: 2px solid #f44336;
}

.rm__list--cons::before {
	background: linear-gradient(90deg, #f44336 0%, #ef5350 100%);
}

.rm__list h3 {
	margin: 0 0 1.5em 0;
	font-size: 1.75em;
	font-weight: 800;
	color: #0d0d0d;
	letter-spacing: -0.5px;
}

.rm__list ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.rm__list ul li {
	margin: 1em 0;
	padding: 0.3em;
	position: relative;
	line-height: 1.7;
	border-radius: 12px;
	font-size: 1.05em;
	font-weight: 500;
}

/* Affiliates Section - Premium Card Design */
.rm__affiliates {
	margin: 4em 0;
}

.rm__affiliates-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 2.5em;
	margin-top: 2em;
	justify-items: start;
}

.rm__affiliates-grid:has(.rm__affiliate-card:only-child) {
	justify-items: center;
}

.rm__affiliate-card {
	background: #ffffff;
	border-radius: 8px;
	padding: 1em;
	border: 1px solid #e0e0e0;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.rm__affiliates-grid:has(.rm__affiliate-card:only-child) .rm__affiliate-card {
	max-width: 500px;
	width: 100%;
}

.rm__affiliate-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
}
.rm__affiliate-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 2em;
	padding-bottom: 1em;
	padding-top: 0.3em;
	border-bottom: 2px solid #f1f3f5;
	gap: 1em;
}

.rm__affiliate-logo-link {
	display: block;
	text-align: center;
	line-height: 0;
	width: 100%;
}

.rm__affiliate-logo {
	max-width: 180px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.rm__affiliate-logo-link svg,
.rm__affiliate-logo[src$=".svg"] {
	width: auto;
	height: auto;
	max-width: 180px;
	max-height: 70px;
	display: block;
	margin: 0 auto;
}

.rm__affiliate-name-link {
	text-decoration: none;
	color: #0d0d0d;
}

.rm__affiliate-name {
	font-size: 1.75em;
	font-weight: 800;
	color: #0d0d0d;
	letter-spacing: -0.5px;
}

.rm__affiliate-action {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.rm__affiliate-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.25em 2.5em;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	text-decoration: none;
	border-radius: 16px;
	font-weight: 800;
	font-size: 1.05em;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
	position: relative;
	overflow: hidden;
	text-align: center;
	letter-spacing: 0.3px;
}
.rm__affiliate-promo {
	margin-top: 1.5em;
	padding: 1.5em;
	background: linear-gradient(135deg, #fff3cd 0%, #ffe082 100%);
	border-radius: 16px;
	border: 2px solid #ffc107;
	box-shadow: 0 4px 12px rgba(255, 193, 7, 0.2);
}

.rm__promo-text-label {
	font-weight: 600;
	color: #667eea;
	margin-bottom: 0.5em;
	font-size: 0.95em;
}

.rm__promo-code-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-top: 0.5em;
	flex-wrap: wrap;
}

.rm__promo-code-label {
	font-size: 0.9em;
	color: #666;
	font-weight: 600;
}

.rm__promo-code-copy {
	background: #fff;
	border: 2px dashed #667eea;
	border-radius: 6px;
	padding: 0.5em 1em;
	font-family: monospace;
	font-size: 1em;
	font-weight: 700;
	color: #667eea;
	cursor: pointer;
	transition: all 0.3s ease;
	user-select: all;
}

.rm__promo-code-copy:hover {
	background: #667eea;
	color: #fff;
	border-color: #667eea;
}

.rm__promo-expires-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-top: 0.5em;
	font-size: 0.85em;
	color: #666;
	flex-wrap: wrap;
}

.rm__promo-expires-label {
	font-weight: 600;
}

.rm__promo-expires-date {
	font-weight: 500;
}

.rm__promo-days-remaining {
	color: #f44336;
	font-weight: 600;
}

.rm__affiliate-why-choose {
	margin-top: 1em;
}

.rm__why-choose-button {
	width: 100%;
	padding: 0.75em 1em;
	background: #f8f9fa;
	border: 2px solid #e9ecef;
	border-radius: 8px;
	color: #495057;
	font-size: 0.9em;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
}

.rm__why-choose-button:hover {
	background: #e9ecef;
	border-color: #667eea;
	color: #667eea;
}

.rm__why-choose-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2em;
}

.rm__why-choose-modal-content {
	background: #fff;
	border-radius: 16px;
	padding: 2em;
	max-width: 600px;
	max-height: 80vh;
	overflow-y: auto;
	position: relative;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.rm__why-choose-modal-close {
	position: absolute;
	top: 1em;
	right: 1em;
	background: #f8f9fa;
	border: 2px solid #e9ecef;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 1.5em;
	color: #666;
	transition: all 0.3s ease;
}

.rm__why-choose-modal-close:hover {
	background: #667eea;
	border-color: #667eea;
	color: #fff;
}

.rm__why-choose-modal-body {
	line-height: 1.8;
	color: #495057;
}

.rm__why-choose-modal-body ul {
	margin: 1em 0;
	padding-left: 1.5em;
}

.rm__why-choose-modal-body li {
	margin: 0.5em 0;
}

/* Why Choose Content - Displayed within affiliate card */
.rm__why-choose-content {
	margin-top: 1.5em;
	padding: 1.5em;
	background: #f8f9fa;
	border-top: 1px solid #e9ecef;
	line-height: 1.8;
	color: #1a1a1a;
	font-size: 0.95em;
}

.rm__why-choose-content ul {
	margin: 1em 0;
	padding-left: 1.5em;
	list-style: disc;
}

.rm__why-choose-content li {
	margin: 0.5em 0;
}

.rm__why-choose-content p {
	margin-bottom: 1em;
}

.rm__why-choose-content p:last-child {
	margin-bottom: 0;
}

/* Gallery Section - Modern Grid */
.rm__gallery {
	margin: 4em 0;
}

.rm__gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 2em;
	margin-top: 2em;
}

.rm__gallery-item {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	aspect-ratio: 4/3;
	border: 2px solid #f1f3f5;
}

.rm__gallery-item::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(102, 126, 234, 0) 0%, rgba(118, 75, 162, 0.3) 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
	z-index: 1;
}

.rm__gallery-item:hover {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 16px 48px rgba(102, 126, 234, 0.25), 0 8px 24px rgba(0, 0, 0, 0.15);
	border-color: #667eea;
}

.rm__gallery-item:hover::after {
	opacity: 1;
}

.rm__gallery-link {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
}

.rm__gallery-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.rm__gallery-item:hover .rm__gallery-image {
	transform: scale(1.15);
}

/* FAQ Section – Redesign: clean editorial accordion */
.rm__faq {
	margin: 4.5em 0;
}

.rm__faq > h2 {
	margin: 0 0 0.15em;
	font-size: 1.75rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #1a1a1a;
}

.rm__faq > h2::after {
	content: '';
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: 0.5rem;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
	border-radius: 2px;
}

.rm__faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 2.25rem;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border: 1px solid #e9ecef;
}

.rm__faq-item {
	background: #fff;
	border-bottom: 1px solid #e9ecef;
	overflow: hidden;
	transition: box-shadow 0.25s ease;
}

.rm__faq-item:last-child {
	border-bottom: none;
}

.rm__faq-item:hover {
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.08);
}

.rm__faq-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	width: 100%;
	margin: 0;
	padding: 1.35rem 1.5rem;
	background: #fff;
	border: none;
	border-left: 4px solid transparent;
	cursor: pointer;
	text-align: left;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.rm__faq-header:hover {
	background: #fafbfc;
}

.rm__faq-header:focus {
	outline: none;
}

.rm__faq-item:has(.rm__faq-header[aria-expanded="true"]) .rm__faq-header {
	background: #f8f9ff;
	border-left-color: #667eea;
}

.rm__faq-item:has(.rm__faq-header[aria-expanded="true"]) .rm__faq-header:hover {
	background: #f0f2ff;
}

.rm__faq-question-heading {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.4;
	color: #1a1a1a;
	letter-spacing: -0.01em;
}

.rm__faq-item:has(.rm__faq-header[aria-expanded="true"]) .rm__faq-question-heading {
	color: #2d3748;
}

.rm__faq-header-icon {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f3f5;
	border-radius: 8px;
	position: relative;
	transition: background 0.2s ease, transform 0.25s ease;
}

.rm__faq-header:hover .rm__faq-header-icon {
	background: #e9ecef;
}

.rm__faq-header-icon::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	margin-top: -3px;
	margin-left: -5px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #495057;
	transition: transform 0.25s ease, border-top-color 0.2s ease;
}

.rm__faq-item:has(.rm__faq-header[aria-expanded="true"]) .rm__faq-header-icon {
	background: #667eea;
}

.rm__faq-item:has(.rm__faq-header[aria-expanded="true"]) .rm__faq-header-icon::before {
	border-top-color: #fff;
	transform: translateY(-1px) rotate(180deg);
}

.rm__faq-answer {
	background: #f8f9fa;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.rm__faq-answer-inner {
	padding: 0 1.5rem 1.35rem 1.5rem;
	padding-left: calc(1.5rem + 4px);
	line-height: 1.8;
	color: #374151;
	font-size: 1rem;
}

.rm__faq-answer p {
	margin: 0 0 0.65em;
}

.rm__faq-answer p:last-child {
	margin-bottom: 0;
}

/* Final Rating Section - Premium Design */
.rm__final-rating-section {
	margin: 4em 0;
}

.rm__final-rating-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3em;
	padding: 3em;
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
	position: relative;
	overflow: hidden;
}

.rm__final-rating-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
}

.rm__final-rating-wrapper {
	display: flex;
	align-items: center;
	gap: 2.5em;
}

.rm__rating-circle-wrapper {
	position: relative;
	width: 140px;
	height: 140px;
	flex-shrink: 0;
}

.rm__rating-circle {
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	z-index: 2;
	box-shadow: 0 8px 24px rgba(102, 126, 234, 0.4);
}

.rm__rating-value {
	font-size: 3em;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -1px;
}

.rm__rating-scale {
	font-size: 1.1em;
	opacity: 0.95;
	font-weight: 600;
}

.rm__rating-ring {
	position: absolute;
	top: 0;
	left: 0;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	border: 10px solid #f1f3f5;
	border-top-color: #667eea;
	transform: rotate(-90deg);
	transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.rm__rating-info {
	flex: 1;
}

.rm__rating-label {
	font-size: 1.75em;
	font-weight: 800;
	color: #0d0d0d;
	margin: 0 0 0.75em 0;
	letter-spacing: -0.5px;
}

.rm__rating-description {
	margin: 0;
	color: #6c757d;
	font-size: 1.05em;
	line-height: 1.7;
	font-weight: 500;
}

/* Verdict Section */
.rm__final-verdict-wrapper {
	flex: 1;
}

.rm__verdict-heading {
	font-size: 2em;
	font-weight: 800;
	margin: 0 0 1.25em 0;
	color: #0d0d0d;
	letter-spacing: -0.5px;
}

.rm__verdict-content {
	line-height: 1.9;
	font-size: 1.1em;
	color: #1a1a1a;
	font-weight: 400;
}

.rm__verdict-content p {
	margin-bottom: 1.25em;
}

.rm__verdict-content p:last-child {
	margin-bottom: 0;
}

/* Mobile Responsive for Additional Single Review Sections */
@media (max-width: 768px) {
	.rm__testing-methodology {
		padding: 2em 1.5em;
		margin: 2em 0;
		border-radius: 16px;
	}

	.rm__testing-methodology h2 {
		font-size: 1.75em;
		margin-bottom: 1.5em;
		padding-bottom: 0.75em;
	}

	.rm__testing-methodology h2::after {
		width: 80px;
		height: 4px;
	}

	.rm__testing-methodology-list li {
		padding: 0.85em 0.85em 0.85em 2.25em;
		font-size: 0.95em;
		margin-bottom: 0.6em;
	}

	.rm__testing-methodology-list li::before {
		width: 20px;
		height: 20px;
		font-size: 0.75em;
		left: 0.65em;
	}

	.rm__testing-methodology-author {
		flex-direction: column;
		align-items: flex-start;
		padding: 1em;
		margin: 1.5em 0 1.25em 0;
	}

	.rm__testing-methodology-author .rm__author-avatar {
		width: 40px;
		height: 40px;
	}

	.rm__testing-methodology-author .rm__author-name {
		font-size: 0.95em;
	}

	.rm__personal-experience {
		padding: 1.5em;
		margin: 1.5em 0 0 0;
		border-left-width: 4px;
	}

	.rm__personal-experience h3 {
		font-size: 1.25em;
		margin-bottom: 0.75em;
		padding-bottom: 0.5em;
	}

	.rm__personal-experience-content {
		font-size: 1em;
	}

	.rm__affiliates {
		margin: 3em 0;
	}

	.rm__affiliates-grid {
		grid-template-columns: 1fr;
		gap: 2em;
	}

	.rm__affiliate-card {
		padding: 2em 1.5em;
	}

	.rm__affiliate-header {
		margin-bottom: 1.5em;
		padding-bottom: 1.5em;
	}

	.rm__affiliate-name {
		font-size: 1.5em;
	}

	.rm__affiliate-button {
		padding: 1em 2em;
		font-size: 1em;
	}

	.rm__gallery {
		margin: 3em 0;
	}

	.rm__gallery-grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 1.25em;
	}

	.rm__faq {
		margin: 3em 0;
	}

	.rm__faq > h2 {
		font-size: 1.5rem;
	}

	.rm__faq-list {
		margin-top: 1.75rem;
		border-radius: 12px;
	}

	.rm__faq-header {
		padding: 1.1rem 1.25rem;
	}

	.rm__faq-question-heading {
		font-size: 1rem;
	}

	.rm__faq-answer-inner {
		padding: 0 1.25rem 1.1rem;
		padding-left: calc(1.25rem + 4px);
		font-size: 0.95rem;
	}

	.rm__why-choose-modal-content {
		padding: 2em 1.5em;
		margin: 1em;
		max-height: 90vh;
		border-radius: 20px;
	}

	.rm__final-rating-section {
		margin: 3em 0;
	}

	.rm__final-rating-container {
		grid-template-columns: 1fr;
		gap: 2.5em;
		padding: 2.5em 1.5em;
	}

	.rm__final-rating-wrapper {
		flex-direction: column;
		text-align: center;
		gap: 2em;
	}

	.rm__rating-circle-wrapper {
		margin: 0 auto;
		width: 120px;
		height: 120px;
	}

	.rm__rating-circle {
		width: 120px;
		height: 120px;
	}

	.rm__rating-value {
		font-size: 2.5em;
	}

	.rm__rating-ring {
		width: 120px;
		height: 120px;
	}

	.rm__rating-label {
		font-size: 1.5em;
	}

	.rm__verdict-heading {
		font-size: 1.75em;
		text-align: center;
		margin-bottom: 1em;
	}

	.rm__verdict-content {
		font-size: 1.05em;
		text-align: center;
	}

}

/* Analysis Lists (Pros/Cons within sections) */
.rm__analysis-lists {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5em;
	margin-top: 1.5em;
}

.rm__analysis-lists .rm__list {
	margin: 0;
}

/* Previous/Next Model Sections */
.rm__previous-model,
.rm__next-model {
	margin: 3em 0;
}

.rm__previous-model-comparison,
.rm__next-model-comparison {
	line-height: 1.8;
	color: #495057;
	margin-bottom: 1.5em;
}

.rm__previous-model-comparison p,
.rm__next-model-comparison p {
	margin-bottom: 1em;
}

.rm__previous-model-upgrade-worth,
.rm__next-model-upgrade-worth {
	background: #f8f9fa;
	border-left: 4px solid #667eea;
	padding: 1em 1.5em;
	border-radius: 8px;
	margin-bottom: 1.5em;
	line-height: 1.8;
	color: #495057;
}

.rm__previous-model-lists,
.rm__next-model-lists {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2em;
	margin-top: 1.5em;
}

.rm__previous-model-improvements,
.rm__previous-model-regressions,
.rm__next-model-improvements,
.rm__next-model-regressions {
	padding: 1.5em;
	border-radius: 12px;
}

.rm__previous-model-improvements,
.rm__next-model-improvements {
	background: #e8f5e9;
	border-left: 4px solid #4caf50;
}

.rm__previous-model-regressions,
.rm__next-model-regressions {
	background: #ffebee;
	border-left: 4px solid #f44336;
}

.rm__previous-model-improvements h3,
.rm__previous-model-regressions h3,
.rm__next-model-improvements h3,
.rm__next-model-regressions h3 {
	margin: 0 0 1em 0;
	font-size: 1.3em;
	font-weight: 700;
	color: #2c3e50;
}

.rm__previous-model-improvements ul,
.rm__previous-model-regressions ul,
.rm__next-model-improvements ul,
.rm__next-model-regressions ul {
	margin: 0;
	padding-left: 1.5em;
	list-style: none;
}

.rm__previous-model-improvements ul li,
.rm__next-model-improvements ul li {
	margin: 0.75em 0;
	padding-left: 1.5em;
	position: relative;
	line-height: 1.6;
}

.rm__previous-model-improvements ul li::before,
.rm__next-model-improvements ul li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4caf50;
	font-weight: 700;
	font-size: 1.2em;
}

.rm__previous-model-regressions ul li,
.rm__next-model-regressions ul li {
	margin: 0.75em 0;
	padding-left: 1.5em;
	position: relative;
	line-height: 1.6;
}

.rm__previous-model-regressions ul li::before,
.rm__next-model-regressions ul li::before {
	content: '✗';
	position: absolute;
	left: 0;
	color: #f44336;
	font-weight: 700;
	font-size: 1.2em;
}

.rm__next-model-price-opinion {
	background: #fff3cd;
	border-left: 4px solid #ffc107;
	padding: 1em 1.5em;
	border-radius: 8px;
	margin-bottom: 1.5em;
	line-height: 1.8;
	color: #856404;
}

/* Competitors Section */
.rm__competitors {
	margin: 3em 0;
}

.rm__competitors-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2em;
	margin-top: 2em;
}

.rm__competitor {
	background: #fff;
	border-radius: 12px;
}
.rm__competitor-name {
	font-size: 1.5em;
	font-weight: 700;
	color: #2c3e50;
	margin: 0 0 1em 0;
}

.rm__competitor-comparison {
	line-height: 1.8;
	color: #495057;
	margin-bottom: 1.5em;
}

.rm__competitor-comparison p {
	margin-bottom: 1em;
}

.rm__competitor-review-link {
	margin-bottom: 1.5em;
}

.rm__competitor-review-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75em 1.5em;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.95em;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.rm__competitor-review-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
	color: #fff;
}

.rm__competitor-lists {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5em;
	margin-top: 1.5em;
}

.rm__competitor-advantages,
.rm__competitor-disadvantages {
	padding: 1em;
	border-radius: 8px;
}

.rm__competitor-advantages {
	background: #e8f5e9;
	border-left: 4px solid #4caf50;
}

.rm__competitor-disadvantages {
	background: #e8f5e9;
	border-left: 4px solid #4caf50;
}

.rm__competitor-advantages h4,
.rm__competitor-disadvantages h4 {
	margin: 0 0 0.75em 0;
	font-size: 1.1em;
	font-weight: 600;
	color: #2c3e50;
}

.rm__competitor-advantages ul,
.rm__competitor-disadvantages ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

/* Override rm__list styles for competitor sections */
.rm__competitor-advantages .rm__list,
.rm__competitor-disadvantages .rm__list {
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	border: none;
}

.rm__competitor-advantages .rm__list::before,
.rm__competitor-disadvantages .rm__list::before {
	display: none;
}

.rm__competitor-advantages .rm__list.rm__list--pros,
.rm__competitor-advantages .rm__list.rm__list--cons,
.rm__competitor-disadvantages .rm__list.rm__list--pros,
.rm__competitor-disadvantages .rm__list.rm__list--cons {
	background: transparent;
	border: none;
	padding: 0;
}

.rm__competitor-advantages .rm__list.rm__list--pros::before,
.rm__competitor-advantages .rm__list.rm__list--cons::before,
.rm__competitor-disadvantages .rm__list.rm__list--pros::before,
.rm__competitor-disadvantages .rm__list.rm__list--cons::before {
	display: none;
}

.rm__competitor-advantages ul li,
.rm__competitor-disadvantages ul li {
	margin: 0.5em 0;
	padding: 0;
	padding-left: 25px;
	position: relative;
	line-height: 1.6;
	background: transparent;
	border-radius: 0;
}

.rm__competitor-advantages .rm__list ul li,
.rm__competitor-disadvantages .rm__list ul li {
	margin: 0.5em 0;
	padding: 0;
	padding-left: 0;
	background: transparent;
	transform: none;
}

.rm__competitor-advantages .rm__list ul li:hover,
.rm__competitor-disadvantages .rm__list ul li:hover {
	background: transparent;
	transform: none;
}

.rm__competitor-advantages .rm__list.rm__list--pros ul li::before,
.rm__competitor-advantages .rm__list.rm__list--cons ul li::before,
.rm__competitor-disadvantages .rm__list.rm__list--pros ul li::before,
.rm__competitor-disadvantages .rm__list.rm__list--cons ul li::before {
	display: none;
	content: none;
}

.rm__competitor-advantages ul li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4caf50;
	font-weight: 700;
	font-size: 1.1em;
}

.rm__competitor-disadvantages ul li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4caf50;
	font-weight: 700;
	font-size: 1.1em;
}

.rm__competitor-affiliates {
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: 1px solid #e9ecef;
}

/* Use Cases Section */
.rm__use-cases {
	margin: 3em 0;
	background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
	border-radius: 16px;
	padding: 2.5em;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border: 1px solid #64b5f6;
}

.rm__use-cases h2 {
	color: #1976d2;
	border-bottom-color: #64b5f6;
}

.rm__use-cases-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5em;
	margin-top: 2em;
}

.rm__use-case-item {
	background: #ffffff;
	border-radius: 10px;
	padding: 1.5em;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	border: 1px solid #e0e0e0;
}

.rm__use-case-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
	border-color: #2196f3;
}

/* Mobile Responsive for Additional Sections */
@media (max-width: 768px) {
	.rm__analysis-lists {
		grid-template-columns: 1fr;
		gap: 1em;
	}

	.rm__previous-model-lists,
	.rm__next-model-lists {
		grid-template-columns: 1fr;
		gap: 1.5em;
	}

	.rm__competitors-grid {
		grid-template-columns: 1fr;
		gap: 1.5em;
	}

	.rm__competitor {
		padding: 0em;
	}

	.rm__competitor-lists {
		grid-template-columns: 1fr;
		gap: 1em;
	}

	.rm__use-cases {
		padding: 1.5em;
	}

	.rm__use-cases-list {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		gap: 1em;
	}

	.rm__use-case-item {
		padding: 1em;
	}

}

/* ==========================================================================
   Listicles Article Maker Styles (rm- prefix with single dash)
   ========================================================================== */

/* Listicles Container */
.rm-listicles-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2em 1em;
	position: relative;
}

@media (max-width: 768px) {
	.rm-listicles-container {
		padding: 0;
	}
}

.rm-listicles-intro-image,
.rm-listicles-comparison-image,
.rm-listicles-conclusion-image {
	margin-bottom: 1.5em;
	text-align: center;
}

.rm-listicles-intro-image img,
.rm-listicles-comparison-image img,
.rm-listicles-conclusion-image img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.rm-listicles-intro {
	margin-bottom: 2em;
	line-height: 1.8;
	color: #495057;
}

.rm-listicles-intro p {
	margin-bottom: 1em;
}

/* Listicles Table */
.rm-listicles-table {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	padding: 2em;
	border-radius: 16px;
}

/* Table wrapper for responsive scrolling */
.rm-listicles-table-wrapper {
	overflow-x: auto;
	margin: 0 -0.5em;
	padding: 0 0.5em;
	position: relative;
}

/* ==========================================================================
   HTML Table Styles - NEW CLEAN DESIGN
   ========================================================================== */

/* Base table styles */
.rm-listicles-table-html {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 20px;
	margin: 0;
	background: transparent;
	table-layout: fixed;
	display: table;
}

.rm-listicles-table-html thead {
	display: none;
}

.rm-listicles-table-html tbody {
	display: table-row-group;
	/* Ensure rows are tightly connected */
	vertical-align: top;
}

/* Product card row - clean card design */
.rm-listicles-table-html tbody tr.rm-listicles-product-card {
	background: #ffffff;
	border-radius: 16px 16px 0 0; /* Top rounded, bottom straight - more row completes it */
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: visible; /* Allow more row to be visible */
	margin-bottom: 0 !important; /* No margin to allow seamless connection */
	padding-bottom: 0 !important;
}

.rm-listicles-table-html tbody tr.rm-listicles-product-card.rm-best-choice {
	border: 2px solid #ffc107;
	box-shadow: 0 4px 16px rgba(255, 193, 7, 0.2);
}

/* Table cells */
.rm-listicles-table-html td {
	padding: 24px 20px;
	vertical-align: middle;
	border: none;
	position: relative;
	margin: 0;
}

/* Position badge - top left corner */
.rm-listicles-table-html .rm-table-position {
	width: 80px;
	padding: 24px 20px !important;
	vertical-align: top;
}

.rm-listicles-table-html .rm-table-position-wrapper {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.rm-listicles-table-html .rm-position-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.rm-listicles-table-html .rm-best-badge {
	display: inline-block;
	padding: 4px 10px;
	background: linear-gradient(135deg, #ffc107 0%, #ffb300 100%);
	color: #1a1a1a;
	font-weight: 700;
	font-size: 11px;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 2px 6px rgba(255, 193, 7, 0.3);
	white-space: nowrap;
}

/* Image column */
.rm-listicles-table-html .rm-table-image {
	width: 200px;
	padding: 24px 20px !important;
	vertical-align: middle;
	text-align: center;
}

.rm-listicles-table-html .rm-card-image {
	display: flex;
	align-items: center;
	justify-content: center;
}

.rm-listicles-table-html .rm-product-thumbnail {
	max-width: 150px;
	max-height: 150px;
	width: auto;
	height: auto;
	object-fit: contain;
	background: #f8f9fa;
	border-radius: 12px;
	padding: 12px;
	border: 1px solid #e9ecef;
	transition: transform 0.3s ease;
}

.rm-listicles-table-html .rm-product-thumbnail:hover {
	transform: scale(1.05);
}

/* Info column - product name only */
.rm-listicles-table-html .rm-table-info {
	padding: 24px 20px !important;
	vertical-align: middle;
}

.rm-listicles-table-html .rm-product-name {
	font-size: 18px;
	font-weight: 600;
	color: #2c3e50;
	margin: 0;
	line-height: 1.4;
}

/* Rating column - separate, visually below info */
.rm-listicles-table-html .rm-table-rating {
	width: auto;
	padding: 0 20px 24px !important;
	vertical-align: middle;
	text-align: left;
}

.rm-listicles-table-html .rm-card-rating-section {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.rm-listicles-table-html .rm-rating-display {
	display: flex;
	align-items: center;
	gap: 6px;
	justify-content: flex-start;
}

.rm-listicles-table-html .rm-rating-value {
	font-size: 18px;
	font-weight: 700;
	color: #667eea;
}

.rm-listicles-table-html .rm-rating-max {
	font-size: 14px;
	color: #6c757d;
	opacity: 0.7;
}

.rm-listicles-table-html .rm-reviews-count {
	font-size: 13px;
	color: #6c757d;
	font-weight: 500;
	padding: 4px 8px;
	background: #f0f0f0;
	border-radius: 12px;
	text-align: center;
}

/* Price column */
.rm-listicles-table-html .rm-table-price {
	width: 280px;
	padding: 24px 20px 0.5em !important;
	vertical-align: middle;
	text-align: right;
}

.rm-listicles-table-html .rm-price-display {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}

.rm-listicles-table-html .rm-price-label {
	font-size: 11px;
	color: #6c757d;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	opacity: 0.8;
	white-space: nowrap;
	line-height: 1.2;
}

.rm-listicles-table-html .rm-price-value {
	font-size: 22px;
	font-weight: 700;
	color: #28a745;
	line-height: 1.2;
	white-space: nowrap;
}

/* Action column */
.rm-listicles-table-html .rm-table-action {
	width: 280px;
	padding: 24px 20px !important;
	vertical-align: middle;
	text-align: right;
}

.rm-listicles-table-html .rm-card-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-end;
}

.rm-listicles-table-html .rm-action-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	align-items: flex-end;
}

.rm-listicles-table-html .rm-affiliate-button {
	display: inline-block;
	padding: 12px 24px;
	border-radius: 999px;
	background: linear-gradient(90deg, #5f2eea, #9b4dff);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(95, 46, 234, 0.3);
	transition: all 0.3s ease;
}

.rm-listicles-table-html .rm-affiliate-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(95, 46, 234, 0.4);
}

/* More info row - always visible button, visually part of card */
.rm-listicles-table-html .rm-product-more-row {
	background: transparent;
	box-shadow: none;
	display: table-row;
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
}

.rm-listicles-table-html .rm-product-more-cell {
	padding: 0 !important;
}

.rm-listicles-table-html .rm-more-info-btn {
	width: 100%;
	padding: 16px 24px;
	background: #fafbfc; /* Almost white, very subtle */
	border: none;
	border-top: 1px solid rgba(233, 236, 239, 0.5); /* Very subtle border */
	border-radius: 0;
	color: #495057;
	font-size: 14px;
	font-weight: 500; /* Slightly lighter */
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.rm-listicles-table-html .rm-more-info-btn:hover {
	background: #f5f6f7;
	color: #2c3e50;
	border-top-color: rgba(233, 236, 239, 0.8);
}

.rm-listicles-table-html .rm-more-info-btn[aria-expanded="true"] {
	background: #f8f9fa;
	border-bottom: none;
	border-radius: 0;
	border-top-color: rgba(233, 236, 239, 0.7);
}

.rm-listicles-table-html .rm-more-info-btn[aria-expanded="true"] .rm-more-info-icon {
	transform: rotate(180deg);
}

.rm-listicles-table-html .rm-more-info-text {
	flex: 1;
	text-align: left;
}

.rm-listicles-table-html .rm-more-info-icon {
	transition: transform 0.3s ease;
	font-size: 12px;
	color: #6c757d;
	margin-left: 8px;
}

/* Specs row - hidden by default/* Specs row - hidden by default, shown when expanded */
.rm-listicles-table-html .rm-product-specs-row {
	background: transparent;
	box-shadow: none;
	display: none !important;
}

/* Show specs row when expanded (desktop - grid, mobile - table-row) */
@media (min-width: 769px) {
	.rm-listicles-table-html .rm-product-specs-row[style*="display: grid"],
	.rm-listicles-table-html .rm-product-specs-row[style*="display: block"] {
		display: grid !important;
	}
}

@media (max-width: 768px) {
	.rm-listicles-table-html .rm-product-specs-row[style*="display: table-row"],
	.rm-listicles-table-html .rm-product-specs-row[style*="display: block"] {
		display: table-row !important;
	}
}

.rm-listicles-table-html .rm-product-specs-row td {
	padding: 0 24px 24px !important;
	background-color: #f8f9fa;
	border-radius: 0 0 16px 16px;
	border-top: 1px solid #e9ecef;
}

.rm-listicles-table-html .rm-product-specs-expanded {
	padding: 24px 0;
	width: 100%;
	box-sizing: border-box;
}

.rm-listicles-table-html .rm-product-specs-content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
}

/* Desktop Layout - Clean Grid Design */
@media (min-width: 769px) {
	.rm-listicles-table-html {
		border-spacing: 0 20px;
		/* Ensure more row is visually connected to card */
		position: relative;
	}
	
	/* Use grid for flexible layout - 4 columns, 2 rows for product card */
	.rm-listicles-table-html tr.rm-listicles-product-card {
		display: grid !important;
		grid-template-columns: 80px 200px 1fr 280px;
		grid-template-rows: auto auto;
		gap: 0;
		align-items: start;
	}
	
	.rm-listicles-table-html tr.rm-listicles-product-card td {
		display: block !important;
	}
	
	/* Position badge */
	.rm-listicles-table-html .rm-table-position {
		grid-column: 1;
		grid-row: 1;
	}
	
	.rm-listicles-table-html .rm-table-position-wrapper {
		position: absolute;
		top: 20px;
		left: 20px;
	}
	
	/* Image column */
	.rm-listicles-table-html .rm-table-image {
		grid-column: 2;
		grid-row: 1 / 3; /* Span both rows */
	}
	
	/* Info column - product name */
	.rm-listicles-table-html .rm-table-info {
		grid-column: 3;
		grid-row: 1;
	}
	
	/* Rating column - visually below info */
	.rm-listicles-table-html .rm-table-rating {
		grid-column: 3; /* Same column as info */
		grid-row: 2; /* Second row, below info */
		padding: 0 20px 24px !important;
		vertical-align: middle;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		text-align: left;
	}
	
	/* Price column - visually above action */
	.rm-listicles-table-html .rm-table-price {
		grid-column: 4; /* Same column as action */
		grid-row: 1; /* First row, above action */
		padding-bottom: 0.5em !important;
	}
	
	/* Action column - below price, in same column */
	.rm-listicles-table-html .rm-table-action {
		grid-column: 4; /* Same column as price */
		grid-row: 2; /* Second row, below price */
		margin-top: 0;
		padding-top: 0 !important;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	
	.rm-listicles-table-html .rm-table-action .rm-card-actions {
		justify-content: flex-start;
		align-items: flex-end;
	}
	
	.rm-listicles-table-html .rm-table-action .rm-action-buttons {
		justify-content: flex-start;
		align-items: flex-end;
	}
	
	/* More info row - positioned as part of card, visually inside */
	.rm-listicles-table-html .rm-product-more-row {
		display: grid !important;
		grid-template-columns: 80px 200px 1fr 280px;
		grid-template-rows: auto;
		margin-top: -20px !important; /* Compensate border-spacing to attach to card */
		margin-bottom: 0 !important;
		position: relative;
		background: transparent;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); /* Extend card shadow */
		z-index: 1;
		overflow: visible;
		/* Force connection - remove any gaps */
		top: 0;
		/* Ensure no spacing from table */
		vertical-align: top;
		/* Additional positioning to ensure tight connection */
		transform: translateY(0);
	}
	
	.rm-listicles-table-html .rm-product-more-row > td {
		grid-column: 1 / -1;
		grid-row: 1;
		background: transparent;
		border-radius: 0 0 16px 16px; /* Bottom rounded corners to complete card */
		padding: 0 !important;
		overflow: visible;
		margin: 0 !important;
		/* Remove any default table cell spacing */
		vertical-align: top;
		line-height: 0; /* Remove line-height spacing */
	}
	
	/* Button - visually inside card, seamless integration */
	.rm-listicles-table-html .rm-product-more-row .rm-more-info-btn {
		border-radius: 0 0 16px 16px; /* Bottom rounded corners */
		box-shadow: none;
		margin: 0 !important;
		line-height: normal; /* Restore line-height for button content */
		vertical-align: middle;
	}
	
	/* Specs row - spans all columns, shown when expanded */
	.rm-listicles-table-html .rm-product-specs-row {
		grid-template-columns: 80px 200px 1fr 280px;
		margin-top: -20px !important; /* Compensate border-spacing */
		margin-bottom: 0 !important;
		position: relative;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); /* Extend card shadow */
		top: 0;
	}
	
	.rm-listicles-table-html .rm-product-specs-row[style*="display: grid"],
	.rm-listicles-table-html .rm-product-specs-row[style*="display: block"] {
		display: grid !important;
	}
	
	.rm-listicles-table-html .rm-product-specs-row td {
		grid-column: 1 / -1;
		border-radius: 0; /* No radius on specs row itself, only when visible */
	}
	
	/* Border radius - card top rounded, more row completes bottom */
	.rm-listicles-table-html tbody tr.rm-listicles-product-card {
		border-radius: 16px 16px 0 0; /* Top rounded, bottom straight */
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	
	/* More row - visually inside card, extends card shadow */
	.rm-listicles-table-html .rm-product-more-row {
		margin-top: -20px !important; /* Compensate border-spacing */
		margin-bottom: 0 !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); /* Same shadow as card */
		/* Ensure no gap between card and more row */
		position: relative;
		top: 0;
	}
	
	/* More row button - when specs hidden, has bottom radius */
	.rm-listicles-table-html .rm-product-more-row .rm-more-info-btn:not([aria-expanded="true"]) {
		border-radius: 0 0 16px 16px;
	}
	
	/* More row button - when specs visible, no bottom radius */
	.rm-listicles-table-html .rm-product-more-row .rm-more-info-btn[aria-expanded="true"] {
		border-radius: 0;
	}
	
	/* Specs row - when visible, has bottom radius to complete card */
	.rm-listicles-table-html .rm-product-specs-row[style*="display: grid"] td,
	.rm-listicles-table-html .rm-product-specs-row[style*="display: block"] td {
		border-radius: 0 0 16px 16px; /* Bottom corners rounded to complete card */
	}
}

/* Mobile Layout */
@media (max-width: 768px) {
	.rm-listicles-table-html {
		border-spacing: 0 16px;
	}
	
	.rm-listicles-table-html tbody tr.rm-listicles-product-card,
	.rm-listicles-table-html tbody tr.rm-listicles-product-card > td {
		display: block;
		width: 100%;
	}
	
	.rm-listicles-table-html .rm-table-position {
		position: relative;
		width: 100%;
		padding: 20px 20px 12px !important;
	}
	
	.rm-listicles-table-html .rm-table-position-wrapper {
		position: relative;
		top: 0;
		left: 0;
		flex-direction: row;
		align-items: center;
	}
	
	.rm-listicles-table-html .rm-table-image {
		width: 100%;
		padding: 20px !important;
		text-align: center;
	}
	
	.rm-listicles-table-html .rm-table-info {
		padding: 20px !important;
	}
	
	.rm-listicles-table-html .rm-table-rating {
		width: 100%;
		padding: 20px !important;
		text-align: center;
	}
	
	.rm-listicles-table-html .rm-table-rating .rm-card-rating-section {
		flex-direction: row;
		justify-content: center;
	}
	
	.rm-listicles-table-html .rm-table-price {
		width: 100%;
		padding: 20px !important;
		text-align: left;
	}
	
	.rm-listicles-table-html .rm-table-action {
		width: 100%;
		padding: 20px !important;
		text-align: left;
		margin-top: 0;
	}
	
	.rm-listicles-table-html .rm-table-price .rm-price-display {
		align-items: flex-start;
	}
	
	.rm-listicles-table-html .rm-table-action .rm-card-actions {
		align-items: flex-start;
	}
	
	.rm-listicles-table-html .rm-product-more-row {
		display: table-row;
	}
	
	.rm-listicles-table-html .rm-product-more-row > td {
		padding: 0 !important;
	}
	
	.rm-listicles-table-html .rm-product-specs-row[style*="display: table-row"],
	.rm-listicles-table-html .rm-product-specs-row[style*="display: block"] {
		display: table-row !important;
	}
	
	.rm-listicles-table-html .rm-more-info-btn {
		border-radius: 0 0 16px 16px;
	}
	
	.rm-listicles-table-html .rm-more-info-btn[aria-expanded="true"] {
		border-radius: 0;
	}
	
	.rm-listicles-table-html .rm-product-specs-row td {
		border-radius: 0 0 16px 16px;
	}
}

/* ==========================================================================
   NEW Product Compare Table - Semantic HTML Table Design
   ========================================================================== */

/* Section wrapper */
.product-compare-section {
	margin: 40px 0;
}

.product-compare-section > h2 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 24px;
}

/* Table base styles */
.product-compare-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 0; /* Spacing handled by margin-bottom on rows */
	margin: 0;
	background: transparent;
	table-layout: fixed;
	display: table;
}

/* Screen reader only - hide thead visually but keep for accessibility */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Product row - main card */
.product-row {
	background-color: #ffffff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	border-radius: 16px;
	border: 2px solid rgba(95, 46, 234, 0.3); /* Lighter version of gradient color */
	display: grid;
	grid-template-columns: auto 150px 1fr auto auto;
	grid-template-rows: auto auto;
	align-items: center; /* Vertically center all cells in first row */
	margin-bottom: 10px;
	transition: border-color 0.2s ease;
}

.product-row:hover {
	border-color: #5f2eea; /* Original gradient color on hover */
}

/* Border radius for first and last cells in first row */
.product-row > td:first-child {
	border-top-left-radius: 16px;
}
.product-row > td.col-cta {
	border-top-right-radius: 16px;
}
.product-row-more.col-more {
	border-bottom-left-radius: 16px;
	border-bottom-right-radius: 16px;
	grid-column: 1 / -1;
	grid-row: 2;
}

.product-row > td {
	padding: 16px 20px;
	vertical-align: middle;
}

/* Desktop: Center content vertically for specific columns */
@media (min-width: 769px) {
	.product-row {
		align-items: center;
	}
	
	.col-info,
	.col-price,
	.col-cta {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	
	.col-price,
	.col-cta {
		align-items: flex-end;
	}
}

/* First row cells */
.product-row > td.col-rank {
	grid-column: 1;
	grid-row: 1;
}
.product-row > td.col-image {
	grid-column: 2;
	grid-row: 1;
}
.product-row > td.col-info {
	grid-column: 3;
	grid-row: 1;
}
.product-row > td.col-price {
	grid-column: 4;
	grid-row: 1;
}
.product-row > td.col-cta {
	grid-column: 5;
	grid-row: 1;
}

/* Column: Rank */
.col-rank {
	white-space: nowrap;
}

@media (min-width: 769px) {
	.col-rank {
		padding: 16px 10px !important; /* Reduced padding for desktop */
	}
}

.rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #5f2eea;
	color: #ffffff;
	font-weight: 600;
	font-size: 14px;
}

/* Column: Image */
.col-image {
	width: 150px;
	min-width: 150px;
}

.col-image img {
	display: block;
	width: 120px;
	height: 120px;
	object-fit: contain;
}

/* Column: Info */
.col-info {
	padding-right: 40px;
	vertical-align: middle;
}

.product-title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	color: #1f2933;
}

/* Rating */
.product-rating {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	color: #333333;
}

.product-rating .stars {
	letter-spacing: 1px;
	color: #ffc107; /* Golden/yellow color for stars */
	font-size: 16px;
	line-height: 1;
	font-weight: normal;
}

.product-rating .rating-value {
	font-weight: 600;
	color: #5f2eea; /* Purple color matching gradient */
}

/* Column: Price */
.col-price {
	white-space: nowrap;
	text-align: right;
	vertical-align: middle;
}

.price-label {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #6b7280;
	margin-bottom: 4px;
}

.price-value {
	display: block;
	font-size: 20px;
	font-weight: 700;
	color: #15a54a;
}

/* Column: CTA Button */
.col-cta {
	white-space: nowrap;
	text-align: right;
	vertical-align: middle;
}

.btn-primary {
	display: inline-block;
	padding: 10px 24px;
	border-radius: 999px;
	background-image: linear-gradient(90deg, #5f2eea, #9b4dff);
	background-size: 200% 100%;
	background-position: left center;
	color: #ffffff;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.2s ease;
}

.btn-primary:hover,
.btn-primary:focus {
	color: #ffffff; /* Keep text white */
	background-position: right center; /* Animate gradient */
	box-shadow: 0 4px 12px rgba(95, 46, 234, 0.4);
	transform: translateY(-1px);
}

/* Column: More information */
.product-row-more.col-more {
	padding: 0 20px 10px;
	width: 100%;
	grid-column: 1 / -1;
	grid-row: 2;
}

/* Toggle button */
.more-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	margin: 0;
	border: 0;
	border-top: 1px solid #f1f3f5;
	background-color: transparent;
	font-size: 14px;
	color: #374151;
	cursor: pointer;
	transition: all 0.2s ease;
}

.more-toggle:hover {
	color: #1f2933;
}

.more-toggle .arrow {
	transition: transform 0.2s ease;
}

.more-toggle.is-open .arrow {
	transform: rotate(180deg);
}

/* Hidden content */
.more-content {
	padding: 12px 0 4px;
	font-size: 14px;
	color: #4b5563;
}

.more-content[hidden] {
	display: none;
}

.more-features {
	margin: 0;
	padding-left: 18px;
}

.more-features li {
	margin-bottom: 8px;
	line-height: 1.6;
}

.more-features li:last-child {
	margin-bottom: 0;
}

/* Responsive - Mobile view */
@media (max-width: 768px) {
	.product-row {
		display: block;
		grid-template-columns: none;
		grid-template-rows: none;
		position: relative; /* For absolute positioning of rank badge */
	}

	.product-row > td {
		display: block;
		width: 100%;
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.product-row {
		border-radius: 16px 16px 0 0;
	}

	.product-row-more.col-more {
		border-radius: 0 0 16px 16px;
		background-color: #ffffff;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
		margin-top: -16px;
		grid-column: auto !important;
		grid-row: auto !important;
	}
	
	/* Center image on mobile - already handled above */
	
	/* Center price content on mobile */
	.col-price {
		text-align: center !important;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	/* Center more-toggle button text on mobile */
	.more-toggle {
		justify-content: center;
		text-align: center;
	}

	/* Position rank badge in top-left corner */
	.col-rank {
		position: absolute;
		top: 16px;
		left: 16px;
		padding: 0 !important;
		z-index: 10;
	}

	/* Center image on mobile */
	.col-image {
		padding-top: 0;
		padding-bottom: 16px;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.col-image img {
		margin: 0 auto;
		display: block;
	}

	.col-cta {
		text-align: center;
		margin-top: 8px;
	}

	.btn-primary {
		width: 100%;
		text-align: center;
	}
}

.rm-listicles-filters {
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 1.5em;
	flex-wrap: wrap;
	position: relative;
}

.rm-listicles-filters label {
	font-weight: 600;
	color: #2c3e50;
	font-size: 1em;
}

.rm-listicles-sort-select {
	padding: 0.6em 1.2em;
	border: 2px solid #e9ecef;
	border-radius: 8px;
	background: #fff;
	font-size: 0.95em;
	color: #495057;
	cursor: pointer;
	transition: all 0.3s ease;
	position: relative;
}

.rm-listicles-sort-select:disabled {
	opacity: 0.6;
	cursor: wait;
}

/* Loading spinner */
.rm-sort-loader {
	display: none;
	position: absolute;
	right: calc(1em + 1.2em);
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border: 3px solid #f0f0f0;
	border-top-color: #5f2eea;
	border-right-color: #5f2eea;
	border-radius: 50%;
	animation: rm-spin 0.8s linear infinite;
	pointer-events: none;
	z-index: 100;
	background: #fff;
	box-shadow: 0 0 0 2px #fff;
}

.rm-listicles-filters.loading .rm-sort-loader {
	display: block;
}

@keyframes rm-spin {
	0% {
		transform: translateY(-50%) rotate(0deg);
	}
	100% {
		transform: translateY(-50%) rotate(360deg);
	}
}

.rm-listicles-sort-select:hover {
	border-color: #667eea;
}

.rm-listicles-sort-select:focus {
	outline: none;
	border-color: #667eea;
	box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.rm-listicles-table-html .rm-spec-item {
	display: flex;
	gap: 0.5em;
	padding: 0.5em 0;
	border-bottom: 1px solid #e9ecef;
	font-size: 0.9em;
	width: 100%;
	box-sizing: border-box;
}

.rm-listicles-table-html .rm-spec-item:last-child {
	border-bottom: none;
}

.rm-listicles-table-html .rm-spec-item .rm-spec-label {
	font-weight: 600;
	color: #495057;
	min-width: 150px;
	flex-shrink: 0;
}

.rm-listicles-table-html .rm-spec-item .rm-spec-value {
	color: #6c757d;
	flex: 1;
	max-width: 100%;
	word-wrap: break-word;
}

.rm-listicles-product-card.rm-best-choice .rm-affiliate-button {
	background: linear-gradient(135deg, #ffc107 0%, #ffb300 100%);
	color: #1a1a1a;
	box-shadow: 0 4px 12px rgba(255, 193, 7, 0.4);
}

.rm-listicles-product-card.rm-best-choice .rm-affiliate-button:hover {
	box-shadow: 0 8px 24px rgba(255, 193, 7, 0.6);
}

/* View More Button for Listicles */
.rm-listicles-view-more {
	margin-top: 2em;
	text-align: center;
	padding: 1.5em 0;
}

.rm-listicles-view-more-button {
	display: inline-block;
	padding: 0.875em 2em;
	background-image: linear-gradient(90deg, #5f2eea, #9b4dff);
	background-size: 200% 100%;
	background-position: left center;
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1em;
	border-radius: 12px; /* Less rounded than btn-primary (999px) */
	transition: background-position 0.4s ease, box-shadow 0.3s ease, transform 0.2s ease;
	box-shadow: 0 4px 12px rgba(95, 46, 234, 0.3);
	border: none;
	cursor: pointer;
}

.rm-listicles-view-more-button:hover,
.rm-listicles-view-more-button:focus {
	color: #ffffff;
	background-position: right center; /* Animate gradient */
	box-shadow: 0 6px 20px rgba(95, 46, 234, 0.4);
	transform: translateY(-2px);
	text-decoration: none;
}

.rm-listicles-view-more-button:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(95, 46, 234, 0.3);
}

@media (max-width: 768px) {
	.rm-listicles-view-more-button {
		padding: 0.75em 1.5em;
		font-size: 1em;
	}
}

/* Product Review Section */
.rm-listicles-product-review {
	margin: 2em 0;
}

.rm-product-title {
	margin: 0 0 0.5em 0;
	font-size: 1.5em;
	color: #2c3e50;
	border-bottom: 2px solid #e9ecef;
	padding-bottom: 0.5em;
}

.rm-product-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 1em;
	padding: 0.75em 1em;
	background: #f8f9fa;
	border-radius: 6px;
	font-size: 0.95em;
	align-items: center;
}

.rm-product-rating,
.rm-product-reviews-count,
.rm-product-price {
	display: inline-flex;
	align-items: center;
	gap: 0.25em;
	white-space: nowrap;
}

/* Separator between meta items */
.rm-meta-separator {
	color: #dee2e6;
	margin: 0 0.5em;
	font-weight: normal;
}

.rm-product-rating strong {
	color: #667eea;
	font-size: 1.1em;
}

/* Star Rating Styles */
.rm-star-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.15em;
	margin-right: 0.25em;
}

.rm-star {
	font-size: 1.2em;
	line-height: 1;
	color: #ddd;
	transition: color 0.2s ease;
	display: inline-block;
}

.rm-star-full {
	color: #ffc107;
}

.rm-star-half-wrapper {
	position: relative;
	width: 1em;
	height: 1em;
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

.rm-star-half-empty {
	position: absolute;
	left: 0;
	top: 0;
	color: #ddd;
	width: 100%;
	z-index: 1;
}

.rm-star-half-filled {
	position: absolute;
	left: 0;
	top: 0;
	color: #ffc107;
	width: 50%;
	overflow: hidden;
	white-space: nowrap;
	z-index: 2;
}

.rm-star-empty {
	color: #ddd;
}

.rm-product-reviews-count {
	color: #666;
}

.rm-product-price strong {
	color: #28a745;
	font-size: 1.1em;
}

.rm-product-review {
	margin-bottom: 1.5em;
	line-height: 1.8;
	color: #495057;
	display: flex;
	gap: 1.5em;
	align-items: flex-start;
}

.rm-product-review-image {
	flex-shrink: 0;
	width: 200px;
}

.rm-product-review-img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	object-fit: contain;
}

.rm-product-review-content {
	flex: 1;
}

/* Pros and Cons */
/* Pros / Cons — clean side-by-side */
.rm-product-pros-cons-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	margin: 1.5em 0;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	background: #e5e7eb;
}

.rm-product-pros-container,
.rm-product-cons-container {
	display: flex;
	flex-direction: column;
	padding: 0;
	border-radius: 0;
	background: #fff;
}

.rm-product-pros-container {
	border-left: none;
}

.rm-product-cons-container {
	border-left: none;
}

.rm-product-pros,
.rm-product-cons {
	margin: 0;
	padding: 0.65em 1em;
	font-size: 0.78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	display: flex;
	align-items: center;
	gap: 0.35em;
}

.rm-product-pros {
	color: #10b981;
	background: #f0fdf4;
	border-bottom: 1px solid #dcfce7;
}

.rm-product-pros::before {
	content: '\2714';
	font-size: 0.85em;
}

.rm-product-cons {
	color: #ef4444;
	background: #fef2f2;
	border-bottom: 1px solid #fecaca;
}

.rm-product-cons::before {
	content: '\2716';
	font-size: 0.8em;
}

.rm-product-pros-container ul,
.rm-product-cons-container ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rm-product-pros-container li,
.rm-product-cons-container li {
	margin: 0;
	padding: 0.5em 1em;
	line-height: 1.55;
	font-size: 0.9em;
	color: #374151;
	border-bottom: 1px solid #f3f4f6;
	display: flex;
	align-items: baseline;
	gap: 0.5em;
}

.rm-product-pros-container li:last-child,
.rm-product-cons-container li:last-child {
	border-bottom: none;
}

.rm-product-pros-container li::before {
	content: '+';
	color: #10b981;
	font-weight: 700;
	flex-shrink: 0;
}

.rm-product-cons-container li::before {
	content: '\2212';
	color: #ef4444;
	font-weight: 700;
	flex-shrink: 0;
}

/* Best For Badges */
/* Best For — clean card style */
.rm-product-best-for {
	margin: 1.5em 0 0.5em 0;
	padding: 0;
	font-size: 0.78em;
	font-weight: 700;
	color: #10b981;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	display: flex;
	align-items: center;
	gap: 0.35em;
}

.rm-product-best-for::before {
	content: '\2714';
	font-size: 0.85em;
}

.rm-best-for-list {
	list-style: none;
	margin: 0 0 0.75em 0;
	padding: 0.6em 1em;
	background: #f0fdf4;
	border-left: 3px solid #10b981;
	border-radius: 0 6px 6px 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.rm-best-for-list li {
	margin: 0;
	padding: 0.4em 0;
	background: none;
	color: #334155;
	border: none;
	border-bottom: 1px solid #dcfce7;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.88em;
	line-height: 1.6;
	font-weight: 400;
	display: flex;
	align-items: baseline;
	transition: none;
}

.rm-best-for-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.rm-best-for-list li::before {
	content: '\2713';
	margin-right: 0.5em;
	color: #10b981;
	font-weight: 700;
	font-size: 0.85em;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.rm-best-for-list {
		padding: 0.5em 0.75em;
	}

	.rm-best-for-list li {
		font-size: 0.84em;
	}
}

/* Selection Criteria Section */
.rm-listicles-selection-criteria {
	margin: 3em 0;
	border-radius: 20px;
	position: relative;
}

.rm-listicles-selection-criteria h2 {
	font-size: 1.75em;
	font-weight: 700;
	color: #2c3e50;
	margin: 0 0 1.5em 0;
	position: relative;
	padding-bottom: 0.75em;
}

.rm-listicles-selection-criteria h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 2px;
}

.rm-selection-criteria-intro {
	font-size: 1.1em;
	font-weight: 500;
	color: #495057;
	margin: 0 0 2em 0;
	line-height: 1.7;
}

.rm-selection-criteria-list {
	list-style: none;
	margin: 0 0 2em 0;
	padding: 0;
}

.rm-selection-criteria-list li {
	position: relative;
	padding: 0.6em 0 0.6em 1.75em;
	font-size: 1.05em;
	line-height: 1.7;
	color: #495057;
	border-bottom: 1px solid #e9ecef;
}

.rm-selection-criteria-list li:last-child {
	border-bottom: none;
}

.rm-selection-criteria-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1em;
	width: 6px;
	height: 6px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 50%;
}

.rm-selection-criteria-list li strong {
	color: #2c3e50;
	font-weight: 600;
}

.rm-selection-criteria-stage {
	font-size: 1.4em;
	font-weight: 700;
	color: #2c3e50;
	margin: 2em 0 1em 0;
}

.rm-selection-criteria-stage:first-of-type {
	margin-top: 1em;
}

.rm-selection-criteria-content {
	margin-bottom: 1.5em;
}

.rm-selection-criteria-content p {
	font-size: 1.05em;
	line-height: 1.8;
	color: #495057;
	margin: 0 0 1em 0;
}

.rm-selection-criteria-content p:last-child {
	margin-bottom: 0;
}

.rm-selection-criteria-content p strong {
	color: #2c3e50;
	font-weight: 600;
}

.rm-selection-criteria-content p em {
	color: #6c757d;
	font-style: italic;
}

/* Who Should NOT Buy Section */
.rm-listicles-who-should-not-buy {
	margin: 3em 0;
	padding: 2.5em;
	background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	position: relative;
}

.rm-listicles-who-should-not-buy h2 {
	font-size: 1.75em;
	font-weight: 700;
	color: #721c24;
	margin: 0 0 1.5em 0;
	position: relative;
	padding-bottom: 0.75em;
}

.rm-listicles-who-should-not-buy h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
	border-radius: 2px;
}

.rm-who-should-not-buy-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rm-who-should-not-buy-list li {
	position: relative;
	padding: 1em 1em 1em 2.5em;
	margin-bottom: 0.75em;
	background: #ffffff;
	border-left: 4px solid #dc3545;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(220, 53, 69, 0.1);
	transition: all 0.3s ease;
	line-height: 1.7;
	color: #495057;
	font-size: 1.05em;
}

.rm-who-should-not-buy-list li::before {
	content: '✗';
	position: absolute;
	left: 0.75em;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
	color: #ffffff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.85em;
	box-shadow: 0 2px 6px rgba(220, 53, 69, 0.3);
}

.rm-who-should-not-buy-list li:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(220, 53, 69, 0.15);
	border-left-color: #c82333;
}

/* Comparison and Conclusion */
.rm-listicles-comparison,
.rm-listicles-conclusion {
	margin: 2em 0;
}

.rm-listicles-comparison h2,
.rm-listicles-conclusion h2 {
	margin: 0 0 1em 0;
	font-size: 1.75em;
	color: #2c3e50;
}

/* Listicles FAQ Section - Professional Redesign */
/* === FAQ Accordion (pure CSS, details/summary) === */
.rm-listicles-faq {
	margin: 2.5em 0;
	padding: 0;
}

.rm-listicles-faq h2 {
	margin: 0 0 1em 0;
	font-size: 1.5em;
	font-weight: 700;
	color: #1a1a1a;
}

.rm-listicles-faq .rm-faq-item {
	border-bottom: 1px solid #e9ecef;
}

.rm-listicles-faq .rm-faq-item:last-of-type {
	border-bottom: none;
}

.rm-listicles-faq .rm-faq-question {
	list-style: none;
	padding: 1em 2em 1em 0;
	cursor: pointer;
	position: relative;
	font-size: 1.05em;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.5;
}

.rm-listicles-faq .rm-faq-question::-webkit-details-marker {
	display: none;
}

/* summary styled as heading — no h3 inside to avoid click issues */

.rm-listicles-faq .rm-faq-question::after {
	content: '+';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.3em;
	font-weight: 300;
	color: #667eea;
}

.rm-listicles-faq .rm-faq-item[open] .rm-faq-question::after {
	content: '\2212';
}

.rm-listicles-faq .rm-faq-answer {
	padding: 0 0 1em 0;
	line-height: 1.75;
	color: #495057;
	font-size: 0.95em;
}

.rm-listicles-faq .rm-faq-answer p {
	margin: 0 0 0.75em 0;
	color: inherit;
}

.rm-listicles-faq .rm-faq-answer p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.rm-listicles-faq h2 {
		font-size: 1.3em;
	}

	.rm-listicles-faq .rm-faq-question h3 {
		font-size: 0.95em;
	}
}

/* Old general .rm-faq-answer rules removed — replaced by .rm-listicles-faq scoped rules above */

/* Comparison Table (New Semantic HTML Table) */
.rm-listicles-comparison-table {
	margin: 3em 0;
	padding: 2.5em;
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Introductory text */
.rm-comparison-table-intro {
	font-size: 1.05em;
	line-height: 1.8;
	color: #495057;
	margin-bottom: 2em;
	padding: 1.5em;
	background: #fff;
	border-left: 4px solid #667eea;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Table wrapper for responsive scrolling */
.rm-comparison-table-wrapper {
	overflow-x: auto;
	margin: 0 -0.5em;
	padding: 0 0.5em;
	position: relative;
}

/* Semantic HTML table styles */
.rm-comparison-table-html {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.rm-comparison-table-html thead {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
}

.rm-comparison-table-html th {
	padding: 1.25em 1em;
	text-align: left;
	font-weight: 700;
	font-size: 0.95em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.rm-comparison-table-html th:last-child {
	border-right: none;
}

.rm-comparison-table-html tbody tr {
	border-bottom: 1px solid #e9ecef;
	transition: background-color 0.2s ease;
}

.rm-comparison-table-html tbody tr:hover {
	background-color: #f8f9fa;
}

.rm-comparison-table-html tbody tr:last-child {
	border-bottom: none;
}

.rm-comparison-table-html tbody tr.rm-comparison-best-choice {
	background-color: #fff9e6;
	border-left: 4px solid #ffc107;
}

.rm-comparison-table-html tbody tr.rm-comparison-best-choice:hover {
	background-color: #fff8dc;
}

.rm-comparison-table-html td {
	padding: 1.25em 1em;
	vertical-align: top;
	font-size: 0.95em;
	line-height: 1.6;
	color: #495057;
	border-right: 1px solid #f0f0f0;
}

.rm-comparison-table-html td:last-child {
	border-right: none;
}

/* Model name column */
.rm-comparison-model {
	font-weight: 600;
	color: #2c3e50;
}

.rm-comparison-best-badge {
	display: inline-block;
	padding: 0.25em 0.6em;
	background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
	color: #fff;
	font-size: 0.75em;
	font-weight: 700;
	border-radius: 4px;
	margin-bottom: 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Power, Autonomy, Capacity columns */
.rm-comparison-power,
.rm-comparison-autonomy,
.rm-comparison-capacity {
	font-weight: 500;
	color: #495057;
}

/* Key Technology column */
.rm-comparison-technology {
	color: #495057;
}

.rm-comparison-technology strong {
	color: #2c3e50;
	font-weight: 600;
}

/* Best For column (Our Recommendation) */
.rm-comparison-best-for {
	color: #495057;
	line-height: 1.7;
}

.rm-comparison-best-for strong {
	color: #28a745;
	font-weight: 600;
}

/* Price column */
.rm-comparison-price {
	font-weight: 700;
	color: #28a745;
	font-size: 1.05em;
}

/* Note below table */
.rm-comparison-table-note {
	margin-top: 1.5em;
	padding: 1em 1.5em;
	background: #f8f9fa;
	border-left: 4px solid #6c757d;
	border-radius: 8px;
	font-size: 0.9em;
	color: #6c757d;
	line-height: 1.6;
}

.rm-listicles-comparison-table h2 {
	font-size: 2em;
	font-weight: 700;
	color: #2c3e50;
	margin: 0 0 1.5em 0;
	text-align: center;
	position: relative;
	padding-bottom: 0.75em;
}

.rm-listicles-comparison-table h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 2px;
}

/* Responsive styles */
@media (max-width: 768px) {
	/* Quick Navigation - Mobile */
	.rm__quick-nav-list {
		flex-direction: column;
		gap: 0.4em;
	}
	
	.rm__quick-nav-link {
		width: 100%;
		text-align: center;
		font-size: 0.85em;
		padding: 0.6em 0.8em;
	}
	
	.rm-listicles-table {
		padding: 10px;
		border-radius: 16px;
		margin: 1.5em 0;
		background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	}
	
	.rm-listicles-filters {
		flex-direction: row;
		align-items: center;
		margin-bottom: 1em;
		gap: 0.75em;
	}
	
	.rm-listicles-filters label {
		font-size: 0.9em;
		margin-bottom: 0;
		white-space: nowrap;
	}
	
	.rm-listicles-sort-select {
		flex: 1;
		min-width: 0;
		font-size: 0.9em;
		padding: 0.5em 1em;
	}

	.rm-product-pros-cons-wrapper {
		grid-template-columns: 1fr;
		gap: 1px;
		margin: 1em 0;
	}

	.rm-product-pros-container li,
	.rm-product-cons-container li {
		font-size: 0.85em;
		padding: 0.45em 0.75em;
	}

	/* Selection Criteria - Mobile */
	.rm-listicles-selection-criteria {
		margin: 2em 0;
		padding: 1.5em 1em;
		border-radius: 16px;
	}

	.rm-listicles-selection-criteria h2 {
		font-size: 1.5em;
		margin-bottom: 0.75em;
		padding-bottom: 0.5em;
	}

	.rm-listicles-selection-criteria h2::after {
		width: 60px;
		height: 3px;
	}

	.rm-selection-criteria-intro {
		font-size: 1em;
		margin-bottom: 1.5em;
		line-height: 1.6;
	}

	.rm-selection-criteria-stage {
		font-size: 1.2em;
		margin: 1.5em 0 0.75em 0;
	}

	.rm-selection-criteria-content p {
		font-size: 0.95em;
		line-height: 1.7;
		margin-bottom: 0.85em;
	}

	.rm-selection-criteria-list {
		margin-bottom: 1.5em;
	}

	.rm-selection-criteria-list li {
		padding: 0.5em 0 0.5em 1.5em;
		font-size: 0.95em;
	}

	/* Comparison Table - Mobile */
	.rm-listicles-comparison-table {
		margin: 2em 0;
		padding: 1.5em 1em;
		border-radius: 16px;
	}
	
	.rm-listicles-comparison-table h2 {
		font-size: 1.5em;
		margin-bottom: 1em;
		padding-bottom: 0.5em;
	}
	
	.rm-listicles-comparison-table h2::after {
		width: 60px;
		height: 3px;
	}

	.rm-comparison-table-intro {
		font-size: 0.95em;
		padding: 1em;
		margin-bottom: 1.5em;
	}

	/* Table wrapper for mobile scrolling */
	.rm-comparison-table-wrapper {
		margin: 0 -1em;
		padding: 0 1em;
	}
	
	/* Scroll indicator for mobile - gradient overlay */
	.rm-comparison-table-wrapper::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 40px;
		background: linear-gradient(to left, rgba(248, 249, 250, 0.9) 0%, rgba(248, 249, 250, 0) 100%);
		pointer-events: none;
		z-index: 1;
		opacity: 1;
		transition: opacity 0.3s ease;
	}
	
	/* Hide gradient when scrolled */
	.rm-comparison-table-wrapper.scrolled::after {
		opacity: 0;
	}
	
	/* Scroll hint text indicator */
	.rm-comparison-table-wrapper::before {
		content: '← Плъзнете надясно';
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		background: rgba(102, 126, 234, 0.9);
		color: #fff;
		padding: 0.5em 0.75em;
		border-radius: 6px;
		font-size: 0.75em;
		font-weight: 600;
		z-index: 2;
		pointer-events: none;
		white-space: nowrap;
		animation: slideHint 2s ease-in-out infinite;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
		backdrop-filter: blur(5px);
	}
	
	/* Hide hint when scrolled */
	.rm-comparison-table-wrapper.scrolled::before {
		display: none;
	}
	
	/* Animation for scroll hint */
	@keyframes slideHint {
		0%, 100% {
			transform: translateY(-50%) translateX(0);
			opacity: 0.9;
		}
		50% {
			transform: translateY(-50%) translateX(-8px);
			opacity: 1;
		}
	}

	/* Table headers - smaller on mobile */
	.rm-comparison-table-html th {
		padding: 0.9em 0.7em;
		font-size: 0.8em;
	}

	/* Table cells - smaller on mobile */
	.rm-comparison-table-html td {
		padding: 0.9em 0.7em;
		font-size: 0.85em;
	}

	.rm-comparison-best-badge {
		font-size: 0.65em;
		padding: 0.2em 0.5em;
	}

	.rm-comparison-price {
		font-size: 0.95em;
	}

	.rm-comparison-table-note {
		font-size: 0.85em;
		padding: 0.85em 1em;
	}

	.rm-sort-select {
		width: 100%;
		min-width: auto;
		font-size: 0.95em;
		padding: 0.7em 1em;
	}

	.rm-product-review {
		flex-direction: column;
	}

	.rm-product-review-image {
		width: 100%;
		margin-bottom: 1em;
	}

	.rm-position-badge {
		width: 32px;
		height: 32px;
		line-height: 32px;
		font-size: 0.9em;
	}

}

/* Admin Listicles Styles */
.rm-listicles-admin .rm-needs-update {
	background-color: #fff3cd;
}

/* Lightbox Styles */
.rm-lightbox {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.95);
	z-index: 999999;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.rm-lightbox.active {
	display: flex;
	opacity: 1;
}

.rm-lightbox__content {
	position: relative;
	max-width: 90%;
	max-height: 90%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: default;
}

.rm-lightbox__image {
	max-width: 100%;
	max-height: 85vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.rm-lightbox__caption {
	margin-top: 1.5em;
	color: #ffffff;
	font-size: 1.1em;
	text-align: center;
	max-width: 80%;
	line-height: 1.6;
}

.rm-lightbox__close {
	position: absolute;
	top: 20px;
	right: 30px;
	color: #ffffff;
	font-size: 3em;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	z-index: 1000000;
	transition: transform 0.2s ease, color 0.2s ease;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
}

.rm-lightbox__close:hover {
	transform: rotate(90deg);
	color: #ff6b6b;
	background: rgba(255, 107, 107, 0.2);
}

.rm-lightbox__prev,
.rm-lightbox__next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: 3em;
	font-weight: 300;
	cursor: pointer;
	z-index: 1000000;
	transition: all 0.2s ease;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	user-select: none;
}

.rm-lightbox__prev {
	left: 30px;
}

.rm-lightbox__next {
	right: 30px;
}

.rm-lightbox__prev:hover,
.rm-lightbox__next:hover {
	background: rgba(102, 126, 234, 0.3);
	color: #ffffff;
	transform: translateY(-50%) scale(1.1);
}

.rm-lightbox__prev:active,
.rm-lightbox__next:active {
	transform: translateY(-50%) scale(0.95);
}

/* Mobile Lightbox Styles */
@media (max-width: 768px) {
	.rm-who-should-not-buy-list li {
		padding: 1em 1em 1em 1em;
	}
	
	.rm-who-should-not-buy-list li::before {
		display: none;
	}

	
.rm-listicles-who-should-not-buy {
	margin: 0;
	padding: 1.5em 1em;
	background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	position: relative;
}	
	
	
	.rm-lightbox__close {
		top: 10px;
		right: 15px;
		font-size: 2em;
		width: 40px;
		height: 40px;
	}

	.rm-lightbox__prev,
	.rm-lightbox__next {
		font-size: 2em;
		width: 50px;
		height: 50px;
	}

	.rm-lightbox__prev {
		left: 15px;
	}

	.rm-lightbox__next {
		right: 15px;
	}

	.rm-lightbox__image {
		max-height: 80vh;
	}

	.rm-lightbox__caption {
		font-size: 0.95em;
		margin-top: 1em;
		padding: 0 1em;
	}
}
