/* 3DP Estimator v5 */
.tdpe{max-width:880px;margin:0 auto;font-family:'Rajdhani',sans-serif;color:#e6edf3;line-height:1.5;}
.tdpe *,.tdpe *::before,.tdpe *::after{box-sizing:border-box;}
.ts{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px;margin-bottom:16px;}
.th{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:18px;}
.tn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#00b4d8;color:#000;border-radius:6px;font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;}
.lb{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#00b4d8;margin-bottom:8px;}
.mn{font-family:'Share Tech Mono',monospace;color:#e6edf3;}

/* Pulsing dropzone */
.dz{border:2px dashed #30363d;border-radius:12px;padding:36px 20px;text-align:center;background:#0d1117;position:relative;transition:border-color .3s;}
@keyframes dzpulse{0%,100%{border-color:#30363d;}50%{border-color:#00b4d860;}}
.dz-pulse{animation:dzpulse 3s ease-in-out infinite;}
.dz-pulse:hover{animation:none;border-color:#00b4d8;}

/* File list item */
.fli{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#21262d;border:1px solid #30363d;border-radius:8px;margin-bottom:6px;font-size:13px;}
.fli .fli-name{font-weight:600;flex:1;}
.fli .fli-size{color:#8b949e;font-family:'Share Tech Mono',monospace;}
.fli .fli-warn{color:#ffd54f;font-size:11px;}
.fli .fli-rm{background:none;border:none;color:#ff5252;cursor:pointer;font-size:16px;padding:2px 6px;}

/* Buttons */
.tb{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;cursor:pointer;transition:all .15s;text-decoration:none;line-height:1.3;}
.tb:hover{transform:translateY(-1px);}.tb:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.ta{background:#00b4d8;color:#000;box-shadow:0 0 12px #00b4d840;}.ta:hover{background:#0096c7;color:#000;}
.tg{background:#00c853;color:#000;}.tg:hover{background:#00a844;color:#000;}
.tgh{background:#21262d;color:#8b949e;border:1px solid #30363d;}.tgh:hover{color:#e6edf3;border-color:#8b949e;}
.xb{padding:4px 10px;font-size:12px;font-weight:600;border:1px solid #30363d;border-radius:6px;background:#21262d;color:#8b949e;cursor:pointer;}.xb:hover{border-color:#00b4d8;color:#00b4d8;}
label.tb{cursor:pointer!important;}

/* Canvas */
#cv{display:block;width:100%!important;height:100%!important;}

/* Select / textarea */
.sl{width:100%!important;padding:10px 12px!important;font-family:'Rajdhani',sans-serif!important;font-size:14px!important;font-weight:600!important;background:#0d1117!important;border:1px solid #30363d!important;border-radius:8px!important;color:#e6edf3!important;}
.sl:focus{border-color:#00b4d8!important;outline:none!important;}

/* Mode buttons */
.mb{padding:18px 16px!important;background:#0d1117!important;border:2px solid #30363d!important;border-radius:12px!important;cursor:pointer!important;color:#8b949e!important;font-family:'Rajdhani',sans-serif!important;font-size:17px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1px!important;transition:all .2s!important;width:100%!important;text-align:center!important;}
.mb:hover{border-color:#00b4d8!important;color:#e6edf3!important;}
.mb.on{border-color:#00b4d8!important;background:#00b4d8!important;color:#000!important;box-shadow:0 0 12px #00b4d840!important;}

/* Color swatches - scrollable on mobile */
.cg-scroll{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0;}
.sw{width:46px!important;height:46px!important;border-radius:50%!important;border:3px solid transparent!important;cursor:pointer!important;padding:0!important;outline:none!important;transition:all .15s!important;-webkit-tap-highlight-color:transparent!important;}
.sw:hover{transform:scale(1.12)!important;box-shadow:0 0 8px #00b4d840!important;}
.sw.on{border-color:#00b4d8!important;box-shadow:0 0 10px #00b4d860!important;}
.sw-l{box-shadow:inset 0 0 0 1px #555!important;}

/* Multicolor preview circles */
.mcprev{width:22px;height:22px;border-radius:50%;background:#888;flex-shrink:0;transition:background .2s;}

/* Scale & dimension inputs */
.sci,.dmi{width:100%!important;padding:8px!important;background:#161b22!important;border:1px solid #30363d!important;border-radius:6px!important;color:#e6edf3!important;font-family:'Share Tech Mono',monospace!important;font-size:15px!important;text-align:center!important;-moz-appearance:textfield!important;}
.sci::-webkit-outer-spin-button,.sci::-webkit-inner-spin-button,.dmi::-webkit-outer-spin-button,.dmi::-webkit-inner-spin-button{-webkit-appearance:none!important;}
.sci:focus,.dmi:focus{border-color:#00b4d8!important;outline:none!important;box-shadow:0 0 6px #00b4d830!important;}

/* Infill slider */
.tdpe-slider{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:4px!important;border-radius:2px!important;background:#00b4d850!important;outline:none!important;margin:16px 0!important;cursor:pointer!important;}
.tdpe-slider::-webkit-slider-thumb{-webkit-appearance:none!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#00b4d8!important;cursor:pointer!important;box-shadow:0 0 10px #00b4d880!important;border:none!important;margin-top:-9px!important;}
.tdpe-slider::-moz-range-thumb{width:22px!important;height:22px!important;border-radius:50%!important;background:#00b4d8!important;cursor:pointer!important;border:none!important;box-shadow:0 0 10px #00b4d880!important;}
.tdpe-slider::-webkit-slider-runnable-track{height:4px!important;border-radius:2px!important;background:#00b4d850!important;}
.tdpe-slider::-moz-range-track{height:4px!important;border-radius:2px!important;background:#00b4d850!important;}

/* Quantity */
.qb{width:44px;height:44px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.qb:first-child{border-radius:8px 0 0 8px;}.qb:last-child{border-radius:0 8px 8px 0;}
.qb:hover{background:#21262d;}
.qi{width:70px;height:44px;text-align:center;border:1px solid #30363d;border-left:none;border-right:none;background:#0d1117;color:#e6edf3;font-size:18px;font-weight:700;font-family:'Share Tech Mono',monospace;-moz-appearance:textfield;-webkit-appearance:none;}

/* Quote rows (hidden in v5 but kept for compat) */
.qr{display:flex!important;justify-content:space-between!important;padding:8px 0!important;font-size:14px!important;color:#8b949e!important;border-bottom:1px solid #161b22!important;}

/* Mobile */
@media(max-width:640px){
    .ts{padding:16px;}
    #vw{height:320px!important;}
    .sw{width:50px!important;height:50px!important;}
    .cg-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
    .cg-scroll::-webkit-scrollbar{height:4px;}.cg-scroll::-webkit-scrollbar-thumb{background:#30363d;border-radius:2px;}
    .fli{flex-wrap:wrap;}
    div[style*="repeat(4"]{grid-template-columns:1fr 1fr!important;}
}

/* ── FILE LIST (multi-model orders) ── */
#fl-wrap{border:1px solid #30363d!important;border-radius:12px!important;background:#0d1117!important;padding:14px 16px!important;}
@keyframes flpulse{0%,100%{border-color:#30363d;box-shadow:none;}50%{border-color:#00b4d8;box-shadow:0 0 16px #00b4d840;}}
.fl-pulse{animation:flpulse 1.4s ease-in-out 2!important;}

.fl-head{display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap!important;
    padding-bottom:10px!important;margin-bottom:8px!important;border-bottom:1px solid #21262d!important;}
.fl-title{font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:1.2px!important;color:#00b4d8!important;}
.fl-count{font-size:12px!important;color:#8b949e!important;}
.fl-total-lbl{margin-left:auto!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:1px!important;color:#8b949e!important;}
.fl-total{font-family:'Share Tech Mono',monospace!important;font-size:20px!important;font-weight:700!important;color:#00c853!important;}

.fl-row{display:flex!important;align-items:center!important;gap:10px!important;padding:9px 12px!important;
    margin-bottom:6px!important;background:#161b22!important;border:1px solid #30363d!important;
    border-left:3px solid #30363d!important;border-radius:8px!important;cursor:pointer!important;transition:all .15s!important;}
.fl-row:hover{border-color:#00b4d8!important;background:#1b222c!important;}
.fl-row.on{border-left-color:#00b4d8!important;background:#0f2027!important;box-shadow:0 0 10px #00b4d825!important;}
.fl-row.err{border-left-color:#ff5252!important;}
.fl-row:last-child{margin-bottom:0!important;}

.fl-name{flex:1!important;min-width:0!important;font-size:14px!important;font-weight:600!important;color:#e6edf3!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.fl-meta{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.6px!important;color:#8b949e!important;white-space:nowrap!important;}
.fl-price{font-family:'Share Tech Mono',monospace!important;font-size:15px!important;font-weight:700!important;
    color:#00c853!important;white-space:nowrap!important;min-width:74px!important;text-align:right!important;}
.fl-row.err .fl-price{color:#ff5252!important;font-size:12px!important;}
.fl-x{background:none!important;border:none!important;color:#6e7681!important;font-size:19px!important;
    line-height:1!important;cursor:pointer!important;padding:0 2px!important;}
.fl-x:hover{color:#ff5252!important;}
.fl-hint{font-size:12px!important;color:#6e7681!important;margin:10px 0 0!important;line-height:1.5!important;}

@media(max-width:640px){
    .fl-meta{display:none!important;}
    .fl-total-lbl{display:none!important;}
    .fl-name{font-size:13px!important;}
}

/* ── MODE BUTTONS WITH EXPLAINERS ── */
.mb-wrap{position:relative!important;}
.mb-q{
    position:absolute!important;top:6px!important;right:6px!important;
    width:22px!important;height:22px!important;border-radius:50%!important;
    border:1px solid #30363d!important;background:#0d1117!important;color:#8b949e!important;
    font-family:'Rajdhani',sans-serif!important;font-size:13px!important;font-weight:700!important;
    line-height:1!important;cursor:pointer!important;padding:0!important;transition:all .15s!important;
}
.mb-q:hover{border-color:#00b4d8!important;color:#00b4d8!important;box-shadow:0 0 8px #00b4d840!important;}
.mb.on + .mb-q{border-color:#000!important;color:#000!important;background:transparent!important;}

#mode-help{
    margin-top:12px!important;padding:14px 16px!important;
    background:#0d1117!important;border:1px solid #00b4d8!important;border-radius:10px!important;
}
.mh-title{font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;
    letter-spacing:1.2px!important;color:#00b4d8!important;margin-bottom:6px!important;}
.mh-body{font-size:14px!important;color:#c9d1d9!important;line-height:1.65!important;}

#mode-forced{
    margin-top:12px!important;padding:11px 15px!important;font-size:13px!important;line-height:1.55!important;
    background:#1a1a0d!important;border:1px solid #ffc10744!important;border-radius:8px!important;color:#ffd54f!important;
}

/* Full color palette swatches */
.fc-sw{
    display:inline-block!important;width:30px!important;height:30px!important;border-radius:50%!important;
    border:2px solid #30363d!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
}

@media(max-width:640px){
    #mode-grid{grid-template-columns:1fr!important;}
    .mb-q{top:8px!important;right:10px!important;}
}

/* ── LAYOUT POLISH ── */
.tdpe .ts { margin-bottom: 18px !important; }
.tdpe .ts:last-child { margin-bottom: 0 !important; }
.tdpe .th { padding-bottom: 12px !important; border-bottom: 1px solid #21262d !important; }

/* Viewport section: the studio supplies its own chrome, so no double padding */
#s-3d { padding: 0 !important; }
#s-3d .tdpo-fcs-root { border: none !important; background: transparent !important; }
#st { border-top: 1px solid #30363d !important; }

/* Drop zone breathing room */
#dz { margin-bottom: 4px !important; }
#fb { margin-top: 10px !important; }
#fl-status { margin-top: 10px !important; }

/* Price box */
#pricebox { margin-top: 18px !important; }
#qto { line-height: 1.05 !important; }

/* Action row: Add to Cart stays dominant, Download is clearly secondary */
#b-dl3mf { opacity: .85 !important; }
#b-dl3mf:hover { opacity: 1 !important; }

/* Mode section */
#s-mode .th { margin-bottom: 14px !important; }
#mode-grid { margin-bottom: 2px !important; }

/* Settings section rhythm */
#s-opt > div[style*="margin-bottom:18px"] { margin-bottom: 20px !important; }

@media (max-width: 640px) {
    .tdpe .ts { padding: 16px 14px !important; margin-bottom: 14px !important; }
    #pricebox { padding: 18px 14px !important; }
    #qto { font-size: 34px !important; }
}

/* Per-file download + size in the model list */
.fl-size{font-family:'Share Tech Mono',monospace!important;font-size:12px!important;color:#6e7681!important;white-space:nowrap!important;}
.fl-dl{background:none!important;border:1px solid #30363d!important;border-radius:6px!important;color:#8b949e!important;
    font-size:15px!important;line-height:1!important;cursor:pointer!important;padding:4px 8px!important;}
.fl-dl:hover{border-color:#00b4d8!important;color:#00b4d8!important;}
@media(max-width:640px){ .fl-size{display:none!important;} }

/* ── AUTOMATIC PRINT TIER ── */
#mode-auto{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important;}
.ma-badge{
    padding:9px 20px!important;border-radius:24px!important;
    font-family:'Rajdhani',sans-serif!important;font-size:16px!important;font-weight:700!important;
    text-transform:uppercase!important;letter-spacing:1.2px!important;white-space:nowrap!important;
    border:2px solid #00b4d8!important;color:#00b4d8!important;background:rgba(0,180,216,.10)!important;
}
.ma-badge.ma-multicolor{border-color:#ff2d95!important;color:#ff2d95!important;background:rgba(255,45,149,.10)!important;}
.ma-badge.ma-full{border-color:#22c55e!important;color:#22c55e!important;background:rgba(34,197,94,.10)!important;}
.ma-note{flex:1!important;min-width:220px!important;margin:0!important;font-size:14px!important;
    color:#8b949e!important;line-height:1.55!important;}

.qty-note{margin:10px 0 0!important;font-size:12.5px!important;color:#8b949e!important;line-height:1.55!important;}

/* Quantity: big +/- around a plain count, no browser spinner */
.qty-row{display:flex!important;align-items:center!important;gap:0!important;}
.qty-row .qb{width:46px!important;height:46px!important;font-size:24px!important;user-select:none!important;}
.qty-row .qi{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:74px!important;height:46px!important;
    border:1px solid #30363d!important;border-left:none!important;border-right:none!important;
    background:#0d1117!important;color:#e6edf3!important;
    font-family:'Share Tech Mono',monospace!important;font-size:20px!important;font-weight:700!important;
}

/* Section help buttons and modal */
.tdpe-help-btn{margin-left:10px!important;width:22px!important;height:22px!important;border-radius:50%!important;
    border:1px solid #30363d!important;background:#0d1117!important;color:#8b949e!important;
    font-family:'Rajdhani',sans-serif!important;font-size:13px!important;font-weight:700!important;
    line-height:1!important;cursor:pointer!important;padding:0!important;vertical-align:middle!important;}
.tdpe-help-btn:hover{border-color:#00b4d8!important;color:#00b4d8!important;}
.tdpe-pay-head{display:flex!important;align-items:center!important;gap:4px!important;margin-bottom:10px!important;}
.tdpe-help{position:fixed!important;inset:0!important;z-index:100050!important;
    align-items:center!important;justify-content:center!important;background:rgba(5,7,20,.8)!important;padding:20px!important;}
.tdpe-help-card{max-width:min(460px,calc(100% - 32px))!important;background:#161b22!important;
    border:2px solid #00b4d8!important;border-radius:14px!important;padding:24px 26px!important;
    box-shadow:0 0 40px rgba(0,180,216,.35)!important;}
.tdpe-help-card h3{margin:0 0 12px!important;color:#e6edf3!important;font-size:20px!important;}
.tdpe-help-card ul{margin:0 0 18px 18px!important;padding:0!important;color:#c9d1d9!important;
    font-size:14px!important;line-height:1.7!important;}
