/* review-gallery.css v2 - horizontal scroll-rail product gallery + hybrid hero feature.
   v2 2026-07-11 per Paul's design spec: ~2.4 cards visible desktop, ~1.1 mobile (swipe),
   brass borders, cream caption bar, portrait shots shown full-height on neutral bg.
   Loaded ONLY on pages with a .rvw-gallery block. */

/* ---- section shell ---- */
.rvw-inside{margin:1.1rem 0}
.rvw-inside h2{font-size:1.18rem;margin:0 0 2px}
.rvw-inside .rvw-note{font-size:.8rem;color:#6b7280;margin:0 0 12px}

/* ---- horizontal rail ---- */
.rvw-rail-wrap{position:relative}
.rvw-gallery{display:flex;overflow-x:auto;gap:18px;scroll-snap-type:x mandatory;
  padding:4px 2px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;
  scrollbar-color:#C9A86A #f1ede4}
.rvw-gallery::-webkit-scrollbar{height:8px}
.rvw-gallery::-webkit-scrollbar-thumb{background:#C9A86A;border-radius:8px}
.rvw-gallery::-webkit-scrollbar-track{background:#f1ede4;border-radius:8px}

/* card: ~2.4 visible on desktop (spec 360-420px), ~1.1 on mobile */
.rvw-gallery figure{flex:0 0 clamp(300px,40%,420px);scroll-snap-align:start;margin:0;
  border:1px solid #C9A86A;border-radius:12px;background:#fff;overflow:hidden;
  box-shadow:0 2px 10px rgba(27,42,74,.07);transition:box-shadow .15s ease}
.rvw-gallery figure:hover{box-shadow:0 6px 18px rgba(27,42,74,.16)}
@media(max-width:559px){.rvw-gallery figure{flex-basis:88%}}

/* image area: 16:9, landscape covers; portrait shots contained on neutral bg */
.rvw-gallery button.rvw-thumb{display:block;width:100%;padding:0;border:0;cursor:zoom-in;
  line-height:0;background:#F2EEE6}
.rvw-gallery button.rvw-thumb:focus-visible{outline:3px solid #1D9E75;outline-offset:-3px}
.rvw-gallery img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.rvw-gallery figure.rvw-shot--portrait img{object-fit:contain;background:#F2EEE6}

/* cream caption bar */
.rvw-cap{background:#FFFCF7;border-top:1px solid rgba(201,168,106,.4);
  padding:10px 12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rvw-cap figcaption{font-size:.82rem;line-height:1.45;color:#374151;margin:0}
.rvw-tag{flex:0 0 auto;font-size:.7rem;letter-spacing:.02em;color:#7a5c1e;
  border:1px solid #C9A86A;border-radius:999px;padding:2px 10px;background:#FCF8F1;white-space:nowrap}

/* desktop rail arrows (hidden on touch-width) */
.rvw-rail-btn{position:absolute;top:calc(50% - 34px);z-index:2;width:40px;height:40px;
  border:1px solid #C9A86A;border-radius:50%;background:rgba(255,252,247,.95);color:#7a5c1e;
  font-size:20px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(27,42,74,.18);
  display:flex;align-items:center;justify-content:center}
.rvw-rail-btn:hover{background:#fff}
.rvw-rail-btn:focus-visible{outline:3px solid #1D9E75;outline-offset:2px}
.rvw-rail-prev{left:-14px}
.rvw-rail-next{right:-14px}
@media(max-width:699px){.rvw-rail-btn{display:none}}

/* ---- hybrid hero: featured screenshot right of title/verdict, stacks on mobile ---- */
.rvw-hero-flex{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:40px;
  align-items:center}
.rvw-hero-flex>*{grid-column:1}
.rvw-hero-flex>.rvw-hero-feature{grid-column:2;grid-row:1/span 10;margin:0}
.rvw-hero-feature button.rvw-thumb{display:block;width:100%;padding:0;border:1px solid #C9A86A;
  border-radius:12px;overflow:hidden;cursor:zoom-in;line-height:0;background:#F2EEE6;
  box-shadow:0 4px 16px rgba(0,0,0,.25)}
.rvw-hero-feature button.rvw-thumb:focus-visible{outline:3px solid #1D9E75;outline-offset:2px}
.rvw-hero-feature img{width:100%;height:auto;display:block}
.rvw-hero-feature figcaption{font-size:.78rem;color:rgba(255,255,255,.85);text-align:center;
  margin-top:8px;line-height:1.4}
@media(max-width:899px){
  .rvw-hero-flex{display:block}
  .rvw-hero-flex>.rvw-hero-feature{margin:20px auto 0;max-width:420px}
}

/* ---- lightbox v3: FULL-SCREEN gallery mode (Paul 2026-07-11) — image + caption + filmstrip ---- */
dialog.rvw-lightbox{border:0;border-radius:0;padding:0;background:#0f1626;
  position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}
dialog.rvw-lightbox::backdrop{background:rgba(10,14,24,.92)}
.rvw-lb-inner{position:relative;display:flex;flex-direction:column;height:100%;
  align-items:center;justify-content:center}
.rvw-lb-inner>img{flex:0 1 auto;max-width:94vw !important;
  max-height:calc(100dvh - 170px) !important;width:auto !important;height:auto !important;
  object-fit:contain;display:block;margin:0 auto;border-radius:8px;background:#0f1626}
.rvw-lb-cap{color:#e6ecf7;font-size:.9rem;line-height:1.5;padding:10px 56px;text-align:center}
.rvw-lb-strip{display:flex;gap:10px;overflow-x:auto;max-width:94vw;padding:8px 4px 14px;
  scrollbar-width:thin;scrollbar-color:#C9A86A #0f1626}
.rvw-lb-strip button{flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:6px;
  overflow:hidden;cursor:pointer;background:none;line-height:0;opacity:.65;transition:opacity .15s}
.rvw-lb-strip button:hover{opacity:1}
.rvw-lb-strip button.rvw-lb-on{border-color:#C9A86A;opacity:1}
.rvw-lb-strip img{height:56px;width:auto;display:block}
@media(max-width:559px){.rvw-lb-strip img{height:44px}}
.rvw-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);
  color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease}
.rvw-lb-btn:hover,.rvw-lb-btn:focus-visible{background:rgba(255,255,255,.3)}
.rvw-lb-btn:focus-visible{outline:3px solid #1D9E75;outline-offset:2px}
.rvw-lb-close{top:10px;right:10px}
.rvw-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.rvw-lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:559px){.rvw-lb-cap{padding:10px 48px 12px 12px;font-size:.82rem}}
