.configurador{padding-bottom:36px}.config-seleccion{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 36px;margin:5px 0 30px;padding:20px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}.configurador fieldset{border:0;padding:0;margin:0;min-width:0}.configurador legend{font-size:11px;font-weight:700;margin-bottom:8px;color:var(--azul)}.configurador legend span{font-weight:400;color:var(--muted);margin-left:6px}.config-tabs,.config-colores{display:flex;flex-wrap:wrap;gap:7px}.config-tabs button{min-height:40px;padding:8px 12px;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--azul);font-size:12px;cursor:pointer}.config-tabs button[aria-pressed=true]{background:var(--azul);border-color:var(--azul);color:#fff}.config-colores button{width:40px;height:40px;padding:5px;border:1px solid var(--linea);background:#fff;border-radius:50%;cursor:pointer}.config-colores button::before{content:"";display:block;width:100%;height:100%;border-radius:50%;background:var(--swatch);border:1px solid #0002}.config-colores button[aria-pressed=true]{border:2px solid var(--azul)}.config-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px) minmax(0,1fr);gap:50px;position:relative;align-items:center;isolation:isolate}.config-panel{position:relative;z-index:3;background:#fff;min-width:0}.config-panel h2{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:650;margin:0 0 20px}.config-panel h2 iconify-icon{font-size:25px;color:var(--azul)}.config-panel label{display:block;font-size:12px;font-weight:650;margin:14px 0 6px}.config-panel input[type=text],.config-panel select{width:100%;min-height:44px;border:1px solid var(--linea);border-radius:6px;padding:9px 11px;background:#fff;color:var(--azul);font-size:13px}.config-dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-panel input[type=range]{width:100%;min-height:44px;accent-color:var(--azul)}.config-panel input[type=color]{width:100%;height:44px;padding:4px;border:1px solid var(--linea);border-radius:6px;background:#fff}.config-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;background:none;border:0;padding:0;color:var(--azul);font-size:12px;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.config-panel .config-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:130px;padding:16px;border:1px dashed #b4a7c5;border-radius:9px;background:#faf9fc;cursor:pointer;text-align:center}.config-upload iconify-icon{font-size:25px}.config-upload span{font-size:11px;font-weight:400;color:var(--muted)}.config-file{display:block;width:100%;font-size:11px;margin-top:8px}.config-file::file-selector-button{border:0;padding:8px;background:#f3eff7;color:var(--azul);border-radius:4px}.config-file-status,.config-ayuda{font-size:11px;color:var(--muted);line-height:1.6}.config-file-status[data-error=true]{color:#a82b3a}.config-vista{min-width:0}.config-foto{position:relative;overflow:hidden;border-radius:12px;background:#f5f3f1;container-type:inline-size}.config-modelo{display:block;width:100%;height:auto}.config-texto-preview{position:absolute;transform:translate(-50%,-50%);z-index:2;white-space:nowrap;line-height:1.05;text-align:center;text-shadow:0 1px 1px #0003;max-width:28%;pointer-events:none}.config-texto-preview[data-font=sans]{font-family:"DM Sans",sans-serif!important;font-weight:700}.config-texto-preview[data-font=serif]{font-family:Georgia,serif!important;font-weight:700}.config-texto-preview[data-font=script]{font-family:"Privishop Kalam",cursive!important;font-weight:700}.config-texto-preview[data-font=mono]{font-family:"Courier New",monospace!important;font-weight:700}.config-logo-preview{position:absolute;transform:translate(-50%,-50%);height:auto;max-height:15%;object-fit:contain;z-index:2;pointer-events:none}.config-puntos button{position:absolute;transform:translate(-50%,-50%);z-index:4;width:34px;height:34px;border:1px solid var(--azul);background:#fffffff0;color:var(--azul);border-radius:50%;cursor:pointer;box-shadow:0 0 0 4px #ffffff30;font-size:11px;font-weight:700}.config-puntos button[aria-pressed=true]{background:var(--azul);color:#fff}.config-puntos{opacity:.82}.config-puntos button:hover{opacity:1}.config-cargando{position:absolute;bottom:12px;left:12px;right:12px;padding:9px;background:#fff;border-radius:5px;font-size:12px;text-align:center}.config-foto[aria-busy=false] .config-cargando{display:none}.config-pie-vista{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;font-size:10px;color:var(--muted)}.config-pie-vista label{display:flex;align-items:center;gap:5px;white-space:nowrap;min-height:32px}.config-disclaimer,.config-status{font-size:11px;color:var(--muted);line-height:1.5;margin:8px 0}.config-conexiones{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.config-conexiones path{fill:none;stroke:#b9aec7;stroke-width:1;vector-effect:non-scaling-stroke}.config-resumen{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--linea);font-size:13px}.config-resumen>div{display:flex;align-items:center;gap:24px}.config-envio-nota{font-size:11px;color:var(--muted);text-align:right;margin:9px 0}.configurador [hidden]{display:none!important}.configurador :focus-visible{outline:2px solid var(--azul);outline-offset:3px}.configurador .boton:disabled{opacity:.6;cursor:wait}
@media(max-width:1100px){.config-editor{gap:24px;grid-template-columns:minmax(0,1fr) minmax(260px,36%) minmax(0,1fr)}.config-panel h2{font-size:18px}.config-panel label{font-size:11px}.config-pie-vista{flex-direction:column;align-items:start;gap:0}}
@media(max-width:800px){.config-seleccion{justify-content:flex-start;gap:20px}.config-editor{grid-template-columns:1fr 1fr;gap:26px 20px;align-items:start}.config-vista{grid-column:1/-1;grid-row:1;width:min(100%,400px);margin:auto}.config-panel{grid-row:2}.config-conexiones{display:none}.config-panel h2{font-size:18px}.config-puntos button{width:44px;height:44px}.config-pie-vista{flex-direction:row;align-items:center}.config-resumen{flex-direction:column;align-items:stretch}.config-resumen>div{justify-content:space-between}.config-envio-nota{text-align:left}.config-tabs button{min-height:44px}.config-colores button{width:44px;height:44px}}
@media(max-width:480px){.config-editor{grid-template-columns:1fr}.config-panel{grid-row:auto}.config-vista{grid-row:1;grid-column:1}.config-nombre-panel{grid-row:2}.config-logo-panel{grid-row:3}.config-panel h2{padding-top:18px;border-top:1px solid var(--linea)}.config-resumen>div{flex-direction:column;align-items:stretch;gap:12px}.config-resumen .config-link{justify-content:center}.config-pie-vista{font-size:9px}.config-panel .config-upload{min-height:110px}.config-seleccion{margin-bottom:20px}.personalizar-intro p{font-size:13px}}

.config-color-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.config-color-custom{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--muted)}.config-color-custom input{width:44px;height:32px;padding:2px;border:1px solid var(--linea);border-radius:4px;background:#fff}.config-colores{max-width:260px}.config-seleccion{align-items:start}.config-foto[aria-busy=true] .config-texto-preview,.config-foto[aria-busy=true] .config-logo-preview{visibility:hidden}

/* Simple default; optional placement and sizing stay available. */
.config-oculto,.config-pie-vista,.config-conexiones,.config-ayuda{display:none!important}.config-file{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.config-upload:focus-within{outline:2px solid var(--azul)}.config-ajustes{margin-top:12px}.config-ajustes summary{cursor:pointer;color:var(--muted);font-size:12px;min-height:44px;display:flex;align-items:center;gap:8px}.config-ajustes summary::after{content:"+";font-size:18px}.config-ajustes[open] summary::after{content:"−"}.config-panel h2{margin-bottom:12px}.config-colores{max-width:260px;gap:5px}.config-seleccion{gap:18px 28px;padding:16px 0;margin-bottom:22px}.config-panel .config-upload{min-height:110px}.config-file-status:empty{display:none}.config-editor{align-items:center}.config-envio-nota{max-width:550px;margin-left:auto}.config-color-custom{margin-top:5px}.config-disclaimer{text-align:center}.personalizar-proceso{display:none}.config-foto{max-width:400px;margin:auto}.config-panel input[type=text]{font-size:16px}@media(max-width:800px){.config-vista{width:min(100%,330px)}.config-editor{gap:18px}.config-panel h2{padding-top:10px}.config-seleccion{gap:14px}.config-seleccion fieldset:first-child{width:100%}.config-colores{max-width:none}.config-colores button{width:34px;height:34px}.config-tabs{gap:5px}.config-tabs button{padding:7px 10px}.config-color-custom{display:none}}

/* Shared model frame; preserve image proportions and registration. */
.config-foto{aspect-ratio:1122/1402}.config-foto .config-modelo{width:100%;height:100%;object-fit:cover;object-position:center}.config-foto .config-color-layer{object-fit:cover;object-position:center}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-montserrat-0.woff2) format('truetype');
}

