.pfw-artwork-hub {
    container: pfw-artwork / inline-size; box-sizing: border-box; width: 100%; margin: 24px 0 34px;
    color: var(--pfw-ink,#001326); font: 14px/1.55 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.pfw-artwork-hub *, .pfw-artwork-hub *::before, .pfw-artwork-hub *::after { box-sizing: border-box; }
.pfw-artwork-hub [hidden] { display: none !important; }
.pfw-artwork-hub:where([hidden]) { display: none !important; }
.pfw-artwork-hub :is(h2,h3,h4,p) { font-family: inherit; color: inherit; }
.pfw-artwork-hub h2 { font-weight:600; font-size: 24px; line-height: 1.25; letter-spacing: -.6px; margin: 0 0 10px; }
.pfw-artwork-hub > p { color: var(--pfw-muted,#526378); margin: 0 0 20px; }
.pfw-artwork-hub h3 { font-size: 18px; margin: 28px 0 14px; display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; }
.pfw-artwork-hub h3 span { font-size: 12px; font-weight: normal; color: var(--pfw-muted,#526378); }
.pfw-artwork-hub a { color: var(--pfw-link,var(--pfw-accent,#0055eb)); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pfw-artwork-hub .pfw-artwork-job { border: 1px solid var(--pfw-border,#dce2eb); border-radius: 16px; background: #fff; padding: 24px; margin-bottom: 16px; min-width: 0; }
.pfw-artwork-hub .pfw-artwork-job-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.pfw-artwork-hub h4 { font-size: 17px; margin: 0 0 4px; letter-spacing: -.25px; overflow-wrap: anywhere; }
.pfw-artwork-hub .pfw-artwork-job-heading p { font-size: 12px; color: var(--pfw-muted,#526378); margin: 0; }
.pfw-artwork-hub .pfw-artwork-badge { flex-shrink: 0; font-size: 11px; font-weight:600; border-radius: 30px; padding: 5px 11px; background: var(--pfw-selected,#eef3ff); color: var(--pfw-link,var(--pfw-accent,#0055eb)); }
.pfw-artwork-hub .is-missing { background: var(--pfw-warning-soft,#fff7e8); color: var(--pfw-warning,#80510a); }
.pfw-artwork-hub .pfw-artwork-current { display: flex; gap: 15px; align-items: flex-start; padding: 16px; background: var(--pfw-paper,#f7f7f4); border-radius: 10px; margin-top: 18px; }
.pfw-artwork-hub .pfw-artwork-current > div { min-width: 0; }
.pfw-artwork-hub .pfw-artwork-current strong { overflow-wrap: anywhere; }
.pfw-artwork-hub .pfw-artwork-current p { margin: 4px 0; color: var(--pfw-muted,#526378); font-size: 12px; }
.pfw-artwork-hub .pfw-artwork-current a { font-size: 12px; }
.pfw-artwork-hub .pfw-artwork-file-icon { font-size: 23px; color: var(--pfw-link,var(--pfw-accent,#0055eb)); line-height: 1.3; }
.pfw-artwork-hub .pfw-artwork-transfer { font-size: 12px; margin: 14px 0; }
.pfw-artwork-hub details { margin-top: 16px; }
.pfw-artwork-hub summary { cursor: pointer; font-weight:600; color: var(--pfw-link,var(--pfw-accent,#0055eb)); font-size: 13px; }
.pfw-artwork-hub .pfw-artwork-spec dl { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); margin: 12px 0; gap: 8px 18px; font-size: 12px; }
.pfw-artwork-hub .pfw-artwork-spec dt { color: var(--pfw-muted,#526378); font-weight: normal; }
.pfw-artwork-hub .pfw-artwork-spec dd { margin: 0; overflow-wrap: anywhere; }
.pfw-artwork-hub form.pfw-artwork-form { padding: 18px 0 0; margin: 0; border: 0; width: 100%; }
.pfw-artwork-hub .pfw-artwork-form label { display: block; margin: 0 0 9px; font-weight: 600; font-size: 13px; }
.pfw-artwork-hub.pfw-artwork-hub .pfw-artwork-form input[type=url] { display: block; width: 100%; max-width: 100%; margin: 0; border: 1px solid var(--pfw-control-border,#6e7e91); border-radius: 8px; background: #fff; color: var(--pfw-ink,#001326); padding: 12px; font: inherit; box-shadow: none; }
.pfw-artwork-hub .pfw-artwork-upload { background: var(--pfw-paper,#f7f7f4); border: 1px dashed var(--pfw-control-border,#6e7e91); border-radius: 11px; padding: 18px; margin-bottom: 20px; }
.pfw-artwork-hub.pfw-artwork-hub input[type=file] { display: block; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: var(--pfw-muted,#526378); font: inherit; max-width: 100%; width: 100%; }
.pfw-artwork-hub input[type=file]::file-selector-button { border: 1px solid var(--pfw-control-border,#6e7e91); border-radius: 6px; padding: 8px 12px; background: #fff; color: var(--pfw-link,var(--pfw-accent,#0055eb)); font: inherit; font-weight: 600; cursor: pointer; margin-right: 12px; }
.pfw-artwork-hub .pfw-artwork-upload p { font-size: 11px; color: var(--pfw-muted,#526378); margin: 9px 0 0; overflow-wrap: anywhere; }
.pfw-artwork-hub .pfw-artwork-help, .pfw-artwork-closed { font-size: 12px; color: var(--pfw-muted,#526378); margin: 13px 0; }
.pfw-artwork-hub.pfw-artwork-hub button { font: inherit; box-shadow: none; cursor: pointer; text-transform: none; letter-spacing: 0; }
.pfw-artwork-hub.pfw-artwork-hub .pfw-artwork-save { background: var(--pfw-accent,#0055eb); color: var(--pfw-on-accent,#fff); border: 1px solid var(--pfw-accent,#0055eb); border-radius: 8px; padding: 12px 20px; font-weight:600; }
.pfw-artwork-hub.pfw-artwork-hub .pfw-artwork-clear { background: transparent; border: 0; color: var(--pfw-link,var(--pfw-accent,#0055eb)); text-decoration: underline; padding: 5px 0; font-size: 12px; }
.pfw-artwork-hub .pfw-artwork-save:disabled { opacity: .55; cursor: wait; }
.pfw-artwork-hub .pfw-artwork-feedback { margin: 14px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.pfw-artwork-hub .pfw-artwork-feedback:empty { display: none; }
.pfw-artwork-hub .pfw-artwork-feedback[data-status=error] { color: var(--pfw-danger,#b42318); }
.pfw-artwork-hub .pfw-artwork-feedback[data-status=success] { color: var(--pfw-link,var(--pfw-accent,#0055eb)); }
.pfw-artwork-hub .pfw-artwork-history ul { padding-left: 20px; font-size: 12px; }
.pfw-artwork-hub .pfw-artwork-pages { display: flex; justify-content: space-between; margin: 25px 0; }
.pfw-artwork-hub :is(input,button,a,summary):focus-visible { outline: 3px solid var(--pfw-focus,#0055eb); outline-offset: 3px; }
@container pfw-artwork (max-width: 480px) {
    .pfw-artwork-hub .pfw-artwork-job { padding: 18px; }
    .pfw-artwork-hub .pfw-artwork-job-heading { flex-direction: column; gap: 10px; }
    .pfw-artwork-hub.pfw-artwork-hub .pfw-artwork-form input[type=url] { font-size: 16px; }
}

.pfw-artwork-hub .pfw-file-label-row,.pfw-configurator .pfw-file-label-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:12px;align-items:center;margin:12px 0;font-size:12px}
.pfw-artwork-hub .pfw-file-label-row span,.pfw-configurator .pfw-file-label-row span{overflow-wrap:anywhere}
.pfw-artwork-hub .pfw-file-label-row input,.pfw-configurator .pfw-file-label-row input{box-sizing:border-box;min-width:0;width:100%;padding:10px;border:1px solid var(--pfw-control-border,#6e7e91);border-radius:7px;background:white;color:var(--pfw-ink,#001326);font:inherit}

.pfw-artwork-hub .pfw-proof{margin-top:24px;padding:20px;background:var(--pfw-paper,#f7f7f4);border:1px solid var(--pfw-border,#dce2eb);border-radius:12px}
.pfw-artwork-hub .pfw-proof h5{font-size:16px;font-weight:600;line-height:1.4;margin:0 0 12px;color:var(--pfw-ink,#001326)}
.pfw-artwork-hub .pfw-proof p{font-size:13px;overflow-wrap:anywhere}.pfw-artwork-hub .pfw-proof-stage{font-weight:600;color:var(--pfw-link,var(--pfw-accent,#0055eb))}
.pfw-artwork-hub form.pfw-proof-form{border:0;margin:20px 0 0;padding:0}.pfw-artwork-hub .pfw-proof-form label{display:block;font-size:13px;margin:14px 0 8px}
.pfw-artwork-hub .pfw-proof-form label.pfw-proof-confirm{display:flex;gap:10px;align-items:flex-start}.pfw-artwork-hub .pfw-proof-confirm input{flex-shrink:0;width:16px;height:16px;margin-top:3px}
.pfw-artwork-hub .pfw-proof-form textarea{box-sizing:border-box;width:100%;max-width:100%;border:1px solid var(--pfw-control-border,#6e7e91);border-radius:8px;padding:12px;background:white;font:inherit;color:var(--pfw-ink,#001326)}
.pfw-artwork-hub .pfw-proof-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.pfw-artwork-hub .pfw-proof-actions button{padding:11px 16px;background:var(--pfw-accent,#0055eb);color:var(--pfw-on-accent,#fff);border:1px solid var(--pfw-accent,#0055eb);border-radius:8px;font-weight:600}
.pfw-artwork-hub .pfw-proof-actions .pfw-proof-change{background:white;color:var(--pfw-link,var(--pfw-accent,#0055eb))}.pfw-artwork-hub .pfw-proof-actions button:disabled{opacity:.6;cursor:wait}
@container pfw-artwork (max-width:480px){.pfw-artwork-hub .pfw-file-label-row{grid-template-columns:1fr}.pfw-artwork-hub .pfw-proof{padding:16px}}
.pfw-artwork-hub .pfw-basket-edit { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin:14px 0; font-size:12px; }
.pfw-artwork-hub .pfw-basket-edit a { display:inline-block; border:1px solid var(--pfw-border,#dce2eb); border-radius:7px; padding:8px 12px; color:var(--pfw-link,var(--pfw-accent,#0055eb)); background:var(--pfw-paper,#f7f7f4); text-decoration:none; font-weight:600; }
.pfw-artwork-hub .pfw-basket-edit span { color:var(--pfw-muted,#526378); }

/* Compact artwork controls live in the native cart item metadata. */
.pfw-artwork-item-action.pfw-artwork-item-action { display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px 12px; max-width:100%; margin:7px 0; padding:9px 12px; border:1px solid var(--pfw-warning-line,#edd4a3); border-radius:9px; background:var(--pfw-warning-soft,#fff7e8); color:var(--pfw-warning,#80510a); font:600 12px/1.45 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; text-transform:none; letter-spacing:0; cursor:pointer; box-shadow:none; text-align:left; }
.pfw-artwork-item-action.pfw-artwork-item-action.is-provided { background:var(--pfw-selected,#eef3ff); border-color:var(--pfw-border,#dce2eb); color:var(--pfw-link,var(--pfw-accent,#0055eb)); }
.pfw-artwork-item-action .pfw-artwork-item-manage { font-weight:400; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.pfw-artwork-item-action:focus-visible { outline:3px solid var(--pfw-focus,#0055eb); outline-offset:3px; }
/* Preserve React-owned metadata nodes, hiding the plain status after enhancement. */
.pfw-artwork-line:has(> .pfw-artwork-item-action) > :is(.wc-block-components-product-details__name,.wc-block-components-product-details__value,span[aria-hidden]) { display:none; }
.pfw-cart-artwork-hub { margin:0; }
.pfw-cart-artwork-dialog { container:pfw-artwork / inline-size; box-sizing:border-box; width:calc(100vw - 24px); max-width:720px; max-height:90vh; max-height:90dvh; margin:auto; padding:24px; overflow:auto; border:1px solid var(--pfw-border,#dce2eb); border-radius:18px; background:#fff; color:var(--pfw-ink,#001326); font:14px/1.55 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow:0 24px 90px var(--pfw-shadow,#00132626); }
.pfw-cart-artwork-dialog:not([open]) { display:none; }
.pfw-cart-artwork-dialog::backdrop { background:var(--pfw-backdrop,#001326c9); }
.pfw-artwork-dialog-heading { position:sticky; top:-24px; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:-24px -24px 24px; padding:22px 24px 18px; background:#fff; border-bottom:1px solid var(--pfw-border,#dce2eb); }
.pfw-artwork-hub .pfw-artwork-dialog-heading h2 { font-size:21px; margin:0 0 4px; }
.pfw-artwork-hub .pfw-artwork-dialog-heading p { margin:0; font-size:12px; color:var(--pfw-muted,#526378); }
.pfw-artwork-hub.pfw-artwork-hub .pfw-artwork-dialog-close { flex-shrink:0; display:grid; place-items:center; width:36px; height:36px; padding:8px; border:1px solid var(--pfw-border,#dce2eb); border-radius:50%; background:var(--pfw-paper,#f7f7f4); color:var(--pfw-link,var(--pfw-accent,#0055eb)); }
.pfw-artwork-dialog-close svg { width:18px; height:18px; }
.pfw-artwork-hub .pfw-cart-artwork-dialog .pfw-artwork-job { border:0; padding:0; margin:0; }
.pfw-cart-artwork-dialog [data-pfw-hub-feedback] { font-size:13px; color:var(--pfw-danger,#b42318); overflow-wrap:anywhere; }
.pfw-cart-artwork-dialog [data-pfw-hub-feedback]:empty { display:none; }
@media(max-width:480px) { .pfw-cart-artwork-dialog { padding:18px; border-radius:14px; } .pfw-artwork-dialog-heading { top:-18px; margin:-18px -18px 18px; padding:18px; } }

/* WooCommerce adds a colon even for an empty metadata name. */
.variation dt:has(+ dd .pfw-artwork-item-action) { display:none; }
.variation dd:has(.pfw-artwork-item-action) { margin-left:0; }
.pfw-artwork-line > :is(.wc-block-components-product-details__name,span[aria-hidden]) { display:none; }
