/* dv-reviews, owner feedback 5 (2026-10-21): "why reviews have no name no score ... more colorful, better layout".
   Structure unchanged since round 3 (proof first, form second; 7fr / 5fr from a 64rem container, the form sticky; one
   column below with a link down to the form; no-content case = full-width form). Colour now carries roles, never alone
   (a word or a number is always there): amber stars, medal chips gold / silver / bronze / commended, score rings in the
   medal's or the critic's colour, quote panels tinted by kind (critic wine, jury gold, press sage, platforms slate),
   monogram avatars, a green-tinted winery reply, a paper-toned form, a green thank-you panel.
   Every text pair is >= 4.5:1 and every icon >= 3:1 (computed 2026-10-21). Kit tokens for the rest. */

:root {
  --dvrv-amber: #A86B12;                                                       /* stars, bars: 3.98:1 ground, 4.07:1 paper */
  --dvrv-paper: #FAF6EC;                                                       /* the form's surface (ink 16.5:1) */
  --dvrv-gold: #6E500C;   --dvrv-gold-tint: #F5EBCF;   --dvrv-gold-ring: #8C6A14;   --dvrv-gold-mark: #9A7420;   --dvrv-gold-2: #62532F;
  --dvrv-silver: #454C58; --dvrv-silver-tint: #E9ECF0; --dvrv-silver-ring: #6B7380;
  --dvrv-bronze: #77401D; --dvrv-bronze-tint: #F3E3D6; --dvrv-bronze-ring: #9A5A2E;
  --dvrv-green: #2D6A4F;  --dvrv-green-tint: #E3EFE7;  --dvrv-green-2: #3F5A49;     --dvrv-green-deep: #1F4D37;
  --dvrv-wine: #74263A;   --dvrv-wine-tint: #F5E6E9;   --dvrv-wine-ring: #8A3044;   --dvrv-wine-mark: #9B4A5C;   --dvrv-wine-2: #6A4650;
  --dvrv-sage: #3A5641;   --dvrv-sage-tint: #E8EFE8;   --dvrv-sage-mark: #5E7B63;   --dvrv-sage-2: #4A5B4E;
  --dvrv-slate: #3B4757;  --dvrv-slate-tint: #E6EAF0;  --dvrv-slate-mark: #617086;  --dvrv-slate-2: #4C5563;
}

/* ---- Stars -------------------------------------------------------------------------------------------------------- */
.dvrv-defs { position: absolute; inline-size: 0; block-size: 0; overflow: hidden; }
.dvrv-stars {
  --s: 1rem; --on: var(--ink);
  display: inline-block; flex: none; vertical-align: middle;
  inline-size: calc(var(--s) * 5.8); block-size: var(--s);
  background: linear-gradient(90deg, var(--on) var(--dvrv-fill, 0%), var(--line) var(--dvrv-fill, 0%));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28.8 24'%3E%3Cpath d='M12 2.6l2.83 5.73 6.33.92-4.58 4.46 1.08 6.3L12 17.03l-5.66 2.98 1.08-6.3L2.84 9.25l6.33-.92z'/%3E%3C/svg%3E") 0 0 / calc(var(--s) * 1.2) var(--s) repeat-x;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28.8 24'%3E%3Cpath d='M12 2.6l2.83 5.73 6.33.92-4.58 4.46 1.08 6.3L12 17.03l-5.66 2.98 1.08-6.3L2.84 9.25l6.33-.92z'/%3E%3C/svg%3E") 0 0 / calc(var(--s) * 1.2) var(--s) repeat-x;
}
.dvrv-stars--amber { --on: var(--dvrv-amber); }
.dvrv-stars--sm { --s: .875rem; }
.dvrv-stars--lg { --s: 1.25rem; }
@media (forced-colors: active) {
  .dvrv-stars { forced-color-adjust: none; background: linear-gradient(90deg, CanvasText var(--dvrv-fill, 0%), GrayText var(--dvrv-fill, 0%)); }
}

