/* Smart Product Review 2.1.1 — Compact, accessible Material 3 layout.
   Scope every rule to plugin-owned UI; GreenMart controls remain unchanged. */
.sprw-m3-modal {
  --sprw-m3-state-hover: rgba(56,106,32,.075);
  --sprw-m3-state-pressed: rgba(56,106,32,.16);
  padding: 14px !important;
  align-items: center !important;
  justify-items: center !important;
}
.sprw-m3-modal .sprw-m3-backdrop {backdrop-filter:blur(2px);}
.sprw-m3-modal .sprw-m3-dialog {
  width: min(100%, 480px) !important;
  max-width: 480px !important;
  max-height: min(80dvh, 680px) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 32px rgba(10,22,8,.25) !important;
}
.sprw-m3-modal .sprw-m3-header {
  gap:10px !important;
  padding: 13px 18px 12px !important;
  min-height: 62px;
}
.sprw-m3-modal .sprw-m3-heading-group {min-width:0; flex:1;}
.sprw-m3-modal .sprw-m3-eyebrow {
  font-size: 10px !important;
  line-height: 1.3 !important;
  letter-spacing: .4px !important;
  margin: 0 0 2px !important;
}
.sprw-m3-modal h2 {font-size: 18px !important; line-height: 1.3 !important; overflow-wrap:anywhere;}
.sprw-m3-modal .sprw-m3-icon-button {
  width:34px !important; height:34px !important; min-height:34px !important;
  flex:0 0 34px !important; font-size:22px !important; line-height:1 !important;
  margin:0 !important; transition: background .15s ease,transform .15s ease !important;
}
.sprw-m3-modal .sprw-m3-dialog-body {
  min-height:0; padding: 16px 18px 18px !important;
  scrollbar-gutter: stable;
  font-size:13px;
}
.sprw-m3-modal #respond form.sprw-m3-form {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:12px !important;row-gap:12px !important;
  align-items:start;
}
.sprw-m3-modal form.sprw-m3-form > * {min-width:0;grid-column:1 / -1;margin-block:0 !important;}
.sprw-m3-modal form.sprw-m3-form > .comment-form-author {grid-column:1;}
.sprw-m3-modal form.sprw-m3-form > .comment-form-email {grid-column:2;}
.sprw-m3-modal .sprw-input-wrap {
  margin:7px 0 0 !important;
  padding:0 !important;
  min-width:0;
}
.sprw-m3-modal .sprw-input-wrap > label,
.sprw-m3-modal .sprw-review-title > label,
.sprw-m3-modal .comment-form-comment > label,
.sprw-m3-modal .comment-form-rating > label {
  top:-8px !important;
  left:10px !important;
  max-width:calc(100% - 20px) !important;
  overflow:hidden;text-overflow:ellipsis;
  padding: 0 4px !important;
  font-size:11px !important;line-height:17px !important;
}
.sprw-m3-modal input[type='text']:not(.sprw-uploaded-files):not(.sprw-uploaded-profile),
.sprw-m3-modal input[type='email'],.sprw-m3-modal input[type='url'],
.sprw-m3-modal input[type='number'],.sprw-m3-modal input[type='tel'],
.sprw-m3-modal input[type='password'],.sprw-m3-modal textarea,
.sprw-m3-modal select,.sprw-m3-modal .ui.selection.dropdown {
  min-height:44px !important;
  height:auto;
  padding:10px 12px !important;
  font:400 13px/1.45 Roboto,Arial,sans-serif !important;
  border-radius:6px !important;
  max-width:100% !important;
}
.sprw-m3-modal textarea {min-height:90px !important;max-height:220px !important;resize:vertical;}
.sprw-m3-modal input:focus:not([type='checkbox']):not([type='radio']):not([type='hidden']),
.sprw-m3-modal textarea:focus,.sprw-m3-modal select:focus,
.sprw-m3-modal .ui.selection.dropdown:focus-within {
  border:2px solid var(--sprw-m3-primary) !important;
  padding:9px 11px !important;
}
/* Explicit input hover/active/focus feedback; avoid changing validation or names. */
@media (hover:hover) {
  .sprw-m3-modal input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='submit']):hover:not(:disabled),
  .sprw-m3-modal textarea:hover:not(:disabled),
  .sprw-m3-modal select:hover:not(:disabled),
  .sprw-m3-modal .ui.selection.dropdown:hover:not(.disabled) {
    border-color:var(--sprw-m3-on-surface-variant) !important;
    background:var(--sprw-m3-state-hover) !important;
  }
  .sprw-m3-modal input[type='checkbox']:hover:not(:disabled),
  .sprw-m3-modal input[type='radio']:hover:not(:disabled) {box-shadow:0 0 0 6px var(--sprw-m3-state-hover) !important;}
}
.sprw-m3-modal input:disabled,.sprw-m3-modal select:disabled,
.sprw-m3-modal button:disabled {cursor:not-allowed !important;opacity:.55 !important;}
.sprw-m3-modal .sprw-review-checkbox,
.sprw-m3-modal .sprw-review-radio,
.sprw-m3-modal .sprw-gdpr-wrap {font-size:12px !important;margin:2px 0 !important;}
.sprw-m3-modal .sprw-gdpr-wrap label,.sprw-m3-modal .sprw-opt-label,
.sprw-m3-modal .sprw-review-checkbox label {font-size:12px !important;line-height:1.45 !important;}
.sprw-m3-modal input[type='checkbox'],.sprw-m3-modal input[type='radio'] {
  width:17px !important;height:17px !important;min-width:17px !important;
  min-height:17px !important;flex-basis:17px !important;
}
.sprw-m3-modal .sprw-m3-feedback {margin:0 0 12px !important;padding:9px 11px !important;font-size:12px !important;}
.sprw-m3-modal .sprw-review-checkbox .sprw-label-wrapper,
.sprw-m3-modal .sprw-review-radio .sprw-label-wrapper {gap:7px 12px !important;}
.sprw-m3-modal .sprw-file-preview,.sprw-m3-modal .sprw-profile-preview {gap:6px !important;}
.sprw-m3-modal .sprw-pro-prev-holder,.sprw-m3-modal .sprw-profile-prev-holder {max-width:100%;}
.sprw-m3-modal .sprw-pro-prev-holder img,.sprw-m3-modal .sprw-profile-prev-holder img {max-width:88px;max-height:88px;object-fit:cover;}
.sprw-m3-modal .sprw-pro-prev-holder video {max-width:100%;max-height:140px;}
.sprw-m3-modal #respond .form-submit {justify-content:flex-end;margin:0 !important;padding-top:2px;}
.sprw-m3-modal #respond .form-submit input[type='submit'],
.sprw-m3-modal #submit {
  min-height:38px !important;
  height:auto !important;
  padding:8px 18px !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
