/* Imprenta Fácil — Revisión de archivos (if-preflight) */
:root{--ifpf-p:#6f0af5;--ifpf-m:#01ffbe;--ifpf-d:#1d1530;--ifpf-t:#2b2140;--ifpf-mut:#5b5170;--ifpf-bg:#f7f2ff;--ifpf-bd:#e1d3ff;--ifpf-ok:#16794a;--ifpf-warn:#a85d00;--ifpf-err:#c4141b;--ifpf-info:#3b4fd8}

/* FilePond de HelloPrint sigue funcionando por debajo (lo usamos para subir el original), pero no se ve.
   Solo cuando el plugin ha arrancado y conoce el tamaño elegido (clase ifpf-ready): si no, queda el de HelloPrint. */
.ifpf-ready .wphp-product-file-upload .filepond--root{position:absolute!important;left:-10000px!important;top:auto!important;width:320px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.ifpf-ready .wphp-product-file-upload .wphp_product_file_upload{display:none!important}

/* Panel del paso de subida */
.ifpf-panel{margin:14px 0 10px;padding:14px;border:1px solid var(--ifpf-bd);border-radius:14px;background:#fff;color:var(--ifpf-t);font-size:14px;line-height:1.5}
.ifpf-panel-top{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.ifpf-panel-ico{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--ifpf-p);color:var(--ifpf-m);display:flex;align-items:center;justify-content:center}
.ifpf-panel-t{display:block;font-size:15px;color:var(--ifpf-d)}
.ifpf-panel-fmt{display:block;font-size:13px;color:var(--ifpf-mut)}.ifpf-panel-fmt b{color:var(--ifpf-t)}
.ifpf-panel-drop{display:flex;gap:12px;align-items:center;padding:16px;border:2px dashed var(--ifpf-p);border-radius:12px;background:var(--ifpf-bg);cursor:pointer;transition:background .15s,border-color .15s;outline:none}
.ifpf-panel-drop:hover,.ifpf-panel-drop:focus-visible,.ifpf-panel-drop.is-over{background:#efe5ff;border-color:#4b05b0}
.ifpf-panel-drop-ico{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--ifpf-p);color:var(--ifpf-m);display:flex;align-items:center;justify-content:center}
.ifpf-panel-drop b{display:block;color:var(--ifpf-p);font-size:15.5px}
.ifpf-panel-drop small{display:block;color:var(--ifpf-mut);font-size:12.5px}
.ifpf-panel-files{list-style:none;margin:10px 0 0;padding:0}
.ifpf-panel-files li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 10px;border:1px solid var(--ifpf-bd);border-radius:10px;margin-top:6px;background:#fcfaff;font-size:13px}
.ifpf-pf-face{font-weight:700;color:var(--ifpf-d)}.ifpf-pf-name{color:var(--ifpf-t);word-break:break-all}
.ifpf-panel-files .ifpf-pf-stale{background:#fff7e6;border-color:#f3c46b;color:#6b4300}
.ifpf-panel-note{margin:10px 0 0;font-size:12.5px;color:var(--ifpf-mut)}
.ifpf-panel-notice{margin:8px 0 0;padding:8px 10px;border:1px solid #f3c46b;border-radius:10px;background:#fff7e6;color:#6b4300;font-size:13px;font-weight:600}
.ifpf-panel-notice[hidden]{display:none}
.ifpf-ok{color:var(--ifpf-ok)}.ifpf-warn{color:var(--ifpf-warn)}.ifpf-err{color:var(--ifpf-err)}.ifpf-muted{color:var(--ifpf-mut)}.ifpf-small{font-size:12px}
.ifpf-ok svg,.ifpf-warn svg,.ifpf-err svg{vertical-align:-3px}
.ifpf-link{background:none!important;border:0!important;padding:0!important;color:var(--ifpf-p)!important;font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}

/* Ventana */
html.ifpf-lock,html.ifpf-lock body{overflow:hidden!important}
.ifpf-modal{position:fixed;inset:0;z-index:2147483000;background:rgba(18,10,38,.62);display:flex;align-items:center;justify-content:center;padding:2vh 2vw;color:var(--ifpf-t);font-family:inherit}
.ifpf-modal[hidden]{display:none}
.ifpf-dialog{position:relative;display:flex;flex-direction:column;width:min(1240px,100%);max-height:96vh;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(10,5,30,.45);overflow:hidden}
.ifpf-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px 12px;border-bottom:1px solid #eee7fb;background:linear-gradient(180deg,#faf7ff,#fff)}
.ifpf-head h2{margin:0;font-size:21px;line-height:1.2;color:var(--ifpf-d)}
.ifpf-sub{margin:2px 0 8px;color:var(--ifpf-mut);font-size:13.5px}
.ifpf-chips{display:flex;flex-wrap:wrap;gap:6px}.ifpf-chips span{padding:3px 9px;border-radius:999px;background:var(--ifpf-bg);border:1px solid var(--ifpf-bd);font-size:12.5px;color:var(--ifpf-d);white-space:nowrap}
.ifpf-x{flex:0 0 auto;width:38px;height:38px;border-radius:10px!important;border:1px solid var(--ifpf-bd)!important;background:#fff!important;color:var(--ifpf-d)!important;font-size:24px!important;line-height:1!important;cursor:pointer;padding:0!important}
.ifpf-x:hover{background:var(--ifpf-bg)!important}
.ifpf-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding:16px 20px;overflow:auto;flex:1 1 auto}
.ifpf-main{min-width:0}
.ifpf-sides{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:1100px){.ifpf-sides.ifpf-n2{grid-template-columns:1fr 1fr}}
.ifpf-side{border:1px solid #e9e3f5;border-radius:14px;padding:12px;background:#fff;min-width:0}
.ifpf-side.st-ok{border-color:#b9e6cf}.ifpf-side.st-warn{border-color:#f3cf8b}.ifpf-side.st-error{border-color:#f1a7aa}
.ifpf-side-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;font-size:14px;color:var(--ifpf-d)}
.ifpf-state{font-size:12.5px;color:var(--ifpf-mut);white-space:nowrap}.ifpf-state svg{vertical-align:-3px}
.st-ok .ifpf-state{color:var(--ifpf-ok)}.st-warn .ifpf-state{color:var(--ifpf-warn)}.st-error .ifpf-state{color:var(--ifpf-err)}
.ifpf-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px;border-radius:12px;background:#eceef3;outline:none;cursor:pointer;overflow:hidden}
.ifpf-side.has-file .ifpf-stage{cursor:default}
.ifpf-stage:focus-visible{box-shadow:0 0 0 3px rgba(111,10,245,.35)}
.ifpf-stage.is-over{box-shadow:inset 0 0 0 3px var(--ifpf-p)}
.ifpf-stage canvas{display:block;max-width:100%}
.ifpf-drop-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:12px;color:var(--ifpf-d);pointer-events:none}
.ifpf-drop-hint[hidden]{display:none}
.ifpf-drop-hint b{font-size:15px;background:rgba(255,255,255,.88);padding:2px 8px;border-radius:6px}
.ifpf-drop-hint span{font-size:13px;color:var(--ifpf-mut);background:rgba(255,255,255,.75);padding:0 6px;border-radius:5px}
.ifpf-drop-hint small{margin-top:4px;font-size:12px;color:var(--ifpf-mut);background:rgba(255,255,255,.75);padding:0 6px;border-radius:5px}
.ifpf-dh-ico{display:flex!important;width:44px;height:44px;border-radius:12px;background:var(--ifpf-p)!important;color:var(--ifpf-m)!important;align-items:center;justify-content:center;margin-bottom:6px}
.ifpf-busy{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:rgba(255,255,255,.78);font-size:13.5px;color:var(--ifpf-d)}
.ifpf-busy[hidden]{display:none}
.ifpf-spin{width:28px;height:28px;border-radius:50%;border:3px solid #e2d6fb;border-top-color:var(--ifpf-p);animation:ifpf-r .8s linear infinite;display:inline-block}
.ifpf-spin-s{width:14px;height:14px;border-width:2px;vertical-align:-2px;margin-right:4px}
@keyframes ifpf-r{to{transform:rotate(360deg)}}
.ifpf-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.ifpf-tools[hidden]{display:none}
.ifpf-tools-sp{flex:1 1 auto}
.ifpf-t{padding:5px 10px!important;border-radius:8px!important;border:1px solid var(--ifpf-bd)!important;background:#fff!important;color:var(--ifpf-d)!important;font-size:12.5px!important;font-weight:600;line-height:1.3!important;cursor:pointer;min-height:0!important}
.ifpf-t:hover{background:var(--ifpf-bg)!important}
.ifpf-t[aria-pressed="true"]{background:var(--ifpf-p)!important;border-color:var(--ifpf-p)!important;color:#fff!important}
.ifpf-t-remove{color:var(--ifpf-err)!important}
.ifpf-fileinfo{margin-top:8px;font-size:12.5px;color:var(--ifpf-mut);word-break:break-word}.ifpf-fn{color:var(--ifpf-d);font-weight:600}
.ifpf-checks{list-style:none;margin:8px 0 0;padding:0}
.ifpf-c{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border-radius:9px;margin-top:5px;font-size:13px;line-height:1.45;background:#f6f7f9}
.ifpf-c svg{flex:0 0 auto;margin-top:1px}
.ifpf-c.st-ok{background:#eefaf3;color:#0f5132}.ifpf-c.st-ok svg{color:var(--ifpf-ok)}
.ifpf-c.st-warn{background:#fff6e5;color:#5c3900}.ifpf-c.st-warn svg{color:var(--ifpf-warn)}
.ifpf-c.st-error{background:#fff0f0;color:#6e0b0f}.ifpf-c.st-error svg{color:var(--ifpf-err)}
.ifpf-c.st-info{background:#f1f3ff;color:#26307a}.ifpf-c.st-info svg{color:var(--ifpf-info)}
.ifpf-c a{color:var(--ifpf-p);font-weight:700}
.ifpf-mockups{margin-top:18px;padding-top:14px;border-top:1px solid #eee7fb}
.ifpf-mockups[hidden]{display:none}
.ifpf-mockups h3,.ifpf-aside h3{margin:0 0 4px;font-size:15.5px;color:var(--ifpf-d)}
.ifpf-mk-note{margin:0 0 10px;font-size:12.5px;color:var(--ifpf-mut)}
.ifpf-mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.ifpf-mk{margin:0;border-radius:12px;overflow:hidden;border:1px solid #ece6f7;background:#f4f2f7}
.ifpf-mk canvas{display:block;width:100%;height:auto}
.ifpf-mk figcaption{padding:7px 10px;font-size:12.5px;font-weight:600;color:var(--ifpf-d);background:#fff}
.ifpf-aside{font-size:13px;color:var(--ifpf-t)}
.ifpf-legend{list-style:none;margin:6px 0 14px;padding:0}
.ifpf-legend li{display:flex;gap:9px;align-items:flex-start;margin:7px 0;line-height:1.4}
.ifpf-legend li[hidden]{display:none}
.ifpf-lg{flex:0 0 auto;width:26px;height:16px;border-radius:4px;margin-top:2px;display:inline-block}
.ifpf-lg-bleed{background:rgba(15,76,129,.45)}
.ifpf-lg-cut{background:repeating-linear-gradient(90deg,#1d1530 0 6px,#fff 6px 10px);height:3px;margin-top:8px}
.ifpf-lg-safe{background:rgba(120,120,128,.32)}
.ifpf-lg-zone{background:#fff;border:2px dashed #1aa37a}
.ifpf-lg-fold{background:repeating-linear-gradient(90deg,#6f0af5 0 6px,transparent 6px 11px);height:3px;margin-top:8px}
.ifpf-lg-bad{background:repeating-linear-gradient(45deg,rgba(217,45,51,.85) 0 3px,rgba(255,255,255,.6) 3px 7px);border:1px solid #d92d33}
.ifpf-specs{padding:12px;border-radius:12px;background:var(--ifpf-bg);border:1px solid var(--ifpf-bd)}
.ifpf-specs ul{margin:6px 0 0 16px;padding:0}.ifpf-specs li{margin:4px 0}
.ifpf-specs a,.ifpf-help a{color:var(--ifpf-p);font-weight:700}
.ifpf-orig{display:flex;gap:6px;align-items:flex-start;margin:12px 0 6px;padding:10px;border-radius:10px;background:#e9fff7;color:#0b4a37;border:1px solid #9be9cf}
.ifpf-orig svg{flex:0 0 auto;color:#0d8a64;margin-top:2px}
.ifpf-help{margin:6px 0 0;color:var(--ifpf-mut)}
.ifpf-foot{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:flex-end;padding:12px 20px;border-top:1px solid #eee7fb;background:#fff}
.ifpf-foot-msg{flex:1 1 320px;font-size:13.5px;line-height:1.45}.ifpf-foot-msg svg{vertical-align:-3px}
.ifpf-accept{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:600;color:#5c3900;cursor:pointer}
.ifpf-accept[hidden]{display:none}
.ifpf-accept input{width:18px;height:18px;accent-color:var(--ifpf-p)}
.ifpf-foot-btns{display:flex;gap:8px}
.ifpf-btn,.ifpf-btn-sec{padding:11px 20px!important;border-radius:10px!important;font-weight:700!important;font-size:14.5px!important;line-height:1.2!important;cursor:pointer;min-height:0!important}
.ifpf-btn{background:var(--ifpf-p)!important;color:var(--ifpf-m)!important;border:1px solid var(--ifpf-m)!important}
.ifpf-btn:not(:disabled):hover,.ifpf-btn:not(:disabled):focus-visible{background:var(--ifpf-m)!important;color:var(--ifpf-p)!important;border-color:var(--ifpf-p)!important}
.ifpf-btn:disabled{opacity:.45;cursor:not-allowed}
.ifpf-btn-sec{background:#fff!important;color:var(--ifpf-d)!important;border:1px solid var(--ifpf-bd)!important}
.ifpf-btn-sec:hover{background:var(--ifpf-bg)!important}
@media (max-width:900px){
	.ifpf-modal{padding:0}
	.ifpf-dialog{max-height:100vh;height:100%;border-radius:0}
	.ifpf-body{grid-template-columns:1fr;padding:12px}
	.ifpf-head{padding:12px}
	.ifpf-head h2{font-size:18px}
	.ifpf-foot{padding:10px 12px;justify-content:stretch}
	.ifpf-foot-btns{width:100%}.ifpf-foot-btns button{flex:1 1 auto}
}
/* Mientras se sube el original no se pueden cambiar las caras */
.ifpf-side.is-locked .ifpf-stage,.ifpf-side.is-locked .ifpf-tools{pointer-events:none;opacity:.6}
.ifpf-panel-alt{margin:8px 0 0;font-size:12.5px;line-height:1.4}.ifpf-panel-alt .ifpf-link{font-weight:600}
.ifpf-pmode{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:8px 0 0;font-size:13px}.ifpf-pmode span{font-weight:700}.ifpf-pmode label{display:inline-flex;gap:5px;align-items:center;cursor:pointer}
.ifpf-pmode small{font-size:12px;color:var(--ifpf-mut)}
.ifpf-c .ifpf-link{font-size:inherit;text-align:left}
