.ccm-editor{--ccm-ink:#373c38;--ccm-rose:#a8566d;--ccm-line:#e4e4df;--ccm-muted:#72796f;color:var(--ccm-ink);background:#fff;border:1px solid var(--ccm-line);border-radius:16px;overflow:hidden;font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1440px;margin:24px auto;box-sizing:border-box;text-align:left;isolation:isolate}
.ccm-editor *{box-sizing:border-box}.ccm-editor h2,.ccm-editor h3,.ccm-editor h4,.ccm-editor p{margin:0;padding:0;color:inherit;line-height:1.4}.ccm-editor h2{font:26px/1.2 Georgia,serif;letter-spacing:-.5px;margin-top:5px}.ccm-editor h3{font:23px/1.3 Georgia,serif;margin:9px 0 12px}.ccm-editor h4{font-size:15px;font-weight:600;margin:12px 0 16px}.ccm-editor button{font:inherit;line-height:1.2;letter-spacing:0;text-transform:none;cursor:pointer;border:1px solid var(--ccm-line);border-radius:7px;padding:10px 13px;background:#fff;color:var(--ccm-ink);box-shadow:none;min-height:38px;touch-action:manipulation;transition:background .15s}.ccm-editor button:hover{background:#f2f3ef}.ccm-editor button:disabled{opacity:.4;cursor:default}.ccm-editor :focus-visible{outline:2px solid var(--ccm-rose);outline-offset:3px}.ccm-editor .ccm-primary{background:var(--ccm-ink);border-color:var(--ccm-ink);color:#fff;padding:12px 17px}.ccm-editor .ccm-primary:hover{background:#515c50}.ccm-top{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--ccm-line);gap:16px}.ccm-eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--ccm-muted)}.ccm-actions{display:flex;align-items:center;gap:7px}.ccm-body{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:740px}.ccm-sidebar{padding:27px 24px;border-right:1px solid var(--ccm-line);background:#fff;max-height:900px;overflow:auto}.ccm-muted{color:var(--ccm-muted)!important;font-size:13px}.ccm-inspector{margin-top:26px}.ccm-element-list{display:flex;flex-direction:column;gap:10px}.ccm-editor .ccm-element-item{text-align:left;padding:14px;font-size:13px;background:#fafbf8}.ccm-small{display:block;font-size:11px;color:var(--ccm-muted);margin:8px 0!important}.ccm-field{display:block;font-size:12px;font-weight:500;margin:18px 0 12px}.ccm-field>span{display:block;margin-bottom:8px}.ccm-editor textarea,.ccm-editor select{width:100%;font:13px/1.5 system-ui,sans-serif;color:var(--ccm-ink);background:#fff;border:1px solid #d5dad1;border-radius:6px;padding:10px;box-shadow:none;min-height:40px}.ccm-editor textarea{resize:vertical}.ccm-editor input[type=file]{font:11px/1.5 system-ui,sans-serif;width:100%;padding:9px 0;color:var(--ccm-muted)}.ccm-slider-row{display:flex;align-items:center;gap:15px}.ccm-editor input[type=range]{width:100%;min-width:0;accent-color:var(--ccm-rose);padding:0;margin:8px 0;cursor:pointer;height:18px}.ccm-slider-row output{font-size:11px;font-variant-numeric:tabular-nums;width:40px;text-align:right}.ccm-colors{display:flex;gap:10px}.ccm-editor .ccm-swatch{width:29px;height:29px;min-height:29px;padding:0;border-radius:50%;border:2px solid #ddd}.ccm-editor .ccm-swatch[aria-pressed=true]{outline:1px solid var(--ccm-ink);outline-offset:3px}.ccm-finish{padding:13px;background:#faf6ed;font-size:12px;color:#927542!important;border-radius:6px;margin-top:18px!important}.ccm-stage{background:#edf0eb;min-width:0;display:flex;flex-direction:column}.ccm-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:12px;flex-wrap:wrap}.ccm-tabs{display:flex;gap:3px;padding:4px;background:#dfe5db;border-radius:9px}.ccm-editor .ccm-tabs button{border:0;background:none;font-size:12px;padding:9px 15px;min-height:34px}.ccm-editor .ccm-tabs .ccm-active{background:#fff;box-shadow:0 1px 5px #0000000b}.ccm-zoom{display:flex;align-items:center;gap:8px}.ccm-zoom span{min-width:38px;font:11px/1 system-ui,sans-serif;text-align:center}.ccm-editor .ccm-zoom button{border:0;background:#ffffff80;font-size:13px;padding:7px 10px;min-height:30px}.ccm-guide-toggle{font-size:11px;display:flex;align-items:center;gap:5px;color:var(--ccm-muted);margin:0}.ccm-guide-toggle input{accent-color:var(--ccm-rose);margin:0}.ccm-viewport{flex:1;overflow:auto;padding:24px 28px 38px;min-height:530px;display:flex;align-items:flex-start}.ccm-paper-wrap{position:relative;margin:auto;flex-shrink:0}.ccm-paper{position:absolute;top:0;left:0;transform-origin:top left;box-shadow:0 12px 38px #35452c22;background-size:100% 100%;background-position:center;overflow:hidden}.ccm-box{position:absolute;outline:1px solid transparent;outline-offset:3px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ccm-box:hover{outline-color:#ba697f88}.ccm-box.ccm-selected{outline:1.5px solid var(--ccm-rose)}.ccm-text{user-select:none}.ccm-text-content{position:absolute;inset:0;white-space:pre-wrap;overflow:hidden;overflow-wrap:normal;word-break:normal;font-weight:400;font-style:normal;text-transform:none;padding:0;margin:0}.ccm-foil{-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;background-size:200% 100%}.ccm-foil-gold{background-image:linear-gradient(115deg,#72511a 0%,#ae8539 18%,#e9ce7c 33%,#92702b 49%,#f5e3a6 63%,#ac8238 81%,#72511a 100%)}.ccm-foil-silver{background-image:linear-gradient(115deg,#626775 0%,#969eac 18%,#f2f5fa 33%,#737d8f 49%,#e7ecf4 63%,#949dab 81%,#626775 100%)}.ccm-foil-copper{background-image:linear-gradient(115deg,#87472e 0%,#b87a4f 18%,#edbc94 33%,#9c6040 49%,#f5cfac 63%,#b7774f 81%,#87472e 100%)}.ccm-mask{position:absolute;inset:0;overflow:hidden;touch-action:none;background:transparent}.ccm-mask-ellipse{border-radius:50%}.ccm-mask-rounded{border-radius:7mm}.ccm-photo{position:absolute;max-width:none!important;max-height:none!important;object-fit:fill!important;pointer-events:none;user-select:none;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;transform-origin:center}.ccm-image{touch-action:none;cursor:grab}.ccm-image:active{cursor:grabbing}.ccm-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;white-space:pre-line;font:13px/1.8 system-ui,sans-serif;color:#999286;padding:12px}.ccm-warning{position:absolute;z-index:4;right:-8px;top:-9px;display:flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#ad432f;color:#fff;font:bold 13px/1 system-ui,sans-serif;box-shadow:0 0 0 2px #fff}.ccm-trim,.ccm-safe{position:absolute;pointer-events:none;display:none;z-index:3}.ccm-guides-on .ccm-trim{display:block;border:1px dashed #d64364}.ccm-guides-on .ccm-safe{display:block;border:1px dashed #55958c}.ccm-legend{text-align:center;padding:10px 12px 22px;font-size:9px;letter-spacing:1.2px;color:#8c9587}.ccm-footer{padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ccm-line)}.ccm-status{font-size:12px;color:var(--ccm-muted)}.ccm-editor .ccm-link{border:0;background:transparent;text-decoration:underline;padding:5px;font-size:11px;color:var(--ccm-muted);min-height:30px}.ccm-error{color:#a43b2b!important}.ccm-dpi{font-size:12px;margin:18px 0!important}.ccm-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.ccm-photo-item{text-align:center}.ccm-editor .ccm-photo-pick{padding:0;overflow:hidden;width:100%;height:65px}.ccm-photo-pick img{width:100%;height:100%;object-fit:cover}.ccm-login{display:inline-block;margin-top:20px;color:var(--ccm-rose)}
@media(max-width:800px){.ccm-top{padding:18px;flex-wrap:wrap}.ccm-body{grid-template-columns:240px minmax(0,1fr)}.ccm-sidebar{padding:20px 16px}.ccm-toolbar{padding:14px}.ccm-editor .ccm-tabs button{padding:8px 10px}.ccm-editor h2{font-size:23px}.ccm-viewport{padding:15px;min-height:420px}.ccm-footer{padding:12px 16px}}
@media(max-width:600px){.ccm-editor{border-radius:9px;margin:10px 0}.ccm-body{display:flex;flex-direction:column}.ccm-stage{order:0}.ccm-sidebar{order:1;max-height:none;border-right:0;border-top:1px solid var(--ccm-line)}.ccm-viewport{max-height:540px;min-height:330px}.ccm-toolbar{gap:10px}.ccm-guide-toggle{order:2}.ccm-actions{gap:5px}.ccm-editor .ccm-primary{padding:10px 12px;font-size:12px}.ccm-footer{align-items:flex-start}.ccm-legend{font-size:8px}.ccm-sidebar h3{font-size:21px}.ccm-inspector{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.ccm-editor button{transition:none}}
.ccm-editor .ccm-locked{pointer-events:none;cursor:default;outline:none!important}.ccm-editor .ccm-movable{cursor:move;touch-action:none}.ccm-position-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.ccm-position-fields label{font-size:11px;color:#72796f}.ccm-position-fields input{display:block;width:100%;padding:8px!important;margin-top:5px;border:1px solid #d5dad1;border-radius:6px;font:12px/1.4 system-ui,sans-serif}.ccm-editor input[type=number]{height:auto;min-height:34px}

.ccm-vector{position:absolute;inset:0;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-mode:alpha;pointer-events:none}
.ccm-text-resize{position:absolute;right:0;bottom:0;width:15px;height:15px;border:2px solid white;background:#ba697f;cursor:nwse-resize;z-index:8;touch-action:none}
.ccm-actions{flex-wrap:wrap}.ccm-recovery{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px;border-top:1px solid #e4e4df;padding-top:20px}.ccm-recovery input{width:100%;font:13px monospace;padding:10px;border:1px solid #d5dad1;border-radius:6px}.ccm-saved-code{overflow-wrap:anywhere;font:12px/1.6 monospace!important;margin-top:12px!important}.ccm-shop{border-top:1px solid #e4e4df;margin-top:22px;padding-top:10px}.ccm-shop input[type=number],.ccm-field input[type=number]{width:100%;padding:9px;border:1px solid #d5dad1;border-radius:6px}.ccm-field input[type=color]{width:100%;height:40px;cursor:pointer;padding:3px;background:white;border:1px solid #d5dad1;border-radius:6px}.ccm-print-frame{position:fixed;left:-10000px;top:0;width:1200px;height:900px;border:0}

.ccm-photo,.ccm-design-image{background:transparent!important}
.ccm-thumbnails{display:flex;gap:10px;padding:6px 20px 16px;overflow-x:auto;max-width:100%;min-height:122px}.ccm-editor .ccm-thumb{flex:0 0 110px;padding:7px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;border:2px solid transparent;white-space:normal}.ccm-editor .ccm-thumb.is-current{border-color:#ba697f}.ccm-thumb-image{height:75px;width:90px;display:flex;justify-content:center;align-items:center;pointer-events:none}.ccm-thumb-image>svg{max-width:100%;max-height:100%;width:100%;height:100%}.ccm-thumb small{font-size:9px;color:#777}.ccm-face-disabled{opacity:.4}.ccm-box>svg,.ccm-design-layer>svg{display:block;max-width:none;pointer-events:none}.ccm-export{margin-top:20px;border-top:1px solid #ddd;padding-top:15px}.ccm-export summary{cursor:pointer;font-weight:bold}.ccm-export-check{display:flex;gap:8px;align-items:center;margin:10px 0}.ccm-export button{margin:4px 0}.ccm-price{font-size:12px;margin:12px 0!important}.ccm-tabs{max-width:100%;overflow-x:auto}.ccm-tabs button{flex-shrink:0}

/* Invello Studio: mobile-first direct editing */
.ccm-editor .ccm-colors{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}
.ccm-editor .ccm-swatch{width:100%;aspect-ratio:1;height:auto;min-width:0;border-radius:50%;padding:0}
.ccm-mobile-recover,.ccm-mobile-tools{display:none}
@media(max-width:600px){
.ccm-editor .ccm-top{padding:5px 8px;gap:5px;min-height:42px;align-items:center}
.ccm-editor .ccm-top .ccm-brand h2,.ccm-editor .ccm-top .ccm-eyebrow{display:none}
.ccm-editor .ccm-top .ccm-brand:after{content:'INVELLO STUDIO';font-size:11px;font-weight:800;white-space:nowrap}
.ccm-editor .ccm-actions{display:flex;gap:3px;flex-wrap:nowrap;overflow-x:auto}
.ccm-editor .ccm-actions button{padding:5px 7px!important;font-size:10px!important;white-space:nowrap}
.ccm-mobile-recover{display:inline-flex}
.ccm-editor .ccm-viewport{min-height:63vh;max-height:76vh;overflow:auto;touch-action:pan-x pan-y}
.ccm-editor .ccm-thumbnails{min-height:65px;padding:3px 10px}.ccm-editor .ccm-thumb{flex-basis:65px;font-size:9px}.ccm-editor .ccm-thumb-image{height:42px;width:55px}
.ccm-editor .ccm-sidebar{background:white;padding:0 12px 18px}.ccm-editor .ccm-sidebar>.ccm-eyebrow,.ccm-editor .ccm-sidebar>h3,.ccm-editor .ccm-sidebar>.ccm-muted,.ccm-editor .ccm-element-list{display:none}
.ccm-editor .ccm-inspector:has(.ccm-mobile-tools){position:relative;box-shadow:0 -4px 18px #0002;border-radius:16px 16px 0 0;padding:12px 6px}
.ccm-mobile-tools{display:flex;gap:6px;overflow-x:auto;position:sticky;top:0;background:white;z-index:20;padding:8px 0;margin-bottom:12px}
.ccm-editor .ccm-mobile-tools button{font-size:11px;flex:none;padding:9px 7px;border:1px solid #dedbd8;border-radius:8px;background:#fff}
.ccm-editor .ccm-toolbar{padding:4px 8px}.ccm-editor .ccm-legend{display:none}
}

/* Invello Studio v1.7.1 — mobile editor: canvas-first and contextual bottom drawer */
.ccm-mobile-shell,.ccm-mobile-add,.ccm-mobile-finish,.ccm-mobile-modal,.ccm-mobile-shop-close,.ccm-mobile-unlock{display:none!important}
.ccm-mobile-shell[hidden],.ccm-mobile-drawer[hidden]{display:none!important}
.ccm-editor .ccm-icon-action svg,.ccm-mobile-tool svg,.ccm-mobile-align-option svg,.ccm-mobile-collapse svg,.ccm-mobile-add svg{width:21px;height:21px;flex:none}
@media (max-width:600px){
  .ccm-editor{border:0!important;border-radius:0!important;margin:0 auto!important;min-height:100svh;background:#f5f5f4!important;overflow:visible!important}
  .ccm-editor .ccm-top{height:47px;min-height:47px;padding:4px 8px!important;background:white;position:relative;z-index:10;flex-wrap:nowrap;gap:2px}
  .ccm-editor .ccm-top .ccm-brand{display:none!important}
  .ccm-editor .ccm-actions{display:flex;justify-content:space-around;width:100%;overflow:visible;gap:2px}
  .ccm-editor .ccm-actions button.ccm-icon-action{min-width:39px!important;width:43px;min-height:39px!important;height:39px;padding:8px!important;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;font-size:0!important;line-height:0!important;color:#2b2b2b}
  .ccm-editor .ccm-actions button.ccm-icon-action svg{width:22px;height:22px;display:block}
  .ccm-editor .ccm-body{display:flex!important;flex-direction:column!important;min-height:0}
  .ccm-editor .ccm-stage{order:0;display:flex;flex-direction:column;min-height:calc(100svh - 105px);background:#f4f4f4;position:relative}
  .ccm-editor .ccm-toolbar{display:none!important}
  .ccm-editor .ccm-viewport{overflow:auto;flex:1;max-height:none!important;min-height:0!important;height:auto;padding:15px 15px 30px;touch-action:pan-x pan-y;overscroll-behavior:contain;align-items:center;justify-content:center}
  .ccm-editor .ccm-paper-wrap{margin:auto!important}
  .ccm-editor .ccm-thumbnails{order:2;min-height:94px;padding:8px 12px 10px;background:#fff;justify-content:center;overflow-x:auto;flex:none;border-top:1px solid #e9e7e4}
  .ccm-editor .ccm-thumb{flex:0 0 72px!important;min-height:74px;border-radius:3px!important;gap:2px!important;padding:4px!important;color:#3e3e3e}
  .ccm-editor .ccm-thumb-image{height:53px!important;width:64px!important}
  .ccm-editor .ccm-thumb small{display:none}
  .ccm-editor .ccm-legend{display:none!important}
  .ccm-editor .ccm-mobile-add{display:flex!important;align-items:center;justify-content:center;position:absolute;right:17px;bottom:108px;z-index:6;width:51px;height:51px;min-height:0;border-radius:50%;border:none;background:#8da879;color:white;box-shadow:0 2px 9px #0002;padding:0}
  .ccm-editor .ccm-mobile-add svg{width:28px;height:28px}
  .ccm-editor .ccm-mobile-finish:not([hidden]){display:block!important;position:absolute;left:12px;bottom:111px;z-index:6;border:1px solid #d3d3d0;background:#fff;border-radius:22px;font-size:12px;padding:10px 15px;min-height:37px}
  .ccm-editor .ccm-sidebar{display:none!important}
  .ccm-editor .ccm-footer{padding:6px 12px!important;background:#fff;min-height:27px;border:0}
  .ccm-editor .ccm-status{font-size:10px!important;white-space:normal}
  .ccm-editor .ccm-mobile-shell{display:flex!important;flex-direction:column;position:fixed;z-index:99999;left:0;right:0;bottom:0;background:#fff;box-shadow:0 -5px 22px #00000017;max-width:100vw;padding-bottom:env(safe-area-inset-bottom,0px)}
  .ccm-editor .ccm-mobile-shell[hidden]{display:none!important}
  .ccm-editor .ccm-mobile-tools{display:flex!important;gap:0!important;overflow-x:auto;overscroll-behavior-x:contain;justify-content:space-between;position:relative;top:auto;padding:0 3px;margin:0;z-index:2;min-height:80px;box-shadow:none;background:white;scrollbar-width:none}
  .ccm-editor .ccm-mobile-tools::-webkit-scrollbar{display:none}
  .ccm-editor .ccm-mobile-tool{flex:1 0 55px;min-width:55px;max-width:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0!important;background:white!important;border-radius:0!important;padding:8px 3px!important;min-height:76px;font-size:10px!important;color:#373737}
  .ccm-editor .ccm-mobile-tool span{font-size:10px!important;white-space:normal;text-align:center;line-height:1.15}
  .ccm-editor .ccm-mobile-tool.is-active{color:#229aa6;background:#f3f3f3!important}
  .ccm-editor .ccm-mobile-drawer{display:flex;flex-direction:column;flex:none;max-height:min(30svh,252px);min-height:0;background:#fafafa;border-bottom:1px solid #eee}
  .ccm-editor .ccm-mobile-drawer-header{display:flex;align-items:center;justify-content:center;min-height:35px;position:relative;padding:5px 45px 3px;font:400 17px/1.3 Georgia,serif;text-align:center}
  .ccm-editor .ccm-mobile-collapse{position:absolute;right:9px;top:1px;border:0!important;background:none!important;min-height:30px;padding:4px!important}
  .ccm-editor .ccm-mobile-drawer-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px 14px 15px;scrollbar-width:thin}
  .ccm-editor .ccm-mobile-drawer-body .ccm-field{margin:5px 0 14px}
  .ccm-editor .ccm-mobile-drawer-body textarea{min-height:74px;font-size:16px;width:100%;resize:none}
  .ccm-editor .ccm-mobile-drawer-body .ccm-colors{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:9px;max-width:470px;margin:auto}
  .ccm-editor .ccm-mobile-drawer-body .ccm-swatch{width:100%;min-height:28px;border-radius:50%;aspect-ratio:1}
  .ccm-editor .ccm-mobile-font-list{display:flex;flex-direction:column;gap:4px;max-width:420px;margin:0 auto}
  .ccm-editor .ccm-font-choice{display:flex;align-items:center;justify-content:center;position:relative;border:0!important;border-radius:0!important;background:transparent!important;padding:12px!important;font-size:23px!important;min-height:52px}
  .ccm-editor .ccm-font-choice.is-active{background:#eaeaea!important}
  .ccm-editor .ccm-font-choice svg{width:16px;height:16px;position:absolute;left:12px;color:#329ea8}
  .ccm-editor .ccm-size-picker{display:flex;flex-direction:column;gap:1px;align-items:stretch;max-height:155px;overflow-y:auto;margin:0 auto 12px;max-width:310px;scrollbar-width:thin}
  .ccm-editor .ccm-size-choice{border:0!important;border-radius:0!important;background:transparent!important;min-height:42px!important;font-size:19px!important}
  .ccm-editor .ccm-size-choice.is-active{background:#e3e3e3!important}
  .ccm-editor .ccm-mobile-align-row{display:flex;gap:8px;justify-content:space-between;margin:8px 0 15px}
  .ccm-editor .ccm-mobile-align-option{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:7px!important;border:0!important;background:transparent!important;font-size:11px!important}
  .ccm-editor .ccm-mobile-align-option.is-active{color:#259ca6;background:#ededed!important}
  .ccm-editor .ccm-mobile-position-choice{flex:1;min-height:40px;font-size:11px!important;padding:5px!important}
  .ccm-editor.ccm-mobile-editing .ccm-thumbnails{display:none!important}
  .ccm-editor.ccm-mobile-editing .ccm-mobile-add,.ccm-editor.ccm-mobile-editing .ccm-mobile-finish{display:none!important}
  .ccm-editor.ccm-mobile-editing .ccm-stage{min-height:calc(100svh - 140px)}
  .ccm-editor.ccm-mobile-editing .ccm-viewport{padding-bottom:calc(100px + 10svh);min-height:480px!important}
  .ccm-editor .ccm-mobile-modal{display:none!important;position:fixed;inset:0;background:#0006;z-index:100005;justify-content:center;align-items:center;padding:20px}
  .ccm-editor .ccm-mobile-modal.is-visible{display:flex!important}
  .ccm-editor .ccm-modal-content{background:#fff;border-radius:12px;max-width:460px;width:100%;padding:18px;display:flex;flex-direction:column;gap:12px}
  .ccm-editor .ccm-mobile-modal-title{display:flex;justify-content:space-between;align-items:center}
  .ccm-editor .ccm-mobile-modal-title button{font-size:22px;border:0}
  .ccm-editor .ccm-modal-content input{height:45px;border:1px solid #ddd;border-radius:8px;padding:10px;font-size:16px}
  .ccm-editor.ccm-mobile-checkout-open .ccm-sidebar{display:block!important;position:fixed;inset:0;background:#0007;z-index:100010;padding:5vh 12px 0!important;max-height:none;overflow:auto}
  .ccm-editor.ccm-mobile-checkout-open .ccm-sidebar>:not(.ccm-shop){display:none!important}
  .ccm-editor.ccm-mobile-checkout-open .ccm-shop{display:block;background:white;border-radius:15px 15px 0 0;padding:16px 18px 35px;max-width:520px;margin:0 auto;min-height:70svh}
  .ccm-editor .ccm-mobile-shop-close{display:block!important;float:right;border:0;background:white;font-size:23px;padding:1px 6px}
  .ccm-editor.ccm-mobile-checkout-open .ccm-mobile-shell{display:none!important}
}

@media(max-width:600px){
 .ccm-editor .ccm-mobile-tool{flex:1 1 0;min-width:44px;max-width:none}
 .ccm-editor .ccm-mobile-unlock:not([hidden]){display:block!important;position:absolute;bottom:112px;left:14px;z-index:6;border-radius:22px;background:#fff;border:1px solid #ddd;font-size:12px;padding:9px}
 .ccm-editor .ccm-mobile-add[hidden]{display:none!important}
 .ccm-editor .ccm-foil-swatches{display:flex;gap:9px;margin:2px 0 15px;justify-content:center}
 .ccm-editor .ccm-foil-choice{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;gap:5px;padding:7px 2px;border:1px solid #ddd;border-radius:8px;font-size:10px;white-space:normal;text-align:center;background:#fff}
 .ccm-editor .ccm-foil-choice.is-active{border-color:#4d4740;outline:1px solid #4d4740}
 .ccm-editor .ccm-foil-dot{display:block;border-radius:50%;width:28px;height:28px;box-shadow:inset 1px 2px 8px #ffffff88,inset -2px -2px 8px #0002}
}
@media(hover:none){.ccm-editor .ccm-box:not(.ccm-selected):hover{outline-color:transparent!important}}

/* Invello Studio v1.7.2 — legible desktop font previews and swatch grid */
.ccm-editor .ccm-font-picker{width:100%;min-width:0;border:1px solid #d5dad1;background:#fff;border-radius:9px;overflow:hidden}
.ccm-editor .ccm-font-current{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:53px;padding:9px 13px;list-style:none;cursor:pointer;background:#fff}
.ccm-editor .ccm-font-current::-webkit-details-marker{display:none}
.ccm-editor .ccm-font-current-name{font-size:22px;line-height:1.3;overflow-wrap:anywhere;font-weight:400;color:#373c38}
.ccm-editor .ccm-font-chevron{flex:none;font:25px/1 system-ui,sans-serif;color:#72796f;transition:transform .15s}
.ccm-editor .ccm-font-picker[open] .ccm-font-chevron{transform:rotate(180deg)}
.ccm-editor .ccm-desktop-font-list{max-height:310px;overflow:auto;overscroll-behavior:contain;padding:6px;border-top:1px solid #e5e5e0;scrollbar-width:thin}
.ccm-editor .ccm-desktop-font-option{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;margin:1px 0;padding:9px 29px!important;text-align:center;border:0!important;border-radius:5px!important;background:#fff!important;white-space:normal;overflow-wrap:anywhere;font-size:22px!important;line-height:1.25!important;font-weight:400!important}
.ccm-editor .ccm-desktop-font-option:hover,.ccm-editor .ccm-desktop-font-option:focus-visible{background:#f5f3f1!important}
.ccm-editor .ccm-desktop-font-option.is-active{background:#f1eeeb!important;color:#343a34!important}
.ccm-editor .ccm-font-selected-mark{position:absolute;left:10px;font:700 15px/1 system-ui,sans-serif;color:#a8566d}
@media (min-width:601px){
  .ccm-editor .ccm-inspector .ccm-colors{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;max-width:100%;width:100%;align-items:center;justify-items:stretch;padding:6px 1px 8px}
  .ccm-editor .ccm-inspector .ccm-colors .ccm-swatch{display:block!important;box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border:1.5px solid #b5b6b3!important;border-radius:50%!important;box-shadow:none!important;flex:none!important;line-height:0!important;overflow:visible}
  .ccm-editor .ccm-inspector .ccm-colors .ccm-swatch:hover{transform:scale(1.09);border-color:#484b48!important}
  .ccm-editor .ccm-inspector .ccm-colors .ccm-swatch[aria-pressed=true]{outline:2px solid #373c38!important;outline-offset:2px!important;z-index:1}
}
@media (min-width:601px) and (max-width:900px){
  .ccm-editor .ccm-inspector .ccm-colors{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}
}

/* Invello Studio v1.7.3 — reliable pinch/zoom, top completion and soft alignment guides. */
.ccm-editor .ccm-alignment-guide{position:absolute;z-index:100;pointer-events:none;background:#199fad;box-shadow:0 0 0 1px #fff8}
.ccm-editor .ccm-alignment-x{width:1px;top:0;bottom:0}
.ccm-editor .ccm-alignment-y{height:1px;left:0;right:0}
.ccm-editor .ccm-header-finish{background:#343b36!important;color:white!important;border:1px solid #343b36!important;font-weight:650!important;border-radius:7px!important;white-space:nowrap}
.ccm-editor .ccm-header-finish[hidden]{display:none!important}
.ccm-editor .ccm-top{position:sticky;top:0;z-index:1002;background:white}
.ccm-editor .ccm-mobile-zoom{display:none}
@media(max-width:600px){
 .ccm-editor .ccm-top{position:sticky!important;top:0!important;z-index:100002!important;overflow:visible}
 .ccm-editor .ccm-actions{justify-content:space-between!important;gap:1px!important}
 .ccm-editor .ccm-actions .ccm-icon-action{flex:0 1 39px;width:35px!important;min-width:31px!important;padding:5px!important}
 .ccm-editor .ccm-actions .ccm-icon-action svg{width:20px!important;height:20px!important}
 .ccm-editor .ccm-header-finish:not([hidden]){display:flex!important;align-items:center;justify-content:center;flex:0 0 auto;padding:8px 10px!important;font-size:11px!important;letter-spacing:0!important;min-height:36px!important}
 .ccm-editor .ccm-mobile-finish{display:none!important}
 .ccm-editor .ccm-viewport{touch-action:none!important;justify-content:flex-start!important;align-items:flex-start!important}
 .ccm-editor .ccm-paper-wrap{margin:auto!important}
 .ccm-editor .ccm-mobile-zoom{display:flex!important;align-items:center;gap:3px;position:absolute;top:9px;right:10px;z-index:7;background:#ffffffdd;padding:3px;border-radius:22px;box-shadow:0 2px 9px #0002}
 .ccm-editor .ccm-mobile-zoom button{background:transparent!important;border:0!important;min-height:29px!important;min-width:29px!important;padding:4px 6px!important;font-size:14px!important}
 .ccm-editor .ccm-mobile-zoom button:nth-child(2){font-size:10px!important;min-width:39px!important}
}

/* The sticky header must not be trapped by the editor root scroll container. */
@media(min-width:601px){.ccm-editor{overflow:visible}}

/* Invello Studio 1.7.4 — independent desktop panels and persistent mobile gestures. */
@media (min-width:601px){
  .ccm-editor{overflow:visible}
  .ccm-editor .ccm-body{position:relative;display:grid;grid-template-columns:258px minmax(0,1fr);height:clamp(560px,calc(100dvh - 115px),960px);min-height:0;align-items:stretch;overflow:hidden}
  .ccm-editor.ccm-has-inspector .ccm-body{grid-template-columns:258px minmax(0,1fr) 310px}
  .ccm-editor .ccm-sidebar,.ccm-editor .ccm-inspector-pane{height:100%;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff}
  .ccm-editor .ccm-sidebar{padding:21px 18px 24px;border-right:1px solid var(--ccm-line)}
  .ccm-editor .ccm-inspector-pane{display:none;padding:16px 18px 25px;border-left:1px solid var(--ccm-line)}
  .ccm-editor.ccm-has-inspector .ccm-inspector-pane:not([hidden]){display:block}
  .ccm-editor .ccm-inspector{margin-top:4px}
  .ccm-editor .ccm-stage{min-height:0;min-width:0;overflow:hidden}
  .ccm-editor .ccm-viewport{flex:1;min-height:0;max-height:none;overscroll-behavior:contain}
  .ccm-editor .ccm-toolbar{flex:none}
  .ccm-editor .ccm-thumbnails{flex:none}
  .ccm-editor .ccm-legend{flex:none;padding:9px 12px 12px}
  .ccm-editor .ccm-layers-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 12px}
  .ccm-editor .ccm-layers-title h3{margin:0;font-size:22px}
  .ccm-editor .ccm-layer-add{border-radius:50%;width:34px;height:34px;min-height:34px;padding:0;font-size:23px;line-height:1}
  .ccm-editor .ccm-layer-list{display:flex;flex-direction:column;gap:6px;margin-top:16px}
  .ccm-editor .ccm-layer-item{display:flex;align-items:center;gap:9px;text-align:left;width:100%;padding:9px 10px;min-height:42px;font-size:12px;background:#fafbf9;border:1px solid #e7e8e3;overflow-wrap:anywhere}
  .ccm-editor .ccm-layer-item.is-active{background:#f8f2f4;border-color:#aa677b;color:#7d3e51}
  .ccm-editor .ccm-layer-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;width:26px;height:26px;flex:none;background:#f0efec;font:600 16px Georgia,serif}
  .ccm-editor .ccm-layer-name{min-width:0;overflow-wrap:anywhere}
  .ccm-editor .ccm-inspector-heading{position:sticky;top:-16px;background:white;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0 12px;border-bottom:1px solid #eeece7}
  .ccm-editor .ccm-inspector-heading h3{margin:0;font-size:19px;overflow-wrap:anywhere}
  .ccm-editor .ccm-inspector-close{border:0;background:#f3f2ef;width:32px;height:32px;min-height:32px;padding:0;font-size:23px}
  .ccm-editor .ccm-current-layer{display:none}
  .ccm-editor .ccm-recovery{margin-top:18px;padding-top:17px}
  .ccm-editor .ccm-shop{margin-top:18px}
}
@media(min-width:601px) and (max-width:1050px){
 .ccm-editor .ccm-body{grid-template-columns:218px minmax(0,1fr)}
 .ccm-editor.ccm-has-inspector .ccm-body{grid-template-columns:218px minmax(0,1fr)}
 .ccm-editor.ccm-has-inspector .ccm-inspector-pane:not([hidden]){display:block;position:absolute;right:0;top:0;bottom:0;width:min(310px,53%);z-index:12;box-shadow:-10px 0 28px #26332620}
}
@media(max-width:600px){
  .ccm-editor .ccm-body{height:auto!important;min-height:0!important;overflow:visible!important}
  .ccm-editor .ccm-inspector-pane{display:none!important}
  .ccm-editor .ccm-layers-title,.ccm-editor .ccm-layer-list{display:none!important}
  .ccm-editor .ccm-stage{overflow:visible}
  .ccm-editor .ccm-viewport{touch-action:none!important}
}

/* Invello Studio v1.7.5 — icon-first desktop contextual editing and docked zoom. */
.ccm-editor .ccm-desktop-shell[hidden],.ccm-editor .ccm-desktop-drawer[hidden],.ccm-editor .ccm-inspector[hidden]{display:none!important}
@media (min-width:601px){
 .ccm-editor .ccm-stage{position:relative}
 .ccm-editor .ccm-toolbar{padding-right:18px}
 .ccm-editor .ccm-zoom{display:flex!important;position:absolute;top:10px;right:14px;z-index:16;align-items:center;justify-content:center;gap:6px;border:1px solid #dfe2dd;padding:5px;background:rgba(255,255,255,.98);box-shadow:0 3px 11px #26332616;border-radius:11px;white-space:nowrap}
 .ccm-editor .ccm-zoom button{min-width:33px;min-height:33px;padding:6px!important;font-size:18px;font-weight:500;background:#f4f4f2;border-radius:7px!important;border:0}
 .ccm-editor .ccm-zoom button:last-child{min-width:55px;padding:6px 8px!important;font-size:11px;font-weight:600}
 .ccm-editor .ccm-zoom span{min-width:38px;font-size:12px;font-variant-numeric:tabular-nums}
 .ccm-editor .ccm-toolbar{padding-right:210px;min-height:63px;align-content:center}
 .ccm-editor .ccm-inspector-pane:not([hidden]){display:flex;flex-direction:column;overflow:hidden;padding:0!important}
 .ccm-editor .ccm-inspector-heading{flex:none;position:relative;top:auto;padding:16px 16px 12px;margin:0;border-bottom:1px solid #eceae6}
 .ccm-editor .ccm-inspector-pane>.ccm-inspector{overflow-y:auto;min-height:0;flex:1;padding:16px 17px 23px}
 .ccm-editor .ccm-desktop-shell{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
 .ccm-editor .ccm-desktop-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:12px 10px;background:#fff;flex:none;border-bottom:1px solid #ece9e6}
 .ccm-editor .ccm-desktop-tool{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:8px 2px!important;background:#fff;border:1px solid #eae8e6;border-radius:9px;color:#4c4e4a;box-shadow:none;transition:background .15s,border-color .15s}
 .ccm-editor .ccm-desktop-tool svg{width:24px;height:24px;flex:none;stroke-width:1.65}
 .ccm-editor .ccm-desktop-tool span{font-size:10px;line-height:1.2;text-align:center;overflow-wrap:anywhere;max-width:100%}
 .ccm-editor .ccm-desktop-tool:hover{background:#f9f5f6;border-color:#d7b8c2}
 .ccm-editor .ccm-desktop-tool.is-active{background:#f9eff2;border-color:#ba8193;color:#8e435a}
 .ccm-editor .ccm-desktop-drawer{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1;background:#fcfcfb}
 .ccm-editor .ccm-desktop-drawer-header{position:relative;display:flex;justify-content:center;align-items:center;flex:none;min-height:45px;padding:10px 43px;font:400 18px/1.3 Georgia,serif;border-bottom:1px solid #eee9e5;text-align:center}
 .ccm-editor .ccm-desktop-collapse{position:absolute;right:8px;top:5px;border:0;background:transparent!important;width:34px;height:34px;min-height:34px;padding:6px!important}
 .ccm-editor .ccm-desktop-collapse svg{width:18px;height:18px}
 .ccm-editor .ccm-desktop-drawer-body{padding:14px 13px 24px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .ccm-editor .ccm-desktop-drawer-body .ccm-field{margin:7px 0 14px}
 .ccm-editor .ccm-desktop-drawer-body textarea{min-height:92px;font-size:14px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-colors{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:7px;width:100%;margin:10px auto}
 .ccm-editor .ccm-desktop-drawer-body .ccm-colors .ccm-swatch{width:100%!important;min-width:0!important;aspect-ratio:1;min-height:0!important;border-radius:50%;padding:0!important}
 .ccm-editor .ccm-desktop-drawer-body .ccm-foil-swatches{display:flex;gap:8px;margin:0 0 13px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-foil-choice{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:9px 4px!important;font-size:10px!important;min-height:69px;background:#fff;border:1px solid #e7e5e2}
 .ccm-editor .ccm-desktop-drawer-body .ccm-foil-choice.is-active{border-color:#8e435a;background:#f9eff2}
 .ccm-editor .ccm-desktop-drawer-body .ccm-foil-dot{width:24px;height:24px;border-radius:50%;box-shadow:inset 2px 2px 8px #ffffff88,inset -2px -2px 8px #0002}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-font-list{display:flex;flex-direction:column;gap:3px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-font-choice{display:flex;align-items:center;justify-content:center;position:relative;min-height:58px;padding:10px!important;background:#fff;border:0!important;font-size:24px!important;line-height:1.25;border-radius:7px!important}
 .ccm-editor .ccm-desktop-drawer-body .ccm-font-choice.is-active{background:#eee8e8!important}
 .ccm-editor .ccm-desktop-drawer-body .ccm-font-choice svg{width:16px;height:16px;position:absolute;left:9px;color:#8e435a}
 .ccm-editor .ccm-desktop-drawer-body .ccm-size-picker{display:flex;flex-direction:column;max-height:350px;overflow-y:auto}
 .ccm-editor .ccm-desktop-drawer-body .ccm-size-choice{width:100%;min-height:42px;border:none!important;background:transparent!important;font-size:19px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-size-choice.is-active{background:#ede8e8!important}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-align-row{display:flex;gap:5px;justify-content:space-between;margin:6px 0 18px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-align-option{flex:1;display:flex;align-items:center;flex-direction:column;gap:5px;border:0!important;min-width:0;padding:9px 4px!important;font-size:11px!important}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-align-option svg{width:21px;height:21px}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-align-option.is-active{background:#f9eff2!important;color:#8e435a}
 .ccm-editor .ccm-desktop-drawer-body .ccm-mobile-position-choice{flex:1;min-width:0;font-size:11px!important;padding:8px 3px!important}
}
@media (min-width:601px) and (max-width:1050px){
 .ccm-editor.ccm-has-inspector .ccm-zoom{left:12px;right:auto;top:61px}
 .ccm-editor.ccm-has-inspector .ccm-toolbar{padding-right:18px}
}
@media (max-width:600px){.ccm-editor .ccm-zoom,.ccm-editor .ccm-desktop-shell{display:none!important}}
@media (min-width:601px){
  .ccm-editor .ccm-desktop-tool span{font-size:9px;letter-spacing:-.25px;white-space:nowrap;overflow-wrap:normal;max-width:100%}
  .ccm-editor .ccm-desktop-tools{padding-left:7px;padding-right:7px;gap:4px}
}


/* Invello Studio 1.7.6 — mobile canvas pans vertically as well as horizontally
   after zoom. A flex item's automatic size used to expand the entire stage
   to the size of the zoomed paper; the viewport then had no vertical scroll. */
@media (max-width:600px){
  .ccm-editor .ccm-stage,
  .ccm-editor.ccm-mobile-editing .ccm-stage{
    height:calc(100svh - 105px)!important;
    max-height:calc(100svh - 105px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ccm-editor .ccm-viewport,
  .ccm-editor.ccm-mobile-editing .ccm-viewport{
    flex:1 1 0!important;
    height:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    touch-action:none!important;
    overscroll-behavior:contain;
  }
}

/* Invello Studio 1.7.7 — dock zoom with face controls, visible during canvas scroll.
   Desktop multi-selection uses the same selection outline as a single layer. */
@media (min-width:601px){
 .ccm-editor .ccm-toolbar{position:relative;z-index:18;display:flex;align-items:center;gap:10px;flex:none;min-height:63px;padding:9px 13px!important;background:#edf0eb}
 .ccm-editor .ccm-zoom,.ccm-editor.ccm-has-inspector .ccm-zoom{
  display:flex!important;position:static!important;inset:auto!important;left:auto!important;right:auto!important;
  top:auto!important;bottom:auto!important;margin-left:auto;flex:none;z-index:auto;
 }
 .ccm-editor .ccm-layer-item.is-active{border-color:#a8566d}
 .ccm-editor .ccm-box.ccm-selected{outline:2px solid #a8566d;outline-offset:2px}
}

/* Invello Studio 1.7.8: fixed zoom within desktop workspace; wheel zoom is handled in editor.js. */
@media(min-width:601px){
 .ccm-editor .ccm-toolbar{position:relative!important;z-index:20!important;flex:none!important;overflow:visible!important}
 .ccm-editor .ccm-zoom,.ccm-editor.ccm-has-inspector .ccm-zoom{display:flex!important;visibility:visible!important;opacity:1!important;flex:none!important}
}

/* Invello Studio 1.7.15 — add-element picker shared between desktop/mobile. */
.ccm-editor .ccm-add-modal{display:none!important;position:fixed;inset:0;z-index:100050;background:rgba(18,24,21,.38);align-items:center;justify-content:center;padding:18px}
.ccm-editor .ccm-add-modal.is-visible{display:flex!important}
.ccm-editor .ccm-add-modal .ccm-modal-content{background:#fff;border-radius:14px;width:min(100%,420px);padding:19px;display:flex;flex-direction:column;gap:13px;box-shadow:0 14px 38px #0002}
.ccm-editor .ccm-add-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ccm-editor .ccm-add-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 9px!important;min-height:112px!important;border:1px solid #ddd!important;border-radius:12px!important;font-size:13px!important;background:#fafaf8!important}
.ccm-editor .ccm-add-choice svg{width:26px;height:26px;stroke:currentColor;fill:none;flex:none}
@media(min-width:601px){.ccm-editor .ccm-add-modal .ccm-modal-content{margin:auto}}

/* 1.7.18 — Resize the mask of customer-added photos, independently per axis. */
.ccm-editor .ccm-image-resize{
  position:absolute;z-index:12;display:block;box-sizing:border-box;
  width:22px;height:22px;min-width:22px;min-height:22px;
  padding:0;margin:0;border:2px solid #fff;border-radius:5px;
  background:#a8566d;box-shadow:0 1px 4px #0005;
  touch-action:none;user-select:none;-webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.ccm-editor .ccm-image-resize-width{right:0;top:50%;transform:translate(50%,-50%);cursor:ew-resize}
.ccm-editor .ccm-image-resize-height{bottom:0;left:50%;transform:translate(-50%,50%);cursor:ns-resize}
.ccm-editor .ccm-image-resize-both{bottom:0;right:0;transform:translate(50%,50%);cursor:nwse-resize}
@media(max-width:600px){
  .ccm-editor .ccm-image-resize{width:31px;height:31px;min-width:31px;min-height:31px;border-radius:6px}
}
@media print{.ccm-editor .ccm-image-resize{display:none!important}}

/* Invello Studio 1.7.19 — independent font-list scrolling on desktop.
   Earlier desktop specificity rules forced the contextual pane to display:block,
   allowing the font list to expand past the clipped, fixed-height workspace. */
@media (min-width:601px){
  .ccm-editor.ccm-has-inspector .ccm-inspector-pane:not([hidden]){
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
  }
  .ccm-editor.ccm-has-inspector .ccm-inspector-pane .ccm-desktop-shell{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }
  .ccm-editor.ccm-has-inspector .ccm-inspector-pane .ccm-desktop-drawer{
    flex:1 1 auto;
    min-height:0;
    overflow:hidden;
  }
  .ccm-editor.ccm-has-inspector .ccm-inspector-pane .ccm-desktop-drawer-body{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior-y:contain;
    scrollbar-width:thin;
  }
}

/* v1.7.27 — global foil selector for fixed designer foils and optional foils. */
.ccm-editor .ccm-global-foil{position:relative;display:block;flex:none;color:var(--ccm-ink)}
.ccm-editor .ccm-global-foil[hidden]{display:none!important}
.ccm-editor .ccm-global-foil summary{list-style:none;cursor:pointer;white-space:nowrap;min-height:36px;padding:8px 10px;border:1px solid var(--ccm-line);border-radius:7px;font-size:12px;background:#fff}
.ccm-editor .ccm-global-foil summary::-webkit-details-marker{display:none}
.ccm-editor .ccm-global-foil-options{position:absolute;right:0;top:calc(100% + 6px);width:min(290px,92vw);padding:12px;border-radius:10px;border:1px solid #ddd;background:#fff;box-shadow:0 8px 26px #0002;z-index:10010}
.ccm-editor .ccm-global-foil-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ccm-editor .ccm-global-foil-swatches .ccm-foil-choice{padding:8px 3px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #ddd;border-radius:8px;font-size:11px;min-width:0}
.ccm-editor .ccm-global-foil-swatches .ccm-foil-choice.is-active{outline:2px solid #2d655e;border-color:#2d655e}
.ccm-editor .ccm-global-foil-swatches .ccm-foil-dot{display:block;width:26px;height:26px;border-radius:50%}
@media(max-width:600px){.ccm-editor .ccm-global-foil summary{padding:9px 7px;min-height:39px;font-size:11px}.ccm-editor .ccm-global-foil-options{right:0;top:100%}}
@media(max-width:600px){
 .ccm-editor .ccm-global-foil summary{font-size:0!important;min-width:37px;min-height:39px!important;padding:6px 4px!important;text-align:center}
 .ccm-editor .ccm-global-foil summary::after{content:'✦';font-size:22px;line-height:24px;color:#ad8240}
}

/* Invello Studio 1.7.29 — mobile free vertical pan.
   The bottom contextual toolbar remains unchanged. Reserve virtual canvas room
   below the paper so a zoomed-in invitation can travel entirely above it,
   including its lowest text layers, without changing the artwork geometry. */
@media (max-width:600px){
  .ccm-editor.ccm-mobile-editing .ccm-paper-wrap::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    height:max(600px,100svh);
    width:1px;
    pointer-events:none;
  }
}

/* Invello Studio 1.7.36 — acabamentos foil premium opcionais por face */
.ccm-editor .ccm-foil-premium-choice{position:relative;min-height:86px;justify-content:center}
.ccm-editor .ccm-foil-premium-choice .ccm-foil-dot{position:relative;flex:none}
.ccm-editor .ccm-foil-premium-crown{position:absolute;right:-9px;top:-12px;z-index:1;color:#a57519;background:#fff8df;line-height:1;font-size:16px;border:1px solid #d9c390;border-radius:50%;width:23px;height:23px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0002}
.ccm-editor .ccm-foil-premium-price{font-size:10px;line-height:1.25;color:#785c24;font-weight:600;white-space:normal;text-align:center}
.ccm-editor .ccm-foil-upgrade-modal{position:fixed;inset:0;background:rgba(15,20,19,.54);z-index:100090;display:flex;align-items:center;justify-content:center;padding:20px}
.ccm-editor .ccm-foil-upgrade-panel{background:#fff;color:#272b29;border-radius:17px;width:min(100%,470px);max-height:90vh;overflow:auto;padding:27px 25px 23px;text-align:center;box-shadow:0 24px 70px #0004}
.ccm-editor .ccm-foil-upgrade-icon{background:#fff4d9;border:1px solid #edd4a2;border-radius:50%;font-size:31px;color:#af7d22;line-height:53px;width:56px;height:56px;margin:0 auto 15px}
.ccm-editor .ccm-foil-upgrade-panel h3{font-size:20px;line-height:1.3;margin:0 0 13px;font-weight:650;color:#252c29}
.ccm-editor .ccm-foil-upgrade-panel>p{font-size:14px;line-height:1.6;margin:0 0 15px;color:#444}
.ccm-editor .ccm-foil-upgrade-panel .ccm-foil-upgrade-note{background:#f7f5f0;padding:14px;border-radius:9px;text-align:left;color:#3e413e}
.ccm-editor .ccm-foil-upgrade-actions{display:flex;flex-direction:column;gap:9px;margin-top:18px}
.ccm-editor .ccm-foil-upgrade-actions button{border-radius:9px;padding:13px 14px;font-size:14px;line-height:1.3;min-height:43px;cursor:pointer}
.ccm-editor .ccm-foil-upgrade-actions .ccm-foil-upgrade-accept{background:#364b43;color:white;border:1px solid #364b43;font-weight:600}
.ccm-editor .ccm-foil-upgrade-actions .ccm-foil-upgrade-cancel{background:#fff;color:#444;border:1px solid #dadbd7}

/* Invello Studio 1.7.37 — previous four choices per user/browser. */
.ccm-editor .ccm-recent-colors,.ccm-editor .ccm-recent-fonts{display:block;margin:8px 0 14px;max-width:100%;min-width:0}
.ccm-editor .ccm-recent-heading{display:block;margin:0 0 7px;font-size:11px;font-weight:600;color:#777c76;letter-spacing:.01em}
.ccm-editor .ccm-recent-color-list{display:flex;flex-wrap:wrap;gap:10px}
.ccm-editor .ccm-recent-color-swatch{width:32px;height:32px;min-height:32px;flex:0 0 32px;border-radius:50%;border:2px solid #dedede;padding:0;box-shadow:0 1px 3px #0002}
.ccm-editor .ccm-recent-color-swatch[aria-pressed=true]{outline:2px solid #a8566d;outline-offset:2px}
.ccm-editor .ccm-recent-font-list{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}
.ccm-editor .ccm-recent-font-option{flex:1 1 43%;max-width:100%;min-width:0;border:1px solid #e6e0e5;background:#fff;color:#373737;text-align:center;padding:8px 10px;min-height:43px;font-size:16px;white-space:normal;overflow-wrap:anywhere}
.ccm-editor .ccm-recent-font-option.is-active{border-color:#b56b82;background:#fcf5f7}

/* Invello v1.7.46 — A mesma finalização do mobile no desktop, sem duplicar inputs nem preços. */
@media(min-width:601px){
  .ccm-editor.ccm-mobile-checkout-open .ccm-sidebar{
    display:flex!important;flex-direction:column;align-items:center;justify-content:center;
    position:fixed!important;inset:0!important;z-index:100010!important;
    width:100vw!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:24px!important;overflow-y:auto!important;
    background:rgba(25,16,25,.58)!important;border:0!important;
  }
  .ccm-editor.ccm-mobile-checkout-open .ccm-sidebar>:not(.ccm-shop){display:none!important}
  .ccm-editor.ccm-mobile-checkout-open .ccm-shop{
    display:block!important;box-sizing:border-box;width:min(510px,100%)!important;
    max-height:calc(100dvh - 48px);overflow-y:auto;flex-shrink:1;
    margin:0!important;padding:27px 30px 30px!important;
    border:0!important;border-radius:22px!important;background:#fffdfc!important;
    box-shadow:0 24px 90px #130a123b;
  }
  .ccm-editor.ccm-mobile-checkout-open .ccm-shop h4{font:normal 27px/1.2 Georgia,serif;margin:4px 0 12px;color:#35282e}
  .ccm-editor.ccm-mobile-checkout-open .ccm-mobile-shop-close{
    display:flex!important;align-items:center;justify-content:center;float:right;
    min-width:34px;min-height:34px;padding:2px!important;border:0!important;
    background:#f7eef1!important;border-radius:50%!important;color:#734f5c;font-size:24px;
  }
  .ccm-editor.ccm-mobile-checkout-open .ccm-shop .ccm-primary{width:100%;margin-top:10px}
}

/* 1.7.47 · Continuidade segura ao iniciar sessão */
.ccm-continuity-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(30,20,28,.66);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.ccm-continuity-dialog{box-sizing:border-box;max-width:440px;width:100%;padding:32px 26px;background:#fff;color:#383038;border-radius:24px;box-shadow:0 25px 85px rgba(0,0,0,.28);text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:13px}
.ccm-continuity-dialog .ccm-continuity-heart{font-size:40px;color:#ba697f;line-height:1}
.ccm-continuity-dialog h2{margin:0;font:normal 28px/1.2 Georgia,serif;color:#32262f}
.ccm-continuity-dialog p{margin:0 0 8px;line-height:1.6;color:#746570}
.ccm-continuity-dialog .ccm-primary{background:#ba697f;color:#fff;border:0;border-radius:12px;padding:14px 18px;font-weight:600;cursor:pointer;width:100%}
.ccm-continuity-dialog .ccm-continuity-register{border:1px solid #ba697f;border-radius:12px;padding:13px 18px;text-decoration:none;color:#98516a;font-weight:600}
.ccm-continuity-dialog .ccm-continuity-cancel{background:none;border:0;color:#81717c;cursor:pointer;padding:8px}
.ccm-continuity-dialog small{font-size:12px;color:#897d85;line-height:1.45}

/* Two protected designs — accessible choice on desktop and mobile. */
.ccm-choice-dialog{max-width:460px!important;width:min(94vw,460px)!important;max-height:88dvh;overflow-y:auto;}
.ccm-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;padding:17px;margin:10px 0;background:#fff;border:1px solid #e6cfd6;border-radius:15px;text-align:left;color:#403039;cursor:pointer;font:inherit;box-shadow:none;}
.ccm-choice-card:hover,.ccm-choice-card:focus-visible{border-color:#ba697f;outline:2px solid #ba697f;outline-offset:1px;background:#fff8fa;}
.ccm-choice-card strong{font-size:16px}.ccm-choice-card span{font-size:13px;line-height:1.5;color:#6c5b62}.ccm-choice-card small{color:#9b5368;font-size:11px;overflow-wrap:anywhere}

.ccm-measure-grid{pointer-events:none!important;user-select:none;-webkit-user-select:none}

/* Invello 1.7.56: grid always behind design elements. */
.ccm-measure-grid{z-index:0!important;opacity:.75}.ccm-paper .ccm-box{z-index:2}.ccm-paper .ccm-trim,.ccm-paper .ccm-safe{z-index:3}

/* Invello 1.7.57: precision grid belongs to the workspace, never over artwork. */
.ccm-paper-wrap>.ccm-workspace-grid{position:absolute!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;z-index:0!important;pointer-events:none!important;opacity:.65!important;overflow:visible!important;transform-origin:top left;}
.ccm-paper-wrap>.ccm-paper{z-index:1;isolation:isolate;}
.ccm-paper .ccm-measure-grid{display:none!important;}

/* Invello Studio 2.0 – text emphasis */
.ccm-text-emphasis{display:flex;gap:8px;margin:8px 0}.ccm-text-emphasis button,.ccm-emphasis-toggle{padding:8px 12px;border:1px solid #d6c9d0;border-radius:8px;background:#fff;color:#43363b;font-weight:650}.ccm-text-emphasis button.is-active{border-color:#ba697f;background:#f8eaf0;color:#973d60}

/* 2.3.5 — reposição do modelo inicial ao lado de Guardar rascunho */
.ccm-editor .ccm-reset-original{border:1px solid #c9aba6;background:#fff8f6;color:#704b46}
.ccm-editor .ccm-reset-original:hover{background:#fcece8}
@media(max-width:600px){.ccm-editor .ccm-actions button.ccm-reset-original{font-size:10px!important;white-space:nowrap;padding:5px 6px!important;min-width:0}}

/* 2.3.6 — explicação do foil no separador Cores */
.ccm-editor .ccm-foil-help{display:inline-flex;justify-content:center;align-items:center;gap:6px;max-width:100%;margin:6px 0 12px;padding:9px 12px;border:1px solid #ba697f;border-radius:9px;background:#fff7fa;color:#86435b;font:600 13px/1.3 inherit;cursor:pointer;text-align:center}
.ccm-editor .ccm-foil-help:hover,.ccm-editor .ccm-foil-help:focus-visible{background:#f7e8ee;outline:2px solid #ba697f;outline-offset:2px}
.ccm-foil-info-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(25,19,24,.65)}
.ccm-foil-info-panel{position:relative;width:min(94vw,560px);max-height:94dvh;overflow:auto;background:#fff;color:#3e3038;border-radius:16px;box-shadow:0 18px 55px #0004;padding:25px;text-align:center}
.ccm-foil-info-close{position:absolute;right:13px;top:9px;font-size:25px;line-height:1;padding:6px 10px;border:0;background:transparent;cursor:pointer}
.ccm-foil-info-eyebrow{font-size:11px;letter-spacing:.15em;color:#ba697f;font-weight:700}
.ccm-foil-info-panel h3{font-family:Georgia,serif;font-size:26px;margin:7px 0 12px}
.ccm-foil-info-panel p{line-height:1.5}
.ccm-foil-info-video{display:block;width:100%;height:auto;max-height:48vh;object-fit:contain;margin:15px auto;border-radius:10px;background:#eee}
.ccm-foil-info-colors{font-size:14px;font-weight:650;color:#73575e;white-space:pre-wrap}
.ccm-foil-info-note{font-size:12px;color:#75666f}

/* 2.3.18 — persistent, foreground save/checkout feedback */
.ccm-save-progress-overlay{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(29,20,28,.70);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.ccm-save-progress-panel{position:relative;width:min(94vw,440px);max-height:min(90dvh,660px);overflow:auto;background:#fffefa;color:#382d32;text-align:center;border-radius:24px;padding:34px 28px 27px;box-shadow:0 30px 100px rgba(0,0,0,.35);font-family:inherit;animation:ccm-save-pop .22s ease-out}
.ccm-save-progress-symbol{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(150deg,#fff2f5,#f5e4e9);color:#ba697f;font-size:42px;font-family:Georgia,serif;line-height:1}
.ccm-save-progress-panel h2{font:normal 29px/1.17 Georgia,'Times New Roman',serif;margin:0 0 12px;color:#47313a}
.ccm-save-progress-detail{font-size:14px;line-height:1.6;color:#75606a;margin:0 auto 18px;white-space:pre-line;overflow-wrap:anywhere}
.ccm-save-progress-spinner{width:32px;height:32px;margin:20px auto 6px;border-radius:50%;border:3px solid #f1dce3;border-top-color:#ba697f;animation:ccm-save-spin .8s linear infinite}
.ccm-save-progress-overlay.is-success .ccm-save-progress-symbol{background:#edf6ef;color:#40835b}
.ccm-save-progress-overlay.is-error .ccm-save-progress-symbol{background:#fff1eb;color:#b35544}
.ccm-save-progress-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}
.ccm-save-progress-actions button{padding:12px 21px;border:0;border-radius:10px;background:#ba697f;color:white;font-size:14px;font-weight:700;cursor:pointer}
.ccm-save-progress-actions button:focus-visible{outline:3px solid #663644;outline-offset:3px}
@keyframes ccm-save-spin{to{transform:rotate(360deg)}}
@keyframes ccm-save-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ccm-save-progress-panel,.ccm-save-progress-spinner{animation:none}}

/* 2.3.20 — Mobile header: no text/icon overlap, utility controls scroll independently. */
.ccm-editor .ccm-mobile-action-icons{display:contents}
@media (max-width:600px){
  .ccm-editor .ccm-top{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:4px 7px!important;overflow:hidden!important;min-height:52px!important;height:52px!important}
  .ccm-editor .ccm-top .ccm-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;width:100%!important;max-width:100%!important;gap:7px!important;overflow:hidden!important}
  .ccm-editor .ccm-mobile-action-icons{display:flex!important;flex:1 1 auto!important;min-width:0!important;width:0!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:3px 0!important}
  .ccm-editor .ccm-mobile-action-icons::-webkit-scrollbar{display:none}
  .ccm-editor .ccm-mobile-action-icons>button.ccm-icon-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:6px!important;margin:0!important;overflow:hidden!important;font-size:0!important;line-height:0!important;border:0!important;background:transparent!important;color:#383d39!important}
  .ccm-editor .ccm-mobile-action-icons>button.ccm-icon-action svg{display:block!important;flex:0 0 22px!important;width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important}
  .ccm-editor .ccm-mobile-action-icons>button.ccm-icon-action:disabled{opacity:.35!important}
  .ccm-editor .ccm-mobile-action-icons>.ccm-global-foil{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;margin:0!important}
  .ccm-editor .ccm-mobile-action-icons>.ccm-global-foil>summary{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:36px!important;height:38px!important;padding:0!important;font-size:0!important;line-height:0!important;overflow:hidden!important}
  .ccm-editor .ccm-mobile-action-icons>.ccm-global-foil>summary::before{content:'✦';font-size:23px!important;line-height:1!important;color:#ae8940!important}
  .ccm-editor .ccm-actions>.ccm-header-finish:not([hidden]){display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important;min-width:94px!important;max-width:110px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:7px 11px!important;border-radius:11px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important}
}

/* 2.3.23 — Mobile: restore visible guide/grid checkboxes in their own row. */
.ccm-editor .ccm-mobile-guides-bar{display:none}
@media(max-width:600px){
  .ccm-editor .ccm-mobile-guides-bar{display:flex!important;align-items:center;justify-content:flex-start;gap:15px;min-height:40px;flex:none;padding:6px 12px;background:#f8faf7;border-bottom:1px solid #e1e5de;position:relative;z-index:5}
  .ccm-editor .ccm-mobile-guides-bar .ccm-guide-toggle{display:inline-flex!important;align-items:center;gap:6px;font-size:12px;white-space:nowrap;color:#3c483f;min-height:28px;cursor:pointer}
  .ccm-editor .ccm-mobile-guides-bar input[type=checkbox]{display:inline-block!important;appearance:auto!important;opacity:1!important;visibility:visible!important;width:16px!important;height:16px!important;min-width:16px;margin:0!important;accent-color:#ba697f}
  .ccm-editor .ccm-mobile-guides-bar .iwt-help{position:static!important;inset:auto!important;flex:0 0 29px!important;width:29px!important;min-width:29px!important;height:29px!important;min-height:29px!important;margin:0 0 0 auto!important;padding:0!important;font-size:17px!important;line-height:1!important;box-shadow:none!important;border:1px solid #e8d8de!important;z-index:auto!important}
}

/* 2.3.24 — Guias e grelha na mesma barra do zoom, ambas à esquerda. */
@media(max-width:600px){
 .ccm-editor .ccm-mobile-guides-bar{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:43px!important;padding:5px 8px!important;width:100%!important;max-width:100%!important;overflow:visible!important;position:relative!important;z-index:9!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-guide-toggle{flex:0 0 auto!important;order:0!important;gap:4px!important;min-width:0!important;font-size:11px!important;margin:0!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-guide-toggle input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important;flex-shrink:0!important}
 .ccm-editor .ccm-mobile-guides-bar>.iwt-help{order:1!important;position:static!important;flex:0 0 27px!important;width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important;margin-left:auto!important;margin-right:0!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-mobile-zoom{display:flex!important;order:2!important;position:static!important;inset:auto!important;top:auto!important;right:auto!important;margin:0!important;flex:0 0 auto!important;padding:2px!important;gap:0!important;background:#ffffffee!important;z-index:auto!important;box-shadow:0 1px 5px #0002!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-mobile-zoom button{min-width:26px!important;min-height:28px!important;padding:3px 4px!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-mobile-zoom button:nth-child(2){min-width:37px!important;font-size:10px!important}
}
@media(max-width:365px){
 .ccm-editor .ccm-mobile-guides-bar{gap:5px!important;padding:4px 5px!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-guide-toggle{font-size:10px!important;gap:3px!important}
 .ccm-editor .ccm-mobile-guides-bar>.iwt-help{flex-basis:25px!important;width:25px!important;min-width:25px!important;height:25px!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-mobile-zoom button{min-width:23px!important;padding:3px!important}
 .ccm-editor .ccm-mobile-guides-bar>.ccm-mobile-zoom button:nth-child(2){min-width:33px!important}
}

/* v2.3.26: native mobile photo picker and a visible, scrollable photo library. */
.ccm-editor .ccm-photo-controls{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;padding:5px 0 12px}
.ccm-editor .ccm-photo-upload-label{display:flex;position:relative;align-items:center;justify-content:center;min-height:44px;border-radius:8px;cursor:pointer;overflow:hidden;font-weight:600;text-align:center}
.ccm-editor .ccm-photo-upload-label input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;z-index:2;margin:0!important;padding:0!important;font-size:100px!important}
.ccm-editor .ccm-photo-controls .ccm-photos{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;min-height:0}
.ccm-editor .ccm-photo-controls .ccm-photo-item{min-width:0;display:flex;flex-direction:column;gap:4px}
.ccm-editor .ccm-photo-controls .ccm-photo-pick{min-height:75px;height:75px;display:block;width:100%}
.ccm-editor .ccm-photo-controls .ccm-photo-pick img{display:block;width:100%;height:100%;object-fit:cover}
.ccm-editor .ccm-photo-controls .ccm-upload-limit{opacity:1!important;cursor:pointer!important}
@media(max-width:600px){.ccm-editor .ccm-mobile-drawer:has(.ccm-photo-controls){max-height:min(55svh,470px)}.ccm-editor .ccm-mobile-drawer-body:has(.ccm-photo-controls){overflow-y:auto;-webkit-overflow-scrolling:touch}.ccm-editor .ccm-photo-controls .ccm-photos{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* v2.3.28: mobile photograph tray retains the 2.3.27 height, with a compact
   count/upload header and horizontal thumbnails underneath. */
.ccm-editor .ccm-photo-controls-head{display:flex;flex-direction:column;gap:5px;align-items:stretch}
@media(max-width:600px){
 .ccm-editor .ccm-mobile-drawer:has(.ccm-photo-controls){max-height:min(20svh,160px)!important;min-height:0!important}
 .ccm-editor .ccm-mobile-drawer:has(.ccm-photo-controls) .ccm-mobile-drawer-header{min-height:29px!important;padding-top:2px!important;padding-bottom:2px!important;font-size:14px!important}
 .ccm-editor .ccm-mobile-drawer-body:has(.ccm-photo-controls){overflow-y:auto!important;overflow-x:hidden!important;padding:2px 8px 5px!important}
 .ccm-editor .ccm-photo-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;padding:0 0 3px!important;min-height:0!important}
 .ccm-editor .ccm-photo-controls-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;min-height:28px!important}
 .ccm-editor .ccm-photo-count{flex:1 1 auto!important;margin:0!important;min-width:0!important;font-size:11px!important;font-weight:600;white-space:nowrap}
 .ccm-editor .ccm-photo-count .ccm-photo-file-hint{display:none!important}
 .ccm-editor .ccm-photo-upload-action{flex:0 0 auto!important;min-width:0!important;max-width:95px!important;min-height:27px!important;height:28px!important;padding:2px 9px!important;font-size:0!important;line-height:1!important;border-radius:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;overflow:hidden!important;cursor:pointer!important}
 .ccm-editor .ccm-photo-upload-action span{font-size:0!important}
 .ccm-editor .ccm-photo-upload-action:after{content:'+ Foto';font-size:11px!important;line-height:1!important;font-weight:650;pointer-events:none}
 .ccm-editor .ccm-photo-upload-label input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;z-index:2!important;margin:0!important;padding:0!important;font-size:100px!important}
 .ccm-editor .ccm-photo-controls>h4{display:none!important}
 .ccm-editor .ccm-photo-controls .ccm-photos{display:flex!important;flex-direction:row!important;align-items:flex-start!important;width:100%!important;gap:7px!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 1px 2px!important}
 .ccm-editor .ccm-photo-controls .ccm-photo-item{flex:0 0 65px!important;min-width:65px!important;max-width:65px!important;display:flex!important;flex-direction:column!important;gap:1px!important}
 .ccm-editor .ccm-photo-controls .ccm-photo-pick{height:58px!important;min-height:58px!important;max-height:58px!important;width:100%!important;padding:0!important}
 .ccm-editor .ccm-photo-controls .ccm-photo-item button:not(.ccm-photo-pick){font-size:10px!important;min-height:22px!important;padding:2px!important}
 .ccm-editor .ccm-photo-controls .ccm-photos>p{margin:5px 0!important;font-size:11px}
}
