.cnc-customiser{border:1px solid #d8d8d8;border-radius:8px;margin:0 0 24px;padding:18px;background:#fff;max-width:100%;overflow:hidden}.cnc-customiser,.cnc-customiser *{box-sizing:border-box}.cnc-customiser__header{margin-bottom:16px}.cnc-customiser__header h3{margin:0 0 6px;font-size:1.25rem}.cnc-customiser__header p{margin:0;color:#555}.cnc-customiser__layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,360px);gap:20px;align-items:start;min-width:0}.cnc-customiser--gallery-stage .cnc-customiser__layout,.summary .cnc-customiser__layout,.entry-summary .cnc-customiser__layout{grid-template-columns:1fr}.cnc-customiser--gallery-stage .cnc-customiser__preview{display:none}.cnc-stage{position:relative;width:100%;max-width:620px;aspect-ratio:1 / 1;margin:0 auto;overflow:hidden;border:1px solid #ececec;border-radius:8px;background:#fafafa}.cnc-product-gallery-live{width:100%;display:block}.cnc-product-gallery-live a,.cnc-product-gallery-live img,.cnc-product-gallery-live .woocommerce-product-gallery__image--placeholder{display:none!important}.woocommerce-product-gallery.cnc-product-gallery-has-live-customiser{opacity:1!important}.woocommerce-product-gallery.cnc-product-gallery-has-live-customiser .woocommerce-product-gallery__wrapper{margin:0;max-width:100%}.cnc-product-gallery-stage{width:100%;aspect-ratio:1 / 1}.cnc-product-gallery-stage .cnc-stage{max-width:none;height:100%;border-color:#f0f0f0;border-radius:0;background:#fafafa}.cnc-stage__svg,.cnc-stage__overlays,.cnc-stage__svg svg{position:absolute;inset:0;width:100%;height:100%}.cnc-stage__svg svg{display:block}.cnc-stage__overlays{z-index:2;pointer-events:none}.cnc-overlay-text,.cnc-overlay-logo{position:absolute;z-index:3;transform:translate(-50%,-50%);touch-action:none;cursor:grab;pointer-events:auto}.cnc-paintable-shape{cursor:crosshair}.cnc-painted-shape{filter:brightness(1.01)}.cnc-overlay-text{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:28px;padding:2px 6px;border:1px dashed rgb(0 0 0 / .35);border-radius:4px;background:rgb(255 255 255 / .5);font-family:Arial,Helvetica,sans-serif;font-weight:700;line-height:1;appearance:none;box-shadow:none;text-decoration:none;text-transform:none;user-select:none;width:auto}.cnc-overlay-logo{display:block;min-width:30px;min-height:30px;border:1px dashed rgb(0 0 0 / .35);border-radius:4px;background:rgb(255 255 255 / .35);background-repeat:no-repeat;background-position:center;background-size:contain}.cnc-overlay-text.is-dragging,.cnc-overlay-logo.is-dragging{cursor:grabbing;outline:2px solid #2271b1}.cnc-customiser__controls{display:grid;gap:14px;min-width:0}.cnc-field,.cnc-panel label{display:grid;gap:6px;font-weight:600}.cnc-fixed-template{display:grid;gap:4px;padding:10px 12px;border:1px solid #e2e2e2;border-radius:6px;background:#fbfbfb}.cnc-fixed-template span{font-weight:600}.cnc-fixed-template strong{font-weight:700}.cnc-field select,.cnc-add-text input[type="text"],.cnc-text-row input[type="text"]{width:100%;max-width:100%}.cnc-panel{display:grid;gap:10px;padding-top:12px;border-top:1px solid #ececec}.cnc-panel__title{font-weight:700}.cnc-colour-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cnc-colour-help{grid-column:1 / -1;margin:0;color:#555;font-size:.92rem}.summary .cnc-colour-controls,.entry-summary .cnc-colour-controls{grid-template-columns:repeat(2,minmax(120px,1fr))}.cnc-colour{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid #e2e2e2;border-radius:6px;background:#fbfbfb;cursor:pointer}.cnc-colour.is-active{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}.cnc-colour span{min-width:0;font-size:.9rem}.cnc-colour input{width:42px;min-width:42px;height:32px;padding:0}.cnc-add-text{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cnc-text-list{display:grid;gap:8px}.cnc-text-row{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(80px,.6fr) auto;gap:8px;align-items:center}.summary .cnc-text-row,.entry-summary .cnc-text-row{grid-template-columns:1fr}.summary .cnc-logo-input,.entry-summary .cnc-logo-input{max-width:100%}.cnc-logo-tools{display:grid;gap:10px}.cnc-actions{display:flex;flex-wrap:wrap;gap:8px}.cnc-message{min-height:22px;color:#555}.cnc-cart-thumbnail,.cnc-order-thumbnail{width:100%;max-width:90px;height:auto}@media (max-width:780px){.cnc-customiser__layout{grid-template-columns:1fr}.cnc-colour-controls,.cnc-add-text,.cnc-text-row{grid-template-columns:1fr}}.cnc-customiser{--cnc-brand:#3340d3;--cnc-brand-dark:#232eb5;--cnc-text:#2d3748;--cnc-muted:#718096;--cnc-line:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;max-width:900px;margin:20px auto 24px;padding:24px;background:#fff;border:1px solid var(--cnc-line);border-radius:8px;box-shadow:0 4px 6px -1px rgb(0 0 0 / .1);color:var(--cnc-text)}.cnc-customiser__header{margin-bottom:22px}.cnc-customiser__header h2{margin:0 0 12px;color:#1a202c;font-size:1.5rem;line-height:1.3;font-weight:700;border-bottom:2px solid var(--cnc-brand);padding-bottom:10px}.cnc-customiser__header p{font-size:.93rem;color:#5a6678;line-height:1.5}.cnc-customiser__layout{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:24px}.cnc-customiser__controls{order:1;gap:18px}.cnc-customiser__preview{order:2;align-self:start;position:sticky;top:24px;min-width:0;background:#f7fafc;border:1px solid var(--cnc-line);border-radius:8px;padding:20px}.cnc-preview-badge{position:absolute;top:-12px;right:15px;border-radius:10px;padding:3px 10px;font-size:.75rem;line-height:1.5;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fff;background:var(--cnc-brand);z-index:1}.cnc-customiser .cnc-stage{max-width:100%;border:1px solid var(--cnc-line);border-radius:6px;background:#fff}.cnc-customiser .cnc-field,.cnc-customiser .cnc-panel label{color:var(--cnc-text);font-weight:600}.cnc-customiser .cnc-field select,.cnc-customiser .cnc-add-text input[type="text"],.cnc-customiser .cnc-text-row input[type="text"],.cnc-customiser .cnc-text-row select,.cnc-customiser .cnc-text-row input[type="number"]{min-height:40px;border:1px solid #cbd5e0;border-radius:6px;padding:8px 10px;background:#fff;color:var(--cnc-text);font:inherit;font-size:.95rem}.cnc-customiser input:focus-visible,.cnc-customiser select:focus-visible,.cnc-customiser button:focus-visible,.cnc-customiser a:focus-visible{outline:2px solid var(--cnc-brand);outline-offset:2px}.cnc-customiser .cnc-panel{border-top-color:var(--cnc-line);padding-top:15px}.cnc-customiser .cnc-panel__title{color:var(--cnc-text);font-size:1rem}.cnc-customiser .cnc-fixed-template,.cnc-customiser .cnc-colour{background:#f7fafc;border-color:var(--cnc-line);border-radius:6px}.cnc-customiser .cnc-colour{transition:border-color .15s,box-shadow .15s}.cnc-customiser .cnc-colour:hover{border-color:#a5afea}.cnc-customiser .cnc-colour.is-active{border-color:var(--cnc-brand);box-shadow:0 0 0 1px var(--cnc-brand)}.cnc-customiser .cnc-colour input[type="color"]{cursor:pointer;border-radius:5px}.cnc-customiser .cnc-colour-help,.cnc-customiser .cnc-message{color:#5a6678}.cnc-customiser .cnc-logo-input{max-width:100%;font-size:.9rem}.cnc-customiser .cnc-logo-size{width:100%;accent-color:var(--cnc-brand)}.cnc-customiser .cnc-add-text-button,.cnc-customiser .cnc-share-button{background:var(--cnc-brand);border:1px solid var(--cnc-brand);border-radius:6px;padding:9px 15px;min-height:40px;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:none}.cnc-customiser .cnc-add-text-button:hover,.cnc-customiser .cnc-share-button:hover{background:var(--cnc-brand-dark);border-color:var(--cnc-brand-dark);color:#fff}.cnc-customiser .cnc-download-button,.cnc-customiser .cnc-remove-logo{min-height:40px;padding:9px 15px;border-radius:6px;border:1px solid #cbd5e0;background:#edf2f7;color:var(--cnc-text);font-size:.9rem;font-weight:700;text-decoration:none;box-shadow:none}.cnc-customiser .cnc-download-button:hover,.cnc-customiser .cnc-remove-logo:hover{background:#e2e8f0;color:#1a202c}.cnc-customiser .cnc-actions{padding-top:14px;border-top:1px solid var(--cnc-line)}.cnc-customiser--gallery-stage .cnc-customiser__layout,.summary .cnc-customiser__layout,.entry-summary .cnc-customiser__layout{grid-template-columns:1fr}.cnc-customiser--gallery-stage .cnc-customiser__preview{display:none}@media (max-width:780px){.cnc-customiser{padding:18px;margin:16px 0 24px}.cnc-customiser__layout{grid-template-columns:minmax(0,1fr);gap:20px}.cnc-customiser__preview{order:1;position:relative;top:auto}.cnc-customiser__controls{order:2}.cnc-customiser .cnc-colour-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.cnc-customiser .cnc-add-text,.cnc-customiser .cnc-text-row{grid-template-columns:1fr}}@media (max-width:420px){.cnc-customiser{padding:14px}.cnc-customiser .cnc-colour-controls{grid-template-columns:1fr}.cnc-customiser .cnc-actions>*{flex:1 1 100%;text-align:center}}.cnc-fabric-search,.cnc-fabric-book{width:100%;margin:6px 0 10px;padding:10px;border:1px solid #ccd4e0;border-radius:8px;background:#fff}.cnc-fabric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:280px;overflow:auto;padding:6px;border:1px solid #e4e7ed;border-radius:10px}.cnc-fabric-choice{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border:2px solid #e3e6ec;border-radius:8px;background:#fff;cursor:pointer;font-size:12px;color:#26334b;word-break:break-all}.cnc-fabric-choice.is-active{border-color:#3561f3;box-shadow:0 0 0 1px #3561f3}.cnc-fabric-swatch{display:block;width:100%;height:31px;border:1px solid #9098a6;border-radius:5px}.cnc-fabric-selected{font-weight:700;color:#254fce;margin:8px 0}.cnc-necker-name{display:block;width:100%;padding:10px!important}.cnc-quote-retrieve{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.cnc-quote-retrieve label{flex:1;min-width:190px;font-size:13px}.cnc-quote-reference{width:100%;margin-top:5px}.cnc-quote-button{background:#edf2f7!important;color:#2d3748!important;border:1px solid #cbd5e0!important;font-weight:700!important}.cnc-quote-status{font-size:12px;color:#3561f3}.cnc-personalisation-note{padding:10px 12px;background:#f7faff;border-left:3px solid #3561f3;font-size:13px}.cnc-logo-tools select{min-width:160px;max-width:100%}.cnc-quote-retrieve--top{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:end;background:#f5f8ff;border:1px solid #cbd9f7;border-radius:8px;padding:16px;margin:0 0 20px;width:100%}.cnc-quote-retrieve__intro{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px 14px;color:#202938}.cnc-quote-retrieve__intro strong{font-size:1.15em}.cnc-quote-retrieve__field{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;font-weight:600}.cnc-quote-retrieve__field input{width:100%;min-height:42px;border:1px solid #b4bbca;border-radius:4px;padding:8px 10px}.cnc-quote-retrieve__buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cnc-quote-retrieve--top .cnc-quote-order-button{background:#3561f3;color:#fff;border-color:#3561f3}.cnc-quote-retrieve--top .cnc-quote-status{flex:1 1 100%;font-size:.92em}@media(max-width:620px){.cnc-quote-retrieve__buttons{width:100%}.cnc-quote-retrieve__buttons button{flex:1 1 140px}}.cnc-quote-download-status:not(:empty){display:block;flex-basis:100%;width:100%;padding:10px 12px;margin-top:8px;border-left:3px solid #3561f3;background:#f0f5ff;color:#182f59;font-size:14px;line-height:1.5}.cnc-quote-download-status.cnc-quote-error{border-color:#b42318;background:#fff2f0;color:#8e2118}.cnc-quote-button:disabled{opacity:.65;cursor:wait}.cnc-buy-now-button{background:#3561f3!important;color:#fff!important;border-color:#3561f3!important;font-weight:700!important}.cnc-buy-now-button:disabled{opacity:.6;cursor:progress}.cnc-customiser .cnc-colour-controls{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0}.cnc-customiser .cnc-fabric-search,.cnc-customiser .cnc-fabric-book{display:block;width:100%!important;min-width:0;max-width:100%;box-sizing:border-box;margin:0!important}.cnc-customiser .cnc-fabric-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px;max-height:345px;overflow-y:auto;min-width:0}.cnc-customiser .cnc-fabric-choice{min-width:0;max-width:100%;padding:5px 2px;overflow:hidden;word-break:normal;font-size:10px;line-height:1.3}.cnc-customiser .cnc-fabric-choice span:last-child{max-width:100%;overflow-wrap:anywhere}.cnc-customiser .cnc-fabric-swatch{height:32px}.cnc-customiser .cnc-fabric-count{margin:0;color:#667085;font-size:12px}.cnc-customiser .cnc-text-row,.summary .cnc-customiser .cnc-text-row,.entry-summary .cnc-customiser .cnc-text-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(80px,.55fr)!important;align-items:end;gap:10px;min-width:0}.cnc-customiser .cnc-text-option{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0}.cnc-customiser .cnc-text-option--value{grid-column:1/-1}.cnc-customiser .cnc-text-option--size{grid-column:1/-1}.cnc-customiser .cnc-text-row input[type=color]{box-sizing:border-box;width:100%!important;max-width:140px;height:42px;padding:3px}.cnc-customiser .cnc-text-row input[type=range]{width:100%!important;min-width:0;max-width:100%}.cnc-customiser .cnc-text-row>button{grid-column:1/-1;justify-self:start}.cnc-customiser .cnc-logo-hint{margin:0;font-size:13px;color:#485467;line-height:1.5}.cnc-customiser .cnc-logo-scale-control{display:flex;flex-direction:column;gap:7px}.cnc-customiser .cnc-logo-scale-control input[type=range]{width:100%;max-width:100%}@media(max-width:450px){.cnc-customiser .cnc-fabric-grid{gap:3px}.cnc-customiser .cnc-fabric-choice{padding:4px 1px;font-size:9px}}.cnc-customiser .cnc-fabric-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:minmax(72px,max-content)!important;grid-auto-flow:row!important;align-content:start!important;align-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important;height:345px!important;min-height:230px!important;max-height:345px!important;padding:7px!important}.cnc-customiser .cnc-fabric-grid .cnc-fabric-choice{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;flex:none!important;min-height:68px!important;height:68px!important;margin:0!important;padding:5px 2px!important;box-sizing:border-box!important;line-height:1.3!important;white-space:normal!important}.cnc-customiser .cnc-fabric-grid .cnc-fabric-swatch{flex:none!important;display:block!important;width:calc(100% - 4px)!important;height:35px!important;min-height:35px!important;max-height:35px!important;margin:0 auto!important;border-radius:4px!important}.cnc-customiser .cnc-border-panel[hidden]{display:none!important}