
/* v19.38 isolated blank-canvas editor. No changes to existing design cards. */
#p38FreeLaunch,#p38PaidLaunch{border:1px solid #bb9358;border-radius:14px;min-height:48px;padding:11px 15px;background:linear-gradient(145deg,#fcf5e9,#f0dfc4);color:#513722;font:650 14px/1.25 system-ui;cursor:pointer;box-shadow:0 4px 11px #72512b20}
#p38FreeLaunch{display:block;width:100%;margin:8px 0 15px}
#p38PaidLaunch{margin:12px 0;display:flex;align-items:center;gap:9px}
#p38FreeLaunch:focus-visible,#p38PaidLaunch:focus-visible{outline:3px solid #996b37;outline-offset:3px}
#p38Editor[hidden]{display:none!important}
body.p38-open{overflow:hidden!important}
#p38Editor{position:fixed;z-index:2147480000;inset:0;overflow-y:auto;overscroll-behavior:contain;background:#f8f2e9;color:#32291e;font-family:system-ui,sans-serif;padding:0 0 env(safe-area-inset-bottom,0px)}
#p38Editor *{box-sizing:border-box}
#p38Editor button,#p38Editor select,#p38Editor input,#p38Editor textarea{font:inherit}
#p38Editor button{cursor:pointer}
#p38Editor .p38-top{position:sticky;top:0;z-index:5;background:#fff9f0;border-bottom:1px solid #e0cdb0;padding:13px max(13px,env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:space-between;gap:8px}
#p38Editor .p38-top strong{font:550 clamp(19px,4.8vw,25px)/1.14 Georgia,serif;color:#39281c}
#p38Editor .p38-top small{display:block;font:650 9px/1.5 system-ui;letter-spacing:.13em;color:#9a6b34}
#p38Editor .p38-top button{border:1px solid #d3b78b;background:#fffaf2;border-radius:10px;padding:9px 12px;min-height:43px;color:#5b442b}
#p38Editor .p38-wrap{width:min(100%,980px);padding:17px 12px 45px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,350px);gap:21px;align-items:start}
#p38Editor .p38-work{min-width:0;display:grid;gap:13px}
#p38Editor .p38-options{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
#p38Editor label{display:grid;gap:5px;min-width:0;color:#5a4733;font:650 12px/1.3 system-ui}
#p38Editor input,#p38Editor select,#p38Editor textarea{min-height:43px;border:1px solid #cfba99;border-radius:10px;background:white;color:#32281c;padding:9px;min-width:0}
#p38Editor input[type=color]{padding:4px;width:100%;min-height:44px}
#p38Editor input[type=range]{padding:0;min-height:35px;width:100%}
#p38Editor .p38-canvas-stage{padding:14px 8px;background:linear-gradient(130deg,#e8dfd0,#f5eee3);border-radius:20px;display:grid;place-items:center;border:1px solid #e0d2c0}
#p38Editor #p38Canvas{display:block;background:white;width:min(100%,370px);height:auto;aspect-ratio:210/297;box-shadow:0 9px 25px #4b36252c;touch-action:none;user-select:none}
#p38Editor .p38-panel{display:grid;gap:12px;background:#fffdf9;padding:16px;border:1px solid #dfccb1;border-radius:17px}
#p38Editor .p38-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#p38Editor .p38-actions button,#p38Editor .p38-bottom button{min-height:45px;border-radius:11px;background:#fff8ef;color:#54391f;border:1px solid #cba878;padding:9px 8px;font-size:13px;font-weight:650}
#p38Editor .p38-actions button.primary,#p38Editor .p38-bottom button.primary{background:#916530;color:white;border-color:#916530}
#p38Editor button:disabled{opacity:.45;cursor:default}
#p38Editor .p38-editor-controls{display:grid;gap:10px}
#p38Editor .p38-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#p38Editor .p38-control-grid label{width:100%}
#p38Editor .p38-radio{display:flex;align-items:center;gap:8px;font-size:13px}
#p38Editor .p38-radio input{width:19px;height:19px;min-height:19px}
#p38Editor #p38Message{font-size:12px;line-height:1.45;color:#65503a;margin:0}
#p38Editor #p38Message[data-error=true]{color:#a22d25}
#p38Editor .p38-tip{font-size:11px;line-height:1.45;color:#7a6650;margin:0}
#p38Editor .p38-bottom{display:flex;gap:9px;flex-wrap:wrap}
#p38Editor .p38-bottom button{flex:1}
#p38Editor .p38-hidden{display:none!important}
#p38Editor [data-show=qr] .p38-text-tools,#p38Editor [data-show=qr] .p38-photo-tools,#p38Editor [data-show=text] .p38-photo-tools,#p38Editor [data-show=photo] .p38-text-tools,#p38Editor [data-show=none] .p38-text-tools,#p38Editor [data-show=none] .p38-photo-tools{display:none!important}
@media(max-width:700px){#p38Editor .p38-wrap{grid-template-columns:1fr;gap:14px}#p38Editor .p38-panel{padding:12px}#p38Editor .p38-top{padding:10px 12px}#p38Editor #p38Canvas{width:min(100%,355px)}}


/* Picorae v19.39 · Founder Samsung walkthrough 45880.
   Blank canvas scroll must stay native; only intentional edit handles
   hold the touch gesture. No QR/export logic or saved events changed. */
#p38Editor #p38Canvas{touch-action:pan-y!important}
#p38Editor #p38Canvas [data-edit]{touch-action:pan-y!important;cursor:pointer}
#p38Editor #p38Canvas .p38-selection{pointer-events:none}
#p38Editor #p38Canvas [data-p38-handle]{pointer-events:auto!important;touch-action:none!important;cursor:grab}
#p38Editor #p38Canvas [data-p38-handle]:active{cursor:grabbing}
#p38Editor .p38-canvas-stage{touch-action:pan-y}
#p38Editor .p38-top-actions{display:flex;gap:6px;flex:0 0 auto;align-items:center}
#p38Editor .p38-top strong{font-size:clamp(17px,4.5vw,22px)}
#p38Editor .p38-top #p38SaveTop{background:#8f6738;color:#fff;font-weight:750;border-color:#8f6738}
#p38Editor .p38-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#p38Editor .p38-quick-actions button{border-radius:10px;background:#fffaf1;color:#573c21;border:1px solid #caab7f;font-weight:700;font-size:12px;min-height:45px;padding:7px 4px}
#p38Editor .p38-quick-actions #p38QuickSave{background:#8f6738;color:white;border-color:#8f6738}
#p38Editor .p38-inline-text{padding:9px 12px;background:#fffbf4;border:1px solid #dbc29d;border-radius:12px}
#p38Editor .p38-inline-text[hidden]{display:none!important}
#p38Editor .p38-inline-text textarea{width:100%;min-height:58px;resize:vertical}
#p38Editor .p38-saved-list,#p38FreeSaved,#p38PaidSaved{display:grid;gap:7px;margin:10px 0 13px;padding:12px;background:#fffaf0;color:#54391b;border:1px solid #cdb287;border-radius:13px}
#p38FreeSaved[hidden],#p38PaidSaved[hidden],#p38Editor .p38-saved-list[hidden]{display:none!important}
#p38FreeSaved strong,#p38PaidSaved strong,#p38Editor .p38-saved-list strong{font:750 11px/1.4 system-ui;letter-spacing:.10em;color:#79552c}
#p38FreeSaved small,#p38PaidSaved small,#p38Editor .p38-saved-list small{font:500 11px/1.4 system-ui;color:#7b654b}
#p38Editor .p38-saved-rail,#p38FreeSaved .p38-saved-rail,#p38PaidSaved .p38-saved-rail{display:flex;flex-wrap:wrap;gap:7px}
#p38Editor .p38-saved-rail button,#p38FreeSaved .p38-saved-rail button,#p38PaidSaved .p38-saved-rail button{background:#f5e8d4;color:#54391b;border:1px solid #c9ab7b;border-radius:9px;min-height:43px;padding:8px 10px;font:700 12px/1.3 system-ui}
#p38Editor .p38-fine-tune{border-top:1px solid #e2d1bc;padding-top:8px}
#p38Editor .p38-fine-tune summary{cursor:pointer;padding:9px 4px;font:700 12px/1.4 system-ui;color:#745029}
#p38Editor .p38-fine-body{display:grid;gap:10px;padding:9px 0}
#p38Editor #p38Controls[data-show=qr] #p38AngleWrap{display:none!important}
#p38Editor .p38-control-grid label{min-width:0}
@media(max-width:390px){#p38Editor .p38-top{gap:4px;padding:10px 8px}#p38Editor .p38-top button{padding:8px 7px;font-size:11px}}

/* Page 3 FREE SAMPLE cards ONLY — allow roomy title within the border,
   but remove the dead band between copy and QR on small table/bar cards.
   Real paid PDF/SVG print engine and true QR quiet zones remain unchanged. */
@media(max-width:760px){
 #preview2View #p2vLuxGallery[data-p2v-sign-type="table"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story),
 #preview2View #p2vLuxGallery[data-p2v-sign-type="bar"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story){
  justify-content:flex-start!important;gap:5px!important;
  padding-left:25px!important;padding-right:25px!important
 }
 #preview2View #p2vLuxGallery[data-p2v-sign-type="table"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story) .p2v-lux-qr,
 #preview2View #p2vLuxGallery[data-p2v-sign-type="bar"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story) .p2v-lux-qr{
  margin:13px auto 12px!important;flex:none!important
 }
 #preview2View #p2vLuxGallery[data-p2v-sign-type="table"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story) .p2v-lux-foot,
 #preview2View #p2vLuxGallery[data-p2v-sign-type="bar"] .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-story) .p2v-lux-foot{
  margin:5px auto 10px!important
 }
 #preview2View #p2vLuxGallery .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-minimal):not(.p2v-lux-story) h4{
  max-width:96%!important;overflow-wrap:anywhere!important;text-wrap:balance!important
 }
 #preview2View #p2vLuxGallery .p2v-lux-workbench>.p2v-lux-options .p2v-lux-sign:not(.p2v-lux-minimal) .p2v-lux-kicker{
  max-width:94%!important;overflow-wrap:anywhere!important;line-height:1.25!important
 }
}


