/* ==========================================================================
   NOM Staging CPTs
   Lightweight overrides for plugin-based Blog + Shoppable templates
   Built to sit on top of the Night of Mystery theme
   ========================================================================== */

/* Only target our plugin-driven CPT views */
body.single-blog,
body.post-type-archive-blog,
body.single-shoppable,
body.post-type-archive-shoppable {
	--nom-staging-anchor-offset: 120px;
}

/* --------------------------------------------------------------------------
   Single article polish
   -------------------------------------------------------------------------- */

body.single-blog .section-page_hero .block-back,
body.single-shoppable .section-page_hero .block-back {
	margin-bottom: 14px;
}

body.single-blog .section-page_hero .post-meta,
body.single-shoppable .section-page_hero .post-meta {
	row-gap: 14px;
}

body.single-blog .section-page_hero .block-share h5,
body.single-shoppable .section-page_hero .block-share h5 {
	margin-bottom: 8px;
}

body.single-blog .section-single_article .row-main,
body.single-shoppable .section-single_article .row-main {
	row-gap: 28px;
}

body.single-blog .section-single_article .page-body,
body.single-shoppable .section-single_article .page-body {
	max-width: 100%;
}

/* Make TOC links land cleanly beneath sticky headers */
body.single-blog .section-single_article .page-body h2,
body.single-shoppable .section-single_article .page-body h2 {
	scroll-margin-top: var(--nom-staging-anchor-offset);
}

/* Better rhythm inside article content */
body.single-blog .section-single_article .page-body > * + *,
body.single-shoppable .section-single_article .page-body > * + * {
	margin-top: 1.1em;
}

body.single-blog .section-single_article .page-body h2,
body.single-shoppable .section-single_article .page-body h2 {
	margin-top: 1.8em;
	margin-bottom: 0.55em;
}

body.single-blog .section-single_article .page-body h3,
body.single-shoppable .section-single_article .page-body h3 {
	margin-top: 1.4em;
	margin-bottom: 0.45em;
}

body.single-blog .section-single_article .page-body img,
body.single-shoppable .section-single_article .page-body img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

body.single-blog .section-single_article .page-body ul,
body.single-shoppable .section-single_article .page-body ul,
body.single-blog .section-single_article .page-body ol,
body.single-shoppable .section-single_article .page-body ol {
	padding-left: 1.2rem;
}

body.single-blog .section-single_article .page-body blockquote,
body.single-shoppable .section-single_article .page-body blockquote {
	margin: 1.5em 0;
	padding: 1em 1.2em;
	border-left: 4px solid currentColor;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 10px;
}

/* --------------------------------------------------------------------------
   Table of contents
   -------------------------------------------------------------------------- */

body.single-blog .post-table_of_contents,
body.single-shoppable .post-table_of_contents {
	position: sticky;
	top: 110px;
	max-height: calc(100vh - 140px);
	overflow: auto;
}

body.single-blog .post-table_of_contents h4,
body.single-shoppable .post-table_of_contents h4 {
	margin-bottom: 14px;
}

body.single-blog .post-table_of_contents ul,
body.single-shoppable .post-table_of_contents ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-blog .post-table_of_contents li + li,
body.single-shoppable .post-table_of_contents li + li {
	margin-top: 10px;
}

body.single-blog .post-table_of_contents a,
body.single-shoppable .post-table_of_contents a {
	display: inline-block;
	text-decoration: none;
	line-height: 1.4;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

body.single-blog .post-table_of_contents a:hover,
body.single-shoppable .post-table_of_contents a:hover {
	opacity: 0.8;
	transform: translateX(2px);
}

/* --------------------------------------------------------------------------
   Popular articles sidebar
   -------------------------------------------------------------------------- */

body.single-blog .popular-articles h4,
body.single-shoppable .popular-articles h4 {
	margin-bottom: 16px;
}

body.single-blog .popular-articles__list,
body.single-shoppable .popular-articles__list {
	display: grid;
	gap: 18px;
}

body.single-blog .popular-articles__list .blog-card,
body.single-shoppable .popular-articles__list .blog-card {
	height: 100%;
	min-height: 220px;
}

body.single-blog .popular-articles__list .blog-card__image img,
body.single-shoppable .popular-articles__list .blog-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.single-blog .popular-articles__list .blog-card__text,
body.single-shoppable .popular-articles__list .blog-card__text {
	padding-right: 20px;
}

body.single-blog .popular-articles__list .blog-card h3,
body.single-shoppable .popular-articles__list .blog-card h3 {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Related products
   -------------------------------------------------------------------------- */

body.single-blog .section-related_products .swiper-slide,
body.single-shoppable .section-related_products .swiper-slide {
	height: auto;
}

body.single-blog .section-related_products .product-card,
body.single-shoppable .section-related_products .product-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

body.single-blog .section-related_products .product-card__image .img-fluid,
body.single-shoppable .section-related_products .product-card__image .img-fluid {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}

body.single-blog .section-related_products .product-card__text h3,
body.single-shoppable .section-related_products .product-card__text h3 {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Archive support
   -------------------------------------------------------------------------- */

body.post-type-archive-blog .nom-staging,
body.post-type-archive-shoppable .nom-staging {
	max-width: 1320px;
	margin: 0 auto;
	padding: 48px 20px 72px;
}

body.post-type-archive-blog .nom-card-grid,
body.post-type-archive-shoppable .nom-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}

body.post-type-archive-blog .nom-card,
body.post-type-archive-shoppable .nom-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	height: 100%;
}

body.post-type-archive-blog .nom-card__link,
body.post-type-archive-shoppable .nom-card__link {
	color: inherit;
	text-decoration: none;
	display: block;
	height: 100%;
}

body.post-type-archive-blog .nom-card__image img,
body.post-type-archive-shoppable .nom-card__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0;
}

body.post-type-archive-blog .nom-card__body,
body.post-type-archive-shoppable .nom-card__body {
	padding: 18px;
}

body.post-type-archive-blog .nom-card__title,
body.post-type-archive-shoppable .nom-card__title {
	margin: 0 0 10px;
	font-size: 1.2rem;
	line-height: 1.25;
}

body.post-type-archive-blog .nom-pagination,
body.post-type-archive-shoppable .nom-pagination {
	margin-top: 32px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1199.98px) {
	body.single-blog .post-table_of_contents,
	body.single-shoppable .post-table_of_contents {
		position: static;
		top: auto;
		max-height: none;
	}
}

@media (max-width: 991.98px) {
	body.single-blog,
	body.single-shoppable {
		--nom-staging-anchor-offset: 96px;
	}

	body.single-blog .section-page_hero .post-meta,
	body.single-shoppable .section-page_hero .post-meta {
		align-items: flex-start !important;
	}

	body.single-blog .popular-articles,
	body.single-shoppable .popular-articles {
		margin-top: 10px;
	}
}

@media (max-width: 767.98px) {
	body.single-blog .section-page_hero .block-back,
	body.single-shoppable .section-page_hero .block-back {
		margin-bottom: 10px;
	}

	body.single-blog .section-single_article .row-main,
	body.single-shoppable .section-single_article .row-main {
		row-gap: 22px;
	}

	body.single-blog .post-table_of_contents,
	body.single-shoppable .post-table_of_contents {
		padding: 24px 20px;
	}

	body.single-blog .popular-articles__list,
	body.single-shoppable .popular-articles__list {
		gap: 14px;
	}
}


/* --------------------------------------------------------------------------
   Raw HTML Listicle support
   Scoped to plugin-rendered single templates only
   -------------------------------------------------------------------------- */

body.single-blog .nom-listicle-template,
body.single-shoppable .nom-listicle-template {
	padding: 48px 0 72px;
}

body.single-blog .nom-listicle-template .page-wrap,
body.single-shoppable .nom-listicle-template .page-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	color: #e8e4dc;
	line-height: 1.75;
	font-size: 16px;
}

body.single-blog .nom-listicle-template *,
body.single-shoppable .nom-listicle-template * {
	box-sizing: border-box;
}

body.single-blog .nom-listicle-template .hero,
body.single-shoppable .nom-listicle-template .hero {
	background: linear-gradient(135deg, #1a0a2e 0%, #2d0f4a 50%, #1a1a0a 100%);
	border: 1px solid #5a3a8a;
	border-radius: 12px;
	padding: 50px 40px;
	text-align: center;
	margin-bottom: 48px;
	position: relative;
	overflow: hidden;
}

body.single-blog .nom-listicle-template .hero::before,
body.single-shoppable .nom-listicle-template .hero::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle at center, rgba(138,43,226,0.08) 0%, transparent 60%);
	pointer-events: none;
}

body.single-blog .nom-listicle-template .hero-tag,
body.single-shoppable .nom-listicle-template .hero-tag {
	display: inline-block;
	background: #8a2be2;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: 18px;
	position: relative;
	z-index: 2;
}

body.single-blog .nom-listicle-template .hero h1,
body.single-shoppable .nom-listicle-template .hero h1 {
	font-size: clamp(24px, 4vw, 40px);
	font-weight: 700;
	color: #f5e6ff;
	line-height: 1.25;
	margin-bottom: 18px;
	position: relative;
	z-index: 2;
}

body.single-blog .nom-listicle-template .hero-sub,
body.single-shoppable .nom-listicle-template .hero-sub {
	font-size: 16px;
	color: #c4aee0;
	max-width: 620px;
	margin: 0 auto 26px;
	font-family: Arial, sans-serif;
	position: relative;
	z-index: 2;
}

body.single-blog .nom-listicle-template .hero-meta,
body.single-shoppable .nom-listicle-template .hero-meta {
	font-size: 13px;
	color: #8a7aaa;
	font-family: Arial, sans-serif;
	position: relative;
	z-index: 2;
}

body.single-blog .nom-listicle-template h2,
body.single-shoppable .nom-listicle-template h2 {
	font-size: clamp(20px, 3vw, 28px);
	color: #d4b8f0;
	margin: 48px 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid #3a2a5a;
}

body.single-blog .nom-listicle-template h3,
body.single-shoppable .nom-listicle-template h3 {
	font-size: 18px;
	color: #e8dcf8;
	margin: 28px 0 12px;
}

body.single-blog .nom-listicle-template p,
body.single-shoppable .nom-listicle-template p {
	margin-bottom: 14px;
	font-family: Arial, sans-serif;
	font-size: 15px;
	color: #ccc8d8;
}

body.single-blog .nom-listicle-template .method-box,
body.single-shoppable .nom-listicle-template .method-box {
	background: #12091e;
	border: 1px solid #3a2a5a;
	border-left: 4px solid #8a2be2;
	border-radius: 8px;
	padding: 24px 28px;
	margin: 28px 0;
	font-family: Arial, sans-serif;
}

body.single-blog .nom-listicle-template .method-box h3,
body.single-shoppable .nom-listicle-template .method-box h3 {
	margin-top: 0;
	color: #c4aee0;
	font-size: 16px;
}

body.single-blog .nom-listicle-template .method-grid,
body.single-shoppable .nom-listicle-template .method-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
	margin-top: 14px;
}

