:root{--ptc-pink:#e96f84;--ptc-deep:#5b173f;--ptc-teal:#89b8c2;--ptc-cream:#fffaf6;--ptc-line:#eadfd8;--ptc-text:#3e3e46}.ptc-app,.ptc-app *{box-sizing:border-box}.ptc-app{max-width:1280px;margin:auto;padding:30px 18px 60px;color:var(--ptc-text);font-family:inherit}.ptc-hero{text-align:center;padding:18px 12px 34px}.ptc-kicker{display:block;font-size:18px;font-style:italic;color:var(--ptc-pink);margin-bottom:4px}.ptc-hero h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:1;color:var(--ptc-teal)}.ptc-hero p{max-width:760px;margin:18px auto 0;line-height:1.6}.ptc-step{margin-bottom:30px}.ptc-step-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.ptc-step-title span{width:34px;height:34px;border-radius:99px;display:grid;place-items:center;background:var(--ptc-pink);color:#fff;font-weight:700}.ptc-step-title h2{margin:0;font-size:22px;color:var(--ptc-deep)}.ptc-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,220px));gap:16px;justify-content:flex-start}.ptc-product-card{width:100%!important;min-width:0!important;max-width:220px;border:1px solid var(--ptc-line);background:#fff;border-radius:16px;padding:12px;cursor:pointer;text-align:left;display:flex!important;flex-direction:column!important;overflow:hidden}.ptc-product-card.is-selected,.ptc-product-card:hover{border-color:var(--ptc-pink);box-shadow:0 10px 28px rgba(91,23,63,.10)}.ptc-product-card img{width:100%!important;aspect-ratio:1/1;object-fit:contain;border-radius:12px;background:#f7f3ef}.ptc-product-name,.ptc-product-price{display:block!important;width:100%!important;writing-mode:horizontal-tb!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}.ptc-product-name{margin-top:10px;font-weight:700;color:var(--ptc-deep)}.ptc-product-price{margin-top:4px;font-size:14px}.ptc-workspace{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:24px;align-items:start}.ptc-editor-panel,.ptc-preview-panel,.ptc-empty{background:#fff;border:1px solid var(--ptc-line);border-radius:18px;padding:22px;box-shadow:0 8px 30px rgba(91,23,63,.06);min-width:0}.ptc-tool-group{margin-bottom:18px}.ptc-label{display:block;font-weight:700;margin-bottom:7px;color:var(--ptc-deep)}.ptc-upload{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--ptc-pink);color:#fff;border-radius:8px;font-weight:700;cursor:pointer}.ptc-upload input{position:absolute;opacity:0;pointer-events:none}.ptc-inline{display:flex;gap:8px}.ptc-inline input,.ptc-grid-controls select{width:100%;min-height:44px;border:1px solid #d8d1cc;border-radius:8px;padding:0 12px;background:#fff}.ptc-grid-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.ptc-grid-controls input[type=color]{width:100%;height:44px;border:1px solid #d8d1cc;border-radius:8px;padding:4px;background:#fff}.ptc-grid-controls input[type=range]{width:100%;accent-color:var(--ptc-pink)}.ptc-secondary-btn,.ptc-primary-btn,.ptc-link-btn,.ptc-view-btn,.ptc-swatch{border:0;cursor:pointer;font:inherit}.ptc-secondary-btn{background:var(--ptc-deep);color:#fff;border-radius:8px;padding:0 16px;font-weight:700}.ptc-primary-btn{width:100%;min-height:52px;background:var(--ptc-pink);color:#fff;border-radius:9px;font-weight:800;margin-top:14px}.ptc-link-btn{color:var(--ptc-deep);background:transparent;padding:8px 0;text-decoration:underline}.ptc-view-tabs{display:flex;gap:8px;flex-wrap:wrap}.ptc-view-btn{padding:8px 11px;border-radius:999px;background:#f4efec;color:var(--ptc-deep);border:1px solid var(--ptc-line)}.ptc-view-btn.is-active{background:var(--ptc-deep);color:#fff}.ptc-view-note{font-size:12px;margin-top:7px;opacity:.7}.ptc-color-swatches{display:flex;gap:10px;flex-wrap:wrap}.ptc-swatch{background:transparent;display:flex;align-items:center;gap:6px;padding:0}.ptc-swatch span{width:26px;height:26px;border-radius:50%;border:1px solid #bbb;display:block}.ptc-swatch.is-active span{outline:2px solid var(--ptc-pink);outline-offset:2px}.ptc-swatch em{font-style:normal;font-size:13px}.ptc-selection-actions{display:flex;gap:14px;flex-wrap:wrap}.ptc-tip{background:var(--ptc-cream);border-left:3px solid var(--ptc-teal);padding:12px 14px;margin-top:14px;font-size:13px}.ptc-canvas-wrap{width:100%;max-width:760px;margin:auto;border-radius:14px;overflow:hidden;background:var(--ptc-cream);border:1px solid var(--ptc-line)}.ptc-canvas-wrap canvas{width:100%!important;height:auto!important;display:block;touch-action:none}.ptc-price-row{display:flex;justify-content:space-between;gap:18px;padding:16px 0 4px;border-bottom:1px solid var(--ptc-line);flex-wrap:wrap}.ptc-price-row span,.ptc-price-row strong{display:block}.ptc-price-row span{font-size:13px;opacity:.72}.ptc-price-row strong{margin-top:3px;color:var(--ptc-deep)}.ptc-total{text-align:right}.ptc-status{margin-top:12px;min-height:22px;font-size:14px}.ptc-home-link{display:inline-flex;min-height:48px;padding:0 24px;align-items:center;justify-content:center;border-radius:8px;background:var(--ptc-pink);color:#fff!important;text-decoration:none!important;font-weight:800}@media(min-width:901px){.ptc-preview-panel{position:sticky;top:24px}.ptc-canvas-wrap{max-height:720px}.ptc-canvas-wrap canvas{max-height:720px;object-fit:contain}}@media(max-width:900px){.ptc-workspace{grid-template-columns:1fr}.ptc-preview-panel{position:static}.ptc-products{grid-template-columns:repeat(2,minmax(0,1fr))}.ptc-product-card{max-width:none}}@media(max-width:560px){.ptc-app{padding-left:12px;padding-right:12px}.ptc-grid-controls{grid-template-columns:1fr}.ptc-inline{flex-direction:column}.ptc-secondary-btn{min-height:44px}}

/* v2.1.0 */
.ptc-color-swatches{row-gap:12px}
.ptc-swatch{min-width:74px;justify-content:flex-start}
.ptc-swatch em{max-width:72px;line-height:1.1}
.ptc-canvas-wrap{background:#fffaf6}


/* v2.2.0: combined mockups, aligned swatches, cleaner preview */
.ptc-color-swatches{
  display:grid !important;
  grid-template-columns:repeat(5,32px);
  gap:14px 18px !important;
  align-items:center;
  justify-content:start;
}
.ptc-swatch{
  width:32px !important;
  min-width:32px !important;
  height:32px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50%;
}
.ptc-swatch span{
  width:26px !important;
  height:26px !important;
  border:1px solid #aaa !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.9) inset;
}
.ptc-swatch[aria-label="Bianco"] span{border:1px solid #9a9a9a !important;box-shadow:0 0 0 2px #fff inset,0 0 0 1px #d0d0d0}
.ptc-swatch.is-active span{outline:2px solid var(--ptc-pink) !important;outline-offset:3px !important}
.ptc-canvas-wrap{background:#fffaf6;aspect-ratio:1/1;display:grid;place-items:center}
.ptc-canvas-wrap canvas{max-width:100%;max-height:100%;object-fit:contain}
.ptc-view-tabs{gap:10px}
.ptc-view-btn{padding:9px 14px}
@media(max-width:560px){.ptc-color-swatches{grid-template-columns:repeat(5,30px);gap:12px 14px !important}.ptc-swatch{width:30px !important;height:30px !important}}

/* ===== v2.3.0: palette alignment + upload tools ===== */
.ptc-color-swatches{
  display:grid !important;
  grid-template-columns:repeat(5,30px) !important;
  gap:14px 18px !important;
  align-items:center !important;
  justify-content:start !important;
}
.ptc-swatch{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
}
.ptc-swatch span{
  width:24px !important;
  height:24px !important;
  margin:0 !important;
  flex:0 0 24px !important;
}
.ptc-upload-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ptc-secondary-outline{min-height:44px;padding:0 14px;border:1px solid var(--ptc-pink);border-radius:8px;background:#fff;color:var(--ptc-deep);font-weight:700;cursor:pointer}
.ptc-secondary-outline:disabled{opacity:.45;cursor:not-allowed}
.ptc-bg-note{display:block;margin-top:7px;opacity:.66;line-height:1.35}
@media(max-width:560px){
  .ptc-color-swatches{grid-template-columns:repeat(5,30px) !important;gap:12px 14px !important}
  .ptc-upload-actions{align-items:stretch}
  .ptc-upload,.ptc-secondary-outline{width:100%}
}


/* ===== v2.5.0: photographic shirt palettes + direct manipulation ===== */
.ptc-color-note{
  display:block;
  margin-top:12px;
  max-width:360px;
  font-size:12px;
  line-height:1.45;
  color:#70676c;
}
.ptc-color-note[hidden]{display:none!important}
.ptc-canvas-wrap canvas{cursor:default}


/* ===== v2.6.0: taglie magliette ===== */
[data-ptc-size-group] select{
  width:100%;
  max-width:260px;
  min-height:44px;
  padding:9px 12px;
  border:1px solid #dfd3cc;
  border-radius:10px;
  background:#fff;
  color:#4e1538;
  font:inherit;
}
[data-ptc-size-group][hidden]{display:none!important}
.ptc-size-note{
  display:block;
  margin-top:7px;
  font-size:12px;
  color:#7c7377;
}