/* v19.40: 45884 Samsung direct manipulation.
   Touching text/photo/QR is an EDIT gesture; blank paper remains scrollable.
   Explicit control handles always manipulate, never scroll. */
#p38Editor #p38Canvas{touch-action:pan-y!important;overscroll-behavior:contain}
#p38Editor #p38Canvas [data-edit],
#p38Editor #p38Canvas [data-edit] *,
#p38Editor #p38Canvas [data-p38-handle],
#p38Editor #p38Canvas [data-p38-handle] *{
 touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;
}
#p38Editor #p38Canvas [data-edit]{cursor:grab}
#p38Editor #p38Canvas [data-edit]:active{cursor:grabbing}
#p38Editor #p38Canvas [data-p38-handle]{pointer-events:auto!important}


/* v19.41 Samsung 45888: explicit touch intent prevents page-scroll
   from competing with dragging. Edit is the default. Blank paper only
   scrolls in Scroll mode; controls below have direct jump buttons. */
#p38Editor .p38-gesture-bar{
 position:sticky;top:55px;z-index:6;display:grid;
 grid-template-columns:1fr 1fr auto;gap:6px;padding:8px;
 background:#fffaf1;border:1px solid #d9c19d;border-radius:12px;
 box-shadow:0 3px 10px #47331c15;
}
#p38Editor .p38-gesture-bar button{
 min-height:45px;padding:8px 9px;border-radius:9px;
 border:1px solid #c9ad83;background:#fffdfa;color:#684521;
 font:700 12px/1.2 system-ui;
}
#p38Editor .p38-gesture-bar button[aria-pressed="true"]{
 background:#876037;color:#fff;border-color:#876037;
}
#p38Editor .p38-gesture-hint{
 margin:0;padding:0 2px;color:#725a3d;
 font:550 11px/1.4 system-ui;
}
#p38Editor .p38-back-canvas{
 border:1px solid #c8a779;border-radius:10px;
 background:#fff5e6;color:#664526;font:700 13px/1.3 system-ui;
 min-height:43px;width:100%;
}
#p38Editor #p38Controls{scroll-margin-top:70px}
#p38Editor #p38Canvas{scroll-margin-top:80px}
#p38Editor[data-p38-gesture="edit"] .p38-canvas-stage,
#p38Editor[data-p38-gesture="edit"] #p38Canvas,
#p38Editor[data-p38-gesture="edit"] #p38Canvas *{
 touch-action:none!important;
 overscroll-behavior:contain;
}
#p38Editor[data-p38-gesture="scroll"] .p38-canvas-stage,
#p38Editor[data-p38-gesture="scroll"] #p38Canvas,
#p38Editor[data-p38-gesture="scroll"] #p38Canvas *{
 touch-action:pan-y!important;
}
#p38Editor[data-p38-gesture="scroll"] #p38Canvas [data-edit],
#p38Editor[data-p38-gesture="scroll"] #p38Canvas [data-p38-handle]{
 cursor:default!important;
}
@media(max-width:380px){
 #p38Editor .p38-gesture-bar{grid-template-columns:1fr 1fr;top:57px}
 #p38Editor .p38-gesture-bar #p38JumpTools{grid-column:1/-1;min-height:36px}
}


