.color_to_pick_list li {float: left;padding: 2px;}
.color_to_pick_list li a, .color_to_pick_list li span{width: 20px;height: 20px;display: list-item;}
.color_to_pick_list li.selected {border-color: #292929 !important;}
.attribute_colorlist select {margin-left: 28px; width: calc(100% - 28px);margin-bottom: -1px;}
.attribute_colorlist .color-block {width: 20px;height: 20px;display: block;top: 8px;left: 15px;}
#image-block span.label {line-height: 50px;position: absolute;z-index: 111;top: 10px;right: 10px;display: inline-block;width: 50px;height: 50px;text-align: center;color: #fff;border-radius: 100%;}
#image-block span.label.new {background-color: #111;}
#image-block span.label.sale {background-color: #292929;z-index: 333;}
#image-block span.label.supersale {background-color: #c60202;z-index: 335;}
#short_description_block a.more {border-bottom: 1px dotted;margin-top: 5px;}
/** quick_view override **/
.product.content_only .qv_hidden {display: none !important;}
/** Tabs **/
.idtabs {border-bottom: 4px solid #e4e4e4;}
.idTab {border-bottom: 4px solid #e4e4e4; margin-bottom: -4px; font-size: 1.15rem;}
@media (max-width: 991px) {.idTab {font-size: 1.00rem;}}
.idTab:HOVER {border-bottom: 4px solid #111;}
.idTab.active {border-bottom: 4px solid #111;color: #111;}
.tab-content {display: none;opacity: 0;transition: opacity 0.5s ease-in-out;}
.tab-content.active {display: block;opacity: 1;}
/** 3D **/
#three-container {
  position: sticky;
  top: 25px;
  z-index: 999; 
  width: 100%;
  padding-right: 20px;
  height: 65vh;
  border-right: 1px solid #e4e4e4;
  overflow: hidden;
}
/* Cursor-Logik & Highlights */

:root {
  --mesh-highlight: #000; /* Farbe für aktive selmesh-Kachel */
  --viewer-btn-bg: rgba(0,0,0,1);
  --viewer-btn-shadow: 0 2px 8px rgba(0,0,0,.15);
}

#three-container { cursor: grab; }  
#three-container.is-dragging { cursor: grabbing; } 
#three-container.is-hot { cursor: pointer; }  
.selmesh { transition: background-color .15s ease, box-shadow .15s ease; cursor: pointer; }
.selmesh.is-hot {background: #000000;}
#three-container .viewer-ui{position:absolute; top:10px; right:10px; display:flex; gap:8px; z-index:1100;pointer-events:auto;}
#three-container .viewer-btn{border:1px solid #ddd; background:#fff; border-radius:8px; padding:6px 10px;font-weight:600; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.08);}
#three-container .viewer-btn:hover{ background:#f6f6f6; }

.showPart {cursor: pointer;}
.tpm-close, .vim-close {position: absolute;right: 10px;border: 1px solid #fff;width: 25px;border-radius: 100%;}
.sl3d-viewer { position: relative; overflow: hidden; }
#three-canvas { display:block; width:100%; height:60vh; }
.viewer-ui { position:absolute; right:10px; top:10px; display:flex; gap:8px; z-index:10; }
.viewer-btn {
  min-width: 36px; height: 36px;
  background: var(--viewer-btn-bg); box-shadow: var(--viewer-btn-shadow);
  display:flex; align-items:center; justify-content:center; font-weight:700; cursor:pointer;
}
.viewer-btn:active { transform: translateY(1px); }
.selmesh { cursor: pointer; transition: background-color .15s ease; border-radius: 6px; }
.selmesh.is-active { background: var(--mesh-highlight); }
.colormash .sett {width: 120px;display: block;float: left;margin: 2px 6px;}
/* „Finger“-Cursor wenn ein klickbarer Mesh unter dem Pointer ist */
#three-container.cursor-hit, #three-container.cursor-hit canvas { cursor: pointer !important; }
/* Modals – zentriert + scrollbar */
#texturePickModal,
#viewerInfoModal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9990;
}

/* Backdrops */
#texturePickModal .tpm-backdrop,
#viewerInfoModal .vim-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
}

/* Dialoge zentrieren */
#texturePickModal .tpm-dialog,
#viewerInfoModal .vim-dialog {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(980px, 92vw);
  max-height: 92vh;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  z-index: 1;
}

/* Header */
#texturePickModal .tpm-inside,
#viewerInfoModal .vim-inside {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-bottom: 1px solid #eee;
}

/* Close Buttons */
.tpm-close,
.vim-close {
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

/* Body-Inhalt scrollbar halten */
#texturePickOptions {
  max-height: calc(92vh - 150px);
  overflow: auto;
  padding: 16px;   
}
#viewerInfoModal .p-3 {
  max-height: calc(92vh - 56px);
  overflow: auto;
}
