/* Tucopisteria Stamp Studio v0.4 — estilos aislados del tema Astra/Elementor. */
.tcs-studio{--tcs-blue:#0d80d8;--tcs-ink:#18202b;--tcs-muted:#667487;--tcs-line:#dce3ec;--tcs-surface:#f4f7fb;--tcs-radius:12px;display:block!important;width:100%;max-width:100%!important;min-width:0;box-sizing:border-box;position:relative;background:#fff;color:var(--tcs-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.45;border:1px solid #d8e0e9;border-radius:16px;overflow:hidden;isolation:isolate;box-shadow:0 14px 50px rgba(32,54,88,.08)}
.tcs-studio *, .tcs-studio *::before,.tcs-studio *::after{box-sizing:border-box}
.tcs-studio button,.tcs-studio input,.tcs-studio select,.tcs-studio textarea{font:inherit;box-shadow:none;letter-spacing:normal;text-transform:none}
.tcs-studio button{cursor:pointer;line-height:1.3}
.tcs-studio button:disabled{opacity:.35;cursor:not-allowed}
.tcs-studio button:focus-visible,.tcs-studio select:focus-visible,.tcs-studio input:focus-visible,.tcs-studio textarea:focus-visible{outline:3px solid #a5dafa;outline-offset:2px}
.tcs-studio p,.tcs-studio h3{margin:0;padding:0;color:inherit}
.tcs-studio [hidden]{display:none!important}
.tcs-topbar{height:80px;display:flex;align-items:center;gap:22px;justify-content:space-between;padding:13px 21px;background:#fff;border-bottom:1px solid var(--tcs-line)}
.tcs-brand{display:flex;align-items:center;gap:10px;min-width:170px;line-height:1.2}
.tcs-brand-mark{height:42px;width:42px;border-radius:12px;background:linear-gradient(145deg,#153c63,#0d90d9);color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center}
.tcs-brand strong{font-size:13px;letter-spacing:.055em;font-weight:800;display:block;white-space:nowrap}
.tcs-brand small{color:var(--tcs-muted);display:block;margin-top:4px;font-size:11px;font-weight:500}
.tcs-model-control{flex:1;max-width:360px;display:flex;gap:3px;flex-direction:column}
.tcs-model-control label{font-size:11px;color:var(--tcs-muted);font-weight:700;letter-spacing:.02em}
.tcs-model-control select{appearance:auto;min-height:38px;width:100%;border:1px solid #cdd8e4;background:#fff;border-radius:7px;padding:7px 10px;color:#1e2c40;font-weight:600;font-size:13px}
.tcs-top-actions{display:flex;gap:7px;align-items:center}
.tcs-btn{border:1px solid transparent!important;border-radius:8px!important;min-height:39px;padding:10px 15px!important;display:inline-flex;justify-content:center;align-items:center;gap:7px;text-align:center;font-size:13px!important;font-weight:700!important;white-space:normal;transition:background .12s,box-shadow .12s;text-decoration:none!important}
.tcs-btn-primary{color:#fff!important;background:#0d86cf!important;border-color:#0d86cf!important}
.tcs-btn-primary:hover{background:#086eb0!important}
.tcs-btn-light{color:#263d53!important;background:#fff!important;border:1px solid #cbd8e5!important}
.tcs-btn-light:hover{background:#f4f8fc!important}
.tcs-btn-danger{color:#c33b3b!important;background:#fff7f7!important;border:1px solid #f4d0d0!important}
.tcs-btn-danger:hover{background:#fee!important}
.tcs-iconbtn{height:37px;width:37px;min-width:37px;border-radius:8px;border:1px solid #dbe4ed;background:#fff;color:#2c425c;font-size:23px;display:inline-flex;align-items:center;justify-content:center;padding:0!important}
.tcs-iconbtn:hover{background:#eaf4fc}
.tcs-workspace{width:100%;min-height:570px;display:grid;grid-template-columns:74px 252px minmax(280px,1fr) 246px;align-items:stretch;background:#fff}
.tcs-rail{padding:13px 7px;background:#fff;border-right:1px solid var(--tcs-line);display:flex;flex-direction:column;gap:7px}
.tcs-tool{width:100%;min-height:67px;border:0!important;border-radius:9px!important;background:transparent!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:#55657a!important;font-size:11px!important;font-weight:650!important;padding:7px!important}
.tcs-tool-icon{font-size:22px;font-weight:800;line-height:1;letter-spacing:-.04em}
.tcs-tool.active,.tcs-tool:hover{background:#e7f3ff!important;color:#096bac!important}
.tcs-palette{border-right:1px solid var(--tcs-line);min-width:0;padding:19px 16px;background:#fff;overflow:auto}
.tcs-pane-head{margin-bottom:19px}
.tcs-pane-head h3,.tcs-props-heading h3{font-weight:800!important;font-size:17px!important;line-height:1.4!important}
.tcs-pane-head p,.tcs-props-heading p{color:var(--tcs-muted);font-size:12px;margin-top:6px}
.tcs-full{width:100%}
.tcs-subhead{margin-top:24px!important;margin-bottom:10px!important;color:#6a7c91!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em;font-weight:750}
.tcs-layer-list{display:flex;flex-direction:column;gap:6px}
.tcs-layer{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;width:100%;min-height:42px;padding:8px!important;display:flex;align-items:center;gap:9px;color:#253b55!important;text-align:left!important;font-size:12px!important;min-width:0}
.tcs-layer strong{font-size:12px;font-weight:600;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.tcs-layer>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background:#f0f4f8;color:#285c81;border-radius:5px;font-weight:800;flex-shrink:0}
.tcs-layer.selected{border-color:#47a9ea!important;background:#eff8ff!important}
.tcs-upload-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:165px;border:2px dashed #a4cceb;border-radius:11px;color:#267fbc;background:#f7fbff;text-align:center;gap:7px;padding:15px;cursor:pointer}
.tcs-upload-box>span{font-size:30px;font-weight:800;line-height:1}
.tcs-upload-box strong{font-size:13px}
.tcs-upload-box small{font-size:11px;color:#60778f}
.tcs-upload-box input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.tcs-hint{font-size:12px!important;color:var(--tcs-muted)!important;line-height:1.55!important;margin-top:14px!important}
.tcs-template{display:flex;flex-direction:column;width:100%;gap:5px;background:#fff!important;border:1px solid #e0e6ee!important;border-radius:8px!important;text-align:left!important;color:#263d53!important;padding:12px!important;margin-bottom:9px;font-weight:500!important}
.tcs-template:hover{border-color:#58afe8!important;background:#f5faff!important}
.tcs-template strong{font-size:13px}
.tcs-template small{font-size:11px;color:#6b7a8c}
.tcs-info-block{padding:13px;background:#f1f6fa;border-radius:8px;font-weight:700;margin:15px 0;color:#214764}
.tcs-check{display:flex!important;align-items:flex-start;gap:8px;cursor:pointer;margin:16px 0;font-size:12px;color:#324b63;font-weight:550}
.tcs-check input{width:15px!important;height:15px!important;flex-shrink:0;accent-color:var(--tcs-blue);margin:2px 0 0!important;padding:0!important}
.tcs-stage{display:flex;flex-direction:column;min-width:0;background:#f1f4f8;position:relative}
.tcs-stage-toolbar{padding:14px 18px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px}
.tcs-stage-heading{display:flex;flex-direction:column;gap:2px}
.tcs-stage-heading strong{font-size:14px;font-weight:760}
.tcs-stage-heading span{font-size:11px;color:var(--tcs-muted)}
.tcs-stage-actions{display:flex;gap:5px;align-items:center}
.tcs-stage-actions [data-role=zoom-label]{min-width:47px;text-align:center;color:#526981;font-size:11px;font-weight:700}
.tcs-stage-scroll{flex:1;min-height:440px;display:flex;align-items:center;justify-content:center;overflow:auto;padding:35px 20px 45px;background-image:radial-gradient(#d3dbe5 .65px,transparent .65px);background-size:14px 14px}
.tcs-canvas-mount{display:flex;align-items:center;justify-content:center;flex-shrink:0;filter:drop-shadow(0 10px 18px rgba(42,63,89,.12))}
.tcs-artboard{max-width:none;display:block;overflow:visible;touch-action:manipulation;user-select:none;border:1px solid #a5b9cc;background:#fff;cursor:default;box-sizing:content-box}
.tcs-artboard [data-element-id]{cursor:pointer}
.tcs-stage-footer{padding:9px 18px;display:flex;justify-content:space-between;gap:10px;color:#6c7c8e;font-size:11px;border-top:1px solid #dfe6ee;background:#f7f9fb;flex-wrap:wrap}
.tcs-validation{padding:9px 16px;color:#18764b;font-size:12px;background:#ecfaf2;border-top:1px solid #d1e9de;min-height:34px}
.tcs-validation.has-alerts{background:#fff8e9;color:#895717;border-color:#f4e1b9}
.tcs-properties{border-left:1px solid var(--tcs-line);background:#fff;overflow:auto;min-width:0}
.tcs-props-heading{padding:19px 15px;border-bottom:1px solid #edf1f4}
.tcs-props-body{padding:13px 15px}
.tcs-empty-props{text-align:center;color:#7a8797;padding:40px 8px;font-size:12px}
.tcs-empty-props span{font-size:40px;display:block;color:#afbdca;margin-bottom:10px}
.tcs-property-card{display:flex;flex-direction:column;gap:15px}
.tcs-prop-label{font-size:11px;font-weight:800;color:#356e9e;letter-spacing:.035em;text-transform:uppercase}
.tcs-input-label{display:flex;flex-direction:column;gap:5px;color:#45596f;font-size:11px;font-weight:700;min-width:0}
.tcs-studio .tcs-input-label input,.tcs-studio .tcs-input-label select,.tcs-studio .tcs-input-label textarea{display:block;width:100%;min-width:0;min-height:36px;padding:8px!important;background:#fff!important;border:1px solid #cad6e1!important;border-radius:7px!important;color:#1d2b3d!important;font-size:12px!important;resize:vertical;line-height:1.4!important}
.tcs-studio .tcs-input-label input[type=range]{padding:0!important;height:22px;min-height:22px;accent-color:#1391dc}
.tcs-input-label small{font-weight:400;color:#738396;font-size:10px}
.tcs-property-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.tcs-properties-actions{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}
.tcs-properties-actions .tcs-btn{font-size:11px!important;padding:8px 9px!important;min-height:32px}
.tcs-link{background:none!important;border:0!important;color:#327fb2!important;text-decoration:underline!important;padding:4px 0!important;font-size:11px!important}
.tcs-bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:#fff;border-top:1px solid var(--tcs-line);min-height:70px}
.tcs-export-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tcs-noncommerce{color:#8d581d;background:#fff5e4;padding:8px 12px;border-radius:6px;font-size:11px;line-height:1.4;max-width:350px}
.tcs-toast{pointer-events:none;opacity:0;position:absolute;bottom:86px;left:50%;transform:translateX(-50%) translateY(10px);border-radius:9px;background:#20354a;color:#fff;padding:12px 17px;box-shadow:0 7px 30px #0003;font-size:12px;transition:.2s;z-index:5;text-align:center;max-width:88%}
.tcs-toast-visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1200px){.tcs-workspace{grid-template-columns:65px 225px minmax(250px,1fr)}.tcs-properties{grid-column:2 / -1;border-left:0;border-top:1px solid var(--tcs-line);max-height:420px}.tcs-props-body{max-width:720px}.tcs-property-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.tcs-prop-label,.tcs-properties-actions{grid-column:1/-1}.tcs-stage-scroll{min-height:480px}}
@media(max-width:720px){.tcs-studio{border-radius:10px}.tcs-topbar{height:auto;flex-wrap:wrap;padding:11px;gap:8px}.tcs-brand{min-width:120px;flex:1}.tcs-model-control{order:3;max-width:none;flex-basis:100%}.tcs-top-actions{margin-left:auto}.tcs-top-actions .tcs-btn{min-width:85px}.tcs-workspace{display:flex;flex-wrap:wrap;min-height:0}.tcs-rail{flex:1 0 100%;border:0;border-bottom:1px solid var(--tcs-line);flex-direction:row;justify-content:space-around;padding:5px}.tcs-tool{min-height:54px;max-width:23%;font-size:10px!important}.tcs-tool-icon{font-size:18px}.tcs-palette{flex:1 0 100%;border:0;border-bottom:1px solid var(--tcs-line);padding:12px;max-height:280px}.tcs-pane-head{margin-bottom:9px}.tcs-stage{flex:1 0 100%}.tcs-stage-scroll{min-height:335px;padding:20px 10px}.tcs-stage-toolbar{padding:10px}.tcs-properties{flex:1 0 100%;padding:0;max-height:unset;border-top:1px solid var(--tcs-line)}.tcs-props-heading{padding:12px}.tcs-props-body{padding:13px}.tcs-bottom-bar{flex-direction:column;align-items:stretch}.tcs-export-actions{justify-content:stretch}.tcs-export-actions .tcs-btn{flex:1}.tcs-noncommerce{max-width:none}}

.tcs-open-project{position:relative;cursor:pointer;overflow:hidden}.tcs-open-project input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}

/* v0.4.2: movimiento preciso desde la barra derecha, nunca arrastrando. */
.tcs-position-tools{display:flex;flex-direction:column;gap:10px;border:1px solid #deebf6;background:#f5f9ff;border-radius:11px;padding:12px}
.tcs-position-title{font-size:12px;font-weight:800;color:#22577b;line-height:1.4}
.tcs-position-title small{display:block;color:#70859a;font-weight:500;font-size:10px;margin-top:3px}
.tcs-nudge-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,40px);align-self:center;gap:5px;justify-content:center}
.tcs-nudge-pad button{min-width:44px;height:40px;padding:0!important;border:1px solid #b8d2e7!important;background:#fff!important;color:#126b9e!important;border-radius:8px!important;font-size:21px!important;font-weight:800!important;line-height:1!important}
.tcs-nudge-pad button:hover{background:#dbf0ff!important;border-color:#73b6e6!important}
.tcs-nudge-pad button:active{background:#bfe2fa!important}
.tcs-nudge-pad button[data-dy="-0.5"]{grid-column:2;grid-row:1}
.tcs-nudge-pad button[data-dx="-0.5"]{grid-column:1;grid-row:2}
.tcs-nudge-pad button[data-dx="0.5"]{grid-column:3;grid-row:2}
.tcs-nudge-pad button[data-dy="0.5"]{grid-column:2;grid-row:3}
.tcs-nudge-center{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;color:#91b1ca;font-size:16px}
.tcs-nudge-hint{color:#637d90!important;font-size:10px!important;line-height:1.45!important;margin:0!important}
