/* ===== SATURN SA – vizualizare 3D pentru imaginile din caruselul de produse =====
   Pictograma 3D este un strat CSS deasupra imaginii (::after): fisierul foto NU este modificat. */
.has-3d{position:relative;cursor:pointer}
.has-3d::after{content:"";position:absolute;right:14px;bottom:14px;width:96px;height:41px;
  background:url("/assets/images/badge-3d.svg") no-repeat center/contain;pointer-events:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));transition:transform .2s ease;z-index:3}
.has-3d:hover::after,.has-3d:focus-visible::after{transform:scale(1.08)}
.has-3d:focus-visible{outline:3px solid #ffcc00;outline-offset:2px}
.has-3d img{display:block;max-width:100%;height:auto}

.v3d-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
  background:rgba(8,16,30,.9);padding:2vh 2vw}
.v3d-overlay.v3d-open{display:flex}
.v3d-dialog{position:relative;width:min(1100px,96vw);height:min(720px,88vh);background:#0d1b2e;border-radius:10px;
  overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.v3d-dialog model-viewer{width:100%;height:100%;background:radial-gradient(circle at 50% 40%,#f4f6f9 0%,#cfd6e0 100%);--poster-color:transparent}
.v3d-title{position:absolute;left:18px;top:14px;margin:0;font:600 17px/1.3 "Open Sans",Arial,sans-serif;color:#0d1b2e;
  background:rgba(255,255,255,.82);padding:6px 12px;border-radius:6px;z-index:2;max-width:calc(100% - 90px)}
.v3d-close{position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#ffcc00;color:#0d1b2e;
  font:700 26px/1 Arial,sans-serif;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center}
.v3d-close:hover{background:#fff}
.v3d-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
.v3d-hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;font:400 14px/1.3 "Open Sans",Arial,sans-serif;color:#0d1b2e;
  pointer-events:none;z-index:2}
.v3d-hint span{background:rgba(255,255,255,.82);padding:5px 12px;border-radius:14px}
.v3d-msg{position:absolute;inset:0;display:none;align-items:center;justify-content:center;text-align:center;padding:30px;
  font:400 17px/1.4 "Open Sans",Arial,sans-serif;color:#0d1b2e;background:rgba(244,246,249,.92);z-index:4}
.v3d-msg.v3d-show{display:flex}
body.v3d-lock{overflow:hidden}
@media (max-width:576px){.has-3d::after{width:78px;height:33px;right:10px;bottom:10px}.v3d-dialog{height:78vh}}
