/**
 * Cannabis Template Custom Styles - v2026.01.17
 * 
 * This stylesheet provides additional styling specific to the Cannabis template
 * to ensure proper contrast and readability on dark backgrounds.
 * 
 * NOTE: Block styles use .wp-block-reviewpro-* prefix which gives them higher
 * specificity, so we must match or exceed that specificity to override.
 * 
 * VERIFICATION: If you see this comment in page source, CSS is loading correctly.
 */

/* ==========================================================================
   CRITICAL: Full Bleed Layout - Remove Black Bars
   ========================================================================== */

/* 
 * WordPress block themes use useRootPaddingAwareAlignments which adds padding
 * via CSS custom properties on the body. We need to override the ACTUAL padding
 * properties, not the custom properties (can't use !important on custom props).
 */

/* Remove all body-level padding/margins */
html,
body,
body.wp-embed-responsive,
body.wp-singular,
body.home,
body.page,
body.single {
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Target WordPress site blocks container - this is the main wrapper */
.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	margin: 0 !important;
}

/* WordPress adds .has-global-padding class for the root padding feature */
.wp-site-blocks.has-global-padding,
body .wp-site-blocks,
body > .wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Target constrained layouts that WordPress creates */
.wp-site-blocks > .wp-block-group.is-layout-constrained,
.wp-site-blocks > .is-layout-constrained,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100% !important;
}