/* v19.42: one choice for each sign · template OR saved custom design.
   No change to permanent QR or original premium template rendering. */
#preview2View #p38FreeLaunch{display:block!important;width:100%!important;margin:12px 0 7px!important;min-height:54px!important;border:1px solid #b68d55!important;background:linear-gradient(140deg,#fdf5e9,#ead8b9)!important;border-radius:14px!important;color:#604021!important;font:750 14px/1.25 system-ui!important}
#preview2View #p38ChosenPreview[hidden]{display:none!important}
#preview2View #p38ChosenPreview{
 margin:12px 0!important;padding:13px!important;border:1px solid #b99466!important;border-radius:15px!important;
 background:#fffaf0!important;color:#533d27!important;
 display:grid!important;justify-items:center!important;gap:9px!important;
}
#preview2View #p38ChosenPreview strong{font:750 11px/1.4 system-ui!important;color:#866136!important;letter-spacing:.08em!important}
#preview2View #p38ChosenPreview small{font:500 12px/1.4 system-ui!important;text-align:center!important;color:#746048!important}
#preview2View #p38ChosenPreview button{
 min-height:43px!important;background:#8d6339!important;border:1px solid #8d6339!important;
 padding:9px 16px!important;border-radius:10px!important;color:#fff!important;font:700 12px/1.3 system-ui!important
}
#preview2View .p38-chosen-svg{width:135px!important;height:auto!important;aspect-ratio:210/297!important;background:#fff!important;border:1px solid #e0cfb7!important;box-shadow:0 6px 19px #5d3f2222!important;overflow:hidden!important}
#preview2View .p2v-review-sign-art>.p38-chosen-svg{
 display:block!important;position:relative!important;
 width:min(85%,130px)!important;height:auto!important;max-height:193px!important;
 padding:0!important;margin:auto!important;flex:0 0 auto!important;transform:none!important;
}
@media(max-width:440px){
 #preview2View .p2v-review-sign-art>.p38-chosen-svg{width:min(83%,110px)!important;max-height:160px!important}
}
#p38Editor .p38-saved-card{
 display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:7px;
 background:#fffefd;border:1px solid #e0cfb8;border-radius:10px;min-width:0
}
#p38Editor .p38-saved-card b,#p38FreeSaved .p38-saved-card b,#p38PaidSaved .p38-saved-card b{
 font:700 12px/1.3 system-ui;flex:1 0 100%;color:#664b2d
}
#p38Editor .p38-saved-card button,#p38FreeSaved .p38-saved-card button,#p38PaidSaved .p38-saved-card button{min-height:42px;flex:1}
#p38Editor .p38-saved-card .p38-use-saved[aria-pressed="true"],
#p38FreeSaved .p38-saved-card .p38-use-saved[aria-pressed="true"],
#p38PaidSaved .p38-saved-card .p38-use-saved[aria-pressed="true"]{background:#866239;color:#fff;border-color:#866239}
#p38Editor .p38-use-current,#p38Editor .p38-import-free{
 min-height:48px;width:100%;border:1px solid #8e683c;border-radius:11px;
 font:750 14px/1.3 system-ui;background:#8e683c;color:white;padding:10px;margin:2px 0
}
#p38Editor .p38-import-free{background:#f7ead6;color:#684421}
#p38Editor .p38-import-free[hidden]{display:none!important}
#p38Editor #p38SavedStrip .p38-saved-rail,#p38FreeSaved .p38-saved-rail,#p38PaidSaved .p38-saved-rail{display:grid;gap:8px;width:100%}
#p38PrintShortcut{
 border:1px solid #d2b184;border-radius:14px;padding:14px;margin:14px 0;
 background:#fffaf1;display:grid;gap:8px;color:#614324
}
#p38PrintShortcut strong{font:700 15px/1.3 system-ui}
#p38PrintShortcut p{margin:0;font:500 12px/1.45 system-ui}
#p38PrintShortcut button{
 min-height:45px;border:1px solid #8e6534;border-radius:10px;
 background:#8e6534;color:white;font:700 13px/1.3 system-ui;padding:9px 11px
}


