.ew-personalization{clear:both;min-width:0;margin:0 0 24px;padding:22px;border:1px solid var(--line,#dedfd7);border-radius:6px;background:#f1f3e9}
.ew-personalization legend{padding:0 8px;font-size:20px;font-weight:600;letter-spacing:-.035em;color:var(--ink,#20251f)}
.ew-personalization .ew-personalization-intro{font-size:13px;line-height:1.6;margin:0 0 18px;color:var(--muted,#687065)}
.ew-personalization label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.ew-personalization input[type=text],.woocommerce .ew-personalization select{box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid #8c9482;border-radius:4px;background:#fff;color:#20251f;font-size:16px}
.ew-print-help{display:flex;justify-content:space-between;align-items:start;gap:12px;font-size:11px;line-height:1.6;margin:8px 0 18px;color:#56604e}
[data-ew-count]{white-space:nowrap;font-variant-numeric:tabular-nums}.is-over-limit{color:#a32c20;font-weight:700}
.ew-print-preview{padding:20px 16px;margin-top:20px;background:#fff;border-radius:4px;text-align:center}
.ew-preview-label{display:block;font-size:9px;letter-spacing:.07em;color:#56604e}.ew-preview-text{display:block;font-size:clamp(20px,2.2vw,30px);font-weight:600;line-height:1.3;overflow-wrap:anywhere;margin:20px 0;color:#263221}
.ew-preview-note{display:block;font-size:10px;color:#697260;line-height:1.5}
.woocommerce .woocommerce-cart-form .product-name dl.variation{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;max-width:100%;margin:12px 0 0;text-align:left;font-size:12px}
.woocommerce .woocommerce-cart-form .product-name dl.variation dt,.woocommerce .woocommerce-cart-form .product-name dl.variation dd{float:none;min-width:0;margin:0;padding:0;overflow-wrap:anywhere}
.woocommerce .woocommerce-cart-form .product-name dl.variation dd p{margin:0}
@media(max-width:767px){.ew-personalization{padding:18px 14px}.ew-personalization legend{font-size:19px}.ew-print-help{font-size:10px}.ew-preview-text{font-size:24px}}
.ew-personalization [hidden]{display:none!important}
.woocommerce .ew-personalization select{margin-bottom:18px!important}
.ew-personalization textarea{width:100%;min-height:90px;resize:vertical;padding:12px;border:1px solid #8c9482;border-radius:4px;background:white;font:inherit;font-size:14px;color:#20251f}
.ew-optional{font-size:11px;font-weight:400;color:#56604e}
.ew-file-fields{margin:4px 0 20px}.ew-file-fields input[type=file]{display:block;width:100%;max-width:100%;font-size:12px;padding:12px 8px;border:1px dashed #8c9482;border-radius:4px;background:white;color:#20251f}
.ew-file-fields input::file-selector-button{font:inherit;padding:10px 12px;background:#20251f;color:white;border:0;border-radius:3px;margin-right:10px;cursor:pointer}
.ew-file-fields p,.ew-personalization #ew-note-help{font-size:11px;line-height:1.6;color:#56604e;margin:8px 0 18px}
.ew-file-preview{padding:14px;background:white;border-radius:4px;border:1px solid #dedfd7}.ew-file-preview img{width:100%;max-height:220px;object-fit:contain;margin-bottom:10px}.ew-file-preview span{display:block;font-size:11px;overflow-wrap:anywhere}
.ew-file-clear{margin-top:10px;border:0;background:none;text-decoration:underline;font-size:12px;cursor:pointer;min-height:44px;color:#546348}
.ew-order-file a{display:inline-block;padding:10px 14px;border:1px solid #546348;border-radius:4px;font-size:13px;min-height:44px;color:#20251f;text-decoration:underline}
.ew-file-picker-label{display:none}.ew-personalization-ready .ew-file-picker{position:relative;min-height:48px;background:#20251f;color:white;border-radius:4px;text-align:center}
.ew-personalization-ready .ew-file-picker-label{display:block;padding:14px 18px;font-size:13px}
.ew-personalization-ready .ew-file-picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;padding:0;cursor:pointer}
.ew-personalization-ready .ew-file-picker:focus-within{outline:3px solid #557343;outline-offset:3px}

.ew-personalization-availability { margin: 0 0 1.2rem; padding: 1rem; border-left: 3px solid currentColor; font-size: 1rem; line-height: 1.6; }

/* Separate projects, readable controls and a per-garment price summary. */
.ew-personalization[data-ew-personalization]{background:#fff;border-color:#d6d6d6;border-radius:12px;color:#000}
.ew-personalization .ew-personalization-intro{font-size:15px;color:#444}
.ew-print-entry{min-width:0;padding:20px 0;border-top:1px solid #e2e2e2}
.ew-print-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.ew-print-entry-heading h3{margin:0;font-family:inherit;font-weight:700;font-size:19px;line-height:1.3;letter-spacing:0;color:#000}
.ew-personalization .ew-print-remove{padding:8px 12px;min-height:44px;font-size:14px;background:#fff;color:#555;border:1px solid #ddd;border-radius:8px;text-decoration:none;white-space:normal}
.ew-personalization label{font-size:15px;color:#000}
.ew-personalization textarea{font-size:16px;line-height:1.5}
.ew-print-help,.ew-print-note-help,.ew-file-fields p,.ew-personalization .ew-preview-note{font-size:13px;color:#555;line-height:1.5}
.ew-print-note-help{margin:8px 0 18px}
.ew-personalization .ew-print-add{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;min-height:54px;padding:14px;background:#000;color:#fff;border:0;border-radius:9px;font-size:16px;line-height:1.4;cursor:pointer}
.ew-print-add-price{color:var(--accent,#e9ae58);font-weight:700;white-space:nowrap}
.ew-personalization .ew-print-add:disabled{opacity:.45;cursor:default}
.ew-prints-summary{display:grid;gap:8px;margin-top:18px;padding:16px;background:#f5f5f5;border-radius:9px;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.ew-prints-summary [data-ew-print-product-total]{border-top:1px solid #ddd;padding-top:8px;font-weight:700}
.ew-personalization :is(button,input,select,textarea):focus-visible{outline:3px solid var(--accent,#e9ae58);outline-offset:3px}
@media(max-width:767px){.ew-print-entry{padding:18px 0}.ew-print-entry-heading h3{font-size:18px}.ew-personalization .ew-print-remove{font-size:13px;padding:8px}}

/* Lightweight2D layout editor; the same SVG is reconstructed in the private work card. */
.ew-layout-editor{margin:20px 0 24px;padding:16px;border:1px solid #ddd;border-radius:12px;background:#faf9f7}
.ew-layout-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;margin-bottom:12px}.ew-layout-heading>span{font-size:13px;background:#fff;border:1px solid #dedad4;padding:4px 9px;border-radius:20px}
.ew-layout-presets{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.ew-personalization .ew-layout-presets button,.ew-personalization .ew-layout-arrows button,.ew-personalization .ew-layout-reset{background:#fff;color:#171717;border:1px solid #d1ccc4;border-radius:8px;font:inherit;letter-spacing:0;cursor:pointer;min-height:44px;box-shadow:none;transform:none;padding:8px 10px;font-size:13px;line-height:1.3}
.ew-personalization .ew-layout-presets button:hover,.ew-personalization .ew-layout-arrows button:hover{background:#eee7dd;border-color:#9d876a}
.ew-layout-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.ew-layout-canvas{min-width:0;background:radial-gradient(ellipse at 50% 45%,#fff,#eeece7);border:1px solid #e0ddd7;border-radius:10px;padding:6px;overflow:hidden}
.ew-layout-scene{display:block;width:100%;height:auto;max-height:360px;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}
[data-ew-layout-art]{cursor:grab}[data-ew-layout-stage]:active [data-ew-layout-art]{cursor:grabbing}.ew-layout-drag-hint{display:block;font-size:12px;line-height:1.5;text-align:center;color:#5e5952;padding:0 6px 8px}
.ew-layout-controls{min-width:0}.ew-personalization .ew-layout-controls label{font-size:14px;margin:0 0 8px}.ew-layout-controls output{float:right;font-weight:700;font-variant-numeric:tabular-nums}
.ew-personalization .ew-layout-controls input[type=range]{display:block;width:100%;min-height:36px;margin:0;accent-color:#947453;cursor:ew-resize;padding:0;border:0;background:none}
.ew-layout-small{display:block;font-size:12px;color:#625c54;line-height:1.5;margin:0 0 18px}.ew-layout-control-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.ew-layout-arrows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:18px}.ew-personalization .ew-layout-arrows button{font-size:22px;padding:5px}
.ew-personalization .ew-layout-controls select{font-size:15px;min-height:44px;padding:8px;margin-bottom:14px!important}.ew-personalization .ew-layout-reset{font-size:12px;text-align:left;min-height:44px}
.ew-personalization .ew-layout-disclaimer{font-size:12px;line-height:1.5;color:#625c54;margin:12px 0 0}
.ew-personalization .ew-print-preview{display:none}
@media(max-width:480px){.ew-layout-editor{padding:12px}.ew-layout-workspace{grid-template-columns:1fr}.ew-layout-scene{max-height:320px}.ew-layout-controls [data-ew-layout-text-style]{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.ew-layout-controls [data-ew-layout-text-style] label{grid-row:1}.ew-layout-controls [data-ew-layout-text-style] select{grid-row:2}.ew-personalization .ew-layout-presets button{flex:1;font-size:12px;padding:8px}.ew-layout-arrows{max-width:250px}.ew-layout-controls .ew-layout-small{margin-bottom:12px}}

/* A full-width studio after the product overview; all inputs stay in Woo's native form. */
.woocommerce div.product .summary.ew-personalization-studio{grid-column:1/-1;clear:both;float:none;width:100%;margin:32px 0 44px;padding:32px 0 0;border-top:1px solid #e4e4e4;min-width:0;scroll-margin-top:100px}
.woocommerce div.product .ew-personalization-studio>h2{font-family:var(--font-heading,inherit);font-size:clamp(26px,2.5vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.ew-personalization-studio>.ew-studio-intro{font-size:16px;line-height:1.6;margin:0 0 24px;color:#555}
.ew-personalization-studio form.cart{width:100%;max-width:none;margin:0}
.ew-personalization-studio form.cart .variations{max-width:760px}
.ew-personalization-studio .ew-personalization{padding:24px;margin-top:24px}
.ew-personalization-studio .ew-print-entry{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);column-gap:28px;row-gap:0;align-items:start}
.ew-personalization-studio .ew-print-entry-heading{grid-column:1/-1}
.ew-personalization-studio .ew-print-fields{grid-column:2;grid-row:2;min-width:0}
.ew-personalization-studio .ew-layout-editor{grid-column:1;grid-row:2;min-width:0;margin:0;padding:18px}
.ew-personalization-studio .ew-layout-workspace{grid-template-columns:minmax(0,1.6fr) minmax(180px,1fr);gap:20px}
.ew-personalization-studio .ew-layout-scene{max-height:460px}
.ew-personalization-studio .ew-layout-presets button{font-size:14px}
.ew-personalization-studio .ew-print-fields .ew-file-preview img{display:none}
.ew-personalization-studio .ew-file-preview span{font-size:13px}
.ew-personalization-studio .ew-print-add{max-width:440px;margin:20px auto 0}
.ew-personalization-studio .ew-prints-summary{grid-template-columns:1fr auto;gap:4px 20px}
.ew-personalization-studio .ew-prints-summary [data-ew-print-total-count],.ew-personalization-studio .ew-prints-summary [data-ew-print-surcharge]{grid-column:1}
.ew-personalization-studio .ew-prints-summary [data-ew-print-product-total]{grid-column:2;grid-row:1/3;align-self:center;border:0;padding:0;font-size:18px}
@media(max-width:1050px){.ew-personalization-studio .ew-print-entry{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:0 20px}.ew-personalization-studio .ew-layout-workspace{grid-template-columns:1fr}.ew-personalization-studio .ew-layout-scene{max-height:400px}.ew-personalization-studio .ew-layout-controls [data-ew-layout-text-style]{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.ew-personalization-studio .ew-layout-controls [data-ew-layout-text-style] label{grid-row:1}.ew-personalization-studio .ew-layout-controls [data-ew-layout-text-style] select{grid-row:2}}
@media(max-width:767px){.woocommerce div.product .summary.ew-personalization-studio{margin:24px 0 30px;padding-top:24px;scroll-margin-top:84px}.ew-personalization-studio .ew-personalization{padding:16px 14px}.ew-personalization-studio .ew-print-entry{display:block}.ew-personalization-studio .ew-layout-editor{margin:16px 0}.ew-personalization-studio .ew-layout-scene{max-height:320px}.ew-personalization-studio .ew-layout-editor{padding:12px}.ew-personalization-studio .ew-prints-summary{display:grid;grid-template-columns:1fr}.ew-personalization-studio .ew-prints-summary [data-ew-print-product-total]{grid-column:1;grid-row:auto;border-top:1px solid #ddd;padding-top:8px;font-size:16px}}
