/* O2Core diagram fullscreen viewer 1.1.0 */
.gmpex .gmpex-lens,
.gmpex .gmpex-magnifier { display:none!important; visibility:hidden!important; }
.gmpex .gmpex-stage img { cursor:zoom-in; }
.gmpex .gmpex-stage .gmpex-pin,
.gmpex .gmpex-stage button { cursor:pointer; }
.gmpex .o2gm-open-bar {
  display:flex; justify-content:flex-end; padding:0 0 12px;
  background:transparent!important;
}
.gmpex .o2gm-open-button {
  display:inline-flex!important; align-items:center; justify-content:center;
  width:auto!important; min-height:38px; padding:9px 15px!important;
  border:1px solid #e50914!important; border-radius:7px!important;
  background:#e50914!important; color:#fff!important;
  font-family:inherit; font-size:12px; font-weight:700; line-height:1.3; letter-spacing:.03em;
  cursor:pointer!important;
}
.gmpex .o2gm-open-button:hover { background:#b40812!important; }
body.o2gm-no-scroll { overflow:hidden!important; }
.o2gm-overlay {
  position:fixed!important; inset:0!important; z-index:2147483000!important;
  width:100vw; height:100vh; height:100dvh;
  background:#09090b!important; color:#fff!important;
  display:flex!important; flex-direction:column!important;
  box-sizing:border-box!important;
}
.o2gm-overlay:fullscreen { background:#09090b!important; }
.o2gm-toolbar {
  flex:none; min-height:64px; padding:10px 18px;
  box-sizing:border-box; display:flex; justify-content:space-between;
  align-items:center; gap:12px; border-bottom:1px solid #363636;
}
.o2gm-toolbar-label { font:700 12px/1.5 Arial,sans-serif; letter-spacing:.045em; color:#e4e4e7; }
.o2gm-close-button {
  display:inline-flex!important; width:auto!important; min-width:94px;
  align-items:center; justify-content:center; padding:10px 14px!important;
  border:1px solid #e50914!important; background:#e50914!important;
  border-radius:7px!important; color:white!important;
  font:700 13px/1.2 Arial,sans-serif!important; cursor:pointer;
}
.o2gm-close-button:hover { background:#ae0b13!important; }
.o2gm-close-button:focus-visible,
.gmpex .o2gm-open-button:focus-visible { outline:3px solid #ffdf47!important; outline-offset:2px!important; }
.o2gm-canvas {
  display:flex; flex:1 1 auto; min-width:0; min-height:0;
  align-items:center; justify-content:center; padding:8px 12px 16px;
  box-sizing:border-box; overflow:auto;
}
.gmpex.o2gm-viewing {
  width:var(--o2gm-fit-width, 95vw)!important;
  min-width:0!important; max-width:none!important;
  flex:none!important; margin:0!important; padding:0!important;
  border:none!important; background:transparent!important;
}
.gmpex.o2gm-viewing .gmpex-note,
.gmpex.o2gm-viewing .o2gm-open-bar { display:none!important; }
.gmpex.o2gm-viewing .gmpex-stage {
  position:relative!important; width:100%!important; height:auto!important;
  max-width:none!important; margin:0!important; padding:0!important;
  border:1px solid #454545!important; border-radius:8px!important;
  overflow:visible!important; background:white!important;
  box-sizing:border-box!important; box-shadow:0 20px 60px #0009;
}
.gmpex.o2gm-viewing .gmpex-stage img {
  display:block!important; width:100%!important; height:auto!important;
  min-width:0!important; max-width:none!important;
  margin:0!important; padding:0!important; object-fit:contain!important;
  cursor:default!important;
}
.gmpex.o2gm-viewing .gmpex-stage .gmpex-pin,
.gmpex.o2gm-viewing .gmpex-stage button:not(.o2gm-open-button) {
  z-index:5; pointer-events:auto!important;
}
/* Native WooCommerce product modal remains clickable above the viewport. */
.gmpex.o2gm-viewing .gmpex-dialog { z-index:2147483600; }
@media(max-width:600px){
  .o2gm-toolbar {padding:10px; gap:8px;}
  .o2gm-toolbar-label {font-size:10px; letter-spacing:0;}
  .o2gm-close-button {min-width:76px; padding:9px!important;}
}
@media(prefers-reduced-motion:reduce){.gmpex.o2gm-viewing *{transition:none!important;}}
