/* Base Score Styles - Shared across review sections */
#rate-this-game .score.average,
#review-section .score,
#review-summary .score,
#community-members-rating-summary .score {
	width: 60px;
	height: 60px;
	font-family: var(--font-family-2);
	font-weight: bold;
	font-size: 24px;
	line-height: 1;
	color: var(--white5);
	background-color: var(--border3);
}
#rate-this-game .score.average.green,
#review-section .score.green,
#review-summary .score.green,
#community-members-rating-summary .score.green {
	background-color: var(--primary-green);
	color: var(--primary-green-dark);
}
#rate-this-game .score.average.yellow,
#review-section .score.yellow,
#review-summary .score.yellow,
#community-members-rating-summary .score.yellow {
	background-color: var(--secondary-yellow1);
	color: var(--primary-green-dark);
}
#rate-this-game .score.average.red,
#review-section .score.red,
#review-summary .score.red,
#community-members-rating-summary .score.red {
	background-color: var(--primary-red-strawberry);
	color: var(--white5);
}
/* Verdict Typography - Shared */
#rate-this-game .verdict strong,
#review-section .verdict strong,
#review-summary .verdict strong,
#community-members-rating-summary .verdict strong {
	font-family: var(--font-family-2);
	font-weight: bold;
	font-size: 20px;
	color: var(--text1);
	line-height: 1;
}
#review-section .verdict a,
#review-summary .verdict a,
#community-members-rating-summary .verdict a {
	font-size: 14px;
	color: var(--text-link);
	line-height: 1;
}
/* Section Headers - Shared */
#rate-this-game .verdict h3,
#review-section .verdict h3,
#review-summary h3,
#community-members-rating-summary h3 {
	font-weight: normal;
	font-size: 14px;
	color: var(--text3);
	line-height: 1;
	margin: 0;
	margin-top: 0;
	font-family: var(--font-family-1);
}
/* Review Section */
#review-section .featured-image {
	aspect-ratio: 3 / 1;
	object-fit: cover;
}
#review-section .content-container {
	background-color: var(--bg2);
}
#review-section h4 {
	font-weight: 700;
	font-size: 20px;
	font-family: var(--font-family-2);
	color: var(--text1);
}
#review-section .disclaimer {
	color: var(--text3);
	font-size: 12px;
}
#review-section .content-full> :last-child,
#review-section ul li:last-child {
	margin-bottom: 0;
}
/* Divider */
body.single .divider.review-ratings {
	height: 3px;
	position: relative;
}
body.single .divider.review-ratings:before {
	height: 3px;
	width: 100%;
	background: linear-gradient(to right, #FF0000, #44FF00);
}
/* Review Summary */
.review-summary-container {
	background-color: var(--bg2);
}
/* Community Rating Section */
#rate-this-game {
	background-color: var(--bg2);
}
#rate-this-game h3 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 1rem;
}
/* Member Votes */
#rate-this-game .members-votes .member-vote .name {
	font-size: 14px;
	font-weight: 600;
}
#rate-this-game .members-votes .member-vote .score .score-number,
#rate-this-game .members-votes .member-vote .score .score-max {
	font-family: var(--font-family-2);
	font-weight: bold;
	font-size: 16px;
}
#rate-this-game .members-votes .member-vote .score .score-number {
	color: var(--primary-green-darker);
	width: 17px;
}
#rate-this-game .members-votes .member-vote .score .score-max {
	color: var(--text3);
}
/* Member Vote Score Colors */
#rate-this-game .members-votes .member-vote .score.green .score-number {
	color: var(--primary-green-darker);
}
#rate-this-game .members-votes .member-vote .score.yellow .score-number {
	color: var(--secondary-yellow1);
}
#rate-this-game .members-votes .member-vote .score.red .score-number {
	color: var(--primary-red-strawberry);
}
/* Divider in member votes */
#rate-this-game .members-votes .divider:before {
	background-color: var(--border1);
}
#rate-this-game .no-ratings {
	color: var(--text2);
	font-size: 14px;
}
/* Robot Icon */
#rate-this-game .members-votes .member-vote .score .robot-icon .robot-body,
#rate-this-game .members-votes .member-vote .score.green .robot-icon .robot-body {
	fill: var(--primary-green-darker);
}
#rate-this-game .members-votes .member-vote .score.yellow .robot-icon .robot-body {
	fill: var(--secondary-yellow1);
}
#rate-this-game .members-votes .member-vote .score.red .robot-icon .robot-body {
	fill: var(--primary-red-strawberry);
}
#rate-this-game .members-votes .member-vote .score .robot-icon .robot-eye,
#rate-this-game .members-votes .member-vote .score .robot-icon .robot-mouth,
#rate-this-game .members-votes .member-vote .score .robot-icon .robot-antenna {
	fill: var(--white5);
}
/* Load More Ratings */
#load-more-ratings {
	font-size: 12px;
	font-weight: 600;
	color: var(--primary-green-darker);
	border: none;
	cursor: pointer;
}
/* Scrollable Ratings */
.scrollable-ratings {
	max-height: 400px;
	overflow-y: auto;
	padding-right: 10px;
	margin-right: -10px;
}
.scrollable-ratings::-webkit-scrollbar {
	width: 6px;
}
.scrollable-ratings::-webkit-scrollbar-track {
	background: var(--bg3);
	border-radius: 3px;
}
.scrollable-ratings::-webkit-scrollbar-thumb {
	background: var(--primary-green-darker);
	border-radius: 3px;
}
.scrollable-ratings::-webkit-scrollbar-thumb:hover {
	background: var(--text-hover);
}
/* Modal Rating*/
.modal-content {
	background-color: var(--bg1);
	color: var(--text1);
	border: 1px solid var(--border1);
	border-radius: 0;
}
.modal-header {
	border-bottom: 1px solid var(--border1);
}
.modal-footer {
	border-top: 1px solid var(--border1);
}
.modal-title {
	font-family: var(--font-family-2);
	font-weight: 600;
	font-size: 18px;
	color: var(--text1);
}
#ratingModal button {
	cursor: pointer;
	border-radius: 0;
	border: none;
}
#ratingModal .form-control {
	background-color: var(--bg3);
	color: var(--text1);
	border: none;
	border-radius: 0;
}
#ratingModal .form-label {
	color: var(--text1);
	font-weight: 600;
}
#ratingModal .btn-primary {
	background-color: var(--primary-green-darker);
	color: var(--text-button);
}
#ratingModal .btn-primary:hover {
	background-color: var(--primary-green-wasabi);
}
#ratingModal #delete-rating svg {
	margin: -4px 0 0 0;
}
#ratingModal .disclaimer {
	color: var(--text3);
	font-size: 13px;
	line-height: 1;
}
body.theme-dark #ratingModal .btn-close {
	filter: invert(1);
}
/* Modal Login */
#modal-login-form {
	margin-top: 20px;
}
#modal-login-form .login-username,
#modal-login-form .login-password {
	margin-bottom: 15px;
}
#modal-login-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}
#modal-login-form input[type="text"],
#modal-login-form input[type="password"] {
	width: 100%;
	padding: 10px;
	background-color: var(--bg3);
	color: var(--text1);
	border: none;
	border-radius: 0;
}
#modal-login-form input[type="submit"] {
	background-color: var(--primary-green-darker);
	color: var(--text-button);
	border: none;
	padding: 10px 20px;
	border-radius: 0;
	cursor: pointer;
	transition: var(--transition-base);
}
#modal-login-form input[type="submit"]:hover {
	background-color: var(--primary-green-wasabi);
}
#register-form .register-here,
#login-form .register-here {
	display: inline-block;
	font-size: 14px;
	color: var(--text-link);
	transition: var(--transition-base);
}
#register-form .register-here:hover,
#login-form .register-here:hover {
	color: var(--text-hover);
}
#register-form>p,
#login-form>p {
	font-size: 14px;
	color: var(--text3);
}
/* Modal Registration & Auth Toggle */
.auth-form {
	transition: opacity 0.3s ease-in-out;
}
.auth-toggle {
	color: var(--text-link);
	text-decoration: none;
	border: none;
	background: none;
	font-size: inherit;
	cursor: pointer;
	transition: var(--transition-base);
}
.auth-toggle:hover {
	color: var(--text-hover);
	text-decoration: underline;
}
#registration-messages {
	margin-top: 1rem;
	margin-bottom: 1rem;
	font-size: 14px;
	text-align: center;
	background-color: rgba(220, 53, 69, 0.1);
	color: var(--primary-red-strawberry);
	border: 1px solid var(--primary-red-strawberry);
	font-size: 14px;
	text-align: center;
	padding: 12px;
	font-family: var(--font-family-1);
	border-radius: 0;
}
.form-text {
	font-size: 0.875em;
	color: var(--text3);
	margin-top: 0.25rem;
}
.text-danger {
	color: var(--primary-red-strawberry);
}
#password-strength .progress {
	background-color: var(--bg3);
	border-radius: 2px;
}
#password-strength-text {
	font-size: 0.8em;
	margin-top: 0.25rem;
}
#password-match-feedback {
	font-size: 0.875em;
	margin-top: 0.25rem;
}
.form-control.is-valid {
	border-color: var(--primary-green);
}
.form-control.is-invalid {
	border-color: var(--primary-red-strawberry);
}
.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
/* Responsive */
@media (min-width: 992px) {
	#rate-this-game .score.average,
	#review-section .score {
		width: 72px;
		height: 72px;
		font-size: 32px;
	}
	#rate-this-game .verdict strong,
	#review-section h4,
	#review-section .verdict strong,
	#review-summary .verdict strong,
	#community-members-rating-summary .verdict strong {
		font-size: 24px;
	}
	#review-section .verdict a:hover,
	#review-summary .verdict a:hover,
	#community-members-rating-summary .verdict a:hover {
		color: var(--primary-green-darker);
	}
	#review-summary .verdict a,
	#community-members-rating-summary .verdict a {
		transition: var(--transition-base);
	}
	#review-summary .verdict a:hover,
	#community-members-rating-summary .verdict a:hover {
		color: var(--text-hover);
		transition: var(--transition-base);
	}
	#review-section ul li,
	.wp-block-list li {
		margin-bottom: 1rem;
	}
	.review-summary-container .divider {
		height: 100%;
		width: 1px;
	}
	#review-summary,
	#community-members-rating-summary {
		width: 50%;
	}
	.post-content blockquote.wp-block-quote p {
		font-size: 24px;
	}
}
/* Newsletter consent checkbox in CMR modal */
.form-check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}
.form-check-input {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: var(--primary-green-darker);
	flex-shrink: 0;
	margin-top: 0.1rem !important;
	appearance: checkbox;
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	border: 1px solid var(--border1);
	border-radius: 2px;
	background-color: var(--bg3);
}
.form-check-input:checked {
	background-color: var(--primary-green-darker);
	border-color: var(--primary-green-darker);
}
.form-check-label {
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
	color: var(--text1);
	font-weight: 400;
	margin-bottom: 0;
}