/* Product-card reviews. Quiet surfaces and one form; no global styles. */
.rv { --rv-muted:#a9a5b2; --rv-line:#ffffff16; --rv-text:#efedf4; --rv-accent:#c7b4ed; margin:32px 0; padding:28px 32px; color:var(--rv-text); background:#121318; border:1px solid var(--rv-line); border-radius:18px; font-size:14px; line-height:1.6; scroll-margin-top:90px; }
.rv,.rv * { box-sizing:border-box; }
.rv [hidden] { display:none!important; }
.rv h2,.rv h3,.rv h4,.rv p,.rv ol { margin:0; }
.rv a { color:inherit; text-underline-offset:4px; }
.rv button,.rv input,.rv textarea { font:inherit; }
.rv :focus-visible { outline:2px solid var(--rv-accent); outline-offset:3px; }
.rv-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:24px; }
.rv-heading h2 { display:flex; flex-wrap:wrap; align-items:center; gap:16px; font-size:24px; font-weight:650; letter-spacing:-.5px; }
.rv-heading p { margin-top:5px; font-size:13px; color:var(--rv-muted); }
.rv-summary { font-size:15px; font-weight:500; letter-spacing:0; white-space:nowrap; }
.rv-summary>span,.rv-stars { color:#e4bd7d; }
.rv-summary small { color:var(--rv-muted); font-size:12px; }
.rv-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid #c7b4ed50; border-radius:9px; background:#b59bdf0b; color:#dfd2f2!important; text-decoration:none; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; transition:background .15s; }
.rv-button:hover { background:#b59bdf1e; }
.rv-button:disabled { opacity:.55; cursor:wait; }
.rv-button--submit {
  min-width:180px; min-height:48px; border-radius:var(--pdp-radius-md,14px);
  color:#fff!important; border-color:rgba(161,121,255,.6);
  background:linear-gradient(135deg,rgba(141,92,255,.96),rgba(108,64,214,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 18px rgba(91,52,171,.18);
}
.rv-button--submit:hover { background:linear-gradient(135deg,#9b70ff,#7c50db); border-color:var(--pdp-violet-strong,#a179ff); }
.rv-compose { scroll-margin-top:90px; border-top:1px solid var(--rv-line); }
.rv-purchase { margin:0 0 18px;padding:17px 20px;min-width:0;border:1px solid var(--pdp-border,rgba(255,255,255,.12));border-radius:var(--pdp-radius-md,14px);background:linear-gradient(115deg,rgba(141,92,255,.09),rgba(141,92,255,.015));overflow-wrap:anywhere; }
.rv-purchase>* { min-width:0;max-width:100%; }
.rv-purchase__head { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px; }
.rv-purchase__head>div { min-width:0; }
.rv-purchase h3 { color:var(--rv-text);font-size:14px;font-weight:650;line-height:1.45; }
.rv-purchase__eyebrow { display:block;color:var(--rv-accent);font-size:10px;font-weight:600;letter-spacing:.03em;margin-bottom:4px; }
.rv-purchase__badge { display:inline-flex;align-items:center;gap:7px;flex:none;border:1px solid rgba(161,121,255,.3);border-radius:9px;padding:6px 10px;color:#dfd2f2;background:rgba(141,92,255,.09);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap; }
.rv-purchase__badge>span { color:var(--rv-muted);font-size:11px; }
.rv-purchase p { max-width:820px;color:#c8c2d2;font-size:12px;line-height:1.65;margin-top:5px; }
.rv-purchase .rv-purchase__note { color:var(--rv-muted);font-size:11px; }
.rv-purchase__terms { margin-top:9px;color:var(--rv-muted);font-size:11px; }
.rv-purchase__terms>summary { display:list-item;width:fit-content;max-width:100%;min-height:30px;padding:5px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px; }
.rv-purchase__terms p { margin:5px 0 0;font-size:11px;color:var(--rv-muted); }
.rv-form {
  display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);
  gap:20px 24px; padding:24px 0;
}
.rv-form>* { grid-column:1/-1; }
.rv-form .rv-field--body { grid-column:1; grid-template-rows:auto minmax(132px,1fr) auto; }
.rv-form .rv-row { grid-column:2; grid-template-columns:1fr; align-content:space-between; gap:16px; padding-bottom:25px; }
.rv-field--body textarea { height:100%; }
.rv-identity { display:flex; flex-wrap:wrap; gap:12px; font-size:12px; color:var(--rv-muted); }
.rv-identity span,.rv-verified { color:#a4cbb6; }
.rv fieldset { border:0; padding:0; margin:0; min-width:0; }
.rv legend { float:none; width:auto; margin:0 0 3px; font-size:13px; font-weight:500; }
.rv legend small,.rv-field small { margin-left:5px; color:var(--rv-muted); font-size:11px; font-weight:400; }
.rv .rv-rating { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 24px; padding-bottom:4px; }
.rv-rating__copy { display:grid; gap:4px; font-size:13px; }
.rv-rating__copy>span>small { color:var(--rv-muted); font-size:11px; margin-left:5px; }
.rv-rating>.rv-error { grid-column:1/-1; }
.rv-rating__line { position:relative; display:flex; align-items:center; gap:12px; }
.rv-rating [data-clear-rating] { position:absolute; right:0; top:100%; padding:0; font-size:10px!important; }
.rv-rating__stars { display:flex; gap:4px; }
.rv-rating__stars label { border:1px solid rgba(255,255,255,.09); border-radius:10px; background:rgba(255,255,255,.035); position:relative; display:grid; place-items:center; width:44px; height:44px; cursor:pointer; }
.rv-rating__stars input { position:absolute; width:1px; height:1px; opacity:0; }
.rv-rating__stars label>span:not(.rv-sr) { color:#817b8e; font-size:31px; line-height:1; }
.rv-rating__stars label:has(input:checked) { border-color:rgba(255,186,69,.5); background:rgba(255,186,69,.08); }
.rv-rating__stars label:has(input:checked)>span,.rv-rating__stars label:has(~label input:checked)>span { color:#e4bd7d; }
.rv-rating__stars label:has(input:focus-visible) { outline:2px solid var(--rv-accent); border-radius:6px; }
.rv-muted { color:var(--rv-muted); font-size:11px; }
.rv-field { display:grid; gap:7px; min-width:0; }
.rv-field>span:first-child { font-size:13px; }
.rv-field input,.rv-field textarea { width:100%; min-width:0; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),var(--pdp-surface,#0f1018); border:1px solid var(--pdp-border,rgba(255,255,255,.12)); border-radius:var(--pdp-radius-md,14px); padding:12px 15px; color:var(--rv-text); font-size:14px; line-height:1.6; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); transition:border-color .16s,box-shadow .16s; }
.rv-field input { height:48px; }
.rv-field textarea { min-height:120px; resize:vertical; }
.rv-field input::placeholder,.rv-field textarea::placeholder { color:#817b8d; }
.rv-field input:focus,.rv-field textarea:focus { outline:none; border-color:var(--pdp-violet-strong,#a179ff); box-shadow:0 0 0 3px rgba(141,92,255,.14); }
.rv-field [aria-invalid=true] { border-color:#e3a399; }
.rv-field__hint { display:flex; justify-content:space-between; gap:8px; font-size:11px; color:var(--rv-muted); }
.rv-field__hint>span:last-child { white-space:nowrap; }
.rv-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.rv-extras summary { display:inline-flex; align-items:center; min-height:44px; color:var(--rv-accent); font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.rv-extras__body { padding-top:12px; display:grid; gap:12px; }
.rv-upload { display:grid; gap:10px; color:var(--rv-muted); font-size:11px; }
.rv-upload input { max-width:100%; font-size:12px; }
.rv-upload input::file-selector-button { padding:8px 12px; margin-right:10px; border:1px solid var(--rv-line); border-radius:6px; background:#28232f; color:#e5dcec; cursor:pointer; }
.rv-previews,.rv-photos { display:flex; flex-wrap:wrap; gap:8px; }
.rv-previews img,.rv-photos img { width:76px; height:76px; object-fit:cover; border-radius:8px; }
.rv-optin { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:var(--rv-muted); }
.rv-optin input { margin-top:4px; accent-color:var(--rv-accent); }
.rv-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start; }
.rv-submit-row { display:grid; gap:8px; text-align:center; }
.rv-submit-row .rv-button { min-width:180px; }
.rv-submit-row p { font-size:11px; color:var(--rv-muted); }
.rv-form__foot { color:var(--rv-muted); font-size:11px; line-height:1.6; }
.rv-draft-row { display:flex; justify-content:space-between; align-items:center; gap:12px; color:var(--rv-muted); font-size:10px; }
.rv-draft-row:not(:has([data-draft-status]:not([hidden]))) { display:none; }
.rv-text-button { padding:4px 0; border:0; background:transparent; color:var(--rv-muted); font-size:11px!important; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.rv-error { font-size:11px; color:#f0b2a5; }
.rv-error:empty,.rv-feedback:empty { display:none; }
.rv-feedback { padding:12px 0; color:#efc2b5; font-size:12px; }
.rv-list { list-style:none; padding:0; }
.rv-review { padding:22px 0; border-top:1px solid var(--rv-line); overflow-wrap:anywhere; scroll-margin-top:90px; }
.rv-review header { display:flex; align-items:flex-start; gap:12px; margin-bottom:10px; }
.rv-review__author { flex:1; min-width:0; }
.rv-review__author strong { font-size:13px; font-weight:600; }
.rv-review__author small { display:block; color:var(--rv-muted); font-size:10px; margin-top:2px; }
.rv-verified { display:inline-block; margin-left:10px; }
.rv-stars { white-space:nowrap; letter-spacing:2px; font-size:15px; }
.rv-review h4 { font-size:14px; margin:10px 0 5px; }
.rv-body { font-size:13px; line-height:1.8; color:#d3cedb; overflow-wrap:anywhere; }
.rv-details { display:flex; flex-wrap:wrap; gap:14px 36px; margin:12px 0 0; }
.rv-details dt { font-size:10px; color:var(--rv-muted); font-weight:400; }
.rv-details dd { font-size:12px; margin:3px 0 0; color:#d3cedb; }
.rv-photos { margin-top:12px; }
.rv-empty { padding:22px 0; border-top:1px solid var(--rv-line); color:var(--rv-muted); font-size:13px; }
.rv-policy { padding-top:12px; border-top:1px solid var(--rv-line); color:var(--rv-muted); font-size:11px; }
.rv-policy summary { cursor:pointer; }
.rv-policy p { max-width:760px; margin-top:10px; line-height:1.8; }
.rv-private { padding:18px; margin-bottom:18px; border:1px solid #b59bdf30; border-radius:10px; background:#b59bdf07; overflow-wrap:anywhere; }
.rv-private__head { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; margin-bottom:10px; }
.rv-status { color:#cdb7ec; font-size:11px; }
.rv-private h3 { font-size:13px; margin-bottom:5px; }
.rv-private p+p { margin-top:8px; }
.rv-private>small { display:block; margin-top:8px; }
.rv-pagination { display:flex; justify-content:center; align-items:center; gap:20px; padding:16px 0; font-size:12px; }
.rv-pagination a { padding:8px; color:var(--rv-accent); }
.rv-honeypot,.rv-sr { position:absolute!important; clip:rect(0,0,0,0); clip-path:inset(50%); width:1px!important; height:1px!important; overflow:hidden; white-space:nowrap; }
@media(hover:hover) { .rv-rating__stars label:hover>span { color:#e4bd7d; } }
@media(max-width:900px) {
 .rv-form { grid-template-columns:1fr; }
 .rv-form .rv-field--body { grid-column:1; grid-template-rows:auto minmax(120px,1fr) auto; }
 .rv-form .rv-row { grid-column:1; grid-template-columns:1fr 1fr; padding-bottom:0; gap:20px; }
}
@media(max-width:600px) {
 .rv { padding:20px 16px; margin:24px 0; border-radius:14px; }
 .rv-heading { flex-wrap:wrap; gap:14px; padding-bottom:18px; }
 .rv-heading h2 { font-size:21px; gap:12px; }
 .rv-heading p { font-size:12px; }
 .rv-form { padding:20px 0; gap:18px; }
 .rv-purchase { padding:14px;margin-bottom:15px; }
 .rv-purchase__head { align-items:flex-start;gap:9px; }
 .rv-purchase__badge { padding:5px 7px;font-size:11px;gap:5px; }
 .rv-purchase h3 { font-size:13px; }
 .rv-purchase p { font-size:11px; }
 .rv-purchase__terms>summary { min-height:36px; }
 .rv .rv-rating { grid-template-columns:1fr; gap:8px; padding-bottom:8px; }
 .rv-rating__stars { gap:6px; }
 .rv-rating [data-clear-rating] { position:absolute; right:0; top:100%; white-space:nowrap; }
 .rv-form .rv-row { grid-template-columns:1fr; gap:14px; }
 .rv-field input,.rv-field textarea { font-size:16px; }
 .rv-field__hint { font-size:10px; }
 .rv-rating__stars label { width:44px; }
 .rv-actions { grid-template-columns:1fr; gap:12px; }
 .rv-extras summary { min-height:36px; }
 .rv-submit-row { gap:10px; }
 .rv-submit-row p { text-align:center; }
 .rv-button--submit { width:100%; }
 .rv-review { padding:18px 0; }
 .rv-stars { font-size:13px; letter-spacing:1px; }
 .rv-verified { display:block; margin:4px 0 0; }
}
@media(max-width:360px) { .rv-purchase__head { flex-wrap:wrap; }.rv-purchase__badge { margin-top:1px; } }
@media(prefers-reduced-motion:reduce) { .rv * { transition:none!important; } }
