.epf-builder{margin:24px 0;padding:22px;border:1px solid #e3ddd4;border-radius:16px;background:#fff;color:#242424;font-family:inherit}.epf-builder h3{font-size:23px;margin:5px 0 8px}.epf-builder p{line-height:1.5}.epf-eyebrow{font-size:11px;letter-spacing:2px;color:#51715e;font-weight:700}.epf-field{margin:18px 0}.epf-field>label{display:block;font-weight:650;margin-bottom:7px}.epf-field select,.epf-field input[type=text]{width:100%;max-width:480px;padding:12px;border:1px solid #c9c9c9;border-radius:8px;background:white}.epf-field input[type=file]{display:block;width:100%;max-width:480px;padding:10px;border:1px dashed #a3a3a3;border-radius:8px}.epf-field small,.epf-preview small{display:block;color:#696969;font-size:12px;margin-top:5px}.epf-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.epf-photo{width:115px;padding:8px;border:1px solid #d9d9d9;border-radius:9px;cursor:pointer;display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere;font-size:12px}.epf-photo:has(input:checked){border:2px solid #315b45;background:#f0f6f1}.epf-photo img{width:100%;height:100px;object-fit:cover;border-radius:5px}.epf-photo input{align-self:flex-start}.epf-preview{max-width:520px;border:1px solid #e6dfd6;border-radius:12px;padding:12px;background:#faf7f3}.epf-preview-head{display:flex;justify-content:space-between;margin-bottom:10px}.epf-stage{position:relative;aspect-ratio:1/1;background:#f3e9db;border-radius:8px;overflow:hidden;display:grid;place-items:center}.epf-stage #epf-garment{width:100%;height:100%;object-fit:contain}.epf-stage #epf-art{position:absolute;object-fit:contain;max-height:45%;max-width:50%;left:50%;top:37%;transform:translate(-50%,-50%);border-radius:2px}.epf-stage #epf-art.epf-4{width:18%;height:18%;top:37%}.epf-stage #epf-art.epf-4.epf-left{left:61%}.epf-stage #epf-art.epf-4.epf-right{left:39%}.epf-stage #epf-art.epf-4.epf-center{left:50%;top:40%}.epf-stage #epf-art.epf-6{width:32%;height:32%;top:46%}.epf-stage #epf-art.epf-8{width:43%;height:43%;top:48%}.epf-stage #epf-placeholder{position:absolute;bottom:8%;background:#fffdf9d9;padding:7px 12px;font-size:12px;border-radius:5px}.epf-summary{background:#f0f5ef;border-radius:8px;padding:11px;font-size:13px}#epf-status{font-size:13px;color:#3c6247;margin-top:8px}@media(max-width:600px){.epf-builder{padding:15px;margin:18px 0}.epf-photo{width:calc(33.333% - 7px)}.epf-photo img{height:80px}}

/* v0.2 modal and persistent price CTA, scoped to targeted products */
.epf-dialog[hidden]{display:none!important}.epf-dialog{position:fixed;inset:0;z-index:100000;display:flex;justify-content:center;align-items:center;padding:16px}.epf-dialog-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}.epf-dialog-panel{position:relative;background:#fff;width:min(100%,620px);max-height:min(92vh,900px);overflow-y:auto;border-radius:15px;box-shadow:0 15px 55px #0005}.epf-dialog-top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:white;border-bottom:1px solid #eee}.epf-dialog-top button{border:0;background:transparent;font-size:28px;cursor:pointer;line-height:1}.epf-dialog .epf-builder{border:0;margin:0;padding:18px}.epf-modal-open{overflow:hidden}.epf-modal-bottom{position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;z-index:3}.epf-modal-bottom small,.epf-sticky-price small{display:block;font-size:11px;color:#666}.epf-modal-bottom strong,.epf-sticky-price strong{display:block;font-size:17px}.epf-modal-bottom button,.epf-sticky button{background:#222;color:white;border:0;border-radius:8px;padding:13px 22px;font-weight:700;cursor:pointer}.epf-sticky button:disabled{opacity:.5;cursor:not-allowed}.epf-sticky{position:fixed;bottom:0;left:0;right:0;z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;padding:12px max(18px,calc((100vw - 1160px)/2));box-shadow:0 -3px 20px #0002;border-top:1px solid #eee}.single-product:has(.epf-sticky) {padding-bottom:80px}@media(max-width:600px){.epf-dialog{padding:0;align-items:stretch}.epf-dialog-panel{width:100%;max-height:100dvh;border-radius:0}.epf-dialog .epf-builder{padding:14px}.epf-sticky{padding:10px 14px}.epf-sticky button{padding:12px 15px}.epf-modal-bottom button{padding:12px 14px}}

/* v0.2.1 — mobile-only sticky CTA styled after the existing Logo Builder. */
.epf-sticky{display:none!important}
@media(max-width:849px){
 .epf-sticky{display:flex!important;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;bottom:0;left:0;right:0;padding:14px max(18px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#fff;border-top:1px solid #ececec;box-shadow:0 -2px 12px rgba(0,0,0,.07);z-index:9998}
 .epf-sticky-price{flex:1;min-width:0;overflow:hidden}
 .epf-sticky-price strong{display:block;font-size:23px;line-height:1.2;font-weight:750;color:#23352c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .epf-sticky-price .epf-sticky-product-name{display:block;margin-top:5px;color:#888;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .epf-sticky button{flex:none;min-height:54px;background:#315845;color:white;border-radius:12px;padding:12px 20px;font-size:16px;font-weight:700;line-height:1.15;text-transform:none;box-shadow:none;opacity:1!important}
 .epf-sticky button:disabled{opacity:1!important;cursor:pointer}
 .epf-sticky button span{font-size:18px;margin-left:3px}
 body.single-product:has(.epf-sticky){padding-bottom:95px}
}
@media(max-width:390px){.epf-sticky-price strong{font-size:19px}.epf-sticky button{padding:12px 13px;font-size:14px;min-height:50px}.epf-sticky{gap:9px}}

/* v0.2.2: show active sale/variation price fully; never truncate the amount. */
@media(max-width:849px){
 .epf-sticky-price strong{overflow:visible;text-overflow:clip;white-space:nowrap;font-size:clamp(16px,5.4vw,23px);letter-spacing:-.45px}
 .epf-sticky button{padding-inline:clamp(10px,3.2vw,20px);font-size:clamp(13px,3.7vw,16px)}
}

/* v0.2.4 — embroidery-size WooCommerce variation boxes; scoped to Faceless products. */
#epf-builder ~ .epf-variation-size-boxes{display:none}
form.cart select.epf-native-variation-size{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
form.cart .epf-variation-size-boxes{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 12px}
form.cart .epf-variation-size-box{appearance:none;background:#fff;border:1px solid #d7d7d7;border-radius:7px;color:#222;font-size:15px;font-weight:600;min-width:88px;min-height:46px;padding:10px 15px;cursor:pointer;box-shadow:none;text-transform:none;line-height:1.2}
form.cart .epf-variation-size-box.is-selected{border:2px solid #315845;background:#f0f6f2;color:#315845}
form.cart .epf-variation-size-box:focus-visible{outline:2px solid #315845;outline-offset:3px}
form.cart .epf-variation-size-box:disabled{opacity:.35;cursor:not-allowed}

/* v0.2.5: mobile-only hide the long WooCommerce product short description.
   Scope by builder presence to avoid altering logo or unrelated products. */
@media(max-width:849px){
 body.single-product:has(#epf-builder) .product-short-description,
 body.single-product:has(#epf-builder) .woocommerce-product-details__short-description{display:none!important}
}

/* v0.2.6: keep 4/6/8 inch buttons on one row, even on narrow mobile screens. */
form.cart .epf-variation-size-boxes {
 display:grid !important;
 grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 gap:6px !important;
 width:100%;
 max-width:420px;
 flex-wrap:nowrap !important;
 box-sizing:border-box;
}
form.cart .epf-variation-size-box {
 box-sizing:border-box;
 width:100%;
 min-width:0 !important;
 min-height:38px !important;
 padding:7px 3px !important;
 font-size:clamp(10px,2.8vw,13px) !important;
 line-height:1.1 !important;
 white-space:nowrap !important;
 text-align:center;
}

/* v0.2.7 native Vanquish popup, scoped to the three Faceless product pages. */
.epf-upload-dialog-body{padding:18px 20px 24px}.epf-upload-dialog-body p{font-size:14px}.epf-upload-dialog-body #epf-vanquish-host{margin:14px 0}.epf-secondary-action{display:inline-flex;align-items:center;justify-content:center;background:#315845;color:white;border:0;border-radius:8px;padding:12px 18px;font-weight:650;cursor:pointer}.epf-secondary-action:disabled{opacity:.45;cursor:not-allowed}.epf-unused-upload-field{display:none!important}.epf-upload-dialog .wcuf_product_ajax_container{display:block!important}.epf-photo-thumb{display:flex;align-items:center;justify-content:center;min-height:90px;background:#f4f1ed}.epf-photo-thumb img{height:90px;width:100%;object-fit:contain}.epf-dialog .epf-field #epf-add-photos{margin-top:12px}.epf-dialog[hidden]{display:none!important}

/* v0.2.9: in-preview color picker and separate order instructions */
.epf-colors{display:flex;flex-wrap:wrap;gap:8px}
.epf-color-choice{appearance:none;background:#fff;border:1px solid #d0d0d0;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;min-height:36px;box-shadow:none;text-transform:none}
.epf-color-choice.is-selected{border:2px solid #315845;background:#f0f6f2;color:#315845}
.epf-color-choice:focus-visible{outline:2px solid #315845;outline-offset:2px}
#epf-instructions{width:100%;box-sizing:border-box;max-width:100%;border:1px solid #ccc;border-radius:8px;padding:10px;min-height:90px;font:inherit}

/* v0.3.3: Logo-inspired preview-first layout. */
#epf-builder{display:flex;flex-direction:column;gap:3px;background:#f4eadd!important}
#epf-builder>.epf-preview{order:0;width:100%;max-width:none;box-sizing:border-box;background:#fff}
#epf-builder>.epf-field{margin:10px 0}
#epf-builder>.epf-field:has(#epf-view-tabs){order:1}
#epf-builder>.epf-field:has(#epf-color-options){order:2}
#epf-builder>.epf-field:has(#epf-size-buttons){order:3}
#epf-builder>.epf-field:has(#epf-placement-buttons){order:4}
#epf-builder>.epf-field:has(#epf-photos){order:5}
#epf-builder>.epf-field:has(#epf-text){order:6}
#epf-builder>.epf-field:has(#epf-instructions){order:7}
#epf-builder>input[type=hidden]{order:8}
#epf-builder>.epf-summary{order:9}
#epf-builder>.epf-modal-bottom{order:10}
#epf-builder>.epf-eyebrow,#epf-builder>h3,#epf-builder>p:not(.epf-summary){display:none}
.epf-view-tabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}
.epf-view-tabs button{flex:1;min-width:max-content;border:0;border-radius:8px;background:transparent;color:#18392e;padding:12px 10px;font-weight:700;cursor:pointer;text-transform:none}
.epf-view-tabs button.is-selected{background:#315845;color:#fff}
.epf-colors{display:flex;flex-wrap:wrap;gap:8px}
.epf-color-choice{width:52px;height:52px;display:grid;place-items:center;padding:5px;border-radius:11px;background:#fff;border:1px solid #ccc}
.epf-color-choice.is-selected{border:2px solid #315845;background:#e8f1e9}
.epf-color-dot{width:34px;height:34px;display:block;border-radius:50%;border:1px solid #aaa}
.epf-hidden-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.epf-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.epf-choice{min-width:0;padding:12px 4px;border-radius:9px;border:1px solid #bfbfbf;background:#fff;color:#202020;font-size:clamp(11px,2.8vw,14px);font-weight:700;cursor:pointer;text-transform:none}
.epf-choice.is-selected{background:#315845;color:#fff;border-color:#315845}
#epf-placement-buttons{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
.epf-stage #epf-art.epf-view-left-sleeve{left:20%!important;top:34%!important;width:12%!important;height:12%!important}
.epf-stage #epf-art.epf-view-right-sleeve{left:80%!important;top:34%!important;width:12%!important;height:12%!important}
.epf-modal-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:14px 0}
.epf-modal-bottom>div{min-width:0}.epf-modal-bottom strong{font-size:clamp(20px,5vw,27px);line-height:1.25;white-space:nowrap}
.epf-modal-bottom button{width:100%;min-height:58px;padding:10px;font-size:clamp(13px,3.8vw,17px);white-space:nowrap}
@media(max-width:440px){.epf-view-tabs button{font-size:12px;padding:11px 7px}.epf-color-choice{width:45px;height:45px}.epf-color-dot{width:29px;height:29px}}

/* v0.3.4: view tabs above the garment preview */
#epf-builder>.epf-field:has(#epf-view-tabs){order:-2;margin:4px 0 0}
#epf-builder>.epf-preview{order:-1}
#epf-view-tabs{width:100%}

/* v0.3.5: compact preview close button; no oversized empty modal heading. */
#epf-dialog .epf-dialog-panel{position:relative}
#epf-dialog .epf-dialog-top-compact{position:absolute;top:8px;right:8px;left:auto;z-index:30;padding:0!important;margin:0;border:0!important;background:transparent!important;min-height:0;height:auto;box-shadow:none!important}
#epf-dialog .epf-dialog-top-compact #epf-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#fff;color:#1b1b1b;font-size:27px;line-height:1;box-shadow:0 1px 7px #0002}
#epf-dialog .epf-screenreader{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#epf-dialog .epf-builder{padding-top:10px!important}
#epf-dialog .epf-stage #epf-art:not([hidden]){display:block!important;z-index:2}
#epf-dialog .epf-stage #epf-art[hidden]{display:none!important}

/* v0.3.7: understated, accessible close control without a header strip. */
#epf-dialog .epf-dialog-top-compact{top:10px!important;right:10px!important}
#epf-dialog .epf-dialog-top-compact #epf-close{box-sizing:border-box!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border:1px solid rgba(32,46,42,.10)!important;border-radius:50%!important;background:#f5f5f3!important;color:#303a36!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;cursor:pointer;transition:background .15s ease,border-color .15s ease}
#epf-dialog .epf-dialog-top-compact #epf-close:hover{background:#e8eeea!important;border-color:#9ab4a7!important}
#epf-dialog .epf-dialog-top-compact #epf-close:focus-visible{outline:2px solid #315845!important;outline-offset:3px}
#epf-dialog .epf-dialog-top-compact #epf-close svg{width:17px;height:17px;display:block;flex-shrink:0}

/* v0.3.9: one uninterrupted, horizontally scrollable color-swatch row */
#epf-dialog #epf-color-options.epf-colors{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:3px 2px 9px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
#epf-dialog #epf-color-options .epf-color-choice{flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px!important;padding:5px!important;scroll-snap-align:start}
#epf-dialog #epf-color-options .epf-color-dot{width:32px;height:32px}
/* v0.4.1: fit every available garment color in one row without scrolling. */
#epf-dialog #epf-color-options.epf-colors{
 display:grid!important;
 grid-template-columns:repeat(var(--epf-color-count, 12),minmax(0,1fr))!important;
 gap:clamp(1px,.45vw,5px)!important;
 width:100%!important;max-width:100%!important;
 overflow:visible!important;padding:3px 0 5px!important;
 scroll-snap-type:none!important;align-items:center;
}
#epf-dialog #epf-color-options .epf-color-choice{
 width:100%!important;min-width:0!important;height:auto!important;
 min-height:0!important;aspect-ratio:1/1;flex:none!important;
 padding:2px!important;border-radius:7px!important;
 display:flex!important;align-items:center;justify-content:center;
}
#epf-dialog #epf-color-options .epf-color-dot{
 display:block!important;width:100%!important;height:auto!important;
 aspect-ratio:1/1;max-width:27px!important;max-height:27px!important;
 border-radius:50%!important;
}
@media(max-width:480px){#epf-dialog #epf-color-options .epf-color-choice{padding:1px!important;border-radius:4px!important}#epf-dialog #epf-color-options .epf-color-dot{border-width:1px}}

/* v0.4.8: Garment-specific size chart, scoped to Faceless products only. */
.epf-size-guide{display:inline-flex;align-items:center;margin:4px 0 5px 10px;padding:3px 0;border:0;background:transparent;color:#315845;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:600;cursor:pointer;vertical-align:middle}
#epf-size-dialog{position:fixed;inset:0;margin:auto;max-width:min(540px,calc(100vw - 28px));width:100%;max-height:85vh;overflow:auto;box-sizing:border-box;padding:22px;border:1px solid #e0e5df;border-radius:13px;background:#fffdf9;color:#24352b;box-shadow:0 18px 70px #0004;z-index:2147483647}
#epf-size-dialog::backdrop{background:rgba(0,0,0,.55)}
#epf-size-dialog h2{font-size:22px;margin:5px 35px 8px 0;color:#233d31}
#epf-size-dialog p{font-size:13px;line-height:1.5}
#epf-size-dialog .epf-size-close{position:absolute;right:13px;top:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #e0e5df;border-radius:50%;background:#f4f6f2;color:#34483d;font-size:21px;cursor:pointer}
#epf-size-dialog .epf-size-scroll{overflow-x:auto}
#epf-size-dialog table{width:100%;border-collapse:collapse;min-width:290px;margin:14px 0}
#epf-size-dialog th,#epf-size-dialog td{padding:10px 7px;text-align:center;font-size:13px;border-bottom:1px solid #dfe5db}
#epf-size-dialog thead th{background:#335746;color:white}
#epf-size-dialog tbody th{font-weight:700}
#epf-size-dialog .epf-size-note{color:#626b62;font-size:12px}

/* v0.4.9: Place embroidery placement immediately after the mockup, before color/size. */
#epf-builder>.epf-field:has(#epf-placement-buttons){order:0;margin:5px 0 8px}
#epf-builder>.epf-field:has(#epf-placement-buttons)>label{margin-bottom:6px}
@media(max-width:600px){
 #epf-builder>.epf-preview .epf-stage{aspect-ratio:auto;height:min(64vw,300px);min-height:200px}
 #epf-builder>.epf-preview{padding:8px}
 #epf-builder>.epf-field:has(#epf-placement-buttons){margin:3px 0 7px}
 #epf-placement-buttons{gap:6px}
 #epf-placement-buttons .epf-choice{padding:10px 3px;min-height:44px}
}

/* v0.5.0: interactive crop editor; original Vanquish upload remains untouched. */
.epf-crop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
#epf-crop-label{font-size:12px;color:#315845}
.epf-crop-panel{width:min(520px,calc(100vw - 24px));max-height:92vh;overflow:auto;padding:16px;background:#fffdf9;box-sizing:border-box}
.epf-crop-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#epf-crop-close{border:1px solid #ddd;border-radius:50%;width:34px;height:34px;background:#f3f4f2;font-size:22px;cursor:pointer}
.epf-crop-panel p{font-size:13px;margin:8px 0;color:#46574c}
.epf-crop-canvas-wrap{width:100%;max-width:430px;margin:10px auto;border-radius:10px;overflow:hidden;border:1px solid #d8ded7;background:#eee}
#epf-crop-canvas{width:100%;height:auto;display:block;touch-action:none;cursor:grab}
#epf-crop-canvas:active{cursor:grabbing}
.epf-crop-zoom-label{display:flex;gap:15px;align-items:center;font-weight:600}
#epf-crop-zoom{flex:1;min-width:0}
.epf-crop-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.epf-crop-footer button{border:1px solid #315845;border-radius:9px;padding:10px 17px;cursor:pointer}
#epf-crop-save{background:#315845;color:white}
#epf-crop-cancel{background:white;color:#315845}

/* v0.5.1: embroidery size immediately follows placement under the preview. */
#epf-builder>.epf-field:has(#epf-placement-buttons){order:0;margin-bottom:3px}
#epf-builder>.epf-field:has(#epf-size-buttons){order:0;margin-top:3px;margin-bottom:8px}

/* Subtle client-side stitched-preview effect; no additional API generation. */
#epf-art.epf-ai-thread {filter: contrast(1.07) saturate(.88) drop-shadow(.5px .7px .6px rgba(0,0,0,.28));}

/* v0.5.4 — compact photo controls, refined purchase bar and flush mobile bottom. */
#epf-dialog .epf-crop-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:center!important;margin:9px 0 4px!important}
#epf-dialog .epf-crop-actions .epf-secondary-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 1 auto!important;width:auto!important;max-width:100%!important;min-width:0!important;min-height:36px!important;height:auto!important;margin:0!important;padding:9px 12px!important;border:1px solid #d5e0d7!important;border-radius:9px!important;background:#f3f7f3!important;color:#28523d!important;font-size:11px!important;font-weight:650!important;letter-spacing:0!important;line-height:1.25!important;text-transform:none!important;white-space:normal!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease!important}
#epf-dialog .epf-crop-actions #epf-bg-open{background:#315845!important;border-color:#315845!important;color:#fff!important}
#epf-dialog .epf-crop-actions #epf-bg-open:hover{background:#254637!important}
#epf-dialog .epf-crop-actions .epf-secondary-action:disabled{opacity:.55!important;cursor:wait!important}
#epf-dialog #epf-add-photos{width:auto!important;min-height:36px!important;padding:8px 12px!important;font-size:12px!important;border-radius:9px!important;text-transform:none!important}
#epf-dialog .epf-modal-bottom{box-sizing:border-box!important;position:sticky!important;bottom:0!important;z-index:8!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)!important;gap:12px!important;align-items:center!important;margin:12px -18px -18px!important;padding:13px 18px calc(14px + env(safe-area-inset-bottom,0px))!important;width:calc(100% + 36px)!important;min-width:0!important;background:#fff!important;border-top:1px solid #e7e9e6!important;border-bottom:0!important;box-shadow:0 -5px 20px rgba(20,35,25,.055)!important}
#epf-dialog .epf-modal-bottom>div{min-width:0!important}
#epf-dialog .epf-modal-bottom small{font-size:11px!important;line-height:1.3!important;color:#69736b!important}
#epf-dialog .epf-modal-bottom #epf-modal-price{font-size:clamp(20px,4.6vw,25px)!important;line-height:1.25!important;letter-spacing:-.035em!important;color:#1d3328!important}
#epf-dialog .epf-modal-bottom #epf-order{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:48px!important;margin:0!important;padding:11px 12px!important;background:#315845!important;color:#fff!important;border:0!important;border-radius:11px!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important}
#epf-dialog .epf-modal-bottom #epf-order:hover{background:#254637!important}
#epf-dialog .epf-modal-bottom #epf-order span{font-size:18px!important;font-weight:400!important}
@media(max-width:600px){
 #epf-dialog .epf-dialog-panel{max-height:100dvh!important;height:100dvh!important;min-height:0!important;border-radius:0!important;overscroll-behavior:contain!important}
 #epf-dialog .epf-builder{padding:14px 14px 0!important;min-height:100%!important;box-sizing:border-box!important}
 #epf-dialog .epf-crop-actions{gap:6px!important}
 #epf-dialog .epf-crop-actions .epf-secondary-action{min-height:34px!important;padding:8px 10px!important;font-size:10.5px!important}
 #epf-dialog .epf-modal-bottom{margin:14px -14px 0!important;width:calc(100% + 28px)!important;padding:11px 14px calc(13px + env(safe-area-inset-bottom,0px))!important;gap:10px!important}
 #epf-dialog .epf-modal-bottom #epf-order{min-height:46px!important;font-size:13px!important}
}

/* v0.5.5: single functional original-photo action and immersive crop editor. */
#epf-crop-dialog{position:fixed!important;inset:0!important;padding:0!important;margin:0!important;z-index:100100!important;align-items:stretch!important;justify-content:stretch!important}
#epf-crop-dialog .epf-dialog-backdrop{display:none!important}
#epf-crop-dialog .epf-crop-panel{box-sizing:border-box!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:0 16px calc(16px + env(safe-area-inset-bottom,0px))!important;background:#fffdf9!important}
#epf-crop-dialog .epf-crop-header{position:sticky!important;top:0!important;z-index:10!important;flex-shrink:0!important;padding:16px 0!important;min-height:58px!important;background:#fffdf9!important;border-bottom:1px solid #e7ebe6!important}
#epf-crop-dialog #epf-crop-close{position:relative!important;flex-shrink:0!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;margin:0!important;line-height:1!important}
#epf-crop-dialog .epf-crop-canvas-wrap{width:min(100%,min(62dvh,580px))!important;max-width:580px!important;flex-shrink:0!important;margin:12px auto!important}
#epf-crop-dialog .epf-crop-zoom-label{width:min(100%,580px)!important;margin:8px auto!important}
#epf-crop-dialog #epf-crop-status{width:min(100%,580px)!important;margin:8px auto!important}
#epf-crop-dialog .epf-crop-footer{position:sticky!important;bottom:0!important;z-index:10!important;flex-shrink:0!important;margin-top:auto!important;padding:12px 0 calc(8px + env(safe-area-inset-bottom,0px))!important;background:#fffdf9!important;border-top:1px solid #e7ebe6!important}
#epf-crop-dialog .epf-crop-footer button{min-height:42px!important;margin:0!important}
@media(max-width:600px){#epf-crop-dialog .epf-crop-canvas-wrap{width:min(100%,52dvh)!important}#epf-crop-dialog .epf-crop-panel{padding-left:14px!important;padding-right:14px!important}}
/* v0.5.7: preview credits */
.epf-credit-count{font-size:12px;color:#365642;padding:7px 10px;border-radius:8px;background:#edf5ef;margin:8px 0}
#epf-buy-credits{font-size:12px!important;padding:8px 12px!important;margin:4px 0 10px!important;background:#315845!important;color:#fff!important;border-radius:8px!important}

/* v0.6.0 beta: full-screen crop / illustration approval workspace */
#epf-crop-dialog{padding:0}#epf-crop-dialog .epf-crop-panel{width:100vw;max-width:none;max-height:100dvh;height:100dvh;border-radius:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px;overflow:auto}#epf-crop-dialog .epf-crop-header{width:min(100%,850px);display:flex;justify-content:space-between}#epf-crop-dialog .epf-crop-canvas-wrap{width:min(100%,min(58vh,640px))}#epf-crop-dialog .epf-editor-actions{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(100%,640px)}#epf-editor-ai-image{width:min(100%,300px);max-height:300px;object-fit:contain;border:1px solid #ddd;border-radius:12px}#epf-editor-ai-image[hidden]{display:none}#epf-editor-approve:disabled{opacity:.45}

/* v0.6.1 compact crop and optional AI preview */
#epf-crop-dialog .epf-crop-panel{gap:7px!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))!important;justify-content:flex-start!important}
#epf-crop-dialog .epf-crop-canvas-wrap{width:min(100%,42dvh,410px)!important;flex:0 1 auto!important}
#epf-crop-dialog .epf-crop-footer{width:100%;display:flex;gap:8px;justify-content:center;position:sticky;bottom:0}
#epf-crop-dialog .epf-crop-footer button{font-size:13px!important;padding:9px 12px!important;min-height:38px!important}
#epf-crop-save,#epf-editor-generate{background:#315845;color:white;border:1px solid #315845;border-radius:9px}
.epf-ai-preview-entry{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:10px 0}.epf-ai-preview-entry small{font-size:12px;color:#647267}
.epf-ai-panel{width:min(440px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:20px;background:#fffdf9;border-radius:16px}
.epf-ai-panel p{font-size:14px;line-height:1.5}.epf-ai-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.epf-ai-buttons button{font-size:13px;line-height:1.25;padding:10px 13px;border-radius:9px;cursor:pointer}.epf-ai-buttons #epf-ai-continue{background:white;border:1px solid #315845;color:#315845}
#epf-editor-ai-image{max-height:230px;max-width:100%;object-fit:contain;margin:auto}

/* v0.6.2: compact confirmation, full-screen generated result */
#epf-ai-ask{font-size:12px!important;padding:7px 11px!important;min-height:32px!important;max-width:max-content!important;width:auto!important;line-height:1.2!important}
.epf-ai-preview-entry{margin:7px 0!important}
#epf-ai-confirm:not(.epf-ai-result-mode) .epf-ai-panel{width:min(390px,calc(100vw - 32px))!important;max-height:calc(100dvh - 40px)!important;border-radius:16px!important;padding:18px!important;margin:auto!important}
#epf-ai-confirm.epf-ai-result-mode .epf-ai-panel{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px))!important;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box}
#epf-ai-confirm.epf-ai-result-mode #epf-ai-result{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;gap:8px}
#epf-ai-confirm.epf-ai-result-mode #epf-editor-ai-image{display:block;max-height:min(64dvh,700px)!important;width:100%;object-fit:contain}
#epf-ai-confirm .epf-ai-buttons{justify-content:center}
#epf-ai-confirm .epf-ai-buttons button{font-size:12px!important;padding:9px 12px!important;min-height:36px!important;width:auto!important}
#epf-ai-confirm.epf-ai-result-mode .epf-ai-buttons{margin-top:auto;display:flex;gap:8px}
#epf-ai-confirm.epf-ai-result-mode .epf-ai-buttons button{flex:1}
#epf-ai-confirm [hidden]{display:none!important}

#epf-bg-open[hidden],#epf-crop-reset[hidden]{display:none!important}
#epf-ai-confirm.epf-ai-result-mode .epf-ai-panel>.epf-crop-header+p{display:none!important}
#epf-ai-confirm.epf-ai-result-mode .epf-result-title{font-weight:700;font-size:16px;margin:0}

/* v0.6.5: legacy internal trigger must never be visible */
#epf-bg-open,#epf-dialog #epf-bg-open,#epf-dialog .epf-crop-actions #epf-bg-open{display:none!important;visibility:hidden!important}

/* v0.6.9: show verified source crop next to generated result */
.epf-ai-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:950px;margin:8px auto}
.epf-ai-compare>div{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.epf-ai-compare strong{font-size:13px}
#epf-ai-confirm.epf-ai-result-mode .epf-ai-compare img{display:block;width:100%;height:min(57dvh,610px);max-height:min(57dvh,610px)!important;object-fit:contain;border:1px solid #e3e3e3;border-radius:10px;background:#fff}
@media(max-width:550px){.epf-ai-compare{gap:7px}.epf-ai-compare strong{font-size:11px}#epf-ai-confirm.epf-ai-result-mode .epf-ai-compare img{height:min(48dvh,430px);max-height:min(48dvh,430px)!important}}

/* v0.6.10: real request-state feedback */
#epf-ai-confirm.epf-ai-loading #epf-ai-status{display:flex;align-items:center;gap:12px;padding:15px;border-radius:12px;background:#f2f6f3;color:#264b39;font-weight:600;line-height:1.5}
#epf-ai-confirm.epf-ai-loading #epf-ai-status:before{content:"";flex:0 0 24px;width:24px;height:24px;border:3px solid #c5d6cb;border-top-color:#275e43;border-radius:50%;animation:epf-ai-spin .85s linear infinite}
#epf-ai-confirm.epf-ai-loading #epf-editor-generate{opacity:.65;cursor:wait}
@keyframes epf-ai-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#epf-ai-confirm.epf-ai-loading #epf-ai-status:before{animation:none}}

/* v0.6.11: optional order-now path during AI generation */
.epf-ai-skip{margin:14px 0;padding:16px;border:1px solid #d6e4da;background:#f7faf8;border-radius:12px;text-align:center}
.epf-ai-skip strong{display:block;font-size:16px;color:#264b39}
.epf-ai-skip p{margin:8px 0 12px;line-height:1.5}
.epf-ai-skip button{display:block;width:100%;padding:12px 16px;border:0;border-radius:9px;background:#315845;color:#fff;font-weight:700;cursor:pointer}
.epf-ai-skip small{display:block;margin-top:9px;color:#607066}

/* v0.6.14: desktop-only Customise Now entry point above cart controls. */
form.cart .epf-desktop-customise{display:block;width:100%;margin:16px 0 14px;min-height:50px;border:0;border-radius:8px;background:#315845;color:#fff;font-size:16px;font-weight:700;text-transform:none;cursor:pointer;transition:background .15s ease}
form.cart .epf-desktop-customise:hover,form.cart .epf-desktop-customise:focus-visible{background:#244333;color:#fff}
form.cart .epf-needs-selection{outline:2px solid #315845;outline-offset:5px;border-radius:5px}
@media(max-width:849px){form.cart .epf-desktop-customise{display:none!important}}

/* v0.6.15: make ordering the primary action in the optional AI confirmation. */
#epf-ai-confirm:not(.epf-ai-result-mode) .epf-ai-buttons #epf-ai-continue{background:#315845!important;border:1px solid #315845!important;color:#fff!important;font-weight:700!important;order:0}
#epf-ai-confirm:not(.epf-ai-result-mode) .epf-ai-buttons #epf-editor-generate{background:#fff!important;border:1px solid #315845!important;color:#315845!important;font-weight:700!important;order:1}
#epf-ai-confirm:not(.epf-ai-result-mode) .epf-ai-buttons #epf-editor-generate:disabled{opacity:.55;cursor:not-allowed}

/* v0.6.16: explicit button hierarchy on every viewport, including theme hover/focus rules. */
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-ai-continue,
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-ai-continue:hover,
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-ai-continue:focus{
 background:#315845!important;background-color:#315845!important;color:#fff!important;
 border:1px solid #315845!important;box-shadow:none!important;order:0!important;
}
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-editor-generate,
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-editor-generate:hover,
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-editor-generate:focus{
 background:#fff!important;background-color:#fff!important;color:#315845!important;
 border:1px solid #315845!important;box-shadow:none!important;order:1!important;
}

/* v0.6.17: two explicit shopping actions in the preview footer */
#epf-modal-add-to-cart{background:#fff!important;color:#315845!important;border:1px solid #315845!important;border-radius:7px;padding:12px 18px;cursor:pointer;font-weight:700;}
#epf-modal-add-to-cart:disabled{opacity:.55;cursor:wait;}
@media(max-width:600px){.epf-modal-bottom{flex-wrap:wrap;gap:8px}.epf-modal-bottom #epf-modal-add-to-cart,.epf-modal-bottom #epf-order{flex:1 1 42%;min-width:120px}}

/* Centered rectangular post-cart confirmation, responsive on all devices. */
#epf-cart-success[hidden]{display:none!important}
#epf-cart-success .epf-cart-success-panel{width:min(92vw,480px);max-width:480px;padding:30px 24px;text-align:center;border-radius:14px;position:relative;box-sizing:border-box}
#epf-cart-success-close{position:absolute;right:12px;top:10px;background:transparent;border:0;font-size:26px;cursor:pointer}
.epf-cart-success-check{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#315845;color:white;display:grid;place-items:center;font-size:28px}
#epf-cart-success-title{font-size:23px;margin:0 0 10px}
.epf-cart-success-question{font-weight:700;margin-top:20px}
.epf-cart-success-actions{display:flex;gap:12px;margin-top:15px}
.epf-cart-success-actions button{flex:1;min-height:48px;border-radius:9px;font-weight:700;cursor:pointer}
#epf-cart-explore{background:white;color:#315845;border:1px solid #315845}
#epf-cart-checkout{background:#315845;color:white;border:1px solid #315845}
@media(max-width:390px){#epf-cart-success .epf-cart-success-panel{padding:26px 14px}.epf-cart-success-actions{gap:8px}.epf-cart-success-actions button{font-size:13px}}


/* v0.6.23 responsive purchase row: price, cart, buy in one line */
#epf-dialog .epf-modal-bottom{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.2fr) minmax(0,1.2fr)!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}
#epf-dialog .epf-modal-bottom>div{min-width:0!important;overflow:hidden}
#epf-dialog .epf-modal-bottom small{font-size:10px!important;white-space:nowrap!important}
#epf-dialog .epf-modal-bottom #epf-modal-price{font-size:clamp(16px,3.8vw,23px)!important;white-space:nowrap!important}
#epf-dialog .epf-modal-bottom #epf-modal-add-to-cart,#epf-dialog .epf-modal-bottom #epf-order{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:48px!important;height:48px!important;padding:6px 5px!important;margin:0!important;border-radius:9px!important;font-size:clamp(10px,2.65vw,14px)!important;line-height:1.15!important;white-space:nowrap!important;letter-spacing:0!important;box-sizing:border-box!important;flex:none!important;text-transform:uppercase!important}
#epf-dialog .epf-modal-bottom #epf-modal-add-to-cart{background:#fff!important;color:#315845!important;border:1px solid #315845!important;box-shadow:none!important}
#epf-dialog .epf-modal-bottom #epf-order{background:#315845!important;color:#fff!important;border:1px solid #315845!important;box-shadow:none!important}
#epf-dialog .epf-modal-bottom #epf-order span{font-size:14px!important}
@media(max-width:390px){#epf-dialog .epf-modal-bottom{grid-template-columns:minmax(0,.7fr) minmax(0,1.18fr) minmax(0,1.18fr)!important;gap:6px!important}#epf-dialog .epf-modal-bottom #epf-modal-add-to-cart,#epf-dialog .epf-modal-bottom #epf-order{font-size:10px!important;min-height:44px!important;height:44px!important}#epf-dialog .epf-modal-bottom #epf-order span{display:none!important}}
/* v0.6.23 center the cart confirmation popup on all viewports */
#epf-cart-success{position:fixed!important;inset:0!important;z-index:100100!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;box-sizing:border-box!important}
#epf-cart-success .epf-cart-success-panel{position:relative!important;width:min(100%,440px)!important;max-width:440px!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;border-radius:16px!important;padding:28px 22px 24px!important;margin:auto!important;background:#fff!important;box-sizing:border-box!important}
#epf-cart-success .epf-cart-success-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
#epf-cart-success .epf-cart-success-actions button{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:46px!important;padding:10px 5px!important;margin:0!important;font-size:clamp(11px,3vw,14px)!important;line-height:1.2!important;text-transform:none!important;border-radius:9px!important;white-space:nowrap!important;box-sizing:border-box!important}
#epf-cart-success #epf-cart-explore{background:#fff!important;color:#315845!important;border:1px solid #315845!important}
#epf-cart-success #epf-cart-checkout{background:#315845!important;color:#fff!important;border:1px solid #315845!important}
@media(max-width:390px){#epf-cart-success .epf-cart-success-panel{padding:26px 14px 20px!important}#epf-cart-success .epf-cart-success-actions{gap:8px!important}}

/* v0.6.25 dark cart success popup, two equal buttons on all viewports */
#epf-cart-success:not([hidden]){position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;z-index:100100!important}
#epf-cart-success .epf-dialog-backdrop{background:rgba(0,0,0,.78)!important}
#epf-cart-success .epf-cart-success-panel{background:#303030!important;color:#f8f8f8!important;width:min(100%,520px)!important;max-width:520px!important;padding:30px 24px 24px!important;border-radius:16px!important;box-shadow:0 18px 70px rgba(0,0,0,.34)!important;text-align:center!important}
#epf-cart-success #epf-cart-success-title,#epf-cart-success .epf-cart-success-question{color:#fff!important}
#epf-cart-success .epf-cart-success-panel>p:not(.epf-cart-success-question){color:#e1e1e1!important}
#epf-cart-success .epf-cart-success-check{background:#315845!important;color:#fff!important}
#epf-cart-success #epf-cart-success-close{color:#f5f5f5!important}
#epf-cart-success .epf-cart-success-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important;width:100%!important}
#epf-cart-success .epf-cart-success-actions button{min-width:0!important;width:100%!important;min-height:48px!important;padding:10px 8px!important;margin:0!important;font-size:clamp(12px,2.8vw,14px)!important;font-weight:700!important;border-radius:10px!important;line-height:1.2!important;opacity:1!important;text-transform:none!important}
#epf-cart-success #epf-cart-explore,#epf-cart-success #epf-cart-explore:hover,#epf-cart-success #epf-cart-explore:focus{background:transparent!important;color:#fff!important;border:1px solid #688e79!important;box-shadow:none!important}
#epf-cart-success #epf-cart-checkout,#epf-cart-success #epf-cart-checkout:hover,#epf-cart-success #epf-cart-checkout:focus{background:#315845!important;color:#fff!important;border:1px solid #315845!important;box-shadow:none!important}
@media(max-width:390px){#epf-cart-success .epf-cart-success-panel{padding:26px 16px 20px!important}#epf-cart-success .epf-cart-success-actions{gap:8px!important}#epf-cart-success .epf-cart-success-actions button{font-size:12px!important;min-height:46px!important}}

/* v0.6.28 paid illustration prompt */
#epf-ai-confirm .epf-ai-panel{background:#080808!important;color:#f3f3f3!important;border:1px solid #333!important;border-radius:20px!important;text-align:center!important;max-width:960px!important}
#epf-ai-confirm .epf-ai-panel p{color:#d4d4d4!important}
#epf-ai-confirm .epf-crop-header{justify-content:center!important}
#epf-ai-confirm .epf-crop-header strong{color:#fff!important}
#epf-ai-confirm #epf-buy-credits{background:#ededed!important;color:#111!important;border-radius:999px!important;width:100%!important;padding:15px!important;font-weight:700!important}
#epf-ai-confirm #epf-editor-generate{display:none!important}
#epf-ai-confirm .epf-ai-buttons button{max-width:100%!important}

/* v0.6.30: crop rotation and one functional paid preview CTA in modal */
#epf-crop-dialog .epf-crop-rotate-actions{display:flex;justify-content:center;gap:10px;margin:12px auto;max-width:580px}
#epf-crop-dialog .epf-crop-rotate-actions button{flex:1;min-height:43px;border:1px solid #315845;background:#fff;color:#315845;border-radius:9px;font-weight:700;cursor:pointer}
#epf-ai-confirm:not(.epf-ai-result-mode) .epf-ai-buttons{display:flex!important;flex-direction:column!important;gap:10px!important}
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-buy-credits{display:block;width:100%!important;min-height:48px!important;order:0!important;background:#eee!important;color:#111!important;border:1px solid #eee!important;border-radius:12px!important;font-weight:700!important}
#epf-ai-confirm:not(.epf-ai-result-mode) #epf-ai-continue{display:block;width:100%!important;min-height:45px!important;order:1!important;background:transparent!important;color:#f5f5f5!important;border:1px solid #777!important;border-radius:12px!important}
#epf-ai-confirm #epf-editor-generate{display:none!important}
#epf-ai-confirm #epf-buy-credits[hidden],#epf-ai-confirm #epf-ai-continue[hidden]{display:none!important}
#epf-ai-confirm #epf-buy-credits:disabled{opacity:.55!important;cursor:not-allowed!important}

/* v0.6.31: browse categories after a successful cart addition */
#epf-explore-dialog:not([hidden]){position:fixed!important;inset:0!important;z-index:100110!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:14px!important;}
#epf-explore-dialog .epf-dialog-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.8)!important;}
#epf-explore-dialog .epf-explore-panel{position:relative!important;background:#222!important;color:#fff!important;border-radius:16px!important;width:min(100%,560px)!important;max-width:560px!important;max-height:min(90vh,780px)!important;overflow-y:auto!important;padding:25px 20px!important;box-shadow:0 20px 65px #0008!important;}
#epf-explore-dialog #epf-explore-close{position:absolute!important;right:13px!important;top:9px!important;color:#fff!important;background:transparent!important;border:0!important;font-size:26px!important;padding:4px 9px!important;}
#epf-explore-dialog #epf-explore-title{color:#fff!important;text-align:center!important;margin:3px 35px 4px!important;font-size:23px!important;}
#epf-explore-dialog .epf-explore-subtitle{color:#c6c6c6!important;text-align:center!important;margin:0 0 18px!important;font-size:14px!important;}
#epf-explore-dialog .epf-explore-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
#epf-explore-dialog .epf-explore-category{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;gap:7px!important;padding:17px 9px!important;border-radius:12px!important;border:1px solid #454545!important;background:#303030!important;color:#fff!important;text-decoration:none!important;min-height:140px!important;}
#epf-explore-dialog .epf-explore-category:hover,#epf-explore-dialog .epf-explore-category:focus{border-color:#74a989!important;background:#36483e!important;}
#epf-explore-dialog .epf-explore-category strong{font-size:14px!important;color:#fff!important;line-height:1.3!important;}
#epf-explore-dialog .epf-explore-category span:last-child{font-size:12px!important;color:#c6c6c6!important;}
#epf-explore-dialog .epf-explore-emoji{font-size:30px!important;line-height:1.2!important;}
#epf-explore-dialog .epf-explore-collection{grid-column:1/-1!important;min-height:106px!important;background:#2c4235!important;}
#epf-explore-dialog #epf-explore-back{display:block!important;margin:16px auto 0!important;padding:8px 16px!important;background:transparent!important;border:1px solid #777!important;border-radius:8px!important;color:#fff!important;}
@media(max-width:420px){#epf-explore-dialog .epf-explore-panel{padding:23px 13px!important;}#epf-explore-dialog .epf-explore-grid{gap:8px!important;}#epf-explore-dialog .epf-explore-category{padding:12px 6px!important;min-height:120px!important;}#epf-explore-dialog .epf-explore-category strong{font-size:12px!important;}#epf-explore-dialog .epf-explore-emoji{font-size:25px!important;}}

/* v0.6.32: three full-width, centered Explore More actions */
#epf-explore-dialog .epf-explore-grid{display:flex!important;flex-direction:column!important;gap:12px!important;}
#epf-explore-dialog .epf-explore-category,#epf-explore-dialog .epf-explore-category.epf-explore-collection{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:100%!important;min-height:90px!important;padding:16px!important;gap:8px!important;border:1px solid #466a53!important;border-radius:12px!important;background:#354d3e!important;color:#fff!important;box-sizing:border-box!important;text-decoration:none!important;}
#epf-explore-dialog .epf-explore-category:hover,#epf-explore-dialog .epf-explore-category:focus-visible{background:#42654f!important;border-color:#89b69a!important;outline-offset:2px!important;}
#epf-explore-dialog .epf-explore-category strong{font-size:15px!important;line-height:1.3!important;color:#fff!important;text-align:center!important;}
#epf-explore-dialog .epf-explore-emoji{font-size:25px!important;line-height:1!important;color:#fff!important;}
#epf-explore-dialog .epf-explore-cart-note{text-align:center!important;color:#c6c6c6!important;font-size:12px!important;margin:14px 0 0!important;}
@media(max-width:420px){#epf-explore-dialog .epf-explore-category{min-height:85px!important;padding:14px 10px!important;}#epf-explore-dialog .epf-explore-category strong{font-size:14px!important;}}

/* v0.6.34 — clean, readable processing screen */
#epf-ai-confirm.epf-ai-loading .epf-ai-panel{background:#101010!important;color:#fff!important;max-width:580px!important;padding:20px 18px!important}
#epf-ai-confirm.epf-ai-loading .epf-crop-header,#epf-ai-confirm.epf-ai-loading .epf-ai-panel>p:not(#epf-ai-status),#epf-ai-confirm.epf-ai-loading .epf-ai-buttons{display:none!important}
#epf-ai-confirm.epf-ai-loading #epf-ai-status{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;min-height:105px!important;margin:0 0 14px!important;padding:20px!important;border-radius:15px!important;background:#fff!important;color:#161d19!important;font-size:15px!important;font-weight:650!important;text-align:center!important;line-height:1.45!important;opacity:1!important}
#epf-ai-confirm.epf-ai-loading #epf-ai-status:before{border-color:#d4e1d8!important;border-top-color:#315845!important;flex-shrink:0!important}
#epf-ai-confirm.epf-ai-loading .epf-ai-skip{display:block!important;margin:0!important;padding:20px!important;background:#fff!important;border:0!important;border-radius:15px!important;color:#171c18!important;text-align:center!important}
#epf-ai-confirm.epf-ai-loading .epf-ai-skip strong{font-size:21px!important;color:#315845!important}
#epf-ai-confirm.epf-ai-loading .epf-ai-skip p{color:#1e2922!important;font-size:14px!important;line-height:1.5!important;opacity:1!important}
#epf-ai-confirm.epf-ai-loading .epf-ai-skip small{color:#39463e!important}
#epf-ai-confirm.epf-ai-loading .epf-ai-skip button{color:#fff!important;background:#315845!important;opacity:1!important}
/* Original photo shown in full at 1x; the canvas is the resulting square, with margins. */
#epf-crop-dialog .epf-crop-panel{background:#fff!important;color:#161616!important}
#epf-crop-dialog .epf-crop-header{padding:10px 0!important;align-items:center!important}
#epf-crop-dialog .epf-crop-header strong{font-size:23px!important;color:#151515!important}
#epf-crop-dialog .epf-crop-panel>p{color:#525a55!important;font-size:15px!important;line-height:1.5!important;text-align:center!important;max-width:580px!important}
#epf-crop-dialog .epf-crop-canvas-wrap{border:1px solid #dce2dc!important;border-radius:16px!important;background:repeating-conic-gradient(#e8e8e8 0 25%,#f7f7f7 0 50%) 50%/22px 22px!important;box-shadow:0 4px 16px rgba(0,0,0,.06)!important}
#epf-crop-dialog #epf-crop-canvas{width:100%!important;height:auto!important;display:block!important;touch-action:none!important}
#epf-crop-dialog .epf-crop-rotate-actions button{border-radius:12px!important;min-height:50px!important;background:#fff!important;color:#315845!important}
#epf-crop-dialog #epf-crop-save{background:#315845!important;color:#fff!important;border-radius:12px!important}
#epf-crop-dialog #epf-crop-cancel{border-radius:12px!important}
@media(max-width:600px){#epf-ai-confirm.epf-ai-loading .epf-ai-panel{padding:14px!important}#epf-ai-confirm.epf-ai-loading #epf-ai-status{font-size:14px!important;min-height:95px!important}}

/* v0.6.35 interactive selection: avoid touch-scroll while manipulating canvas */
#epf-crop-canvas{touch-action:none;cursor:crosshair;border-radius:12px;}
.epf-crop-canvas-wrap{max-width:560px;margin-inline:auto;background:#eeeae4;border-radius:14px;overflow:hidden;}

/* v0.6.36: Logo-style full-photo crop; override old mobile 42dvh cap. */
#epf-crop-dialog .epf-crop-panel{
  background:#fff!important;gap:10px!important;padding:12px 16px 24px!important;
}
#epf-crop-dialog .epf-crop-canvas-wrap{
  width:min(100%,calc(100vw - 32px),min(640px,calc(100dvh - 335px)))!important;
  min-width:0!important;max-width:640px!important;
  flex:0 0 auto!important;aspect-ratio:1/1!important;
  margin:8px auto!important;overflow:hidden!important;
  background:repeating-conic-gradient(#e9e9e9 0 25%,#f8f8f8 0 50%) 50%/20px 20px!important;
}
#epf-crop-dialog #epf-crop-canvas{
  display:block!important;width:100%!important;height:100%!important;
  aspect-ratio:1/1!important;object-fit:contain!important;
}
#epf-crop-dialog .epf-crop-choice{
  display:flex;gap:10px;justify-content:center;align-items:stretch;
  width:min(100%,640px);margin:4px auto;
}
#epf-crop-dialog .epf-crop-choice button{
  flex:1;min-width:0;border:1px solid #cad5cc;border-radius:10px;
  padding:10px 8px;min-height:46px;background:#fff;color:#254b36;
  font-size:13px;font-weight:700;text-transform:none;letter-spacing:0;
}
#epf-crop-dialog .epf-crop-choice button[aria-pressed="true"]{
  background:#315845!important;color:white!important;border-color:#315845!important;
}
@media(max-width:600px){
 #epf-crop-dialog .epf-crop-canvas-wrap{
   width:min(calc(100vw - 32px),max(220px,calc(100dvh - 355px)))!important;
 }
 #epf-crop-dialog .epf-crop-panel>p{margin:6px 0!important;font-size:13px!important}
 #epf-crop-dialog .epf-crop-rotate-actions{margin:4px auto!important}
 #epf-crop-dialog .epf-crop-rotate-actions button{min-height:42px!important}
 #epf-crop-dialog #epf-crop-status{font-size:12px!important;margin:4px auto!important}
}

/* v0.6.37 — refined mobile crop dialog; layout only, crop math unchanged */
#epf-crop-dialog .epf-crop-panel{
 box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
 width:min(100%,580px)!important;max-width:580px!important;
 max-height:min(96dvh,900px)!important;overflow-y:auto!important;
 padding:18px 20px 16px!important;gap:10px!important;
 background:#fff!important;border-radius:22px!important;
 box-shadow:0 24px 65px rgba(0,0,0,.24)!important;
}
#epf-crop-dialog .epf-crop-header{
 display:flex!important;justify-content:space-between!important;align-items:flex-start!important;
 margin:0!important;padding:0 0 12px!important;border-bottom:1px solid #eef0ec!important;
}
#epf-crop-dialog .epf-crop-heading{display:flex;flex-direction:column;gap:4px;min-width:0}
#epf-crop-dialog .epf-crop-heading strong{font-size:21px!important;line-height:1.25!important;color:#172b20!important;letter-spacing:-.4px}
#epf-crop-dialog .epf-crop-heading span{font-size:12px!important;color:#77827a!important;line-height:1.4!important}
#epf-crop-dialog #epf-crop-close{
 width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
 border-radius:50%!important;background:#f5f6f4!important;border:1px solid #e8eae6!important;
 color:#48544b!important;font-size:22px!important;padding:0!important;line-height:1!important;
}
#epf-crop-dialog .epf-crop-canvas-wrap{
 width:min(100%,min(520px,calc(100dvh - 320px)))!important;
 aspect-ratio:1/1!important;max-width:520px!important;min-width:0!important;
 margin:2px auto 0!important;border-radius:14px!important;
 border:1px solid #e6e8e4!important;box-shadow:0 2px 12px rgba(20,40,25,.05)!important;
 background:#f3f2ee!important;overflow:hidden!important;
}
#epf-crop-dialog #epf-crop-canvas{width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;border-radius:12px!important}
#epf-crop-dialog .epf-crop-choice{
 width:min(100%,520px)!important;margin:0 auto!important;padding:3px!important;
 gap:3px!important;border-radius:12px!important;background:#f2f4f0!important;
 display:flex!important;align-items:stretch!important;
}
#epf-crop-dialog .epf-crop-choice button{
 flex:1!important;min-width:0!important;min-height:39px!important;
 margin:0!important;padding:8px 7px!important;border-radius:9px!important;
 font-size:13px!important;font-weight:650!important;line-height:1.2!important;
 background:transparent!important;color:#526358!important;border:1px solid transparent!important;
 box-shadow:none!important;text-transform:none!important;letter-spacing:0!important;
}
#epf-crop-dialog .epf-crop-choice button[aria-pressed="true"]{
 background:#315845!important;color:#fff!important;border-color:#315845!important;
}
#epf-crop-dialog .epf-crop-rotate-actions{
 width:min(100%,520px)!important;display:flex!important;gap:8px!important;
 margin:0 auto!important;justify-content:center!important;
}
#epf-crop-dialog .epf-crop-rotate-actions button{
 flex:1!important;min-width:0!important;min-height:39px!important;
 padding:7px 10px!important;margin:0!important;
 border-radius:10px!important;border:1px solid #d8e0da!important;
 background:#fff!important;color:#315845!important;font-size:14px!important;
 font-weight:600!important;letter-spacing:0!important;text-transform:none!important;
 line-height:1.3!important;box-shadow:none!important;
}
#epf-crop-dialog .epf-crop-rotate-actions button span{font-size:13px!important}
#epf-crop-dialog .epf-crop-zoom-row{
 width:min(100%,520px)!important;display:flex;align-items:center;gap:12px;
 margin:0 auto!important;color:#75847a;font-size:20px;font-weight:500;
}
#epf-crop-dialog .epf-crop-zoom-label{flex:1;display:block!important;margin:0!important;padding:0!important}
#epf-crop-dialog #epf-crop-zoom{display:block;width:100%!important;margin:0!important;accent-color:#315845!important;height:25px!important}
#epf-crop-dialog .epf-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#epf-crop-dialog #epf-crop-status{
 width:min(100%,520px)!important;margin:0 auto!important;
 text-align:center!important;font-size:11px!important;line-height:1.35!important;
 color:#818b83!important;min-height:0!important;
}
#epf-crop-dialog .epf-crop-footer{
 width:100%!important;display:flex!important;gap:10px!important;
 position:sticky!important;bottom:-16px!important;background:#fff!important;
 margin:0!important;padding:12px 0 3px!important;
 border-top:1px solid #eef0ec!important;z-index:2!important;
}
#epf-crop-dialog .epf-crop-footer button{
 margin:0!important;border-radius:10px!important;min-height:46px!important;
 padding:9px 12px!important;font-size:13px!important;line-height:1.2!important;
 text-transform:none!important;letter-spacing:0!important;
}
#epf-crop-dialog #epf-crop-cancel{flex:1!important;border:1px solid #d4ded6!important;background:#fff!important;color:#315845!important}
#epf-crop-dialog #epf-crop-save{flex:2!important;background:#315845!important;color:#fff!important;border:1px solid #315845!important}
@media(max-width:600px){
 #epf-crop-dialog .epf-crop-panel{width:calc(100vw - 20px)!important;max-height:96dvh!important;padding:15px 14px 12px!important;gap:9px!important;border-radius:18px!important}
 #epf-crop-dialog .epf-crop-canvas-wrap{width:min(100%,calc(100dvh - 315px))!important;min-height:0!important;margin:0 auto!important}
 #epf-crop-dialog .epf-crop-heading strong{font-size:19px!important}
 #epf-crop-dialog .epf-crop-choice button{font-size:12px!important;min-height:37px!important}
 #epf-crop-dialog .epf-crop-footer{bottom:-12px!important;padding:10px 0 2px!important}
}

/* v0.6.38 — truly full-viewport crop editor, including small-screen override. */
html:has(#epf-crop-dialog:not([hidden])){overflow:hidden!important}
body:has(#epf-crop-dialog:not([hidden])){overflow:hidden!important}
#epf-crop-dialog:not([hidden]){
 position:fixed!important;inset:0!important;top:0!important;left:0!important;
 width:100vw!important;height:100vh!important;height:100dvh!important;
 margin:0!important;padding:0!important;z-index:2147483000!important;
 display:flex!important;align-items:stretch!important;justify-content:stretch!important;
 background:#fff!important;overflow:hidden!important;
}
#epf-crop-dialog .epf-dialog-backdrop{display:none!important}
#epf-crop-dialog .epf-crop-panel{
 box-sizing:border-box!important;position:relative!important;
 flex:1 1 auto!important;width:100vw!important;max-width:none!important;
 min-width:0!important;height:100vh!important;height:100dvh!important;
 min-height:0!important;max-height:none!important;
 margin:0!important;padding:0 16px calc(8px + env(safe-area-inset-bottom,0px))!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:#fff!important;display:flex!important;flex-direction:column!important;
 align-items:center!important;justify-content:flex-start!important;
 gap:8px!important;overflow-y:auto!important;overscroll-behavior:contain!important;
}
#epf-crop-dialog .epf-crop-header{
 box-sizing:border-box!important;position:sticky!important;top:0!important;
 flex:0 0 auto!important;z-index:5!important;width:100%!important;max-width:760px!important;
 padding:12px 0!important;margin:0!important;background:#fff!important;
}
#epf-crop-dialog .epf-crop-canvas-wrap{
 box-sizing:border-box!important;flex:0 0 auto!important;
 width:min(calc(100vw - 32px),520px,calc(100dvh - 295px))!important;
 max-width:520px!important;min-width:0!important;min-height:0!important;
 height:auto!important;aspect-ratio:1/1!important;
 margin:4px auto!important;
}
#epf-crop-dialog #epf-crop-canvas{width:100%!important;height:100%!important}
#epf-crop-dialog .epf-crop-choice,
#epf-crop-dialog .epf-crop-rotate-actions,
#epf-crop-dialog .epf-crop-zoom-row,
#epf-crop-dialog #epf-crop-status{flex:0 0 auto!important;width:min(100%,520px)!important}
#epf-crop-dialog .epf-crop-footer{
 position:sticky!important;bottom:0!important;z-index:6!important;
 box-sizing:border-box!important;flex:0 0 auto!important;
 width:100%!important;max-width:760px!important;margin-top:auto!important;
 padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px))!important;
 background:#fff!important;
}
@media(max-width:600px){
 #epf-crop-dialog .epf-crop-panel{
  width:100vw!important;height:100dvh!important;max-height:none!important;
  border-radius:0!important;padding:0 14px calc(6px + env(safe-area-inset-bottom,0px))!important;
  gap:7px!important;
 }
 #epf-crop-dialog .epf-crop-canvas-wrap{
  width:min(calc(100vw - 28px),calc(100dvh - 295px))!important;
  max-width:none!important;aspect-ratio:1/1!important;
 }
 #epf-crop-dialog .epf-crop-footer{bottom:0!important;padding:9px 0 calc(6px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-height:620px){
 #epf-crop-dialog .epf-crop-canvas-wrap{width:min(calc(100vw - 28px),calc(100dvh - 265px))!important}
}

/* Paid AI generation failure: dedicated WhatsApp assistance screen */
#epf-ai-fallback[hidden]{display:none!important}
#epf-ai-panel:has(#epf-ai-fallback:not([hidden])) > .epf-crop-header,
#epf-ai-panel:has(#epf-ai-fallback:not([hidden])) > p:not(#epf-ai-status),
#epf-ai-panel:has(#epf-ai-fallback:not([hidden])) > #epf-ai-status,
#epf-ai-panel:has(#epf-ai-fallback:not([hidden])) > .epf-ai-buttons,
#epf-ai-panel:has(#epf-ai-fallback:not([hidden])) > #epf-ai-skip{display:none!important}
.epf-ai-fallback{background:#101010;color:#fff;border-radius:20px;text-align:center;padding:24px 18px 20px;max-width:100%;box-sizing:border-box}
.epf-ai-fallback .epf-fallback-symbol{width:54px;height:54px;border-radius:50%;background:#315845;display:grid;place-items:center;font-size:25px;margin:0 auto 16px}
.epf-ai-fallback h3{color:#fff;font-size:21px;line-height:1.35;margin:0 0 14px;font-weight:700}
.epf-ai-fallback p{color:#f4f4f4;font-size:15px;line-height:1.55;margin:0 0 14px}
.epf-ai-fallback .epf-fallback-whatsapp{display:block;background:#315845;color:#fff!important;border-radius:30px;text-decoration:none!important;padding:13px 18px;font-weight:650;margin:16px 0 10px}
.epf-ai-fallback .epf-fallback-number{font-size:14px;margin:0 0 18px}
.epf-ai-fallback .epf-fallback-divider{height:1px;background:#3b3b3b;margin:16px 0 18px}
.epf-ai-fallback #epf-ai-fallback-continue{display:block;width:100%;border:0;border-radius:30px;padding:13px 16px;background:#353535;color:#fff;font-weight:650;cursor:pointer}
.epf-ai-fallback small{display:block;color:#d4d4d4;font-size:12px;line-height:1.5;margin-top:14px}
@media(max-width:600px){.epf-ai-fallback{padding:22px 14px 18px}.epf-ai-fallback h3{font-size:19px}.epf-ai-fallback p{font-size:14px}}

/* Fabric-weight option on sweatshirt and hoodie product pages. */
.epf-gsm-field{margin:14px 0;padding:14px;border:1px solid #315845;border-radius:8px;background:#f7faf8}
.epf-gsm-field label,.epf-gsm-field small{display:block}.epf-gsm-field select{margin:7px 0;width:100%}.epf-gsm-field small{font-size:12px;color:#405649}

/* GSM-first garment choices below the summary price. */
.epf-gsm-top{padding:0!important;margin:0 0 14px!important;border:0!important;background:none!important}
.epf-gsm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.epf-gsm-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.epf-gsm-buttons button{margin:0!important;padding:7px 11px!important;min-height:34px!important;line-height:1.2!important;font-size:12px!important;font-weight:650!important;border:1px solid #bcc9c1!important;border-radius:5px!important;background:#fff!important;color:#315845!important;box-shadow:none!important}
.epf-gsm-buttons button.is-selected{background:#315845!important;border-color:#315845!important;color:#fff!important}
.epf-gsm-toolbar .epf-size-guide{margin:0 0 0 auto!important;padding:4px 0!important;white-space:nowrap;font-size:11px!important;line-height:1.2!important}
.epf-gsm-native{display:none!important}
.epf-gsm-color-row.epf-gsm-color-ready .ux-swatches,.epf-gsm-color-row.epf-gsm-color-ready .variable-items-wrapper,.epf-gsm-color-row.epf-gsm-color-ready .swatch-control{display:none!important}
.epf-gsm-color-boxes{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 12px}
.epf-gsm-color{display:flex!important;align-items:center;gap:6px;margin:0!important;padding:7px 9px!important;border:1px solid #d1d8d3!important;border-radius:5px!important;line-height:1.2!important;min-height:34px!important;background:#fff!important;color:#263c30!important;font-size:11px!important;text-transform:none!important;letter-spacing:0!important}
.epf-gsm-color.is-selected{border-color:#315845!important;box-shadow:0 0 0 1px #315845;background:#edf4ef!important}
.epf-gsm-color:disabled{opacity:.4;cursor:not-allowed}
.epf-gsm-color .epf-color-dot{width:17px;height:17px;border:1px solid #b8b8b8;border-radius:50%;flex:none}
.epf-gsm-preview-buttons{margin-bottom:10px}
@media(max-width:360px){.epf-gsm-buttons button{font-size:11px!important;padding:6px 8px!important}.epf-gsm-toolbar .epf-size-guide{font-size:10px!important}}

.epf-gsm-color-row>td.value>.epf-gsm-color-boxes{display:flex!important;visibility:visible!important;opacity:1!important}
#epf-gsm-help.epf-screenreader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Colour swatches: circular icon only, name available through aria-label/title. */
.epf-gsm-color{width:36px!important;height:36px!important;min-height:36px!important;padding:3px!important;gap:0!important;justify-content:center!important;border-radius:50%!important;flex:0 0 36px!important}
.epf-gsm-color>span:not(.epf-color-dot){display:none!important}
.epf-gsm-color .epf-color-dot{width:26px!important;height:26px!important;display:block!important;border-radius:50%!important}
.epf-gsm-color:focus-visible{outline:2px solid #315845;outline-offset:3px}

/* Selected name stays visible after tapping a colour swatch. */
.epf-selected-color-name{display:block!important;width:100%;margin:7px 0 0;font-size:12px;line-height:1.5;color:#333}

/* Keep preview GSM controls directly above the colour field in the flex layout. */
#epf-builder>.epf-gsm-preview-buttons{order:2;margin:10px 0 0}
#epf-builder>.epf-gsm-preview-buttons+.epf-field:has(#epf-color-options){margin-top:5px}

/* v0.6.55: Exact preview sequence; override older placement-first layout. */
#epf-builder>.epf-gsm-preview-buttons{order:0!important;margin:10px 0 0}
#epf-builder>.epf-field:has(#epf-color-options){order:1!important;margin-top:5px}
#epf-builder>.epf-field:has(#epf-size-buttons){order:2!important}
#epf-builder>.epf-field:has(#epf-placement-buttons){order:3!important}
#epf-builder>.epf-eyebrow,#epf-builder>h3,#epf-builder>p{order:4!important}

/* v0.6.56: Hoodie-specific physical size ratio and clear chest placement. */
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art{
 height:auto!important;aspect-ratio:1/1;max-height:none!important;object-fit:contain;
}
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art.epf-4{width:12%!important;top:43%!important}
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art.epf-4.epf-center{left:50%!important;top:45%!important}
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art.epf-6{width:18%!important;left:50%!important;top:47%!important}
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art.epf-8{width:24%!important;left:50%!important;top:48%!important}
#epf-builder[data-garment="hoodie"] .epf-stage #epf-art.epf-view-back{left:50%!important;top:54%!important}

/* Dedicated couple offer, matching the selectable pack-card reference. */
.epf-couple-popup{box-sizing:border-box;width:min(620px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:28px 22px;color:#202020;background:#fff;font-family:inherit}
.epf-couple-popup::backdrop{background:#0009}
.epf-couple-popup h2{font-size:23px;margin:0 24px 10px 0;line-height:1.25}
.epf-couple-popup p{font-size:14px;line-height:1.5}
.epf-pair-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;line-height:1;padding:5px}
.epf-combo-heading{text-align:center;font-weight:700;font-size:12px;margin:20px 0 12px;border-top:1px solid #ddd;padding-top:12px}
.epf-pack-card{display:flex;align-items:center;gap:12px;border:1px solid #bbb;border-radius:9px;padding:15px;margin:12px 0;background:#fff}
.epf-pack-card.is-selected{border:2px solid #315845;background:#f7faf7;padding:14px}
.epf-pack-card input{margin:0;accent-color:#315845;flex:none}
.epf-pack-card strong{font-size:17px}.epf-pack-card small{display:block;font-size:12px;color:#666;margin-top:4px}.epf-pack-card>b{margin-left:auto;white-space:nowrap}
.epf-pack-pair{display:block}.epf-pack-title{display:flex;align-items:center;gap:12px;margin:0}.epf-pair-price{margin-left:auto;text-align:right;white-space:nowrap}.epf-pair-price b{display:block}.epf-pair-price del{display:block;color:#888;font-size:12px}
.epf-pack-card .epf-pair-badge{display:inline-block;background:#e3eadf;color:#315845;padding:3px 6px;border-radius:5px;font-weight:700}
.epf-pair-row{display:grid;grid-template-columns:25px 1fr 1.5fr;gap:8px;align-items:center;margin:9px 0}.epf-pair-row select{width:100%;min-width:0;margin:0;height:40px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#222;padding:5px;font-size:14px}
.epf-pair-note{display:block;color:#666;font-size:12px;line-height:1.5}.epf-couple-popup .epf-pair-continue{width:100%;margin:16px 0 0;background:#315845;color:white;border:0;border-radius:8px;min-height:46px;padding:11px;font-size:15px;font-weight:700;cursor:pointer}
@media(max-width:420px){.epf-couple-popup{padding:24px 14px}.epf-pack-card{padding:11px}.epf-pack-card.is-selected{padding:10px}.epf-pack-card strong{font-size:15px}.epf-pack-card>b,.epf-pair-price b{font-size:14px}}

/* Refined offer cards with independently editable pieces. */
.epf-couple-popup{background:linear-gradient(155deg,#fffdf8,#f6f5ee);padding:30px 24px;border:1px solid #e9e2d5;box-shadow:0 24px 80px #0004}
.epf-offer-kicker{display:block;color:#7b6641;font-size:10px;font-weight:750;letter-spacing:2px;margin-bottom:9px}
.epf-couple-popup h2{font-size:26px;letter-spacing:-.5px;line-height:1.2;color:#233e30}
.epf-couple-popup .epf-combo-heading{color:#746b5d;letter-spacing:1.3px;font-size:10px;border-color:#e2dacb}
.epf-couple-popup .epf-pack-card{border-color:#ddd7cc;border-radius:14px;box-shadow:0 3px 12px #273a2410}
.epf-couple-popup .epf-pack-pair{position:relative;margin-top:27px;padding-top:26px;background:linear-gradient(135deg,#f1f7ee,#fffdf6);border:2px solid #93aa89}
.epf-couple-popup .epf-pack-pair.is-selected{border-color:#315845;box-shadow:0 6px 22px #31584520;padding-top:25px}
.epf-couple-recommended{position:absolute;top:-13px;left:16px;background:#315845;color:#fff;border-radius:20px;padding:5px 12px;font-size:10px;font-weight:700;letter-spacing:.2px}
.epf-couple-popup .epf-pair-badge{background:#efe2bb;color:#6d5423;border-radius:20px;padding:3px 9px}
.epf-couple-popup .epf-pair-row{padding:8px 0;margin:0;border-top:1px solid #dfe7da}.epf-couple-popup .epf-pair-row>strong{color:#73856d;font-size:12px}
.epf-couple-popup .epf-pair-row select{border-color:#d4ddcd;border-radius:8px;height:43px}
.epf-couple-popup .epf-pair-continue{border-radius:30px;box-shadow:0 4px 12px #31584525;min-height:48px}
@media(max-width:420px){.epf-couple-popup{padding:28px 16px 18px}.epf-couple-popup h2{font-size:23px}.epf-couple-recommended{left:12px;font-size:9px}}

/* Compact action/price footer, protected from theme button typography. */
.epf-couple-popup .epf-pair-continue{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;box-sizing:border-box!important;min-height:54px!important;height:auto!important;padding:14px 19px!important;border-radius:12px!important;font-size:14px!important;line-height:1.3!important;text-transform:none!important;letter-spacing:0!important;white-space:normal!important}
.epf-couple-popup .epf-offer-action{text-align:left;flex:1;min-width:0;font-size:14px;font-weight:650}
.epf-couple-popup .epf-offer-total{flex:none;white-space:nowrap;border-left:1px solid #ffffff55;padding-left:14px;font-size:18px;font-weight:750}
.epf-couple-popup .epf-pair-continue:disabled{opacity:.7;cursor:wait}
.epf-offer-status{font-size:13px!important;line-height:1.5;color:#70482c;margin:12px 0 0!important}

/* v0.6.67: Match the desktop square coordinate surface on mobile hoodies. */
@media(max-width:600px){
 #epf-dialog #epf-builder[data-garment="hoodie"]>.epf-preview .epf-stage{
  width:100%!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important;max-height:none!important;
 }
 #epf-dialog #epf-builder[data-garment="hoodie"] .epf-stage #epf-garment{
  width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;
 }
}

/* v0.6.73: Offer details scroll independently; checkout action stays visible. */
dialog.epf-couple-popup{width:min(620px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important;}
dialog.epf-couple-popup[open]{display:flex!important;flex-direction:column;}
.epf-couple-popup .epf-pair-close{z-index:2;right:12px;top:10px;}
.epf-couple-popup .epf-offer-body{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:22px 22px 12px;}
.epf-couple-popup .epf-offer-body>*{max-width:100%;box-sizing:border-box;}
.epf-couple-popup .epf-offer-kicker{margin-bottom:6px;}
.epf-couple-popup h2{font-size:23px;margin-bottom:8px;}
.epf-couple-popup p{font-size:13px;line-height:1.4;margin:8px 0;}
.epf-couple-popup .epf-combo-heading{margin:12px 0 8px;padding-top:10px;}
.epf-couple-popup .epf-pack-card{padding:11px;margin:8px 0;min-width:0;}
.epf-couple-popup .epf-pack-pair,.epf-couple-popup .epf-pack-pair.is-selected{margin-top:23px;padding:21px 12px 10px;}
.epf-couple-popup .epf-pair-row{padding:6px 0;grid-template-columns:24px minmax(0,1fr) minmax(0,1.5fr);}
.epf-couple-popup .epf-pair-row select{height:40px;font-size:14px;}
.epf-couple-popup .epf-pair-note{font-size:11px;line-height:1.4;margin-top:10px;}
.epf-couple-popup .epf-offer-footer{flex:none;padding:12px 22px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e2dacb;background:#faf9f2;box-shadow:0 -4px 16px #233e3008;}
.epf-couple-popup .epf-offer-footer .epf-pair-continue{margin:0!important;min-height:48px!important;padding:12px 16px!important;}
.epf-couple-popup .epf-offer-footer .epf-offer-status{margin:0 0 8px!important;max-height:70px;overflow-y:auto;}
@media(max-width:420px){
 .epf-couple-popup .epf-offer-body{padding:20px 14px 10px;}
 .epf-couple-popup .epf-offer-footer{padding-left:14px;padding-right:14px;}
 .epf-couple-popup h2{font-size:20px;}
 .epf-couple-popup .epf-pack-title{gap:8px;}
}
