/* Telastampa — Modulo OROLOGIO — interfaccia cliente.
   [IMPL-003] 🔒 PARANOID — stile editor 2 foto + anteprima quadrante.
   Prefisso .tsoro- per non collidere con il configuratore monolitico. */

.tsoro-wrap { max-width: 1100px; margin: 0 auto; font-family: inherit; }
.tsoro-title { font-size: 1.4em; font-weight: 700; margin: 0 0 4px; }
.tsoro-sub { color: #666; margin: 0 0 16px; font-size: .95em; }

/* Anteprima 100x40 (ratio 2.5:1) */
.tsoro-preview-box {
	position: relative; width: 100%;
	border: 1px solid #cfcfcf; background: #fafafa;
	border-radius: 8px; overflow: hidden;
}
.tsoro-canvas { display: block; width: 100%; height: auto; touch-action: none; cursor: grab; }
.tsoro-canvas.tsoro-dragging { cursor: grabbing; }
.tsoro-hint {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
	color: #999; font-size: .95em; text-align: center; pointer-events: none; padding: 0 16px;
}

/* Pannelli controllo */
.tsoro-zoombar { margin-top: 12px; display: flex; gap: 20px; flex-wrap: wrap; }
.tsoro-zoombar .tsoro-zoom-row { flex: 1 1 320px; margin-top: 0; }
.tsoro-controls { display: flex; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
.tsoro-panel {
	flex: 1 1 320px; background: #fff; border: 1px solid #e3e3e3;
	border-radius: 10px; padding: 16px 18px;
}
.tsoro-panel h3 { margin: 0 0 12px; font-size: 1.05em; }
.tsoro-btn {
	display: inline-block; border: 0; border-radius: 8px; cursor: pointer;
	padding: 10px 18px; font-size: .95em; font-weight: 600; color: #fff;
}
.tsoro-btn-sx { background: #3a6bb0; }
.tsoro-btn-dx { background: #b06b3a; }
.tsoro-btn:disabled { opacity: .5; cursor: default; }
.tsoro-file { display: none; }
.tsoro-zoom-row { margin-top: 14px; display: flex; align-items: center; gap: 10px; }
.tsoro-zoom-row label { font-size: .9em; color: #555; min-width: 46px; }
.tsoro-zoom { flex: 1; }
.tsoro-zoom:disabled { opacity: .4; }
.tsoro-opt-row { margin-top: 12px; display: flex; align-items: center; gap: 10px; }
.tsoro-opt-row label { font-size: .9em; color: #555; min-width: 46px; }
.tsoro-opt-row select, .tsoro-opt-row input[type="text"] { flex: 1; padding: 6px 8px; border: 1px solid #ccc; border-radius: 6px; }
.tsoro-opt-row input[type="color"] { width: 42px; height: 32px; padding: 0; border: 1px solid #ccc; border-radius: 6px; cursor: pointer; }
.tsoro-opt-row input[type="range"] { flex: 1; }
.tsoro-tip { font-size: .8em; color: #999; margin: 8px 0 10px; }
.tsoro-applica { margin-top: 4px; }
.tsoro-filename { margin-top: 8px; font-size: .82em; color: #888; word-break: break-all; }
.tsoro-note { margin-top: 18px; color: #777; font-size: .85em; }
.tsoro-cart { margin-top: 18px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tsoro-prezzo { font-size: 1.4em; font-weight: 700; }
.tsoro-addcart { border: 0; border-radius: 8px; cursor: pointer; padding: 14px 28px; font-size: 1em; font-weight: 700; color: #fff; background: #1f7a33; }
.tsoro-addcart:disabled { opacity: .45; cursor: default; }
.tsoro-cart-msg { font-size: .9em; color: #555; flex-basis: 100%; }
.tsoro-err { color: #b00; font-size: .85em; margin-top: 8px; }