/* ---- Lines outside the section: wine card (R9), wine buy panel --------------------------------------------------- */
.dvh-card > .dvh-card__reviews { display: block; margin: var(--sp-2) 0 0; padding-inline: 6px; min-block-size: 24px; color: var(--ink); font-size: var(--fs-meta); line-height: 24px; text-decoration: none; border-radius: var(--radius-control); }
.dvh-card__reviews:hover .dvrv-cl { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.dvh-card__reviews:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.dvrv-cl { display: flex; align-items: center; white-space: nowrap; overflow: hidden; }
.dvrv-cl__a, .dvrv-cl__b { display: inline-flex; align-items: center; gap: 4px; min-inline-size: 0; }
.dvrv-cl__b { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
.dvrv-cl b { color: var(--ink); font-weight: var(--fw-ui); font-variant-numeric: tabular-nums; }
.dvrv-cl__b b { color: var(--dvrv-wine); }
.dvrv-cl .dvrv-sep { color: var(--muted); }
.dvrv-star1 { flex: none; inline-size: 13px; block-size: 13px; background: var(--dvrv-amber);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.83 5.73 6.33.92-4.58 4.46 1.08 6.3L12 17.03l-5.66 2.98 1.08-6.3L2.84 9.25l6.33-.92z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.83 5.73 6.33.92-4.58 4.46 1.08 6.3L12 17.03l-5.66 2.98 1.08-6.3L2.84 9.25l6.33-.92z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (forced-colors: active) { .dvrv-star1 { forced-color-adjust: none; background: CanvasText; } }
@container dvh-card (max-width: 13rem) { .dvh-card__reviews.has-both .dvrv-cl__b { display: none; } }
.dvrv-line { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); min-height: var(--tap); width: fit-content; color: inherit; font-size: var(--fs-meta); text-decoration: none; }
.dvrv-line .dvrv-stars { --on: var(--dvrv-amber); }
.dvrv-line:hover span[aria-hidden] { text-decoration: underline; text-underline-offset: .2em; }

/* ---- Tones: chips, score rings -------------------------------------------------------------------------------- */
.dvrv-tone--gold      { --t: var(--dvrv-gold);   --t-tint: var(--dvrv-gold-tint);   --t-ring: var(--dvrv-gold-ring); }
.dvrv-tone--jury      { --t: var(--dvrv-gold);   --t-tint: var(--dvrv-gold-tint);   --t-ring: var(--dvrv-gold-ring); }
.dvrv-tone--silver    { --t: var(--dvrv-silver); --t-tint: var(--dvrv-silver-tint); --t-ring: var(--dvrv-silver-ring); }
.dvrv-tone--bronze    { --t: var(--dvrv-bronze); --t-tint: var(--dvrv-bronze-tint); --t-ring: var(--dvrv-bronze-ring); }
.dvrv-tone--commended { --t: var(--dvrv-green);  --t-tint: var(--dvrv-green-tint);  --t-ring: var(--dvrv-green); }
.dvrv-tone--critic    { --t: var(--dvrv-wine);   --t-tint: var(--dvrv-wine-tint);   --t-ring: var(--dvrv-wine-ring); }
.dvrv-chip { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 8px; border-radius: 999px; background: var(--t-tint); color: var(--t); font-size: var(--fs-meta); font-weight: var(--fw-strong); line-height: 20px; white-space: nowrap; }
.dvrv-chip .dvh-icon { inline-size: 16px; block-size: 16px; color: var(--t); flex: none; }
.dvrv-score { display: inline-grid; place-content: center; justify-items: center; flex: none; inline-size: 54px; block-size: 54px; border-radius: 50%; border: 2px solid var(--t-ring); background: var(--surface); color: var(--t); line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.dvrv-score b { font-family: var(--font-display); font-size: 1.3125rem; font-weight: 600; }
.dvrv-score small { margin-block-start: 1px; font-size: .75rem; font-weight: var(--fw-ui); }
.dvrv-score--text { inline-size: auto; block-size: auto; padding: 4px 12px; border-radius: 999px; font-size: var(--fs-meta); font-weight: var(--fw-strong); }

/* ---- Section frame -------------------------------------------------------------------------------------------------- */
.dvrv__box { container: dvrv / inline-size; display: grid; gap: var(--sp-5); }
.dvrv__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--sp-2) var(--sp-6); }
.dvrv__title { margin: 0; font-family: var(--font-display); font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: var(--fw-display); letter-spacing: var(--track-display); text-wrap: balance; }
.dvrv-jump { display: inline-flex; align-items: center; gap: var(--sp-1); inline-size: fit-content; min-block-size: var(--tap); color: var(--link); font-size: var(--fs-ui); font-weight: var(--fw-ui); text-decoration: underline; text-underline-offset: .2em; }
.dvrv-jump .dvh-icon { inline-size: 16px; block-size: 16px; }
.dvrv-invite { margin: 0; max-inline-size: 60ch; font-size: var(--fs-lead); line-height: var(--lh-lead); text-wrap: pretty; }
.dvrv__formcol, .dvrv-own { scroll-margin-block-start: calc(var(--header-h) + var(--sp-5)); }
.dvrv__grid { display: grid; gap: var(--sp-7); align-items: start; margin-block-start: var(--sp-2); }
@container dvrv (min-width: 64rem) {
  .dvrv-jump { display: none; }
  .dvrv:not(.dvrv--solo) .dvrv__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 64px; }
  .dvrv:not(.dvrv--solo) .dvrv__formcol { position: sticky; inset-block-start: calc(var(--header-h) + var(--sp-5)); align-self: start; }
}

