/* PlexRate – Frontend Stylesheet */
.plexrate-wrap,
.srs-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	font-family: inherit;
	margin: 14px 0;
	box-sizing: border-box;
}
.plexrate-wrap.plexrate-align-center,
.plexrate-wrap.srs-align-center,
.srs-wrap.plexrate-align-center,
.srs-wrap.srs-align-center { display: block; text-align: center; }
.plexrate-wrap.plexrate-align-center .plexrate-review-text,
.plexrate-wrap.plexrate-align-center .srs-review-text,
.srs-wrap.srs-align-center .srs-review-text,
.plexrate-wrap.plexrate-align-center .plexrate-msg,
.plexrate-wrap.plexrate-align-center .srs-msg,
.srs-wrap.srs-align-center .srs-msg {
	margin-left: auto;
	margin-right: auto;
}

.plexrate-wrap.plexrate-align-right,
.plexrate-wrap.srs-align-right,
.srs-wrap.plexrate-align-right,
.srs-wrap.srs-align-right { display: block; text-align: right; }
.plexrate-wrap.plexrate-align-right .plexrate-review-text,
.plexrate-wrap.plexrate-align-right .srs-review-text,
.srs-wrap.srs-align-right .srs-review-text,
.plexrate-wrap.plexrate-align-right .plexrate-msg,
.plexrate-wrap.plexrate-align-right .srs-msg,
.srs-wrap.srs-align-right .srs-msg {
	margin-left: auto;
	margin-right: 0;
}

.plexrate-wrap.plexrate-align-left,
.plexrate-wrap.srs-align-left,
.srs-wrap.plexrate-align-left,
.srs-wrap.srs-align-left { display: block; text-align: left; }
.plexrate-wrap.plexrate-align-left .plexrate-review-text,
.plexrate-wrap.plexrate-align-left .srs-review-text,
.srs-wrap.srs-align-left .srs-review-text,
.plexrate-wrap.plexrate-align-left .plexrate-msg,
.plexrate-wrap.plexrate-align-left .srs-msg,
.srs-wrap.srs-align-left .srs-msg {
	margin-left: 0;
	margin-right: auto;
}
.plexrate-wrap.plexrate-rtl .plexrate-icons,
.plexrate-wrap.srs-rtl .srs-icons,
.srs-wrap.srs-rtl .srs-icons { direction: rtl; }

.plexrate-greeting,
.srs-greeting {
	font-size: 14px;
	color: #475569;
	margin-bottom: 6px;
	font-weight: 500;
}

.plexrate-icons,
.srs-icons {
	font-size: var(--plexrate-size, var(--srs-size, 28px));
	line-height: 1;
	letter-spacing: var(--plexrate-gap, var(--srs-gap, 2px));
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: var(--plexrate-gap, var(--srs-gap, 2px));
}

