/* GLO Optical 1.1.24 — Original-model poster and interactive presentation. */
.go-solution-3d-active{
  position:relative!important;
  overflow:visible!important;
  background:radial-gradient(circle at 50% 46%,rgba(91,166,197,.16),rgba(34,91,119,.055) 38%,transparent 70%)!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.go-solution-3d-shell{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  isolation:isolate;
  overflow:hidden;
  border-radius:28px;
  background:radial-gradient(circle at 50% 48%,rgba(150,216,236,.09),rgba(7,14,19,.02) 58%,transparent 76%);
}
.go-solution-3d-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  opacity:0;
  transition:opacity .26s cubic-bezier(.2,.75,.25,1);
  z-index:2;
  background:transparent;
}
.go-solution-3d-shell.is-ready .go-solution-3d-frame{opacity:1}
/* The current model poster replaces the obsolete product artwork. */
.go-solution-3d-active>img{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.go-solution-3d-active>figcaption,.go-solution-3d-active>.product-hero-mark{opacity:0!important;pointer-events:none}
.go-solution-3d-badge{
  position:absolute;
  top:18px;
  inset-inline-start:18px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:rgba(241,248,251,.88);
  background:rgba(6,13,18,.38);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
  font:600 11px/1 var(--font-en,Manrope,sans-serif);
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
  opacity:0;
  transform:translateY(-3px);
  transition:opacity .24s ease,transform .24s ease;
}
.go-solution-3d-shell.is-ready .go-solution-3d-badge{opacity:1;transform:none}
.go-solution-3d-badge::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:#f3c018;
  box-shadow:0 0 0 4px rgba(243,192,24,.1),0 0 18px rgba(243,192,24,.35);
}
.go-solution-3d-hint{
  position:absolute;
  bottom:17px;
  left:50%;
  transform:translateX(-50%);
  z-index:4;
  white-space:nowrap;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  color:rgba(235,244,248,.76);
  background:rgba(6,13,18,.34);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  backdrop-filter:blur(12px) saturate(130%);
  font-size:11px;
  line-height:1;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s ease;
}
.go-solution-3d-shell.is-ready:not(.has-interacted) .go-solution-3d-hint{opacity:.92}
.go-solution-3d-shell.has-interacted .go-solution-3d-hint{opacity:0}
.home-app #go-solution .solution-visual.go-solution-3d-active{
  aspect-ratio:1/1!important;
  width:min(42vw,560px)!important;
  max-width:560px!important;
  min-width:360px;
  height:auto!important;
  align-self:center;
}
.detail-go-solution .product-hero-visual.go-solution-3d-active{
  aspect-ratio:1/1!important;
  width:min(46vw,660px)!important;
  max-width:660px!important;
  height:auto!important;
  justify-self:center;
  align-self:center;
}
@media (max-width:1100px){
  .home-app #go-solution .solution-visual.go-solution-3d-active{width:min(48vw,500px)!important;min-width:310px}
  .detail-go-solution .product-hero-visual.go-solution-3d-active{width:min(52vw,560px)!important}
}
@media (max-width:767px){
  .home-app #go-solution .solution-visual.go-solution-3d-active,
  .detail-go-solution .product-hero-visual.go-solution-3d-active{
    width:100%!important;
    max-width:390px!important;
    min-width:0!important;
    margin-inline:auto!important;
  }
  .go-solution-3d-shell{border-radius:22px}
  .go-solution-3d-badge{top:12px;inset-inline-start:12px;padding:8px 10px;font-size:9px}
  .go-solution-3d-hint{bottom:12px;padding:8px 11px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  .go-solution-3d-frame,.go-solution-3d-hint,.go-solution-3d-badge{transition:none}
}

.go-solution-3d-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;z-index:1;opacity:1;transition:opacity .26s ease;pointer-events:none}
.go-solution-3d-shell.is-ready .go-solution-3d-poster{opacity:0}
.go-solution-3d-frame:focus-visible{outline:2px solid #e1bd59;outline-offset:-5px;border-radius:22px}




@media(prefers-reduced-motion:reduce){.go-solution-3d-poster{transition:none}}

/* A server-rendered image is visible before React or the viewer starts. */
.home-app #go-solution .solution-visual.package-studio:not(.go-solution-3d-active),
.detail-go-solution .product-hero-visual.package-studio:not(.go-solution-3d-active){aspect-ratio:1/1;background:transparent;padding:0}
.home-app #go-solution .solution-visual.package-studio:not(.go-solution-3d-active)>img,
.detail-go-solution .product-hero-visual.package-studio:not(.go-solution-3d-active)>img{display:block;opacity:1;visibility:visible;width:100%;height:100%;object-fit:contain;filter:none}

@media(max-width:767px) and (pointer:coarse){.go-solution-3d-shell{touch-action:pan-y}.go-solution-3d-touch{position:absolute;inset:0;z-index:9;touch-action:pan-y;-webkit-tap-highlight-color:transparent;background:transparent}}

/* GLO 1.1.41 — actual viewer readiness, not timer-based discovery. */
.go-solution-3d-loading{position:absolute;left:50%;bottom:17px;z-index:4;display:flex;align-items:center;gap:8px;transform:translateX(-50%);white-space:nowrap;padding:9px 13px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:rgba(235,244,248,.76);background:rgba(6,13,18,.34);font-size:11px;line-height:1;pointer-events:none;transition:opacity .25s ease,visibility .25s}
.go-solution-3d-loading i{width:10px;height:10px;border:1.5px solid rgba(255,255,255,.25);border-top-color:#f3c018;border-radius:50%;animation:gloGoSpin .85s linear infinite}
.go-solution-3d-shell.is-ready .go-solution-3d-loading,.go-solution-3d-shell.has-error .go-solution-3d-loading{opacity:0;visibility:hidden}
@keyframes gloGoSpin{to{transform:rotate(360deg)}}
@media(max-width:767px){.go-solution-3d-loading{bottom:12px;padding:8px 11px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.go-solution-3d-loading i{animation:none}.go-solution-3d-loading{transition:none}}

.go-solution-3d-hint{display:flex;align-items:center;gap:7px}.go-solution-3d-hint svg{width:25px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
