/* Photo wall in the product card's Onest / Inter, warm-neutral visual system. */
.product-presentation #pp-reviews {
  --rv-ink:var(--pp-ink,#242421); --rv-muted:var(--pp-text,#565651);
  background:var(--surface,#f2f1ee); color:var(--rv-ink);
  padding:80px 20px 72px; height:auto; min-height:0; position:relative;
}
#pp-reviews *, .rv-dialog * { box-sizing:border-box; }
#pp-reviews .rv-inner { max-width:1160px; margin:0 auto; }
#pp-reviews .rv-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:38px; }
#pp-reviews .rv-heading h2 { margin:0; font:300 clamp(32px,3.3vw,47px)/1.13 var(--font-display,Onest,sans-serif); letter-spacing:-.025em; }
#pp-reviews .rv-heading p { margin:0 0 3px; max-width:30ch; font-size:16px; line-height:1.65; color:var(--rv-muted); }
#pp-reviews .rv-collection { columns:4; column-gap:20px; }
#pp-reviews .rv-card { break-inside:avoid; margin-bottom:20px; background:white; border-radius:14px; overflow:hidden; }
#pp-reviews [hidden] { display:none!important; }
#pp-reviews .rv-media { display:block; appearance:none; position:relative; width:100%; padding:0; border:0; aspect-ratio:4/4.7; overflow:hidden; background:#e5e3dd; cursor:zoom-in; }
#pp-reviews .rv-card:nth-child(3n+2) .rv-media { aspect-ratio:1; }
#pp-reviews .rv-card:nth-child(4n+3) .rv-media { aspect-ratio:4/3; }
#pp-reviews .rv-media img { display:block; width:100%; height:100%; object-fit:cover; }
#pp-reviews img:not([src]) { visibility:hidden; }
#pp-reviews .rv-media-label { position:absolute; bottom:12px; left:12px; max-width:calc(100% - 24px); padding:7px 10px; border-radius:5px; color:white; background:#242421ed; font-size:12px; line-height:1.3; }
#pp-reviews .rv-play { position:absolute; inset:0; margin:auto; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:white; color:#242421; }
#pp-reviews .rv-play svg { width:24px; height:24px; fill:currentColor; }
#pp-reviews .rv-media:has(.rv-play) { cursor:pointer; }
#pp-reviews .rv-content { padding:20px; }
#pp-reviews .rv-rating { display:flex; gap:3px; color:#805834; margin-bottom:14px; }
#pp-reviews .rv-rating svg { width:14px; height:14px; fill:currentColor; }
#pp-reviews .rv-quote { margin:0; font-size:15px; line-height:1.65; white-space:pre-line; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
#pp-reviews .rv-card.is-expanded .rv-quote { display:block; }
#pp-reviews .rv-read { border:0; background:none; color:#805834; font-size:13px; padding:10px 0; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
#pp-reviews .rv-person { display:flex; flex-wrap:wrap; gap:4px 10px; justify-content:space-between; margin-top:14px; padding-top:16px; border-top:1px solid #e5e2dc; font-size:12px; line-height:1.6; color:var(--rv-muted); }
#pp-reviews .rv-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:32px; }
#pp-reviews .rv-footer p { margin:0; font-size:13px; line-height:1.7; color:var(--rv-muted); }
#pp-reviews .rv-show { padding:17px 34px; min-height:52px; border:1px solid #1a1a1a; background:#1a1a1a; color:white; font-size:14px; letter-spacing:.01em; transition:background-color .18s; }
#pp-reviews .rv-show:hover { background:#36332f; }
#pp-reviews :focus-visible,.rv-dialog :focus-visible { outline:2px solid #805834; outline-offset:4px; }
#pp-reviews ::selection,.rv-dialog ::selection { background:#d8c3ac; color:#161614; }
.rv-dialog { width:min(1040px,calc(100vw - 40px)); max-height:90dvh; border:0; border-radius:14px; margin:auto; padding:0; background:#f2f1ee; color:#242421; font-family:var(--font-text,Inter,sans-serif); scrollbar-color:#92877b #f2f1ee; }
.rv-dialog::backdrop { background:#171613d9; }
.rv-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; }
.rv-dialog-head h2 { margin:0; font:400 18px/1.4 var(--font-display,Onest,sans-serif); }
.rv-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:0; background:transparent; color:inherit; cursor:pointer; }
.rv-close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; }
.rv-dialog-body { display:grid; grid-template-columns:1.25fr 1fr; }
.rv-viewer { display:grid; place-items:center; background:#e7e4de; min-height:400px; }
.rv-viewer img,.rv-viewer video { display:block; width:100%; max-height:72dvh; object-fit:contain; }
.rv-viewer p { padding:24px; line-height:1.6; }
.rv-dialog-copy { padding:26px; max-height:72dvh; overflow:auto; }
.rv-dialog-text { margin:0 0 24px; font-size:16px; line-height:1.7; white-space:pre-line; }
.rv-media-picker { display:flex; flex-wrap:wrap; gap:8px; }
.rv-media-picker button { border:1px solid #92877b; background:transparent; color:#242421; padding:10px 14px; min-height:44px; font:13px var(--font-text,Inter,sans-serif); cursor:pointer; }
.rv-media-picker button[aria-pressed=true] { background:#242421; border-color:#242421; color:white; }
@media (max-width:1099px) { #pp-reviews .rv-collection { columns:3; gap:16px; } #pp-reviews .rv-card { margin-bottom:16px; } #pp-reviews .rv-content { padding:18px; } }
@media (max-width:850px) { #pp-reviews .rv-collection { columns:2; } }
@media (max-width:600px) {
  .product-presentation #pp-reviews { padding:56px 20px; }
  #pp-reviews .rv-heading { display:block; margin-bottom:28px; }
  #pp-reviews .rv-heading p { margin-top:18px; max-width:29ch; }
  #pp-reviews .rv-collection { columns:1; }
  #pp-reviews .rv-card { margin-bottom:22px; }
  #pp-reviews .rv-media,#pp-reviews .rv-card:nth-child(3n+2) .rv-media { aspect-ratio:4/3.8; }
  #pp-reviews .rv-card:nth-child(4n+3) .rv-media { aspect-ratio:4/3; }
  #pp-reviews .rv-content { padding:22px; }
  #pp-reviews .rv-quote { font-size:16px; }
  #pp-reviews .rv-footer { flex-direction:column; align-items:stretch; gap:24px; margin-top:28px; }
  .rv-dialog { width:calc(100vw - 20px); max-height:92dvh; }
  .rv-dialog-body { display:block; }
  .rv-viewer { min-height:200px; }
  .rv-viewer img,.rv-viewer video { max-height:45dvh; }
  .rv-dialog-copy { max-height:none; padding:20px; }
  .rv-dialog-head h2 { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) { #pp-reviews * { transition:none!important; scroll-behavior:auto!important; } }

/* Reuse the card's .btn / .product-marketplaces rules and satin animation.
   Only the spacing in the presentation is local; no new marketplace palette. */
.product-presentation #pp-buy .pp-purchase-actions { margin:30px 0 0; color:var(--ink,#1a1a1a); }
.product-presentation #pp-buy .pp-purchase-actions[hidden] { display:none; }
.product-presentation #pp-buy .pp-purchase-actions > .btn { width:100%; }
.product-presentation #pp-buy .pp-purchase-actions .btn { font-family:var(--font-text,Inter,sans-serif); }
