.fmc-app{--fmc-ink:#1f2328;--fmc-mut:#6b7280;--fmc-line:#e5e7eb;--fmc-acc:#1f6feb;--fmc-bg:#fff;
	display:grid;grid-template-columns:270px minmax(0,1fr) minmax(340px,430px);gap:20px;align-items:start;
	background:var(--fmc-bg);color:var(--fmc-ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
	margin:24px 0;padding:20px;border:1px solid var(--fmc-line);border-radius:18px;box-sizing:border-box}
.fmc-app *,.fmc-app *::before,.fmc-app *::after{box-sizing:border-box}
.fmc-libmsg{grid-column:1/-1;padding:14px;border:1px solid #f5c2c7;background:#fff5f5;border-radius:12px;color:#842029}
.fmc-libmsg[hidden]{display:none}
.fmc-col{min-width:0}
.fmc-panel{border:1px solid var(--fmc-line);border-radius:14px;padding:14px;margin-bottom:12px;background:#fff}
.fmc-panel[hidden],.fmc-app [hidden]{display:none!important}
.fmc-h{margin:0 0 10px;font-size:15px;font-weight:650;color:var(--fmc-ink);display:flex;gap:8px;align-items:center}
.fmc-lbl{display:block;margin:10px 0 4px;font-size:12.5px;color:var(--fmc-mut)}
.fmc-hint{margin:8px 0 0;font-size:12.5px;color:var(--fmc-mut)}
.fmc-center{text-align:center}
.fmc-i{flex:none}
.fmc-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;line-height:1.2;transition:background .15s,opacity .15s}
.fmc-btn:disabled,.fmc-ibtn:disabled{opacity:.45;cursor:not-allowed}
.fmc-block{display:flex;width:100%}
.fmc-btn-dark{background:#2b2f36;color:#fff}.fmc-btn-dark:hover:not(:disabled){background:#111}
.fmc-btn-light{background:#f3f4f6;color:var(--fmc-ink);border-color:var(--fmc-line);flex:1}
.fmc-btn-danger{background:#fff;color:#b42318;border-color:#f3c7c2;margin-top:12px}
.fmc-btn-primary{background:var(--fmc-acc);color:#fff;font-size:16px;padding:14px 18px;letter-spacing:.3px}.fmc-btn-primary:hover:not(:disabled){background:#1a5fd0}
.fmc-ibtn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fmc-line);background:#fff;border-radius:50%;color:var(--fmc-ink);cursor:pointer;padding:0}
.fmc-ibtn.is-on{background:#2b2f36;color:#fff;border-color:#2b2f36}
.fmc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.fmc-app textarea,.fmc-app select{width:100%;border:1px solid var(--fmc-line);border-radius:10px;padding:9px 10px;font:inherit;color:var(--fmc-ink);background:#fff;margin:0 0 8px}
.fmc-app input[type=range]{width:100%;accent-color:var(--fmc-acc)}
.fmc-app input[type=color]{width:42px;height:40px;border:1px solid var(--fmc-line);border-radius:10px;padding:2px;background:#fff}
.fmc-crop label{display:block;font-size:12px;color:var(--fmc-mut)}
.fmc-warn-i{margin:0 0 8px;padding:9px 11px;border-radius:10px;background:#fff8e6;border:1px solid #f6d58a;color:#7a5200;font-size:13px}

/* kartice površina */
.fmc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.fmc-tab{display:flex;flex-direction:column;align-items:flex-start;gap:1px;border:1px solid var(--fmc-line);background:#fff;border-radius:12px;padding:7px 14px;font:inherit;cursor:pointer;color:var(--fmc-ink);min-height:44px}
.fmc-tab-l{font-weight:650;font-size:14px}.fmc-tab-s{font-size:11.5px;color:var(--fmc-mut)}
.fmc-tab.is-active{border-color:#2b2f36;box-shadow:inset 0 0 0 1px #2b2f36}
/* 2D radna površina */
.fmc-surfaces{display:flex;justify-content:center}
.fmc-canvas-wrap{position:relative;width:min(100%, calc(62vh * var(--ar,2.2)));margin:0 auto;aspect-ratio:var(--ar,2.2);background:#fff;border:1px solid var(--fmc-line);border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.06);
	background-image:linear-gradient(45deg,#f6f6f7 25%,transparent 25%,transparent 75%,#f6f6f7 75%),linear-gradient(45deg,#f6f6f7 25%,transparent 25%,transparent 75%,#f6f6f7 75%);background-size:16px 16px;background-position:0 0,8px 8px}
.fmc-canvas-wrap:not(.is-transparent){background-image:none}
.fmc-canvas-wrap .canvas-container{position:absolute!important;inset:0;width:100%!important;height:100%!important}
.fmc-canvas-wrap canvas{touch-action:none}
.fmc-safe{position:absolute;pointer-events:none;border:1.5px dashed rgba(31,111,235,.7);border-radius:2px}

/* 3D prikaz */
.fmc-3d{position:relative;width:100%;aspect-ratio:1/1;border-radius:16px;background:radial-gradient(circle at 50% 35%,#fff 0%,var(--mug-bg,#f3f4f6) 100%);border:1px solid var(--fmc-line);overflow:hidden}
.fmc-3d canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fmc-3d-canvas{touch-action:pan-y;cursor:grab}
.fmc-shape-apparel .fmc-2d-canvas{cursor:ew-resize;touch-action:pan-y}.fmc-3d-canvas:active{cursor:grabbing}
.fmc-3d-msg{position:absolute;left:10px;right:10px;bottom:8px;font-size:12px;color:var(--fmc-mut);text-align:center;display:none}
.fmc-3d-msg.is-on{display:block}
.fmc-ctrl{display:flex;gap:8px;justify-content:center;margin-top:12px}

.fmc-buy{margin-top:14px;padding:14px;border:1px solid var(--fmc-line);border-radius:14px}
.fmc-vars select{margin-bottom:6px}
.fmc-fees{margin:0 0 6px}
.fmc-fee-row{display:flex;justify-content:space-between;font-size:13px;color:var(--fmc-mut);margin:2px 0}
.fmc-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.fmc-price{font-size:24px}
.fmc-qty-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.fmc-qty{width:78px;border:1px solid var(--fmc-line);border-radius:10px;padding:8px;font:inherit;text-align:center}
.fmc-status{min-height:20px;margin-top:10px;font-size:13.5px;color:var(--fmc-mut)}
.fmc-status.is-error{color:#b42318}.fmc-status.is-ok{color:#067647}
.fmc-note{margin:14px 0}
.fmc-notice{padding:10px 12px;border:1px dashed #f0b429;background:#fffbea;border-radius:8px}

@media (max-width:1100px){.fmc-app{grid-template-columns:240px minmax(0,1fr)}.fmc-view{grid-column:1/-1}.fmc-3d{max-width:520px;margin:0 auto}.fmc-buy{max-width:520px;margin-left:auto;margin-right:auto}}
@media (max-width:780px){
	.fmc-app{display:flex;flex-direction:column;gap:14px;padding:12px;border-radius:12px;margin:12px 0}
	.fmc-view{order:1}.fmc-stage{order:2}.fmc-tools{order:3}
	.fmc-3d{max-width:none;aspect-ratio:1/1.05}
	.fmc-btn,.fmc-ibtn{min-height:44px}.fmc-ibtn{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){.fmc-btn{transition:none}}