body.single-blog .nom-listicle-template .method-item,
body.single-shoppable .nom-listicle-template .method-item {
	background: #1c1030;
	border-radius: 6px;
	padding: 10px 14px;
	font-size: 13px;
	color: #b0a0cc;
}

body.single-blog .nom-listicle-template .method-item strong,
body.single-shoppable .nom-listicle-template .method-item strong {
	color: #d4b8f0;
	display: block;
}

body.single-blog .nom-listicle-template .table-wrap,
body.single-shoppable .nom-listicle-template .table-wrap {
	overflow-x: auto;
	margin: 32px 0;
}

body.single-blog .nom-listicle-template table,
body.single-shoppable .nom-listicle-template table {
	width: 100%;
	border-collapse: collapse;
	font-family: Arial, sans-serif;
	font-size: 13px;
	min-width: 700px;
}

body.single-blog .nom-listicle-template thead th,
body.single-shoppable .nom-listicle-template thead th {
	background: #1e0e38;
	color: #c4aee0;
	font-weight: 700;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 2px solid #5a3a8a;
	white-space: nowrap;
}

body.single-blog .nom-listicle-template tbody tr:nth-child(odd),
body.single-shoppable .nom-listicle-template tbody tr:nth-child(odd) {
	background: #110920;
}

body.single-blog .nom-listicle-template tbody tr:nth-child(even),
body.single-shoppable .nom-listicle-template tbody tr:nth-child(even) {
	background: #0e0818;
}

body.single-blog .nom-listicle-template tbody tr.winner,
body.single-shoppable .nom-listicle-template tbody tr.winner {
	background: #1a0e30;
	border-left: 3px solid #8a2be2;
}

body.single-blog .nom-listicle-template tbody td,
body.single-shoppable .nom-listicle-template tbody td {
	padding: 10px 10px;
	border-bottom: 1px solid #2a1a42;
	color: #ccc;
	vertical-align: top;
}

body.single-blog .nom-listicle-template .rank-badge,
body.single-shoppable .nom-listicle-template .rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-weight: 700;
	font-size: 12px;
	flex-shrink: 0;
}

body.single-blog .nom-listicle-template .rank-1,
body.single-shoppable .nom-listicle-template .rank-1 {
	background: #8a2be2;
	color: #fff;
}

body.single-blog .nom-listicle-template .rank-other,
body.single-shoppable .nom-listicle-template .rank-other {
	background: #2a1a42;
	color: #aaa;
}

body.single-blog .nom-listicle-template .stars,
body.single-shoppable .nom-listicle-template .stars {
	color: #f0c040;
	letter-spacing: -1px;
}

body.single-blog .nom-listicle-template .tag-pill,
body.single-shoppable .nom-listicle-template .tag-pill {
	display: inline-block;
	background: #2a1a42;
	color: #b0a0cc;
	border-radius: 4px;
	padding: 2px 7px;
	font-size: 11px;
	white-space: nowrap;
}

body.single-blog .nom-listicle-template .tag-pill.best,
body.single-shoppable .nom-listicle-template .tag-pill.best {
	background: #3a1a5a;
	color: #d4b8f0;
}

body.single-blog .nom-listicle-template .product-card,
body.single-shoppable .nom-listicle-template .product-card {
	background: #12091e;
	border: 1px solid #2a1a42;
	border-radius: 12px;
	padding: 32px;
	margin: 36px 0;
	position: relative;
}

body.single-blog .nom-listicle-template .product-card.featured,
body.single-shoppable .nom-listicle-template .product-card.featured {
	border-color: #8a2be2;
	box-shadow: 0 0 30px rgba(138,43,226,0.15);
}

body.single-blog .nom-listicle-template .product-card .rank-label,
body.single-shoppable .nom-listicle-template .product-card .rank-label {
	position: absolute;
	top: -14px;
	left: 28px;
	background: #8a2be2;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 14px;
	border-radius: 20px;
	letter-spacing: 0.5px;
}

body.single-blog .nom-listicle-template .product-card .rank-label.alt,
body.single-shoppable .nom-listicle-template .product-card .rank-label.alt {
	background: #2a1a52;
}

body.single-blog .nom-listicle-template .product-header,
body.single-shoppable .nom-listicle-template .product-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

body.single-blog .nom-listicle-template .product-name,
body.single-shoppable .nom-listicle-template .product-name {
	font-size: 20px;
	color: #e8dcf8;
	font-weight: 700;
}

body.single-blog .nom-listicle-template .product-rating,
body.single-shoppable .nom-listicle-template .product-rating {
	text-align: right;
}

body.single-blog .nom-listicle-template .product-rating .score,
body.single-shoppable .nom-listicle-template .product-rating .score {
	font-size: 24px;
	font-weight: 700;
	color: #8a2be2;
}

body.single-blog .nom-listicle-template .product-rating .score small,
body.single-shoppable .nom-listicle-template .product-rating .score small {
	font-size: 14px;
	color: #888;
}

body.single-blog .nom-listicle-template .product-price,
body.single-shoppable .nom-listicle-template .product-price {
	display: inline-block;
	background: #1c1030;
	border: 1px solid #3a2a5a;
	border-radius: 6px;
	padding: 5px 14px;
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #b0ffa0;
	margin-bottom: 14px;
}

body.single-blog .nom-listicle-template .feature-list,
body.single-shoppable .nom-listicle-template .feature-list {
	list-style: none;
	margin: 14px 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 8px;
	padding-left: 0;
}

body.single-blog .nom-listicle-template .feature-list li,
body.single-shoppable .nom-listicle-template .feature-list li {
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #bbb8cc;
	padding-left: 20px;
	position: relative;
}

body.single-blog .nom-listicle-template .feature-list li::before,
body.single-shoppable .nom-listicle-template .feature-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #8a2be2;
	font-weight: 700;
}

body.single-blog .nom-listicle-template .review-box,
body.single-shoppable .nom-listicle-template .review-box {
	background: #1a1030;
	border: 1px solid #3a2a5a;
	border-radius: 8px;
	padding: 20px 24px;
	margin-top: 20px;
	font-family: Arial, sans-serif;
}

body.single-blog .nom-listicle-template .review-box-title,
body.single-shoppable .nom-listicle-template .review-box-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #8a2be2;
	margin-bottom: 10px;
}

body.single-blog .nom-listicle-template .review-quote,
body.single-shoppable .nom-listicle-template .review-quote {
	font-style: italic;
	color: #c4c0d8;
	font-size: 14px;
	border-left: 3px solid #5a3a8a;
	padding-left: 14px;
	margin: 8px 0;
	line-height: 1.65;
}

body.single-blog .nom-listicle-template .reviewer,
body.single-shoppable .nom-listicle-template .reviewer {
	font-size: 12px;
	color: #7a7090;
	margin-top: 4px;
}

body.single-blog .nom-listicle-template .cta-box,
body.single-shoppable .nom-listicle-template .cta-box {
	background: linear-gradient(135deg, #1e0a38 0%, #2d1258 100%);
	border: 1px solid #8a2be2;
	border-radius: 10px;
	padding: 28px 32px;
	text-align: center;
	margin: 36px 0;
}

body.single-blog .nom-listicle-template .cta-box p,
body.single-shoppable .nom-listicle-template .cta-box p {
	color: #c4aee0;
	margin-bottom: 16px;
}

body.single-blog .nom-listicle-template .cta-btn,
body.single-shoppable .nom-listicle-template .cta-btn {
	display: inline-block;
	background: #8a2be2;
	color: #fff;
	text-decoration: none;
	font-family: Arial, sans-serif;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 32px;
	border-radius: 8px;
	transition: background 0.2s;
	letter-spacing: 0.3px;
}

body.single-blog .nom-listicle-template .cta-btn:hover,
body.single-shoppable .nom-listicle-template .cta-btn:hover {
	background: #6a1bb2;
	color: #fff;
}

body.single-blog .nom-listicle-template .cta-btn.secondary,
body.single-shoppable .nom-listicle-template .cta-btn.secondary {
	background: transparent;
	border: 2px solid #8a2be2;
	color: #c4aee0;
	margin-left: 12px;
}

body.single-blog .nom-listicle-template .cta-btn.secondary:hover,
body.single-shoppable .nom-listicle-template .cta-btn.secondary:hover {
	background: #1e0a38;
}

body.single-blog .nom-listicle-template .buyer-table,
body.single-shoppable .nom-listicle-template .buyer-table {
	width: 100%;
	border-collapse: collapse;
	font-family: Arial, sans-serif;
	font-size: 14px;
	margin: 20px 0;
}

body.single-blog .nom-listicle-template .buyer-table th,
body.single-shoppable .nom-listicle-template .buyer-table th {
	background: #1a0e30;
	color: #c4aee0;
	padding: 11px 14px;
	text-align: left;
	border-bottom: 2px solid #3a2a5a;
}

body.single-blog .nom-listicle-template .buyer-table td,
body.single-shoppable .nom-listicle-template .buyer-table td {
	padding: 11px 14px;
	border-bottom: 1px solid #1e1430;
	color: #bbb8cc;
	vertical-align: top;
}

body.single-blog .nom-listicle-template .buyer-table tr:nth-child(odd) td,
body.single-shoppable .nom-listicle-template .buyer-table tr:nth-child(odd) td {
	background: #0e0818;
}

body.single-blog .nom-listicle-template .buyer-table tr:nth-child(even) td,
body.single-shoppable .nom-listicle-template .buyer-table tr:nth-child(even) td {
	background: #110920;
}

body.single-blog .nom-listicle-template .buyer-table td:first-child,
body.single-shoppable .nom-listicle-template .buyer-table td:first-child {
	color: #d4b8f0;
	font-weight: 600;
	white-space: nowrap;
}

body.single-blog .nom-listicle-template .faq-item,
body.single-shoppable .nom-listicle-template .faq-item {
	border-bottom: 1px solid #2a1a42;
	padding: 18px 0;
}

body.single-blog .nom-listicle-template .faq-q,
body.single-shoppable .nom-listicle-template .faq-q {
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #d4b8f0;
	margin-bottom: 8px;
}

body.single-blog .nom-listicle-template .faq-a,
body.single-shoppable .nom-listicle-template .faq-a {
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #bbb8cc;
}

body.single-blog .nom-listicle-template .rating-row,
body.single-shoppable .nom-listicle-template .rating-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 6px 0;
	font-family: Arial, sans-serif;
	font-size: 13px;
}

body.single-blog .nom-listicle-template .rating-label,
body.single-shoppable .nom-listicle-template .rating-label {
	width: 120px;
	color: #a09aaa;
	flex-shrink: 0;
}

body.single-blog .nom-listicle-template .rating-bar-bg,
body.single-shoppable .nom-listicle-template .rating-bar-bg {
	flex: 1;
	height: 6px;
	background: #2a1a42;
	border-radius: 3px;
}

