/* PlayPal – seller reviews UI. Loaded on every theme (incl. the Dokan store page). */

/* --- read-only star display --- */
.pp-stars {
	display: inline-flex;
	gap: 1px;
	line-height: 1;
	vertical-align: middle;
	font-size: 1rem;
	letter-spacing: 1px;
}
.pp-star { color: #d7d9de; }
.pp-star.is-full { color: #f2b01e; }
.pp-star.is-half {
	background: linear-gradient(90deg, #f2b01e 50%, #d7d9de 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.pp-stars__count {
	font-size: .85em;
	color: #6b7078;
	vertical-align: middle;
}

/* --- interactive star picker --- */
.pp-starpick {
	border: 0;
	padding: 0;
	margin: 0 0 .75rem;
}
.pp-starpick legend {
	font-weight: 600;
	font-size: .9rem;
	margin-bottom: .25rem;
	padding: 0;
}
.pp-starpick__row {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 2px;
}
.pp-starpick__row input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.pp-starpick__row label {
	cursor: pointer;
	font-size: 1.8rem;
	line-height: 1;
	color: #d7d9de;
	transition: color .1s ease;
}
.pp-starpick__row label span[aria-hidden="true"] { display: block; }
.pp-starpick__row input:checked ~ label,
.pp-starpick__row label:hover,
.pp-starpick__row label:hover ~ label {
	color: #f2b01e;
}
.pp-starpick__row input:focus-visible + label {
	outline: 2px solid #2b6cb0;
	outline-offset: 2px;
	border-radius: 2px;
}

/* --- review form --- */
.pp-review-form {
	margin: 1rem 0;
	padding: 1rem 1.1rem;
	border: 1px solid #e2e3e7;
	border-radius: 8px;
	background: #fff;
}
.pp-review-form__title { margin: 0 0 .5rem; font-size: 1.05rem; }
.pp-review-form__seller { margin: 0 0 .6rem; font-size: .9rem; color: #4a4f57; }
.pp-review-form__field { margin: 0 0 .75rem; }
.pp-review-form__field label {
	display: block;
	font-weight: 600;
	font-size: .9rem;
	margin-bottom: .25rem;
}
.pp-review-form textarea {
	width: 100%;
	max-width: 46rem;
	padding: .5rem .6rem;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	font: inherit;
	resize: vertical;
}

/* --- review list --- */
.pp-review-list {
	list-style: none;
	margin: .5rem 0 0;
	padding: 0;
	display: grid;
	gap: .9rem;
}
.pp-review {
	padding: .8rem 1rem;
	border: 1px solid #e9eaed;
	border-radius: 8px;
	background: #fff;
}
.pp-review__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	font-size: .88rem;
}
.pp-review__by { font-weight: 600; }
.pp-review__date { color: #6b7078; }
.pp-review__flag {
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .04em;
	padding: .1rem .4rem;
	border-radius: 999px;
	background: #fde8e8;
	color: #8a1c1c;
}
.pp-review__text {
	margin: .4rem 0 0;
	white-space: pre-line;
	color: #2b2f36;
}
.pp-review__order,
.pp-review__edit summary {
	margin-top: .4rem;
	font-size: .82rem;
	color: #6b7078;
}
.pp-review__edit summary { cursor: pointer; }
.pp-review__delete { margin-top: .4rem; }

/* --- store page block --- */
.pp-store-reviews {
	margin: 1rem 0 1.5rem;
	padding: 1rem 1.2rem;
	border: 1px solid #e2e3e7;
	border-radius: 10px;
	background: #fafafa;
}
.pp-store-reviews__summary {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 1rem;
}
.pp-store-reviews__summary strong { font-size: 1.15rem; }
.pp-store-reviews__title {
	margin: 1rem 0 .5rem;
	font-size: 1.05rem;
}
.pp-store-reviews__none { color: #6b7078; }
.pp-store-rating { margin-left: .5rem; white-space: nowrap; }
.pp-store-rating__num { font-weight: 600; }

/* --- product-page seller box --- */
.pp-sellerbox__rating {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin: .25rem 0;
}
.pp-sellerbox__rating--none { color: #6b7078; font-size: .88rem; }
.pp-sellerbox__ratingnum { font-weight: 600; }
.pp-sellerbox__link { margin: .4rem 0 0; font-size: .88rem; }

/* --- order thank-you / view-order prompt --- */
.pp-review-prompt {
	margin: 1.5rem 0;
	padding: 1rem 1.2rem;
	border: 1px solid #e2e3e7;
	border-left: 3px solid #f2b01e;
	border-radius: 8px;
	background: #fffdf5;
}
.pp-review-prompt--done { border-left-color: #3a9b56; background: #f4fbf6; }

/* --- account endpoint --- */
.pp-account-reviews h2 { margin: 1.4rem 0 .6rem; }
.pp-account-reviews h2:first-child { margin-top: 0; }

/* buttons – zero-specificity fallback so the active theme's .pp-btn always wins */
:where(.pp-review-form, .pp-review-prompt, .pp-account-reviews) .pp-btn {
	display: inline-block;
	padding: .5rem .9rem;
	border: 0;
	border-radius: 6px;
	background: #1f2937;
	color: #fff;
	font: inherit;
	cursor: pointer;
	text-decoration: none;
}
:where(.pp-review-form, .pp-review-prompt, .pp-account-reviews) .pp-btn--primary { background: #2b6cb0; }
.pp-btn--link {
	background: none;
	border: 0;
	padding: 0;
	color: #b02121;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}
.pp-btn--sm { padding: .35rem .7rem; font-size: .85rem; }

/* --- report control --- */
.pp-report { margin: .5rem 0 0; font-size: .85rem; }
.pp-report__toggle {
	cursor: pointer;
	color: #6b7078;
	text-decoration: underline;
	list-style: none;
	display: inline-block;
}
.pp-report__toggle::-webkit-details-marker { display: none; }
.pp-report[open] .pp-report__toggle { color: #b02121; }
.pp-report__form {
	margin-top: .5rem;
	padding: .7rem .8rem;
	border: 1px solid #e4e4e0;
	border-radius: 8px;
	background: #fafafa;
	max-width: 26rem;
}
.pp-report__field { margin: 0 0 .5rem; }
.pp-report__field label {
	display: block;
	font-weight: 600;
	margin-bottom: .2rem;
}
.pp-report__form select,
.pp-report__form textarea {
	width: 100%;
	padding: .4rem .5rem;
	border: 1px solid #ccd0d4;
	border-radius: 6px;
	font: inherit;
}
.pp-report--done { color: #3a7d4f; }
.pp-sellerbox .pp-report { margin-top: .75rem; }
