.psc-customizer,.psc-customizer *{box-sizing:border-box}
.psc-customizer{--psc-blue:#0b63ce;--psc-blue-dark:#084d9f;--psc-navy:#101820;--psc-white:#fff;--psc-soft:#f4f8ff;--psc-muted:#66717e;--psc-line:rgba(16,24,32,.14);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);overflow:hidden;border:1px solid var(--psc-line);background:var(--psc-white);color:var(--psc-navy);font-family:Arial,Helvetica,sans-serif}
.psc-admin-message{padding:16px;border-left:3px solid var(--psc-blue);background:var(--psc-soft);color:var(--psc-navy);font-family:Arial,Helvetica,sans-serif}
.psc-customizer__preview{position:relative;min-height:620px;overflow:hidden;background:var(--psc-navy)}
.psc-customizer__preview:before{content:"";position:absolute;top:-110px;right:-110px;z-index:2;width:310px;height:310px;border:1px solid rgba(108,185,255,.35);border-radius:50%;pointer-events:none}.psc-customizer__preview:after{content:"";position:absolute;right:0;bottom:0;left:0;z-index:2;height:145px;background:linear-gradient(0deg,rgba(16,24,32,.9) 0%,rgba(16,24,32,0) 100%);pointer-events:none}
.psc-customizer__preview-top{position:absolute;top:24px;right:24px;left:24px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px}.psc-customizer__eyebrow{display:inline-flex;align-items:center;gap:9px;color:#a5d2ff;font-size:10px;font-weight:900;letter-spacing:.13em;line-height:1;text-transform:uppercase}.psc-customizer__eyebrow:before{content:"";width:24px;height:2px;background:var(--psc-blue)}.psc-customizer__eyebrow--dark{color:var(--psc-blue)}.psc-customizer__drag-note{padding:8px 10px;border:1px solid rgba(158,209,255,.35);background:rgba(16,24,32,.68);color:#d1e8ff;font-size:10px;font-weight:700;line-height:1.3}
.psc-customizer__canvas-shell{position:relative;width:100%;height:100%;min-height:620px;display:flex;align-items:center;justify-content:center;background:#e8f3ff}.psc-customizer__canvas{width:100%;height:100%;min-height:620px;display:block;touch-action:none;cursor:grab}.psc-customizer__canvas.is-dragging{cursor:grabbing}.psc-customizer__canvas-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(16,24,32,.32);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em}.psc-customizer__preview-footer{position:absolute;right:24px;bottom:22px;left:24px;z-index:4;display:flex;align-items:end;justify-content:space-between;gap:18px;color:#fff}.psc-customizer__preview-footer strong{display:block;font-size:22px;font-weight:900;letter-spacing:-.035em;line-height:1.12;text-transform:uppercase}.psc-customizer__preview-footer span:not(.psc-customizer__preview-chip){display:block;margin-top:6px;color:rgba(255,255,255,.75);font-size:12px;font-weight:700;line-height:1.45}.psc-customizer__preview-chip{min-width:96px;padding:10px 9px;border:1px solid rgba(146,207,255,.45);background:rgba(11,99,206,.92);color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em;line-height:1.35;text-align:center;text-transform:uppercase}
.psc-customizer__controls{padding:38px;background:#fff}.psc-customizer__controls-header{padding-bottom:24px;border-bottom:1px solid var(--psc-line)}.psc-customizer__controls-header h3{margin:17px 0 0;color:var(--psc-navy);font-size:clamp(30px,3.2vw,45px);font-weight:900;letter-spacing:-.06em;line-height:.97;text-transform:uppercase}.psc-customizer__controls-header p{max-width:540px;margin:15px 0 0;color:var(--psc-muted);font-size:14px;line-height:1.65}.psc-customizer__field{padding:20px 0;border-bottom:1px solid var(--psc-line)}.psc-customizer__field--details{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.52fr) minmax(76px,.35fr);gap:12px}.psc-customizer__label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:var(--psc-navy);font-size:12px;font-weight:900;letter-spacing:.02em;line-height:1.35;text-transform:uppercase}.psc-customizer__label span{color:var(--psc-muted);font-size:10px;font-weight:700;letter-spacing:0;text-transform:none}.psc-customizer__label--inner{margin-top:0}
.psc-customizer__upload{position:relative;min-height:124px;display:flex;align-items:center;gap:16px;padding:18px;cursor:pointer;border:1px dashed rgba(11,99,206,.52);background:var(--psc-soft);transition:border-color .18s ease,background .18s ease}.psc-customizer__upload:hover{border-color:var(--psc-blue);background:#e8f2ff}.psc-customizer__file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.psc-customizer__upload-icon{width:60px;height:60px;min-width:60px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(11,99,206,.55);border-radius:50%;background:#fff;color:var(--psc-blue);font-size:35px;font-weight:900;line-height:.9}.psc-customizer__upload strong{display:block;color:var(--psc-navy);font-size:13px;font-weight:900;line-height:1.35;text-transform:uppercase}.psc-customizer__upload small{display:block;margin-top:5px;color:var(--psc-muted);font-size:11px;font-weight:600;line-height:1.5}.psc-customizer__file-status{margin-top:9px;color:var(--psc-muted);font-size:11px;font-weight:800;line-height:1.45}.psc-customizer__file-status.is-good{color:#147a46}.psc-customizer__file-status.is-warning{color:#9a6519}.psc-customizer__privacy-warning{margin-top:10px;padding:9px 10px;border-left:2px solid #d7831d;background:#fff8e8;color:#7f5114;font-size:10px;font-weight:700;line-height:1.5}
.psc-customizer__layer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.psc-customizer__layer-tab,.psc-customizer__tool-grid button{min-height:41px;padding:10px;border:1px solid var(--psc-line);background:#fff;color:var(--psc-navy);cursor:pointer;font:800 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em;text-transform:uppercase;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.psc-customizer__layer-tab:hover,.psc-customizer__tool-grid button:hover{border-color:rgba(11,99,206,.55);background:#f4f8ff}.psc-customizer__layer-tab.is-active{border-color:var(--psc-blue);background:var(--psc-blue);color:#fff}.psc-customizer__layer-panel{padding:15px;border:1px solid var(--psc-line);background:#fbfdff}.psc-customizer__layer-panel.is-hidden{display:none}.psc-customizer__control-row{margin-top:13px}.psc-customizer__control-row:first-child{margin-top:0}.psc-customizer__control-row label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center;color:var(--psc-muted);font-size:11px;font-weight:800;line-height:1.35}.psc-customizer__control-row output{color:var(--psc-blue);font-size:11px;font-weight:900}.psc-customizer__control-row input{grid-column:1/-1;width:100%;accent-color:var(--psc-blue)}.psc-customizer__tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.psc-customizer__tool-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.psc-customizer__tool-grid button{min-height:38px;font-size:10px}.psc-customizer__tool-grid button.is-danger{border-color:rgba(188,62,43,.38);color:#a33727}.psc-customizer__tool-grid button.is-danger:hover{background:#fff3f1;border-color:#cf3f2f}.psc-customizer__tool-note{margin:12px 0 0;color:var(--psc-muted);font-size:10px;font-weight:700;line-height:1.55}.psc-customizer__text{width:100%;height:49px;padding:0 13px;border:1px solid var(--psc-line);border-radius:0;outline:0;background:#fff;color:var(--psc-navy);font-family:inherit;font-size:13px;font-weight:700}.psc-customizer__text:focus,.psc-customizer__select:focus,.psc-customizer__quantity:focus{border-color:var(--psc-blue)}.psc-customizer__mini-grid{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(0,1.45fr);gap:12px;margin-top:12px}.psc-customizer__mini-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--psc-muted);font-size:11px;font-weight:800}.psc-customizer__text-colour{width:38px;height:31px;padding:2px;border:1px solid var(--psc-line);background:#fff}.psc-customizer__text-font{width:100%;height:34px;padding:0 7px;border:1px solid var(--psc-line);background:#fff;color:var(--psc-navy);font:700 11px Arial,Helvetica,sans-serif}
.psc-customizer__swatches{display:flex;flex-wrap:wrap;gap:11px}.psc-customizer__swatch{display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer}.psc-customizer__swatch input{position:absolute;opacity:0;pointer-events:none}.psc-customizer__swatch span{width:37px;height:37px;display:block;border:2px solid #fff;outline:1px solid rgba(16,24,32,.18);transition:transform .18s ease,outline-color .18s ease}.psc-customizer__swatch em{color:var(--psc-muted);font-size:10px;font-style:normal;font-weight:800;line-height:1}.psc-customizer__swatch--white span{background:#fff}.psc-customizer__swatch--black span{background:#151515}.psc-customizer__swatch--blue span{background:#0b63ce}.psc-customizer__swatch--grey span{background:#a6adb6}.psc-customizer__swatch input:checked+span{outline:2px solid var(--psc-blue);transform:scale(1.08)}.psc-customizer__swatch input:checked~em{color:var(--psc-blue)}.psc-customizer__hint{display:block;margin-top:11px;color:var(--psc-muted);font-size:10px;line-height:1.5}.psc-customizer__select,.psc-customizer__quantity{width:100%;height:49px;padding:0 12px;border:1px solid var(--psc-line);border-radius:0;outline:0;background:#fff;color:var(--psc-navy);font-family:inherit;font-size:13px;font-weight:700}
.psc-customizer__notice{min-height:0;margin-top:17px;color:var(--psc-muted);font-size:12px;font-weight:700;line-height:1.5}.psc-customizer__notice:empty{display:none}.psc-customizer__notice--error{padding:10px 12px;border-left:3px solid #cf3f2f;background:#fff3f1;color:#8b2a20}.psc-customizer__notice--success{padding:10px 12px;border-left:3px solid #0b63ce;background:#eef6ff;color:#084d9f}.psc-customizer__notice--info{padding:10px 12px;border-left:3px solid #0b63ce;background:#eef6ff;color:#084d9f}.psc-customizer__submit{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:15px 18px;border:1px solid var(--psc-blue);background:var(--psc-blue);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:900;letter-spacing:.02em;line-height:1;text-align:left;text-transform:uppercase;transition:transform .18s ease,background .18s ease,border-color .18s ease}.psc-customizer__submit:hover{border-color:var(--psc-blue-dark);background:var(--psc-blue-dark);transform:translateY(-2px)}.psc-customizer__submit:disabled{opacity:.7;cursor:wait;transform:none}.psc-customizer__submit strong{font-size:14px}.psc-customizer__secure-note{margin:14px 0 0;color:var(--psc-muted);font-size:10px;font-weight:700;line-height:1.55}
@media(max-width:980px){.psc-customizer{grid-template-columns:1fr}.psc-customizer__preview,.psc-customizer__canvas-shell,.psc-customizer__canvas{min-height:520px}.psc-customizer__controls{padding:34px}}
@media(max-width:640px){.psc-customizer__preview,.psc-customizer__canvas-shell,.psc-customizer__canvas{min-height:400px}.psc-customizer__preview-top{top:14px;right:14px;left:14px}.psc-customizer__drag-note{display:none}.psc-customizer__preview-footer{right:14px;bottom:14px;left:14px}.psc-customizer__preview-footer strong{font-size:16px}.psc-customizer__preview-footer span:not(.psc-customizer__preview-chip){font-size:10px}.psc-customizer__preview-chip{min-width:78px;font-size:8px}.psc-customizer__controls{padding:25px 20px}.psc-customizer__controls-header h3{font-size:33px}.psc-customizer__field--details{grid-template-columns:1fr 1fr}.psc-customizer__field--details>div:last-child{grid-column:1/-1}.psc-customizer__upload{min-height:112px;padding:15px;gap:13px}.psc-customizer__upload-icon{width:54px;height:54px;min-width:54px;font-size:30px}.psc-customizer__upload strong{font-size:12px}.psc-customizer__upload small{font-size:10px}.psc-customizer__mini-grid{grid-template-columns:1fr}.psc-customizer__tool-grid--three{grid-template-columns:1fr}.psc-customizer__tool-grid{grid-template-columns:1fr 1fr}.psc-customizer__tool-grid--three{grid-template-columns:1fr}.psc-customizer__submit{min-height:54px;font-size:12px}.psc-customizer__submit strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.psc-customizer *{transition:none!important}}


/* =====================================================
   v1.2.2 PREVIEW PROPORTION LOCK
   Keep the preview canvas square. The controls column can
   become taller, but it must never stretch the T-shirt.
===================================================== */
.psc-customizer{
  align-items:start;
}

.psc-customizer__preview{
  min-height:0;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  align-self:start;
}

.psc-customizer__canvas-shell{
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:1 / 1;
}

.psc-customizer__canvas{
  display:block;
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:1 / 1;
}

/* Keep the product mockup visually balanced within the square preview. */
.psc-customizer__preview-footer{
  pointer-events:none;
}

@media (max-width:980px){
  .psc-customizer__preview,
  .psc-customizer__canvas-shell,
  .psc-customizer__canvas{
    min-height:0;
    height:auto;
    aspect-ratio:1 / 1;
  }
}

@media (max-width:640px){
  .psc-customizer__preview,
  .psc-customizer__canvas-shell,
  .psc-customizer__canvas{
    min-height:0;
    height:auto;
    aspect-ratio:1 / 1;
  }
}


/* v1.2.3 – large font selector, loaded one font at a time for performance */
.psc-customizer__font-field{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:7px 10px!important}.psc-customizer__font-field .psc-customizer__text-font{grid-column:1/-1;height:40px;font-size:12px}.psc-customizer__font-count{padding:4px 7px;border:1px solid rgba(11,99,206,.28);background:#edf5ff;color:var(--psc-blue);font-size:9px;font-weight:900;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap}.psc-customizer__font-help{grid-column:1/-1;margin:0;color:var(--psc-muted);font-size:10px;font-weight:700;line-height:1.48}.psc-customizer__text-font optgroup{font-weight:900;color:#0b63ce}.psc-customizer__text-font option{font-weight:700;color:#101820}


/* v1.2.4 – show the final customised T-shirt preview in the WooCommerce cart thumbnail. */
.woocommerce-cart-form .product-thumbnail .psc-cart-design-thumbnail,
.woocommerce .woocommerce-cart-form__cart-item .product-thumbnail img.psc-cart-design-thumbnail{
  display:block;
  width:100%;
  max-width:118px;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  border:1px solid rgba(11,99,206,.22);
  background:#f4f8ff;
}

@media(max-width:767px){
  .woocommerce-cart-form .product-thumbnail .psc-cart-design-thumbnail,
  .woocommerce .woocommerce-cart-form__cart-item .product-thumbnail img.psc-cart-design-thumbnail{
    max-width:88px;
  }
}
/* v1.4.3 — customer download preview */
.psc-customizer__download{width:100%;min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:14px 18px;border:1px solid var(--psc-navy);background:#fff;color:var(--psc-navy);cursor:pointer;font-family:inherit;font-size:12px;font-weight:900;letter-spacing:.02em;line-height:1;text-align:left;text-transform:uppercase;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.psc-customizer__download:hover{border-color:var(--psc-blue);background:var(--psc-soft);color:var(--psc-blue);transform:translateY(-2px)}.psc-customizer__download:disabled{opacity:.65;cursor:wait;transform:none}.psc-customizer__download strong{font-size:11px;letter-spacing:.07em}.psc-customizer__download-note{margin:10px 0 0;color:var(--psc-muted);font-size:10px;font-weight:700;line-height:1.55}
@media(max-width:640px){.psc-customizer__download{min-height:52px;font-size:11px}.psc-customizer__download strong{font-size:10px}}