/* ---- The stream -------------------------------------------------------------------------------------------------- */
.dvrv__stream { display: grid; gap: var(--sp-7); align-content: start; min-inline-size: 0; }
.dvrv-lead { margin: 0; max-inline-size: 65ch; font-size: var(--fs-lead); line-height: var(--lh-lead); text-wrap: pretty; }
.dvrv-lead + .dvrv-voices { margin-block-start: calc(var(--sp-4) - var(--sp-7)); }
.dvrv-h3 { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-title); text-wrap: balance; }

/* Summary: the big average, amber stars, the count; amber bars from three reviews */
.dvrv-sum { display: grid; gap: var(--sp-4); }
.dvrv-sum__score { display: flex; align-items: center; gap: var(--sp-4); margin: 0; }
.dvrv-sum__num { font-family: var(--font-display); font-size: var(--fs-numeral); line-height: var(--lh-numeral); font-weight: var(--fw-display); font-variant-numeric: lining-nums tabular-nums; }
.dvrv-sum__meta { display: grid; gap: var(--sp-1); }
.dvrv-sum__n { font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }
.dvrv-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-inline-size: 26rem; }
.dvrv-bars__row { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr) 2rem; align-items: center; gap: var(--sp-3); font-size: var(--fs-meta); line-height: 20px; font-variant-numeric: tabular-nums; }
.dvrv-bars__k { display: inline-flex; align-items: center; gap: 3px; }
.dvrv-bars__k .dvrv-si { inline-size: 12px; block-size: 12px; fill: var(--dvrv-amber); }
.dvrv-bars__track { block-size: 8px; background: var(--band); border-radius: 999px; overflow: hidden; }
.dvrv-bars__fill { display: block; block-size: 100%; background: var(--dvrv-amber); border-radius: inherit; }
.dvrv-bars__v { text-align: end; color: var(--muted); }

