#mx-reference-product .mxpr { color: #071a3d; }
#mx-reference-product .mxpr [hidden] { display: none !important; }
#mx-reference-product .mxpr .mxp-title { margin-bottom: 12px; }
#mx-reference-product .mxpr-intro { margin: 0 0 24px; color: #52617a; font-size: 14px; line-height: 1.6; }
#mx-reference-product .mxpr-summary { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; background: #f4f7fb; border: 1px solid #dce4ee; border-radius: 14px; padding: 24px; }
#mx-reference-product .mxpr-selection { margin: 0 0 10px; font-size: 13px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
#mx-reference-product .mxpr-score { display: flex; align-items: baseline; gap: 9px; }
#mx-reference-product .mxpr-score strong { font-size: 42px; line-height: 1.15; letter-spacing: -1px; }
#mx-reference-product .mxpr-score span { font-size: 14px; color: #52617a; }
#mx-reference-product .mxpr-count { margin: 7px 0 0; color: #52617a; font-size: 13px; }
#mx-reference-product .mxpr-share { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; background: #fff; font-weight: 700; }
#mx-reference-product .mxpr-origin { color: #52617a; font-size: 12px; line-height: 1.6; margin: 16px 0 4px; }
#mx-reference-product .mxpr-review { padding: 24px 0; border-bottom: 1px solid #dce4ee; }
#mx-reference-product .mxpr-review-heading { display: flex; gap: 12px 24px; justify-content: space-between; align-items: flex-start; }
#mx-reference-product .mxpr-review-heading > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
#mx-reference-product .mxpr-name { font-size: 15px; font-weight: 800; overflow-wrap: anywhere; }
#mx-reference-product .mxpr-verified { display: inline-flex; align-items: center; gap: 4px; color: #296344; background: #eef7f0; padding: 3px 7px; border-radius: 5px; font-size: 11px; font-weight: 600; line-height: 1.5; }
#mx-reference-product .mxpr-review time { flex-shrink: 0; font-size: 12px; line-height: 1.8; color: #52617a; }
#mx-reference-product .mxpr-stars { color: #9a6909; font-size: 19px; line-height: 1.5; letter-spacing: 2px; margin-top: 8px; }
#mx-reference-product .mxpr-empty-stars { color: #52617a; }
#mx-reference-product .mxpr-text { color: #23334e; font-size: 15px; line-height: 1.75; margin: 8px 0 0; white-space: pre-line; overflow-wrap: anywhere; }
#mx-reference-product .mxpr-rating-only { color: #52617a; font-size: 14px; font-style: italic; margin: 8px 0 0; line-height: 1.6; }
#mx-reference-product .mxpr-empty { color: #52617a; padding: 24px 0; font-size: 14px; line-height: 1.65; }
#mx-reference-product .mxpr-more-row { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin-top: 24px; }
#mx-reference-product .mxpr-more { min-height: 44px; border: 1px solid #071a3d; border-radius: 8px; padding: 12px 20px; background: #071a3d; color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
#mx-reference-product .mxpr-more:hover { background: #12396b; }
#mx-reference-product .mxpr-showing { font-size: 12px; color: #52617a; }
#mx-reference-product .mxpr :focus-visible { outline: 3px solid #265fa1; outline-offset: 4px; }
#mx-reference-product .mxpr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  #mx-reference-product .mxpr-summary { padding: 18px; gap: 18px; }
  #mx-reference-product .mxpr-review-heading { flex-direction: column; gap: 5px; }
  #mx-reference-product .mxpr-review { padding: 21px 0; }
  #mx-reference-product .mxpr-name { font-size: 14px; }
  #mx-reference-product .mxpr-text { font-size: 14px; }
  #mx-reference-product .mxpr-share { width: 100%; }
}