.sprw-m3-modal .qq-upload-button,
.sprw-m3-modal .button,
.sprw-m3-modal button:not(.sprw-m3-rating-star):not(.sprw-m3-icon-button) {
  min-height:36px !important;
  padding:7px 14px !important;
  font-size:12px !important;
  gap:6px !important;
}
.sprw-m3-modal .sprw-m3-icon-button:hover,
.sprw-m3-modal .sprw-m3-icon-button:focus-visible {background:var(--sprw-m3-state-hover) !important;color:var(--sprw-m3-primary) !important;}
.sprw-m3-modal .sprw-m3-icon-button:active {transform:scale(.93);background:var(--sprw-m3-state-pressed) !important;}
.sprw-m3-modal #submit:hover:not(:disabled),
.sprw-m3-modal #respond .form-submit input[type='submit']:hover:not(:disabled) {background:#275515 !important;color:#fff !important;box-shadow:0 2px 6px #0002 !important;}
.sprw-m3-modal #submit:active:not(:disabled) {transform:translateY(1px);filter:brightness(.94);}
.sprw-m3-modal .qq-upload-button:hover,.sprw-m3-modal .button:hover,
.sprw-m3-modal .ui.dropdown .menu>.item:hover {background:var(--sprw-m3-state-hover) !important;}
.sprw-m3-modal .ui.dropdown .menu>.item {padding:8px 10px !important;min-height:34px !important;font-size:12px !important;}
.sprw-m3-modal .ui.dropdown .menu>.item:focus-visible {background:var(--sprw-m3-primary-container) !important;outline:2px solid var(--sprw-m3-primary);outline-offset:-2px;}
/* Rating lives in a compact, keyboard-operable widget. Keep the select in the DOM
   so the unchanged WooCommerce / Smart Review backend receives the same value. */