/* Customer reviews: avatar, name, verified chip, amber stars + "5/5", date; the winery's reply in a green tint */
.dvrv-list { list-style: none; margin: 0; padding: 0; border-block-start: 1px solid var(--line); }
.dvrv-item { display: grid; gap: var(--sp-3); padding-block: 20px; border-block-end: 1px solid var(--line); }
.dvrv-item__head { display: flex; align-items: center; gap: var(--sp-3); }
.dvrv-av { flex: none; display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 50%; font-family: var(--font-display); font-size: 1.125rem; font-weight: 600; line-height: 1; }
.dvrv-av--0 { background: #DCE7DE; color: #2F4A3A; }
.dvrv-av--1 { background: #F1DDE1; color: #6E2A36; }
.dvrv-av--2 { background: #F2E5C6; color: #6A4E0F; }
.dvrv-av--3 { background: #DFE5EC; color: #384556; }
.dvrv-av--4 { background: #F1DFD2; color: #713F22; }
.dvrv-av--anon { background: var(--band); color: var(--muted); }
.dvrv-av .dvh-icon { inline-size: 20px; block-size: 20px; }
.dvrv-item__id { display: grid; gap: 2px; min-inline-size: 0; }
.dvrv-item__who { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: var(--fs-ui); line-height: var(--lh-ui); }
.dvrv-item__name { font-weight: var(--fw-strong); }
.dvrv-item__name.is-anon { font-weight: var(--fw-ui); }
.dvrv-item__rating { margin: 0; display: flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-meta); }
.dvrv-item__of { font-weight: var(--fw-ui); font-variant-numeric: tabular-nums; }
.dvrv-item__date { margin-inline-start: auto; align-self: flex-start; font-size: var(--fs-meta); color: var(--muted); font-variant-numeric: tabular-nums; }
.dvrv-item__text { max-inline-size: 65ch; font-size: var(--fs-body); line-height: var(--lh-body); overflow-wrap: anywhere; }
.dvrv-item__text > * { margin: 0; }
.dvrv-item__text > * + * { margin-block-start: var(--sp-2); }
.dvrv-reply { max-inline-size: 65ch; padding: var(--sp-3) var(--sp-4); background: var(--dvrv-green-tint); border-radius: var(--radius-media); }
.dvrv-reply__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-2); margin: 0 0 var(--sp-1); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--dvrv-green-2); }
.dvrv-reply__head span:not(.dvrv-reply__mark) { color: var(--dvrv-green-deep); font-weight: var(--fw-strong); }
.dvrv-reply__mark { display: inline-grid; place-items: center; inline-size: 22px; block-size: 22px; border-radius: 50%; background: var(--dvrv-green); color: #FFFFFF; }
.dvrv-reply__mark .dvh-icon { inline-size: 13px; block-size: 13px; }
.dvrv-reply__text { font-size: var(--fs-ui); line-height: var(--lh-body); overflow-wrap: anywhere; }
.dvrv-reply__text > * { margin: 0; }
@container dvrv (min-width: 30rem) { .dvrv-item__text, .dvrv-reply { margin-inline-start: 52px; } }
.dvrv-more { margin-block-start: var(--sp-4); }
.dvrv-more > summary { list-style: none; cursor: pointer; inline-size: fit-content; }
.dvrv-more > summary::-webkit-details-marker { display: none; }
.dvrv-more[open] > summary { margin-block-end: var(--sp-2); }

/* Platform badges (Vivino etc., typed in by hand) */
.dvrv-plat { display: grid; gap: var(--sp-1); }
.dvrv-plat__t { margin: 0; font-size: var(--fs-meta); color: var(--muted); }
.dvrv-plat__list { list-style: none; margin: 0; padding: 0; display: grid; }
.dvrv-plat__a { display: flex; flex-wrap: wrap; align-items: center; gap: 2px var(--sp-3); min-block-size: var(--tap); color: var(--ink); font-size: var(--fs-ui); text-decoration: none; }
.dvrv-plat__name { font-weight: var(--fw-strong); }
.dvrv-plat__score { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.dvrv-plat__score .dvrv-stars { --on: var(--dvrv-amber); }
.dvrv-plat__n { color: var(--muted); }
.dvrv-plat__see { display: inline-flex; align-items: center; gap: 4px; color: var(--link); text-decoration: underline; text-underline-offset: .18em; }
.dvrv-plat__see .dvh-icon { inline-size: 14px; block-size: 14px; }
.dvrv-plat__a:hover .dvrv-plat__see { text-decoration-thickness: 2px; }

/* External voices: panels tinted by kind, in a grid (two per row at about 719 px, one on a phone) */
.dvrv-voices__note { margin: 0 0 var(--sp-4); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }
.dvrv-quotes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 20px; }
.dvrv-quotes > li { display: flex; min-inline-size: 0; }
.dvrv-quote { --q-tint: var(--dvrv-sage-tint); --q-mark: var(--dvrv-sage-mark); --q-2: var(--dvrv-sage-2); --q-strong: var(--dvrv-sage);
  margin: 0; flex: 1; display: flex; flex-direction: column; gap: var(--sp-3); padding: 20px 22px; border-radius: var(--radius-media); background: var(--q-tint); color: var(--ink); }
.dvrv-quote--critic   { --q-tint: var(--dvrv-wine-tint);  --q-mark: var(--dvrv-wine-mark);  --q-2: var(--dvrv-wine-2);  --q-strong: var(--dvrv-wine); }
.dvrv-quote--jury     { --q-tint: var(--dvrv-gold-tint);  --q-mark: var(--dvrv-gold-mark);  --q-2: var(--dvrv-gold-2);  --q-strong: var(--dvrv-gold); }
.dvrv-quote--press    { --q-tint: var(--dvrv-sage-tint);  --q-mark: var(--dvrv-sage-mark);  --q-2: var(--dvrv-sage-2);  --q-strong: var(--dvrv-sage); }
.dvrv-quote--platform { --q-tint: var(--dvrv-slate-tint); --q-mark: var(--dvrv-slate-mark); --q-2: var(--dvrv-slate-2); --q-strong: var(--dvrv-slate); }
.dvrv-quote__badges { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) 10px; min-block-size: 54px; }
.dvrv-qkind { margin-inline-start: auto; font-size: var(--fs-meta); font-weight: var(--fw-ui); color: var(--q-2); }
.dvrv-qrating { display: inline-flex; align-items: center; }
.dvrv-quote blockquote { margin: 0; }
.dvrv-qmark { display: block; inline-size: 28px; block-size: 21px; margin-block-end: var(--sp-2); fill: var(--q-mark); }
.dvrv-quote blockquote p { margin: 0; max-inline-size: 60ch; font-family: var(--font-display); font-size: var(--fs-lead); line-height: var(--lh-lead); font-style: italic; text-wrap: pretty; }
.dvrv-quote blockquote p + p { margin-block-start: var(--sp-2); }
.dvrv-quote__cap { margin-block-start: auto; display: grid; gap: 2px; font-size: var(--fs-meta); line-height: var(--lh-meta); }
.dvrv-quote__who { color: var(--ink); font-size: var(--fs-ui); font-weight: var(--fw-strong); }
.dvrv-quote__who a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.dvrv-quote__meta { display: flex; flex-wrap: wrap; align-items: center; color: var(--q-2); }
.dvrv-qsrc { display: inline-flex; align-items: center; gap: 4px; color: var(--q-strong); font-weight: var(--fw-ui); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; padding-block: 10px; margin-block: -10px; }
.dvrv-qsrc:hover { text-decoration-thickness: 2px; }
.dvrv-qsrc .dvh-icon { inline-size: 14px; block-size: 14px; }
.dvrv-quote__tr { font-style: italic; }
.dvrv-sep { white-space: pre; }
.dvrv-quote a:focus-visible, .dvrv-qsrc:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 2px; }