/* Product-family reviews and on-page submission. */
#mx-reference-product .mxpr-pack { margin: 6px 0 0; color: #52617a; font-size: 12px; line-height: 1.6; }
#mx-reference-product .mxpr-write { margin-top: 36px; border: 1px solid #dce4ee; border-radius: 14px; background: #f7f9fc; overflow: hidden; scroll-margin-top: 120px; }
#mx-reference-product .mxpr-write > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; min-height: 58px; cursor: pointer; color: #071a3d; font-size: 16px; font-weight: 800; list-style: none; }
#mx-reference-product .mxpr-write > summary::-webkit-details-marker { display:none; }
#mx-reference-product .mxpr-write > summary span { font-size: 24px; }
#mx-reference-product .mxpr-write[open] > summary span { transform: rotate(45deg); }
#mx-reference-product .mxpr-form-body { padding: 0 24px 26px; }
#mx-reference-product .mxpr-form-body h3 { font-size: 22px; margin: 0 0 12px; }
#mx-reference-product .mxpr-form-product { font-size: 14px; line-height: 1.7; margin: 0 0 12px; }
#mx-reference-product .mxpr-form-note { font-size: 13px; line-height: 1.7; color: #52617a; margin: 0 0 22px; }
#mx-reference-product .mxpr-rating-input { border: 0; padding: 0; margin: 0 0 22px; min-width: 0; }
#mx-reference-product .mxpr-rating-input legend { font-size: 14px; font-weight: 700; margin-bottom: 7px; }
#mx-reference-product .mxpr-rating-options { display: flex; gap: 5px; }
#mx-reference-product .mxpr-star-choice { position: relative; display: inline-flex; width: 44px; height: 46px; align-items: center; justify-content: center; cursor: pointer; }
#mx-reference-product .mxpr-star-choice input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
#mx-reference-product .mxpr-star-choice > span { font-size: 32px; line-height: 1; color: #64748b; }
#mx-reference-product .mxpr-star-choice.is-filled > span, #mx-reference-product .mxpr-star-choice input:checked + span { color: #9a6909; }
#mx-reference-product .mxpr-star-choice input:focus-visible + span { outline: 3px solid #265fa1; outline-offset: 4px; }
#mx-reference-product .mxpr-rating-label { color: #52617a; font-size: 12px; }
#mx-reference-product .mxpr-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
#mx-reference-product .mxpr-fields > label, #mx-reference-product .mxpr-message-field { display: block; font-size: 14px; font-weight: 700; min-width: 0; }
#mx-reference-product .mxpr-fields label > span { font-weight: 400; color: #52617a; }
#mx-reference-product .mxpr-fields input, #mx-reference-product .mxpr-message-field textarea { display: block; width: 100%; min-height: 46px; margin-top: 8px; border: 1px solid #aab8ca; border-radius: 8px; padding: 12px; color: #071a3d; background: #fff; font: inherit; font-size: 16px; font-weight: 400; box-sizing: border-box; }
#mx-reference-product .mxpr-message-field textarea { resize: vertical; line-height: 1.65; min-height: 130px; }
#mx-reference-product .mxpr-field-error { display: block; color: #9c1d25; font-size: 12px; font-weight: 400; line-height: 1.5; margin-top: 4px; }
#mx-reference-product .mxpr-field-error:empty { display: none; }
#mx-reference-product .mxpr [aria-invalid=true] { border-color: #a91922; }
#mx-reference-product .mxpr-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 20px; }
#mx-reference-product .mxpr-submit-row small { color: #52617a; font-size: 12px; }
#mx-reference-product .mxpr-message { padding: 14px; border: 1px solid #cddce7; border-radius: 8px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
#mx-reference-product .mxpr-message.error { color: #831c25; background: #fff1f1; border-color: #e7b6ba; }
#mx-reference-product .mxpr-message.success { color: #205034; background: #ecf8ef; border-color: #a9cbb6; }
#mx-reference-product .mxpr-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#mx-reference-product .mxpr-more:disabled { cursor: default; opacity: .7; }
@media(max-width: 600px) {
 #mx-reference-product .mxpr-form-body { padding: 0 16px 22px; }
 #mx-reference-product .mxpr-write > summary { padding: 18px 16px; }
 #mx-reference-product .mxpr-fields { grid-template-columns: 1fr; gap: 16px; }
 #mx-reference-product .mxpr-submit-row .mxpr-more { width: 100%; }
}
