.pswc-designer {
    --pswc-accent:#5261cb;
    --pswc-ink:#20283c;
    --pswc-muted:#647087;
    box-sizing:border-box;
    clear:both;
    width:100%;
    margin:22px 0;
    padding:22px;
    background:#fff;
    border:1px solid #e1e5ee;
    border-radius:16px;
    color:var(--pswc-ink);
    font-family:inherit;
    text-align:left;
}

.pswc-designer * {
    box-sizing:border-box;
}

.pswc-designer [hidden] {
    display:none!important;
}

.pswc-heading h3 {
    font-size:23px;
    line-height:1.3;
    margin:5px 0 10px!important;
    color:var(--pswc-ink);
}

.pswc-kicker {
    font-size:10px;
    font-weight:700;
    letter-spacing:1.8px;
    color:var(--pswc-accent);
}

.pswc-intro {
    font-size:13px;
    line-height:1.6;
    color:var(--pswc-muted);
    margin:0 0 18px!important;
}

.pswc-workspace {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    gap:20px;
}

.pswc-preview-wrap {
    min-width:0;
    background:#f4f6fa;
    border:1px solid #e7ebf2;
    border-radius:12px;
    padding:14px;
    align-self:start;
}

.pswc-preview-label {
    font-size:9px;
    font-weight:700;
    letter-spacing:1.4px;
    color:var(--pswc-muted);
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-bottom:12px;
}

.pswc-preview-size {
    letter-spacing:0;
    font-weight:400;
}

.pswc-preview {
    display:block;
    max-width:100%;
    width:100%;
    height:auto;
    max-height:650px;
    object-fit:contain;
    filter:drop-shadow(0 4px 7px #24305e14);
}

.pswc-summary {
    font-size:11px;
    line-height:1.6;
    margin:12px 0 0!important;
    color:var(--pswc-muted);
}

.pswc-tools {
    min-width:0;
}

.pswc-upload {
    display:block;
    position:relative;
    overflow:hidden;
    text-align:center;
    cursor:pointer;
    border:1.5px dashed #acb5df;
    border-radius:10px;
    background:#f8f9fe;
    padding:17px 8px!important;
    color:var(--pswc-accent);
    margin:0 0 12px!important;
}

.pswc-upload>span {
    display:block;
    font-weight:600;
    font-size:13px;
}

.pswc-upload small {
    display:block;
    font-size:10px;
    color:var(--pswc-muted);
    margin-top:5px;
}

.pswc-file {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}

.pswc-upload:focus-within {
    outline:2px solid var(--pswc-accent);
    outline-offset:3px;
}

.pswc-images {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}

.pswc-designer button {
    font:inherit;
    cursor:pointer;
    box-shadow:none;
    text-transform:none;
    letter-spacing:normal;
    font-weight:500;
    line-height:1.4;
}

.pswc-designer button:focus-visible {
    outline:2px solid var(--pswc-accent);
    outline-offset:3px;
}

.pswc-designer .pswc-image {
    display:flex;
    align-items:center;
    gap:7px;
    padding:5px 8px 5px 5px;
    border:1px solid #e0e4ed;
    border-radius:7px;
    background:#fff;
    color:var(--pswc-muted);
    font-size:10px;
    min-height:0;
}

.pswc-image img {
    width:28px;
    height:33px;
    object-fit:cover;
    border-radius:3px;
}

.pswc-designer .pswc-image.is-selected {
    border-color:var(--pswc-accent);
    background:#f2f3ff;
    color:var(--pswc-accent);
}

.pswc-edit-label {
    margin:10px 0 7px!important;
    font-weight:600;
    font-size:12px;
}

.pswc-crop {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:240px;
    margin:0 auto;
    border:1px solid #d4dae7;
    border-radius:4px;
    cursor:grab;
    touch-action:none;
    background-color:#fff;
    background-image:linear-gradient(45deg,#e7ebf2 25%,transparent 25%),linear-gradient(-45deg,#e7ebf2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e7ebf2 75%),linear-gradient(-45deg,transparent 75%,#e7ebf2 75%);
    background-size:16px 16px;
    background-position:0 0,0 8px,8px -8px,-8px 0;
}

.pswc-crop:active {
    cursor:grabbing;
}

.pswc-hint {
    font-size:10px;
    color:var(--pswc-muted);
    line-height:1.5;
    margin:9px 0!important;
}

.pswc-control {
    display:block;
    font-size:11px;
    font-weight:500;
    margin:10px 0!important;
    color:var(--pswc-ink);
}

.pswc-control input {
    display:block;
    width:100%;
    accent-color:var(--pswc-accent);
    margin:5px 0 0;
    padding:0;
    height:18px;
    cursor:pointer;
}

.pswc-actions {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.pswc-actions button {
    padding:6px 9px;
    border:1px solid #dfe4ef;
    border-radius:6px;
    background:#fff;
    color:var(--pswc-ink);
    font-size:10px;
}

.pswc-actions button:hover {
    background:#f1f3fc;
    border-color:#b5bde0;
}

.pswc-sides {
    display:flex;
    gap:8px;
    margin:0 0 14px;
}

.pswc-sides button {
    padding:8px 19px;
    border:1px solid #dfe4ef;
    border-radius:8px;
    background:#fff;
    color:var(--pswc-muted);
    font-size:12px;
}

.pswc-sides button[aria-pressed=true] {
    background:var(--pswc-accent);
    border-color:var(--pswc-accent);
    color:#fff;
}

.pswc-status {
    font-size:12px;
    line-height:1.6;
    color:var(--pswc-accent);
    margin:12px 0 0!important;
}

.pswc-status:empty,.pswc-resolution:empty {
    display:none;
}

.pswc-status.pswc-error,.pswc-resolution {
    color:#a64223;
}

.pswc-resolution {
    font-size:10px;
    line-height:1.5;
    margin:9px 0!important;
}

.pswc-footnote {
    font-size:10px;
    line-height:1.6;
    color:var(--pswc-muted);
    padding-top:13px;
    border-top:1px solid #edf0f5;
    margin:16px 0 0!important;
}

.pswc-designer.is-busy {
    opacity:.75;
}

.pswc-designer button:disabled,.pswc-designer input:disabled {
    cursor:wait;
}

.woocommerce div.product form.cart .pswc-designer {
    float:none;
}

.woocommerce div.product form.cart:has(.pswc-designer) {
    display:block;
}

@media(max-width:1100px) {
    .pswc-workspace {
        grid-template-columns:1fr;
    }
    .pswc-preview {
        max-height:460px;
    }
    .pswc-crop {
        max-height:220px;
    }
    .pswc-designer {
        padding:16px;
    }
    .pswc-tools {
        width:100%;
    }
}

