/* 🧊 Кнопки «3D» / «AR» над галереей карточки и окно просмотрщика (12.10.2026). Грузится только вместе с кнопками
   (func_rf3d.php). Док: docs/dewu_3d_ar_tryon_plan_20261012.md */
.ut2-pb__img-wrapper { position: relative; }
.rf3d-btns {
  position: absolute; z-index: 6; right: 14px; top: 58px;
  display: flex; flex-direction: column; gap: 10px;
}
.rf3d-btn {
  width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%;
  background: #fff; color: #14161a; cursor: pointer;
  box-shadow: 0 2px 10px rgba(20, 22, 26, .14);
  display: flex; align-items: center; justify-content: center; flex-direction: column;
  font: 800 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  letter-spacing: -.02em;
  transition: transform .15s ease, box-shadow .15s ease;
}
.rf3d-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(20, 22, 26, .18); }
.rf3d-btn:focus-visible { outline: 2px solid #7b4dff; outline-offset: 2px; }
.rf3d-btn--3d i {
  display: block; width: 22px; height: 6px; margin-top: 3px;
  border: 1.6px solid currentColor; border-top-color: transparent; border-radius: 0 0 50% 50% / 0 0 100% 100%;
}
.rf3d-btn--ar { position: relative; }
.rf3d-btn--ar svg { position: absolute; width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.rf3d-btn--ar span { position: relative; font-size: 11px; }
.rf3d-ov { position: fixed; inset: 0; z-index: 100000; background: #000; }
.rf3d-ov__frame { display: block; width: 100%; height: 100%; border: 0; }
html.rf3d-lock, html.rf3d-lock body { overflow: hidden; }
@media (min-width: 1024px) {
  .rf3d-ov { inset: 3vh 4vw; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 100vmax rgba(10, 12, 16, .6); }
}
@media (max-width: 767px) {
  .rf3d-btns { right: 10px; top: 50px; gap: 8px; }
  .rf3d-btn { width: 42px; height: 42px; font-size: 13px; }
}
.rf3d-btns[hidden] { display: none; }