/* ---- The form: paper surface, amber stars with their word, the action-coloured send ------------------------------- */
.dvrv__formcol { container: dvrvf / inline-size; }
.dvrv-form { display: grid; gap: var(--sp-5); padding: 28px; background: var(--dvrv-paper); border: 1px solid var(--line); border-radius: var(--radius-media); }
.dvrv-form .dvh-notice { margin: 0; }
.dvrv-hp { position: absolute; left: -10000px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.dvrv-form__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2) var(--sp-4); }
.dvrv-form__title { margin: 0; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; font-weight: var(--fw-title); }
.dvrv-form .dvh-input, .dvrv-form .dvh-textarea { background: var(--surface); }
.dvrv-form .dvh-input:focus-visible, .dvrv-form .dvh-textarea:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--focus); }
.dvrv-form .dvh-textarea::placeholder { color: var(--muted); font-style: italic; }

.dvrv-rate { margin: 0; padding: 0; border: 0; min-inline-size: 0; display: grid; gap: var(--sp-1); }
.dvrv-rate__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--sp-2); }
.dvrv-rate__stars { display: flex; margin-inline: -4px; }
.dvrv-rate__opt { position: relative; display: grid; place-items: center; inline-size: 48px; block-size: 48px; border-radius: var(--radius-control); cursor: pointer; transition: transform var(--dur-press) var(--ease-out); }
.dvrv-rate__opt input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.dvrv-rate__star { inline-size: 40px; block-size: 40px; fill: transparent; stroke: var(--dvrv-amber); stroke-width: 1.4; stroke-linejoin: round; transition: fill var(--dur-press) var(--ease-out); pointer-events: none; }
.dvrv-rate__opt:has(input:checked) .dvrv-rate__star,
.dvrv-rate__opt:has(~ .dvrv-rate__opt input:checked) .dvrv-rate__star { fill: var(--dvrv-amber); }
@media (hover: hover) {
  .dvrv-rate__stars:hover .dvrv-rate__star { fill: transparent; }
  .dvrv-rate__stars:hover .dvrv-rate__opt:hover .dvrv-rate__star,
  .dvrv-rate__stars:hover .dvrv-rate__opt:has(~ .dvrv-rate__opt:hover) .dvrv-rate__star { fill: var(--dvrv-amber); }
}
.dvrv-rate__opt:active { transform: scale(.9); }
@media (prefers-reduced-motion: reduce) { .dvrv-rate__opt, .dvrv-rate__star { transition: none; } .dvrv-rate__opt:active { transform: none; } }
.dvrv-rate__opt:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: -2px; }
.dvrv-rate.is-invalid .dvrv-rate__star { stroke: var(--error); }
.dvrv-rate__said { margin: 0; min-inline-size: 6.5em; color: var(--dvrv-gold); font-size: var(--fs-ui); font-weight: var(--fw-strong); }
.dvrv-rate__said span { display: none; }
.dvrv-rate:has(input[value="1"]:checked) .dvrv-rate__said [data-v="1"],
.dvrv-rate:has(input[value="2"]:checked) .dvrv-rate__said [data-v="2"],
.dvrv-rate:has(input[value="3"]:checked) .dvrv-rate__said [data-v="3"],
.dvrv-rate:has(input[value="4"]:checked) .dvrv-rate__said [data-v="4"],
.dvrv-rate:has(input[value="5"]:checked) .dvrv-rate__said [data-v="5"] { display: inline; }
@media (hover: hover) {
  .dvrv-rate:has(.dvrv-rate__opt:hover) .dvrv-rate__said span[data-v] { display: none; }
  .dvrv-rate:has(.dvrv-rate__opt[data-v="1"]:hover) .dvrv-rate__said [data-v="1"],
  .dvrv-rate:has(.dvrv-rate__opt[data-v="2"]:hover) .dvrv-rate__said [data-v="2"],
  .dvrv-rate:has(.dvrv-rate__opt[data-v="3"]:hover) .dvrv-rate__said [data-v="3"],
  .dvrv-rate:has(.dvrv-rate__opt[data-v="4"]:hover) .dvrv-rate__said [data-v="4"],
  .dvrv-rate:has(.dvrv-rate__opt[data-v="5"]:hover) .dvrv-rate__said [data-v="5"] { display: inline; }
}
@media (forced-colors: active) {
  .dvrv-rate__star { stroke: CanvasText; }
  .dvrv-rate__opt:has(input:checked) .dvrv-rate__star, .dvrv-rate__opt:has(~ .dvrv-rate__opt input:checked) .dvrv-rate__star { fill: Highlight; stroke: Highlight; }
}