/* v19.43: custom chosen sign owns the bottom LIVE VIEW, not a stale preset. */
#preview2View #p2vLuxGallery[data-p38-custom-used="yes"] .p2v-lux-workbench .p2v-lux-option.selected{
 border-color:#ded2c0!important;box-shadow:none!important;
}
#preview2View #p2vLuxGallery[data-p38-custom-used="yes"] .p2v-lux-design-rail button[aria-pressed="true"]{
 background:#faf6ef!important;border-color:#d7c6ad!important;
 color:#705b44!important;box-shadow:none!important;
}
#preview2View #p2vLuxGallery[data-p38-custom-used="yes"] .p2v-lux-inline-preview{
 border-color:#b48a50!important;background:#fff8e9!important;
 box-shadow:0 3px 12px #8f653b22!important;
}
#preview2View #p2vLuxGallery .p2v-lux-inline-thumb>.p38-chosen-svg{
 display:block!important;position:static!important;
 width:100%!important;height:100%!important;
 max-width:100%!important;max-height:100%!important;
 aspect-ratio:210/297!important;transform:none!important;
 background:#fff!important;
}
#preview2View #p2vLuxGallery[data-p38-custom-used="yes"] .p2v-lux-inline-label strong{
 color:#805729!important;font-weight:800!important;
}
#preview2View #p38ChosenPreview .p43-copy-both{
 background:#fff4e1!important;color:#73502e!important;
 border:1px solid #b38d5c!important;
}
#preview2View #p2vInvitationCard .p2v-invite-topmark.p2v-picorae-mark{
 width:51px!important;height:49px!important;min-height:49px!important;
 display:grid!important;place-items:center!important;
 background:none!important;border:0!important;box-shadow:none!important;
}
#preview2View #p2vInvitationCard .p2v-picorae-mark svg.p43-premium-camera{
 display:block!important;position:static!important;
 width:49px!important;height:49px!important;
 max-width:none!important;stroke:none!important;stroke-width:initial!important;
 fill:initial!important;filter:drop-shadow(0 2px 2px #84602f34)!important;
}


