/* Customer review controls are separate from file downloads. */
.customer-reviews[hidden], .customer-reviews [hidden] { display:none !important; }
.customer-reviews { margin-top:24px; padding:24px; }
.customer-reviews h2 { margin:0 0 10px; font-size:1.3rem; }
.customer-reviews h3 { margin:0 0 12px; font-size:1rem; overflow-wrap:anywhere; }
.review-help { color:#aebdd1; font-size:.9rem; line-height:1.6; }
.review-card { border-top:1px solid #2b384c; padding:20px 0; }
.review-card:last-child { padding-bottom:0; }
.review-form { max-width:680px; margin-top:16px; }
.review-field { display:grid; gap:8px; margin:16px 0; }
.review-field label { font-weight:600; }
.review-field input, .review-field select, .review-field textarea { width:100%; box-sizing:border-box; font:inherit; color:#edf3fb; background:#101b2b; border:1px solid #52627a; border-radius:9px; padding:12px; }
.review-field textarea { resize:vertical; min-height:110px; }
.review-field :focus-visible, .review-consent input:focus-visible, .customer-reviews button:focus-visible { outline:3px solid #ffb26b; outline-offset:3px; }
.review-consent { display:flex; gap:12px; align-items:flex-start; font-size:.9rem; line-height:1.6; }
.review-consent input { flex:0 0 auto; width:20px; height:20px; margin:3px 0 0; accent-color:#f97316; }
.review-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.review-message { color:#ffd2ad; line-height:1.5; }
.review-message:empty { display:none; }
.review-status { color:#c6d6ec; font-weight:600; }
.review-copy { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.customer-reviews button:disabled { opacity:.65; cursor:wait; }
@media(max-width:600px){ .customer-reviews { padding:18px; } .review-actions .btn { flex:1 1 130px; } }