.dvrv-form__text { display: grid; gap: 6px; }
.dvrv-form__text .dvh-textarea { field-sizing: content; min-block-size: 6.5rem; max-block-size: 16rem; resize: vertical; }
.dvrv-form__ids { display: grid; gap: var(--sp-2); }
.dvrv-form__pair { display: grid; gap: var(--sp-4); }
@container dvrvf (min-width: 30rem) { .dvrv-form__pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.dvrv-form__hint { margin: 0; }
.dvrv-form__name .dvh-input:disabled { background: var(--band); color: var(--muted); border-color: var(--line); cursor: not-allowed; }
.dvrv-check { display: inline-flex; align-items: center; gap: var(--sp-2); min-block-size: var(--tap); inline-size: fit-content; font-size: var(--fs-ui); line-height: 22px; cursor: pointer; }
@media (pointer: fine) { .dvrv-check { min-block-size: 32px; } }
.dvrv-check input { inline-size: 20px; block-size: 20px; margin: 0; accent-color: var(--action); flex: none; }
.dvrv-form__foot { display: grid; gap: var(--sp-2); }
.dvrv-form__foot .dvh-btn { inline-size: 100%; justify-content: center; gap: var(--sp-2); }
.dvrv-send svg { inline-size: 18px; block-size: 18px; fill: currentColor; stroke: none; flex: none; }
.dvrv-form__foot .dvh-meta { margin: 0; font-size: var(--fs-meta); }
.dvrv-form .dvh-error { color: var(--error); }

/* The thank-you panel that replaces the form */
.dvrv-done { display: flex; align-items: flex-start; gap: var(--sp-4); padding: 24px 28px; background: var(--dvrv-green-tint); color: var(--dvrv-green-deep); border: 1px solid #BFD8C7; border-radius: var(--radius-media); }
.dvrv-done:focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.dvrv-done__icon { flex: none; display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 50%; background: var(--dvrv-green); color: #FFFFFF; }
.dvrv-done__icon .dvh-icon { inline-size: 22px; block-size: 22px; }
.dvrv-done__body { display: grid; gap: var(--sp-2); }
.dvrv-done__title { margin: 0; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; font-weight: var(--fw-title); color: var(--dvrv-green-deep); }
.dvrv-done__body p { margin: 0; font-size: var(--fs-ui); }
.dvrv-done__again { inline-size: fit-content; color: var(--dvrv-green-deep); font-weight: var(--fw-ui); text-decoration: underline; text-underline-offset: .18em; padding-block: 10px; margin-block: -10px; }

/* With nothing to read the form spans the container: title and stars on top, identity left, review and send right */
@container dvrvf (min-width: 48rem) {
  .dvrv-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); grid-template-areas: "top top" "ids text" "ids foot"; column-gap: var(--sp-7); }
  .dvrv-form:has(.dvrv-form__notice) { grid-template-areas: "top top" "notice notice" "ids text" "ids foot"; }
  .dvrv-form__top { grid-area: top; justify-content: flex-start; column-gap: var(--sp-6); }
  .dvrv-form__notice { grid-area: notice; }
  .dvrv-form__ids { grid-area: ids; }
  .dvrv-form__pair { grid-template-columns: minmax(0, 1fr); }
  .dvrv-form__text { grid-area: text; grid-template-rows: auto 1fr; }
  .dvrv-form__text .dvh-textarea { block-size: 100%; max-block-size: none; field-sizing: fixed; }
  .dvrv-form__foot { grid-area: foot; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: var(--sp-4); }
  .dvrv-form__foot .dvh-btn { inline-size: auto; }
}

/* ---- Home page: the quotes on their own --------------------------------------------------------------------------- */
.pg-home-sec.dvrv-qsec .dvrv-quotes { gap: 20px; }

/* ---- Google (2026-10-21, owner "go A+B"): our listing on Google (A) and, on click, Google's own Place Details element
   with the reviews (B, assets/google.js). A platform panel in the slate family; Google's element keeps its own look
   and attribution. The stage reserves its height from the click on, so nothing above or beside it moves. ---------- */
.dvrv-g { --dvrv-g-h: min(40rem, 80svh); display: grid; gap: var(--sp-3); justify-items: start; padding: 20px 22px; border-radius: var(--radius-media); background: var(--dvrv-slate-tint); color: var(--ink); }
.dvrv-g__link { display: inline-flex; align-items: center; gap: 6px; min-block-size: var(--tap); color: var(--dvrv-slate); font-size: var(--fs-ui); font-weight: var(--fw-strong); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.dvrv-g__link:hover { text-decoration-thickness: 2px; }
.dvrv-g__link .dvh-icon { inline-size: 14px; block-size: 14px; flex: none; }
.dvrv-g a:focus-visible, .dvrv-g__btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
/* The stage: from the click on it is exactly one element tall; the element loads unseen on top of it, then takes its
   place (fixed height, its own scroll), so the page never moves. */
.dvrv-g__stage { position: relative; justify-self: stretch; display: grid; align-content: start; gap: var(--sp-2); min-inline-size: 0; }
.dvrv-g__stage:is([data-state="loading"], [data-state="ready"]) { min-block-size: var(--dvrv-g-h); }
.dvrv-g__load { display: grid; gap: var(--sp-1); justify-items: start; }
.dvrv-g__btn[aria-disabled="true"] { cursor: progress; }
.dvrv-g__note { margin: 0; font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--dvrv-slate-2); }
.dvrv-g__el { display: block; inline-size: 100%; max-inline-size: 40rem; block-size: var(--dvrv-g-h); overflow-y: auto; overscroll-behavior: contain; border-radius: var(--radius-media); }
.dvrv-g__stage[data-state="loading"] .dvrv-g__el { position: absolute; inset-block-start: 0; inset-inline-start: 0; opacity: 0; pointer-events: none; }
.dvrv-g__el:focus { outline: 2px solid var(--focus); outline-offset: 2px; }
.dvrv-g__fail { margin: 0; font-size: var(--fs-ui); line-height: var(--lh-ui, 1.5); }
.dvrv-g__fail .dvrv-g__link { min-block-size: 0; padding-block: 10px; margin-block: -10px; }
.pg-home-sec.dvrv-qsec .dvrv-g { margin-block-start: var(--sp-6); }
.pg-home-sec.dvrv-qsec .dvrv-g:first-child { margin-block-start: 0; }
