.ngcc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:24px 0;padding:0;font-family:inherit;color:#20232a}.ngcc *{box-sizing:border-box}.ngcc-preview-column{border:1px solid #e1e3e8;border-radius:12px;overflow:hidden;background:#fff;min-width:0}.ngcc-preview-heading{background:#2d303b;color:#fff;text-align:center;padding:12px;font-weight:700;font-size:13px;letter-spacing:.04em}.ngcc-preview-stage{position:relative;background:#fff;min-height:340px;display:flex;align-items:center;justify-content:center}.ngcc-preview-stage canvas{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.ngcc-empty{position:absolute;bottom:10px;left:10px;right:10px;text-align:center;background:#fff9;padding:8px;color:#666;font-size:12px;pointer-events:none}.ngcc-tools{display:flex;gap:7px;flex-wrap:wrap;padding:12px;border-top:1px solid #eceef1}.ngcc-tool,.ngcc-small-btn{border:1px solid #d7dbe2;border-radius:24px;padding:9px 13px;background:#fff;color:#292d36;font-size:13px;cursor:pointer}.ngcc-tool:first-child,.ngcc-tool:nth-child(2){background:#2d303b;color:#fff;border-color:#2d303b}.ngcc-tool:disabled{opacity:.6;cursor:wait}.ngcc-note{font-size:11px;color:#777;padding:0 12px 12px;margin:0}.ngcc-options{min-width:0}.ngcc-options h3{font-size:20px;margin:0 0 15px}.ngcc-option-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px dashed #ddd;flex-wrap:wrap}.ngcc-label{min-width:72px;font-size:13px;font-weight:600}.ngcc-chips{display:flex;gap:7px;flex-wrap:wrap}.ngcc-chip{border:1px solid #d2d5db;background:#fff;border-radius:22px;padding:6px 12px;font-size:12px;cursor:pointer}.ngcc-chip.is-active{border:2px solid #d66b48;padding:5px 11px;color:#222}.ngcc-colors{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ngcc-color{width:28px;height:28px;border:1px solid #ccc;border-radius:50%;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 2px #fff}.ngcc-color.is-active{outline:2px solid #d66b48;outline-offset:2px}.ngcc-color[data-color="White"]{border-color:#ccc}.ngcc-colors span{font-size:12px}.ngcc-text-entry{margin:14px 0;padding:14px;background:#f7f8fa;border-radius:8px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.ngcc-text-entry[hidden]{display:none}.ngcc-text-entry label{font-size:12px}.ngcc-text-entry input[type=text]{grid-column:1/-1;width:100%;padding:10px;border:1px solid #ccd1d8;border-radius:6px}.ngcc-text-entry input[type=color]{width:40px;height:30px;padding:2px;border:1px solid #ddd}.ngcc-small-btn{grid-column:1/-1;justify-self:start}.ngcc-selected{font-size:13px;padding:13px 0;color:#424957}.ngcc-bulk{overflow:hidden;border-radius:10px;background:#e2f2ff;margin-top:10px;font-size:12px}.ngcc-bulk-title{background:#fff0bf;text-align:center;padding:11px;font-size:14px;font-weight:600;color:#9a4b20}.ngcc-bulk table{width:100%;border-collapse:collapse;text-align:center;margin:0}.ngcc-bulk th,.ngcc-bulk td{padding:11px 5px;border:0;font-weight:400}.ngcc-bulk thead{background:#f0f2f5}.ngcc-bulk tbody{background:#fff}.ngcc-bulk p{padding:10px;margin:0;font-size:11px;color:#42556a}.single-product .ngcc~.quantity{margin-top:12px}@media(max-width:760px){.ngcc{grid-template-columns:1fr;gap:18px}.ngcc-preview-stage{min-height:260px}.ngcc-options h3{font-size:18px}.ngcc-option-row{gap:9px}.ngcc-label{min-width:65px}}
/* Cleaner, compact customer-facing customizer */
.ngcc{gap:22px;align-items:start}.ngcc-preview-column{border-radius:10px;box-shadow:0 4px 18px rgba(20,25,35,.05)}.ngcc-preview-heading{padding:13px 16px;font-size:12px}.ngcc-preview-stage{min-height:280px;padding:10px}.ngcc-preview-stage canvas{max-height:520px}.ngcc-tools{padding:12px;gap:8px}.ngcc-tool{border-radius:6px;padding:10px 13px;font-weight:600;font-size:12px;transition:background .15s,border-color .15s}.ngcc-tool:first-child,.ngcc-tool:nth-child(2),.ngcc-tool:nth-child(3){background:#2d303b;color:#fff;border-color:#2d303b}.ngcc-tool:hover{opacity:.88}.ngcc-options h3{font-size:20px;font-weight:600;margin-bottom:12px}.ngcc-option-row{padding:12px 0;gap:12px}.ngcc-label{min-width:72px}.ngcc-chip{border-radius:5px;padding:8px 14px}.ngcc-chip.is-active{padding:7px 13px}.ngcc-color{width:25px;height:25px}.ngcc-modal{display:none;position:fixed;z-index:999999;inset:0;background:rgba(18,22,30,.72);padding:24px;align-items:center;justify-content:center}.ngcc-modal.is-open{display:flex}.ngcc-modal-panel{position:relative;background:#fff;border-radius:12px;padding:22px;max-width:720px;width:100%;max-height:90vh;overflow:auto;text-align:center;box-shadow:0 20px 70px rgba(0,0,0,.25)}.ngcc-modal-panel h3{margin:0 0 14px;font-size:21px}.ngcc-modal-panel canvas{width:100%;max-height:65vh;object-fit:contain;display:block}.ngcc-modal-panel p{font-size:12px;color:#667085;margin:12px 0 0}.ngcc-modal-close{position:absolute;right:10px;top:8px;border:0;background:#f0f1f4;border-radius:50%;width:32px;height:32px;font-size:23px;line-height:1;cursor:pointer}.ngcc-modal-open{overflow:hidden}
@media(max-width:760px){.ngcc{gap:14px}.ngcc-preview-stage{min-height:240px}.ngcc-modal{padding:12px}.ngcc-modal-panel{padding:18px 12px}}

/* v1.4.1: hide the native gallery only when the customizer actually exists.
   This prevents blank product pages when Elementor widget mode is selected but the widget is absent. */
body.single-product div.product:has(.ngcc) > .images { display:none !important; }
body.single-product div.product:has(.ngcc) > .summary { float:none !important; width:100% !important; max-width:none !important; }
.single-product div.product .ngcc { width:100%; }
