.aafw-uploader{margin:22px 0;font-family:inherit}.aafw-title{display:block;font-weight:700;margin-bottom:10px}.aafw-dropzone{position:relative;cursor:pointer;border:2px dashed #d5dbe7;border-radius:16px;padding:28px;text-align:center;background:#fff;transition:.2s}.aafw-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.aafw-dropzone.is-dragover{border-color:#2271b1;background:#f0f7ff}.aafw-icon{width:42px;height:42px;margin:0 auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f4f7fb;font-size:26px}.aafw-dropzone strong{display:block;font-size:16px}.aafw-dropzone span{display:block;color:#697386;margin-top:4px}.aafw-file-list{margin-top:12px}.aafw-file{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #edf0f5;border-radius:10px;margin-bottom:8px;background:#fff}.aafw-file small,.aafw-uploader small{color:#697386}.aafw-style-minimal_line .aafw-dropzone{border-width:0 0 2px;border-radius:0;text-align:left;padding:16px 0;background:transparent}.aafw-style-minimal_line .aafw-icon{display:none}.aafw-style-boxed_dropzone .aafw-dropzone{border-style:solid;background:#f8fafc;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.aafw-file{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;margin-top:8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.aafw-file span{font-weight:600;flex:1}.aafw-file small{color:#64748b}.aafw-file.has-error{border-color:#fecaca;background:#fff1f2}.aafw-progress{width:130px;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.aafw-progress span{display:block;height:100%;background:#2271b1;transition:width .2s ease}.aafw-percent{min-width:40px;text-align:right;color:#1d2327}.aafw-preview,.aafw-remove{border:0;border-radius:7px;padding:6px 10px;cursor:pointer}.aafw-preview{background:#eff6ff;color:#1d4ed8}.aafw-remove{background:#fef2f2;color:#b91c1c}.aafw-lightbox{position:fixed;inset:0;background:rgba(15,23,42,.78);z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}.aafw-lightbox>div{position:relative;max-width:min(960px,92vw);max-height:90vh;background:#fff;border-radius:16px;padding:16px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.aafw-lightbox img{display:block;max-width:100%;max-height:80vh;border-radius:10px}.aafw-lightbox-close{position:absolute;right:-12px;top:-12px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#111827;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.22)}


.aafw-cart-files{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.aafw-cart-file{display:flex;align-items:center;gap:8px;line-height:1.3}
.aafw-cart-file img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;background:#fff}
.aafw-cart-file-name{font-weight:600}
.aafw-cart-file small{color:#64748b}
.aafw-cart-preview{display:inline-flex;text-decoration:none}

/* Customizer-controlled frontend design variables */
.aafw-title{color:var(--aafw-label-color,#1d2327);font-size:var(--aafw-label-font-size,15px)}
.aafw-dropzone{background:var(--aafw-uploader-background,#fff);border-color:var(--aafw-uploader-border-color,#d5dbe7)}
.aafw-preview,.aafw-browse-button,.aafw-dropzone .aafw-action-text{background:var(--aafw-button-color,#2271b1);color:var(--aafw-button-text-color,#fff);font-size:var(--aafw-button-font-size,14px)}
.aafw-preview{border:0;border-radius:7px;padding:6px 10px;cursor:pointer}

/* v1.0.6 polished cart/checkout upload summary */
.aafw-upload-summary{margin:10px 0 0;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;max-width:460px;clear:both}
.aafw-upload-summary-head{display:flex;align-items:center;gap:8px;margin-bottom:9px;line-height:1.2}
.aafw-upload-summary-icon{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;font-size:13px}
.aafw-upload-summary-title{font-weight:700;color:#111827;font-size:14px}
.aafw-upload-summary-count{margin-left:auto;border-radius:999px;background:#e0f2fe;color:#075985;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}
.aafw-upload-summary .aafw-cart-files{gap:7px;margin:0}
.aafw-upload-summary .aafw-cart-file{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid #eef2f7;border-radius:10px;background:#fff;line-height:1.25}
.aafw-upload-summary .aafw-cart-preview{width:42px;height:42px;display:inline-flex;border-radius:9px;overflow:hidden;border:1px solid #e5e7eb;background:#fff}
.aafw-upload-summary .aafw-cart-file img{width:42px;height:42px;border:0;border-radius:0;object-fit:cover;background:#fff}
.aafw-upload-summary .aafw-file-icon{width:42px;height:42px;border:1px solid #e5e7eb;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#f9fafb;font-size:18px}
.aafw-cart-file-info{display:flex;flex-direction:column;min-width:0;gap:2px}
.aafw-upload-summary .aafw-cart-file-name{font-weight:650;color:#1f2937;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.aafw-upload-summary .aafw-cart-file small{font-size:11px;color:#6b7280}
.aafw-file-download{font-size:12px;font-weight:700;text-decoration:none;border:1px solid #dbeafe;border-radius:7px;padding:5px 8px;background:#eff6ff;color:#1d4ed8;white-space:nowrap}
.aafw-file-download:hover{text-decoration:none;background:#dbeafe;color:#1e40af}
.variation-UploadedFiles{display:none!important}
dl.variation:empty{display:none!important}
@media (max-width: 480px){.aafw-upload-summary .aafw-cart-file{grid-template-columns:38px minmax(0,1fr)}.aafw-file-download{grid-column:2;justify-self:start}.aafw-upload-summary-count{display:none}}


/* v1.0.7 compact preview-only cart/checkout/order thumbnails */
.aafw-upload-summary{max-width:260px;padding:10px;background:#fff;border-color:#edf0f4;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.aafw-upload-summary-head{margin-bottom:8px}.aafw-upload-summary-icon{display:none}.aafw-upload-summary-title{font-size:13px}.aafw-upload-summary-count{font-size:10px;padding:2px 7px;background:#f1f5f9;color:#475569}
.aafw-upload-summary .aafw-cart-files,.aafw-order-item-files .aafw-cart-files{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:8px}
.aafw-upload-summary .aafw-cart-file,.aafw-order-item-files .aafw-cart-file{display:block;padding:0;border:0;background:transparent;position:relative;line-height:0}
.aafw-upload-summary .aafw-cart-preview,.aafw-order-item-files .aafw-cart-preview{position:relative;width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;overflow:visible;border:1px solid #e5e7eb;background:#fff;text-decoration:none;box-shadow:0 1px 3px rgba(15,23,42,.08)}
.aafw-upload-summary .aafw-cart-preview img,.aafw-order-item-files .aafw-cart-preview img{width:52px;height:52px;object-fit:cover;border:0;border-radius:9px;display:block}
.aafw-upload-summary .aafw-file-icon,.aafw-order-item-files .aafw-file-icon{width:52px;height:52px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#f8fafc;font-size:20px;line-height:1}
.aafw-cart-file-info,.aafw-file-download{display:none!important}
.aafw-file-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);opacity:0;visibility:hidden;z-index:99999;max-width:240px;padding:7px 9px;border-radius:8px;background:#111827;color:#fff;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 24px rgba(15,23,42,.22);pointer-events:none;transition:.16s ease}
.aafw-file-tooltip:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#111827}
.aafw-cart-preview:hover .aafw-file-tooltip,.aafw-cart-preview:focus .aafw-file-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.aafw-order-item-files{margin-top:8px}.aafw-order-item-files>strong{display:block;font-size:13px;margin-bottom:2px}
.wc-item-meta .wc-item-meta-label:contains("Uploaded Files"){display:none}

/* v1.0.8 compact attachment previews and remove action */
.aafw-file.is-uploaded{position:relative;justify-content:flex-start;gap:10px;align-items:center;padding:8px 42px 8px 8px;min-height:58px}
.aafw-mini-preview,.aafw-cart-preview{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;min-width:52px;border-radius:12px;overflow:visible;background:#f8fafc;border:1px solid #e5e7eb;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.aafw-mini-preview img,.aafw-cart-preview img{width:100%;height:100%;object-fit:cover;border-radius:11px;display:block}
.aafw-cart-file{position:relative;display:inline-flex;align-items:center;margin:5px 7px 5px 0;vertical-align:top}
.aafw-cart-remove,.aafw-remove{position:absolute;top:-7px;right:-7px;z-index:3;width:22px;height:22px;min-width:22px;padding:0;border:0;border-radius:999px;background:#dc2626;color:#fff;font-size:16px;line-height:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(220,38,38,.28)}
.aafw-cart-remove:hover,.aafw-remove:hover{background:#b91c1c;color:#fff}
.aafw-cart-remove:disabled,.aafw-remove:disabled{opacity:.55;cursor:wait}
.aafw-file-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:#111827;color:#fff;font-size:12px;line-height:1.3;padding:6px 8px;border-radius:7px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;z-index:999}
.aafw-mini-preview:hover .aafw-file-tooltip,.aafw-cart-preview:hover .aafw-file-tooltip{opacity:1;visibility:visible}
.aafw-upload-summary{margin-top:10px;padding:10px 12px;border:1px solid #e8edf3;border-radius:12px;background:#fff;max-width:360px}
.aafw-upload-summary-head{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-size:13px;font-weight:700;color:#1f2937}
.aafw-upload-summary-count{margin-left:auto;font-size:11px;font-weight:600;background:#eef2ff;color:#3730a3;border-radius:999px;padding:2px 7px}
.aafw-cart-files{display:flex;flex-wrap:wrap;gap:2px}
.aafw-order-item-files .aafw-cart-files{margin-top:6px}