body.single-blog .nom-listicle-template .rating-bar,
body.single-shoppable .nom-listicle-template .rating-bar {
	height: 100%;
	border-radius: 3px;
	background: #8a2be2;
}

body.single-blog .nom-listicle-template .rating-val,
body.single-shoppable .nom-listicle-template .rating-val {
	width: 32px;
	text-align: right;
	color: #d4b8f0;
	font-weight: 700;
}

body.single-blog .nom-listicle-template .pros-cons,
body.single-shoppable .nom-listicle-template .pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 14px 0;
}

body.single-blog .nom-listicle-template .pros,
body.single-blog .nom-listicle-template .cons,
body.single-shoppable .nom-listicle-template .pros,
body.single-shoppable .nom-listicle-template .cons {
	background: #0e0818;
	border-radius: 6px;
	padding: 14px 16px;
}

body.single-blog .nom-listicle-template .pros h4,
body.single-shoppable .nom-listicle-template .pros h4 {
	color: #80ff90;
	font-size: 13px;
	font-family: Arial, sans-serif;
	margin-bottom: 8px;
}

body.single-blog .nom-listicle-template .cons h4,
body.single-shoppable .nom-listicle-template .cons h4 {
	color: #ff9090;
	font-size: 13px;
	font-family: Arial, sans-serif;
	margin-bottom: 8px;
}

body.single-blog .nom-listicle-template .pros li,
body.single-blog .nom-listicle-template .cons li,
body.single-shoppable .nom-listicle-template .pros li,
body.single-shoppable .nom-listicle-template .cons li {
	font-family: Arial, sans-serif;
	font-size: 13px;
	color: #bbb;
	list-style: none;
	padding: 3px 0 3px 16px;
	position: relative;
}

body.single-blog .nom-listicle-template .pros li::before,
body.single-shoppable .nom-listicle-template .pros li::before {
	content: '+';
	position: absolute;
	left: 0;
	color: #80ff90;
}

body.single-blog .nom-listicle-template .cons li::before,
body.single-shoppable .nom-listicle-template .cons li::before {
	content: '−';
	position: absolute;
	left: 0;
	color: #ff9090;
}

body.single-blog .nom-listicle-template img,
body.single-shoppable .nom-listicle-template img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	body.single-blog .nom-listicle-template .pros-cons,
	body.single-shoppable .nom-listicle-template .pros-cons {
		grid-template-columns: 1fr;
	}

	body.single-blog .nom-listicle-template .product-header,
	body.single-shoppable .nom-listicle-template .product-header {
		flex-direction: column;
	}

	body.single-blog .nom-listicle-template .hero,
	body.single-shoppable .nom-listicle-template .hero {
		padding: 32px 20px;
	}

	body.single-blog .nom-listicle-template .product-card,
	body.single-shoppable .nom-listicle-template .product-card {
		padding: 24px 20px;
	}

	body.single-blog .nom-listicle-template .cta-btn.secondary,
	body.single-shoppable .nom-listicle-template .cta-btn.secondary {
		margin-left: 0;
		margin-top: 10px;
	}
}


/* --------------------------------------------------------------------------
   Raw HTML Listicle contrast fixes for light page backgrounds
   -------------------------------------------------------------------------- */

body.single-blog .nom-listicle-template .page-wrap,
body.single-shoppable .nom-listicle-template .page-wrap {
	color: #2b2235;
}

body.single-blog .nom-listicle-template .page-wrap > p,
body.single-blog .nom-listicle-template .page-wrap > ul li,
body.single-blog .nom-listicle-template .page-wrap > ol li,
body.single-blog .nom-listicle-template .faq-a,
body.single-blog .nom-listicle-template .reviewer,
body.single-blog .nom-listicle-template .rating-label,
body.single-blog .nom-listicle-template .product-rating .score small,
body.single-blog .nom-listicle-template .page-wrap > p[style],
body.single-shoppable .nom-listicle-template .page-wrap > p,
body.single-shoppable .nom-listicle-template .page-wrap > ul li,
body.single-shoppable .nom-listicle-template .page-wrap > ol li,
body.single-shoppable .nom-listicle-template .faq-a,
body.single-shoppable .nom-listicle-template .reviewer,
body.single-shoppable .nom-listicle-template .rating-label,
body.single-shoppable .nom-listicle-template .product-rating .score small,
body.single-shoppable .nom-listicle-template .page-wrap > p[style] {
	color: #4a4258;
}

body.single-blog .nom-listicle-template h2,
body.single-blog .nom-listicle-template h3,
body.single-blog .nom-listicle-template .faq-q,
body.single-blog .nom-listicle-template .product-name,
body.single-shoppable .nom-listicle-template h2,
body.single-shoppable .nom-listicle-template h3,
body.single-shoppable .nom-listicle-template .faq-q,
body.single-shoppable .nom-listicle-template .product-name {
	color: #c9a9ef;
}

body.single-blog .nom-listicle-template h2,
body.single-shoppable .nom-listicle-template h2 {
	border-bottom-color: rgba(43, 34, 53, 0.2);
}

body.single-blog .nom-listicle-template .hero,
body.single-blog .nom-listicle-template .method-box,
body.single-blog .nom-listicle-template .product-card,
body.single-blog .nom-listicle-template .review-box,
body.single-blog .nom-listicle-template .cta-box,
body.single-blog .nom-listicle-template table,
body.single-blog .nom-listicle-template .buyer-table,
body.single-shoppable .nom-listicle-template .hero,
body.single-shoppable .nom-listicle-template .method-box,
body.single-shoppable .nom-listicle-template .product-card,
body.single-shoppable .nom-listicle-template .review-box,
body.single-shoppable .nom-listicle-template .cta-box,
body.single-shoppable .nom-listicle-template table,
body.single-shoppable .nom-listicle-template .buyer-table {
	color: #e8e4dc;
}

body.single-blog .nom-listicle-template .hero p,
body.single-blog .nom-listicle-template .method-box p,
body.single-blog .nom-listicle-template .method-box h3,
body.single-blog .nom-listicle-template .method-item,
body.single-blog .nom-listicle-template .method-item strong,
body.single-blog .nom-listicle-template .product-card p,
body.single-blog .nom-listicle-template .product-card li,
body.single-blog .nom-listicle-template .product-card .product-name,
body.single-blog .nom-listicle-template .product-card .product-rating .score small,
body.single-blog .nom-listicle-template .review-box p,
body.single-blog .nom-listicle-template .reviewer,
body.single-blog .nom-listicle-template .review-quote,
body.single-blog .nom-listicle-template .cta-box p,
body.single-blog .nom-listicle-template table td,
body.single-blog .nom-listicle-template table th,
body.single-blog .nom-listicle-template .buyer-table td,
body.single-blog .nom-listicle-template .buyer-table th,
body.single-blog .nom-listicle-template .faq-item .faq-q,
body.single-blog .nom-listicle-template .faq-item .faq-a,
body.single-blog .nom-listicle-template .rating-label,
body.single-shoppable .nom-listicle-template .hero p,
body.single-shoppable .nom-listicle-template .method-box p,
body.single-shoppable .nom-listicle-template .method-box h3,
body.single-shoppable .nom-listicle-template .method-item,
body.single-shoppable .nom-listicle-template .method-item strong,
body.single-shoppable .nom-listicle-template .product-card p,
body.single-shoppable .nom-listicle-template .product-card li,
body.single-shoppable .nom-listicle-template .product-card .product-name,
body.single-shoppable .nom-listicle-template .product-card .product-rating .score small,
body.single-shoppable .nom-listicle-template .review-box p,
body.single-shoppable .nom-listicle-template .reviewer,
body.single-shoppable .nom-listicle-template .review-quote,
body.single-shoppable .nom-listicle-template .cta-box p,
body.single-shoppable .nom-listicle-template table td,
body.single-shoppable .nom-listicle-template table th,
body.single-shoppable .nom-listicle-template .buyer-table td,
body.single-shoppable .nom-listicle-template .buyer-table th,
body.single-shoppable .nom-listicle-template .faq-item .faq-q,
body.single-shoppable .nom-listicle-template .faq-item .faq-a,
body.single-shoppable .nom-listicle-template .rating-label {
	color: #e8e4dc;
}


/* --------------------------------------------------------------------------
   v1.0.1 typography alignment fixes
   -------------------------------------------------------------------------- */

body.single-blog .nom-listicle-template h1,
body.single-blog .nom-listicle-template h2,
body.single-blog .nom-listicle-template h3,
body.single-blog .nom-listicle-template h4,
body.single-blog .nom-listicle-template .faq-q,
body.single-blog .nom-listicle-template .product-name,
body.single-shoppable .nom-listicle-template h1,
body.single-shoppable .nom-listicle-template h2,
body.single-shoppable .nom-listicle-template h3,
body.single-shoppable .nom-listicle-template h4,
body.single-shoppable .nom-listicle-template .faq-q,
body.single-shoppable .nom-listicle-template .product-name {
	color: #1a1a1a;
}

body.single-blog .nom-listicle-template .faq-a,
body.single-blog .nom-listicle-template .faq-item p,
body.single-shoppable .nom-listicle-template .faq-a,
body.single-shoppable .nom-listicle-template .faq-item p {
	color: #2b2235;
}


/* --------------------------------------------------------------------------
   Listicle contrast fixes for light-background sections
   -------------------------------------------------------------------------- */

body.single-blog .nom-listicle-template .page-wrap,
body.single-shoppable .nom-listicle-template .page-wrap {
	color: #2b2235;
}

body.single-blog .nom-listicle-template .page-wrap p,
body.single-shoppable .nom-listicle-template .page-wrap p,
body.single-blog .nom-listicle-template .page-wrap li,
body.single-shoppable .nom-listicle-template .page-wrap li,
body.single-blog .nom-listicle-template .page-wrap td,
body.single-shoppable .nom-listicle-template .page-wrap td,
body.single-blog .nom-listicle-template .page-wrap th,
body.single-shoppable .nom-listicle-template .page-wrap th,
body.single-blog .nom-listicle-template .page-wrap .faq-a,
body.single-shoppable .nom-listicle-template .page-wrap .faq-a,
body.single-blog .nom-listicle-template .page-wrap .reviewer,
body.single-shoppable .nom-listicle-template .page-wrap .reviewer,
body.single-blog .nom-listicle-template .page-wrap .rating-label,
body.single-shoppable .nom-listicle-template .page-wrap .rating-label {
	color: #2b2235;
}

body.single-blog .nom-listicle-template .page-wrap h1,
body.single-shoppable .nom-listicle-template .page-wrap h1,
body.single-blog .nom-listicle-template .page-wrap h2,
body.single-shoppable .nom-listicle-template .page-wrap h2,
body.single-blog .nom-listicle-template .page-wrap h3,
body.single-shoppable .nom-listicle-template .page-wrap h3,
body.single-blog .nom-listicle-template .page-wrap h4,
body.single-shoppable .nom-listicle-template .page-wrap h4,
body.single-blog .nom-listicle-template .page-wrap .faq-q,
body.single-shoppable .nom-listicle-template .page-wrap .faq-q,
body.single-blog .nom-listicle-template .page-wrap .product-name,
body.single-shoppable .nom-listicle-template .page-wrap .product-name {
	color: #1a1a1a;
}