/* v19.44: match invitation and printed-sign camera artwork to Picorae's
   dimensional gold guest/host icon family. No modification to QR content. */
#preview2View #p2vLuxGallery svg.p2v-lux-camera.p43-premium-camera{
 width:54px!important;height:54px!important;max-height:54px!important;
 min-height:0!important;flex:0 0 54px!important;
 display:block!important;margin:3px auto 5px!important;
 fill:initial!important;stroke:none!important;stroke-width:initial!important;
 overflow:visible!important;filter:drop-shadow(0 2px 2px #72502f3b)!important
}
#preview2View #p2vLuxGallery .p2v-lux-capture svg.p2v-lux-camera.p43-premium-camera{
 width:50px!important;height:50px!important;max-height:50px!important;
 flex:0 0 50px!important;margin:6px auto 6px!important
}
#preview2View #p2vInvitationCard .p2v-picorae-mark svg.p43-premium-camera{
 fill:initial!important;stroke:none!important
}
#preview2View #p2vLuxGallery #p2vLuxMilestoneWrap[hidden]{display:none!important}
#preview2View #p2vLuxGallery #p2vLuxMilestoneWrap{
 display:grid!important;gap:5px!important;
 padding:11px 12px!important;border:1px solid #dec8a6!important;
 border-radius:12px!important;background:#fff7e9!important;
 color:#6e4e2b!important;font-weight:750!important
}
#preview2View #p2vLuxGallery #p2vLuxMilestone{
 background:#fffdf8!important;border:1px solid #ccb18b!important;
 min-height:44px!important;color:#473422!important;border-radius:9px!important;
 padding:9px!important;width:100%!important;max-width:100%!important
}


