/* ==========================================
   ULTRAKIT PRODUCT RATING & REVIEWS (WooCommerce)
   ========================================== */

.ultrakit-prt-wrapper { --prt-accent: #6c5ce7; --prt-accent2: #a29bfe; --prt-r: 18px; --prt-cols: 3; width: 100%; box-sizing: border-box; font-family: inherit; color: #1a1a2e; }
.ultrakit-prt-wrapper *, .ultrakit-prt-wrapper *::before, .ultrakit-prt-wrapper *::after { box-sizing: border-box; }
.ultrakit-prt-title { margin: 0 0 22px; font-size: 26px; font-weight: 800; color: #1a1a2e; line-height: 1.2; }

/* ---------- Summary ---------- */
.ultrakit-prt-summary { display: flex; align-items: center; gap: 44px; padding: 30px 34px; margin-bottom: 30px; background: #ffffff; border: 1.5px solid #ececf4; border-radius: var(--prt-r); box-shadow: 0 10px 34px rgba(20,20,50,0.06); }
.ultrakit-prt-score { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; }
.ultrakit-prt-num { font-size: 68px; font-weight: 900; line-height: 1; letter-spacing: -2px; background: linear-gradient(135deg, var(--prt-accent), var(--prt-accent2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ultrakit-prt-scoremeta { display: flex; flex-direction: column; gap: 8px; }
.ultrakit-prt-scoremeta .ukw-stars { --sz: 20px; }
.ultrakit-prt-based { font-size: 13.5px; font-weight: 600; color: #6b6b85; }

.ultrakit-prt-bars { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 9px; }
.ultrakit-prt-bar { display: flex; align-items: center; gap: 12px; }
.ultrakit-prt-bl { flex: 0 0 34px; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 800; color: #3a3a55; }
.ultrakit-prt-bl svg { color: var(--ukw-star, #f5a623); flex-shrink: 0; }
.ultrakit-prt-track { flex: 1; height: 9px; border-radius: 30px; background: #ececf4; overflow: hidden; }
.ultrakit-prt-fill { display: block; height: 100%; border-radius: 30px; background: linear-gradient(90deg, var(--prt-accent), var(--prt-accent2)); transition: width 1s cubic-bezier(.22,.9,.3,1); }
.ultrakit-prt-wrapper.is-prep .ultrakit-prt-fill { width: 0 !important; }
.ultrakit-prt-pct { flex: 0 0 40px; text-align: right; font-size: 12.5px; font-weight: 700; color: #6b6b85; }

/* Summary: gradient card */
.prt-sum-card .ultrakit-prt-summary { background: linear-gradient(135deg, var(--prt-accent), var(--prt-accent2)); border: 0; box-shadow: 0 20px 50px color-mix(in srgb, var(--prt-accent) 35%, transparent); }
.prt-sum-card .ultrakit-prt-num { background: none; color: #ffffff; -webkit-text-fill-color: #ffffff; }
.prt-sum-card .ultrakit-prt-based, .prt-sum-card .ultrakit-prt-bl, .prt-sum-card .ultrakit-prt-pct { color: rgba(255,255,255,0.92); }
.prt-sum-card .ultrakit-prt-bl svg { color: #ffffff; }
.prt-sum-card .ultrakit-prt-track { background: rgba(255,255,255,0.25); }
.prt-sum-card .ultrakit-prt-fill { background: #ffffff; }
.prt-sum-card .ultrakit-prt-scoremeta .ukw-stars { --ukw-star: #ffffff; }

/* Summary: compact inline */
.prt-sum-inline .ultrakit-prt-summary { display: inline-flex; padding: 14px 22px; margin-bottom: 26px; border-radius: 60px; }
.prt-sum-inline .ultrakit-prt-score { flex-direction: row; gap: 14px; }
.prt-sum-inline .ultrakit-prt-num { font-size: 34px; letter-spacing: -1px; }
.prt-sum-inline .ultrakit-prt-scoremeta { flex-direction: row; align-items: center; gap: 14px; }
.prt-sum-inline .ultrakit-prt-scoremeta .ukw-stars { --sz: 18px; }

/* Summary: big circle badge */
.prt-sum-badge .ultrakit-prt-summary { gap: 40px; }
.prt-sum-badge .ultrakit-prt-score { flex-direction: column; text-align: center; gap: 14px; }
.prt-sum-badge .ultrakit-prt-num { display: flex; align-items: center; justify-content: center; width: 132px; height: 132px; border-radius: 50%; font-size: 52px; background: linear-gradient(135deg, var(--prt-accent), var(--prt-accent2)); -webkit-background-clip: border-box; background-clip: border-box; color: #ffffff; -webkit-text-fill-color: #ffffff; box-shadow: 0 0 0 8px color-mix(in srgb, var(--prt-accent) 14%, transparent), 0 16px 36px color-mix(in srgb, var(--prt-accent) 35%, transparent); }
.prt-sum-badge .ultrakit-prt-scoremeta { align-items: center; }

/* ---------- Reviews ---------- */
.ultrakit-prt-reviews-wrap { position: relative; }
.ultrakit-prt-reviews { display: grid; grid-template-columns: repeat(var(--prt-cols), minmax(0, 1fr)); gap: 22px; }
.ultrakit-prt-review { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #ffffff; border: 1.5px solid transparent; border-radius: var(--prt-r); box-shadow: 0 8px 28px rgba(20,20,50,0.07); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.ultrakit-prt-review:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(20,20,50,0.12); }
.ultrakit-prt-rhead { display: flex; align-items: center; gap: 12px; }
.ultrakit-prt-avatar { position: relative; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, var(--prt-accent), var(--prt-accent2)); color: #ffffff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; }
.ultrakit-prt-avimg { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 50%; display: block; }
.ultrakit-prt-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ultrakit-prt-author { font-size: 15px; font-weight: 800; color: inherit; line-height: 1.2; }
.ultrakit-prt-verified { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 700; color: #00a382; }
.ultrakit-prt-verified .ukw-svg { width: 12px; height: 12px; flex-shrink: 0; }
.ultrakit-prt-date { font-size: 12px; font-weight: 600; color: #8a8aa3; white-space: nowrap; }
.ultrakit-prt-review .ukw-stars { --sz: 16px; }
.ultrakit-prt-text { margin: 0; font-size: 14.5px; line-height: 1.7; color: #4a4a65; }
.ultrakit-prt-prod { margin-top: auto; align-self: flex-start; padding: 4px 11px; border-radius: 30px; background: color-mix(in srgb, var(--prt-accent) 10%, #ffffff); color: var(--prt-accent); font-size: 11.5px; font-weight: 800; }

/* Card styles */
.prt-card-border .ultrakit-prt-review { border-color: #e2e2ee; box-shadow: none; }
.prt-card-border .ultrakit-prt-review:hover { border-color: var(--prt-accent); box-shadow: 0 12px 30px rgba(20,20,50,0.08); }
.prt-card-tint .ultrakit-prt-review { background: color-mix(in srgb, var(--prt-accent) 7%, #ffffff); box-shadow: none; }
.prt-card-quote .ultrakit-prt-review { padding-top: 46px; }
.prt-card-quote .ultrakit-prt-review::before { content: "\201C"; position: absolute; top: 8px; left: 20px; font-family: Georgia, serif; font-size: 76px; line-height: 1; color: var(--prt-accent); opacity: 0.22; }
.prt-card-dark .ultrakit-prt-review { background: #1c1c33; box-shadow: 0 12px 34px rgba(10,10,30,0.3); }
.prt-card-dark .ultrakit-prt-author { color: #ffffff; }
.prt-card-dark .ultrakit-prt-text { color: #c4c4dc; }
.prt-card-dark .ultrakit-prt-date { color: #8f8fb0; }
.prt-card-dark .ultrakit-prt-prod { background: rgba(255,255,255,0.1); color: #d8d4ff; }
.prt-card-dark .ukw-stars { background: linear-gradient(90deg, var(--ukw-star, #f5a623) calc(var(--r, 0) / 5 * 100%), #44446a 0); }

/* Layouts */
.prt-lay-list .ultrakit-prt-reviews { grid-template-columns: 1fr; gap: 16px; }
.prt-lay-list .ultrakit-prt-review { flex-direction: column; }
.prt-lay-masonry .ultrakit-prt-reviews { display: block; column-count: var(--prt-cols); column-gap: 22px; }
.prt-lay-masonry .ultrakit-prt-review { break-inside: avoid; margin-bottom: 22px; }
.prt-lay-slider .ultrakit-prt-reviews { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 14px 4px 26px; margin: -14px -4px -26px; }
.prt-lay-slider .ultrakit-prt-reviews::-webkit-scrollbar { display: none; }
.prt-lay-slider .ultrakit-prt-review { flex: 0 0 calc((100% - (var(--prt-cols) - 1) * 20px) / var(--prt-cols)); scroll-snap-align: start; }
.ultrakit-prt-nav { position: absolute; top: 50%; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; box-sizing: border-box; background: #ffffff; color: #1a1a2e !important; border: 0; border-radius: 50%; box-shadow: 0 8px 24px rgba(20,20,50,0.18); cursor: pointer; transform: translateY(-50%); transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease; }
.ultrakit-prt-nav:hover { background: var(--prt-accent); color: #ffffff !important; }
.ultrakit-prt-nav.is-prev { left: -16px; }
.ultrakit-prt-nav.is-next { right: -16px; }
.ultrakit-prt-nav:disabled { opacity: 0.35; pointer-events: none; }
.ultrakit-prt-nav .ukw-svg { width: 18px; height: 18px; }

@media (max-width: 767px) {
	.ultrakit-prt-summary { flex-direction: column; align-items: stretch; gap: 26px; padding: 24px 20px; }
	.ultrakit-prt-score { justify-content: center; }
	.prt-sum-inline .ultrakit-prt-summary { display: flex; border-radius: 24px; }
	.prt-sum-inline .ultrakit-prt-score, .prt-sum-inline .ultrakit-prt-scoremeta { flex-wrap: wrap; justify-content: center; }
	.ultrakit-prt-nav.is-prev { left: 4px; }
	.ultrakit-prt-nav.is-next { right: 4px; }
}

.prt-sum-card .ultrakit-prt-scoremeta .ukw-stars { background: linear-gradient(90deg, #ffffff calc(var(--r, 0) / 5 * 100%), rgba(255,255,255,0.35) 0); }