body.single-blog .nom-listicle-template .page-wrap h2,
body.single-shoppable .nom-listicle-template .page-wrap h2 {
	border-bottom-color: rgba(43, 34, 53, 0.2);
}

body.single-blog .nom-listicle-template .faq-item > *:not(.faq-q),
body.single-shoppable .nom-listicle-template .faq-item > *:not(.faq-q) {
	color: #000000 !important;
}

body.single-blog .nom-listicle-template .hero,
body.single-shoppable .nom-listicle-template .hero,
body.single-blog .nom-listicle-template .method-box,
body.single-shoppable .nom-listicle-template .method-box,
body.single-blog .nom-listicle-template .product-card,
body.single-shoppable .nom-listicle-template .product-card,
body.single-blog .nom-listicle-template .review-box,
body.single-shoppable .nom-listicle-template .review-box,
body.single-blog .nom-listicle-template .cta-box,
body.single-shoppable .nom-listicle-template .cta-box,
body.single-blog .nom-listicle-template table,
body.single-shoppable .nom-listicle-template table,
body.single-blog .nom-listicle-template .buyer-table,
body.single-shoppable .nom-listicle-template .buyer-table {
	color: #e8e4dc;
}

body.single-blog .nom-listicle-template .hero p,
body.single-shoppable .nom-listicle-template .hero p,
body.single-blog .nom-listicle-template .method-box p,
body.single-shoppable .nom-listicle-template .method-box p,
body.single-blog .nom-listicle-template .product-card p,
body.single-shoppable .nom-listicle-template .product-card p,
body.single-blog .nom-listicle-template .product-card li,
body.single-shoppable .nom-listicle-template .product-card li,
body.single-blog .nom-listicle-template .review-box p,
body.single-shoppable .nom-listicle-template .review-box p,
body.single-blog .nom-listicle-template .cta-box p,
body.single-shoppable .nom-listicle-template .cta-box p,
body.single-blog .nom-listicle-template table td,
body.single-shoppable .nom-listicle-template table td,
body.single-blog .nom-listicle-template table th,
body.single-shoppable .nom-listicle-template table th,
body.single-blog .nom-listicle-template .buyer-table td,
body.single-shoppable .nom-listicle-template .buyer-table td,
body.single-blog .nom-listicle-template .buyer-table th,
body.single-shoppable .nom-listicle-template .buyer-table th {
	color: #e8e4dc;
}

/* --------------------------------------------------------------------------
   v1.0.3 final listicle contrast corrections
   Keep light-section headings dark while restoring dark-card/table readability
   -------------------------------------------------------------------------- */

/* Light background sections */
body.single-blog .nom-listicle-template > .page-wrap > h1,
body.single-blog .nom-listicle-template > .page-wrap > h2,
body.single-blog .nom-listicle-template > .page-wrap > h3,
body.single-blog .nom-listicle-template > .page-wrap > h4,
body.single-shoppable .nom-listicle-template > .page-wrap > h1,
body.single-shoppable .nom-listicle-template > .page-wrap > h2,
body.single-shoppable .nom-listicle-template > .page-wrap > h3,
body.single-shoppable .nom-listicle-template > .page-wrap > h4 {
	color: #1a1a1a !important;
}

body.single-blog .nom-listicle-template > .page-wrap > p,
body.single-blog .nom-listicle-template > .page-wrap > ul > li,
body.single-blog .nom-listicle-template > .page-wrap > ol > li,
body.single-shoppable .nom-listicle-template > .page-wrap > p,
body.single-shoppable .nom-listicle-template > .page-wrap > ul > li,
body.single-shoppable .nom-listicle-template > .page-wrap > ol > li {
	color: #2b2235 !important;
}

body.single-blog .nom-listicle-template > .page-wrap > .faq-item .faq-q,
body.single-blog .nom-listicle-template > .page-wrap > .faq-item .faq-a,
body.single-blog .nom-listicle-template > .page-wrap > .faq-item p,
body.single-blog .nom-listicle-template > .page-wrap > .faq-item > *:not(.faq-q),
body.single-shoppable .nom-listicle-template > .page-wrap > .faq-item .faq-q,
body.single-shoppable .nom-listicle-template > .page-wrap > .faq-item .faq-a,
body.single-shoppable .nom-listicle-template > .page-wrap > .faq-item p,
body.single-shoppable .nom-listicle-template > .page-wrap > .faq-item > *:not(.faq-q) {
	color: #000000 !important;
}

body.single-blog .nom-listicle-template > .page-wrap > .faq-item .faq-q,
body.single-shoppable .nom-listicle-template > .page-wrap > .faq-item .faq-q {
	font-weight: 700;
}

/* Dark components must stay light */
body.single-blog .nom-listicle-template .hero h1,
body.single-blog .nom-listicle-template .hero h2,
body.single-blog .nom-listicle-template .hero h3,
body.single-blog .nom-listicle-template .hero h4,
body.single-blog .nom-listicle-template .hero p,
body.single-blog .nom-listicle-template .hero li,
body.single-blog .nom-listicle-template .method-box h1,
body.single-blog .nom-listicle-template .method-box h2,
body.single-blog .nom-listicle-template .method-box h3,
body.single-blog .nom-listicle-template .method-box h4,
body.single-blog .nom-listicle-template .method-box p,
body.single-blog .nom-listicle-template .method-item,
body.single-blog .nom-listicle-template .method-item strong,
body.single-blog .nom-listicle-template .product-card h1,
body.single-blog .nom-listicle-template .product-card h2,
body.single-blog .nom-listicle-template .product-card h3,
body.single-blog .nom-listicle-template .product-card h4,
body.single-blog .nom-listicle-template .product-card .product-name,
body.single-blog .nom-listicle-template .product-card p,
body.single-blog .nom-listicle-template .product-card li,
body.single-blog .nom-listicle-template .product-card .rating-label,
body.single-blog .nom-listicle-template .product-card .rating-val,
body.single-blog .nom-listicle-template .product-card .product-rating .score small,
body.single-blog .nom-listicle-template .review-box h1,
body.single-blog .nom-listicle-template .review-box h2,
body.single-blog .nom-listicle-template .review-box h3,
body.single-blog .nom-listicle-template .review-box h4,
body.single-blog .nom-listicle-template .review-box p,
body.single-blog .nom-listicle-template .review-box .reviewer,
body.single-blog .nom-listicle-template .review-box .review-quote,
body.single-blog .nom-listicle-template .cta-box h1,
body.single-blog .nom-listicle-template .cta-box h2,
body.single-blog .nom-listicle-template .cta-box h3,
body.single-blog .nom-listicle-template .cta-box h4,
body.single-blog .nom-listicle-template .cta-box p,
body.single-blog .nom-listicle-template table th,
body.single-blog .nom-listicle-template table td,
body.single-blog .nom-listicle-template .buyer-table td:first-child,
body.single-shoppable .nom-listicle-template .hero h1,
body.single-shoppable .nom-listicle-template .hero h2,
body.single-shoppable .nom-listicle-template .hero h3,
body.single-shoppable .nom-listicle-template .hero h4,
body.single-shoppable .nom-listicle-template .hero p,
body.single-shoppable .nom-listicle-template .hero li,
body.single-shoppable .nom-listicle-template .method-box h1,
body.single-shoppable .nom-listicle-template .method-box h2,
body.single-shoppable .nom-listicle-template .method-box h3,
body.single-shoppable .nom-listicle-template .method-box h4,
body.single-shoppable .nom-listicle-template .method-box p,
body.single-shoppable .nom-listicle-template .method-item,
body.single-shoppable .nom-listicle-template .method-item strong,
body.single-shoppable .nom-listicle-template .product-card h1,
body.single-shoppable .nom-listicle-template .product-card h2,
body.single-shoppable .nom-listicle-template .product-card h3,
body.single-shoppable .nom-listicle-template .product-card h4,
body.single-shoppable .nom-listicle-template .product-card .product-name,
body.single-shoppable .nom-listicle-template .product-card p,
body.single-shoppable .nom-listicle-template .product-card li,
body.single-shoppable .nom-listicle-template .product-card .rating-label,
body.single-shoppable .nom-listicle-template .product-card .rating-val,
body.single-shoppable .nom-listicle-template .product-card .product-rating .score small,
body.single-shoppable .nom-listicle-template .review-box h1,
body.single-shoppable .nom-listicle-template .review-box h2,
body.single-shoppable .nom-listicle-template .review-box h3,
body.single-shoppable .nom-listicle-template .review-box h4,
body.single-shoppable .nom-listicle-template .review-box p,
body.single-shoppable .nom-listicle-template .review-box .reviewer,
body.single-shoppable .nom-listicle-template .review-box .review-quote,
body.single-shoppable .nom-listicle-template .cta-box h1,
body.single-shoppable .nom-listicle-template .cta-box h2,
body.single-shoppable .nom-listicle-template .cta-box h3,
body.single-shoppable .nom-listicle-template .cta-box h4,
body.single-shoppable .nom-listicle-template .cta-box p,
body.single-shoppable .nom-listicle-template table th,
body.single-shoppable .nom-listicle-template table td,
body.single-shoppable .nom-listicle-template .buyer-table td:first-child {
	color: #e8e4dc !important;
}


/* --------------------------------------------------------------------------
   Raw listicle support
   -------------------------------------------------------------------------- */

.nom-listicle-template-wrap {
	padding-top: 40px;
	padding-bottom: 56px;
}

.nom-listicle-template {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 0 24px;
	color: #000;
}

.nom-listicle-template *,
.nom-listicle-template *::before,
.nom-listicle-template *::after {
	box-sizing: border-box;
}

.nom-listicle-template .page-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 32px 20px 56px;
}

.nom-listicle-template .hero,
.nom-listicle-template .cta-box,
.nom-listicle-template .method-box,
.nom-listicle-template .product-card,
.nom-listicle-template .faq-item,
.nom-listicle-template .tip-box {
	margin-top: 24px;
}

.nom-listicle-template h1,
.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template h4 {
	color: #000;
	line-height: 1.2;
}

.nom-listicle-template h1 {
	font-size: clamp(2rem, 4vw, 3.25rem);
	margin: 0 0 18px;
}

.nom-listicle-template h2 {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 40px 0 16px;
}

.nom-listicle-template h3 {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	margin: 28px 0 12px;
}

.nom-listicle-template p,
.nom-listicle-template ul,
.nom-listicle-template ol {
	margin: 0 0 16px;
	line-height: 1.7;
}

.nom-listicle-template ul,
.nom-listicle-template ol {
	padding-left: 1.25rem;
}

.nom-listicle-template img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 14px;
}

.nom-listicle-template a {
	word-break: break-word;
}

.nom-listicle-template .hero {
	padding: 32px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .hero > *:last-child {
	margin-bottom: 0;
}

.nom-listicle-template .product-grid,
.nom-listicle-template .products-grid,
.nom-listicle-template .card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 28px 0;
}