/* v19.45 · finish safe spacing for the ready-made SAMPLE cards in Step 3.
   Keep text inside premium ornamental frames and reduce empty middle bands.
   These rules do NOT touch the actual activated print engine or QR artwork. */
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign:not(.p2v-lux-story):not(.p2v-lux-minimal):not(.p2v-lux-deco){
 padding-left:clamp(23px,4.8vw,28px)!important;
 padding-right:clamp(23px,4.8vw,28px)!important;
}
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign .p2v-lux-kicker,
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign h4,
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign .p2v-lux-event{
 position:relative!important;z-index:3!important;
 max-width:91%!important;min-width:0!important;
 overflow-wrap:anywhere!important;word-break:normal!important;
 text-wrap:balance!important;
}
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign .p2v-lux-kicker{
 max-width:87%!important;line-height:1.35!important;
}
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign .p2v-lux-event{
 max-width:86%!important;
}
#preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-sign .p2v-lux-qr{
 position:relative!important;z-index:4!important;
 background:#fff!important;
}
@media(max-width:760px){
 #preview2View #p2vLuxGallery:is([data-p2v-sign-type="table"],[data-p2v-sign-type="bar"])
 .p2v-lux-workbench .p2v-lux-sign:not(.p2v-lux-story):not(.p2v-lux-minimal):not(.p2v-lux-deco) .p2v-lux-qr{
  margin:12px auto 10px!important;flex:none!important;
 }
 #preview2View #p2vLuxGallery:is([data-p2v-sign-type="table"],[data-p2v-sign-type="bar"])
 .p2v-lux-workbench .p2v-lux-sign:not(.p2v-lux-story):not(.p2v-lux-minimal):not(.p2v-lux-deco) .p2v-lux-foot{
  margin:5px auto 9px!important;
 }
 #preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-signature .p2v-lux-kicker{
  margin-top:17px!important;
 }
 #preview2View #p2vLuxGallery .p2v-lux-workbench .p2v-lux-story .p2v-lux-photos{
  max-width:100%!important;
 }
}
