.cp-launch{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.cp-inline{width:100%;max-width:900px;min-width:0;scroll-margin-top:12px}#crafterProductModalV180 .cpm-image.cp-photo-hidden,#crafterProductModalV180 .crafter-modal-image-area.cp-photo-hidden{display:none!important}.cp-dialog{max-width:900px;min-width:0;margin:0 auto;background:white;border-radius:16px;padding:24px;box-sizing:border-box;position:relative;color:#253640;font:16px/1.45 system-ui}.cp-dialog *{box-sizing:border-box}.cp-dialog h2{margin:0 0 12px;font-size:20px}.cp-dialog button,.cp-dialog select,.cp-dialog input{min-height:44px;min-width:0;max-width:100%;font:inherit;border:1px solid #ccd5da;border-radius:9px;padding:8px;background:white;color:inherit}.cp-dialog .cp-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}.cp-dialog .cp-row>label{flex:1 1 160px;min-width:0;display:flex;flex-direction:column;gap:6px}.cp-dialog input[type=file]{width:100%}.cp-dialog .cp-stage{width:100%;max-height:520px;aspect-ratio:1.25;display:block;object-fit:contain;touch-action:none;background:#edf1f3;border-radius:12px}.cp-dialog [hidden]{display:none!important}.cp-dialog .cp-help{color:#667085;font-size:14px}.cp-dialog .cp-apply{background:#167383;color:white;font-weight:700}.cp-dialog .cp-status{overflow-wrap:anywhere;min-height:24px}.cp-dialog input[type=range]{padding:0;width:100%;accent-color:var(--corp-primary,#69bac9)}.cp-dialog button:disabled{opacity:.55;cursor:wait}@media(max-width:500px){.cp-dialog{padding:16px}.cp-dialog .cp-row{gap:8px}.cp-dialog .cp-row>label{flex-basis:135px}}

.cp-dialog canvas[data-flat]{height:auto;max-height:none}.cp-dialog canvas[data-mug]{height:440px}

.cp-dialog .cp-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px}.cp-dialog .cp-actions>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:8px 6px;text-align:center;white-space:normal;line-height:1.2;font-size:clamp(12px,3.4vw,16px)}

.cp-dialog .cp-view-actions{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:stretch;gap:8px}.cp-dialog .cp-view-actions>button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:48px;min-height:48px;padding:8px 6px;white-space:normal;line-height:1.2;font-size:clamp(12px,3.4vw,16px)}

.cp-dialog .cp-print-preview{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:8px;align-items:center;min-width:0}.cp-print-width{grid-column:2;grid-row:1;text-align:center}.cp-print-height{grid-column:1;grid-row:2;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center;text-align:center}.cp-print-width,.cp-print-height{font-size:14px;font-weight:600;line-height:1.2}.cp-print-preview>[data-flat]{grid-column:2;grid-row:2;min-width:0}

