.cp-personaliser{border:1px solid #dedede;border-radius:12px;padding:22px;margin:20px 0 26px;background:#fff;color:#252525}.cp-personaliser h3{font-size:22px;margin:12px 0}.cp-banner{background:#f7f4ed;border-left:3px solid #b68c38;padding:10px 12px;font-size:12px;font-weight:700}.cp-muted,.cp-hint{color:#666;font-size:13px}.cp-label,.cp-fields label{display:block;font-weight:600;margin:16px 0 8px}.cp-personaliser input[type=file]{display:block;width:100%;margin:8px 0}.cp-photo-box{border:1px dashed #c7c7c7;border-radius:8px;background:#fafafa;min-height:115px;display:flex;align-items:center;justify-content:center;margin:12px 0;padding:12px}.cp-photo-box img{max-width:180px;max-height:180px;object-fit:contain}.cp-photo-box img[hidden],.cp-message-text[hidden]{display:none}.cp-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cp-fields input,.cp-message-text textarea{width:100%;padding:10px;border:1px solid #cfcfcf;border-radius:6px;margin-top:7px}.cp-message{border:0;padding:0;margin:14px 0}.cp-message legend{font-weight:600;margin-bottom:8px}.cp-message label{display:inline-block;margin-right:20px;font-weight:400}.cp-preview-button{background:#202020!important;color:white!important;padding:12px 18px!important;border-radius:6px!important;margin:12px 0!important}.cp-summary{background:#f4f4f4;padding:12px;border-radius:6px;font-size:13px;overflow-wrap:anywhere}.cp-warning{color:#875319;font-size:12px;margin:14px 0 0}@media(max-width:600px){.cp-fields{grid-template-columns:1fr}.cp-personaliser{padding:14px}}

#cp-generated{display:block;width:100%;height:auto;margin:16px 0;border-radius:8px}#cp-generated[hidden]{display:none}.cp-preview-button:disabled{opacity:.55;cursor:wait}

.cp-crop-wrap{max-width:100%;max-height:420px;overflow:hidden;background:#f5f5f5;margin:12px 0}.cp-crop-wrap img{display:block;max-width:100%}#cp-crop-editor[hidden],#cp-crop-edit[hidden]{display:none}#cp-crop-editor .button{margin:4px 8px 10px 0}.cp-photo-box img{max-width:240px;max-height:240px}

/* v0.2.8: customer-facing inside message prototype */
@font-face{font-family:'CP Nunito';src:url('fonts/Nunito-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'CP Libre';src:url('fonts/LibreBaskerville-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'CP Caveat';src:url('fonts/Caveat-Regular.ttf') format('truetype');font-display:swap}
.cp-inside{margin:22px 0;padding:16px;border:1px solid #eee;border-radius:12px}.cp-inside h4{margin:0 0 12px;font-size:18px}.cp-optional{font-size:12px;font-weight:400;color:#666}.cp-helper{background:#fff4f9;border:1px solid #ffd0e5;border-radius:9px;padding:12px;margin:12px 0}.cp-helper summary{cursor:pointer;font-weight:700}.cp-helper-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.cp-helper-grid label{font-size:13px}.cp-helper-grid input,.cp-helper-grid select,.cp-fields select{width:100%;padding:9px;border:1px solid #ccc;border-radius:6px;margin-top:4px}.cp-inside-preview{width:min(100%,270px);min-height:355px;aspect-ratio:5/7;background:white;border:1px solid #ccc;box-shadow:0 3px 14px #0000000d;margin:16px auto;display:flex;align-items:center;justify-content:center;padding:26px;box-sizing:border-box}.cp-inside-preview div{white-space:pre-wrap;overflow-wrap:anywhere;width:100%;max-height:100%;overflow:hidden;line-height:1.45;color:#252525}.cp-personaliser #cp-message-editor[hidden]{display:none}.cp-personaliser .cp-message-text{display:block}.cp-personaliser .cp-helper button{margin-top:6px}.cp-personaliser .cp-inside .cp-message{margin:8px 0}@media(max-width:600px){.cp-helper-grid{grid-template-columns:1fr}}

/* v0.2.9: restrained colour swatches, size controls, optional artwork */
.cp-control-group{border:0;padding:0;margin:14px 0 8px;min-width:0}.cp-control-group legend{font-weight:700;font-size:13px;margin-bottom:9px}.cp-size-options{display:flex;gap:7px}.cp-size-options label{display:flex;align-items:center;gap:5px;border:1px solid #d4d4d4;border-radius:7px;padding:7px 10px;font-weight:600;cursor:pointer}.cp-size-options label:has(input:checked){border:2px solid #7A2A3D}.cp-size-options label:has(input:disabled){opacity:.4;cursor:not-allowed}.cp-colour-options{display:flex;flex-wrap:wrap;gap:8px}.cp-colour-options label{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;font-weight:400}.cp-colour-options input{position:absolute;opacity:0;width:1px;height:1px}.cp-colour-options span{display:block;background:var(--swatch);width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #aaa}.cp-colour-options input:checked+span{box-shadow:0 0 0 2px #222}.cp-colour-options input:focus-visible+span{outline:3px solid #ff2f8f;outline-offset:3px}.cp-colour-options small{font-size:10px;color:#444}.cp-artwork-control label{display:inline-block;margin-right:15px;font-size:13px}.cp-inside-preview{flex-direction:column;gap:10px;overflow:visible}.cp-inside-preview #cp-inside-sticker{width:100%;max-height:100px;object-fit:contain;flex-shrink:0}.cp-inside-preview #cp-inside-sticker[hidden]{display:none}.cp-inside-preview #cp-inside-preview-text{max-height:none;overflow:visible;flex:0 1 auto}.cp-fit-error{color:#a71938!important;font-weight:700}.cp-personaliser #cp-sticker-choice[hidden]{display:none}@media(max-width:600px){.cp-colour-options{gap:11px}}

/* v0.3.0: inside-art carousel and safe screen preview */
.cp-artwork-carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:5px 3px 12px;max-width:100%;-webkit-overflow-scrolling:touch}
.cp-artwork-tile{position:relative;flex:0 0 115px;min-width:0;display:flex!important;flex-direction:column;align-items:center;gap:6px;border:2px solid #e5e5e5;border-radius:10px;padding:8px!important;margin:0!important;cursor:pointer;scroll-snap-align:start;background:#fff;box-sizing:border-box}
.cp-artwork-tile:has(input:checked){border-color:#FF2F8F;background:#fff6fa}
.cp-artwork-tile input{position:absolute;opacity:0;width:1px;height:1px}
.cp-artwork-tile:has(input:focus-visible){outline:3px solid #FF2F8F;outline-offset:2px}
.cp-artwork-thumb{height:75px;width:100%;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:6px;overflow:hidden;color:#888;font-size:27px}
.cp-artwork-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.cp-artwork-tile small{text-align:center;font-size:11px;line-height:1.3;color:#333}
.cp-inside-preview{overflow:hidden!important;justify-content:center;min-height:0}
.cp-inside-preview #cp-inside-preview-text{overflow:hidden!important;max-height:100%!important;min-height:0;flex-shrink:1}
.cp-inside-preview #cp-inside-sticker{max-width:100%;max-height:100px;object-fit:contain}

/* v0.3.1: white print-like preview, no separate artwork tile or vignette. */
.cp-inside-preview{background:#fff!important;background-image:none!important;box-shadow:0 2px 9px rgba(0,0,0,.055)!important;overflow:hidden!important;}
.cp-inside-preview #cp-inside-sticker{background:transparent!important;background-image:none!important;box-shadow:none!important;filter:none!important;border:0!important;border-radius:0!important;padding:0!important;}
.cp-inside-preview #cp-inside-preview-text{overflow:hidden!important;max-height:100%!important;overflow-wrap:anywhere;}
