/* Review summary and public comments load with the detail page. */
.review-notice { background-color: #1c2427; color: #85afbc; margin: 10px 0 15px; font-size: 14px; padding: 7px 12px; line-height: 1.4em; }
#review-base { margin-top: 15px; position: relative; }
.review-head { margin: 0 0 15px; display: flex; align-items: center; color: #dddddd; }
.review-sec-title { flex: 1 1 0%; margin-left: 5px; }
.r-count { color: var(--muted); margin-left: 5px; }
.public-review { border-top: 1px solid #404040; padding: 15px 0; overflow-wrap: anywhere; }
.public-review p { margin: 8px 0; color: #bcbcbc; }
.review-meta { display: flex; justify-content: space-between; gap: 10px; color: #a5c4ec; }
.review-meta time { font-size: 13px; color: var(--muted); }

#review-form { padding: 0 0 20px; border-bottom: 1px solid #404040; }
#review-form h3, .review-list-title { font-size: 16px; font-weight: 500; margin: 16px 0 8px; }
.review-help, #review-status, .review-label span { font-size: 13px; color: var(--muted); }
#review-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
#review-form legend { font-size: 13px; }
.review-stars { display: flex; gap: 3px; margin: 4px 0 12px; }
.review-stars label { position: relative; display: grid; place-items: center; width: 40px; height: 40px; font-size: 30px; color: #888; cursor: pointer; }
.review-stars input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.review-stars label.active { color: #e6b450; }
.review-stars label:focus-within { outline: 2px solid #569ece; border-radius: 3px; }
.review-label { display: block; font-size: 14px; margin-bottom: 6px; }
#review-content { display: block; box-sizing: border-box; width: 100%; min-height: 86px; resize: vertical; padding: 9px; border: 1px solid #626262; border-radius: 3px; background: #202020; color: #ddd; font: inherit; font-size: 14px; }
#review-form button { margin-top: 10px; padding: 8px 16px; border: 1px solid #526568; border-radius: 3px; background: #253436; color: #bbdbdf; font: inherit; font-size: 14px; cursor: pointer; }
#review-form fieldset:disabled { opacity: .5; }
#review-status { margin: 10px 0 0; }
#review-status:empty { display: none; }
#review-status.review-error { color: #ff9797; }
.review-empty { color: var(--muted); margin: 12px 0; text-align: center; }
@media (max-width: 550px) {
  .review-help, #review-status, .review-label span, #review-form legend { font-size: 14px; }
  .review-stars label { width: 44px; height: 44px; }
  #review-content { font-size: 16px; line-height: 1.5; }
  #review-form button { min-height: 44px; }
}
:root[data-theme="light"] #review-form { border-color: #c5d0d8; }
:root[data-theme="light"] .review-stars label { color: #c3cdd4; }
:root[data-theme="light"] .review-stars label.active { color: #a96b00; }
:root[data-theme="light"] #review-content { background: #fff; color: #354450; border-color: #acbcc7; }
:root[data-theme="light"] #review-form button { background: #edf4f7; color: #22667b; border-color: #acbcc7; }
:root[data-theme="light"] #review-status.review-error { color: #b42318; }