.plexrate-icon,
.srs-icon {
	color: var(--plexrate-color-empty, var(--srs-color-empty, #cbd5e1));
	transition: color 0.15s ease, transform 0.15s ease;
	user-select: none;
}

.plexrate-icon:hover,
.srs-icon:hover {
	transform: scale(1.15);
}

.plexrate-icon.plexrate-hover,
.plexrate-icon.srs-hover,
.srs-icon.plexrate-hover,
.srs-icon.srs-hover,
.plexrate-icon.plexrate-voted,
.plexrate-icon.srs-voted,
.srs-icon.plexrate-voted,
.srs-icon.srs-voted {
	color: var(--plexrate-color, var(--srs-color, #f5a623));
}

.plexrate-shape-heart .plexrate-icon { filter: grayscale(1); }
.plexrate-shape-thumb .plexrate-icon,
.plexrate-shape-emoji .plexrate-icon { filter: grayscale(1); opacity: 0.4; }
.plexrate-shape-heart .plexrate-icon.plexrate-hover,
.plexrate-shape-heart .plexrate-icon.plexrate-voted,
.plexrate-shape-thumb .plexrate-icon.plexrate-hover,
.plexrate-shape-thumb .plexrate-icon.plexrate-voted,
.plexrate-shape-emoji .plexrate-icon.plexrate-hover,
.plexrate-shape-emoji .plexrate-icon.plexrate-voted { filter: none; opacity: 1; }

.plexrate-wrap[data-voted="1"] .plexrate-icons,
.plexrate-wrap[data-voted="1"] .srs-icons,
.srs-wrap[data-voted="1"] .srs-icons,
.plexrate-wrap[data-disabled="1"] .plexrate-icons,
.plexrate-wrap[data-disabled="1"] .srs-icons,
.srs-wrap[data-disabled="1"] .srs-icons {
	cursor: default;
}
.plexrate-wrap[data-voted="1"] .plexrate-icon:hover,
.plexrate-wrap[data-voted="1"] .srs-icon:hover,
.srs-wrap[data-voted="1"] .srs-icon:hover,
.plexrate-wrap[data-disabled="1"] .plexrate-icon:hover,
.plexrate-wrap[data-disabled="1"] .srs-icon:hover,
.srs-wrap[data-disabled="1"] .srs-icon:hover {
	transform: none;
}

.plexrate-meta,
.srs-meta {
	font-size: 13px;
	color: #64748b;
	margin-top: 6px;
	font-weight: 500;
}

.plexrate-msg,
.srs-msg {
	font-size: 13px;
	color: #16a34a;
	margin-top: 6px;
	max-width: 100%;
	padding: 8px 14px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 6px;
	box-sizing: border-box;
}

.plexrate-msg button,
.srs-msg button {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	text-decoration: none !important;
	letter-spacing: normal !important;
	text-shadow: none !important;
	box-shadow: none !important;
	outline: none !important;
	height: auto !important;
	min-height: 28px !important;
	padding: 4px 14px !important;
	margin-top: 4px !important;
	margin-bottom: 4px !important;
	margin-left: 6px !important;
	cursor: pointer !important;
	border-radius: 4px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	vertical-align: middle !important;
}

.plexrate-msg button.plexrate-neg-proceed,
.plexrate-msg button.srs-neg-proceed,
.srs-msg button.srs-neg-proceed {
	background-color: #dc2626 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 1px solid #b91c1c !important;
}

.plexrate-msg button.plexrate-neg-proceed:hover,
.plexrate-msg button.srs-neg-proceed:hover,
.srs-msg button.srs-neg-proceed:hover {
	background-color: #b91c1c !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.plexrate-msg button.plexrate-neg-cancel,
.plexrate-msg button.srs-neg-cancel,
.srs-msg button.srs-neg-cancel {
	background-color: #475569 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 1px solid #334155 !important;
}

.plexrate-msg button.plexrate-neg-cancel:hover,
.plexrate-msg button.srs-neg-cancel:hover,
.srs-msg button.srs-neg-cancel:hover {
	background-color: #334155 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.plexrate-review-text,
.srs-review-text {
	display: block;
	margin-top: 8px;
	width: 100%;
	max-width: 500px;
	font-size: 13.5px;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	box-sizing: border-box;
}

.plexrate-submit-review,
.srs-submit-review {
	margin-top: 8px;
	background: #2563eb;
	color: #ffffff;
	border: none;
	padding: 8px 18px;
	border-radius: 6px;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
}

/* Front-End Reviews Display Grid [plexrate_reviews] */
.plexrate-reviews-grid,
.srs-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
	margin: 20px 0;
	width: 100%;
	box-sizing: border-box;
}

.plexrate-review-card,
.srs-review-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 18px 22px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.03);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.plexrate-review-card-header,
.srs-review-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.plexrate-review-stars,
.srs-review-stars {
	color: #f5a623;
	font-size: 16px;
	letter-spacing: 1px;
}

.plexrate-review-date,
.srs-review-date {
	font-size: 12px;
	color: #94a3b8;
}

.plexrate-review-body,
.srs-review-body {
	font-size: 14px;
	color: #334155;
	line-height: 1.5;
}

.plexrate-review-author,
.srs-review-author {
	font-size: 12.5px;
	color: #64748b;
	font-weight: 600;
}