.cp-dialog .cp-template-sides{display:flex;flex-wrap:nowrap}.cp-template-sides>button{flex:1}.cp-template-sides>button[aria-pressed=true]{border-color:var(--corp-primary,#63bdca);box-shadow:inset 0 0 0 1px var(--corp-primary,#63bdca)}


#crafterProductModalV180 .cp-dialog [data-outline-price]{font-size:12px;line-height:1.45;color:#667085;margin:8px 0}

#crafterProductModalV180 .cp-dialog [data-flat-measure]{font-size:12px;line-height:1.45;color:#667085;margin:8px 0}


/* Shared print-price breakdown in the editor and product summary. */
#crafterProductModalV180 .crafter-shirt-price-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:6px 0;font-size:13px;line-height:1.25}
#crafterProductModalV180 .crafter-shirt-price-table caption{text-align:left;font-weight:600;margin-bottom:8px}
#crafterProductModalV180 .crafter-shirt-price-table th,#crafterProductModalV180 .crafter-shirt-price-table td{padding:4px 6px;border-bottom:1px solid #e4e7ec;text-align:left;vertical-align:top;overflow-wrap:anywhere}
#crafterProductModalV180 .crafter-shirt-price-table thead th:nth-child(1){width:42%}
#crafterProductModalV180 .crafter-shirt-price-table thead th:nth-child(2){width:26%}
#crafterProductModalV180 .crafter-shirt-price-table thead th:nth-child(3){width:32%}
#crafterProductModalV180 .crafter-shirt-price-table tr>:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#crafterProductModalV180 .crafter-shirt-price-table tfoot th{font-weight:400}
#crafterProductModalV180 .crafter-shirt-price-table .crafter-shirt-price-total>*{font-weight:700;border-top:2px solid #d0d5dd;border-bottom:0}

#crafterProductModalV180 .crafter-shirt-price-table tfoot tr:first-child>*{border-top:2px solid #98a2b3!important;padding-top:9px}
#crafterProductModalV180 .crafter-shirt-price-table tfoot{background:#f8fafb}
#crafterProductModalV180 [data-shirt-pricing]{margin:6px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#crafterProductModalV180 .cp-shirt-views{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:6px;align-self:start;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:thin}
#crafterProductModalV180 .cp-shirt-views button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:auto!important;min-height:0!important;max-height:none!important;padding:4px!important;font-size:11px!important;line-height:1.2!important}
#crafterProductModalV180 .cp-shirt-views canvas{display:block;width:100%;min-width:0;aspect-ratio:1;height:auto!important;max-height:none!important;border-radius:4px}

#crafterProductModalV180 .crafter-shirt-price-table th,#crafterProductModalV180 .crafter-shirt-price-table td{font-size:inherit!important;line-height:1.25;padding:4px 6px!important}
#crafterProductModalV180 .crafter-shirt-price-table tfoot tr:first-child>*{padding-top:8px!important}

#crafterProductModalV180 .cp-shirt-editor-gallery{display:grid;grid-template-columns:clamp(56px,18%,100px) minmax(0,1fr);gap:8px;align-items:start;margin:12px 0;min-width:0}
#crafterProductModalV180 .cp-shirt-editor-gallery[hidden]{display:none!important}
#crafterProductModalV180 .cp-shirt-editor-gallery .cp-shirt-views{grid-row:auto}
#crafterProductModalV180 .cp-shirt-editor-main{grid-column:2;min-width:0}
#crafterProductModalV180 .cp-shirt-views img{display:block;width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;border-radius:4px}
#crafterProductModalV180 .cp-shirt-views [hidden]{display:none!important}
#crafterProductModalV180 .cp-shirt-views button{border:1px solid #d0d5dd;border-radius:8px;background:white;color:inherit}
#crafterProductModalV180 .cp-shirt-views [aria-pressed=true]{border-color:#167383;background:#e7f5f7;box-shadow:inset 0 0 0 1px #167383}
#crafterProductModalV180 [data-shirt-product-photo]{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:12px;background:#edf1f3}
#crafterProductModalV180 .cp-shirt-editor-gallery .cp-print-preview{grid-template-columns:18px minmax(0,1fr);gap:4px}
#crafterProductModalV180 .cp-shirt-editor-gallery .cp-print-width,#crafterProductModalV180 .cp-shirt-editor-gallery .cp-print-height{font-size:11px}


#crafterProductModalV180:has(.cp-inline) [data-shirt-price-summary]{display:none!important}

#crafterProductModalV180 .cp-shirt-hit-layer{grid-column:2;grid-row:2;align-self:stretch;justify-self:stretch;position:relative;min-width:0;min-height:0;pointer-events:none}
#crafterProductModalV180 .cp-shirt-hit-layer button{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:auto;min-height:0!important;height:auto;min-width:0;padding:0!important;border:2px dashed #168896!important;border-radius:2px!important;background:#1688960d!important;color:#fff!important;box-shadow:none!important;touch-action:manipulation}
#crafterProductModalV180 .cp-shirt-hit-layer button[aria-pressed=true]{background:#16889655!important;border-style:solid!important}
#crafterProductModalV180 .cp-shirt-hit-layer button span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;max-width:100%;max-height:100%;border-radius:50%;font:700 14px/1 system-ui;background:#167383}
#crafterProductModalV180 .cp-shirt-hit-layer button[aria-pressed=false] span{display:none}
#crafterProductModalV180 .cp-shirt-hit-layer button:focus-visible{outline:3px solid #167383;outline-offset:3px}

#crafterProductModalV180 .cp-shirt-editor .cp-row{margin:6px 0;gap:8px}
#crafterProductModalV180 .cp-shirt-editor .cp-row>label{gap:4px}
#crafterProductModalV180 .cp-shirt-editor .cp-shirt-editor-gallery{margin:8px 0}
#crafterProductModalV180 .cp-shirt-editor [data-flat-measure]{margin:4px 0}
#crafterProductModalV180 .cp-shirt-editor .cp-status{min-height:0;margin:6px 0;line-height:1.35}
#crafterProductModalV180 .cp-shirt-editor .cp-status:empty{display:none!important;margin:0}
#crafterProductModalV180 .cp-shirt-editor input[type=range]{display:block;height:24px!important;min-height:24px!important;margin:0!important}
#crafterProductModalV180 .cp-shirt-editor output{line-height:1.2}
#crafterProductModalV180 .cp-shirt-editor .crafter-shirt-price-table caption{margin-bottom:4px}

/* The visual occupies a square photo slot; its content keeps its own proportions. */
.cp-dialog .cp-preview-square{width:100%;aspect-ratio:1;display:grid;place-items:center;min-width:0;overflow:hidden;background:#edf1f3;border-radius:14px}
.cp-dialog .cp-preview-square[hidden]{display:none!important}
.cp-dialog .cp-preview-square>.cp-print-preview{width:100%;min-width:0}
.cp-dialog .cp-preview-square>canvas[data-mug]{width:100%;height:100%;max-height:none;aspect-ratio:1}
#crafterProductModalV180 .cpm-product-gallery.cp-preview-active{grid-template-columns:minmax(0,1fr)}
#crafterProductModalV180 .cp-preview-active .cpm-gallery-main{grid-column:1;grid-row:1}
#crafterProductModalV180 .cp-preview-active .cpm-product-thumbnails{grid-column:1;grid-row:2;flex-direction:row;max-height:none!important;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;padding:3px}
#crafterProductModalV180 .cp-preview-active .cpm-product-thumbnails button{width:68px;flex:0 0 68px}
#crafterProductModalV180 .cpm-gallery-main>.cp-inline>.cp-dialog{padding:0;box-shadow:none;background:transparent}
.cp-dialog .cp-status:empty{display:none;min-height:0;margin:0}


/* Compact shared size/rotation controls, including narrow product galleries. */
#crafterProductModalV180 .cp-dialog .cp-transform-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;margin:8px 0}
#crafterProductModalV180 .cp-dialog .cp-transform-controls>label{display:grid;grid-template-rows:auto 28px 6px;align-content:start;gap:2px;min-width:0;margin:0;padding:0;line-height:1.2}
#crafterProductModalV180 .cp-transform-controls .cp-range-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;font-size:14px;line-height:1.2}
#crafterProductModalV180 .cp-transform-controls output{font:inherit;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;padding:0;line-height:1.2}
#crafterProductModalV180 .cp-transform-controls input[type=range]{display:block;width:100%;height:28px!important;min-height:28px!important;margin:0!important;padding:0;border:0;background:transparent}
#crafterProductModalV180 .cp-transform-controls .cp-angle-marks{display:flex;justify-content:space-between;height:6px;margin:0;padding:0 7px;color:#667085;pointer-events:none}
#crafterProductModalV180 .cp-angle-marks i{display:block;height:5px;width:1px;background:currentColor}
#crafterProductModalV180 .cp-angle-marks i:nth-child(5){height:6px;width:2px}


/* The loading mark is shared with Home's critical boot CSS. */
.cp-dialog .cp-preview-square{position:relative}
.cp-dialog .cp-processing{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;background:#fff;border-radius:12px;padding:16px;text-align:center;color:#253640;font-size:14px;pointer-events:auto}
.cp-dialog .cp-processing>span:last-child{max-width:260px}
