/* Gemeinsame Grundstruktur fuer alle interaktiven Produktseiten. */
.oe-product-template .oe-viewer-logo{
  top:2.4vh!important;width:min(40vw,820px)!important;
  filter:brightness(1.08) contrast(1.08) drop-shadow(0 3px 4px rgba(0,0,0,.72)) drop-shadow(0 0 18px rgba(103,194,239,.24))!important
}
.oe-product-template .oe-product-side{
  display:grid!important;grid-template-columns:minmax(260px,23.5%) 1fr minmax(260px,23.5%);
  grid-template-rows:repeat(3,minmax(76px,auto));row-gap:clamp(26px,3.2vh,42px);
  position:absolute;inset:29% 3.4% auto 3.4%!important;width:auto!important;z-index:18;pointer-events:none
}
.oe-product-template .oe-product-side .info{
  display:grid!important;grid-template-columns:clamp(34px,2.2vw,43px) minmax(0,1fr)!important;
  gap:clamp(14px,1vw,21px)!important;align-items:start!important;min-width:0;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.96),0 0 18px rgba(0,0,0,.7)!important;
  pointer-events:auto;transition:transform .2s ease,filter .2s ease,opacity .28s ease,visibility .28s ease
}
.oe-product-template .oe-product-side .info:nth-child(1){grid-column:1;grid-row:1}
.oe-product-template .oe-product-side .info:nth-child(2){grid-column:1;grid-row:2}
.oe-product-template .oe-product-side .info:nth-child(3){grid-column:1;grid-row:3}
.oe-product-template .oe-product-side .info:nth-child(4){grid-column:3;grid-row:1}
.oe-product-template .oe-product-side .info:nth-child(5){grid-column:3;grid-row:2}
.oe-product-template .oe-product-side .info:nth-child(6){grid-column:3;grid-row:3}
.oe-product-template .oe-product-side.oe-four-point-side{grid-template-rows:repeat(2,minmax(92px,auto))!important;row-gap:clamp(34px,4vh,50px)!important}
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(1){grid-column:1!important;grid-row:1!important}
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(2){grid-column:1!important;grid-row:2!important}
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(3){grid-column:3!important;grid-row:1!important}
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(4){grid-column:3!important;grid-row:2!important}
.oe-product-template .oe-product-side .badge{
  width:clamp(32px,2vw,40px)!important;height:clamp(32px,2vw,40px)!important;font-size:clamp(15px,.95vw,19px)!important;
  color:#fff!important;border:1px solid rgba(184,226,255,.46)!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;background:linear-gradient(180deg,#087fa7,#025a78)!important;
  box-shadow:0 0 24px rgba(3,107,141,.68)!important
}
.oe-product-template .oe-product-side .info:nth-child(6) .badge{background:linear-gradient(180deg,#27d17f,#0b7a46)!important}
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(4) .badge{background:linear-gradient(180deg,#27d17f,#0b7a46)!important}
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(4),
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(5),
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(6),
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(3),
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(4){
  grid-template-columns:minmax(0,1fr) clamp(34px,2.2vw,43px)!important;text-align:right!important
}
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(4)>.badge,
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(5)>.badge,
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(6)>.badge,
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(3)>.badge,
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(4)>.badge{
  grid-column:2!important;grid-row:1!important
}
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(4)>div:last-child,
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(5)>div:last-child,
.oe-product-template .oe-product-side:not(.oe-four-point-side) .info:nth-child(6)>div:last-child,
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(3)>div:last-child,
.oe-product-template .oe-product-side.oe-four-point-side .info:nth-child(4)>div:last-child{
  grid-column:1!important;grid-row:1!important
}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side{
  display:grid!important;grid-template-columns:minmax(280px,27%) 1fr minmax(280px,27%)!important;
  grid-template-rows:repeat(2,minmax(92px,auto))!important;column-gap:3vw!important;row-gap:clamp(30px,4vh,48px)!important;
  left:4.2%!important;right:4.2%!important;top:28%!important;bottom:auto!important;width:auto!important
}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info{display:grid!important}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(1){grid-column:1!important;grid-row:1!important}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(2){grid-column:1!important;grid-row:2!important}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(3){grid-column:3!important;grid-row:1!important}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(4){grid-column:3!important;grid-row:2!important}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(3),
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(4){
  grid-template-columns:minmax(0,1fr) clamp(34px,2.2vw,43px)!important;
  text-align:right!important
}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(3)>.badge,
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(4)>.badge{
  grid-column:2!important;grid-row:1!important
}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(3)>div:last-child,
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(4)>div:last-child{
  grid-column:1!important;grid-row:1!important
}
.oe-product-template.oe-pistons-viewer .oe-product-side.oe-piston-side .info:nth-child(4) .badge{background:linear-gradient(180deg,#27d17f,#0b7a46)!important}
.oe-piston-exploration{display:none;position:fixed;inset:0;z-index:120;background:rgba(0,5,9,.94);place-items:center;padding:2vh 2vw}
.oe-piston-exploration.open{display:grid}
.oe-piston-exploration-wrap{position:relative;width:min(94vw,94vh);aspect-ratio:1;max-width:1254px;max-height:1254px;background:#f1f1f1;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.58)}
.oe-piston-exploration-image{display:block;width:100%;height:100%;object-fit:contain}
.oe-piston-exploration-lines{position:absolute;inset:0;z-index:121;width:100%;height:100%;overflow:visible;pointer-events:none}
.oe-piston-exploration-lines path{fill:none;stroke:#087ba4;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.oe-piston-exploration-lines circle{fill:#eaf8ff;stroke:#087ba4;stroke-width:2.2;vector-effect:non-scaling-stroke}
.oe-piston-exploration-close{position:fixed;left:18px;top:16px;z-index:123;border:1px solid rgba(255,255,255,.28);background:rgba(0,18,31,.88);color:#fff;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}
.oe-piston-label{position:absolute;z-index:122;display:grid;place-items:center;height:4.55%;padding:0 .55%;border:2px solid #1389ba;background:#00688f;color:#fff;font-family:"Arial Narrow",Arial,Helvetica,sans-serif;font-size:clamp(9px,1.55vw,25px);font-weight:900;line-height:1;letter-spacing:.015em;text-align:center;white-space:nowrap;box-shadow:inset 0 0 0 2px rgba(255,255,255,.68)}
.oe-piston-label.rings{left:76.2%;top:18.7%;width:21.1%}
.oe-piston-label.body{left:2.35%;top:82.45%;width:18.1%}
.oe-piston-label.pin{left:75.2%;top:58%;width:17.8%}
.oe-piston-label.clips{left:34.4%;top:91.75%;width:26%;font-size:clamp(8px,1.3vw,21px)}
@media(max-width:800px){.oe-piston-exploration{padding:7vh 1vw 1vh}.oe-piston-label{border-width:1px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.68);font-size:clamp(7px,1.55vw,12px)}}
.oe-product-exploration{display:none;position:fixed;inset:0;z-index:120;background:rgba(0,5,9,.94);place-items:center;padding:2vh 2vw}
.oe-product-exploration.open{display:grid}
.oe-product-exploration-wrap{position:relative;width:min(94vw,94vh);aspect-ratio:1;max-width:1254px;max-height:1254px;background:#f1f1f1;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.58)}
.oe-product-exploration-image{display:block;width:100%;height:100%;object-fit:contain}
.oe-product-exploration-lines{position:absolute;inset:0;z-index:121;width:100%;height:100%;overflow:visible;pointer-events:none}
.oe-product-exploration-lines path{fill:none;stroke:#087ba4;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.oe-product-exploration-lines circle{fill:#eaf8ff;stroke:#087ba4;stroke-width:2.2;vector-effect:non-scaling-stroke}
.oe-product-exploration-close{position:fixed;left:18px;top:16px;z-index:123;border:1px solid rgba(255,255,255,.28);background:rgba(0,18,31,.88);color:#fff;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}
.oe-exploration-label{position:absolute;z-index:122;display:grid;place-items:center;height:4.55%;padding:0 .55%;border:2px solid #1389ba;background:#00688f;color:#fff;font-family:"Arial Narrow",Arial,Helvetica,sans-serif;font-size:clamp(8px,1.25vw,20px);font-weight:900;line-height:1;letter-spacing:.01em;text-align:center;white-space:nowrap;box-shadow:inset 0 0 0 2px rgba(255,255,255,.68)}
@media(max-width:800px){.oe-product-exploration{padding:7vh 1vw 1vh}.oe-exploration-label{border-width:1px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.68);font-size:clamp(6px,1.35vw,11px)}}
.oe-product-template .oe-product-side h3{margin:0 0 clamp(7px,.7vh,11px)!important;color:#fff!important;font-size:clamp(21px,1.38vw,28px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:.015em!important}
.oe-product-template .oe-product-side p{margin:0!important;color:#f1f7fb!important;font-size:clamp(16px,1.02vw,20px)!important;font-weight:500!important;line-height:1.28!important}
.oe-product-template:not(.oe-turbo-viewer):not(.oe-water-viewer) .stage,
.oe-product-template:not(.oe-turbo-viewer):not(.oe-water-viewer) #stage{
  left:26%!important;right:auto!important;top:20.5%!important;bottom:auto!important;width:48%!important;height:64%!important;overflow:visible!important
}
.oe-product-template.oe-motorblock2-viewer #stage,
.oe-product-template.oe-nockenwelle-viewer .stage{top:16.5%!important}
.oe-product-template.oe-motorblock2-viewer #stage{top:4.5%!important}
.oe-product-template.oe-motorblock2-viewer #stage,
.oe-product-template.oe-nockenwelle-viewer .stage,
.oe-product-template.oe-zylinder-viewer .stage,
.oe-product-template.oe-pistons-viewer .stage,
.oe-product-template.oe-gummimetallteile-viewer .stage,
.oe-product-template.oe-motorlager-viewer .stage,
.oe-product-template.oe-gleitschienen-viewer .stage{background:transparent!important;background-image:none!important;box-shadow:none!important}
.oe-product-template.oe-hydraulic-pumps-viewer .viewer-shell{background:#000!important;background-image:none!important;box-shadow:none!important}
.oe-product-template.oe-hydraulic-pumps-viewer .stage{background:transparent!important;background-image:none!important;box-shadow:none!important}
.oe-product-template.oe-hydraulic-pumps-viewer .oe-product-exploration-wrap{width:min(96vw,1500px);height:auto;aspect-ratio:1619/971;max-width:1500px;max-height:90vh;background:#fff}
.oe-product-template.oe-motorlager-viewer #productImage{width:94%!important;height:94%!important}
.oe-product-template.oe-gleitschienen-viewer #productImage{width:158.4%!important;height:158.4%!important}
.oe-product-template.oe-hydraulic-pumps-viewer #productImage{width:123%!important;height:113%!important}
.oe-product-template.oe-water-viewer .viewer{
  left:26%!important;right:auto!important;top:20.5%!important;bottom:auto!important;width:48%!important;height:64%!important;transform:none!important
}
.oe-product-template .topbar,.oe-product-template .hud,.oe-product-template .title,.oe-product-template .rule,
.oe-product-template .top-mask,.oe-product-template .bottom-mask,.oe-product-template .controls,
.oe-product-template .nocken-zoom-controls,.oe-product-template .oe-zoom-controls-v29{display:none!important}

/* V19.20: Alle vorhandenen Zoom-/Resetleisten einheitlich unten rechts auf Sloganhöhe. */
.oe-product-template .oe-zoom-controls-v29,
.oe-product-template .nocken-zoom-controls,
.oe-product-template .motorlager-zoom-controls,
.oe-product-template .gleitschienen-zoom-controls,
.oe-product-template .piston-zoom-controls,
.oe-product-template .gummi-static-zoom-controls,
.oe-product-template.oe-zylinder-viewer .controls{
  display:flex!important;position:fixed!important;z-index:42!important;
  left:auto!important;right:6.2%!important;top:auto!important;bottom:4.5vh!important;
  transform:none!important;opacity:1!important;visibility:visible!important
}
.oe-product-template.oe-zylinder-viewer .controls .hint{display:none!important}
.oe-product-template.oe-kurbelwelle-viewer .hud,
.oe-product-template.oe-motorblock2-viewer .hud{
  display:block!important;position:fixed!important;z-index:42!important;
  left:auto!important;right:6.2%!important;top:auto!important;bottom:4.5vh!important;
  width:auto!important;transform:none!important;pointer-events:none!important
}
.oe-product-template.oe-kurbelwelle-viewer .hud .panel:first-child,
.oe-product-template.oe-motorblock2-viewer .hud .panel:first-child{display:none!important}
.oe-product-template.oe-kurbelwelle-viewer .hud .panel:last-child,
.oe-product-template.oe-motorblock2-viewer .hud .panel:last-child{
  display:flex!important;pointer-events:auto!important;margin:0!important;
  border:1px solid rgba(104,190,255,.54)!important;border-radius:999px!important;
  background:rgba(0,15,28,.88)!important;padding:8px 10px!important
}
.oe-product-template.oe-product-active .oe-zoom-controls-v29,
.oe-product-template.oe-product-active .nocken-zoom-controls,
.oe-product-template.oe-product-active .motorlager-zoom-controls,
.oe-product-template.oe-product-active .gleitschienen-zoom-controls,
.oe-product-template.oe-product-active .piston-zoom-controls,
.oe-product-template.oe-product-active .gummi-static-zoom-controls,
.oe-product-template.oe-product-active.oe-zylinder-viewer .controls,
.oe-product-template.oe-product-active.oe-kurbelwelle-viewer .hud,
.oe-product-template.oe-product-active.oe-motorblock2-viewer .hud{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important
}
.oe-product-template .oe-viewer-slogan span{display:none!important}
.oe-product-template .oe-viewer-slogan strong{
  font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;font-size:clamp(24px,2.93vw,56px)!important;
  font-weight:900!important;line-height:1!important;letter-spacing:.085em!important;
  background:linear-gradient(180deg,#92c0e0 0%,#71a1c6 17%,#46789c 37%,#254866 57%,#17344b 69%,#3d6d90 86%,#6592b0 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;
  -webkit-text-stroke:.45px rgba(2,15,25,.9)!important;
  text-shadow:-1px -1px 0 rgba(175,220,247,.24),1px 1px 0 rgba(0,5,10,.96),2px 2px 1px rgba(0,8,15,.78),5px 7px 8px rgba(0,0,0,.48),0 0 15px rgba(24,123,182,.10)!important;
  filter:brightness(1.27) drop-shadow(5px 7px 6px rgba(0,0,0,.38))!important;opacity:1!important
}
.oe-product-template .oe-viewer-logo,.oe-product-template .oe-viewer-slogan,.oe-product-template .oe-product-side,
.oe-product-template .langbar,.oe-product-template #oeProductLink{transition:opacity .28s ease,visibility .28s ease}
.oe-product-template.oe-product-active .oe-viewer-logo,.oe-product-template.oe-product-active .oe-viewer-slogan,
.oe-product-template.oe-product-active .oe-product-side,.oe-product-template.oe-product-active .langbar,
.oe-product-template.oe-product-active #oeProductLink{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:800px){
  .oe-product-template .oe-product-side{grid-template-columns:minmax(155px,31%) 1fr minmax(155px,31%);grid-template-rows:repeat(3,minmax(58px,auto));inset:24% 2% auto 2%!important;row-gap:1.8vh}
  .oe-product-template .oe-product-side .info{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important}
  .oe-product-template .oe-product-side .badge{width:27px!important;height:27px!important;font-size:13px!important}
  .oe-product-template .oe-product-side h3{font-size:clamp(14px,2.25vw,18px)!important}
  .oe-product-template .oe-product-side p{font-size:clamp(11px,1.75vw,14px)!important}
  .oe-product-template .oe-viewer-slogan strong{font-size:clamp(18px,4.6vw,29px)!important}
  .oe-product-template .oe-zoom-controls-v29,.oe-product-template .nocken-zoom-controls,
  .oe-product-template .motorlager-zoom-controls,.oe-product-template .gleitschienen-zoom-controls,
  .oe-product-template .piston-zoom-controls,.oe-product-template .gummi-static-zoom-controls,
  .oe-product-template.oe-zylinder-viewer .controls,
  .oe-product-template.oe-kurbelwelle-viewer .hud,.oe-product-template.oe-motorblock2-viewer .hud{
    right:2.5%!important;bottom:4.5vh!important;transform:scale(.82)!important;transform-origin:right center!important
  }
}

/* V19.61: Bedienelemente exakt innerhalb der seitlichen Hilfslinien. */
.oe-product-template .langbar{
  position:fixed!important;left:auto!important;right:3.4%!important;top:6.4vh!important;bottom:auto!important;
  width:10.6%!important;min-width:0!important;display:flex!important;justify-content:center!important;
  gap:7px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
  transform:none!important;z-index:44!important
}
.oe-product-template .langbar button{
  flex:1 1 0!important;min-width:0!important;height:28px!important;padding:0 2px!important;
  border:1px solid rgba(126,198,255,.38)!important;border-radius:999px!important;
  background:rgba(0,15,28,.78)!important;color:#a9d7f8!important;
  font-size:clamp(9px,.58vw,12px)!important;font-weight:800!important;box-shadow:none!important
}
.oe-product-template .langbar button.active{
  color:#fff!important;border-color:#6bc6ff!important;background:#075b91!important;
  box-shadow:0 0 12px rgba(23,145,255,.38)!important
}
.oe-product-template .oe-zoom-controls-v29,
.oe-product-template .nocken-zoom-controls,
.oe-product-template .motorlager-zoom-controls,
.oe-product-template .gleitschienen-zoom-controls,
.oe-product-template .piston-zoom-controls,
.oe-product-template .gummi-static-zoom-controls,
.oe-product-template .hydraulik-zoom-controls,
.oe-product-template .federbein-zoom-controls,
.oe-product-template.oe-zylinder-viewer .controls,
.oe-product-template.oe-kurbelwelle-viewer .hud,
.oe-product-template.oe-motorblock2-viewer .hud{
  left:auto!important;right:3.4%!important;bottom:4.1vh!important;top:auto!important;
  width:10.6%!important;min-width:0!important;justify-content:center!important;transform:none!important
}
.oe-product-template .oe-zoom-controls-v29,
.oe-product-template .nocken-zoom-controls,
.oe-product-template .motorlager-zoom-controls,
.oe-product-template .gleitschienen-zoom-controls,
.oe-product-template .piston-zoom-controls,
.oe-product-template .gummi-static-zoom-controls,
.oe-product-template .hydraulik-zoom-controls,
.oe-product-template .federbein-zoom-controls,
.oe-product-template.oe-zylinder-viewer .controls{
  gap:4px!important;padding:5px 6px!important;box-sizing:border-box!important
}
.oe-product-template .oe-zoom-controls-v29 button,
.oe-product-template .nocken-zoom-controls button,
.oe-product-template .motorlager-zoom-controls button,
.oe-product-template .gleitschienen-zoom-controls button,
.oe-product-template .piston-zoom-controls button,
.oe-product-template .gummi-static-zoom-controls button,
.oe-product-template .hydraulik-zoom-controls button,
.oe-product-template .federbein-zoom-controls button,
.oe-product-template.oe-zylinder-viewer .controls button{
  min-width:28px!important;height:31px!important;padding:0 5px!important;font-size:13px!important
}
.oe-product-template .zoom-value,.oe-product-template .federbein-zoom-value,
.oe-product-template .oe-zoom-controls-v29 span,.oe-product-template.oe-zylinder-viewer .controls span{
  min-width:34px!important;font-size:10px!important
}
.oe-product-template.oe-kurbelwelle-viewer .hud .panel:last-child,
.oe-product-template.oe-motorblock2-viewer .hud .panel:last-child{
  width:100%!important;justify-content:center!important;gap:4px!important;padding:5px 6px!important;box-sizing:border-box!important
}