.nom-listicle-template .product-card,
.nom-listicle-template .faq-item,
.nom-listicle-template .tip-box,
.nom-listicle-template .method-box,
.nom-listicle-template .cta-box {
	padding: 24px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .product-card.featured {
	outline: 2px solid rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .product-card img + h3,
.nom-listicle-template .product-card img + h2 {
	margin-top: 18px;
}

.nom-listicle-template .cta-box a,
.nom-listicle-template .product-card a.button,
.nom-listicle-template .product-card .button,
.nom-listicle-template a.nom-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 999px;
	text-decoration: none;
}

.nom-listicle-template .cta-box > *:last-child,
.nom-listicle-template .method-box > *:last-child,
.nom-listicle-template .product-card > *:last-child,
.nom-listicle-template .faq-item > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.nom-listicle-template .page-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nom-listicle-template .hero,
	.nom-listicle-template .product-card,
	.nom-listicle-template .faq-item,
	.nom-listicle-template .tip-box,
	.nom-listicle-template .method-box,
	.nom-listicle-template .cta-box {
		padding: 20px;
	}
}

@media (max-width: 767px) {
	.nom-listicle-template .product-grid,
	.nom-listicle-template .products-grid,
	.nom-listicle-template .card-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.nom-listicle-template .page-wrap {
		padding-top: 24px;
		padding-bottom: 40px;
	}

	.nom-listicle-template h1 {
		font-size: 2rem;
	}
}


/* Fallback selectors when body classes differ on production */
.nom-listicle-template {
	padding: 48px 0 72px;
}

.nom-listicle-template .page-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	color: #e8e4dc;
	line-height: 1.75;
	font-size: 16px;
}

