/* PAV-REVIEWS - verified-buyer reviews. Self-contained, prefix rv-. Remove the <link> (or flip the flag) to roll back.
   Renders on /pricing (light page, dark hero), /enterprise.php (white page, dark hero + .ent-* tokens) and /reviews/.
   Mobile first. Tokens below; the .ent-page block re-maps them to the Enterprise palette. */

/* ================= tokens ================= */
.rv,.rv-compact,.rv-dialog,.rv-pagehead{
  --rv-navy:#042C53;--rv-navy-2:#06376a;--rv-blue:#185FA5;
  --rv-green:#157347;--rv-green-deep:#0F5C3A;--rv-green-ink:#0A5A43;--rv-green-bg:#E6F5EF;--rv-green-line:#BFE3D2;
  --rv-ink:#0E1726;--rv-muted:#56657C;--rv-line:#E4EAF3;--rv-line-2:#C9D4E3;--rv-bg:#F6F8FB;--rv-card:#FFFFFF;--rv-track:#EAEFF6;
  --rv-gold:#E0A11C;--rv-gold-deep:#C98A0E;--rv-star-off:#D3DCE8;
  --rv-err:#9B2226;--rv-err-bg:#FBEDED;--rv-err-line:#F0C2C4;
  --rv-focus:#185FA5;--rv-focus-ring:rgba(24,95,165,.22);
  --rv-radius:18px;--rv-radius-sm:12px;--rv-btn-radius:999px;
  --rv-shadow:0 1px 2px rgba(9,30,66,.04),0 12px 32px rgba(9,30,66,.07);
  --rv-shadow-lg:0 2px 4px rgba(9,30,66,.06),0 28px 64px rgba(4,44,83,.28);
  --rv-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --rv-display:"Sora","Inter",system-ui,sans-serif;   /* section titles, big score */
  --rv-heading:"Sora","Inter",system-ui,sans-serif;   /* card + form titles */
  font-family:var(--rv-font);
}
/* Enterprise page: white body, Georgia display h2, green #08784f, 9px buttons */
.ent-page .rv,.ent-page .rv-dialog{
  --rv-navy:#062b4d;--rv-navy-2:#0b3f50;
  --rv-green:#08784f;--rv-green-deep:#065d3d;--rv-green-ink:#075535;--rv-green-bg:#E7F4ED;--rv-green-line:#BCDDC8;
  --rv-ink:#102e46;--rv-muted:#506575;--rv-line:#dce7e9;--rv-line-2:#c3d3d6;--rv-bg:#f4f8f6;--rv-track:#E4ECE8;
  --rv-focus:#08784f;--rv-focus-ring:rgba(8,120,79,.22);
  --rv-radius:15px;--rv-radius-sm:11px;--rv-btn-radius:9px;
  --rv-display:Georgia,"Times New Roman",serif;
  --rv-heading:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.rv *,.rv *::before,.rv *::after,.rv-dialog *,.rv-dialog *::before,.rv-dialog *::after{box-sizing:border-box}
.rv-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ================= stars (read-only) ================= */
.rv-stars{display:inline-flex;gap:2px;line-height:1;vertical-align:middle}
.rv-star{font-size:1rem;color:var(--rv-star-off);font-family:"Segoe UI Symbol",system-ui,sans-serif}
.rv-star.is-full{color:var(--rv-gold)}
.rv-star.is-half{color:transparent;background:linear-gradient(90deg,var(--rv-gold) 50%,var(--rv-star-off) 50%);-webkit-background-clip:text;background-clip:text}

/* ================= compact summary (under the hero price) ================= */
.rv-compact{margin:.25rem 0 .9rem;font-size:.9rem;line-height:1.4;font-family:var(--rv-font)}
.rv-compact a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-height:28px;color:var(--rv-navy);font-weight:500;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.rv-compact a:hover{border-bottom-color:currentColor;text-decoration:none}
.rv-compact a:focus-visible{outline:2px solid var(--rv-focus);outline-offset:4px;border-radius:3px}
.rv-compact .rv-star{font-size:.95rem}
.rv-compact-avg{font-weight:700;color:var(--rv-navy)}
.rv-compact-sep{color:var(--rv-muted)}
.rv-compact-count{color:var(--rv-muted);font-weight:500}
.rv-compact--empty a{color:var(--rv-muted)}
.rv-compact--empty a::before{content:"\2606";font-family:"Segoe UI Symbol",system-ui,sans-serif;font-size:1.1rem;line-height:1;color:var(--rv-gold);transform:translateY(-1px)}
.rv-compact--empty a:hover{color:var(--rv-navy)}
/* Dark hero contexts: Enterprise hero (.rv-compact--dark) and the navy pricing hero card (.pricing-copy) */
.rv-compact--dark{margin:-8px 0 24px}
.rv-compact--dark a,.pricing-copy .rv-compact a,.rv-compact--dark .rv-compact-avg,.pricing-copy .rv-compact .rv-compact-avg{color:#fff}
.rv-compact--dark a:hover,.pricing-copy .rv-compact a:hover{color:#fff}
.rv-compact--dark .rv-compact-count,.rv-compact--dark .rv-compact-sep,.pricing-copy .rv-compact .rv-compact-count,.pricing-copy .rv-compact .rv-compact-sep{color:#C6D8E3}
.rv-compact--dark.rv-compact--empty a,.pricing-copy .rv-compact--empty a{color:#D3E4EA}
.rv-compact--dark.rv-compact--empty a::before,.pricing-copy .rv-compact--empty a::before{color:#F6C85F}
.rv-compact--dark a:focus-visible,.pricing-copy .rv-compact a:focus-visible{outline-color:#fff}
.rv-compact--dark .rv-star,.pricing-copy .rv-compact .rv-star{color:rgba(255,255,255,.3)}
.rv-compact--dark .rv-star.is-full,.pricing-copy .rv-compact .rv-star.is-full{color:#F6C85F}
.rv-compact--dark .rv-star.is-half,.pricing-copy .rv-compact .rv-star.is-half{color:transparent;background:linear-gradient(90deg,#F6C85F 50%,rgba(255,255,255,.3) 50%);-webkit-background-clip:text;background-clip:text}
.pricing-copy .rv-compact{margin:4px 0 10px;font-size:.9rem;line-height:1.4}

/* ================= section shell ================= */
.rv{position:relative;padding:44px 0 52px;background:var(--rv-bg);color:var(--rv-ink);font-size:1rem;line-height:1.6;scroll-margin-top:90px;border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line)}
.rv-wrap{width:min(1140px,calc(100% - 44px));margin-inline:auto}
.ent-page .rv{margin-bottom:48px;border-color:#e5ede8}
/* empty state: a tidy band, not a hero */
.rv--empty{padding:34px 0 38px}
.ent-page .rv--empty{margin-bottom:40px}
.ent-page .rv-wrap{width:min(1280px,calc(100% - 40px))}
.rv-head{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.rv--empty .rv-head{margin-bottom:18px}
.rv-head>div{min-width:0}
.rv .rv-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 8px;font:700 .72rem/1.4 var(--rv-font);letter-spacing:.12em;text-transform:uppercase;color:var(--rv-green)}
.rv .rv-eyebrow::before{content:"";flex:none;width:22px;height:2px;border-radius:2px;background:currentColor;opacity:.75}
.rv .rv-title{margin:0;font-family:var(--rv-display);font-weight:700;font-size:clamp(1.65rem,1.3rem + 1.2vw,2.125rem);line-height:1.12;letter-spacing:-.02em;color:var(--rv-navy)}
.ent-page .rv .rv-title{font-weight:500;letter-spacing:-.035em;font-size:clamp(1.75rem,1.4rem + 1.2vw,2.25rem)}
.ent-page .rv .rv-eyebrow{font-size:.7rem;letter-spacing:.16em}

/* ================= buttons ================= */
.rv .rv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:var(--rv-btn-radius);border:1px solid transparent;font:600 .95rem/1.2 var(--rv-font);color:inherit;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.rv .rv-btn--primary{background:var(--rv-green);border-color:var(--rv-green);color:#fff;box-shadow:0 8px 20px rgba(21,115,71,.22)}
.rv .rv-btn--primary:hover{background:var(--rv-green-deep);border-color:var(--rv-green-deep);color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(21,115,71,.28);text-decoration:none}
.rv .rv-btn--primary:active{transform:none;box-shadow:0 4px 12px rgba(21,115,71,.2)}
.rv .rv-btn--primary[disabled]{opacity:.65;cursor:progress;transform:none;box-shadow:none}
.rv .rv-btn--ghost{background:var(--rv-card);border-color:var(--rv-line-2);color:var(--rv-navy)}
.rv .rv-btn--ghost:hover{border-color:var(--rv-navy);color:var(--rv-navy);text-decoration:none}
.rv .rv-btn:focus-visible,.rv .rv-close:focus-visible,.rv .rv-link:focus-visible,.rv .rv-jump a:focus-visible,.rv .rv-consent a:focus-visible{outline:3px solid var(--rv-focus);outline-offset:3px}
.ent-page .rv .rv-btn{font-size:.85rem;min-height:50px;padding:0 24px;letter-spacing:.01em}

/* ================= banners ================= */
.rv .rv-banner,.rv .rv-status{display:flex;gap:12px;align-items:flex-start;margin:0 0 24px;padding:14px 18px;border-radius:var(--rv-radius-sm);border:1px solid;font-size:.95rem;font-weight:500;line-height:1.5}
.rv .rv-banner::before,.rv .rv-status::before{content:"!";flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:50%;font-size:.8rem;font-weight:800;line-height:1;background:var(--rv-err);color:#fff}
.rv .rv-banner--ok,.rv .rv-status.is-ok{background:var(--rv-green-bg);border-color:var(--rv-green-line);color:var(--rv-green-ink)}
.rv .rv-banner--ok::before,.rv .rv-status.is-ok::before{content:"\2713";background:var(--rv-green)}
.rv .rv-banner--err,.rv .rv-status{background:var(--rv-err-bg);border-color:var(--rv-err-line);color:var(--rv-err)}
.rv .rv-status{margin:0}
.rv .rv-status[hidden]{display:none}
.rv .rv-write>.rv-banner{margin:4px 0 0}

/* ================= empty state: one slim strip (icon + line + subline + CTA) ================= */
.rv-empty{display:flex;flex-direction:column;gap:16px;padding:18px;background:var(--rv-card);border:1px solid var(--rv-line);border-radius:var(--rv-radius-sm);box-shadow:var(--rv-shadow)}
.rv-empty-lead{display:flex;align-items:flex-start;gap:14px;min-width:0}
.rv-empty-lead .rv-empty-icon{margin-top:2px}
.rv-empty-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--rv-green-bg);box-shadow:inset 0 0 0 1px var(--rv-green-line);color:var(--rv-green);font:400 1.2rem/1 "Segoe UI Symbol",system-ui,sans-serif}
.rv-empty-text{min-width:0}
.rv .rv-empty-title{margin:0 0 3px;font:600 1.05rem/1.3 var(--rv-heading);letter-spacing:-.01em;color:var(--rv-navy);overflow-wrap:anywhere}
.ent-page .rv .rv-empty-title{font-weight:650}
.rv .rv-empty-sub{margin:0;font-size:.875rem;line-height:1.45;color:var(--rv-muted)}
.rv-empty .rv-btn{width:100%}

/* ================= summary (populated) ================= */
.rv-summary{display:grid;gap:24px;margin-bottom:20px;padding:24px 22px;background:var(--rv-card);border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:var(--rv-shadow)}
.rv-score{display:flex;flex-direction:column;align-items:flex-start}
.rv .rv-score-num{margin:0;font:700 3.75rem/1 var(--rv-display);letter-spacing:-.045em;color:var(--rv-navy)}
.ent-page .rv .rv-score-num{font-weight:500;letter-spacing:-.05em}
.rv-score-of{font:500 1.15rem/1 var(--rv-font);letter-spacing:0;color:var(--rv-muted)}
.rv-score .rv-stars{margin:14px 0 10px;gap:3px}
.rv-score .rv-star{font-size:1.5rem}
.rv .rv-score-count{margin:0;font-weight:600;color:var(--rv-ink)}
.rv .rv-note{margin:8px 0 0;max-width:32ch;font-size:.85rem;line-height:1.5;color:var(--rv-muted)}
.rv-dist{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-content:center}
.rv-dist-row{display:grid;grid-template-columns:3.9rem 1fr 2rem;gap:12px;align-items:center;font-size:.88rem;font-weight:500;color:var(--rv-muted)}
.rv-dist-label{white-space:nowrap}
.rv-dist-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--rv-ink)}
/* <progress> cross-browser: track via background, value via vendor pseudo-elements */
.rv-dist-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:10px;border:0;border-radius:99px;background:var(--rv-track);color:var(--rv-gold);overflow:hidden}
.rv-dist-bar::-webkit-progress-bar{background:var(--rv-track);border-radius:99px}
.rv-dist-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--rv-gold),var(--rv-gold-deep));border-radius:99px;transition:width .4s ease}
.rv-dist-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--rv-gold),var(--rv-gold-deep));border-radius:99px}

/* ================= review cards ================= */
.rv-list{display:grid;gap:16px}
.rv-card{display:flex;flex-direction:column;padding:22px 22px 20px;background:var(--rv-card);border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:0 1px 2px rgba(9,30,66,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
@media (hover:hover){.rv-card:hover{transform:translateY(-2px);box-shadow:var(--rv-shadow);border-color:var(--rv-line-2)}}
.rv-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.rv-card .rv-star{font-size:1rem}
.rv-date{font-size:.8rem;color:var(--rv-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rv .rv-card-title{margin:0 0 8px;font:600 1.1rem/1.35 var(--rv-heading);letter-spacing:-.01em;color:var(--rv-navy);overflow-wrap:anywhere}
.rv-card-body{flex:1}
.rv-card-body p{margin:0 0 .75em;font-size:.95rem;line-height:1.65;color:var(--rv-ink);overflow-wrap:anywhere}
.rv-card-body p:last-child{margin-bottom:0}
.rv-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:18px;padding-top:14px;border-top:1px solid var(--rv-line)}
.rv-name{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.95rem;color:var(--rv-navy)}
.rv-name::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--rv-green);box-shadow:0 0 0 3px var(--rv-green-bg)}
.rv-badge{display:inline-flex;gap:6px;align-items:center;padding:4px 11px;border-radius:999px;background:var(--rv-green-bg);color:var(--rv-green-ink);font-size:.76rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.rv-badge>span{font-size:.85em;font-weight:800}
.rv-reply{margin-top:16px;padding:14px 16px;border-left:3px solid var(--rv-green);background:var(--rv-bg);border-radius:0 var(--rv-radius-sm) var(--rv-radius-sm) 0;font-size:.9rem;line-height:1.6;color:var(--rv-ink)}
.rv-reply p{margin:0 0 .5em}
.rv-reply p:last-child{margin-bottom:0}
.rv .rv-reply-label{margin:0 0 6px;font:700 .72rem/1.4 var(--rv-font);text-transform:uppercase;letter-spacing:.1em;color:var(--rv-green)}
.rv-more{margin:24px 0 0;text-align:center}
.rv .rv-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--rv-line-2);background:var(--rv-card);color:var(--rv-navy);font-weight:600;font-size:.92rem;text-decoration:none;transition:border-color .15s,background-color .15s}
.rv .rv-link:hover{border-color:var(--rv-navy);text-decoration:none}

/* ================= write-a-review panel (inline without JS) ================= */
.rv-write{margin-top:24px;padding:26px 22px 24px;background:var(--rv-card);border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:var(--rv-shadow);scroll-margin-top:90px}
.rv-write-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rv .rv-write-title{margin:0 0 6px;font:700 1.5rem/1.2 var(--rv-heading);letter-spacing:-.02em;color:var(--rv-navy)}
.ent-page .rv .rv-write-title{font-weight:650}
.rv .rv-write-title:focus{outline:none}
.rv .rv-write-lead{margin:0 0 22px;font-size:.95rem;line-height:1.55;color:var(--rv-muted)}
.rv .rv-write-lead strong{color:var(--rv-ink);font-weight:600}
.rv .rv-close{display:none;flex:none;width:44px;height:44px;margin:-6px -6px 0 0;border-radius:50%;border:1px solid var(--rv-line);background:var(--rv-card);color:var(--rv-navy);font:400 1.65rem/1 var(--rv-font);cursor:pointer;transition:background-color .15s,border-color .15s}
.rv .rv-close:hover{background:var(--rv-bg);border-color:var(--rv-line-2)}
.rv-actions [data-rv-close]{display:none}
.rv-dialog .rv-close{display:inline-flex;align-items:center;justify-content:center}
.rv-dialog .rv-actions [data-rv-close]{display:inline-flex}
.rv-form{display:grid;gap:18px}
.rv-grid{display:grid;gap:18px}
.rv-field{display:grid;gap:7px}
.rv .rv-field label,.rv .rv-rating legend{margin:0;padding:0;font:600 .9rem/1.4 var(--rv-font);color:var(--rv-navy)}
.rv-req{color:var(--rv-err);font-weight:700}
.rv .rv-field input,.rv .rv-field textarea{display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;font:400 1rem/1.4 var(--rv-font);color:var(--rv-ink);background:var(--rv-card);border:1px solid var(--rv-line-2);border-radius:var(--rv-radius-sm);box-shadow:inset 0 1px 2px rgba(9,30,66,.04);transition:border-color .15s,box-shadow .15s}
.rv .rv-field textarea{resize:vertical;min-height:128px}
.rv .rv-field input:hover,.rv .rv-field textarea:hover{border-color:#A9B8CB}
.rv .rv-field input:focus,.rv .rv-field textarea:focus{outline:none;border-color:var(--rv-focus);box-shadow:0 0 0 3px var(--rv-focus-ring)}
.rv .rv-field input:focus-visible,.rv .rv-field textarea:focus-visible{outline:none}
.rv .rv-field small{display:block;font-size:.8rem;line-height:1.5;color:var(--rv-muted)}

/* star rating input: real radios, 48px targets, row-reverse fill */
.rv .rv-rating{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}
.rv-rating-row{position:relative;display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;width:max-content;max-width:100%;margin-left:-6px}
.rv .rv-rating-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.rv .rv-rating-star{display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border-radius:10px;cursor:pointer;color:var(--rv-star-off);font:400 2.15rem/1 "Segoe UI Symbol",system-ui,sans-serif;user-select:none;-webkit-tap-highlight-color:transparent;transition:color .12s,transform .12s}
.rv .rv-rating-star>span[aria-hidden]{display:block;transform:translateY(-2px)}
.rv .rv-rating-input:checked ~ .rv-rating-star{color:var(--rv-gold)}
.rv .rv-rating-row:hover .rv-rating-star{color:var(--rv-star-off)}
.rv .rv-rating-row .rv-rating-star:hover,.rv .rv-rating-row .rv-rating-star:hover ~ .rv-rating-star{color:var(--rv-gold)}
.rv .rv-rating-star:hover{transform:scale(1.12)}
.rv .rv-rating-input:focus-visible + .rv-rating-star{outline:3px solid var(--rv-focus);outline-offset:-2px}
/* rating word (presentational, modern browsers only) sits to the right of the stars */
.rv-rating-row::after{content:"";order:-1;margin-left:10px;font:600 .9rem/1 var(--rv-font);color:var(--rv-green-ink);white-space:nowrap}
.rv-rating:has(.rv-rating-input[value="1"]:checked) .rv-rating-row::after{content:"Poor";color:var(--rv-muted)}
.rv-rating:has(.rv-rating-input[value="2"]:checked) .rv-rating-row::after{content:"Fair";color:var(--rv-muted)}
.rv-rating:has(.rv-rating-input[value="3"]:checked) .rv-rating-row::after{content:"Good"}
.rv-rating:has(.rv-rating-input[value="4"]:checked) .rv-rating-row::after{content:"Very good"}
.rv-rating:has(.rv-rating-input[value="5"]:checked) .rv-rating-row::after{content:"Excellent"}

.rv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv .rv-consent{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border-radius:var(--rv-radius-sm);background:var(--rv-bg);font:400 .85rem/1.55 var(--rv-font);color:var(--rv-muted);cursor:pointer}
.rv .rv-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--rv-green);cursor:pointer}
.rv .rv-consent input:focus-visible{outline:3px solid var(--rv-focus);outline-offset:2px}
.rv .rv-consent a{color:var(--rv-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.ent-page .rv .rv-consent a{color:var(--rv-green)}
.rv-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}

/* ================= modal dialog (JS enhancement) ================= */
.rv .rv-dialog{width:100%;max-width:none;height:calc(100dvh - 14px);max-height:calc(100dvh - 14px);margin:auto 0 0;padding:0;border:0;border-radius:22px 22px 0 0;background:var(--rv-card);color:var(--rv-ink);box-shadow:var(--rv-shadow-lg);overflow:auto;overscroll-behavior:contain;font-family:var(--rv-font)}
.rv .rv-dialog::backdrop{background:rgba(4,22,44,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.rv .rv-dialog[open]{animation:rv-sheet .28s cubic-bezier(.2,.8,.2,1)}
@keyframes rv-sheet{from{opacity:0;transform:translateY(32px)}}
@keyframes rv-pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.rv-dialog .rv-write{margin:0;padding:0 20px 20px;border:0;border-radius:0;box-shadow:none}
.rv-dialog .rv-write-head{position:sticky;top:0;z-index:2;margin:0 -20px;padding:18px 20px 10px;background:var(--rv-card);box-shadow:0 1px 0 var(--rv-line)}
.rv-dialog .rv-write-head .rv-write-title{margin:0}
.rv-dialog .rv-write-lead{margin-top:14px}
.rv-dialog .rv-close{margin:0}
.rv-dialog .rv-actions{position:sticky;bottom:0;z-index:2;margin:0 -20px -20px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--rv-card);box-shadow:0 -1px 0 var(--rv-line)}
.rv-dialog .rv-actions .rv-btn{flex:1}
html:has(dialog.rv-dialog[open]){overflow:hidden}

/* ================= /reviews/ page head ================= */
.rv-pagehead{padding:26px 0 10px}
.rv-pagehead h1{margin:0 0 12px;font:700 clamp(2rem,1.4rem + 2.6vw,2.8rem)/1.1 var(--rv-display);letter-spacing:-.03em;color:var(--rv-navy)}
.rv-pagehead p{max-width:64ch;margin:0 0 14px;color:var(--rv-muted)}
.rv-pagehead .rv-jump{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px;font-size:0}
.rv-pagehead .rv-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;white-space:nowrap;border-radius:999px;border:1px solid var(--rv-line-2);background:var(--rv-card);color:var(--rv-navy);font:600 .9rem/1 var(--rv-font);text-decoration:none;transition:border-color .15s}
.rv-pagehead .rv-jump a:hover{border-color:var(--rv-navy);text-decoration:none}
.rv-pagehead .rv-jump a:focus-visible{outline:3px solid var(--rv-focus);outline-offset:3px}
.rv--all{border-bottom:0}
.rv--all + .rv--all{padding-top:0;border-top:0}
.rv--all + .rv--all .rv-wrap{padding-top:44px;border-top:1px solid var(--rv-line)}
.rv--all:last-of-type{border-bottom:1px solid var(--rv-line)}

/* ================= small screens ================= */
@media (max-width:559px){
  .rv-head .rv-btn{width:100%}
  .rv-actions .rv-btn{flex:1 1 auto}
  .rv-card-meta{justify-content:flex-start}
}

/* ================= tablet and up ================= */
@media (min-width:640px){
  .rv-empty{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;min-height:104px;padding:20px 22px 20px 22px}
  .rv-empty-lead{flex:1 1 auto;align-items:center}
  .rv-empty-lead .rv-empty-icon{margin-top:0}
  .rv-empty .rv-btn{width:auto;flex:none}
}
@media (min-width:720px){
  .rv{padding:60px 0 68px}
  .ent-page .rv{margin-bottom:60px}
  .rv-head{margin-bottom:28px}
  .rv--empty{padding:44px 0 48px}
  .rv--empty .rv-head{margin-bottom:20px}
  .ent-page .rv--empty{margin-bottom:48px}
  .rv-empty{padding:22px 26px 22px 24px}
  .rv-summary{grid-template-columns:minmax(230px,320px) 1fr;gap:0;padding:30px 36px;margin-bottom:24px}
  .rv-score{padding-right:36px}
  .rv-dist{padding-left:40px;border-left:1px solid var(--rv-line)}
  .rv-dist-row{grid-template-columns:4.25rem 1fr 2.25rem;gap:14px}
  .rv-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .rv-card{padding:24px 26px 22px}
  .rv-grid{grid-template-columns:1fr 1fr}
  .rv-write{padding:32px 36px 34px}
  /* centred modal */
  .rv .rv-dialog{width:min(680px,calc(100% - 40px));height:auto;max-height:min(calc(100dvh - 40px),900px);margin:auto;border-radius:22px}
  .rv .rv-dialog[open]{animation:rv-pop .22s cubic-bezier(.2,.8,.2,1)}
  .rv-dialog .rv-write{padding:0 34px 30px}
  .rv-dialog .rv-write-head{margin:0 -34px;padding:26px 34px 12px}
  .rv-dialog .rv-actions{position:static;margin:0;padding:6px 0 0;box-shadow:none;justify-content:flex-start}
  .rv-dialog .rv-actions .rv-btn{flex:0 0 auto}
}
@media (min-width:1024px){
  .rv-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rv-list>.rv-card:only-child{grid-column:1/3}
}
@media (min-width:1101px){
  .ent-page .rv-wrap{width:min(1280px,calc(100% - 96px))}
}
@media (min-width:801px) and (max-width:1100px){
  .ent-page .rv-wrap{width:min(1280px,calc(100% - 64px))}
}
@media (min-width:601px) and (max-width:800px){
  .ent-page .rv-wrap{width:min(1280px,calc(100% - 48px))}
}

/* ================= preferences ================= */
@media (prefers-reduced-motion:reduce){
  .rv *,.rv *::before,.rv *::after,.rv-dialog,.rv-dialog *,.rv-compact *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv .rv-btn--primary:hover,.rv .rv-rating-star:hover,.rv-card:hover{transform:none}
}
@media (forced-colors:active){
  .rv-star.is-half,.rv-compact--dark .rv-star.is-half,.pricing-copy .rv-compact .rv-star.is-half{background:none;color:CanvasText}
  .rv .rv-rating-input:checked ~ .rv-rating-star{color:Highlight}
  .rv .rv-rating-input:checked + .rv-rating-star{outline:2px solid Highlight}
  .rv-dist-bar{border:1px solid CanvasText}
  .rv-empty-icon,.rv-name::before{forced-color-adjust:none}
}