.config-texto-preview[data-font=montserrat]{font-family:"Montserrat"!important;font-weight:700}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-lora-0.woff2) format('truetype');
}

.config-texto-preview[data-font=lora]{font-family:"Lora"!important;font-weight:700}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-oswald-0.woff2) format('truetype');
}

.config-texto-preview[data-font=oswald]{font-family:"Oswald"!important;font-weight:700}
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-dancing-0.woff2) format('truetype');
}

.config-texto-preview[data-font=dancing]{font-family:"Dancing Script"!important;font-weight:700}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-caveat-0.woff2) format('truetype');
}

.config-texto-preview[data-font=caveat]{font-family:"Caveat"!important;font-weight:700}
@font-face {
  font-family: 'Roboto Slab';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/privishop-ui/config-font-slab-0.woff2) format('truetype');
}

.config-texto-preview[data-font=slab]{font-family:"Roboto Slab"!important;font-weight:700}

.config-font-sample{display:block;font-size:23px;font-weight:700;color:var(--azul);margin:10px 0;overflow-wrap:anywhere}

/* Equal swatches and a selection ring that does not change their geometry. */
.config-colores{display:grid;grid-template-columns:repeat(5,40px);gap:8px;width:max-content;max-width:100%;align-items:center;justify-items:center}
.config-colores button,.config-colores button[aria-pressed=true]{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;flex:none;aspect-ratio:1;padding:4px;margin:0;border:1px solid transparent;border-radius:50%;background:transparent;line-height:1;box-shadow:none;appearance:none;transform:none}
.config-colores button::before{box-sizing:border-box;display:block;width:30px;height:30px;aspect-ratio:1;margin:0;border:1px solid #0002;border-radius:50%;background:var(--swatch)}
.config-colores button[aria-pressed=true]{border-color:var(--azul)}
@media(max-width:800px){.config-colores{grid-template-columns:repeat(5,44px);gap:8px}.config-colores button,.config-colores button[aria-pressed=true]{width:44px;height:44px;min-width:44px;min-height:44px;padding:6px}}

.config-texto-preview,.config-logo-preview{pointer-events:auto;touch-action:none;user-select:none;cursor:grab}.config-arrastrando{cursor:grabbing;outline:1px dashed #fff;outline-offset:5px}.config-drag-hint{text-align:center;color:var(--muted);font-size:12px;margin:10px 0}

/* Subtle stitch highlights; thread color and drag hit area stay intact. */
.config-texto-preview{background-color:var(--thread-color,#fff);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.27) 0px,rgba(255,255,255,.27) .38px,transparent .38px,transparent .7px,rgba(0,0,0,.16) .7px,rgba(0,0,0,.16) 1.08px,transparent 1.08px,transparent 1.8px);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent!important;text-shadow:none;filter:drop-shadow(0 .4px .35px rgba(0,0,0,.35));opacity:.96;padding:1px 0}

.config-draft-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;color:var(--muted);font-size:11px}.config-draft-bar .config-link{white-space:nowrap}@media(max-width:480px){.config-draft-bar{align-items:flex-start;flex-direction:column;gap:2px}}

@media(max-width:480px){.config-logo-panel{grid-row:2}.config-nombre-panel{grid-row:3}}

/* Segmented model toggle, preserving both labelled button choices. */
.config-model-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;gap:0;width:220px;padding:4px;border:1px solid var(--linea);border-radius:999px;background:#f4f1f7;box-sizing:border-box}
.config-model-toggle::before{content:"";position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/2);border-radius:999px;background:var(--azul);transition:transform .2s ease}
.config-model-toggle:has([data-genero=mujer][aria-pressed=true])::before{transform:translateX(100%)}
.config-model-toggle button,.config-model-toggle button[aria-pressed=true]{position:relative;min-width:0;min-height:40px;margin:0;padding:8px 12px;border:0;border-radius:999px;background:transparent;box-shadow:none;font-size:12px;line-height:1.25;color:var(--azul);transition:color .2s ease}
.config-model-toggle button[aria-pressed=true]{color:#fff}
.config-model-toggle button:focus-visible{outline-offset:-2px;outline:2px solid #9278b4}
@media(max-width:800px){.config-model-toggle button,.config-model-toggle button[aria-pressed=true]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.config-model-toggle::before,.config-model-toggle button{transition:none}}

.config-drag-hint{color:#b04a2f;font-weight:600}.config-view-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:220px;margin-top:4px;padding:2px;background:#f4f1f7;border-radius:999px;box-sizing:border-box}.config-view-toggle button{min-width:0;min-height:30px;border:0;border-radius:999px;padding:5px 7px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.config-view-toggle button[aria-pressed=true]{background:#fff;color:var(--azul);box-shadow:0 1px 3px #2b1b4e18;font-weight:650}.config-view-toggle button:disabled{cursor:wait}.config-view-toggle button:focus-visible{outline-offset:0}@media(max-width:800px){.config-view-toggle button{min-height:36px}}

/* Brief, noninteractive cue; never moves the customer's artwork. */
.config-drag-coach{position:absolute;z-index:5;pointer-events:none;width:38px;height:44px;margin-left:4px;margin-top:4px;transform-origin:50% 20%;animation:config-hand-demo 2.3s ease-in-out 3;filter:drop-shadow(0 2px 3px #2b1b4e35)}
.config-drag-coach iconify-icon{position:absolute;left:7px;top:5px;font-size:30px;color:#fff;stroke:#fff;background:#4d356b;border:2px solid #fff;border-radius:12px;padding:4px;box-sizing:content-box}
.config-drag-coach-ring{position:absolute;left:-5px;top:-5px;width:20px;height:20px;border:2px solid #c47758;border-radius:50%;box-shadow:0 0 0 4px #ffffff80;animation:config-hand-pulse 2.3s ease-in-out 3}
@keyframes config-hand-demo{0%,15%{transform:translate(0,0) rotate(-8deg);opacity:0}22%,35%{transform:translate(0,0) rotate(-8deg);opacity:1}70%,82%{transform:translate(22px,12px) rotate(4deg);opacity:1}100%{transform:translate(22px,12px) rotate(4deg);opacity:0}}
@keyframes config-hand-pulse{0%,20%{transform:scale(.6);opacity:0}30%,45%{transform:scale(1);opacity:1}70%,100%{transform:scale(1.3);opacity:0}}
@media(prefers-reduced-motion:reduce){.config-drag-coach{display:none!important}.config-drag-coach,.config-drag-coach-ring{animation:none}}

/* Commit artwork only after the incoming images have decoded. */
.config-foto .config-modelo,.config-foto .config-logo-preview,.config-foto .config-texto-preview,.config-foto .config-color-layer{transition:none!important}.config-foto[aria-busy=true] .config-drag-coach{visibility:hidden}.config-logo-preview:not([src]){display:none!important}

/* Center the model, view and color controls on mobile. */
@media(max-width:800px){
 .configurador .config-seleccion{flex-direction:column;align-items:center;justify-content:center}
 .configurador .config-seleccion fieldset{width:100%;text-align:center}
 .configurador .config-seleccion legend{width:100%;text-align:center}
 .configurador .config-seleccion .config-model-toggle,.configurador .config-seleccion .config-view-toggle,.configurador .config-seleccion .config-colores{margin-left:auto;margin-right:auto}
}
