/* DammruVani Google reviews (static), pairs with reviews.js. Hand-maintained.
 * Film-to-web tokens (_ux/2026-10-04_DesignSystem_DammruVani_FilmToWeb.md) with literal
 * fallbacks, so it renders right before and after the styles.css revamp.
 * Square corners everywhere (the disc is the only circle): initial is a square ink tile.
 */
[data-reviews]{display:block;color:var(--ink,#14110d)}
/* Reserve room before the deferred script fills it, so nothing below jumps. */
[data-reviews]:empty{min-height:340px}
html[lang=hi] [data-reviews]:empty{min-height:360px}

.dvr{
  --dvr-paper-hi:var(--paper-hi,#fbf7ee);
  --dvr-ink:var(--ink,#14110d);
  --dvr-soft:var(--ink-soft,#3a342c);
  --dvr-bhagwa:var(--bhagwa,#f06a1d);
  --dvr-hi:var(--f-hi,'Noto Sans Devanagari','Hanken Grotesk',sans-serif);
  --dvr-ui:var(--f-ui,'Hanken Grotesk',-apple-system,'Segoe UI',sans-serif);
  font-family:var(--dvr-ui);
}
html[lang=hi] .dvr{font-family:var(--dvr-hi)}
.dvr *{box-sizing:border-box}

/* One row. Wide: equal columns. Phone: swipe strip with the next card peeking. */
.dvr-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;align-items:stretch;
  overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 22px;scrollbar-width:thin}
@media (max-width:759px){
  .dvr-row{grid-auto-columns:84%;gap:12px;margin:0 calc(-1 * var(--gutter,16px));padding:4px var(--gutter,16px) 22px;
    scroll-padding-inline:var(--gutter,16px)}
}
.dvr-card{
  scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;min-width:0;margin:0;
  background:var(--dvr-paper-hi);padding:20px 20px 22px;border-radius:0;
  box-shadow:var(--sh-card,0 10px 18px rgba(20,14,8,.18));
}
.dvr-who{display:flex;align-items:center;gap:12px;min-width:0}
.dvr-ini{
  flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:0;
  background:var(--dvr-ink);color:var(--dvr-paper-hi);
  font-family:var(--f-display,'Eczar',serif);font-weight:800;font-size:20px;line-height:1;
}
.dvr-meta{min-width:0;display:flex;flex-direction:column;gap:4px}
.dvr-name{font-weight:700;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dvr-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dvr-label{font-size:13px;line-height:1.3;color:var(--dvr-soft)}
.dvr-text{
  margin:0;font-size:16px;line-height:1.65;color:var(--dvr-ink);font-family:var(--dvr-ui);
  white-space:pre-line;overflow-wrap:anywhere;quotes:none;
}
.dvr-text[lang=hi]{font-family:var(--dvr-hi);line-height:1.7}

/* Stars: outline row + bhagwa fill clipped to the rating. Graphic only. */
.dvr-stars{
  position:relative;display:inline-block;flex:none;width:80px;height:16px;vertical-align:middle;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.6l2.6 5.5 6 .7-4.5 4.1 1.2 5.9L10 14.8l-5.3 3 1.2-5.9L1.4 7.8l6-.7z' fill='%2314110d' fill-opacity='.18'/%3E%3C/svg%3E") 0 0/16px 16px repeat-x;
}
.dvr-stars>i{
  position:absolute;inset:0 auto 0 0;display:block;height:100%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1.6l2.6 5.5 6 .7-4.5 4.1 1.2 5.9L10 14.8l-5.3 3 1.2-5.9L1.4 7.8l6-.7z' fill='%23f06a1d'/%3E%3C/svg%3E") 0 0/16px 16px repeat-x;
}

/* The one link: ink text, bhagwa underline (Hilite link style). */
.dvr-all{
  display:inline-block;margin-top:6px;font-weight:700;font-size:16px;line-height:1.4;
  color:var(--dvr-ink);text-decoration:underline;text-decoration-color:var(--dvr-bhagwa);
  text-decoration-thickness:3px;text-underline-offset:4px;
  transition:text-decoration-thickness var(--t-hover,.18s) ease;
}
.dvr-all:hover{text-decoration-thickness:6px}
.dvr-all:focus-visible{outline:3px solid var(--dvr-bhagwa);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.dvr-all{transition:none}}

/* Dark sections (charcoal ground): cards stay paper, the link turns bone. */
.dark .dvr-all,[data-theme=dark] .dvr-all{color:var(--bone,#e9e1cf)}
