/**
 * Product Reviews Widget – Elementor
 * Matches DeviceDetailPwD Reviews tab (light/dark).
 */

/* ---- Container ---- */
.product-reviews-widget {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  outline: none;
}

/* ---- Card (Write a Review + each review item) ---- */
.prw-card {
  background-color: #ffffff;
  color: oklch(0.145 0 0);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.625rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dark .product-reviews-widget .prw-card,
.product-reviews-widget.dark .prw-card {
  background-color: #1e1e1e;
  color: #f5f5f5;
  border-color: #3a3a3a;
}

/* ---- Card header ---- */
.prw-card-header {
  display: grid;
  gap: 0.375rem;
  padding: 1.5rem 1.5rem 0;
}

.prw-card-title {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 600;
  margin: 0;
}

.prw-card-description {
  font-size: 0.875rem;
  color: #717182;
  margin: 0;
}

.dark .product-reviews-widget .prw-card-description,
.product-reviews-widget.dark .prw-card-description {
  color: #b8b8b8;
}

/* ---- Card content ---- */
.prw-card-content {
  padding: 0 1.5rem 1.5rem;
  margin-top: 1.5rem;
}

.prw-card-content.prw-card-content-spaced {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ---- Write form ---- */
.prw-write-card .prw-card-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prw-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.prw-label {
  font-size: 0.875rem;
  font-weight: 500;
  display: block;
  margin-bottom: 0.25rem;
}

/* Stars (form) ---- */
.prw-stars {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.prw-star-btn {
  padding: 0.25rem;
  background: none;
  border: none;
  cursor: pointer;
  color: #717182;
  transition: color 0.15s;
}

.prw-star-btn:hover {
  color: #eab308;
}

.dark .product-reviews-widget .prw-star-btn,
.product-reviews-widget.dark .prw-star-btn {
  color: #b8b8b8;
}

.dark .product-reviews-widget .prw-star-btn:hover,
.product-reviews-widget.dark .prw-star-btn:hover {
  color: #eab308;
}

.prw-star-btn.active,
.prw-star-btn[aria-pressed="true"] {
  color: #eab308;
}

.prw-star-btn.active .prw-star-svg,
.prw-star-btn[aria-pressed="true"] .prw-star-svg {
  fill: currentColor;
}

.prw-star-svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

.prw-star-btn .prw-star-svg.filled {
  fill: currentColor;
}

/* Review card stars (smaller) ---- */
.prw-review-stars .prw-star-svg {
  width: 1rem;
  height: 1rem;
}

.prw-review-stars .prw-star-svg.filled {
  fill: currentColor;
  color: #eab308;
}

.prw-review-stars .prw-star-svg.empty {
  color: #717182;
}

.dark .product-reviews-widget .prw-review-stars .prw-star-svg.empty,
.product-reviews-widget.dark .prw-review-stars .prw-star-svg.empty {
  color: #b8b8b8;
}

/* Textarea ---- */
.prw-textarea {
  width: 100%;
  min-height: 6rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: inherit;
  background-color: #f3f3f5;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  resize: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.prw-textarea::placeholder {
  color: #717182;
}

.prw-textarea:focus {
  outline: none;
  border-color: #003B7A;
  box-shadow: 0 0 0 3px rgba(0, 59, 122, 0.2);
}

.dark .product-reviews-widget .prw-textarea,
.product-reviews-widget.dark .prw-textarea {
  background-color: rgba(30, 30, 30, 0.5);
  border-color: #3a3a3a;
}

.dark .product-reviews-widget .prw-textarea::placeholder,
.product-reviews-widget.dark .prw-textarea::placeholder {
  color: #808080;
}

.dark .product-reviews-widget .prw-textarea:focus,
.product-reviews-widget.dark .prw-textarea:focus {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

/* Buttons ---- */
.prw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 0.375rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s, opacity 0.2s;
}

.prw-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.prw-btn-primary {
  background-color: #003B7A;
  color: #ffffff;
}

.prw-btn-primary:hover:not(:disabled) {
  background-color: rgba(0, 59, 122, 0.9);
}

.dark .product-reviews-widget .prw-btn-primary,
.product-reviews-widget.dark .prw-btn-primary {
  background-color: #ffffff;
  color: #003B7A;
}

.dark .product-reviews-widget .prw-btn-primary:hover:not(:disabled),
.product-reviews-widget.dark .prw-btn-primary:hover:not(:disabled) {
  background-color: rgba(255, 255, 255, 0.9);
}

.prw-btn-ghost {
  background: transparent;
  color: inherit;
}

.prw-btn-ghost:hover:not(:disabled) {
  background-color: rgba(0, 0, 0, 0.05);
}

.dark .product-reviews-widget .prw-btn-ghost:hover:not(:disabled),
.product-reviews-widget.dark .prw-btn-ghost:hover:not(:disabled) {
  background-color: rgba(255, 255, 255, 0.08);
}

.prw-form-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.prw-form-status {
  font-size: 0.875rem;
}

.prw-form-status.success {
  color: #16a34a;
}

.dark .product-reviews-widget .prw-form-status.success,
.product-reviews-widget.dark .prw-form-status.success {
  color: #4ade80;
}

.prw-form-status.error {
  color: #dc2626;
}

.dark .product-reviews-widget .prw-form-status.error,
.product-reviews-widget.dark .prw-form-status.error {
  color: #f87171;
}

/* ---- Reviews list ---- */
.prw-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prw-list-items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.prw-muted {
  color: #717182;
  font-size: 0.875rem;
  margin: 0;
}

.dark .product-reviews-widget .prw-muted,
.product-reviews-widget.dark .prw-muted {
  color: #b8b8b8;
}

.prw-error-msg {
  color: #dc2626;
  font-size: 0.875rem;
  margin: 0;
}

.dark .product-reviews-widget .prw-error-msg,
.product-reviews-widget.dark .prw-error-msg {
  color: #f87171;
}

/* Single review item ---- */
.prw-review-item .prw-card-header {
  padding-bottom: 0;
}

.prw-review-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.prw-review-user {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.prw-review-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: rgba(0, 59, 122, 0.1);
  color: #003B7A;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 600;
  flex-shrink: 0;
}

.prw-review-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.dark .product-reviews-widget .prw-review-avatar,
.product-reviews-widget.dark .prw-review-avatar {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.prw-review-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.prw-review-name {
  font-weight: 500;
  margin: 0;
}

.prw-review-rating-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.prw-review-stars {
  display: flex;
  gap: 0.125rem;
}

.prw-review-date {
  font-size: 0.875rem;
  color: #717182;
  flex-shrink: 0;
}

.dark .product-reviews-widget .prw-review-date,
.product-reviews-widget.dark .prw-review-date {
  color: #b8b8b8;
}

.prw-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 0.375rem;
  border: transparent;
  background-color: oklch(0.95 0.0058 264.53);
  color: #030213;
}

.dark .product-reviews-widget .prw-badge,
.product-reviews-widget.dark .prw-badge {
  background-color: #2a2a2a;
  color: #f5f5f5;
}

.prw-review-comment {
  font-size: 0.875rem;
  color: #717182;
  margin: 0 0 1rem;
  line-height: 1.5;
}

.dark .product-reviews-widget .prw-review-comment,
.product-reviews-widget.dark .prw-review-comment {
  color: #b8b8b8;
}

.prw-helpful-btn {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

/* Pending / rejected review states ---- */
.prw-review-item--pending .prw-review-status-notice--pending {
  font-size: 0.875rem;
  color: #717182;
  margin: 0 0 0.75rem;
}

.dark .product-reviews-widget .prw-review-item--pending .prw-review-status-notice--pending,
.product-reviews-widget.dark .prw-review-item--pending .prw-review-status-notice--pending {
  color: #b8b8b8;
}

.prw-review-rejection {
  font-size: 0.875rem;
  color: #dc2626;
  margin: 0 0 0.75rem;
  padding: 0.5rem 0.75rem;
  background-color: rgba(220, 38, 38, 0.08);
  border-radius: 0.375rem;
  border-left: 3px solid #dc2626;
}

.dark .product-reviews-widget .prw-review-rejection,
.product-reviews-widget.dark .prw-review-rejection {
  color: #f87171;
  background-color: rgba(248, 113, 113, 0.12);
  border-left-color: #f87171;
}

.prw-review-actions {
  margin-top: 0.75rem;
}

.prw-edit-review-btn {
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}
