:root{
  --pc-orange:#ff5a00;
  --pc-orange-dark:#ea5300;
  --pc-navy:#0a1633;
  --pc-text:#2b3650;
  --pc-muted:#647089;
  --pc-border:#e8e4de;
  --pc-soft:#fbfaf8;
  --pc-green:#118e57;
  --pc-blue:#1473e6;
  --pc-shadow:0 8px 22px rgba(12,23,44,.06);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff;color:var(--pc-navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body.ppu-creator-page{overflow-x:hidden}
button,input,select{font:inherit}
a{color:inherit}
.pc-app{min-height:100vh;background:#fff}
.pc-header{height:74px;border-bottom:1px solid #ece8e2;display:grid;grid-template-columns:260px 1fr 160px;align-items:center;padding:0 36px;position:sticky;top:0;background:rgba(255,255,255,.98);z-index:50}
.pc-stepper{display:flex;align-items:center;justify-content:center;gap:12px}
.pc-step{display:flex;align-items:center;gap:10px;color:#6c7488;font-size:13px;font-weight:750}
.pc-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#efefef;color:#1f2530;font-weight:900}
.pc-step.is-active{color:#111}.pc-step.is-active span{background:var(--pc-orange);color:#fff}
.pc-step i{font-style:normal;color:#b5bcc8;letter-spacing:1.5px}
.pc-header-actions{display:flex;justify-content:flex-end}
.pc-cart{position:relative;text-decoration:none;font-size:26px;line-height:1}
.pc-cart span{position:absolute;top:-10px;right:-11px;width:21px;height:21px;border-radius:50%;background:var(--pc-orange);color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center}
.pc-icon{display:inline-flex;align-items:center;justify-content:center}
.pc-icon-svg{width:18px;height:18px;display:block}
.pc-btn{border:1px solid transparent;background:#fff;border-radius:12px;min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;color:var(--pc-navy);cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
.pc-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 16px rgba(12,23,44,.05)}
.pc-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.pc-btn:focus-visible{outline:3px solid rgba(20,115,230,.22);outline-offset:2px}
.pc-btn-primary{background:var(--pc-orange);border-color:var(--pc-orange);color:#fff}
.pc-btn-primary:hover:not(:disabled){background:var(--pc-orange-dark);border-color:var(--pc-orange-dark)}
.pc-btn-secondary,.pc-btn-outline{border-color:#ddd7cf;background:#fff}
.pc-create-main{display:grid;grid-template-columns:300px minmax(0,1fr) 350px;gap:18px;max-width:1660px;margin:0 auto;padding:16px 24px 30px;align-items:start}
.pc-create-sidebar,.pc-summary{border:1px solid var(--pc-border);border-radius:18px;background:#fff;box-shadow:var(--pc-shadow)}
.pc-create-sidebar{padding:28px 26px;min-height:calc(100vh - 110px);display:flex;flex-direction:column}
.pc-create-sidebar h1{margin:0 0 16px;font-size:42px;line-height:.98;font-weight:900;letter-spacing:-1.6px}
.pc-create-sidebar>p{margin:0 0 18px;font-size:16px;line-height:1.45;color:#40506d}
.pc-side-tip{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;padding:16px 0}
.pc-side-tip .pc-icon{width:54px;height:54px;border-radius:50%;background:#fff3ea;color:var(--pc-orange)}
.pc-side-tip .pc-icon-svg{width:22px;height:22px}
.pc-side-tip strong,.pc-side-tip small,.pc-pro-tip strong,.pc-pro-tip small{display:block}
.pc-side-tip strong{font-size:15px;line-height:1.25}
.pc-side-tip small{font-size:13px;color:#6a7387;line-height:1.35;margin-top:4px}
.pc-pro-tip{margin-top:auto;border:1px solid #e8edf3;border-radius:14px;background:#fbfcfd;padding:16px;display:grid;grid-template-columns:36px 1fr;gap:12px}
.pc-pro-tip .pc-icon{color:var(--pc-orange)}
.pc-pro-tip small{margin-top:6px;color:#6d778a;line-height:1.35}
.pc-create-center{min-width:0}
.pc-workspace{container-type:inline-size;border:1px solid var(--pc-border);border-radius:18px;background:#fff;box-shadow:var(--pc-shadow);overflow:hidden}
.pc-create-toolbar{display:flex;gap:10px;align-items:center;padding:14px 14px 12px;border-bottom:1px solid #f0ece6;background:#fff}
.pc-add-images{min-width:160px}
.pc-error{margin:12px 14px 0;padding:12px 14px;border:1px solid #ffc8ba;background:#fff1ed;border-radius:12px;color:#9f3417;font-size:13px}
.pc-panel-grid-wrap{padding:14px 14px 10px}
.pc-panel-grid{--pc-cols:4;display:grid;grid-template-columns:repeat(var(--pc-cols), minmax(0,1fr));gap:12px;align-content:start}
.pc-panel-tile{position:relative;aspect-ratio:var(--pc-print-aspect,1);border-radius:10px;overflow:hidden;background:#f3f1ec;box-shadow:0 6px 14px rgba(14,21,38,.12);cursor:pointer}
.pc-panel-tile>img,.pc-live-crop>img{display:block;user-select:none}
.pc-panel-tile>img{width:100%;height:100%;object-fit:contain;background:#fff}
.pc-panel-tile.is-selected{outline:4px solid var(--pc-blue);outline-offset:0}
.pc-panel-tile.is-editing{outline-color:var(--pc-orange)}
.pc-panel-tile.is-empty{border:1.5px dashed #cfc7bb;box-shadow:none;background:#fcfbf8}
.pc-panel-tile.is-empty.is-armed{background:#fff8f2;border-color:var(--pc-orange)}
.pc-panel-number{position:absolute;left:10px;top:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1e2740;font-size:14px;font-weight:900;z-index:8;box-shadow:0 4px 10px rgba(0,0,0,.15)}
/* Empty-slot text and the crop guide use the SAME inset so no copy can
   cross the inner dotted line, including four-column and narrow-phone grids. */
.pc-empty-tile{--pc-crop-inset:clamp(10px,8%,28px);container-type:inline-size;position:relative;border:0;background:transparent;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:calc(var(--pc-crop-inset) + 8px);color:#667187;cursor:pointer;text-align:center;overflow:hidden}
.pc-empty-tile::before,.pc-empty-tile::after{content:'';position:absolute;pointer-events:none;inset:14px;border-radius:10px}
.pc-empty-tile::before{border:2px dashed #b7bcc8;opacity:.9}
.pc-empty-tile::after{inset:var(--pc-crop-inset);border:2px dotted #7c879d;opacity:.95}
.pc-empty-tile>*{position:relative;z-index:1;max-width:100%;min-width:0;overflow-wrap:break-word}
.pc-empty-tile .pc-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#fff;box-shadow:0 6px 14px rgba(12,23,44,.06);color:var(--pc-orange)}
.pc-empty-tile .pc-icon-svg{width:24px;height:24px}
.pc-empty-tile b{font-size:14px;line-height:1.2;color:var(--pc-navy)}
.pc-empty-tile small{font-size:11px;line-height:1.3;color:#758095}
.pc-empty-tile .pc-empty-help--compact{display:none}
@container (max-width:165px){
  .pc-empty-tile .pc-empty-help--full{display:none}
  .pc-empty-tile .pc-empty-help--compact{display:block}
  .pc-empty-tile .pc-icon{width:30px;height:30px;flex-basis:30px}
  .pc-empty-tile .pc-icon-svg{width:22px;height:22px}
  .pc-empty-tile b{font-size:12px}
  .pc-empty-tile small{font-size:10px;line-height:1.25}
}
@container (max-width:150px){
  .pc-empty-tile{gap:4px}
  .pc-empty-tile .pc-icon{width:24px;height:24px;flex-basis:24px}
  .pc-empty-tile .pc-icon-svg{width:19px;height:19px}
  .pc-empty-tile b{font-size:11px}
  .pc-empty-tile small{font-size:9px;line-height:1.2}
}
.pc-tile-actions{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;background:rgba(255,255,255,.98);padding:8px 10px;border-radius:14px;box-shadow:0 10px 24px rgba(10,22,51,.18);z-index:12}
.pc-tile-actions button{width:40px;height:40px;border-radius:10px;border:1px solid #ebe7df;background:#fff;color:var(--pc-navy);display:grid;place-items:center;cursor:pointer}
.pc-tile-actions button:hover{background:#f8f7f5}
.pc-tile-actions button.is-danger{color:#e44c33}
.pc-tile-actions .pc-icon-svg{width:19px;height:19px}
.pc-live-crop{position:absolute;inset:0;overflow:hidden;background:#0f1013;cursor:grab;touch-action:none}
.pc-live-crop:active{cursor:grabbing}
.pc-live-crop img{position:absolute;max-width:none;pointer-events:none}
.pc-edit-bar{
  margin:0 14px;
  border-top:1px solid #f1ede7;
  padding:18px 0;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(320px,1.15fr) auto;
  column-gap:24px;
  row-gap:12px;
  align-items:center
}
.pc-editing-label{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-width:0;
  max-width:100%
}
.pc-editing-label img{
  width:72px;
  height:72px;
  border-radius:8px;
  object-fit:cover;
  align-self:center
}
.pc-editing-copy{
  min-width:0;
  text-align:left;
  align-self:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px
}
.pc-editing-copy strong,
.pc-editing-copy small{
  display:block;
  margin:0;
  text-align:left
}
.pc-editing-copy strong{
  font-size:16px;
  line-height:1.2
}
.pc-editing-copy small{
  font-size:14px;
  line-height:1.42;
  color:#69758c
}
.pc-zoom{
  display:grid;
  min-width:0;
  max-width:100%;
  width:100%;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:end;
  font-size:12px;
  font-weight:800;
  color:#41506c
}
.pc-zoom input{
  width:100%;
  min-width:0;
  accent-color:var(--pc-orange)
}
.pc-edit-actions{
  display:flex;
  min-width:0;
  max-width:100%;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  white-space:nowrap
}
.pc-edit-actions .pc-btn{
  min-height:56px;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1
}
.pc-edit-actions .pc-btn-edit{
  border:0;
  box-shadow:none;
  padding:0 10px;
  background:transparent;
  min-width:112px;
  font-size:17px
}
.pc-edit-actions .pc-btn-edit:hover:not(:disabled){
  box-shadow:none;
  transform:none;
  background:#faf9f7
}
.pc-edit-actions .pc-cancel-edit{
  min-width:122px;
  padding:0 24px;
  font-size:17px
}
.pc-edit-actions .pc-save-edit{
  min-width:148px;
  padding:0 24px;
  font-size:17px;
  white-space:nowrap;
  letter-spacing:0
}
.pc-edit-actions .pc-icon-svg{
  width:22px;
  height:22px
}
@container (max-width:1050px){
  .pc-edit-bar{
    grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr)
  }
  .pc-edit-actions{
    grid-column:1 / -1;
    width:100%;
    justify-content:flex-end;
    flex-wrap:wrap;
    white-space:normal
  }
}
@container (max-width:620px){
  .pc-edit-bar{
    grid-template-columns:minmax(0,1fr);
    padding:14px 0
  }
  .pc-editing-label,
  .pc-zoom,
  .pc-edit-actions{
    grid-column:auto
  }
  .pc-edit-actions{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px
  }
  .pc-edit-actions .pc-btn-edit{
    grid-column:1 / -1;
    width:100%
  }
  .pc-edit-actions .pc-cancel-edit,
  .pc-edit-actions .pc-save-edit{
    width:100%;
    min-width:0;
    padding-left:12px;
    padding-right:12px
  }
}
.pc-library{border-top:1px solid #f1ede7;padding:14px 14px 14px;background:#fff}
.pc-library-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px}
.pc-library-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.pc-library-copy strong{font-size:13px;line-height:1.35;font-weight:700;color:#5e697f;flex:1 1 460px}
.pc-library-copy span{font-size:12px;color:#6a7488}
.pc-sort{height:34px;border:1px solid #ddd7cf;border-radius:10px;padding:0 12px;background:#fff;color:var(--pc-navy)}
.pc-view-toggle{width:34px;height:34px;border-radius:10px;border:1px solid #ddd7cf;background:#fff;color:#556278;cursor:pointer}
.pc-view-toggle.is-active{border-color:var(--pc-navy);color:var(--pc-navy)}
.pc-filmstrip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}
.pc-library-item{width:70px;height:70px;flex:0 0 70px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}
.pc-library-item.is-active{border-color:var(--pc-orange);box-shadow:0 0 0 2px rgba(255,90,0,.12)}
.pc-library-item img{width:100%;height:100%;object-fit:cover;display:block}
.pc-library-add{height:70px;min-height:70px;flex:0 0 130px;font-size:12px;line-height:1.2;white-space:normal}
.pc-summary{padding:24px 22px;position:sticky;top:92px}
.pc-summary-title h2{margin:0;font-size:26px;line-height:1.02;letter-spacing:-1px}
.pc-summary-title p{margin:4px 0 18px;color:#667287;font-size:14px}
.pc-summary-stat{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #eee9e3}
.pc-summary-art{width:70px;height:60px;border-radius:10px;background:#f5f4f1;display:grid;grid-template-columns:repeat(3,12px);grid-auto-rows:12px;gap:3px;place-content:center}
.pc-summary-art span{border:1px solid #adadad;background:#fff}
.pc-summary-stat small,.pc-summary-stat strong,.pc-summary-stat em{display:block}
.pc-summary-stat small{font-size:12px;color:#6c7688}
.pc-summary-stat strong{font-size:18px;margin:4px 0}
.pc-summary-stat em{font-style:normal;font-size:11px;color:#707a8d}
.pc-summary-pricing{padding:10px 0 4px}
.pc-summary-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:7px 0;font-size:14px}
.pc-summary-row strong{font-size:16px}
.pc-savings{color:var(--pc-green)}
.pc-total{padding-top:14px;margin-top:8px;border-top:1px solid #eee9e3;font-weight:900}
.pc-total strong{font-size:28px}
.pc-promo{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:14px;border-radius:14px;margin-top:12px}
.pc-promo .pc-icon{align-self:start}
.pc-promo .pc-icon-svg{width:22px;height:22px}
.pc-promo strong,.pc-promo small{display:block}
.pc-promo small{margin-top:4px}
.pc-promo--green{background:#eaf8ef;color:#0b7e4c}
.pc-promo--orange{background:#fff4ec;color:#27324a}
.pc-popular{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:999px;background:var(--pc-orange);color:#fff;font-size:9px;font-weight:900;letter-spacing:.03em}
.pc-mini-progress{height:7px;background:#cfe8d9;border-radius:999px;margin-top:9px;overflow:hidden}.pc-mini-progress i{display:block;height:100%;background:#35b36e;border-radius:999px}
.pc-promo--green small{text-align:right}
.pc-promo--orange .pc-btn{grid-column:1 / -1;margin-top:6px}
.pc-add-cart{width:100%;min-height:58px;margin-top:14px;font-size:16px}
.pc-back-create{width:100%;margin-top:10px}
.pc-summary-security{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;color:#667184;font-size:11px}
.pc-summary-security .pc-icon-svg{width:15px;height:15px}
.pc-review-main{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;max-width:1500px;margin:0 auto;padding:24px}
.pc-review-heading{text-align:center;max-width:650px;margin:0 auto 24px}
.pc-review-heading p{margin:0 0 8px;color:var(--pc-orange);font-size:11px;font-weight:900;letter-spacing:.12em}
.pc-review-heading h1{margin:0 0 10px;font-size:42px;letter-spacing:-1.6px}
.pc-review-heading span{color:#59647a}
.pc-review-grid{--pc-cols:4;display:grid;grid-template-columns:repeat(var(--pc-cols), minmax(0,1fr));gap:12px}
.pc-review-tile{aspect-ratio:var(--pc-print-aspect,1);position:relative;border-radius:10px;overflow:hidden;box-shadow:0 6px 16px rgba(12,23,44,.12)}
.pc-review-tile img{width:100%;height:100%;object-fit:cover}
.pc-review-tile span{position:absolute;left:8px;top:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1e2740;font-size:12px;font-weight:900;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.pc-review-edit{display:flex;margin:18px auto 0}
.pc-loading{min-height:100vh;display:grid;place-items:center;font:800 18px Inter,Arial,sans-serif}
@media(max-width:1280px){
  .pc-create-main{grid-template-columns:260px minmax(0,1fr) 320px;padding:16px}
  .pc-create-sidebar h1{font-size:36px}
}
@media(max-width:1080px){
  .pc-create-main{grid-template-columns:1fr;gap:16px}
  .pc-create-sidebar{min-height:0}
  .pc-summary{position:static}
  .pc-review-main{grid-template-columns:1fr}
}
@media(max-width:900px){
  .pc-header{grid-template-columns:1fr auto;height:auto;padding:12px 16px}
  .pc-stepper{grid-column:1/-1;grid-row:2;padding-top:10px}
  .pc-header-actions{grid-column:2;grid-row:1}
  .pc-create-main{padding:12px}
  .pc-panel-grid{--pc-cols:3!important}
  .pc-edit-bar{grid-template-columns:1fr 1fr;gap:8px}
  .pc-editing-label,.pc-zoom{grid-column:1/-1}
  .pc-save-edit{grid-column:1/-1}
}
@media(max-width:640px){
  .pc-step{font-size:12px;gap:6px}
  .pc-step span{width:30px;height:30px}
  .pc-step i{display:none}
  .pc-create-sidebar h1{font-size:32px}
  .pc-create-toolbar{flex-wrap:wrap}
  .pc-create-toolbar .pc-btn{flex:1 1 100%}
  .pc-panel-grid{--pc-cols:2!important;gap:10px}
  .pc-library-copy{align-items:flex-start}
  .pc-library-copy strong{flex-basis:100%}
  .pc-library-add{flex-basis:110px;width:110px}
  .pc-library-item{width:62px;height:62px;flex-basis:62px}
  .pc-edit-bar{grid-template-columns:1fr}
  .pc-btn-icon,.pc-btn-edit,.pc-cancel-edit,.pc-save-edit{width:100%}
  .pc-review-grid{--pc-cols:2!important}
}

/* v1.4.0 approved creator visual system */
.pc-summary-title-mobile{display:none}
.pc-cart-svg{width:30px;height:30px;display:block;color:#445064}
.pc-header{height:78px;grid-template-columns:300px 1fr 150px;padding:0 48px}
.pc-stepper{gap:14px}
.pc-step{font-size:14px;font-weight:800;gap:8px}
.pc-step span{width:36px;height:36px;font-size:14px}
.pc-step i{display:block;width:26px;height:0;border-top:2px dashed #b9c0cc;margin-left:2px;color:transparent}
.pc-cart span{top:-10px;right:-9px;width:22px;height:22px;font-size:11px}
.pc-create-main{grid-template-columns:310px minmax(620px,1fr) 350px;gap:16px;max-width:1680px;padding:18px 30px 28px}
.pc-create-sidebar{min-height:calc(100vh - 118px);padding:28px 24px}
.pc-create-sidebar h1{font-size:42px;line-height:1.02;margin-bottom:18px}
.pc-create-sidebar>p{font-size:16px;line-height:1.45;margin-bottom:20px}
.pc-side-tip{padding:15px 0;grid-template-columns:56px 1fr;gap:14px}
.pc-side-tip .pc-icon{width:56px;height:56px}
.pc-side-tip strong{font-size:16px}
.pc-side-tip small{font-size:13px}
.pc-workspace{border-radius:16px}
.pc-create-toolbar{min-height:68px;padding:12px 14px;gap:10px}
.pc-create-toolbar .pc-btn{min-height:46px;font-size:14px;border-radius:10px}
.pc-add-images{min-width:170px}
.pc-panel-grid-wrap{padding:14px 14px 10px}
.pc-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pc-panel-tile{border-radius:8px}
.pc-panel-number{left:9px;top:9px;width:30px;height:30px;font-size:12px}
.pc-tile-actions{top:10px;padding:7px 9px;gap:6px;border-radius:12px}
.pc-tile-actions button{width:38px;height:38px;border-radius:9px}
.pc-tile-actions .pc-icon-svg{width:19px;height:19px}
.pc-empty-tile .pc-icon{background:transparent;box-shadow:none;color:#8490a4;width:auto;height:auto}
.pc-empty-tile .pc-icon-svg{width:33px;height:33px}
.pc-empty-tile b{font-size:13px;font-weight:500;color:#68738a}
.pc-empty-tile small{display:block}
.pc-panel-tile.is-empty.is-armed{background:#fff9f5;border-color:var(--pc-orange)}
.pc-panel-tile.is-empty.is-armed .pc-empty-tile,.pc-panel-tile.is-empty.is-armed .pc-empty-tile b{color:var(--pc-orange)}
.pc-library{padding:12px 14px 10px}
.pc-library-copy strong{font-size:12px;font-weight:500;color:#58667d;flex:1 1 500px}
.pc-sort{height:34px;font-size:12px}
.pc-view-toggle{height:34px;width:34px;font-size:16px}
.pc-filmstrip{gap:6px}
.pc-library-item{width:62px;height:62px;flex-basis:62px;border-radius:5px}
.pc-library-add{height:62px;min-height:62px;flex-basis:118px;border-radius:8px;font-size:11px;display:flex;flex-direction:column;gap:2px}
.pc-library-plus{display:block;width:20px;height:20px;line-height:18px;border:1.5px solid currentColor;border-radius:50%;font-size:16px;font-weight:500}
.pc-summary{padding:22px 20px;top:96px;border-radius:16px}
.pc-summary-title h2{font-size:28px}
.pc-summary-title p{font-size:14px;margin-top:3px}
.pc-summary-stat{grid-template-columns:72px 1fr;min-height:92px}
.pc-summary-stat strong{font-size:16px}
.pc-summary-pricing{padding-top:10px}
.pc-summary-row{font-size:13px}
.pc-summary-row strong{font-size:15px}
.pc-total strong{font-size:24px}
.pc-promo{font-size:12px}
.pc-add-cart{min-height:58px;border-radius:10px}
.pc-summary-security{font-size:10px}

/* Tablet: keep the creator usable without compressing the desktop columns. */
@media (max-width:1180px) and (min-width:701px){
  .pc-header{grid-template-columns:260px 1fr 100px;padding:0 24px}
  .pc-create-main{grid-template-columns:240px minmax(0,1fr);max-width:1080px;padding:16px}
  .pc-summary{grid-column:1/-1;position:static}
  .pc-create-sidebar{min-height:0}
  .pc-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Approved mobile layout */
@media (max-width:700px){
  html,body{background:#fff}
  .pc-header{position:relative;height:auto;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:16px 18px 14px;border-bottom:1px solid #ece8e2;row-gap:14px}
  .pc-brand{gap:11px}
  .pc-header-actions{grid-column:2;grid-row:1;align-self:start;padding-top:4px}
  .pc-cart-svg{width:31px;height:31px}
  .pc-cart span{width:24px;height:24px;top:-12px;right:-12px;font-size:11px}
  .pc-stepper{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:7px;padding:0}
  .pc-step{font-size:14px;font-weight:850;gap:7px}
  .pc-step span{width:38px;height:38px;font-size:14px}
  .pc-step i{display:block;width:20px;border-top:2px dashed #b6bdc9;margin:0 1px}

  .pc-create-main{display:flex;flex-direction:column;gap:14px;max-width:none;padding:12px 10px 18px}
  .pc-create-sidebar{display:none}
  .pc-create-center{order:1;width:100%}
  .pc-summary{order:2;position:static;width:100%;padding:22px 18px 20px;border-radius:18px;box-shadow:0 4px 14px rgba(12,23,44,.035)}
  .pc-workspace{border-radius:18px;box-shadow:none}

  .pc-create-toolbar{display:flex;flex-direction:column;gap:12px;min-height:0;padding:12px 12px 16px;border-bottom:1px solid #eee9e3}
  .pc-create-toolbar .pc-btn{width:100%;min-height:64px;border-radius:12px;font-size:17px;flex:0 0 auto}
  .pc-create-toolbar .pc-btn .pc-icon-svg{width:20px;height:20px}
  .pc-add-images{min-width:0}

  .pc-panel-grid-wrap{padding:12px}
  .pc-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pc-panel-tile{border-radius:10px}
  .pc-panel-number{width:36px;height:36px;left:10px;top:10px;font-size:14px}
  .pc-panel-tile.is-selected{outline-width:4px}
  .pc-tile-actions{top:12px;left:auto;right:10px;transform:none;padding:8px;gap:7px;border-radius:15px}
  .pc-tile-actions button{width:44px;height:44px;border-radius:10px}
  .pc-tile-actions .pc-icon-svg{width:21px;height:21px}
  .pc-empty-tile{min-height:150px}

  .pc-edit-bar{grid-template-columns:1fr;gap:9px;margin:0 12px;padding:12px 0 14px}
  .pc-editing-label,.pc-zoom{grid-column:auto}
  .pc-btn-icon,.pc-btn-edit,.pc-cancel-edit,.pc-save-edit{width:100%;min-height:46px}

  .pc-library{padding:16px 12px 14px;border-top:1px solid #eee9e3}
  .pc-library-head{margin-bottom:12px}
  .pc-library-copy{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:8px;width:100%;align-items:center}
  .pc-library-copy strong{grid-column:1/-1;font-size:13px;font-weight:800;line-height:1.35;color:#3e4b66;flex:none}
  .pc-library-copy span{font-size:12px;white-space:nowrap}
  .pc-sort{height:44px;border-radius:10px;font-size:15px;padding:0 10px;min-width:0;width:100%}
  .pc-view-toggle{width:44px;height:44px;border-radius:10px;font-size:18px}
  .pc-filmstrip{gap:8px;padding-bottom:6px}
  .pc-library-item{width:62px;height:62px;flex-basis:62px;border-radius:8px}
  .pc-library-add{height:72px;min-height:72px;flex-basis:112px;width:112px;font-size:12px;border-radius:12px}

  .pc-summary-title-desktop,.pc-summary-title p{display:none}
  .pc-summary-title-mobile{display:block!important;margin:0 0 22px!important;font-size:17px!important;line-height:1.2!important;letter-spacing:0!important;font-weight:500!important;color:#667187!important}
  .pc-summary-stat{grid-template-columns:90px 1fr;gap:14px;min-height:122px;padding:18px 0}
  .pc-summary-stat:first-of-type{border-top:0}
  .pc-summary-art{width:76px;height:76px;border-radius:11px;grid-template-columns:repeat(3,15px);grid-auto-rows:15px;gap:3px}
  .pc-summary-stat small{font-size:14px;color:#667187}
  .pc-summary-stat strong{font-size:16px;margin-top:8px}
  .pc-summary-stat em{font-size:14px;line-height:1.35;margin-top:8px}
  .pc-summary-pricing,.pc-promo{display:none}
  .pc-add-cart{min-height:62px;margin-top:22px;border-radius:11px;font-size:17px}
  .pc-summary-security{font-size:12px;margin-top:16px}
  .pc-summary-security .pc-icon-svg{width:17px;height:17px}
  .pc-back-create{margin-top:10px}

  .pc-review-main{display:block;padding:12px 10px 20px}
  .pc-review-heading h1{font-size:31px}
  .pc-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:390px){
  .pc-header{padding-left:12px;padding-right:12px}
  .pc-step{font-size:12.5px}
  .pc-step span{width:36px;height:36px}
  .pc-step i{width:13px}
  .pc-create-main{padding-left:8px;padding-right:8px}
  .pc-create-toolbar .pc-btn{font-size:16px;min-height:60px}
  .pc-panel-grid-wrap{padding:10px}
  .pc-panel-grid{gap:8px}
  .pc-tile-actions{right:6px;top:8px;gap:5px;padding:6px}
  .pc-tile-actions button{width:39px;height:39px}
  .pc-library-copy{grid-template-columns:auto minmax(0,1fr) 40px}
  .pc-view-toggle{width:40px;height:40px}
}


/* v1.4.2 - storefront wordmark, tighter sidebar, and centered drag cue */
.pc-header > .pp-wordmark{
  color:#0b1630!important;
  text-decoration:none!important;
  font-weight:900!important;
  font-size:31px!important;
  line-height:1!important;
  letter-spacing:-1.45px!important;
  white-space:nowrap;
  justify-self:start;
  align-self:center;
}
.pc-side-tip{padding:8px 0;min-height:72px;align-items:center}
.pc-side-tip>div{align-self:center;display:flex;flex-direction:column;justify-content:center;min-height:56px}
.pc-side-tip strong,.pc-side-tip small{margin-top:0}
.pc-side-tip small{margin-top:2px}
.pc-pro-tip>div{display:flex;flex-direction:column;justify-content:center}
.pc-zoom{grid-template-columns:auto minmax(210px,1fr);align-items:end}
.pc-zoom-label{padding-bottom:2px}
.pc-zoom-track{position:relative;display:block;width:100%;padding-top:24px}
.pc-drag-label{position:absolute;left:50%;top:0;transform:translateX(-50%);font-size:13px;line-height:1;font-weight:900;color:var(--pc-navy);white-space:nowrap}
.pc-zoom-track input{display:block;width:100%;margin:0}
@media(max-width:900px){
  .pc-header > .pp-wordmark{font-size:28px!important;letter-spacing:-1.2px!important}
  .pc-pro-tip{margin-top:8px}
}
@media(max-width:640px){
  .pc-header > .pp-wordmark{font-size:25px!important;letter-spacing:-1px!important}
  .pc-zoom{grid-template-columns:auto minmax(0,1fr)}
  .pc-zoom-track{padding-top:22px}
}


/* v1.4.4 order-summary typography + divider cleanup */
.pc-summary{
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:#0b1630;
}
.pc-summary-title h2{
  color:#0b1630;
  font-weight:900;
  letter-spacing:-.6px;
}
.pc-summary-title p{
  color:#536078;
  font-weight:500;
}
.pc-summary-stat small{
  color:#0b1630;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}
.pc-summary-stat strong{
  color:#0b1630;
  font-size:16px;
  font-weight:800;
  line-height:1.25;
}
.pc-summary-stat em{
  color:#536078;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
}
.pc-summary-stat:last-of-type{
  border-bottom:0!important;
}

@media(max-width:640px){
  .pc-summary-title-mobile{
    display:block!important;
    margin:0 0 16px!important;
    color:#0b1630!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:850!important;
    letter-spacing:-.5px!important;
  }
  .pc-summary-stat{
    min-height:108px;
    padding:14px 0;
  }
  .pc-summary-stat small{
    font-size:15px;
    font-weight:700;
    color:#26334a;
  }
  .pc-summary-stat strong{
    margin-top:5px;
    font-size:16px;
    font-weight:800;
    color:#0b1630;
  }
  .pc-summary-stat em{
    margin-top:5px;
    font-size:14px;
    color:#536078;
  }
  .pc-summary-pricing{
    border:0!important;
  }
}


/* v1.4.5 compact creator sidebar */
.pc-create-sidebar{
  min-height:0;
  height:auto;
  padding-top:18px;
  padding-bottom:18px;
}
.pc-create-sidebar h1{
  margin:0 0 10px;
  color:var(--pc-navy);
}
.pc-create-sidebar>p{
  margin:0 0 12px;
}
.pc-side-tip{
  min-height:0;
  padding:9px 0;
  align-items:center;
}
.pc-side-tip>div{
  min-height:0;
}
.pc-side-tip .pc-icon{
  flex:0 0 auto;
}
.pc-pro-tip{
  margin-top:12px;
  min-height:96px;
  padding:12px 14px;
  align-items:center;
  grid-template-columns:34px 1fr;
  gap:10px;
}
.pc-pro-tip>div{
  min-height:0;
  align-self:center;
}
.pc-pro-tip strong{
  color:var(--pc-navy);
  margin:0 0 3px;
  line-height:1.2;
}
.pc-pro-tip small{
  margin:0;
  line-height:1.32;
}
@media(max-width:1080px){
  .pc-create-sidebar{
    min-height:0;
    height:auto;
    padding-top:14px;
    padding-bottom:14px;
  }
  .pc-create-sidebar h1{display:none;}
  .pc-create-sidebar>p{margin-bottom:8px;}
  .pc-side-tip{padding:8px 0;}
  .pc-pro-tip{margin-top:10px;min-height:88px;}
}


/* Creator desktop columns: single authoritative set of height and flow rules. */
.pc-create-sidebar h1{color:#000}
.pc-library-copy{justify-content:flex-start}
.pc-library-copy .pc-sort{margin-left:0}
@media(min-width:1081px){
  .pc-create-main{align-items:stretch;min-height:calc(100vh - 106px)}
  .pc-create-sidebar,.pc-create-center,.pc-summary{align-self:stretch;height:auto;min-height:100%}
  .pc-create-center{display:flex;flex-direction:column}
  .pc-workspace{flex:1 1 auto;height:100%;min-height:100%}
  .pc-summary{position:sticky}
  .pc-summary,.pc-create-sidebar{display:flex;flex-direction:column}
  .pc-summary-security{margin-top:auto}
}


/* v1.4.8 tighter review heading */
.pc-review-heading{
  margin:0 auto 20px;
}
.pc-review-heading p{
  margin:0 0 8px;
  color:var(--pc-orange);
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.08em;
}
.pc-review-heading span{
  display:block;
  margin:0 auto;
  max-width:760px;
  color:#59647a;
  font-size:16px;
  line-height:1.4;
}
@media(max-width:640px){
  .pc-review-heading{margin-bottom:14px;}
  .pc-review-heading p{font-size:18px;}
  .pc-review-heading span{font-size:14px;}
}

/* Image-transfer feedback belongs to the creator, above its full workspace. */
body.pc-upload-locked{overflow:hidden}
.pc-upload-overlay{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
  padding:24px;background:rgba(0,0,0,.4);overscroll-behavior:contain;
}
.pc-upload-dialog{
  width:min(100%,410px);display:flex;flex-direction:column;align-items:center;
  padding:32px 28px;border-radius:18px;background:#fff;color:var(--pc-navy);
  text-align:center;box-shadow:0 24px 75px rgba(0,0,0,.28)
}
.pc-upload-overlay:focus{outline:none}
.pc-upload-spinner{
  width:48px;height:48px;border:4px solid #ffe0cc;border-top-color:var(--pc-orange);
  border-radius:50%;animation:pc-upload-spin .8s linear infinite
}
@keyframes pc-upload-spin{to{transform:rotate(360deg)}}
.pc-upload-dialog h2{margin:18px 0 8px;font-size:23px;line-height:1.2;letter-spacing:-.4px}
.pc-upload-dialog p{margin:0;color:#5d6880;font-size:14px;line-height:1.5}
.pc-upload-meter{width:100%;height:10px;margin:24px 0 10px;overflow:hidden;border-radius:20px;background:#eee9e4}
.pc-upload-meter span{display:block;height:100%;border-radius:inherit;background:var(--pc-orange);transition:width .12s ease-out}
.pc-upload-percent{font-size:16px;font-variant-numeric:tabular-nums}
.pc-upload-dialog small{margin-top:15px;color:#6d778a;line-height:1.4}
@media(max-width:480px){.pc-upload-dialog{padding:26px 20px}.pc-upload-dialog h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.pc-upload-spinner{animation:none}.pc-upload-meter span{transition:none}}

/* v1.5.3: independent print/photo rotation and removable uploaded-image thumbnails. */
.pc-edit-actions .pc-rotate-photo,
.pc-edit-actions .pc-rotate-print{min-width:136px;gap:6px;white-space:nowrap}
.pc-edit-actions .pc-rotate-print{border:1px solid #d8e0ec;border-radius:11px;background:#fff}
.pc-edit-actions .pc-btn-edit:disabled{opacity:.5;cursor:not-allowed}
.pc-library-entry{display:flex;flex:0 0 70px;width:70px;flex-direction:column;align-items:center;gap:4px}
.pc-library-entry .pc-library-item{width:70px;height:70px;flex:0 0 70px;display:block}
.pc-library-delete{display:grid;place-items:center;width:30px;height:28px;margin:0;padding:4px;border:0;border-radius:7px;background:transparent;color:#687589;cursor:pointer}
.pc-library-delete:hover:not(:disabled),.pc-library-delete:focus-visible{color:#d63c31;background:#fff0ee}
.pc-library-delete:focus-visible{outline:2px solid #1464e9;outline-offset:2px}
.pc-library-delete:disabled{opacity:.45;cursor:wait}
.pc-library-delete .pc-icon-svg{width:17px;height:17px}
.pc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:700px){
  .pc-library-entry{width:62px;flex-basis:62px}
  .pc-library-entry .pc-library-item{width:62px;height:62px;flex-basis:62px}
  .pc-library-delete{width:36px;height:32px}
}
@container (max-width:620px){
  .pc-edit-actions .pc-rotate-photo,.pc-edit-actions .pc-rotate-print{grid-column:auto;min-width:0;width:100%;padding:0 6px;font-size:13px}
}

/* Resting print controls remain visible on every filled tile on desktop and mobile.
   The separate focused crop editor still hides this action bar. */
.pc-panel-tile .pc-tile-actions{
  top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%);
  max-width:calc(100% - 16px);z-index:16;
}
.pc-tile-actions .pc-tile-edit{
  width:auto;min-width:54px;padding:0 11px;font-size:13px;font-weight:800;
  color:var(--pc-navy);
}
.pc-tile-edit-mobile{display:none}
@media (max-width:700px){
  .pc-tile-actions .pc-tile-edit-label{display:none}
  .pc-tile-actions .pc-tile-edit-mobile{display:grid;place-items:center}
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions .pc-tile-edit{
    width:32px;min-width:32px;flex:0 0 32px;padding:0;
  }
}
.pc-live-crop .pc-drag-cue{
  position:absolute;left:50%;bottom:78px;z-index:4;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;gap:7px;
  max-width:calc(100% - 20px);padding:9px 12px;border-radius:999px;
  background:rgba(11,22,48,.86);color:#fff;white-space:normal;
  text-align:center;font-size:12px;font-weight:800;line-height:1.25;
  pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.pc-live-crop .pc-drag-cue .pc-icon-svg{width:17px;height:17px;flex-shrink:0}
.pc-panel-tile.is-low-resolution,
.pc-panel-tile.is-low-resolution.is-selected,
.pc-panel-tile.is-low-resolution.is-editing{outline:4px solid #d02d27;outline-offset:0}
.pc-quality-warning{
  position:absolute;top:10px;right:9px;z-index:15;
  display:flex;flex-direction:column;gap:4px;
  width:max-content;max-width:min(70%,230px);
  border:1px solid #efaaa3;border-radius:10px;
  padding:8px 9px;background:rgba(255,247,245,.96);
  box-shadow:0 4px 18px rgba(80,10,10,.14);color:#84231b;
  font-size:11px;line-height:1.3;text-align:left;
}
.pc-quality-warning strong{font-size:12px;font-weight:900}
.pc-quality-warning span{overflow-wrap:anywhere}
.pc-quality-warning .pc-quality-approved{font-weight:800;color:#28613f}
.pc-quality-warning .pc-quality-approve{
  appearance:none;border:1px solid #be2e25;border-radius:7px;
  background:#fff;color:#9a241e;cursor:pointer;
  font-size:11px;font-weight:900;line-height:1.3;padding:7px;
}
.pc-quality-warning .pc-quality-approve:hover:not(:disabled){background:#fff0ed}
.pc-quality-warning .pc-quality-approve:focus-visible{outline:3px solid #1464e9;outline-offset:2px}
.pc-quality-warning .pc-quality-approve:disabled{opacity:.5;cursor:wait}
.pc-review-tile.is-low-resolution{outline:4px solid #d02d27;outline-offset:-4px}
.pc-review-resolution{
  position:absolute;bottom:8px;left:8px;right:8px;display:flex;flex-direction:column;
  gap:5px;background:rgba(255,247,245,.95);border:1px solid #efaaa3;
  border-radius:8px;padding:8px;color:#89271f;text-align:center;
  font-size:12px;line-height:1.2;z-index:4;
}
.pc-review-resolution strong{font-size:12px}
.pc-review-resolution button{
  border:1px solid #be2e25;background:#fff;color:#9a241e;
  border-radius:6px;padding:8px 6px;font-weight:800;cursor:pointer;
}
.pc-review-resolution button:focus-visible{outline:3px solid #1464e9;outline-offset:2px}
@container (max-width:620px){
  .pc-panel-tile .pc-tile-actions{bottom:8px;gap:4px;padding:6px}
  .pc-tile-actions .pc-tile-edit{width:auto;min-width:43px;padding:0 6px;font-size:12px}
  .pc-tile-actions button{width:36px;height:36px}
  .pc-quality-warning{top:7px;right:5px;max-width:70%;padding:6px;font-size:10px}
  .pc-quality-warning strong{font-size:10px}
  .pc-quality-warning .pc-quality-approve{font-size:10px;padding:5px}
  .pc-live-crop .pc-drag-cue{bottom:58px;font-size:10px;gap:4px;padding:7px}
  .pc-review-resolution{font-size:10px;bottom:6px;left:5px;right:5px;padding:5px}
  .pc-review-resolution strong{font-size:11px}
}
/* Do not inherit the numbered-print pill style on review approval content. */
.pc-review-tile .pc-review-resolution span{
  position:static;width:auto;height:auto;display:block;border-radius:0;
  background:transparent;box-shadow:none;font-size:12px;font-weight:800;color:#28613f;
}

/* v1.5.5: one-click editing, dismissible drag tip, quality guide, and clear warnings */
.pc-drag-cue{padding-right:6px!important;pointer-events:none}
.pc-drag-cue-close{pointer-events:auto;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin-left:2px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;cursor:pointer;font-size:20px;line-height:1}
.pc-drag-cue-close:hover,.pc-drag-cue-close:focus-visible{background:rgba(255,255,255,.32);outline:2px solid #fff;outline-offset:1px}
.pc-edit-quality-help{grid-column:1/-1;margin-top:5px;text-align:right}
.pc-quality-help-link,.pc-quality-learn{border:0;padding:5px 1px;background:transparent;color:#1464e9;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;font-weight:700;line-height:1.3}
.pc-quality-help-link:hover,.pc-quality-learn:hover{color:#073b92}
.pc-quality-help-link:focus-visible,.pc-quality-learn:focus-visible{outline:3px solid #1464e9;outline-offset:3px;border-radius:3px}
.pc-quality-warning .pc-quality-learn{color:#84231b;text-align:left}
.pc-quality-modal-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:20px;background:rgba(6,14,31,.69)}
.pc-quality-modal{position:relative;max-width:600px;width:100%;max-height:min(90vh,850px);overflow-y:auto;background:#fff;color:#0b1630;padding:30px;border-radius:16px;box-shadow:0 20px 65px rgba(0,0,0,.25);outline:0}
.pc-quality-modal h2{margin:0 40px 16px 0;font-size:25px;line-height:1.16}
.pc-quality-modal h3{font-size:16px;margin:18px 0 6px}
.pc-quality-modal p,.pc-quality-modal li{font-size:14px;line-height:1.55;color:#41506c}
.pc-quality-modal p{margin:0 0 12px}
.pc-quality-modal ul{padding-left:21px;margin:10px 0 14px}
.pc-quality-modal-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border:1px solid #d8e0ea;border-radius:10px;background:#fff;color:#0b1630;cursor:pointer;font-size:27px;line-height:1}
.pc-quality-modal-close:hover,.pc-quality-modal-close:focus-visible{background:#f4f6fa;outline:2px solid #1464e9}
.pc-quality-modal-example{display:flex;flex-direction:column;gap:6px;border:1px solid #dae4f0;background:#f5f8fc;border-radius:10px;padding:13px 15px;margin:14px 0}
.pc-quality-modal-example strong{font-size:17px}
.pc-quality-modal-example span{font-size:13px;color:#4f5b6c}
.pc-quality-modal-done{width:100%;min-height:45px;margin-top:10px;border:0;border-radius:8px;background:var(--pc-orange);color:#fff;font-weight:800;cursor:pointer}
.pc-quality-modal-done:focus-visible{outline:3px solid #1464e9;outline-offset:3px}
@media(max-width:640px){.pc-quality-modal{padding:24px 18px}.pc-edit-quality-help{text-align:left}.pc-quality-modal h2{font-size:21px}.pc-quality-modal-backdrop{padding:12px}}

/* v1.5.6: give the active print a dedicated, large crop workspace.
   Other prints remain in state and reappear after Save or Cancel. */
.pc-panel-grid-wrap.is-focused-edit{background:#f7f8fa;padding:12px 16px 20px}
.pc-edit-focus-heading{display:flex;gap:7px 14px;align-items:baseline;flex-wrap:wrap;padding:8px 4px 16px;color:#0b1630}
.pc-edit-focus-heading strong{font-size:17px;font-weight:850}
.pc-edit-focus-heading span{font-size:13px;line-height:1.45;color:#5f6c82}
.pc-panel-grid.is-focused-edit{display:flex;justify-content:center;align-items:flex-start;gap:0;width:100%;grid-template-columns:none}
.pc-panel-grid.is-focused-edit .pc-panel-tile{
  flex:0 1 auto;
  box-sizing:border-box;
  width:min(100%,var(--pc-focus-width-vh),var(--pc-focus-width-px));
  max-width:100%;
  height:auto;
  border-radius:10px;
  cursor:grab;
}
.pc-panel-grid.is-focused-edit .pc-panel-tile:active{cursor:grabbing}
.pc-panel-grid.is-focused-edit .pc-panel-number{width:38px;height:38px;font-size:15px}
.pc-panel-grid.is-focused-edit .pc-live-crop{cursor:grab}
.pc-panel-grid.is-focused-edit .pc-live-crop:active{cursor:grabbing}
/* Scores are estimates based on print resolution, not a measure of image aesthetics. */
.pc-quality-modal-target{font-weight:750;color:#0b1630!important}
.pc-quality-modal-target-inline{font-weight:750;color:#1c5638!important}
.pc-quality-score-tiers{display:grid;gap:10px;margin:10px 0 18px!important;padding:0!important;list-style:none}
.pc-quality-score-tiers li{display:grid;gap:3px;padding:11px 14px;border:1px solid #d9e0e9;border-radius:10px;background:#fbfcfe}
.pc-quality-score-tiers strong{display:block;color:#0b1630;font-size:15px}
.pc-quality-score-tiers span{display:block;color:#4d5a70;font-size:13px;line-height:1.45}
@media (max-width:700px){
  .pc-panel-grid-wrap.is-focused-edit{padding:10px 10px 15px}
  .pc-panel-grid.is-focused-edit .pc-panel-tile{width:min(100%,var(--pc-focus-mobile-width-svh),var(--pc-focus-mobile-width-px))}
  .pc-edit-focus-heading{padding:5px 2px 13px}
  .pc-edit-focus-heading strong{font-size:15px}
  .pc-edit-focus-heading span{font-size:12px}
}

/* v1.5.7: replace the sidebar crop pictogram with a real Edit control. */
.pc-side-tip .pc-sidebar-edit-button{
  display:grid;place-items:center;width:56px;height:56px;
  padding:0;border:1px solid #ffd8c0;border-radius:50%;
  background:#fff3ea;color:var(--pc-orange);
  font-family:inherit;font-size:13px;line-height:1;font-weight:800;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease;
}
.pc-side-tip .pc-sidebar-edit-button:not(:disabled):hover{background:#ffe5d5;border-color:var(--pc-orange)}
.pc-side-tip .pc-sidebar-edit-button:focus-visible{outline:3px solid #1464e9;outline-offset:3px}
.pc-side-tip .pc-sidebar-edit-button:disabled{opacity:.75;cursor:not-allowed}


/* v1.5.8: actionable approval notices outside print frames and gated review CTA. */
.pc-btn-primary.pc-add-cart.is-awaiting-approval,
.pc-btn-primary.pc-add-cart.is-awaiting-approval:disabled{
  background:#d9dde4;border-color:#d9dde4;color:#596579;
  opacity:1;box-shadow:none;cursor:not-allowed;
}
.pc-approval-required{margin:8px 1px 0;color:#7e3028;font-size:12px;line-height:1.45;font-weight:650;text-align:center}
.pc-quality-approvals{
  display:grid;gap:9px;margin:0 0 16px;padding:12px;
  border:1px solid #e8b1a9;border-radius:12px;background:#fff7f5;
  color:#762820;
}
.pc-quality-approvals-heading{font-size:14px;font-weight:850;line-height:1.35}
.pc-quality-approval-row{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:10px 18px;padding:12px;border:1px solid #f1c8c2;border-radius:10px;
  background:#fff;min-width:0;
}
.pc-quality-approval-details{display:grid;gap:4px;flex:1 1 210px;min-width:0}
.pc-quality-approval-details strong{font-size:13px;line-height:1.4}
.pc-quality-approval-details span{color:#91463d;font-size:12px;line-height:1.45}
.pc-quality-approval-details .pc-quality-learn{justify-self:start;color:#7d3027;text-align:left}
.pc-quality-approval-row .pc-quality-approve{
  flex:0 1 auto;min-height:42px;max-width:100%;padding:10px 16px;
  border:1px solid #b02a23;border-radius:8px;background:#fff;
  color:#9c2924;font:inherit;font-size:12px;font-weight:850;
  line-height:1.3;cursor:pointer;
}
.pc-quality-approval-row .pc-quality-approve:hover:not(:disabled){background:#fff0ed}
.pc-quality-approval-row .pc-quality-approve:focus-visible{outline:3px solid #1464e9;outline-offset:2px}
.pc-quality-approval-row .pc-quality-approve:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){
  .pc-quality-approvals{padding:10px;margin-bottom:14px}
  .pc-quality-approval-row{align-items:stretch;flex-direction:column}
  .pc-quality-approval-details{flex:none;width:100%}
  .pc-quality-approval-row .pc-quality-approve{width:100%;flex:0 0 auto;min-height:46px}
  .pc-approval-required{text-align:left;font-size:13px}
}

/* v1.5.9: never independently size the two axes of an uploaded photograph.
   Let the natural bitmap aspect ratio control its height in all crop orientations;
   clipping is owned by the print frame, not image stretching. */
.pc-live-crop > img{height:auto!important;aspect-ratio:auto!important;max-height:none!important;max-width:none!important;object-fit:fill}

/* v1.6.0: non-destructive black-and-white and horizontal photo mirror. */
.pc-photo-effects{grid-column:1/-1;min-width:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.pc-photo-effects-label{font-size:13px;font-weight:800;color:#24334d;white-space:nowrap;}
.pc-photo-effects-buttons{display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.pc-photo-effect{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 15px;border:1px solid #d8e0ec;border-radius:10px;background:#fff;color:#0b1630;font:inherit;font-size:13px;font-weight:750;cursor:pointer;}
.pc-photo-effect.is-active{border-color:#ff5b16;background:#fff3ec;color:#ab3609;}
.pc-photo-effect:hover:not(:disabled){border-color:#ff5b16;background:#fff7f1;}
.pc-photo-effect:focus-visible{outline:3px solid #2067ec;outline-offset:2px;}
.pc-photo-effect:disabled{opacity:.55;cursor:not-allowed;}
.pc-photo-effect .pc-icon-svg{width:18px;height:18px;}
@media(max-width:640px){.pc-photo-effects{align-items:flex-start;flex-direction:column;gap:8px;}.pc-photo-effects-buttons{width:100%;}.pc-photo-effect{flex:1 1 auto;min-width:0;}}

/* v1.6.1: unified, responsive editing toolbox. The image remains the primary
   element; edit categories keep advanced options from crowding its preview. */
.pc-photo-inset{position:absolute;overflow:hidden;pointer-events:none;background:#fff}
.pc-straighten-stage{position:absolute;inset:0;transform-origin:50% 50%;pointer-events:none}
.pc-straighten-stage img{position:absolute;max-width:none;pointer-events:none}
.pc-edit-bar.pc-edit-bar-v161{
  display:grid;grid-template-columns:minmax(0,1fr);row-gap:14px;column-gap:0;
  padding:20px 0;margin:0 20px;align-items:stretch
}
.pc-edit-bar-v161 .pc-editing-label{max-width:100%;grid-template-columns:54px minmax(0,1fr)}
.pc-edit-bar-v161 .pc-editing-label img{width:54px;height:54px;object-fit:cover}
.pc-edit-bar-v161 .pc-edit-tabs{
  display:flex;gap:7px;overflow-x:auto;white-space:nowrap;max-width:100%;
  padding:4px 1px 8px;border-bottom:1px solid #e7eaf0;scrollbar-width:thin
}
.pc-edit-bar-v161 .pc-edit-tabs button{
  cursor:pointer;flex:0 0 auto;padding:10px 16px;min-height:43px;background:#fff;
  color:#34415b;border:1px solid #dbe1ea;border-radius:10px;
  font:inherit;font-size:13px;font-weight:750
}
.pc-edit-bar-v161 .pc-edit-tabs button.is-active{
  background:#0b1630;color:#fff;border-color:#0b1630
}
.pc-edit-bar-v161 .pc-edit-tabs button:focus-visible,
.pc-edit-bar-v161 .pc-photo-effect:focus-visible,
.pc-edit-bar-v161 input:focus-visible{outline:3px solid #1369e9;outline-offset:2px}
.pc-edit-bar-v161 .pc-edit-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;align-items:start}
.pc-adjust-range{min-width:0;display:flex;flex-direction:column;gap:7px;color:#0b1630;font-weight:750;font-size:13px}
.pc-adjust-range>span{display:flex;justify-content:space-between;gap:15px}
.pc-adjust-range output{font-variant-numeric:tabular-nums;color:#59667e}
.pc-adjust-range input{width:100%;min-width:0;accent-color:var(--pc-orange);height:28px;cursor:pointer}
.pc-edit-control-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;min-width:0}
.pc-edit-bar-v161 .pc-photo-effect{
  display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:40px;
  padding:9px 14px;border:1px solid #d7dfeb;border-radius:10px;
  background:#fff;color:#0b1630;font:inherit;font-size:13px;font-weight:750;
  cursor:pointer;white-space:normal;line-height:1.2
}
.pc-edit-bar-v161 .pc-photo-effect.is-active{background:#eef4ff;color:#073e9a;border-color:#3569c9}
.pc-edit-bar-v161 .pc-photo-effect:disabled{opacity:.45;cursor:not-allowed}
.pc-edit-hint{grid-column:1/-1;font-size:12px;line-height:1.45;color:#617088}
.pc-custom-border{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;font-weight:750;color:#0b1630}
.pc-custom-border input[type=color]{width:56px;height:42px;padding:3px;border:1px solid #d4ddeb;border-radius:8px;background:#fff;cursor:pointer}
.pc-custom-border code{font:12px/1.3 monospace;color:#34415b}
.pc-edit-bar-v161 .pc-edit-actions{
  grid-column:1/-1;width:100%;display:flex;justify-content:flex-end;flex-wrap:wrap;
  gap:10px;padding-top:13px;border-top:1px solid #e7eaf0
}
.pc-edit-bar-v161 .pc-edit-actions .pc-btn{height:46px;min-height:46px;min-width:110px;font-size:14px;padding:0 16px}
.pc-edit-bar-v161 .pc-edit-actions .pc-reset-all{border:1px solid #d6deea;border-radius:10px;box-shadow:none;background:#fff}
.pc-edit-bar-v161 .pc-edit-quality-help{grid-column:1/-1;margin:0;text-align:right}
@media(max-width:720px){
 .pc-edit-bar.pc-edit-bar-v161{margin:0 12px;row-gap:12px;padding:16px 0}
 .pc-edit-bar-v161 .pc-edit-tools{grid-template-columns:minmax(0,1fr);gap:12px}
 .pc-edit-bar-v161 .pc-edit-tabs button{padding:9px 12px;font-size:12px}
 .pc-edit-bar-v161 .pc-edit-control-row{gap:7px}
 .pc-edit-bar-v161 .pc-photo-effect{flex:1 1 calc(50% - 8px);font-size:12px;padding:8px}
 .pc-edit-bar-v161 .pc-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .pc-edit-bar-v161 .pc-edit-actions .pc-btn{min-width:0;width:100%;grid-column:auto}
 .pc-edit-bar-v161 .pc-edit-actions .pc-save-edit{grid-column:1/-1;order:-1}
 .pc-edit-bar-v161 .pc-edit-quality-help{text-align:left}
}

/* v1.6.2: physical print edges stay square on every print view.
   v1.6.3: return resting previews to approximately half of v1.6.2's
   width, without changing the single-print focused editing workspace. */
.pc-panel-tile,
.pc-panel-grid.is-focused-edit .pc-panel-tile,
.pc-review-tile {border-radius:0!important}
.pc-panel-tile.is-selected,
.pc-panel-tile.is-low-resolution {outline-style:solid}
@media (min-width:701px){
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:701px) and (max-width:900px){
  /* A narrow tablet's center column cannot fit four accessible tile tools. */
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:471px) and (max-width:700px){
  /* At wider phone/tablet sizes, focused Edit must not appear smaller than a
     regular resting tile. The tall single-photo preview stays height-capped. */
  .pc-panel-grid.is-focused-edit .pc-panel-tile{
    width:min(100%,var(--pc-focus-width-vh),var(--pc-focus-width-px));
  }
}
/* Three actions must remain tappable and inside the narrower resting tiles.
   Edit mode has no per-tile action bar and retains its full-size preview. */
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions{
  gap:4px;padding:5px 6px;max-width:calc(100% - 8px);
}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button{
  width:32px;height:34px;min-width:0;flex:0 0 32px;border-radius:7px;
}
@media (min-width:701px){
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions .pc-tile-edit{
    width:auto;min-width:39px;flex:0 1 auto;padding:0 5px;font-size:12px;
  }
}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions .pc-icon-svg{
  width:17px;height:17px;
}
.pc-border-size-fieldset{grid-column:1/-1;min-width:0;padding:0;margin:0;border:0}
.pc-border-size-fieldset legend{padding:0 0 9px;color:#0b1630;font-size:13px;font-weight:800}
.pc-border-size-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pc-edit-bar-v161 .pc-border-size-options .pc-border-size{padding:10px 5px;min-width:0;white-space:nowrap}
.pc-edit-bar-v161 .pc-border-size-options .pc-border-size:disabled{opacity:.35;cursor:not-allowed}
@media (max-width:470px){
  .pc-border-size-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Avoid pre-existing 620px center-column minimum causing horizontal overflow
   on 1181–1380px laptop windows while retaining the three-column layout. */
@media (min-width:1181px) and (max-width:1380px){
  .pc-create-main{grid-template-columns:260px minmax(0,1fr) 300px;gap:14px;padding:16px 18px}
}

/* v1.6.5: A brand-new upload starts without a printed border. Resting
   prints must fill their entire physical frame. The 1.6.4 unconditional
   object-fit:contain exposed white letterboxing on ordinary photos.
   Only use contain for SAVED orders that explicitly include a printed
   border, since those borders should remain fully visible. Maintain the
   mobile Edit-stage intrinsic-aspect protection below. */
.pc-panel-tile > img.pc-saved-print-preview,
.pc-review-tile > img.pc-saved-print-preview {
  display: block;
  width: 100%;
  height: 100%;
  object-position: center center;
}
.pc-panel-tile > img.pc-saved-print-preview.is-borderless,
.pc-review-tile > img.pc-saved-print-preview.is-borderless {
  object-fit: cover !important;
}
.pc-panel-tile > img.pc-saved-print-preview.has-printed-border,
.pc-review-tile > img.pc-saved-print-preview.has-printed-border {
  object-fit: contain !important;
  background-color: #fff;
}
.pc-live-crop > .pc-straighten-stage > img {
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: fill !important;
  object-position: center center;
}


/* v1.6.13: canonical image-first, responsive creator layout. */
.pc-app{--pc-green:#159b43;--pc-amber:#ec8a0c;--pc-red:#df2937}
.pc-create-main{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(278px,3fr);
  gap:18px;max-width:1800px;width:100%;padding:20px clamp(16px,2.5vw,48px) 40px;
  align-items:start;margin:0 auto
}
.pc-create-center{min-width:0;width:100%}
.pc-workspace{min-width:0;overflow:visible;border-radius:18px;box-shadow:0 8px 30px rgba(12,23,44,.05)}
.pc-workspace-heading{padding:12px 18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px}
.pc-workspace-heading h1{font-size:clamp(20px,2vw,27px);line-height:1.12;letter-spacing:-.035em;font-weight:900;margin:0;color:var(--pc-navy)}
.pc-workspace-heading p{margin:4px 0 0;font-size:13px;color:#586782;line-height:1.4}
.pc-how-it-works{font-size:13px;flex:0 0 auto;color:var(--pc-navy);max-width:min(340px,100%)}
.pc-how-it-works summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;font-weight:800}
.pc-how-it-works summary::-webkit-details-marker{display:none}
.pc-how-it-works[open]{position:relative;z-index:20}
.pc-how-it-works[open] p{position:absolute;right:0;top:38px;width:min(340px,75vw);z-index:21;border:1px solid #e4e9f1;padding:14px;border-radius:12px;background:#fff;box-shadow:0 14px 30px #16223a22}
.pc-create-toolbar{border-bottom:0;padding:6px 18px 10px;gap:9px;flex-wrap:wrap}
.pc-create-toolbar .pc-btn{min-height:44px;border-radius:10px;padding:0 14px;font-size:13px;flex:0 1 auto}
.pc-quality-notice{margin:0 20px 4px;padding:10px 13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff8ed;border:1px solid #fedaba;color:#a64b16;border-radius:11px;font-size:13px;font-weight:750}
.pc-quality-notice .pc-icon{color:#ea7800}
.pc-quality-notice small{font-size:12px;font-weight:500;color:#785d4b}
.pc-panel-grid-wrap{padding:8px 18px 16px}
.pc-panel-grid:not(.is-focused-edit){display:grid;grid-template-columns:repeat(var(--pc-cols),minmax(0,1fr));gap:14px;align-items:start}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile{box-shadow:0 8px 16px #14253b14;border:4px solid transparent;outline:none;isolation:isolate;transition:border-color .2s,box-shadow .2s}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile.pc-quality-great{border-color:var(--pc-green)}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile.pc-quality-decent{border-color:var(--pc-amber)}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile.pc-quality-replace{border-color:var(--pc-red)}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile:focus-within{box-shadow:0 0 0 4px #366efb55}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile.is-empty{border:2px dashed #b3bdcc}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-number{display:none}
.pc-quality-badge{position:absolute;z-index:15;top:10px;left:10px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 7px;border:1px solid currentColor;border-radius:30px;background:#fff;font-size:12px;font-weight:900;box-shadow:0 4px 8px #0002;white-space:nowrap}
.pc-quality-badge>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:14px;color:#fff;background:currentColor}
.pc-quality-badge--great{color:#096a27}
.pc-quality-badge--great>span{background:#13993d;color:#fff}
.pc-quality-badge--decent{color:#a65b05}
.pc-quality-badge--decent>span{background:#ed900f;color:#fff}
.pc-quality-badge--replace{color:#a20b16}
.pc-quality-badge--replace>span{background:#d92834;color:#fff}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile::after{content:'';position:absolute;inset:0;z-index:9;background:#07162a00;opacity:0;transition:opacity .15s;background-color:rgba(3,13,32,.32);pointer-events:none}
.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile:hover::after,.pc-panel-grid:not(.is-focused-edit) .pc-panel-tile:focus-within::after{opacity:1}
.pc-adjust-trigger{position:absolute;z-index:17;left:50%;top:45%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:9px 20px;background:#0b203eea;border:2px solid #fff;border-radius:11px;color:#fff;box-shadow:0 5px 15px #0004;font-size:14px;font-weight:850;white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s}
.pc-panel-tile:hover .pc-adjust-trigger,.pc-panel-tile:focus-within .pc-adjust-trigger{opacity:1;pointer-events:auto}
.pc-adjust-trigger:focus-visible{outline:3px solid #ffbe70;outline-offset:2px}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions{position:absolute;z-index:20;top:auto;bottom:10px;left:50%;right:auto;transform:translateX(-50%);padding:5px;gap:8px;max-width:calc(100% - 12px);background:#ffffffeb;box-shadow:0 5px 13px #0003;border-radius:10px;display:flex;opacity:1;visibility:visible}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button{width:auto;min-width:40px;min-height:40px;height:40px;flex:0 0 auto;padding:0 10px;background:#fff;border-radius:8px;font-size:12px;font-weight:850}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button.pc-replace-button{width:auto;min-width:76px;flex:0 1 auto;padding:0 10px}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button.is-danger{width:40px;padding:0}
.pc-panel-grid:not(.is-focused-edit) .pc-tile-actions .pc-icon-svg{width:17px;height:17px}
.pc-quality-decision{position:absolute;z-index:16;left:10px;right:10px;bottom:66px;display:grid;gap:7px;border:1px solid #f0d9bf;border-radius:10px;background:#fffcf7ed;padding:11px;font-size:11px;color:#643c1f;line-height:1.35;box-shadow:0 7px 15px #0002}
.pc-quality-decision--replace{border-color:#f6bdc1;background:#fff4f5f0;color:#9c131d}
.pc-quality-decision strong{font-weight:800}
.pc-quality-decision button{font-size:11px;font-weight:800;min-height:40px;background:white;border:1px solid currentColor;color:inherit;padding:8px 10px;border-radius:8px;cursor:pointer}
.pc-quality-decision button:hover{background:#fff2e5}
.pc-quality-decision button:focus-visible{outline:2px solid #246ee5;outline-offset:2px}
.pc-quality-decision button:disabled{opacity:.5;cursor:not-allowed}
.pc-panel-tile .pc-saved-print-preview{border-radius:0}
.pc-library{border-top:1px solid #eff0f1}
.pc-summary{top:94px;padding:20px 18px;max-width:none;min-width:0}
.pc-summary .pc-summary-title h2{font-size:28px}
.pc-summary .pc-add-cart{background:var(--pc-orange);border-color:var(--pc-orange);color:#fff}
.pc-summary .pc-add-cart.is-awaiting-approval{background:#e1e4ea;border-color:#e1e4ea;color:#5e687d}
.pc-summary .pc-summary-pricing{display:block}
.pc-summary .pc-summary-row{font-size:13px}
.pc-summary .pc-summary-row.pc-total strong{font-size:24px}
.pc-review-tile.pc-quality-great{outline:3px solid var(--pc-green)}
.pc-review-tile.pc-quality-decent{outline:3px solid var(--pc-amber)}
.pc-review-tile.pc-quality-replace{outline:3px solid var(--pc-red)}
.pc-review-tile>.pc-quality-badge{z-index:10}
.pc-review-resolution{bottom:12px;max-height:65%;overflow-y:auto}
/* Reusable editing dialog; it does not change the upload, order or PDF API. */
.pc-editor-backdrop{position:fixed;z-index:200;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(10px,2vw,28px);background:#09132aba;overflow:auto}
.pc-editor-dialog{width:min(1400px,100%);max-height:calc(100dvh - 26px);overflow:hidden;display:flex;flex-direction:column;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0006}
.pc-editor-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid #e9edf2;flex:0 0 auto}
.pc-editor-header h2{font-size:22px;line-height:1.2;font-weight:900;margin:0}
.pc-editor-header p{font-size:12px;color:#63718c;margin:5px 0 0}
.pc-editor-close{width:44px;height:44px;border:0;border-radius:50%;background:#f1f4f8;color:#18253d;font-size:28px;cursor:pointer}
.pc-editor-body{min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,3fr);gap:0;align-items:start}
.pc-editor-canvas{min-width:0;padding:18px 24px 15px;background:#f7f8fb}
.pc-editor-tools{min-width:0;border-left:1px solid #e8edf3;background:#fff;padding:0 8px}
.pc-editor-canvas .pc-panel-grid-wrap.is-focused-edit{background:transparent;padding:0}
.pc-editor-canvas .pc-edit-focus-heading{display:none}
.pc-editor-canvas .pc-panel-grid.is-focused-edit{width:100%;min-height:0}
.pc-editor-canvas .pc-panel-grid.is-focused-edit .pc-panel-tile{width:min(100%,var(--pc-focus-width-vh),var(--pc-focus-width-px));max-height:72dvh;border-radius:2px}
.pc-editor-canvas .pc-panel-number{display:none}
.pc-editor-bleed-help{font-size:12px;color:#4a5c74;line-height:1.45;margin:12px 0 0}
.pc-photo-inset{background:transparent}
.pc-bleed-guide{position:absolute;inset:0;pointer-events:none;z-index:16;border:2px solid #ee4dad;box-shadow:inset 0 0 0 1px #ffffffaa}
.pc-bleed-guide__trim{position:absolute;inset:var(--pc-bleed-y,1%) var(--pc-bleed-x,1%);border:2px dashed #fff;box-shadow:0 0 0 1px #1117;z-index:2}
.pc-bleed-guide__label{position:absolute;right:4%;top:4%;font-size:11px;font-weight:900;color:#12213a;background:#fffdef;padding:4px 6px;border-radius:4px}
.pc-editor-tools .pc-edit-bar.pc-edit-bar-v161{margin:0;padding:18px 14px;border-top:0}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-tools{grid-template-columns:1fr;gap:13px}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-tabs{gap:5px;white-space:normal}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-tabs button{padding:10px 9px;font-size:12px;min-height:44px}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;justify-content:stretch}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-actions .pc-btn{min-width:0;width:100%;grid-column:auto}
.pc-editor-tools .pc-edit-bar-v161 .pc-edit-actions .pc-save-edit{grid-column:1/-1;order:-1}
@media (min-width:1200px){
  .pc-create-main{grid-template-columns:minmax(0,7fr) minmax(290px,3fr)}
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(var(--pc-cols),minmax(0,1fr))}
}
@media (max-width:1199px){
  .pc-create-main{grid-template-columns:minmax(0,1fr);padding:14px clamp(10px,2vw,28px)}
  .pc-summary{position:static;order:2}
  .pc-create-center{order:1}
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(min(3,var(--pc-cols)),minmax(0,1fr))}
  .pc-editor-body{grid-template-columns:minmax(0,1fr) minmax(280px,.67fr)}
}
@media (max-width:760px){
  .pc-create-main{display:flex;flex-direction:column;gap:12px;padding:12px 10px 95px}
  .pc-workspace-heading{padding:12px 12px 0;align-items:flex-start}
  .pc-workspace-heading h1{font-size:25px}
  .pc-workspace-heading p{font-size:12px}
  .pc-how-it-works{font-size:12px}
  .pc-create-toolbar{display:flex;flex-direction:column;padding:8px 12px 10px;gap:8px}
  .pc-create-toolbar .pc-btn{width:100%;min-height:46px;font-size:14px;flex:0 0 auto}
  .pc-panel-grid-wrap{padding:8px 12px 12px}
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:repeat(min(2,var(--pc-cols)),minmax(0,1fr));gap:12px}
  .pc-quality-notice{margin:0 12px 2px;padding:10px}
  .pc-quality-badge{top:6px;left:6px;padding:4px 6px;font-size:10px;gap:4px}
  .pc-quality-badge>span{width:16px;height:16px;font-size:11px}
  .pc-adjust-trigger{opacity:1;pointer-events:auto;width:70%;min-width:0;max-width:230px;top:46%;white-space:normal;padding:10px 6px;font-size:12px}
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions{bottom:6px;gap:4px;padding:4px}
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button{min-height:36px;height:36px;min-width:36px;font-size:11px}
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button.pc-replace-button{min-width:62px}
  .pc-panel-grid:not(.is-focused-edit) .pc-tile-actions button.is-danger{width:36px}
  .pc-remove-panel-trigger{width:38px;height:38px}
  .pc-quality-decision{left:5px;right:5px;bottom:52px;padding:8px;gap:5px;font-size:10px;max-height:40%;overflow:auto}
  .pc-quality-decision button{min-height:34px;padding:5px}
  .pc-summary{width:100%;order:2;position:static;padding:16px 18px 20px}
  .pc-summary .pc-summary-title h2.pc-summary-title-desktop{display:block;font-size:23px}
  .pc-summary .pc-summary-title h2.pc-summary-title-mobile{display:none}
  .pc-summary .pc-summary-pricing{display:block}
  .pc-summary .pc-add-cart{position:sticky;bottom:12px;z-index:30}
  .pc-editor-backdrop{padding:0;align-items:stretch}
  .pc-editor-dialog{max-height:100dvh;height:100dvh;border-radius:0;width:100%}
  .pc-editor-body{display:flex;flex-direction:column;overflow-y:auto}
  .pc-editor-canvas,.pc-editor-tools{width:100%}
  .pc-editor-canvas{padding:12px 18px}
  .pc-editor-tools{padding:4px 12px;border-left:0;border-top:1px solid #e8edf3}
  .pc-editor-canvas .pc-panel-grid.is-focused-edit .pc-panel-tile{width:min(100%,var(--pc-focus-mobile-width-svh),var(--pc-focus-mobile-width-px));max-height:55dvh}
  .pc-editor-tools .pc-edit-bar.pc-edit-bar-v161{padding:14px 0;margin:0 4px}
  .pc-editor-header{padding:12px 16px}
}
@media (max-width:350px){
  .pc-panel-grid:not(.is-focused-edit){grid-template-columns:1fr;gap:14px}
  .pc-workspace-heading{flex-wrap:wrap;gap:3px}
  .pc-how-it-works{margin-left:auto}
  .pc-quality-decision{font-size:12px;padding:12px;max-height:40%}
  .pc-quality-decision button{min-height:44px}
  .pc-editor-tools .pc-edit-bar-v161 .pc-edit-tabs{flex-wrap:wrap}
  .pc-editor-tools .pc-edit-bar-v161 .pc-edit-tabs button{flex:1 1 calc(50% - 5px)}
}
@media (prefers-reduced-motion:reduce){.pc-adjust-trigger,.pc-panel-tile,.pc-panel-tile::after{transition:none}}

/* Persistent mobile checkout summary; disabled states match server approval rules. */
.pc-mobile-checkout{display:none}
@media (max-width:760px){
  .pc-mobile-checkout{position:fixed;z-index:80;bottom:0;left:0;right:0;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dfe6ef;background:#fffffff5;box-shadow:0 -6px 22px #101a3020}
  .pc-mobile-checkout-total{display:grid;gap:3px;min-width:0}
  .pc-mobile-checkout-total small{color:#68758b;font-size:11px;white-space:nowrap}
  .pc-mobile-checkout-total strong{color:#10213b;font-size:19px}
  .pc-mobile-checkout button{min-width:0;min-height:46px;padding:8px 14px;border-radius:10px;background:var(--pc-orange);color:#fff;border:0;font-weight:850;font-size:13px;cursor:pointer}
  .pc-mobile-checkout button:disabled{background:#dce1e9;color:#5d6879;cursor:not-allowed}
  .pc-mobile-checkout button:focus-visible{outline:3px solid #1258c1;outline-offset:2px}
  .pc-create-main{padding-bottom:130px}
  .pc-summary .pc-add-cart{position:static}
}

/* Quality recommendations sit UNDER thumbnails, never covering the artwork. */
.pc-print-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.pc-print-card>.pc-panel-tile{width:100%;flex:0 0 auto}
.pc-print-card>.pc-quality-decision{position:static;z-index:auto;left:auto;right:auto;bottom:auto;max-height:none;overflow:visible;box-shadow:none;font-size:12px}
.pc-print-card>.pc-quality-decision button{min-height:42px}
.pc-remove-panel-trigger{align-self:center;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #d7dde8;border-radius:999px;background:#fff;color:#60708b;box-shadow:0 4px 10px #14253b14;cursor:pointer;transition:transform .15s,background-color .15s,border-color .15s,color .15s}
.pc-remove-panel-trigger:hover:not(:disabled){transform:translateY(-1px);background:#fff5f6;border-color:#efbec4;color:var(--pc-red)}
.pc-remove-panel-trigger:focus-visible{outline:3px solid #366efb55;outline-offset:2px}
.pc-remove-panel-trigger:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.pc-remove-panel-trigger .pc-icon-svg{width:18px;height:18px}
.pc-panel-grid.is-focused-edit .pc-print-card{width:min(100%,var(--pc-focus-width-vh),var(--pc-focus-width-px));margin:0 auto}
.pc-panel-grid.is-focused-edit .pc-print-card>.pc-panel-tile{width:100%;max-width:100%;max-height:72dvh}
@media (max-width:760px){
 .pc-print-card>.pc-quality-decision{font-size:11px;max-height:none;overflow:visible;padding:9px;line-height:1.4}
 .pc-print-card>.pc-quality-decision button{min-height:44px;padding:8px 5px;font-size:11px}
 .pc-editor-canvas .pc-panel-grid.is-focused-edit .pc-print-card{width:min(100%,var(--pc-focus-mobile-width-svh),var(--pc-focus-mobile-width-px))}
}
