/* One consistent control column at the left edge of each product preview. */
#sub-model-features { position: fixed; inset: 0; z-index: 37; pointer-events: none; }
#sub-model-features[hidden] { display: none !important; }
#sub-model-features svg { width: 100%; height: 100%; overflow: visible; }
#sub-model-features path { fill: none; stroke: #e6e6e8; stroke-width: 1; opacity: .85; }
#sub-model-features circle { fill: #ef303c; stroke: #fff; stroke-width: 1; }
#sub-model-features .feature-callout[hidden] { display: none !important; }
#subviewer-dialog #sub-model-features { position: absolute; z-index: 1; }
#subviewer-dialog #sub-explore-features { display: block !important; order: -2; }
body :is(#feature-toggle, #sub-explore-features, #mount-tripod, #sub-mount-tripod, #sub-pole-system, #wedge-pole-system, #reset-model, #sub-reset-model, #w-info-toggle, #sub-open-model, #wedge-open-model),
body :is(.wedgeviewer-toolbar, .subviewer-toolbar) button {
  border-color: #51545c !important;
  box-shadow: none !important;
}
@media (min-width: 761px) {
  body:not(.wedgeviewer-open):not(.subviewer-open) :is(#feature-toggle, #sub-explore-features, #mount-tripod, #sub-mount-tripod, #sub-pole-system, #wedge-pole-system, #reset-model, #sub-reset-model, #w-info-toggle, #sub-open-model) {
    position: fixed !important;
    left: 5% !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 174px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font: 400 12px/1.2 system-ui, sans-serif !important;
    white-space: nowrap;
    z-index: 45 !important;
  }
  body { --viewer-controls-bottom: 84px; }
  body :is(#w-info-toggle, #sub-open-model) { bottom: calc(var(--viewer-controls-bottom) + 176px) !important; }
  body :is(#feature-toggle, #sub-explore-features) { bottom: calc(var(--viewer-controls-bottom) + 132px) !important; }
  body :is(#mount-tripod, #sub-mount-tripod) { bottom: calc(var(--viewer-controls-bottom) + 44px) !important; }
  body :is(#reset-model, #sub-reset-model) { bottom: var(--viewer-controls-bottom) !important; }
}
@media (min-width: 761px) and (max-height: 500px) {
  body { --viewer-controls-bottom: 45px; }
}
@media (max-width: 760px) {
  body .mobile-inline-3d :is(#wedge-open-model, #sub-open-model) {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }
}
/* Fullscreen controls sit above the close button in the same left column. */
body :is(#wedgeviewer-dialog, #subviewer-dialog) :is(.viewer-actions, .sub-viewer-actions) {
  inset: auto auto calc(66px + env(safe-area-inset-bottom, 0px)) 18px !important;
  width: 174px;
  max-width: calc(100% - 36px);
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  transform: none !important;
}
body :is(#wedgeviewer-dialog, #subviewer-dialog) :is(.viewer-actions, .sub-viewer-actions) button {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  white-space: nowrap;
}
body :is(.wedgeviewer-toolbar, .subviewer-toolbar) {
  left: 18px !important;
  right: auto !important;
  width: 174px;
}
body :is(.wedgeviewer-toolbar, .subviewer-toolbar) button { width: 100%; }

@media(min-width:761px){body :is(#sub-pole-system,#wedge-pole-system){bottom:calc(var(--viewer-controls-bottom) + 88px)!important;}}
body :is(#sub-pole-system,#wedge-pole-system){background:#101113;color:#eee;border:1px solid #51545c;cursor:pointer;order:-1;}

@media(min-width:761px){
  body :is(#wedge-info,.sub-product-info){
    transition:opacity 600ms ease,transform 600ms ease,visibility 600ms;
    opacity:1;transform:translateX(0);visibility:visible;
  }
  body :is(#wedge-info,.sub-product-info)[hidden]{
    display:flex!important;opacity:0;transform:translateX(48px);
    visibility:hidden;pointer-events:none;
  }
}
@media(prefers-reduced-motion:reduce){body :is(#wedge-info,.sub-product-info){transition:none;}}

/* Match the PS212A technical callouts across both product viewers. */
#model-features path,#sub-model-features path{fill:none;stroke:#ed1938;stroke-width:1.2;opacity:1}
#model-features circle,#sub-model-features circle{fill:#ed1938;stroke:none}
#model-features .feature-callout,#sub-model-features .feature-callout{color:#f2f2f2;line-height:22px;text-shadow:0 1px 4px #000;background:#090b0dcc;padding:0 4px;box-sizing:border-box}
