/* Dazzel Beadz Photo Reviews */
.dzpr-wrap,
.dzpr-form-wrap {
	--dzpr-green: #1f4a32;
	--dzpr-green-dark: #17381f;
	--dzpr-star: #e0a52b;
	--dzpr-line: #e6e6e6;
	--dzpr-muted: #6b6b6b;
	--dzpr-radius: 10px;
	font-family: inherit;
	color: #191919;
	box-sizing: border-box;
}

.dzpr-wrap *,
.dzpr-form-wrap * {
	box-sizing: border-box;
}

.dzpr-title {
	text-align: center;
	margin: 0 0 24px;
}

/* ---------- summary ---------- */
.dzpr-summary {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
	padding: 18px 20px;
	margin-bottom: 28px;
	border: 1px solid var(--dzpr-line);
	border-radius: var(--dzpr-radius);
	background: #fafafa;
}

.dzpr-avg {
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	color: var(--dzpr-green);
}

.dzpr-count {
	color: var(--dzpr-muted);
	font-size: 14px;
}

/* ---------- stars ---------- */
.dzpr-rating {
	display: inline-flex;
	gap: 2px;
	font-size: 18px;
	line-height: 1;
	color: #d8d8d8;
}

.dzpr-rating .on {
	color: var(--dzpr-star);
}

/* ---------- grid ---------- */
.dzpr-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dzpr-cols-1 { grid-template-columns: minmax(0, 1fr); }
.dzpr-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dzpr-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 900px) {
	.dzpr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.dzpr-grid { grid-template-columns: minmax(0, 1fr); }
}

.dzpr-card {
	border: 1px solid var(--dzpr-line);
	border-radius: var(--dzpr-radius);
	padding: 18px;
	background: #fff;
}

.dzpr-card-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.dzpr-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--dzpr-green);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	flex: 0 0 38px;
}

.dzpr-name { font-weight: 600; }

.dzpr-date {
	font-size: 12px;
	color: var(--dzpr-muted);
}

.dzpr-text {
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.6;
}

.dzpr-text p { margin: 0 0 8px; }

.dzpr-empty {
	text-align: center;
	color: var(--dzpr-muted);
}

/* ---------- thumbs ---------- */
.dzpr-thumbs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.dzpr-thumb {
	display: block;
	width: 78px;
	height: 78px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--dzpr-line);
}

.dzpr-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .2s ease;
}

.dzpr-thumb:hover img { transform: scale(1.06); }

/* ---------- cta ---------- */
.dzpr-cta {
	text-align: center;
	margin: 28px 0 0;
}

.dzpr-wrap button.dzpr-toggle,
.dzpr-form button.dzpr-submit,
.dzpr-toggle,
.dzpr-submit {
	background: #1f4a32 !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 14px 28px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	width: auto !important;
	min-width: 0 !important;
	display: inline-block !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .2s ease;
}

.dzpr-wrap button.dzpr-toggle:hover,
.dzpr-form button.dzpr-submit:hover,
.dzpr-toggle:hover,
.dzpr-submit:hover {
	background: #17381f !important;
	color: #fff !important;
}

.dzpr-submit[disabled] { opacity: .65; }

.dzpr-form-collapsed { display: none; margin-top: 24px; }
.dzpr-form-collapsed.is-open { display: block; }

/* ---------- form ---------- */
.dzpr-form {
	border: 1px solid var(--dzpr-line);
	border-radius: var(--dzpr-radius);
	padding: 24px;
	background: #fff;
	max-width: 720px;
	margin: 0 auto;
}

.dzpr-form-title { margin: 0 0 16px; }

.dzpr-field { margin-bottom: 16px; }

.dzpr-row {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 600px) {
	.dzpr-row { grid-template-columns: minmax(0, 1fr); }
}

.dzpr-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 6px;
}

.dzpr-req { color: #c0392b; }

.dzpr-form input[type="text"],
.dzpr-form input[type="email"],
.dzpr-form textarea {
	width: 100% !important;
	padding: 11px 13px !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-family: inherit;
	background: #fff !important;
	color: #191919 !important;
	box-shadow: none !important;
}

.dzpr-form input:focus,
.dzpr-form textarea:focus {
	outline: 0;
	border-color: var(--dzpr-green);
	box-shadow: 0 0 0 2px rgba(31, 74, 50, .12);
}

/* star input (reverse order for CSS sibling hover) */
.dzpr-stars {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 4px;
}

.dzpr-star-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.dzpr-star {
	font-size: 30px;
	line-height: 1;
	color: #d8d8d8;
	cursor: pointer;
	transition: color .15s ease;
}

.dzpr-stars:hover .dzpr-star:hover,
.dzpr-stars:hover .dzpr-star:hover ~ .dzpr-star,
.dzpr-star-input:checked ~ .dzpr-star,
.dzpr-star-input:checked + .dzpr-star {
	color: var(--dzpr-star);
}

.dzpr-star-input:focus-visible + .dzpr-star {
	outline: 2px solid var(--dzpr-green);
	outline-offset: 2px;
}

/* upload */
.dzpr-upload {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1px dashed #b7b7b7;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	background: #fafafa;
}

.dzpr-upload:hover { border-color: var(--dzpr-green); }

.dzpr-upload input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.dzpr-upload-icon { font-size: 17px; }

.dzpr-preview {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.dzpr-preview img {
	width: 78px;
	height: 78px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--dzpr-line);
}

.dzpr-hint {
	font-size: 12px;
	color: var(--dzpr-muted);
	margin: 8px 0 0;
}

.dzpr-hp {
	position: absolute !important;
	left: -9999px !important;
	height: 1px;
	overflow: hidden;
}

/* notices */
.dzpr-notice {
	padding: 13px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 15px;
}

.dzpr-success {
	background: #eaf5ee;
	border: 1px solid #bcdfc8;
	color: #1f4a32;
}

.dzpr-error {
	background: #fdecea;
	border: 1px solid #f5c2bd;
	color: #8b2a1f;
}

/* lightbox */
.dzpr-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .85);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 30px;
}

.dzpr-lightbox[hidden] { display: none; }

.dzpr-lightbox img {
	max-width: 92vw;
	max-height: 88vh;
	border-radius: 8px;
}

.dzpr-lb-close {
	position: absolute;
	top: 16px;
	right: 22px;
	background: none;
	border: 0;
	color: #fff;
	font-size: 40px;
	line-height: 1;
	cursor: pointer;
}

/* ---- theme-override guards ---- */
.dzpr-wrap .dzpr-rating .dzpr-s { color: #d8d8d8 !important; }
.dzpr-wrap .dzpr-rating .dzpr-s.on { color: #e0a52b !important; }
.dzpr-form .dzpr-star { color: #d8d8d8 !important; }
.dzpr-form .dzpr-stars:hover .dzpr-star:hover,
.dzpr-form .dzpr-stars:hover .dzpr-star:hover ~ .dzpr-star,
.dzpr-form .dzpr-star-input:checked ~ .dzpr-star,
.dzpr-form .dzpr-star-input:checked + .dzpr-star { color: #e0a52b !important; }
.dzpr-wrap .dzpr-card,
.dzpr-form-wrap .dzpr-form { background: #fff !important; }
.dzpr-wrap .dzpr-avatar { color: #fff !important; background: #1f4a32 !important; }
.dzpr-upload { color: #191919 !important; }