.nom-listicle-template * { box-sizing: border-box; }
.nom-listicle-template .hero {
	background: linear-gradient(135deg, #1a0a2e 0%, #2d0f4a 50%, #1a1a0a 100%);
	border: 1px solid #5a3a8a;
	border-radius: 12px;
	padding: 50px 40px;
	text-align: center;
	margin-bottom: 48px;
	position: relative;
	overflow: hidden;
}
.nom-listicle-template .hero::before {
	content: '';
	position: absolute;
	top: -50%; left: -50%; width: 200%; height: 200%;
	background: radial-gradient(circle at center, rgba(138,43,226,0.08) 0%, transparent 60%);
	pointer-events: none;
}
.nom-listicle-template .hero-tag {
	display: inline-block; background: #8a2be2; color: #fff; font-family: Arial, sans-serif;
	font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	padding: 5px 14px; border-radius: 20px; margin-bottom: 18px; position: relative; z-index: 2;
}
.nom-listicle-template .hero h1 {
	font-size: clamp(24px, 4vw, 40px); font-weight: 700; color: #f5e6ff; line-height: 1.25;
	margin-bottom: 18px; position: relative; z-index: 2;
}
.nom-listicle-template .hero-sub {
	font-size: 16px; color: #c4aee0; max-width: 620px; margin: 0 auto 26px; font-family: Arial, sans-serif; position: relative; z-index: 2;
}
.nom-listicle-template .hero-meta {
	font-size: 13px; color: #8a7aaa; font-family: Arial, sans-serif; position: relative; z-index: 2;
}
.nom-listicle-template h2 {
	font-size: clamp(20px, 3vw, 28px); color: #d4b8f0; margin: 48px 0 18px; padding-bottom: 10px; border-bottom: 1px solid #3a2a5a;
}
.nom-listicle-template h3 { font-size: 18px; color: #e8dcf8; margin: 28px 0 12px; }
.nom-listicle-template p { margin-bottom: 14px; font-family: Arial, sans-serif; font-size: 15px; color: #ccc8d8; }
.nom-listicle-template .method-box {
	background: #12091e; border: 1px solid #3a2a5a; border-left: 4px solid #8a2be2; border-radius: 8px; padding: 24px 28px; margin: 28px 0; font-family: Arial, sans-serif;
}
.nom-listicle-template .method-box h3 { margin-top: 0; color: #c4aee0; font-size: 16px; }
.nom-listicle-template .method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 14px; }
.nom-listicle-template .method-item { background: #1c1030; border-radius: 6px; padding: 10px 14px; font-size: 13px; color: #b0a0cc; }
.nom-listicle-template .method-item strong { color: #d4b8f0; display: block; }
.nom-listicle-template .table-wrap { overflow-x: auto; margin: 32px 0; }
.nom-listicle-template table { width: 100%; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 13px; min-width: 700px; }
.nom-listicle-template thead th { background: #1e0e38; color: #c4aee0; font-weight: 700; padding: 12px 10px; text-align: left; border-bottom: 2px solid #5a3a8a; white-space: nowrap; }
.nom-listicle-template tbody tr:nth-child(odd) { background: #110920; }
.nom-listicle-template tbody tr:nth-child(even) { background: #0e0818; }
.nom-listicle-template tbody tr.winner { background: #1a0e30; border-left: 3px solid #8a2be2; }
.nom-listicle-template tbody td { padding: 10px 10px; border-bottom: 1px solid #2a1a42; color: #ccc; vertical-align: top; }
.nom-listicle-template .rank-badge { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-weight: 700; font-size: 12px; flex-shrink: 0; }
.nom-listicle-template .rank-1 { background: #8a2be2; color: #fff; }
.nom-listicle-template .rank-other { background: #2a1a42; color: #aaa; }
.nom-listicle-template .stars { color: #f0c040; letter-spacing: -1px; }
.nom-listicle-template .tag-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #2a1a42; color: #d4b8f0; font-size: 12px; line-height: 1.2; }
.nom-listicle-template .product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; margin: 28px 0; }
.nom-listicle-template .product-card, .nom-listicle-template .product-card.featured { background: #140b22; border: 1px solid #312046; border-radius: 12px; padding: 20px; box-shadow: 0 12px 30px rgba(0,0,0,0.18); }
.nom-listicle-template .product-card img { display: block; width: 100%; height: auto; border-radius: 10px; margin-bottom: 14px; }
.nom-listicle-template .cta-box { background: linear-gradient(135deg, #25103e 0%, #3f1e64 100%); border: 1px solid #5a3a8a; border-radius: 12px; padding: 28px; margin: 34px 0; }
.nom-listicle-template ul, .nom-listicle-template ol { margin: 16px 0 16px 22px; color: #ccc8d8; }
.nom-listicle-template li + li { margin-top: 8px; }
@media (max-width: 767px) {
	.nom-listicle-template .page-wrap { padding: 0 16px; }
	.nom-listicle-template .hero { padding: 34px 22px; }
	.nom-listicle-template .product-grid, .nom-listicle-template .method-grid { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   Raw HTML Listicle support fallback
   Body-independent selectors for NOM production context
   -------------------------------------------------------------------------- */

.nom-listicle-template,
.nom-listicle-template {
	padding: 48px 0 72px;
}

.nom-listicle-template .page-wrap,
.nom-listicle-template .page-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	color: #e8e4dc;
	line-height: 1.75;
	font-size: 16px;
}

.nom-listicle-template *,
.nom-listicle-template * {
	box-sizing: border-box;
}

.nom-listicle-template .hero,
.nom-listicle-template .hero {
	background: linear-gradient(135deg, #1a0a2e 0%, #2d0f4a 50%, #1a1a0a 100%);
	border: 1px solid #5a3a8a;
	border-radius: 12px;
	padding: 50px 40px;
	text-align: center;
	margin-bottom: 48px;
	position: relative;
	overflow: hidden;
}

.nom-listicle-template .hero::before,
.nom-listicle-template .hero::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle at center, rgba(138,43,226,0.08) 0%, transparent 60%);
	pointer-events: none;
}

.nom-listicle-template .hero-tag,
.nom-listicle-template .hero-tag {
	display: inline-block;
	background: #8a2be2;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: 18px;
	position: relative;
	z-index: 2;
}

.nom-listicle-template .hero h1,
.nom-listicle-template .hero h1 {
	font-size: clamp(24px, 4vw, 40px);
	font-weight: 700;
	color: #f5e6ff;
	line-height: 1.25;
	margin-bottom: 18px;
	position: relative;
	z-index: 2;
}

.nom-listicle-template .hero-sub,
.nom-listicle-template .hero-sub {
	font-size: 16px;
	color: #c4aee0;
	max-width: 620px;
	margin: 0 auto 26px;
	font-family: Arial, sans-serif;
	position: relative;
	z-index: 2;
}

.nom-listicle-template .hero-meta,
.nom-listicle-template .hero-meta {
	font-size: 13px;
	color: #8a7aaa;
	font-family: Arial, sans-serif;
	position: relative;
	z-index: 2;
}

.nom-listicle-template h2,
.nom-listicle-template h2 {
	font-size: clamp(20px, 3vw, 28px);
	color: #d4b8f0;
	margin: 48px 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid #3a2a5a;
}

.nom-listicle-template h3,
.nom-listicle-template h3 {
	font-size: 18px;
	color: #e8dcf8;
	margin: 28px 0 12px;
}

.nom-listicle-template p,
.nom-listicle-template p {
	margin-bottom: 14px;
	font-family: Arial, sans-serif;
	font-size: 15px;
	color: #ccc8d8;
}

.nom-listicle-template .method-box,
.nom-listicle-template .method-box {
	background: #12091e;
	border: 1px solid #3a2a5a;
	border-left: 4px solid #8a2be2;
	border-radius: 8px;
	padding: 24px 28px;
	margin: 28px 0;
	font-family: Arial, sans-serif;
}

.nom-listicle-template .method-box h3,
.nom-listicle-template .method-box h3 {
	margin-top: 0;
	color: #c4aee0;
	font-size: 16px;
}

.nom-listicle-template .method-grid,
.nom-listicle-template .method-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.nom-listicle-template .method-item,
.nom-listicle-template .method-item {
	background: #1c1030;
	border-radius: 6px;
	padding: 10px 14px;
	font-size: 13px;
	color: #b0a0cc;
}

.nom-listicle-template .method-item strong,
.nom-listicle-template .method-item strong {
	color: #d4b8f0;
	display: block;
}

.nom-listicle-template .table-wrap,
.nom-listicle-template .table-wrap {
	overflow-x: auto;
	margin: 32px 0;
}

.nom-listicle-template table,
.nom-listicle-template table {
	width: 100%;
	border-collapse: collapse;
	font-family: Arial, sans-serif;
	font-size: 13px;
	min-width: 700px;
}

.nom-listicle-template thead th,
.nom-listicle-template thead th {
	background: #1e0e38;
	color: #c4aee0;
	font-weight: 700;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 2px solid #5a3a8a;
	white-space: nowrap;
}

.nom-listicle-template tbody tr:nth-child(odd),
.nom-listicle-template tbody tr:nth-child(odd) {
	background: #110920;
}

.nom-listicle-template tbody tr:nth-child(even),
.nom-listicle-template tbody tr:nth-child(even) {
	background: #0e0818;
}

.nom-listicle-template tbody tr.winner,
.nom-listicle-template tbody tr.winner {
	background: #1a0e30;
	border-left: 3px solid #8a2be2;
}

.nom-listicle-template tbody td,
.nom-listicle-template tbody td {
	padding: 10px 10px;
	border-bottom: 1px solid #2a1a42;
	color: #ccc;
	vertical-align: top;
}

.nom-listicle-template .rank-badge,
.nom-listicle-template .rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-weight: 700;
	font-size: 12px;
	flex-shrink: 0;
}

.nom-listicle-template .rank-1,
.nom-listicle-template .rank-1 {
	background: #8a2be2;
	color: #fff;
}

.nom-listicle-template .rank-other,
.nom-listicle-template .rank-other {
	background: #2a1a42;
	color: #aaa;
}

.nom-listicle-template .stars,
.nom-listicle-template .stars {
	color: #f0c040;
	letter-spacing: -1px;
}

.nom-listicle-template .tag-pill,
.nom-listicle-template .tag-pill {
	display: inline-block;
	background: #2a1a42;
	color: #b0a0cc;
	border-radius: 4px;
	padding: 2px 7px;
	font-size: 11px;
	white-space: nowrap;
}

.nom-listicle-template .tag-pill.best,
.nom-listicle-template .tag-pill.best {
	background: #3a1a5a;
	color: #d4b8f0;
}

.nom-listicle-template .product-card,
.nom-listicle-template .product-card {
	background: #12091e;
	border: 1px solid #2a1a42;
	border-radius: 12px;
	padding: 32px;
	margin: 36px 0;
	position: relative;
}

.nom-listicle-template .product-card.featured,
.nom-listicle-template .product-card.featured {
	border-color: #8a2be2;
	box-shadow: 0 0 30px rgba(138,43,226,0.15);
}

.nom-listicle-template .product-card .rank-label,
.nom-listicle-template .product-card .rank-label {
	position: absolute;
	top: -14px;
	left: 28px;
	background: #8a2be2;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 14px;
	border-radius: 20px;
	letter-spacing: 0.5px;
}

.nom-listicle-template .product-card .rank-label.alt,
.nom-listicle-template .product-card .rank-label.alt {
	background: #2a1a52;
}

.nom-listicle-template .product-header,
.nom-listicle-template .product-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.nom-listicle-template .product-name,
.nom-listicle-template .product-name {
	font-size: 20px;
	color: #e8dcf8;
	font-weight: 700;
}

.nom-listicle-template .product-rating,
.nom-listicle-template .product-rating {
	text-align: right;
}

.nom-listicle-template .product-rating .score,
.nom-listicle-template .product-rating .score {
	font-size: 24px;
	font-weight: 700;
	color: #8a2be2;
}

.nom-listicle-template .product-rating .score small,
.nom-listicle-template .product-rating .score small {
	font-size: 14px;
	color: #888;
}

.nom-listicle-template .product-price,
.nom-listicle-template .product-price {
	display: inline-block;
	background: #1c1030;
	border: 1px solid #3a2a5a;
	border-radius: 6px;
	padding: 5px 14px;
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #b0ffa0;
	margin-bottom: 14px;
}

.nom-listicle-template .feature-list,
.nom-listicle-template .feature-list {
	list-style: none;
	margin: 14px 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 8px;
	padding-left: 0;
}

.nom-listicle-template .feature-list li,
.nom-listicle-template .feature-list li {
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #bbb8cc;
	padding-left: 20px;
	position: relative;
}

.nom-listicle-template .feature-list li::before,
.nom-listicle-template .feature-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #8a2be2;
	font-weight: 700;
}

.nom-listicle-template .review-box,
.nom-listicle-template .review-box {
	background: #1a1030;
	border: 1px solid #3a2a5a;
	border-radius: 8px;
	padding: 20px 24px;
	margin-top: 20px;
	font-family: Arial, sans-serif;
}

.nom-listicle-template .review-box-title,
.nom-listicle-template .review-box-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #8a2be2;
	margin-bottom: 10px;
}

.nom-listicle-template .review-quote,
.nom-listicle-template .review-quote {
	font-style: italic;
	color: #c4c0d8;
	font-size: 14px;
	border-left: 3px solid #5a3a8a;
	padding-left: 14px;
	margin: 8px 0;
	line-height: 1.65;
}

.nom-listicle-template .reviewer,
.nom-listicle-template .reviewer {
	font-size: 12px;
	color: #7a7090;
	margin-top: 4px;
}

.nom-listicle-template .cta-box,
.nom-listicle-template .cta-box {
	background: linear-gradient(135deg, #1e0a38 0%, #2d1258 100%);
	border: 1px solid #8a2be2;
	border-radius: 10px;
	padding: 28px 32px;
	text-align: center;
	margin: 36px 0;
}

.nom-listicle-template .cta-box p,
.nom-listicle-template .cta-box p {
	color: #c4aee0;
	margin-bottom: 16px;
}

.nom-listicle-template .cta-btn,
.nom-listicle-template .cta-btn {
	display: inline-block;
	background: #8a2be2;
	color: #fff;
	text-decoration: none;
	font-family: Arial, sans-serif;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 32px;
	border-radius: 8px;
	transition: background 0.2s;
	letter-spacing: 0.3px;
}

.nom-listicle-template .cta-btn:hover,
.nom-listicle-template .cta-btn:hover {
	background: #6a1bb2;
	color: #fff;
}

.nom-listicle-template .cta-btn.secondary,
.nom-listicle-template .cta-btn.secondary {
	background: transparent;
	border: 2px solid #8a2be2;
	color: #c4aee0;
	margin-left: 12px;
}

.nom-listicle-template .cta-btn.secondary:hover,
.nom-listicle-template .cta-btn.secondary:hover {
	background: #1e0a38;
}

.nom-listicle-template .buyer-table,
.nom-listicle-template .buyer-table {
	width: 100%;
	border-collapse: collapse;
	font-family: Arial, sans-serif;
	font-size: 14px;
	margin: 20px 0;
}

.nom-listicle-template .buyer-table th,
.nom-listicle-template .buyer-table th {
	background: #1a0e30;
	color: #c4aee0;
	padding: 11px 14px;
	text-align: left;
	border-bottom: 2px solid #3a2a5a;
}

.nom-listicle-template .buyer-table td,
.nom-listicle-template .buyer-table td {
	padding: 11px 14px;
	border-bottom: 1px solid #1e1430;
	color: #bbb8cc;
	vertical-align: top;
}

.nom-listicle-template .buyer-table tr:nth-child(odd) td,
.nom-listicle-template .buyer-table tr:nth-child(odd) td {
	background: #0e0818;
}

.nom-listicle-template .buyer-table tr:nth-child(even) td,
.nom-listicle-template .buyer-table tr:nth-child(even) td {
	background: #110920;
}

.nom-listicle-template .buyer-table td:first-child,
.nom-listicle-template .buyer-table td:first-child {
	color: #d4b8f0;
	font-weight: 600;
	white-space: nowrap;
}

.nom-listicle-template .faq-item,
.nom-listicle-template .faq-item {
	border-bottom: 1px solid #2a1a42;
	padding: 18px 0;
}

.nom-listicle-template .faq-q,
.nom-listicle-template .faq-q {
	font-family: Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #d4b8f0;
	margin-bottom: 8px;
}

.nom-listicle-template .faq-a,
.nom-listicle-template .faq-a {
	font-family: Arial, sans-serif;
	font-size: 14px;
	color: #bbb8cc;
}

.nom-listicle-template .rating-row,
.nom-listicle-template .rating-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 6px 0;
	font-family: Arial, sans-serif;
	font-size: 13px;
}

.nom-listicle-template .rating-label,
.nom-listicle-template .rating-label {
	width: 120px;
	color: #a09aaa;
	flex-shrink: 0;
}

.nom-listicle-template .rating-bar-bg,
.nom-listicle-template .rating-bar-bg {
	flex: 1;
	height: 6px;
	background: #2a1a42;
	border-radius: 3px;
}

.nom-listicle-template .rating-bar,
.nom-listicle-template .rating-bar {
	height: 100%;
	border-radius: 3px;
	background: #8a2be2;
}

.nom-listicle-template .rating-val,
.nom-listicle-template .rating-val {
	width: 32px;
	text-align: right;
	color: #d4b8f0;
	font-weight: 700;
}

.nom-listicle-template .pros-cons,
.nom-listicle-template .pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 14px 0;
}

.nom-listicle-template .pros,
.nom-listicle-template .cons,
.nom-listicle-template .pros,
.nom-listicle-template .cons {
	background: #0e0818;
	border-radius: 6px;
	padding: 14px 16px;
}

.nom-listicle-template .pros h4,
.nom-listicle-template .pros h4 {
	color: #80ff90;
	font-size: 13px;
	font-family: Arial, sans-serif;
	margin-bottom: 8px;
}

.nom-listicle-template .cons h4,
.nom-listicle-template .cons h4 {
	color: #ff9090;
	font-size: 13px;
	font-family: Arial, sans-serif;
	margin-bottom: 8px;
}

.nom-listicle-template .pros li,
.nom-listicle-template .cons li,
.nom-listicle-template .pros li,
.nom-listicle-template .cons li {
	font-family: Arial, sans-serif;
	font-size: 13px;
	color: #bbb;
	list-style: none;
	padding: 3px 0 3px 16px;
	position: relative;
}

.nom-listicle-template .pros li::before,
.nom-listicle-template .pros li::before {
	content: '+';
	position: absolute;
	left: 0;
	color: #80ff90;
}

.nom-listicle-template .cons li::before,
.nom-listicle-template .cons li::before {
	content: '−';
	position: absolute;
	left: 0;
	color: #ff9090;
}

.nom-listicle-template img,
.nom-listicle-template img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	.nom-listicle-template .pros-cons,
	.nom-listicle-template .pros-cons {
		grid-template-columns: 1fr;
	}

	.nom-listicle-template .product-header,
	.nom-listicle-template .product-header {
		flex-direction: column;
	}

	.nom-listicle-template .hero,
	.nom-listicle-template .hero {
		padding: 32px 20px;
	}

	.nom-listicle-template .product-card,
	.nom-listicle-template .product-card {
		padding: 24px 20px;
	}

	.nom-listicle-template .cta-btn.secondary,
	.nom-listicle-template .cta-btn.secondary {
		margin-left: 0;
		margin-top: 10px;
	}
}


/* --------------------------------------------------------------------------
   Raw HTML Listicle contrast fixes for light page backgrounds
   -------------------------------------------------------------------------- */

.nom-listicle-template .page-wrap,
.nom-listicle-template .page-wrap {
	color: #2b2235;
}

.nom-listicle-template .page-wrap > p,
.nom-listicle-template .page-wrap > ul li,
.nom-listicle-template .page-wrap > ol li,
.nom-listicle-template .faq-a,
.nom-listicle-template .reviewer,
.nom-listicle-template .rating-label,
.nom-listicle-template .product-rating .score small,
.nom-listicle-template .page-wrap > p[style],
.nom-listicle-template .page-wrap > p,
.nom-listicle-template .page-wrap > ul li,
.nom-listicle-template .page-wrap > ol li,
.nom-listicle-template .faq-a,
.nom-listicle-template .reviewer,
.nom-listicle-template .rating-label,
.nom-listicle-template .product-rating .score small,
.nom-listicle-template .page-wrap > p[style] {
	color: #4a4258;
}

.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template .faq-q,
.nom-listicle-template .product-name,
.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template .faq-q,
.nom-listicle-template .product-name {
	color: #c9a9ef;
}

.nom-listicle-template h2,
.nom-listicle-template h2 {
	border-bottom-color: rgba(43, 34, 53, 0.2);
}

.nom-listicle-template .hero,
.nom-listicle-template .method-box,
.nom-listicle-template .product-card,
.nom-listicle-template .review-box,
.nom-listicle-template .cta-box,
.nom-listicle-template table,
.nom-listicle-template .buyer-table,
.nom-listicle-template .hero,
.nom-listicle-template .method-box,
.nom-listicle-template .product-card,
.nom-listicle-template .review-box,
.nom-listicle-template .cta-box,
.nom-listicle-template table,
.nom-listicle-template .buyer-table {
	color: #e8e4dc;
}

.nom-listicle-template .hero p,
.nom-listicle-template .method-box p,
.nom-listicle-template .method-box h3,
.nom-listicle-template .method-item,
.nom-listicle-template .method-item strong,
.nom-listicle-template .product-card p,
.nom-listicle-template .product-card li,
.nom-listicle-template .product-card .product-name,
.nom-listicle-template .product-card .product-rating .score small,
.nom-listicle-template .review-box p,
.nom-listicle-template .reviewer,
.nom-listicle-template .review-quote,
.nom-listicle-template .cta-box p,
.nom-listicle-template table td,
.nom-listicle-template table th,
.nom-listicle-template .buyer-table td,
.nom-listicle-template .buyer-table th,
.nom-listicle-template .faq-item .faq-q,
.nom-listicle-template .faq-item .faq-a,
.nom-listicle-template .rating-label,
.nom-listicle-template .hero p,
.nom-listicle-template .method-box p,
.nom-listicle-template .method-box h3,
.nom-listicle-template .method-item,
.nom-listicle-template .method-item strong,
.nom-listicle-template .product-card p,
.nom-listicle-template .product-card li,
.nom-listicle-template .product-card .product-name,
.nom-listicle-template .product-card .product-rating .score small,
.nom-listicle-template .review-box p,
.nom-listicle-template .reviewer,
.nom-listicle-template .review-quote,
.nom-listicle-template .cta-box p,
.nom-listicle-template table td,
.nom-listicle-template table th,
.nom-listicle-template .buyer-table td,
.nom-listicle-template .buyer-table th,
.nom-listicle-template .faq-item .faq-q,
.nom-listicle-template .faq-item .faq-a,
.nom-listicle-template .rating-label {
	color: #e8e4dc;
}


/* --------------------------------------------------------------------------
   v1.0.1 typography alignment fixes
   -------------------------------------------------------------------------- */

.nom-listicle-template h1,
.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template h4,
.nom-listicle-template .faq-q,
.nom-listicle-template .product-name,
.nom-listicle-template h1,
.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template h4,
.nom-listicle-template .faq-q,
.nom-listicle-template .product-name {
	color: #1a1a1a;
}

.nom-listicle-template .faq-a,
.nom-listicle-template .faq-item p,
.nom-listicle-template .faq-a,
.nom-listicle-template .faq-item p {
	color: #2b2235;
}


/* --------------------------------------------------------------------------
   Listicle contrast fixes for light-background sections
   -------------------------------------------------------------------------- */

.nom-listicle-template .page-wrap,
.nom-listicle-template .page-wrap {
	color: #2b2235;
}

.nom-listicle-template .page-wrap p,
.nom-listicle-template .page-wrap li,
.nom-listicle-template .page-wrap td,
.nom-listicle-template .page-wrap th,
.nom-listicle-template .page-wrap .faq-a,
.nom-listicle-template .page-wrap .reviewer,
.nom-listicle-template .page-wrap .rating-label,
.nom-listicle-template .page-wrap .rating-label {
	color: #2b2235;
}

.nom-listicle-template .page-wrap h1,
.nom-listicle-template .page-wrap h2,
.nom-listicle-template .page-wrap h3,
.nom-listicle-template .page-wrap h4,
.nom-listicle-template .page-wrap .faq-q,
.nom-listicle-template .page-wrap .product-name,
.nom-listicle-template .page-wrap .product-name {
	color: #1a1a1a;
}

.nom-listicle-template .page-wrap h2,
.nom-listicle-template .page-wrap h2 {
	border-bottom-color: rgba(43, 34, 53, 0.2);
}

.nom-listicle-template .faq-item > *:not(.faq-q),
.nom-listicle-template .faq-item > *:not(.faq-q) {
	color: #000000 !important;
}

.nom-listicle-template .hero,
.nom-listicle-template .method-box,
.nom-listicle-template .product-card,
.nom-listicle-template .review-box,
.nom-listicle-template .cta-box,
.nom-listicle-template table,
.nom-listicle-template .buyer-table,
.nom-listicle-template .buyer-table {
	color: #e8e4dc;
}

.nom-listicle-template .hero p,
.nom-listicle-template .method-box p,
.nom-listicle-template .product-card p,
.nom-listicle-template .product-card li,
.nom-listicle-template .review-box p,
.nom-listicle-template .cta-box p,
.nom-listicle-template table td,
.nom-listicle-template table th,
.nom-listicle-template .buyer-table td,
.nom-listicle-template .buyer-table th,
.nom-listicle-template .buyer-table th {
	color: #e8e4dc;
}

/* --------------------------------------------------------------------------
   v1.0.3 final listicle contrast corrections
   Keep light-section headings dark while restoring dark-card/table readability
   -------------------------------------------------------------------------- */

/* Light background sections */
.nom-listicle-template > .page-wrap > h1,
.nom-listicle-template > .page-wrap > h2,
.nom-listicle-template > .page-wrap > h3,
.nom-listicle-template > .page-wrap > h4,
.nom-listicle-template > .page-wrap > h1,
.nom-listicle-template > .page-wrap > h2,
.nom-listicle-template > .page-wrap > h3,
.nom-listicle-template > .page-wrap > h4 {
	color: #1a1a1a !important;
}

.nom-listicle-template > .page-wrap > p,
.nom-listicle-template > .page-wrap > ul > li,
.nom-listicle-template > .page-wrap > ol > li,
.nom-listicle-template > .page-wrap > p,
.nom-listicle-template > .page-wrap > ul > li,
.nom-listicle-template > .page-wrap > ol > li {
	color: #2b2235 !important;
}

.nom-listicle-template > .page-wrap > .faq-item .faq-q,
.nom-listicle-template > .page-wrap > .faq-item .faq-a,
.nom-listicle-template > .page-wrap > .faq-item p,
.nom-listicle-template > .page-wrap > .faq-item > *:not(.faq-q),
.nom-listicle-template > .page-wrap > .faq-item .faq-q,
.nom-listicle-template > .page-wrap > .faq-item .faq-a,
.nom-listicle-template > .page-wrap > .faq-item p,
.nom-listicle-template > .page-wrap > .faq-item > *:not(.faq-q) {
	color: #000000 !important;
}

.nom-listicle-template > .page-wrap > .faq-item .faq-q,
.nom-listicle-template > .page-wrap > .faq-item .faq-q {
	font-weight: 700;
}

/* Dark components must stay light */
.nom-listicle-template .hero h1,
.nom-listicle-template .hero h2,
.nom-listicle-template .hero h3,
.nom-listicle-template .hero h4,
.nom-listicle-template .hero p,
.nom-listicle-template .hero li,
.nom-listicle-template .method-box h1,
.nom-listicle-template .method-box h2,
.nom-listicle-template .method-box h3,
.nom-listicle-template .method-box h4,
.nom-listicle-template .method-box p,
.nom-listicle-template .method-item,
.nom-listicle-template .method-item strong,
.nom-listicle-template .product-card h1,
.nom-listicle-template .product-card h2,
.nom-listicle-template .product-card h3,
.nom-listicle-template .product-card h4,
.nom-listicle-template .product-card .product-name,
.nom-listicle-template .product-card p,
.nom-listicle-template .product-card li,
.nom-listicle-template .product-card .rating-label,
.nom-listicle-template .product-card .rating-val,
.nom-listicle-template .product-card .product-rating .score small,
.nom-listicle-template .review-box h1,
.nom-listicle-template .review-box h2,
.nom-listicle-template .review-box h3,
.nom-listicle-template .review-box h4,
.nom-listicle-template .review-box p,
.nom-listicle-template .review-box .reviewer,
.nom-listicle-template .review-box .review-quote,
.nom-listicle-template .cta-box h1,
.nom-listicle-template .cta-box h2,
.nom-listicle-template .cta-box h3,
.nom-listicle-template .cta-box h4,
.nom-listicle-template .cta-box p,
.nom-listicle-template table th,
.nom-listicle-template table td,
.nom-listicle-template .buyer-table td:first-child,
.nom-listicle-template .hero h1,
.nom-listicle-template .hero h2,
.nom-listicle-template .hero h3,
.nom-listicle-template .hero h4,
.nom-listicle-template .hero p,
.nom-listicle-template .hero li,
.nom-listicle-template .method-box h1,
.nom-listicle-template .method-box h2,
.nom-listicle-template .method-box h3,
.nom-listicle-template .method-box h4,
.nom-listicle-template .method-box p,
.nom-listicle-template .method-item,
.nom-listicle-template .method-item strong,
.nom-listicle-template .product-card h1,
.nom-listicle-template .product-card h2,
.nom-listicle-template .product-card h3,
.nom-listicle-template .product-card h4,
.nom-listicle-template .product-card .product-name,
.nom-listicle-template .product-card p,
.nom-listicle-template .product-card li,
.nom-listicle-template .product-card .rating-label,
.nom-listicle-template .product-card .rating-val,
.nom-listicle-template .product-card .product-rating .score small,
.nom-listicle-template .review-box h1,
.nom-listicle-template .review-box h2,
.nom-listicle-template .review-box h3,
.nom-listicle-template .review-box h4,
.nom-listicle-template .review-box p,
.nom-listicle-template .review-box .reviewer,
.nom-listicle-template .review-box .review-quote,
.nom-listicle-template .cta-box h1,
.nom-listicle-template .cta-box h2,
.nom-listicle-template .cta-box h3,
.nom-listicle-template .cta-box h4,
.nom-listicle-template .cta-box p,
.nom-listicle-template table th,
.nom-listicle-template table td,
.nom-listicle-template .buyer-table td:first-child {
	color: #e8e4dc !important;
}


/* --------------------------------------------------------------------------
   Raw listicle support
   -------------------------------------------------------------------------- */

.nom-listicle-template-wrap {
	padding-top: 40px;
	padding-bottom: 56px;
}

.nom-listicle-template {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 0 24px;
	color: #000;
}

.nom-listicle-template *,
.nom-listicle-template *::before,
.nom-listicle-template *::after {
	box-sizing: border-box;
}

.nom-listicle-template .page-wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 32px 20px 56px;
}

.nom-listicle-template .hero,
.nom-listicle-template .cta-box,
.nom-listicle-template .method-box,
.nom-listicle-template .product-card,
.nom-listicle-template .faq-item,
.nom-listicle-template .tip-box {
	margin-top: 24px;
}

.nom-listicle-template h1,
.nom-listicle-template h2,
.nom-listicle-template h3,
.nom-listicle-template h4 {
	color: #000;
	line-height: 1.2;
}

.nom-listicle-template h1 {
	font-size: clamp(2rem, 4vw, 3.25rem);
	margin: 0 0 18px;
}

.nom-listicle-template h2 {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 40px 0 16px;
}

.nom-listicle-template h3 {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	margin: 28px 0 12px;
}

.nom-listicle-template p,
.nom-listicle-template ul,
.nom-listicle-template ol {
	margin: 0 0 16px;
	line-height: 1.7;
}

.nom-listicle-template ul,
.nom-listicle-template ol {
	padding-left: 1.25rem;
}

.nom-listicle-template img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 14px;
}

.nom-listicle-template a {
	word-break: break-word;
}

.nom-listicle-template .hero {
	padding: 32px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .hero > *:last-child {
	margin-bottom: 0;
}

.nom-listicle-template .product-grid,
.nom-listicle-template .products-grid,
.nom-listicle-template .card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 28px 0;
}

.nom-listicle-template .product-card,
.nom-listicle-template .faq-item,
.nom-listicle-template .tip-box,
.nom-listicle-template .method-box,
.nom-listicle-template .cta-box {
	padding: 24px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .product-card.featured {
	outline: 2px solid rgba(0, 0, 0, 0.08);
}

.nom-listicle-template .product-card img + h3,
.nom-listicle-template .product-card img + h2 {
	margin-top: 18px;
}

.nom-listicle-template .cta-box a,
.nom-listicle-template .product-card a.button,
.nom-listicle-template .product-card .button,
.nom-listicle-template a.nom-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 999px;
	text-decoration: none;
}

.nom-listicle-template .cta-box > *:last-child,
.nom-listicle-template .method-box > *:last-child,
.nom-listicle-template .product-card > *:last-child,
.nom-listicle-template .faq-item > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.nom-listicle-template .page-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nom-listicle-template .hero,
	.nom-listicle-template .product-card,
	.nom-listicle-template .faq-item,
	.nom-listicle-template .tip-box,
	.nom-listicle-template .method-box,
	.nom-listicle-template .cta-box {
		padding: 20px;
	}
}

@media (max-width: 767px) {
	.nom-listicle-template .product-grid,
	.nom-listicle-template .products-grid,
	.nom-listicle-template .card-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.nom-listicle-template .page-wrap {
		padding-top: 24px;
		padding-bottom: 40px;
	}

	.nom-listicle-template h1 {
		font-size: 2rem;
	}
}


/* Fallback selectors when body classes differ on production */
.nom-listicle-template {
	padding: 48px 0 72px;
}

.nom-listicle-template .page-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
	color: #e8e4dc;
	line-height: 1.75;
	font-size: 16px;
}

.nom-listicle-template * { box-sizing: border-box; }
.nom-listicle-template .hero {
	background: linear-gradient(135deg, #1a0a2e 0%, #2d0f4a 50%, #1a1a0a 100%);
	border: 1px solid #5a3a8a;
	border-radius: 12px;
	padding: 50px 40px;
	text-align: center;
	margin-bottom: 48px;
	position: relative;
	overflow: hidden;
}
.nom-listicle-template .hero::before {
	content: '';
	position: absolute;
	top: -50%; left: -50%; width: 200%; height: 200%;
	background: radial-gradient(circle at center, rgba(138,43,226,0.08) 0%, transparent 60%);
	pointer-events: none;
}
.nom-listicle-template .hero-tag {
	display: inline-block; background: #8a2be2; color: #fff; font-family: Arial, sans-serif;
	font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	padding: 5px 14px; border-radius: 20px; margin-bottom: 18px; position: relative; z-index: 2;
}
.nom-listicle-template .hero h1 {
	font-size: clamp(24px, 4vw, 40px); font-weight: 700; color: #f5e6ff; line-height: 1.25;
	margin-bottom: 18px; position: relative; z-index: 2;
}
.nom-listicle-template .hero-sub {
	font-size: 16px; color: #c4aee0; max-width: 620px; margin: 0 auto 26px; font-family: Arial, sans-serif; position: relative; z-index: 2;
}
.nom-listicle-template .hero-meta {
	font-size: 13px; color: #8a7aaa; font-family: Arial, sans-serif; position: relative; z-index: 2;
}
.nom-listicle-template h2 {
	font-size: clamp(20px, 3vw, 28px); color: #d4b8f0; margin: 48px 0 18px; padding-bottom: 10px; border-bottom: 1px solid #3a2a5a;
}
.nom-listicle-template h3 { font-size: 18px; color: #e8dcf8; margin: 28px 0 12px; }
.nom-listicle-template p { margin-bottom: 14px; font-family: Arial, sans-serif; font-size: 15px; color: #ccc8d8; }
.nom-listicle-template .method-box {
	background: #12091e; border: 1px solid #3a2a5a; border-left: 4px solid #8a2be2; border-radius: 8px; padding: 24px 28px; margin: 28px 0; font-family: Arial, sans-serif;
}
.nom-listicle-template .method-box h3 { margin-top: 0; color: #c4aee0; font-size: 16px; }
.nom-listicle-template .method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 14px; }
.nom-listicle-template .method-item { background: #1c1030; border-radius: 6px; padding: 10px 14px; font-size: 13px; color: #b0a0cc; }
.nom-listicle-template .method-item strong { color: #d4b8f0; display: block; }
.nom-listicle-template .table-wrap { overflow-x: auto; margin: 32px 0; }
.nom-listicle-template table { width: 100%; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 13px; min-width: 700px; }
.nom-listicle-template thead th { background: #1e0e38; color: #c4aee0; font-weight: 700; padding: 12px 10px; text-align: left; border-bottom: 2px solid #5a3a8a; white-space: nowrap; }
.nom-listicle-template tbody tr:nth-child(odd) { background: #110920; }
.nom-listicle-template tbody tr:nth-child(even) { background: #0e0818; }
.nom-listicle-template tbody tr.winner { background: #1a0e30; border-left: 3px solid #8a2be2; }
.nom-listicle-template tbody td { padding: 10px 10px; border-bottom: 1px solid #2a1a42; color: #ccc; vertical-align: top; }
.nom-listicle-template .rank-badge { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-weight: 700; font-size: 12px; flex-shrink: 0; }
.nom-listicle-template .rank-1 { background: #8a2be2; color: #fff; }
.nom-listicle-template .rank-other { background: #2a1a42; color: #aaa; }
.nom-listicle-template .stars { color: #f0c040; letter-spacing: -1px; }
.nom-listicle-template .tag-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #2a1a42; color: #d4b8f0; font-size: 12px; line-height: 1.2; }
.nom-listicle-template .product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; margin: 28px 0; }
.nom-listicle-template .product-card, .nom-listicle-template .product-card.featured { background: #140b22; border: 1px solid #312046; border-radius: 12px; padding: 20px; box-shadow: 0 12px 30px rgba(0,0,0,0.18); }
.nom-listicle-template .product-card img { display: block; width: 100%; height: auto; border-radius: 10px; margin-bottom: 14px; }
.nom-listicle-template .cta-box { background: linear-gradient(135deg, #25103e 0%, #3f1e64 100%); border: 1px solid #5a3a8a; border-radius: 12px; padding: 28px; margin: 34px 0; }
.nom-listicle-template ul, .nom-listicle-template ol { margin: 16px 0 16px 22px; color: #ccc8d8; }
.nom-listicle-template li + li { margin-top: 8px; }
@media (max-width: 767px) {
	.nom-listicle-template .page-wrap { padding: 0 16px; }
	.nom-listicle-template .hero { padding: 34px 22px; }
	.nom-listicle-template .product-grid, .nom-listicle-template .method-grid { grid-template-columns: 1fr; }
}
/* Andy Shoppable template styles */
.nom-staging--shoppable{
  background-color: #F1F1F1;
}

.nom-shoppable-products {
  
  padding-top: 25px;
  padding-bottom: 45px;
}

.nom-shoppable-products .product-card {
  box-shadow: none;
  padding: 25px;
}

.nom-shoppable-products>.flex-column {
  padding-top: 25px;
}

.nom-shoppable-products .product-card .card-body a {
  font-weight:900 !important;
  font-size: 24px !important;
}

.nom-shoppable-products .product-card .button.product_type_variable,
.nom-shoppable-products .product-card .button.add_to_cart_button {
    background-color: #800020; 
    color: #FFCC00;
    border-radius: 50px; 
    padding: 12px 30px;
    text-transform: none;
  font-family: "Dela Gothic One";
    font-weight: 400;
  font-size: 18px;
    display: block; 
    text-align: center;
}

.nom-shoppable-products .product-card .card-body .price {
    display: none;
}

.nom-shoppable-products .product-card img.card-img-top {
    max-height: 100%;
}

.nom-shoppable-blog-preview-section {
	background-image: url("https://www.nightofmystery.com/wp-content/uploads/2026/03/shop-hero-bg-img.jpg");
	background-repeat: no-repeat;
	background-size: cover;
  background-position: center center;
	padding: 46px;
	min-height: 580px;
	border-radius: 20px;
}

.nom-shoppable-blog-preview-section .nom-shoppable-blog-section-title {
	text-align: center;
	padding: 24px;
	color: #FFCC00;
}

.nom-shoppable-blog-preview-section  .row {
    
	min-height: 431px;
}

.nom-shoppable-blog-preview-section  .nom-shoppable-blog-card {
	background-color:#fff;
	border-radius: 25px;
    padding: 25px;
	height: 100%;
	display: flex; 
	flex-direction: column;
	justify-content: space-between;
}

.nom-shoppable-blog-preview-section .nom-shoppable-blog-card .nom-shoppable-blog-content {
	padding-top: 15px;
}

.nom-shoppable-blog-preview-section .nom-shoppable-blog-card .nom-shoppable-blog-image img {
	border-radius: 10px;
}

.nom-shoppable-blog-preview-section  .nom-shoppable-blog-card .nom-shoppable-continue-reading {
    background-color: #FFCC00; 
    color: #800020;
    border-radius: 50px; 
    padding: 12px 30px;
    text-transform: none;
  font-family: "Dela Gothic One";
    font-weight: 400;
  font-size: 18px;
    display: block; 
    text-align: center;
	
}