/* Service and product detail galleries. */
.rb-detail-gallery{width:100%;position:relative}
.rb-detail-gallery__stage{position:relative;overflow:hidden;background:#17130f;border:1px solid rgba(200,149,68,.24);border-radius:2px}
.rb-detail-gallery--service .rb-detail-gallery__stage{aspect-ratio:4/3}
.rb-detail-gallery--product .rb-detail-gallery__stage{aspect-ratio:1/1}
.rb-detail-gallery__main{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.rb-detail-gallery__main img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .24s ease,transform .45s ease}
.rb-detail-gallery--product .rb-detail-gallery__main img{object-fit:contain;background:#f3eee4}
.rb-detail-gallery__main:hover img{transform:scale(1.018)}
.rb-detail-gallery__main img.is-changing{opacity:.28}
.rb-detail-gallery__zoom{position:absolute;right:16px;top:16px;width:42px;height:42px;display:grid;place-items:center;color:#fff;background:rgba(18,14,10,.72);border:1px solid rgba(255,255,255,.25);border-radius:50%;backdrop-filter:blur(8px);pointer-events:none}
.rb-detail-gallery__nav{position:absolute;z-index:2;top:50%;translate:0 -50%;width:44px;height:52px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:2px;color:#fff;background:rgba(18,14,10,.68);font:400 32px/1 Georgia,serif;cursor:pointer;transition:background .2s ease,color .2s ease}
.rb-detail-gallery__nav:hover{color:#17110a;background:#d8a14c}
.rb-detail-gallery__nav--prev{left:14px}.rb-detail-gallery__nav--next{right:14px}
.rb-detail-gallery__counter{position:absolute;right:15px;bottom:14px;padding:6px 10px;color:#fff;background:rgba(18,14,10,.72);border-radius:999px;font-size:12px;line-height:1}
.rb-detail-gallery__thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76px,96px);gap:10px;margin-top:12px;padding:2px 2px 8px;overflow-x:auto;scrollbar-width:thin}
.rb-detail-gallery__thumb{aspect-ratio:1/1;padding:0;border:2px solid transparent;background:#211b15;overflow:hidden;cursor:pointer;opacity:.66;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.rb-detail-gallery__thumb:hover{opacity:1;transform:translateY(-2px)}
.rb-detail-gallery__thumb.is-active{opacity:1;border-color:#d8a14c}
.rb-detail-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rb-detail-gallery-fallback,.rb-detail-gallery-fallback img{width:100%;height:100%}
.rb-detail-gallery-fallback img{object-fit:cover}
.rb-detail-gallery-admin__preview{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.rb-detail-gallery-admin__preview span{width:72px;height:72px;border:1px solid #c3c4c7;background:#fff}
.rb-detail-gallery-admin__preview img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){
  .rb-detail-gallery__nav{width:40px;height:46px}
  .rb-detail-gallery__nav--prev{left:8px}.rb-detail-gallery__nav--next{right:8px}
  .rb-detail-gallery__zoom{right:10px;top:10px;width:38px;height:38px}
  .rb-detail-gallery__thumbs{grid-auto-columns:70px;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .rb-detail-gallery__main img,.rb-detail-gallery__thumb{transition:none}
}

/* Final gallery framing, mixed media and sticky detail behavior. */
.product-detail-hero__media:has(.rb-detail-gallery),
.service-detail-hero__media:has(.rb-detail-gallery){
  min-height:0;
  height:auto;
  overflow:visible;
  border-radius:0;
}
.rb-product-detail--hub .product-detail-hero__media:has(.rb-detail-gallery){
  aspect-ratio:auto;
}
.rb-detail-gallery__stage{
  border-radius:22px;
  clip-path:inset(0 round 22px);
  isolation:isolate;
}
.rb-detail-gallery__main{border-radius:inherit}
.rb-detail-gallery__play{
  display:none;
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  translate:-50% -50%;
  width:72px;
  height:72px;
  place-items:center;
  padding-left:5px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  color:#fff;
  background:rgba(15,11,7,.78);
  box-shadow:0 14px 36px rgba(0,0,0,.38);
  font-size:24px;
  pointer-events:none;
}
.rb-detail-gallery__main.is-video .rb-detail-gallery__play{display:grid}
.rb-detail-gallery__video-thumb{
  display:grid;
  width:100%;
  height:100%;
  place-content:center;
  gap:4px;
  color:#f5d7a1;
  background:radial-gradient(circle at 50% 35%,rgba(216,161,76,.2),transparent 55%),#21170f;
}
.rb-detail-gallery__video-thumb span{font-size:22px}
.rb-detail-gallery__video-thumb small{font-size:9px;letter-spacing:.16em}
@media(min-width:1025px){
  .rb-service-detail--hub .service-detail-hero__grid{align-items:start}
  .rb-service-detail--hub .service-detail-hero__media:has(.rb-detail-gallery){
    position:sticky;
    top:calc(var(--rb-header-offset, 92px) + 20px);
    align-self:start;
  }
}
@media(max-width:767px){
  .rb-detail-gallery__stage{
    border-radius:16px;
    clip-path:inset(0 round 16px);
  }
  .rb-detail-gallery__play{width:58px;height:58px;font-size:20px}
}