.sprw-m3-modal .sprw-m3-rating-ready > label {
  position:static !important;display:block !important;
  background:none !important;padding:0 !important;margin:0 0 3px !important;
  max-width:100% !important;transform:none !important;
  font-size:12px !important;line-height:1.4 !important;
}
.sprw-m3-modal .sprw-m3-rating-ready {margin:0 !important;}
.sprw-m3-modal .sprw-m3-rating-ready > select[name='rating'] {
  /* visually hidden, never display:none: keyboard star controls replace its UI */
  position:absolute !important;width:1px !important;height:1px !important;min-height:0 !important;
  padding:0 !important;margin:0 !important;border:0 !important;clip-path:inset(50%);
  overflow:hidden !important;opacity:0 !important;pointer-events:none !important;
}
.sprw-m3-modal .sprw-m3-rating-ready p.stars {display:none !important;}
.sprw-m3-modal .sprw-m3-stars {display:flex;flex-wrap:wrap;align-items:center;gap:2px !important;margin:0 !important;min-height:34px;}
.sprw-m3-modal .sprw-m3-rating-star {
  display:inline-grid !important;place-content:center !important;
  padding:0 !important;width:33px !important;height:33px !important;
  min-height:33px !important;min-width:33px !important;flex:0 0 33px;
  border:0 !important;border-radius:50% !important;background:transparent !important;
  box-shadow:none !important;color:var(--sprw-m3-outline) !important;
  font:normal 24px/1 Arial,sans-serif !important;cursor:pointer !important;
  transition:background .12s ease,color .12s ease,transform .12s ease !important;
}
.sprw-m3-modal .sprw-m3-rating-star.is-on {color:var(--sprw-m3-primary) !important;}
.sprw-m3-modal .sprw-m3-rating-star:hover:not(:disabled),
.sprw-m3-modal .sprw-m3-rating-star:focus-visible {background:var(--sprw-m3-state-hover) !important;transform:scale(1.08);}
.sprw-m3-modal .sprw-m3-rating-star:active {background:var(--sprw-m3-state-pressed) !important;transform:scale(.96);}
.sprw-m3-modal .sprw-m3-rating-star:focus-visible {outline:2px solid var(--sprw-m3-primary) !important;outline-offset:0 !important;}
/* Review list, filter and action alignment; never touch GreenMart outside plugin UI. */
.sprw-reviews {font-size:13px !important;line-height:1.5;}
.sprw-reviews .woocommerce-Reviews-title {font-size:20px !important;line-height:1.3;margin:8px 0 14px !important;}
.sprw-reviews .sprw-rating-info-wrap {padding:12px !important;gap:10px;}
.sprw-reviews .sprw-review-top-wrapper {margin-bottom:12px !important;}
.sprw-reviews .sprw-voting-wrap {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.sprw-reviews .sprw-upvote-wrap,.sprw-reviews .sprw-downvote-wrapper {margin:0 !important;}
.sprw-reviews .sprw-commentlist {padding-inline-start:0;}
.sprw-reviews .sprw-commentlist>li {padding-block:10px;}
.sprw-reviews .sprw-top-bar-wrap,.sprw-reviews .sprw-review-top {gap:8px;align-items:center;flex-wrap:wrap;}
.sprw-reviews .sprw-filter,.sprw-reviews .sprw-sorting,
.sprw-reviews .ui.dropdown {min-height:36px !important;min-width:0;max-width:100%;font-size:12px !important;}
.sprw-reviews .ui.dropdown .menu>.item {padding:8px 12px !important;font-size:12px !important;}
.sprw-reviews .sprw-m3-open {
  min-height:38px !important;padding:8px 16px !important;
  font-size:12px !important;gap:7px !important;
}
.sprw-reviews .sprw-m3-open-icon {font-size:15px !important;line-height:1 !important;}
.sprw-reviews button:not(.sprw-m3-open),.sprw-reviews .button,
.sprw-reviews .sprw-vote-trigger,.sprw-reviews .sprw-load-more-trigger,
.sprw-reviews .sprw-inner-paginate a {min-height:34px !important;padding:7px 13px !important;font-size:12px !important;gap:6px !important;}
.sprw-reviews .sprw-vote-trigger,.sprw-reviews .sprw-image-link-wrap a,
.sprw-reviews .sprw-inner-paginate a {transition:color .15s ease,background .15s ease,box-shadow .15s ease !important;}
@media(hover:hover) {
  .sprw-reviews .sprw-m3-open:hover,
  .sprw-reviews .sprw-vote-trigger:hover,
  .sprw-reviews .sprw-load-more-trigger:hover,
  .sprw-reviews .sprw-inner-paginate a:hover,
  .sprw-reviews .sprw-image-link-wrap a:hover {box-shadow:0 2px 8px rgba(56,106,32,.15) !important;}
  .sprw-reviews a:hover {text-decoration:underline;}
  .sprw-reviews .ui.dropdown:hover {border-color:var(--sprw-m3-primary) !important;}
  .sprw-m3-modal .sprw-pro-preview-remove:hover,
  .sprw-m3-modal .sprw-profile-preview-remove:hover {background:var(--sprw-m3-state-hover);color:var(--sprw-m3-error);cursor:pointer;}
}
.sprw-m3-modal .sprw-pro-preview-remove,.sprw-m3-modal .sprw-profile-preview-remove {
  display:inline-grid;place-content:center;min-width:28px;min-height:28px;border-radius:50%;
}
.sprw-reviews a:focus-visible,.sprw-reviews button:focus-visible,
.sprw-reviews .sprw-vote-trigger:focus-visible,.sprw-reviews .ui.dropdown:focus-within,
.sprw-m3-modal .sprw-pro-preview-remove:focus-visible,
.sprw-m3-modal .sprw-profile-preview-remove:focus-visible {
  outline:2px solid var(--sprw-m3-primary) !important;outline-offset:2px !important;
}
.sprw-reviews .sprw-vote-trigger:active,
.sprw-reviews .sprw-inner-paginate a:active {transform:translateY(1px);}
/* Rating summary dropdown: the 3rd-party theme often exposes it only on :hover.
   :focus-within and focus on the rating container also support keyboard users. */
.product .sprw-rating-container:focus-within .sprw-rating-info-wrap,
.summary .sprw-rating-container:focus-within .sprw-rating-info-wrap,
.product .sprw-rating-container.sprw-m3-info-focused .sprw-rating-info-wrap,
.summary .sprw-rating-container.sprw-m3-info-focused .sprw-rating-info-wrap {
  opacity:1 !important;visibility:visible !important;
  top:calc(100% + 6px) !important;z-index:99 !important;
}
.product .sprw-rating-container .sprw-rating-info-wrap,
.summary .sprw-rating-container .sprw-rating-info-wrap {
  max-width:min(320px,calc(100vw - 24px)) !important;
  padding:14px !important;
  box-shadow:0 8px 22px #0002;
  border-radius:12px;
}
.product .sprw-rating-container:hover .sprw-rating-info-wrap,
.summary .sprw-rating-container:hover .sprw-rating-info-wrap {top:calc(100% + 6px) !important;}
@media(max-width:520px) {
  .sprw-m3-modal {padding:12px !important;align-items:center !important;}
  .sprw-m3-modal .sprw-m3-dialog {
    width:100% !important;max-width:460px !important;
    max-height:min(86dvh,700px) !important;border-radius:18px !important;
  }
  .sprw-m3-modal .sprw-m3-header {min-height:56px;padding:11px 14px !important;}
  .sprw-m3-modal .sprw-m3-dialog-body {padding:13px 14px 16px !important;scrollbar-gutter:auto;}
  .sprw-m3-modal h2 {font-size:17px !important;}
  .sprw-m3-modal #respond form.sprw-m3-form {grid-template-columns:minmax(0,1fr);row-gap:11px !important;}
  .sprw-m3-modal form.sprw-m3-form > .comment-form-author,
  .sprw-m3-modal form.sprw-m3-form > .comment-form-email {grid-column:1/-1;}
  .sprw-reviews .sprw-m3-open {width:auto !important;max-width:100%;}
}
@media(max-height:560px) {
  .sprw-m3-modal .sprw-m3-dialog {max-height:calc(100dvh - 20px) !important;}
  .sprw-m3-modal .sprw-m3-header {padding-block:9px !important;}
}
@media(prefers-reduced-motion:reduce){
  .sprw-m3-modal .sprw-m3-rating-star,
  .sprw-m3-modal .sprw-m3-icon-button,.sprw-reviews .sprw-vote-trigger {transition:none !important;transform:none !important;}
}
/* Final spacing refinements: no unused scrollbar strip, consistent icon-only star buttons. */
.sprw-m3-modal .sprw-m3-dialog-body {scrollbar-gutter:auto !important;}
.sprw-m3-modal .sprw-m3-stars > button.sprw-m3-rating-star {
  appearance:none !important;display:inline-grid !important;place-content:center !important;
  width:32px !important;height:32px !important;min-width:32px !important;
  min-height:32px !important;max-width:32px !important;flex:0 0 32px !important;
  margin:0 !important;padding:0 !important;
  border:0 !important;border-radius:50% !important;
  background:transparent !important;box-shadow:none !important;
  font:normal 23px/1 Arial,sans-serif !important;
  color:var(--sprw-m3-outline) !important;text-transform:none !important;
  letter-spacing:0 !important;
}
.sprw-m3-modal .sprw-m3-stars > button.sprw-m3-rating-star.is-on {color:var(--sprw-m3-primary) !important;}
.sprw-m3-modal .sprw-m3-stars > button.sprw-m3-rating-star:hover:not(:disabled),
.sprw-m3-modal .sprw-m3-stars > button.sprw-m3-rating-star:focus-visible {
  background:var(--sprw-m3-state-hover) !important;color:var(--sprw-m3-primary) !important;
  box-shadow:none !important;
}
.sprw-m3-modal .sprw-m3-stars > button.sprw-m3-rating-star:active {background:var(--sprw-m3-state-pressed) !important;}
/* Prevent the 6px visual gap from collapsing the rating popup on pointer transit. */
.product .sprw-rating-container.sprw-m3-info-trigger::after,
.summary .sprw-rating-container.sprw-m3-info-trigger::after {
  content:'';position:absolute;top:100%;left:0;right:0;height:8px;
  z-index:100;background:transparent;pointer-events:auto;
}
