/* ---- Reviews wall on product pages (2026-09-25, replaces the slider) ---- */
.rwall-section{background-color:#fff}
.rwall-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.rwall-score{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rwall-score .stars{font-size:1.6rem}
.rwall-score b{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1}
.rwall-score span{font-weight:700;color:var(--muted);font-size:.95rem}
.rwall{columns:4 240px;column-gap:16px}
.rwall>.rcard{display:inline-block;width:100%;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 16px;box-sizing:border-box}
.rcard{background:#fff;border:2px solid var(--ink);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--pop-sm);color:var(--ink)}
.rcard .who{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:1.02rem}
.rcard .who .vf{width:18px;height:18px;border-radius:50%;background:var(--primary);color:#fff;display:inline-grid;place-items:center;border:1.5px solid var(--ink);flex:none}
.rcard .who .vf svg{width:10px;height:10px}
.rcard .stars{font-size:1rem;margin:6px 0 8px;display:inline-flex}
.rcard .rt{display:block;font-family:var(--font-display);font-weight:600;margin:0 0 4px}
.rcard p{margin:0;font-size:.95rem;line-height:1.5;font-weight:500}
.rcard .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.76rem;color:var(--muted);font-weight:700;margin-top:10px}
.rcard .meta img{height:15px;width:auto}
.rcard-product{background:var(--pink-soft)}
.rwall-foot{font-size:.8rem;color:var(--muted);font-weight:600;margin:6px 0 0}
.rwall-foot a{text-decoration:underline}
.video-modal[data-ratio="portrait"] .video-modal-card{width:min(440px,100%)}
.video-modal[data-ratio="portrait"] .video-modal-frame{aspect-ratio:9/16;max-height:84vh;margin:0 auto}
@media (max-width:680px){.rwall{columns:1}.rwall-score .stars{font-size:1.3rem}.rwall-head .btn{width:100%;justify-content:center}}

/* ---- Sticky product gallery on desktop (2026-09-25): the packshot stays in view while the buy column scrolls ---- */
@media (min-width:1021px){
  .product-layout{align-items:start}
  .product-layout .gallery{position:sticky;top:calc(var(--nav-h) + 16px);align-self:start}
  .product-layout .gallery.reveal{transition-property:opacity}
  .product-layout .gallery .main img{max-height:calc(100vh - var(--nav-h) - 140px)}
}