/* Override the root padding aware alignments */
body .is-layout-constrained > .alignfull,
.wp-site-blocks .alignfull,
.is-layout-constrained > .alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Ensure header and footer are full width */
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-template-part[data-area="header"],
.wp-block-template-part[data-area="footer"] {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Main content area - ensure full width sections work */
main.wp-block-group,
main.is-layout-constrained,
.wp-site-blocks > main {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ==========================================================================
   Content Margins - Ensure Readable Content with Minimum Spacing
   ========================================================================== */

/* 
 * CRITICAL FIX: Even when container width is set to "Full Width", we need
 * minimum margins on actual post content for readability. This targets the
 * constrained layout containers that hold post content, NOT the full-width
 * header/footer areas.
 * 
 * This ensures:
 * - Headers/footers remain truly full-width (edge-to-edge)
 * - Post content always has breathing room from screen edges
 * - Respects user's container width setting while maintaining readability
 */

/* Apply minimum horizontal padding to main constrained content areas */
main.wp-block-group > .wp-block-group.is-layout-constrained,
main.wp-block-group > .is-layout-constrained,
main > .wp-block-group.is-layout-constrained,
main > .is-layout-constrained {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Ensure post content wrapper has minimum padding for ALL content types */
.wp-block-post-content,
.entry-content,
article.post .wp-block-post-content,
article.page .wp-block-post-content,
article.review .wp-block-post-content,
article.single-review .wp-block-post-content,
article.feature .wp-block-post-content,
article.single-feature .wp-block-post-content,
article[class*="type-"] .wp-block-post-content {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Also apply to columns layout (typical single post layout with sidebar) */
main .wp-block-columns {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Individual columns should NOT have additional padding */
main .wp-block-columns > .wp-block-column {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Breadcrumbs need padding too */
main .wp-block-reviewpro-breadcrumbs,
main > [class*="breadcrumb"] {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Responsive: Increase padding on larger screens for better readability */
@media (min-width: 782px) {
	main.wp-block-group > .wp-block-group.is-layout-constrained,
	main.wp-block-group > .is-layout-constrained,
	main > .wp-block-group.is-layout-constrained,
	main > .is-layout-constrained,
	.wp-block-post-content,
	.entry-content,
	main .wp-block-columns,
	main .wp-block-reviewpro-breadcrumbs,
	main > [class*="breadcrumb"] {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
}

@media (min-width: 1200px) {
	main.wp-block-group > .wp-block-group.is-layout-constrained,
	main.wp-block-group > .is-layout-constrained,
	main > .wp-block-group.is-layout-constrained,
	main > .is-layout-constrained,
	.wp-block-post-content,
	.entry-content,
	main .wp-block-columns,
	main .wp-block-reviewpro-breadcrumbs,
	main > [class*="breadcrumb"] {
		padding-left: 48px !important;
		padding-right: 48px !important;
	}
}

/* Exception: Allow alignfull blocks within post content to truly reach edges */
.wp-block-post-content > .alignfull,
.entry-content > .alignfull,
article .wp-block-post-content > .alignfull {
	margin-left: calc(-1 * var(--wp--custom--spacing--outer, 20px)) !important;
	margin-right: calc(-1 * var(--wp--custom--spacing--outer, 20px)) !important;
	width: calc(100% + (2 * var(--wp--custom--spacing--outer, 20px))) !important;
	max-width: calc(100% + (2 * var(--wp--custom--spacing--outer, 20px))) !important;
}

@media (min-width: 782px) {
	.wp-block-post-content > .alignfull,
	.entry-content > .alignfull,
	article .wp-block-post-content > .alignfull {
		margin-left: -32px !important;
		margin-right: -32px !important;
		width: calc(100% + 64px) !important;
		max-width: calc(100% + 64px) !important;
	}
}

@media (min-width: 1200px) {
	.wp-block-post-content > .alignfull,
	.entry-content > .alignfull,
	article .wp-block-post-content > .alignfull {
		margin-left: -48px !important;
		margin-right: -48px !important;
		width: calc(100% + 96px) !important;
		max-width: calc(100% + 96px) !important;
	}
}

/* ==========================================================================
   Header - Compact Height (CRITICAL FIX)
   ========================================================================== */

/* 
 * Target ALL possible header structures - the header template in WordPress 
 * database may not have .reviewpro-header class. Target by position/tag instead.
 * CSS !important DOES override inline styles, so we just need the right selectors.
 */

/* Target header template part directly - this is the most reliable */
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group:first-child,
header.wp-block-template-part > div:first-child,
header.wp-block-template-part .wp-block-group:first-of-type {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Target any group inside header with white or any background */
header.wp-block-template-part .wp-block-group.has-background,
header.wp-block-template-part .wp-block-group.has-white-background-color,
header.wp-block-template-part .has-background,
header.wp-block-template-part div.has-background,
header.wp-block-template-part div.wp-block-group {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Target via data attribute */
.wp-block-template-part[data-area="header"],
.wp-block-template-part[data-area="header"] > .wp-block-group,
.wp-block-template-part[data-area="header"] > div,
.wp-block-template-part[data-area="header"] div.wp-block-group,
.wp-block-template-part[data-area="header"] div.has-background {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Target elements with inline style attribute - WordPress blocks often have these */
header.wp-block-template-part [style*="padding"],
header.wp-block-template-part .wp-block-group[style],
header.wp-block-template-part div[style*="padding"] {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* If it has .reviewpro-header class (newer versions) */
header.wp-block-template-part .wp-block-group.reviewpro-header,
header.wp-block-template-part .wp-block-group.alignfull,
header.wp-block-template-part > .wp-block-group,
.wp-block-template-part[data-area="header"] .wp-block-group,
.reviewpro-header.wp-block-group.alignfull,
.reviewpro-header.wp-block-group,
.reviewpro-header.alignfull,
.reviewpro-header {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Target the flex container inside the header - often has its own padding */
header.wp-block-template-part .is-layout-flex,
header.wp-block-template-part .wp-block-group.is-layout-flex,
.wp-block-template-part[data-area="header"] .is-layout-flex {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Also target the has-background class WordPress adds */
header .wp-block-group.has-white-background-color.has-background,
header .wp-block-group.has-background,
.reviewpro-header.has-white-background-color.has-background,
.reviewpro-header.has-background {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Make site title more compact and single line */
.wp-block-site-title,
header .wp-block-site-title,
.reviewpro-header .wp-block-site-title {
	font-size: var(--wp--preset--font-size--large) !important;
	margin: 0 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.wp-block-site-title a {
	text-decoration: none !important;
}

/* ==========================================================================
   Header Search Bar - WHITE Background (CRITICAL FIX)
   Only affects header search, not other search boxes
   ========================================================================== */

/*
 * Target header search with EVERY possible selector combination.
 * The header template in database may have different structure.
 * Use tag selectors (header, input) for maximum reliability.
 */

/* Most specific: target by tag hierarchy */
header input[type="search"],
header input.wp-block-search__input,
header .wp-block-search input,
header .wp-block-search__inside-wrapper input,
header form input[type="search"] {
	background-color: #ffffff !important;
	background: #ffffff !important;
	color: #1f2937 !important;
	border: 1px solid #d1d5db !important;
}

/* Target by template part data attribute */
.wp-block-template-part[data-area="header"] input[type="search"],
.wp-block-template-part[data-area="header"] input.wp-block-search__input,
.wp-block-template-part[data-area="header"] .wp-block-search input,
.wp-block-template-part[data-area="header"] .wp-block-search__inside-wrapper input {
	background-color: #ffffff !important;
	background: #ffffff !important;
	color: #1f2937 !important;
	border: 1px solid #d1d5db !important;
}

/* Target by class combinations */
header.wp-block-template-part .wp-block-search__input,
header.wp-block-template-part .wp-block-search input[type="search"],
header .wp-block-search__input,
header .wp-block-search input.wp-block-search__input,
.reviewpro-header .wp-block-search__input,
.reviewpro-header input[type="search"],
.reviewpro-header__search .wp-block-search__input,
.reviewpro-header__search input[type="search"],
header input#wp-block-search__input-1,
header input#wp-block-search__input-2,
header input[id^="wp-block-search__input"] {
	background-color: #ffffff !important;
	background: #ffffff !important;
	color: #1f2937 !important;
	border: 1px solid #d1d5db !important;
	border-color: #d1d5db !important;
}

/* Focus states */
header input[type="search"]:focus,
header input.wp-block-search__input:focus,
header .wp-block-search input:focus,
.wp-block-template-part[data-area="header"] input[type="search"]:focus,
.wp-block-template-part[data-area="header"] input.wp-block-search__input:focus,
header.wp-block-template-part .wp-block-search__input:focus,
header .wp-block-search__input:focus,
.reviewpro-header .wp-block-search__input:focus,
.reviewpro-header__search .wp-block-search__input:focus,
header input[id^="wp-block-search__input"]:focus {
	background-color: #ffffff !important;
	background: #ffffff !important;
	border-color: #00FF66 !important;
	outline: none !important;
	box-shadow: 0 0 0 1px #00FF66 !important;
}

/* Placeholder text */
header input::placeholder,
header .wp-block-search__input::placeholder,
.wp-block-template-part[data-area="header"] input::placeholder,
.wp-block-template-part[data-area="header"] .wp-block-search__input::placeholder,
.reviewpro-header .wp-block-search__input::placeholder {
	color: #6b7280 !important;
}

/* Compact search bar in header */
header .wp-block-search,
.wp-block-template-part[data-area="header"] .wp-block-search,
.reviewpro-header .wp-block-search {
	width: auto !important;
	max-width: 180px !important;
}

header .wp-block-search__input,
.wp-block-template-part[data-area="header"] .wp-block-search__input,
.reviewpro-header .wp-block-search__input {
	padding: 6px 12px !important;
	font-size: 0.875rem !important;
}

/* Ensure header search layout doesn't leave trailing block space */
header .wp-block-search__inside-wrapper,
.wp-block-template-part[data-area="header"] .wp-block-search__inside-wrapper,
.reviewpro-header .wp-block-search__inside-wrapper {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	justify-content: flex-start !important;
}

header .wp-block-search__inside-wrapper .wp-block-search__input,
.wp-block-template-part[data-area="header"] .wp-block-search__inside-wrapper .wp-block-search__input,
.reviewpro-header .wp-block-search__inside-wrapper .wp-block-search__input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: 100% !important;
}

header .wp-block-search__inside-wrapper .wp-block-search__button,
.wp-block-template-part[data-area="header"] .wp-block-search__inside-wrapper .wp-block-search__button,
.reviewpro-header .wp-block-search__inside-wrapper .wp-block-search__button {
	flex: 0 0 auto !important;
	min-width: 44px;
	padding: 0 12px !important;
	margin: 0 !important;
}

/* Prevent header overflow on small screens (Cannabis template only) */
@media (max-width: 960px) {
	header.wp-block-template-part .wp-block-group.is-layout-flex,
	.wp-block-template-part[data-area="header"] .wp-block-group.is-layout-flex {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		row-gap: 8px;
	}

	header.wp-block-template-part .wp-block-group.is-layout-flex > *,
	.wp-block-template-part[data-area="header"] .wp-block-group.is-layout-flex > * {
		min-width: 0;
		max-width: 100%;
	}

	header .reviewpro-header__search,
	.wp-block-template-part[data-area="header"] .reviewpro-header__search {
		flex: 1 1 100%;
		width: 100%;
		order: 3;
	}

	header .reviewpro-header__search .wp-block-search,
	.wp-block-template-part[data-area="header"] .reviewpro-header__search .wp-block-search {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Keep hamburger visible and hide inline nav on small screens */
	.reviewpro-header__nav {
		flex: 0 0 auto;
		order: 2;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border-radius: 8px;
		border: 2px solid var(--wp--preset--color--accent-bright);
		background: rgba(0, 255, 102, 0.12);
		color: var(--wp--preset--color--accent-bright);
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container-open svg,
	.reviewpro-header__nav .wp-block-navigation__responsive-container-open svg path,
	.reviewpro-header__nav .wp-block-navigation__responsive-container-open svg line,
	.reviewpro-header__nav .wp-block-navigation__responsive-container-open svg rect {
		stroke-width: 2.5;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
		display: none !important;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column;
		gap: 8px;
		align-items: center;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		margin: 0 !important;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		padding: 10px 16px !important;
		font-size: 1rem;
		line-height: 1.3;
	}

	/* Mobile menu: remove the "More" parent link but keep its child links */
	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
		display: none !important;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__content {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 8px;
		position: static !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		box-shadow: none !important;
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__content > .wp-block-navigation-item {
		margin: 0 !important;
	}

	.reviewpro-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__content .wp-block-navigation-item a {
		padding-left: 0 !important;
	}

	header .reviewpro-lang-switcher,
	.wp-block-template-part[data-area="header"] .reviewpro-lang-switcher {
		max-width: 100%;
	}
}

/* ==========================================================================
   Navigation - Enhanced Readability
   ========================================================================== */

/* Override the has-small-font-size class from WordPress */
.wp-block-navigation.has-small-font-size,
.wp-block-navigation.has-small-font-size .wp-block-navigation-item a {
	font-size: var(--wp--preset--font-size--small) !important;
}

/* Make nav links readable but compact */
.wp-block-navigation .wp-block-navigation-item a,
.wp-block-navigation-item__content,
.wp-block-navigation-link a {
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3) !important;
}

/* Ensure nav text color is readable */
.wp-block-navigation .wp-block-navigation-item a,
.wp-block-navigation-item__content {
	color: var(--wp--preset--color--text-secondary) !important;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* ==========================================================================
   Homepage Gallery Headlines - Fixed Contrast
   ========================================================================== */

/* Override light background for homepage sections on cannabis template */
.reviewpro-homepage-gallery,
.reviewpro-homepage-gallery--reviews,
.reviewpro-homepage-gallery--features,
.has-gray-50-background-color.reviewpro-homepage-gallery,
.wp-block-reviewpro-homepage-sections .has-gray-50-background-color {
	background-color: var(--wp--preset--color--gray-800) !important;
}

/* Fix "Latest Reviews" and similar headings on green backgrounds */
.reviewpro-homepage-gallery h2,
.reviewpro-homepage-gallery .wp-block-heading,
.reviewpro-homepage-gallery__header h2,
.reviewpro-homepage-gallery__header .wp-block-heading,
.has-background h2.wp-block-heading,
.has-gray-50-background-color h2,
.has-background .has-2-x-large-font-size,
h2.has-2-x-large-font-size {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* View All links on homepage */
.reviewpro-homepage-gallery a,
.reviewpro-homepage-gallery__header a,
.reviewpro-homepage-gallery__header p a {
	color: var(--wp--preset--color--accent) !important;
}

.reviewpro-homepage-gallery a:hover,
.reviewpro-homepage-gallery__header a:hover {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* ==========================================================================
   Verdict Box - Enhanced Contrast for All Score Types
   Note: Must use .wp-block-reviewpro-verdict-box prefix to override block CSS
   ========================================================================== */

/* Dark background overrides for verdict boxes - with block prefix for specificity */
.wp-block-reviewpro-verdict-box .reviewpro-verdict-box,
.reviewpro-verdict,
.reviewpro-verdict-box {
	background: linear-gradient(135deg, rgba(27, 67, 50, 0.95) 0%, rgba(10, 22, 18, 0.98) 100%) !important;
	border-color: var(--wp--preset--color--accent-bright) !important;
	border-left: 4px solid var(--wp--preset--color--accent-bright) !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(0, 255, 102, 0.2) !important;
}

/* Verdict box title - bright accent color for visibility - WITH BLOCK PREFIX */
.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__title,
.reviewpro-verdict__title,
.reviewpro-verdict-box__title {
	color: var(--wp--preset--color--accent-bright) !important;
	text-shadow: 0 0 20px rgba(0, 255, 102, 0.3);
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Verdict box text - ensure high contrast white text - WITH BLOCK PREFIX */
.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__text,
.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__content,
.reviewpro-verdict__content,
.reviewpro-verdict-box__content,
.reviewpro-verdict-box__text,
.reviewpro-verdict-box__text p,
.reviewpro-verdict-box__text div {
	color: #FFFFFF !important;
	font-size: var(--wp--preset--font-size--large);
	line-height: var(--wp--custom--line-height--relaxed);
	font-weight: 500;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Score-specific verdict box text - all should use white for best contrast */
.reviewpro-verdict--excellent .reviewpro-verdict__content,
.reviewpro-verdict--excellent .reviewpro-verdict-box__text,
.reviewpro-verdict-box[data-score="excellent"] .reviewpro-verdict-box__text,
.reviewpro-verdict-box:has(.reviewpro-verdict-box__score--excellent) .reviewpro-verdict-box__text {
	color: #FFFFFF !important;
}

.reviewpro-verdict--good .reviewpro-verdict__content,
.reviewpro-verdict--good .reviewpro-verdict-box__text,
.reviewpro-verdict-box[data-score="good"] .reviewpro-verdict-box__text,
.reviewpro-verdict-box:has(.reviewpro-verdict-box__score--good) .reviewpro-verdict-box__text {
	color: #FFFFFF !important;
}

.reviewpro-verdict--average .reviewpro-verdict__content,
.reviewpro-verdict--average .reviewpro-verdict-box__text,
.reviewpro-verdict-box[data-score="average"] .reviewpro-verdict-box__text,
.reviewpro-verdict-box:has(.reviewpro-verdict-box__score--average) .reviewpro-verdict-box__text {
	color: #FFFFFF !important;
}

.reviewpro-verdict--poor .reviewpro-verdict__content,
.reviewpro-verdict--poor .reviewpro-verdict-box__text,
.reviewpro-verdict-box[data-score="poor"] .reviewpro-verdict-box__text,
.reviewpro-verdict-box:has(.reviewpro-verdict-box__score--poor) .reviewpro-verdict-box__text {
	color: #FFFFFF !important;
}

/* ==========================================================================
   Product Info / Product Details - Dark Mode Styling
   ========================================================================== */

/* Product Details box with block prefix for specificity */
.wp-block-reviewpro-product-details .reviewpro-product-details,
.wp-block-reviewpro-product-details,
.reviewpro-product-details {
	background-color: var(--wp--preset--color--gray-800) !important;
	border: 1px solid var(--wp--preset--color--gray-600) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.wp-block-reviewpro-product-details .reviewpro-product-details__label,
.reviewpro-product-details__label {
	color: var(--wp--preset--color--accent-bright) !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.wp-block-reviewpro-product-details .reviewpro-product-details__value,
.reviewpro-product-details__value {
	color: var(--wp--preset--color--text-primary) !important;
}

.reviewpro-product-details__link {
	color: var(--wp--preset--color--accent-bright) !important;
}

.reviewpro-product-details__link:hover {
	color: var(--wp--preset--color--accent) !important;
}

/* ==========================================================================
   Product Specifications Table - Dark Mode Styling
   ========================================================================== */

/* Product Specs with block prefix for specificity */
.wp-block-reviewpro-product-specs,
.wp-block-reviewpro-product-specs .reviewpro-product-specs,
.reviewpro-product-specs,
.reviewpro-specs {
	border: 1px solid var(--wp--preset--color--gray-600) !important;
	background-color: var(--wp--preset--color--gray-800) !important;
	border-radius: var(--wp--custom--border-radius--lg);
	overflow: hidden;
}

/* Product Specs Title */
.wp-block-reviewpro-product-specs .reviewpro-product-specs__title,
.reviewpro-product-specs__title,
.reviewpro-specs__title,
.reviewpro-product-specs h3,
.wp-block-reviewpro-product-specs h3 {
	background-color: var(--wp--preset--color--gray-700) !important;
	border-bottom: 1px solid var(--wp--preset--color--gray-600) !important;
	color: var(--wp--preset--color--accent-bright) !important;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6);
	margin: 0;
	font-weight: 700;
}

/* Product Specs Table */
.wp-block-reviewpro-product-specs .reviewpro-product-specs__table,
.reviewpro-product-specs__table,
.reviewpro-specs__table,
.reviewpro-product-specs table,
.wp-block-reviewpro-product-specs table {
	background-color: transparent !important;
}

/* Product Specs Table Headers (th = label) */
.wp-block-reviewpro-product-specs .reviewpro-product-specs__label,
.reviewpro-product-specs__label,
.reviewpro-specs__table th,
.reviewpro-product-specs table th,
.wp-block-reviewpro-product-specs table th {
	background-color: var(--wp--preset--color--gray-700) !important;
	color: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
	font-weight: 600;
}

/* Product Specs Table Values (td = value) */
.wp-block-reviewpro-product-specs .reviewpro-product-specs__value,
.reviewpro-product-specs__value,
.reviewpro-specs__table td,
.reviewpro-product-specs table td,
.wp-block-reviewpro-product-specs table td {
	color: var(--wp--preset--color--text-primary) !important;
	background-color: var(--wp--preset--color--gray-800) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.reviewpro-specs__table tr:not(:last-child),
.reviewpro-product-specs table tr:not(:last-child),
.wp-block-reviewpro-product-specs table tr:not(:last-child),
.reviewpro-product-specs__row {
	border-bottom: 1px solid var(--wp--preset--color--gray-600) !important;
}

/* ==========================================================================
   Author Box / Post Author - Dark Mode Styling
   ========================================================================== */

/* Author box with block prefix for specificity */
.wp-block-reviewpro-author-box,
.wp-block-reviewpro-author-box.reviewpro-author-box,
.reviewpro-author-box,
.reviewpro-author,
.post-author,
.author-box,
.wp-block-post-author {
	background-color: var(--wp--preset--color--gray-800) !important;
	border: 1px solid var(--wp--preset--color--gray-600) !important;
	border-radius: var(--wp--custom--border-radius--lg);
	padding: var(--wp--preset--spacing--6);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

/* Author name */
.wp-block-reviewpro-author-box .reviewpro-author-box__name,
.wp-block-reviewpro-author-box .reviewpro-author-box__name a,
.reviewpro-author-box__name,
.reviewpro-author-box__name a,
.reviewpro-author__name,
.post-author__name,
.author-box__name,
.wp-block-post-author__name,
.wp-block-post-author__heading,
.reviewpro-author__name h4 {
	color: var(--wp--preset--color--white) !important;
	font-weight: 700;
}

/* Author bio */
.wp-block-reviewpro-author-box .reviewpro-author-box__bio,
.reviewpro-author-box__bio,
.reviewpro-author__bio,
.post-author__bio,
.author-box__bio,
.wp-block-post-author__bio {
	color: var(--wp--preset--color--text-primary) !important;
	line-height: 1.6;
}

/* Author meta/date */
.wp-block-reviewpro-author-box .reviewpro-author-box__meta,
.wp-block-reviewpro-author-box .reviewpro-author-box__date,
.reviewpro-author-box__meta,
.reviewpro-author-box__date,
.reviewpro-author__date,
.reviewpro-author__meta {
	color: var(--wp--preset--color--text-muted) !important;
}

/* Author social links */
.wp-block-reviewpro-author-box .reviewpro-author-box__social a,
.reviewpro-author-box__social a,
.reviewpro-author__social a,
.post-author__link,
.author-box__link,
.wp-block-post-author__link {
	color: var(--wp--preset--color--accent-bright) !important;
	background-color: var(--wp--preset--color--gray-700) !important;
	border: 1px solid var(--wp--preset--color--gray-600);
}

.wp-block-reviewpro-author-box .reviewpro-author-box__social a:hover,
.reviewpro-author-box__social a:hover,
.reviewpro-author__social a:hover {
	background-color: var(--wp--preset--color--accent-bright) !important;
	color: var(--wp--preset--color--dark) !important;
}

/* Author title/role */
.wp-block-reviewpro-author-box .reviewpro-author-box__title,
.reviewpro-author-box__title {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* ==========================================================================
   Card Styling - Better Contrast for Review Cards
   ========================================================================== */

/* Main review cards - very light mint green background for readability */
.wp-block-post,
.review-card,
article.post,
.reviewpro-card,
.wp-block-group.reviewpro-card {
	background-color: #D8F3DC !important; /* Very light mint green */
	color: var(--wp--preset--color--dark) !important;
	border: 1px solid #95D5B2 !important;
}

/* Hide author info on cards */
.wp-block-post .wp-block-post-author,
.review-card .wp-block-post-author,
article.post .author-info,
.wp-block-post .post-author,
.reviewpro-card .wp-block-post-author {
	display: none !important;
}

/* Ensure post titles on cards are dark and readable */
.wp-block-post .wp-block-post-title,
.wp-block-post .wp-block-post-title a,
.review-card .wp-block-post-title,
.review-card .wp-block-post-title a,
article.post .entry-title,
article.post .entry-title a {
	color: #1B4332 !important; /* Dark forest green */
	font-weight: 600 !important;
}

/* Card excerpts and metadata */
.wp-block-post .wp-block-post-excerpt,
.review-card .wp-block-post-excerpt,
article.post .entry-excerpt {
	color: #2D6A4F !important; /* Medium forest green */
}

.wp-block-post .wp-block-post-date,
.review-card .wp-block-post-date,
article.post .entry-date {
	color: #40916C !important; /* Sage green */
}

/* ==========================================================================
   Main Page/Post Titles - Light Color for Readability
   ========================================================================== */

/* Single post/review/feature/page titles need to be light on dark background */
.entry-header .entry-title,
.entry-header h1,
.wp-block-post-title,
h1.wp-block-post-title,
.single .entry-title,
.page .entry-title,
main h1,
article h1.entry-title,
.wp-block-group .wp-block-post-title {
	color: var(--wp--preset--color--white) !important;
}

/* Also ensure title links are light */
.entry-header .entry-title a,
.entry-header h1 a,
.wp-block-post-title a,
h1.wp-block-post-title a,
main h1 a {
	color: var(--wp--preset--color--white) !important;
}

.entry-header .entry-title a:hover,
.wp-block-post-title a:hover,
main h1 a:hover {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* ==========================================================================
   Forms - Dark Mode Styling
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
select,
textarea {
	background-color: var(--wp--preset--color--gray-800) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
	color: var(--wp--preset--color--text-primary) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
select:focus,
textarea:focus {
	border-color: var(--wp--preset--color--accent-bright) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent-bright) !important;
}

label {
	color: var(--wp--preset--color--text-primary) !important;
}

/* ==========================================================================
   Pros/Cons - Enhanced for Dark Theme
   ========================================================================== */

.wp-block-reviewpro-pros-cons .reviewpro-pros,
.reviewpro-pros {
	background-color: rgba(0, 255, 102, 0.1) !important;
	border-color: var(--wp--preset--color--accent-bright) !important;
}

.wp-block-reviewpro-pros-cons .reviewpro-cons,
.reviewpro-cons {
	background-color: rgba(255, 107, 107, 0.1) !important;
	border-color: var(--wp--preset--color--danger) !important;
}

.wp-block-reviewpro-pros-cons .reviewpro-pros__title,
.wp-block-reviewpro-pros-cons .reviewpro-pros__list li,
.reviewpro-pros__title,
.reviewpro-pros__list li {
	color: var(--wp--preset--color--text-primary) !important;
}

.reviewpro-cons__title,
.reviewpro-cons__list li {
	color: var(--wp--preset--color--text-primary);
}

/* ==========================================================================
   Header Enhancements
   ========================================================================== */

/* Ensure header has proper dark background */
.wp-block-template-part[data-area="header"],
header,
.site-header {
	background-color: var(--wp--preset--color--gray-900);
}

/* ==========================================================================
   Paragraphs in Review Content
   ========================================================================== */

.entry-content p,
.wp-block-post-content p {
	font-size: var(--wp--preset--font-size--large);
	line-height: var(--wp--custom--line-height--relaxed);
}

/* ==========================================================================
   Comparison Table Enhancements
   ========================================================================== */

.wp-block-table table,
.wp-block-reviewpro-comparison-table table,
.rp-comparison-table {
	background-color: var(--wp--preset--color--gray-800) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.wp-block-table thead,
.wp-block-reviewpro-comparison-table thead,
.rp-comparison-table thead {
	background-color: var(--wp--preset--color--gray-700) !important;
}

.wp-block-table th,
.wp-block-reviewpro-comparison-table th,
.rp-comparison-table th {
	color: var(--wp--preset--color--accent-bright) !important;
	background-color: var(--wp--preset--color--gray-700) !important;
	font-weight: 600;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.wp-block-table td,
.wp-block-reviewpro-comparison-table td,
.rp-comparison-table td {
	color: var(--wp--preset--color--text-primary) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
	background-color: var(--wp--preset--color--gray-800) !important;
}

.wp-block-table tr:nth-child(even) td,
.wp-block-reviewpro-comparison-table tr:nth-child(even) td,
.rp-comparison-table tr:nth-child(even) td,
.rp-table-striped tbody tr:nth-child(even) td {
	background-color: var(--wp--preset--color--gray-700) !important;
}

/* First column styling for tables */
.rp-comparison-table td:first-child,
.wp-block-reviewpro-comparison-table td:first-child {
	background-color: var(--wp--preset--color--gray-700) !important;
	font-weight: 500;
}

/* ==========================================================================
   Information Tables - Dark Mode Styling
   ========================================================================== */

.rp-info-table-wrapper {
	color: var(--wp--preset--color--text-primary);
}

.rp-table-description,
.rp-table-footer {
	color: var(--wp--preset--color--text-secondary) !important;
}

.rp-info-table {
	background-color: var(--wp--preset--color--gray-800) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.rp-info-table th,
.rp-info-table td {
	border-color: var(--wp--preset--color--gray-600) !important;
}

.rp-info-table th {
	background-color: var(--wp--preset--color--gray-700) !important;
	color: var(--wp--preset--color--accent-bright) !important;
}

.rp-info-table td {
	background-color: var(--wp--preset--color--gray-800) !important;
	color: var(--wp--preset--color--text-primary) !important;
}

/* Info table header variations */
.rp-info-table-header-top thead th,
.rp-info-table-header-left tbody th,
.rp-info-table-header-both thead th,
.rp-info-table-header-both tbody th {
	background-color: var(--wp--preset--color--gray-700) !important;
	color: var(--wp--preset--color--accent-bright) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

/* Modern style info table */
.rp-info-table-style-modern {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.rp-info-table-style-modern th {
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary-dark) 100%) !important;
	color: var(--wp--preset--color--white) !important;
}

/* ==========================================================================
   ReviewPro Forms - Dark Mode Styling
   ========================================================================== */

.reviewpro-form {
	background-color: var(--wp--preset--color--gray-800) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.reviewpro-form__title {
	color: var(--wp--preset--color--white) !important;
}

.reviewpro-form__description,
.reviewpro-form__description p {
	color: var(--wp--preset--color--text-secondary) !important;
}

.reviewpro-form__field label {
	color: var(--wp--preset--color--text-primary) !important;
}

.reviewpro-form__field input[type="text"],
.reviewpro-form__field input[type="email"],
.reviewpro-form__field input[type="tel"],
.reviewpro-form__field input[type="number"],
.reviewpro-form__field input[type="url"],
.reviewpro-form__field select,
.reviewpro-form__field textarea {
	background-color: var(--wp--preset--color--gray-700) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
	color: var(--wp--preset--color--text-primary) !important;
}

.reviewpro-form__field input::placeholder,
.reviewpro-form__field textarea::placeholder {
	color: var(--wp--preset--color--text-muted) !important;
}

.reviewpro-form__field input:focus,
.reviewpro-form__field select:focus,
.reviewpro-form__field textarea:focus {
	border-color: var(--wp--preset--color--accent-bright) !important;
	box-shadow: 0 0 0 3px rgba(0, 255, 102, 0.15) !important;
}

.reviewpro-form__radio-group label {
	background-color: var(--wp--preset--color--gray-700) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
	color: var(--wp--preset--color--text-primary) !important;
}

.reviewpro-form__radio-group label:hover {
	background-color: var(--wp--preset--color--gray-600) !important;
	border-color: var(--wp--preset--color--accent) !important;
}

/* ==========================================================================
   Review Score Colors - Aligned with Verdict Box Colors
   ========================================================================== */

/* Override default score colors to match cannabis template verdict colors */
/* Block wrapper with specificity */
.wp-block-reviewpro-review-score.reviewpro-score--excellent,
.reviewpro-score--excellent {
	color: var(--wp--preset--color--success) !important; /* #00FF66 - Neon Green */
}

.wp-block-reviewpro-review-score.reviewpro-score--good,
.reviewpro-score--good {
	color: var(--wp--preset--color--secondary-light) !important; /* #52B788 - Sage */
}

.wp-block-reviewpro-review-score.reviewpro-score--average,
.reviewpro-score--average {
	color: var(--wp--preset--color--warning) !important; /* #FFD93D - Gold */
}

.wp-block-reviewpro-review-score.reviewpro-score--poor,
.reviewpro-score--poor {
	color: var(--wp--preset--color--danger) !important; /* #FF6B6B - Coral Red */
}

/* Score badge backgrounds */
.wp-block-reviewpro-review-score .reviewpro-score__badge,
.reviewpro-score__badge {
	background: currentColor !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--excellent .reviewpro-score__badge,
.reviewpro-score--excellent .reviewpro-score__badge {
	background: var(--wp--preset--color--success) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--good .reviewpro-score__badge,
.reviewpro-score--good .reviewpro-score__badge {
	background: var(--wp--preset--color--secondary-light) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--average .reviewpro-score__badge,
.reviewpro-score--average .reviewpro-score__badge {
	background: var(--wp--preset--color--warning) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--poor .reviewpro-score__badge,
.reviewpro-score--poor .reviewpro-score__badge {
	background: var(--wp--preset--color--danger) !important;
}

/* Score circle styling */
.wp-block-reviewpro-review-score .reviewpro-score__circle-fill,
.reviewpro-score--excellent .reviewpro-score__circle-fill {
	stroke: var(--wp--preset--color--success) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--good .reviewpro-score__circle-fill,
.reviewpro-score--good .reviewpro-score__circle-fill {
	stroke: var(--wp--preset--color--secondary-light) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--average .reviewpro-score__circle-fill,
.reviewpro-score--average .reviewpro-score__circle-fill {
	stroke: var(--wp--preset--color--warning) !important;
}

.wp-block-reviewpro-review-score.reviewpro-score--poor .reviewpro-score__circle-fill,
.reviewpro-score--poor .reviewpro-score__circle-fill {
	stroke: var(--wp--preset--color--danger) !important;
}

/* Verdict box score badges - ensure consistency */
.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__score--excellent,
.reviewpro-verdict-box__score--excellent {
	background: var(--wp--preset--color--success) !important;
}

.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__score--good,
.reviewpro-verdict-box__score--good {
	background: var(--wp--preset--color--secondary-light) !important;
}

.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__score--average,
.reviewpro-verdict-box__score--average {
	background: var(--wp--preset--color--warning) !important;
}

.wp-block-reviewpro-verdict-box .reviewpro-verdict-box__score--poor,
.reviewpro-verdict-box__score--poor {
	background: var(--wp--preset--color--danger) !important;
}

/* Score circle background styling */
.wp-block-reviewpro-review-score .reviewpro-score__circle-bg,
.reviewpro-score__circle-bg {
	stroke: var(--wp--preset--color--gray-700) !important;
}

/* Score label and value styling */
.wp-block-reviewpro-review-score .reviewpro-score__label,
.reviewpro-score__label {
	color: var(--wp--preset--color--text-secondary) !important;
}

.wp-block-reviewpro-review-score .reviewpro-score__value,
.reviewpro-score__value {
	color: var(--wp--preset--color--white) !important;
}

/* ==========================================================================
   Sidebar & Widget Areas - Dark Theme Styling
   ========================================================================== */

/* Override white backgrounds in sidebar widgets - target the actual structure */
.wp-block-column .wp-block-template-part .wp-block-group.has-white-background-color,
.wp-block-column .wp-block-group.has-white-background-color.has-global-padding {
	background-color: var(--wp--preset--color--gray-800) !important;
	border: 1px solid var(--wp--preset--color--gray-600) !important;
}

/* Sidebar search bar - dark theme to match sidebar */
.wp-block-column .wp-block-template-part .wp-block-search,
.wp-block-column .wp-block-search {
	background-color: transparent !important;
}

.wp-block-column .wp-block-template-part .wp-block-search__inside-wrapper,
.wp-block-column .wp-block-search__inside-wrapper {
	background-color: transparent !important;
}

.wp-block-column .wp-block-template-part .wp-block-search__input,
.wp-block-column .wp-block-search__input {
	background-color: var(--wp--preset--color--gray-700) !important;
	color: var(--wp--preset--color--text-primary) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.wp-block-column .wp-block-template-part .wp-block-search__input:focus,
.wp-block-column .wp-block-search__input:focus {
	border-color: var(--wp--preset--color--accent-bright) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent-bright) !important;
}

.wp-block-column .wp-block-template-part .wp-block-search__input::placeholder,
.wp-block-column .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--text-muted) !important;
}

/* Sidebar search button */
.wp-block-column .wp-block-template-part .wp-block-search__button,
.wp-block-column .wp-block-search__button {
	background-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--dark) !important;
}

.wp-block-column .wp-block-template-part .wp-block-search__button:hover,
.wp-block-column .wp-block-search__button:hover {
	background-color: var(--wp--preset--color--accent-bright) !important;
}

/* Sidebar headings */
.wp-block-column .wp-block-template-part .wp-block-heading,
.wp-block-column .wp-block-group.has-white-background-color h4 {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* Sidebar text colors */
.wp-block-column .wp-block-template-part,
.wp-block-column .wp-block-group.has-white-background-color {
	color: var(--wp--preset--color--text-primary) !important;
}

/* Sidebar links */
.wp-block-column .wp-block-template-part a,
.wp-block-column .wp-block-group.has-white-background-color a {
	color: var(--wp--preset--color--accent) !important;
}

.wp-block-column .wp-block-template-part a:hover,
.wp-block-column .wp-block-group.has-white-background-color a:hover {
	color: var(--wp--preset--color--accent-bright) !important;
}

/* Category list and recent posts styling */
.wp-block-column .wp-block-categories-list li,
.wp-block-column .wp-block-latest-posts li {
	color: var(--wp--preset--color--text-primary) !important;
}

/* Post dates in recent posts */
.wp-block-column .wp-block-latest-posts__post-date {
	color: var(--wp--preset--color--text-muted) !important;
}

/* Tag cloud in sidebar */
.wp-block-column .wp-block-tag-cloud a {
	color: var(--wp--preset--color--accent) !important;
	background-color: var(--wp--preset--color--gray-700) !important;
	border-color: var(--wp--preset--color--gray-600) !important;
}

.wp-block-column .wp-block-tag-cloud a:hover {
	background-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--dark) !important;
}
