.tmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px);}
@keyframes tmPartSelect{0%{transform:scale(1);}40%{transform:scale(1.04);}100%{transform:scale(1);}}
@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0deg);opacity:1;}100%{transform:translateY(100vh) rotate(720deg);opacity:0;}}
.tm-part.just-selected{animation:tmPartSelect 0.3s ease;}
.confetti-piece{position:fixed;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:99999;animation:confettiFall 1.5s ease-in forwards;}
.tmodal-overlay.open{display:flex;animation:tmFadeIn 0.2s ease;}
@keyframes tmFadeIn{from{opacity:0;}to{opacity:1;}}
.tmodal{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:20px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 80px rgba(0,0,0,0.6);animation:tmSlideUp 0.25s ease;}
@keyframes tmSlideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.tmodal-head{background:#222;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a2a2a;flex-shrink:0;}
.tmodal-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#fff;}
.tmodal-title span{color:#e8620a;}
.tmodal-close{width:36px;height:36px;border-radius:50%;background:#333;border:none;color:#aaa;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;line-height:1;}
.tmodal-close:hover{background:#e8620a;color:#fff;}
.tmodal-body{display:flex;gap:0;overflow:hidden;flex:1;min-height:0;}
.tmodal-img-col{flex:1;min-width:0;padding:20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;}
.tmodal-parts-col{width:260px;flex-shrink:0;background:#111;border-left:1px solid #2a2a2a;display:flex;flex-direction:column;overflow:hidden;}
.tmodal-loading{display:flex;align-items:center;justify-content:center;height:200px;color:#555;font-size:14px;flex-direction:column;gap:8px;}
.tmodal-spinner{width:28px;height:28px;border:2px solid #333;border-top-color:#e8620a;border-radius:50%;animation:spin 0.7s linear infinite;}

/* Fotoğraf */
.tmodal-img-wrap{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.4);}
.tmodal-img-wrap img{width:100%;height:auto;display:block;object-fit:contain;}
.tmodal-hint{text-align:center;font-size:12px;color:#555;}

/* Hotspot */
.tm-hs{position:absolute;transform:translate(-50%,-50%);cursor:pointer;z-index:10;}
.tm-hs-dot{width:22px;height:22px;border-radius:50%;background:#e8620a;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,0.5);transition:transform 0.15s;}
.tm-hs:hover .tm-hs-dot{transform:scale(1.2);}
.tm-hs.selected .tm-hs-dot{background:#25D366;}
.tm-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:#e8620a;opacity:0.4;animation:pulse 2s ease-out infinite;}
.tm-hs.selected .tm-pulse{background:#25D366;}
.tm-zoom-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.92);z-index:20;display:none;align-items:center;justify-content:center;border-radius:12px;}
.tm-zoom-overlay.open{display:flex;}
.tm-zoom-box{position:relative;max-width:90%;max-height:90%;}
.tm-zoom-box img{width:100%;border-radius:8px;display:block;}
.tm-zoom-hs{position:absolute;transform:translate(-50%,-50%);}
.tm-zoom-dot{width:28px;height:28px;border-radius:50%;background:#e8620a;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,0.6);cursor:pointer;}
.tm-zoom-dot.selected{background:#25D366;}
.tm-zoom-label{position:absolute;top:32px;left:50%;transform:translateX(-50%);background:#000;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;}
.tm-zoom-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#333;border:none;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:30;}
.tm-zoom-close:hover{background:#e8620a;}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:0.4;}100%{transform:translate(-50%,-50%) scale(2.8);opacity:0;}}

/* Parçalar */
.tmodal-parts-head{padding:14px 16px;font-size:11px;font-weight:700;color:#666;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #1a1a1a;flex-shrink:0;}
.tmodal-parts-list{flex:1;overflow-y:auto;padding:8px;}
.tmodal-parts-list::-webkit-scrollbar{width:3px;}
.tmodal-parts-list::-webkit-scrollbar-thumb{background:#e8620a;border-radius:2px;}
.tm-part{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:all 0.15s;border:1px solid transparent;margin-bottom:4px;}
.tm-part:hover{background:#1e1410;border-color:#e8620a;}
.tm-part.selected{background:#1e1410;border-color:#25D366;}
.tm-part-num{width:22px;height:22px;border-radius:50%;background:#333;color:#aaa;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tm-part.selected .tm-part-num{background:#25D366;color:#fff;}
.tm-part-name{font-size:12px;color:#ccc;flex:1;line-height:1.3;}
.tm-part.selected .tm-part-name{color:#fff;}
.tm-part-check{font-size:14px;color:#25D366;opacity:0;}
.tm-part.selected .tm-part-check{opacity:1;}
.tm-part-top{display:flex;align-items:center;gap:8px;}
.tm-part-product{display:none;}
.tmodal-selected-products{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;max-height:140px;overflow-y:auto;}
.tmodal-selected-products::-webkit-scrollbar{width:3px;}
.tmodal-selected-products::-webkit-scrollbar-thumb{background:#e8620a;border-radius:2px;}
.tm-sel-product{display:flex;align-items:center;gap:8px;padding:7px;background:#0d0d0d;border-radius:8px;border:1px solid #2a2a2a;}
.tm-sel-product img{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.tm-sel-product-info{min-width:0;flex:1;}
.tm-sel-product-name{font-size:11px;color:#ccc;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tm-sel-product-price{font-size:12px;font-weight:700;color:#e8620a;margin-top:1px;}
.tm-sel-no-product{font-size:11px;color:#555;display:flex;align-items:center;gap:6px;}

/* Footer */
.tmodal-footer{padding:14px 16px;border-top:1px solid #1a1a1a;flex-shrink:0;}
.tmodal-count{font-size:11px;color:#666;margin-bottom:8px;}
.tmodal-count strong{color:#fff;}
.tm-wp-btn{width:100%;background:#25D366;color:#fff;border:none;border-radius:10px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.2s;font-family:inherit;opacity:0.3;pointer-events:none;}
.tm-wp-btn.active{opacity:1;pointer-events:auto;}
.tm-wp-btn:hover{background:#1da851;}

@media(max-width:700px){
  .tmodal-body{flex-direction:column;}
  .tmodal-parts-col{width:100%;border-left:none;border-top:1px solid #2a2a2a;max-height:220px;}
}
