
#zpc-editor{
    width:100%;
    margin:0;
    padding:0;
    clear:both;
}

#zpc-editor *,
#zpc-controls *{
    box-sizing:border-box;
}

.zpc-preview-area{
    width:100%;
    min-height:640px;
    background:#f5f5f5;
    border-radius:24px;
    padding:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.zpc-composition{
    width:100%;
    max-width:760px;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
}

.zpc-frame{
    flex:0 0 auto;
    background:#111;
    width:var(--zpc-frame-width, 260px);
    aspect-ratio:var(--zpc-frame-ratio, 2/3);
    padding:7px;
    box-shadow:0 18px 40px rgba(0,0,0,.16);
    overflow:hidden;
}

.zpc-cor-preta .zpc-frame{ background:#111111; }
.zpc-cor-branca .zpc-frame{ background:#f7f7f7; }
.zpc-cor-madeira-clara .zpc-frame{ background:#c4a882; }
.zpc-cor-madeira-escura .zpc-frame{ background:#4a3428; }

.zpc-paspatur{
    width:100%;
    height:100%;
    background:#ffffff;
    padding:0;
}

.zpc-paspatur-sem .zpc-paspatur{ padding:0; }
.zpc-paspatur-3cm .zpc-paspatur{ padding:4%; }
.zpc-paspatur-5cm .zpc-paspatur{ padding:7%; }
.zpc-paspatur-7cm .zpc-paspatur{ padding:10%; }

.zpc-inner{
    position:relative;
    background:#e9e9e9;
    width:100%;
    height:100%;
    overflow:hidden;
    touch-action:none;
}

.zpc-inner.zpc-empty{
    cursor:pointer;
}

.zpc-inner.zpc-has-image{
    cursor:grab;
}

.zpc-inner.zpc-has-image:active{
    cursor:grabbing;
}

.zpc-user-image{
    position:absolute;
    max-width:none !important;
    max-height:none !important;
    user-select:none;
    pointer-events:none;
}

.zpc-upload-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#777;
    font-size:13px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-align:center;
    padding:20px;
    transition:opacity .18s ease;
    pointer-events:none;
}

.zpc-inner.zpc-empty:hover .zpc-upload-placeholder{
    opacity:.72;
}

.zpc-upload-icon{
    width:38px;
    height:38px;
    border:1px solid #cfcfcf;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    line-height:1;
    color:#aaa;
}

.zpc-vertical{ --zpc-frame-ratio:2/3; }
.zpc-horizontal{ --zpc-frame-ratio:3/2; }
.zpc-square{ --zpc-frame-ratio:1/1; }

.zpc-image-tools{
    margin:18px 0 0;
    display:grid;
    grid-template-columns:minmax(160px, 1fr) auto auto;
    gap:10px;
    align-items:center;
}

.zpc-zoom-control{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.zpc-zoom-icon{
    font-size:18px;
    color:#777;
    line-height:1;
    flex:0 0 auto;
}



.zpc-zoom-value{
    min-width:42px;
    font-size:13px;
    color:#666;
    text-align:right;
}

.zpc-change-button,
.zpc-trash-button{
    border:1px solid #ddd;
    background:#fff;
    color:#111;
    font-size:12px;
    line-height:1;
    cursor:pointer;
    transition:all .18s ease;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.zpc-change-button{
    padding:13px 18px;
    border-radius:0;
    font-weight:700;
}

.zpc-trash-button{
    width:44px;
    height:44px;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.zpc-change-button:hover,
.zpc-trash-button:hover{
    border-color:#111;
}

.zpc-file-name{
    font-size:13px;
    color:#666;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.zpc-success-message{
    margin:16px 0 0;
    padding:16px 18px;
    background:#f0faec;
    border:1px solid #bfe6b8;
    color:#2b7a2e;
    font-size:14px;
    line-height:1.45;
    text-align:center;
}

.zpc-touch-hint{
    margin:14px 0 0;
    font-size:13px;
    color:#888;
    text-align:center;
}

.zpc-upload-status{
    margin-top:10px;
    font-size:13px;
    color:#666;
}

.zpc-controls{
    margin:22px 0 22px;
    display:grid;
    gap:22px;
    width:100%;
}

.zpc-control-title{
    font-size:14px;
    font-weight:600;
    color:#222;
    margin-bottom:10px;
}

.zpc-swatch-row,
.zpc-button-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.zpc-swatch{
    width:38px;
    height:38px;
    border-radius:999px;
    border:1px solid #ddd;
    background:#fff;
    padding:4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:all .18s ease;
    color:#111;
}

.zpc-swatch-color{
    width:100%;
    height:100%;
    border-radius:999px;
    display:block;
}

.zpc-swatch-white{
    border:1px solid #d9d9d9;
}

.zpc-swatch.is-active{
    border-color:#111;
    box-shadow:0 0 0 2px #111 inset;
}

.zpc-option-button{
    border:1px solid #ddd;
    background:#fff;
    color:#111;
    border-radius:999px;
    padding:9px 16px;
    min-width:62px;
    font-size:14px;
    line-height:1;
    cursor:pointer;
    transition:all .18s ease;
    text-align:center;
}

.zpc-option-button.is-active{
    background:#111;
    border-color:#111;
    color:#fff;
}

.zpc-option-button:disabled{
    opacity:.35;
    cursor:not-allowed;
}

.zpc-paspatur-note{
    margin-top:8px;
    font-size:12px;
    color:#777;
}

@media(max-width:980px){
    .zpc-preview-area{
        min-height:auto;
        padding:24px;
        border-radius:18px;
    }

    .zpc-composition{
        min-height:320px;
        gap:12px;
    }

    .zpc-frame{
        padding:5px;
    }

    .zpc-controls{
        margin-top:18px;
    }

    .zpc-image-tools{
        grid-template-columns:1fr auto auto;
    }

    .zpc-change-button{
        padding:13px 12px;
    }
}


/* V0.7.3 adjustments */
.zpc-zoom-range{
    width:100%;
    min-width:0;
    appearance:none;
    -webkit-appearance:none;
    height:3px;
    border-radius:999px;
    background:linear-gradient(to right, #111 0%, #111 var(--zpc-zoom-fill, 0%), #ddd var(--zpc-zoom-fill, 0%), #ddd 100%);
    outline:none;
}

.zpc-zoom-range::-webkit-slider-runnable-track{
    height:3px;
    border-radius:999px;
    background:transparent;
}

.zpc-zoom-range::-webkit-slider-thumb{
    appearance:none;
    -webkit-appearance:none;
    width:14px;
    height:14px;
    border-radius:999px;
    background:#111;
    margin-top:-5.5px;
    cursor:pointer;
}

.zpc-zoom-range::-moz-range-track{
    height:3px;
    border-radius:999px;
    background:transparent;
}

.zpc-zoom-range::-moz-range-thumb{
    width:14px;
    height:14px;
    border:0;
    border-radius:999px;
    background:#111;
    cursor:pointer;
}

.zpc-trash-icon{
    width:18px;
    height:18px;
    fill:#777;
    display:block;
}

.zpc-trash-button:hover .zpc-trash-icon{
    fill:#111;
}

@media(max-width:980px){
    .zpc-image-tools{
        grid-template-columns:1fr auto auto;
        gap:8px;
    }

    .zpc-zoom-control{
        gap:8px;
    }

    .zpc-change-button{
        font-size:10px;
        padding:12px 8px;
        letter-spacing:.04em;
        white-space:nowrap;
    }

    .zpc-trash-button{
        width:40px;
        height:40px;
    }

    .zpc-zoom-value{
        min-width:36px;
        font-size:12px;
    }
}


/* V0.7.3 composition discount and paspatur message */
.zpc-discount-message{
    width:100%;
    margin:0;
    padding:14px 16px;
    border:1px solid #f2b632;
    background:#fff8e6;
    color:#8a5b00;
    font-size:14px;
    line-height:1.35;
    font-weight:700;
}

.zpc-paspatur-note{
    font-style:italic;
    line-height:1.4;
    max-width:100%;
}

@media(max-width:980px){
    .zpc-discount-message{
        font-size:13px;
        padding:12px 14px;
    }
}


/* V0.7.3 zoom track thickness correction */
.zpc-zoom-range{
    height:3px !important;
    background:linear-gradient(to right, #111 0%, #111 var(--zpc-zoom-fill, 0%), #ddd var(--zpc-zoom-fill, 0%), #ddd 100%) !important;
}

.zpc-zoom-range::-webkit-slider-runnable-track{
    height:3px !important;
}

.zpc-zoom-range::-webkit-slider-thumb{
    width:14px !important;
    height:14px !important;
    margin-top:-5.5px !important;
}

.zpc-zoom-range::-moz-range-track{
    height:3px !important;
}

.zpc-zoom-range::-moz-range-thumb{
    width:14px !important;
    height:14px !important;
}


/* V0.7.3 definitive zoom range and trash icon */
#zpc-editor input[type="range"].zpc-zoom-range{
    -webkit-appearance:none !important;
    appearance:none !important;
    width:100% !important;
    height:16px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    outline:none !important;
    background:
        linear-gradient(to right, #111 0%, #111 var(--zpc-zoom-fill, 0%), #ddd var(--zpc-zoom-fill, 0%), #ddd 100%)
        center / 100% 3px no-repeat !important;
    cursor:pointer !important;
}

#zpc-editor input[type="range"].zpc-zoom-range::-webkit-slider-runnable-track{
    -webkit-appearance:none !important;
    appearance:none !important;
    height:3px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

#zpc-editor input[type="range"].zpc-zoom-range::-webkit-slider-thumb{
    -webkit-appearance:none !important;
    appearance:none !important;
    width:14px !important;
    height:14px !important;
    border-radius:50% !important;
    background:#111 !important;
    border:0 !important;
    box-shadow:none !important;
    margin-top:-5.5px !important;
    cursor:pointer !important;
}

#zpc-editor input[type="range"].zpc-zoom-range::-moz-range-track{
    height:3px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

#zpc-editor input[type="range"].zpc-zoom-range::-moz-range-progress{
    height:3px !important;
    background:transparent !important;
}

#zpc-editor input[type="range"].zpc-zoom-range::-moz-range-thumb{
    width:14px !important;
    height:14px !important;
    border-radius:50% !important;
    background:#111 !important;
    border:0 !important;
    box-shadow:none !important;
    cursor:pointer !important;
}

#zpc-editor .zpc-trash-button{
    position:relative !important;
    padding:0 !important;
    background:#fff !important;
}

#zpc-editor .zpc-trash-button::before{
    content:"" !important;
    width:18px !important;
    height:18px !important;
    display:block !important;
    background-color:#777 !important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2zm-1 6h8l-.8 12H8.8L8 9zm2 2 .45 8h1.5l-.3-8H10zm3.35 0-.3 8h1.5L15 11h-1.65z'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2zm-1 6h8l-.8 12H8.8L8 9zm2 2 .45 8h1.5l-.3-8H10zm3.35 0-.3 8h1.5L15 11h-1.65z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

#zpc-editor .zpc-trash-button:hover::before{
    background-color:#111 !important;
}

#zpc-editor .zpc-trash-icon{
    display:none !important;
}


/* V0.7.3 total composition size message */
.zpc-total-size-message{
    margin:8px 0 0;
    padding:12px 14px;
    background:#f3f3f3;
    color:#222;
    font-size:14px;
    line-height:1.35;
    text-align:center;
}

.zpc-total-size-message strong{
    font-weight:700;
}

@media(max-width:980px){
    .zpc-total-size-message{
        font-size:13px;
        padding:11px 12px;
    }
}


/* V0.7.3 add-to-cart processing */
.zpc-add-to-cart-error{
    margin:12px 0;
    padding:12px 14px;
    border:1px solid #e0b4b4;
    background:#fff4f4;
    color:#8a1f1f;
    font-size:13px;
    line-height:1.4;
}

.zpc-processing-button{
    opacity:.7 !important;
    cursor:wait !important;
}


/* V0.7.3 cart preview fallback */
.zpc-cart-inline-preview-wrap{
    display:block;
    width:86px;
    margin:0 0 8px 0;
}

.zpc-cart-inline-preview{
    width:86px !important;
    height:auto !important;
    display:block !important;
    border-radius:4px;
    object-fit:cover;
}

.woocommerce-cart-form .zpc-cart-inline-preview-wrap,
.woocommerce-checkout-review-order .zpc-cart-inline-preview-wrap{
    margin-bottom:8px;
}

.zpc-cart-preview-marker{
    display:none !important;
}

@media(max-width:768px){
    .zpc-cart-inline-preview-wrap{
        width:72px;
    }

    .zpc-cart-inline-preview{
        width:72px !important;
    }
}


/* V0.7.3 cart preview only in product image position */
.zpc-cart-inline-preview-wrap{
    display:none !important;
}

.zpc-cart-inline-preview{
    display:none !important;
}

.zpc-sidecart-preview-applied{
    display:block !important;
    object-fit:cover !important;
}


/* V0.7.3 side cart thumbnail placement */
.zpc-sidecart-item-has-preview{
    position:relative !important;
}

.zpc-sidecart-preview-thumb{
    width:86px !important;
    max-width:86px !important;
    height:auto !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:3px !important;
}

.zpc-sidecart-preview-absolute{
    position:absolute !important;
    left:0 !important;
    top:14px !important;
    width:86px !important;
    z-index:2 !important;
}

.zpc-sidecart-item-has-preview.zpc-sidecart-needs-padding{
    padding-left:110px !important;
    min-height:130px !important;
}

@media(max-width:768px){
    .zpc-sidecart-preview-thumb,
    .zpc-sidecart-preview-absolute{
        width:82px !important;
        max-width:82px !important;
    }

    .zpc-sidecart-item-has-preview.zpc-sidecart-needs-padding{
        padding-left:108px !important;
        min-height:126px !important;
    }
}


/* V0.7.3 hidden marker + contained thumbnail */
.zpc-cart-preview-marker{
    display:none !important;
}

.zpc-sidecart-preview-applied,
.zpc-sidecart-preview-thumb,
.zpc-cart-inline-preview{
    width:86px !important;
    height:86px !important;
    max-width:86px !important;
    max-height:86px !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#f4f4f4 !important;
    display:block !important;
    border-radius:3px !important;
    overflow:hidden !important;
}

.zpc-sidecart-preview-absolute{
    width:86px !important;
    height:86px !important;
    max-width:86px !important;
    max-height:86px !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#f4f4f4 !important;
}

.zpc-sidecart-item-has-preview.zpc-sidecart-needs-padding{
    padding-left:110px !important;
    min-height:112px !important;
}

@media(max-width:768px){
    .zpc-sidecart-preview-applied,
    .zpc-sidecart-preview-thumb,
    .zpc-cart-inline-preview,
    .zpc-sidecart-preview-absolute{
        width:82px !important;
        height:82px !important;
        max-width:82px !important;
        max-height:82px !important;
    }

    .zpc-sidecart-item-has-preview.zpc-sidecart-needs-padding{
        padding-left:108px !important;
        min-height:106px !important;
    }
}


/* V0.7.3 hide visible Preview: abrir row while keeping marker for side-cart thumbnail */
.zpc-cart-preview-marker{
    display:none !important;
}

.woocommerce .variation dt:has(+ dd .zpc-cart-preview-marker),
.woocommerce .variation dd:has(.zpc-cart-preview-marker),
.woocommerce .wc-item-meta li:has(.zpc-cart-preview-marker),
.woocommerce .variation li:has(.zpc-cart-preview-marker),
.fkcart-item-meta li:has(.zpc-cart-preview-marker),
.fkcart--item-meta li:has(.zpc-cart-preview-marker),
.fkcart-item-option:has(.zpc-cart-preview-marker),
.fkcart--item-option:has(.zpc-cart-preview-marker){
    display:none !important;
}

.woocommerce .variation dt:empty,
.woocommerce .variation dd:empty{
    display:none !important;
}


/* V0.7.3 admin order display */
.zpc-admin-order-box{
    margin:12px 0 8px;
    padding:12px;
    border:1px solid #dcdcde;
    background:#fff;
    border-radius:4px;
    max-width:420px;
}

.zpc-admin-preview{
    margin:10px 0;
    width:160px;
    height:160px;
    background:#f4f4f4;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:4px;
}

.zpc-admin-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.zpc-admin-links{
    margin:8px 0 10px;
}

.zpc-admin-table{
    width:100%;
    border-collapse:collapse;
    font-size:12px;
}

.zpc-admin-table td{
    padding:4px 6px;
    border-top:1px solid #eee;
    vertical-align:top;
}

.zpc-admin-table td:first-child{
    font-weight:600;
    width:42%;
}


/* V0.7.3 cart preview anti-loop */
.zpc-sidecart-preview-applied{
    object-fit:contain !important;
    object-position:center center !important;
}


/* V0.7.3 better preview space usage */
.zpc-preview-area{
    padding:28px !important;
}

.zpc-composition{
    max-width:100% !important;
    width:100% !important;
    min-height:520px;
    gap:var(--zpc-gap, 10px) !important;
}

.zpc-frame{
    width:var(--zpc-frame-width, 260px) !important;
}

.zpc-upload-placeholder{
    font-size:var(--zpc-placeholder-font, 13px) !important;
    letter-spacing:var(--zpc-placeholder-letter-spacing, .055em) !important;
    line-height:1.15 !important;
    padding:8px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
}

.zpc-upload-icon{
    width:var(--zpc-upload-icon-size, 34px) !important;
    height:var(--zpc-upload-icon-size, 34px) !important;
    font-size:var(--zpc-upload-icon-font, 20px) !important;
}

@media(max-width:980px){
    .zpc-preview-area{
        padding:18px !important;
    }

    .zpc-composition{
        min-height:360px;
        gap:var(--zpc-gap, 6px) !important;
    }

    .zpc-upload-placeholder{
        font-size:var(--zpc-placeholder-font, 11px) !important;
        letter-spacing:var(--zpc-placeholder-letter-spacing, .035em) !important;
        padding:5px !important;
    }

    .zpc-upload-icon{
        width:var(--zpc-upload-icon-size, 28px) !important;
        height:var(--zpc-upload-icon-size, 28px) !important;
        font-size:var(--zpc-upload-icon-font, 16px) !important;
    }
}


/* V0.7.3 tighter outer preview spacing */
.zpc-preview-area{
    padding:8px !important;
}

.zpc-composition{
    min-height:calc(100% - 16px) !important;
}

@media(max-width:980px){
    .zpc-preview-area{
        padding:5px !important;
    }

    .zpc-composition{
        min-height:calc(100% - 10px) !important;
    }
}


/* V0.7.5 price breakdown beside WooCommerce price */
.zpc-price-breakdown{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:10px;
    vertical-align:middle;
    font-size:13px;
    line-height:1.25;
    color:#666;
    flex-wrap:wrap;
}

.zpc-price-breakdown-old{
    color:#999;
    text-decoration:line-through;
    font-size:13px;
}

.zpc-price-breakdown-text{
    color:#666;
    font-size:13px;
}

.zpc-price-breakdown-save{
    color:#128a24;
    font-weight:700;
}

.woocommerce-variation-price .price,
.summary .price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:0;
}

@media(max-width:768px){
    .zpc-price-breakdown{
        display:flex;
        width:100%;
        margin-left:0;
        margin-top:4px;
        font-size:12px;
        gap:6px;
    }

    .zpc-price-breakdown-old,
    .zpc-price-breakdown-text{
        font-size:12px;
    }
}


/* V0.7.6 visual refinements */
.zpc-option-button:not(.is-active):not(:disabled){
    border-color:#9a9a9a !important;
    color:#333 !important;
}

.zpc-option-button:not(.is-active):not(:disabled):hover{
    border-color:#111 !important;
    color:#111 !important;
}

.zpc-discount-message{
    padding-top:10px !important;
    padding-bottom:10px !important;
    line-height:1.25 !important;
}

.zpc-price-breakdown-save{
    font-size:15px !important;
}

@media(max-width:768px){
    .zpc-discount-message{
        padding-top:9px !important;
        padding-bottom:9px !important;
    }

    .zpc-price-breakdown-save{
        font-size:14px !important;
    }
}


/* V0.7.7 reduce distance between composition buttons and discount message */
.zpc-discount-message{
    margin-top:6px !important;
}


/* V0.7.8 square preview container */
.zpc-preview-area{
    border-radius:0 !important;
}


/* V0.7.9 stronger paspatur buttons + tighter discount spacing */

/* Botões de paspatur não selecionados mais visíveis */
#zpc-controls .zpc-option-button:not(.is-active):not(:disabled),
#zpc-paspatur-control .zpc-option-button:not(.is-active):not(:disabled){
    border-color:#8a8a8a !important;
    color:#333333 !important;
    background:#ffffff !important;
    opacity:1 !important;
}

#zpc-controls .zpc-option-button:not(.is-active):not(:disabled):hover,
#zpc-paspatur-control .zpc-option-button:not(.is-active):not(:disabled):hover{
    border-color:#111111 !important;
    color:#111111 !important;
}

/* Mantém os desabilitados realmente apagados */
#zpc-controls .zpc-option-button:disabled,
#zpc-paspatur-control .zpc-option-button:disabled{
    border-color:#e1e1e1 !important;
    color:#b5b5b5 !important;
    background:#ffffff !important;
    opacity:1 !important;
}

/* Aproxima o aviso de desconto dos botões de composição */
#zpc-composition-discount-message.zpc-discount-message{
    margin-top:-10px !important;
    margin-bottom:18px !important;
}

/* Caso o tema injete margens entre blocos */
#zpc-controls > #zpc-composition-discount-message{
    align-self:start !important;
}


/* V0.8.0 darker paspatur buttons in all states */
#zpc-controls .zpc-option-button:not(.is-active):not(:disabled),
#zpc-paspatur-control .zpc-option-button:not(.is-active):not(:disabled),
.zpc-paspatur-options .zpc-option-button:not(.is-active):not(:disabled){
    border-color:#666666 !important;
    color:#1f1f1f !important;
    background:#ffffff !important;
    opacity:1 !important;
    font-weight:500 !important;
}

#zpc-controls .zpc-option-button:not(.is-active):not(:disabled):hover,
#zpc-paspatur-control .zpc-option-button:not(.is-active):not(:disabled):hover,
.zpc-paspatur-options .zpc-option-button:not(.is-active):not(:disabled):hover{
    border-color:#000000 !important;
    color:#000000 !important;
}

/* Quando desabilitado em duplo/triplo */
#zpc-controls .zpc-option-button:disabled,
#zpc-paspatur-control .zpc-option-button:disabled,
.zpc-paspatur-options .zpc-option-button:disabled{
    border-color:#8c8c8c !important;
    color:#5f5f5f !important;
    background:#f8f8f8 !important;
    opacity:1 !important;
}


/* V0.8.3 mobile stable preview sizing */
@media(max-width:980px){
    .zpc-composition.zpc-vertical{
        min-height:360px !important;
    }
}


/* V0.8.4 real proportional paspatur by selected cm size */
.zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}

.zpc-paspatur-sem .zpc-paspatur,
.zpc-paspatur-3cm .zpc-paspatur,
.zpc-paspatur-5cm .zpc-paspatur,
.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V0.8.5 real proportional frame thickness and paspatur */
.zpc-frame{
    padding:var(--zpc-frame-border-px, 7px) !important;
}

.zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}

.zpc-paspatur-sem .zpc-paspatur,
.zpc-paspatur-3cm .zpc-paspatur,
.zpc-paspatur-5cm .zpc-paspatur,
.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V0.8.6 strict physical proportional frame and paspatur */
.zpc-frame{
    padding:var(--zpc-frame-border-px, 7px) !important;
}

.zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}

.zpc-paspatur-sem .zpc-paspatur,
.zpc-paspatur-3cm .zpc-paspatur,
.zpc-paspatur-5cm .zpc-paspatur,
.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V0.8.8 safe proportional adjustment only.
   Base restored from functional version. Preview behavior is untouched.
*/
#zpc-editor #zpc-preview-composition .zpc-frame{
    padding:var(--zpc-frame-border-px, 7px) !important;
}

#zpc-editor #zpc-preview-composition .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V0.9.1 physical frame/paspatur based on V0.8.8 functional preview */
#zpc-editor #zpc-preview-composition .zpc-frame{
    padding:var(--zpc-frame-border-px, 7px) !important;
}

#zpc-editor #zpc-preview-composition .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V0.9.3 hard visual correction for paspatur size
   Reduces only the actual visible paspatur padding by 10%.
   Keeps moldura and preview behavior unchanged.
*/
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur{
    padding:calc(var(--zpc-paspatur-px, 0px) * 0.90) !important;
}

#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur{
    padding:calc(var(--zpc-paspatur-px, 0px) * 0.90) !important;
}

#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:calc(var(--zpc-paspatur-px, 0px) * 0.90) !important;
}

#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur{
    padding:0 !important;
}

/* V0.9.4 keeps image crop consistent when paspatur is toggled */

/* V0.9.5 fixes paspatur crop, prevents gray gaps and keeps zoom on paspatur change */

/* V0.9.6 commercial size is now the useful image area outside the frame; frame extends 1.1cm outward. */


/* V0.9.9 safe asymmetric frame extrapolation. Keeps V0.9.6 behavior intact. */
#zpc-editor #zpc-preview-composition .zpc-frame{
    padding-top:var(--zpc-frame-border-top-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-right:var(--zpc-frame-border-right-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-bottom:var(--zpc-frame-border-bottom-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-left:var(--zpc-frame-border-left-px, var(--zpc-frame-border-px, 7px)) !important;
}

#zpc-editor #zpc-preview-composition .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V1.0.0 frame extrapolates its own 1.5cm thickness externally.
   Useful image area remains the commercial selected size/proportion.
*/
#zpc-editor #zpc-preview-composition .zpc-frame{
    padding-top:var(--zpc-frame-border-top-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-right:var(--zpc-frame-border-right-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-bottom:var(--zpc-frame-border-bottom-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-left:var(--zpc-frame-border-left-px, var(--zpc-frame-border-px, 7px)) !important;
}

#zpc-editor #zpc-preview-composition .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V1.0.2 safe final physical sizing override.
   Keeps all preview/upload behavior from the functional base.
*/
#zpc-editor #zpc-preview-composition .zpc-frame{
    padding-top:var(--zpc-frame-border-top-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-right:var(--zpc-frame-border-right-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-bottom:var(--zpc-frame-border-bottom-px, var(--zpc-frame-border-px, 7px)) !important;
    padding-left:var(--zpc-frame-border-left-px, var(--zpc-frame-border-px, 7px)) !important;
}

#zpc-editor #zpc-preview-composition .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-sem .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-3cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-5cm .zpc-paspatur,
#zpc-editor #zpc-preview-composition.zpc-paspatur-7cm .zpc-paspatur{
    padding:var(--zpc-paspatur-px, 0px) !important;
}


/* V1.0.3 checkout/order received thumbnails */
.zpc-checkout-preview-frame,
.zpc-order-inline-preview-wrap{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
    margin-right:10px !important;
    vertical-align:middle !important;
}

.zpc-checkout-preview-frame img,
.zpc-checkout-preview-applied,
.zpc-order-inline-preview{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

.zpc-order-preview-marker{
    display:none !important;
}

.zpc-admin-links .button-primary{
    margin-right:6px;
}


/* V1.0.4: checkout/thank-you preview must replace thumbnails only */
.zpc-order-inline-preview-wrap{
    display:none !important;
}

.zpc-checkout-preview-frame{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.zpc-checkout-preview-frame img,
.zpc-checkout-preview-applied{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
}


/* V1.0.5 checkout / order received thumbnail replacement only */
.zpc-checkout-preview-frame{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
}

.zpc-checkout-preview-frame img,
.zpc-checkout-preview-applied{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

.zpc-order-inline-preview-wrap{
    display:none !important;
}

/* Admin: show only a small preview of final mockup; original image only as download button */
.zpc-admin-preview{
    width:110px !important;
    height:110px !important;
    max-width:110px !important;
    margin:8px 0 !important;
}

.zpc-admin-preview img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}


/* V1.0.6 FunnelKit checkout + thank you thumbnails */
.wfty_p_img.zpc-checkout-preview-frame,
.zpc-checkout-preview-frame{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
}

.wfty_p_img.zpc-checkout-preview-frame a{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.zpc-checkout-preview-frame img,
.zpc-checkout-preview-applied{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}


/* V1.0.7 FunnelKit checkout exact structure */
.product-image.zpc-checkout-preview-frame,
.wfacp-pro-thumb.zpc-checkout-preview-frame,
.zpc-checkout-preview-frame{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
}

.product-image.zpc-checkout-preview-frame .wfacp-pro-thumb{
    width:100% !important;
    height:100% !important;
}

.zpc-checkout-preview-applied{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}


/* V1.0.8 exact FunnelKit thank-you + checkout thumbnail replacement */
.wfty_p_img.zpc-checkout-preview-frame,
.product-image.zpc-checkout-preview-frame,
.wfacp-pro-thumb.zpc-checkout-preview-frame,
.zpc-checkout-preview-frame{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
}

.wfty_p_img.zpc-checkout-preview-frame a,
.product-image.zpc-checkout-preview-frame .wfacp-pro-thumb{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.zpc-checkout-preview-applied{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}


/* V1.0.9 admin order preview width */
.zpc-admin-preview{
    width:300px !important;
    max-width:300px !important;
    height:auto !important;
    max-height:none !important;
    display:block !important;
    background:#f4f4f4 !important;
    overflow:hidden !important;
}

.zpc-admin-preview img{
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
}


/* V1.0.10 admin preview responsive fix */
.zpc-admin-preview{
    width:300px !important;
    max-width:min(300px, calc(100vw - 80px)) !important;
    height:auto !important;
    max-height:none !important;
    display:block !important;
    background:#f4f4f4 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.zpc-admin-preview img,
.zpc-admin-preview a img,
.zpc-admin-preview .attachment-post-thumbnail,
.zpc-admin-preview .wp-post-image{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    display:block !important;
}

@media (max-width: 782px){

    .zpc-admin-preview{
        width:100% !important;
        max-width:calc(100vw - 40px) !important;
    }

    .zpc-admin-preview img,
    .zpc-admin-preview a img{
        width:100% !important;
        height:auto !important;
    }
}


/* V1.0.11 wp-admin/mobile admin order preview hard fix */
.zpc-admin-order-box{
    max-width:340px !important;
    width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.zpc-admin-preview{
    width:300px !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    display:block !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

.zpc-admin-preview img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    display:block !important;
    object-fit:contain !important;
}

.zpc-admin-links{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

.zpc-admin-links .button{
    white-space:normal !important;
    height:auto !important;
    line-height:1.3 !important;
    text-align:center !important;
    max-width:100% !important;
}

.zpc-admin-table{
    width:100% !important;
    max-width:100% !important;
    table-layout:fixed !important;
}

.zpc-admin-table td{
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
}

@media(max-width:782px){
    .zpc-admin-order-box{
        max-width:calc(100vw - 48px) !important;
    }

    .zpc-admin-preview{
        width:min(300px, calc(100vw - 64px)) !important;
        max-width:calc(100vw - 64px) !important;
    }
}


/* V1.1.0 Google Drive settings/admin links */
.zpc-admin-drive-links .button{
    white-space:normal !important;
    height:auto !important;
    line-height:1.3 !important;
}


/* V1.1.1 OAuth Drive settings */


/* V1.2.2 OAuth-only Drive status */
.zpc-drive-status-wrap{
    margin:8px 0;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.zpc-drive-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 10px;
    border-radius:4px;
    font-size:12px;
    font-weight:600;
}

.zpc-drive-status-sincronizado{
    background:#dff5e3;
    color:#1d6b35;
}

.zpc-drive-status-pendente{
    background:#fff4d6;
    color:#8a6200;
}


/* V1.2.3 Drive retry reuses existing folder and clears old error notes after success */

/* V1.2.5 preserves WooCommerce order note history for Drive sync. */


/* V1.3.0 Production dashboard */
.zpc-production-wrap{
    max-width:1400px;
}

.zpc-production-filters{
    margin:16px 0 20px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.zpc-production-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(360px, 1fr));
    gap:18px;
}

.zpc-production-card{
    background:#fff;
    border:1px solid #dcdcde;
    border-radius:8px;
    padding:16px;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.zpc-production-card-header{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:10px;
}

.zpc-production-card-header h2{
    margin:0 0 4px;
    font-size:18px;
}

.zpc-production-card-header p{
    margin:0;
    color:#646970;
}

.zpc-production-customer{
    margin:10px 0 14px;
}

.zpc-prod-status{
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    background:#f0f0f1;
    color:#3c434a;
}

.zpc-prod-status-novo{background:#e7f0ff;color:#174ea6;}
.zpc-prod-status-baixado{background:#fff4d6;color:#8a6200;}
.zpc-prod-status-impresso{background:#e8f5e9;color:#1b5e20;}
.zpc-prod-status-montado{background:#efe7ff;color:#5b21b6;}
.zpc-prod-status-enviado{background:#dff5e3;color:#1d6b35;}

.zpc-production-item{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:14px;
    border-top:1px solid #f0f0f1;
    padding-top:14px;
    margin-top:14px;
}

.zpc-production-preview{
    width:130px;
    height:130px;
    background:#f4f4f4;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.zpc-production-preview img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.zpc-production-info h3{
    margin:0 0 8px;
    font-size:14px;
    line-height:1.3;
}

.zpc-production-info ul{
    margin:0 0 10px 18px;
}

.zpc-production-actions,
.zpc-production-status-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.zpc-production-status-actions{
    border-top:1px solid #f0f0f1;
    margin-top:14px;
    padding-top:14px;
}

@media(max-width:782px){
    .zpc-production-grid{
        grid-template-columns:1fr;
    }

    .zpc-production-item{
        grid-template-columns:100px 1fr;
    }

    .zpc-production-preview{
        width:100px;
        height:100px;
    }
}


/* V1.3.2 Production panel thumbnail sizing similar to cart */
.zpc-production-item{
    grid-template-columns:76px 1fr !important;
    gap:12px !important;
    align-items:flex-start !important;
}

.zpc-production-preview{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:4px !important;
}

.zpc-production-preview img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

@media(max-width:782px){
    .zpc-production-item{
        grid-template-columns:72px 1fr !important;
    }

    .zpc-production-preview{
        width:64px !important;
        height:64px !important;
    }
}


/* V1.3.3 urgent hard lock production preview thumbnail */
.zpc-production-card .zpc-production-item{
    display:grid !important;
    grid-template-columns:76px minmax(0, 1fr) !important;
    gap:12px !important;
    align-items:flex-start !important;
}

.zpc-production-card .zpc-production-preview{
    width:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    overflow:hidden !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:4px !important;
    box-sizing:border-box !important;
    flex:0 0 64px !important;
}

.zpc-production-card .zpc-production-preview img,
.zpc-production-card .zpc-production-preview a img{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

.zpc-production-card .zpc-production-info{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.zpc-production-card .zpc-production-info h3{
    overflow-wrap:anywhere !important;
    word-break:normal !important;
}


/* V1.3.4 larger production thumbnails + visual separation */
.zpc-production-card-main{
    background:#ffffff !important;
}

.zpc-production-card-alt{
    background:#f7f7f7 !important;
}

.zpc-production-card{
    border-bottom:3px solid #dcdcde !important;
}

.zpc-production-card .zpc-production-item{
    display:grid !important;
    grid-template-columns:140px minmax(0, 1fr) !important;
    gap:14px !important;
    align-items:flex-start !important;
}

.zpc-production-card .zpc-production-preview{
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:128px !important;
    min-height:128px !important;
    max-height:128px !important;
    overflow:hidden !important;
    background:#f4f4f4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:4px !important;
    box-sizing:border-box !important;
    flex:0 0 128px !important;
}

.zpc-production-card .zpc-production-preview img,
.zpc-production-card .zpc-production-preview a img{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

@media(max-width:782px){
    .zpc-production-card .zpc-production-item{
        grid-template-columns:112px minmax(0, 1fr) !important;
    }

    .zpc-production-card .zpc-production-preview{
        width:104px !important;
        min-width:104px !important;
        max-width:104px !important;
        height:104px !important;
        min-height:104px !important;
        max-height:104px !important;
        flex:0 0 104px !important;
    }
}


/* V1.3.5 Production row layout + alternating backgrounds */

.zpc-production-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
}

.zpc-production-card{
    width:100% !important;
    border-radius:8px !important;
    padding:18px !important;
    box-sizing:border-box !important;
    border:1px solid #dcdcde !important;
}

.zpc-production-card-main{
    background:#ffffff !important;
}

.zpc-production-card-alt{
    background:#f2f2f2 !important;
}

.zpc-production-item{
    width:100% !important;
    margin-top:16px !important;
}

.zpc-production-row{
    display:flex !important;
    align-items:flex-start !important;
    gap:20px !important;
    width:100% !important;
}

.zpc-production-preview{
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    height:140px !important;
    min-height:140px !important;
    max-height:140px !important;
    overflow:hidden !important;
    background:#f4f4f4 !important;
    border-radius:6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #dcdcde !important;
    flex:0 0 140px !important;
}

.zpc-production-preview img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
}

.zpc-production-info{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
}

.zpc-production-info h3{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.35 !important;
}

.zpc-production-info ul{
    margin:0 !important;
    padding-left:18px !important;
}

.zpc-production-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
}

.zpc-production-status-actions{
    margin-top:14px !important;
    padding-top:14px !important;
    border-top:1px solid rgba(0,0,0,.08) !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
}

@media(max-width:782px){

    .zpc-production-row{
        flex-direction:column !important;
    }

    .zpc-production-preview{
        width:110px !important;
        min-width:110px !important;
        max-width:110px !important;
        height:110px !important;
        min-height:110px !important;
        max-height:110px !important;
        flex:0 0 110px !important;
    }
}

/* V1.3.7 Drive downloads use internal OAuth proxy instead of Google webViewLink. */


/* V1.3.8 auto-refresh after Drive download */
.zpc-drive-download-refresh.disabled{
    opacity:.65 !important;
    pointer-events:none !important;
}


/* V1.3.9 status buttons stay visible; current status is highlighted */
.zpc-production-status-button{
    border-color:#8c8f94 !important;
    color:#315ddc !important;
    background:#fff !important;
    font-weight:600 !important;
}

.zpc-production-status-button.zpc-status-current{
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 1px 2px rgba(0,0,0,.12) !important;
    pointer-events:none !important;
    cursor:default !important;
}

.zpc-status-btn-novo.zpc-status-current{
    background:#1f8f3a !important;
}

.zpc-status-btn-baixado.zpc-status-current{
    background:#2563eb !important;
}

.zpc-status-btn-impresso.zpc-status-current{
    background:#7c3aed !important;
}

.zpc-status-btn-montado.zpc-status-current{
    background:#d97706 !important;
}

.zpc-status-btn-enviado.zpc-status-current{
    background:#16a34a !important;
}

.zpc-production-status-actions{
    align-items:center !important;
}


/* V1.3.10 hard highlight current production status button */
.zpc-production-status-button[data-zpc-current="1"],
.zpc-production-status-button.zpc-status-current{
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 1px 2px rgba(0,0,0,.18) !important;
    pointer-events:none !important;
    cursor:default !important;
}

.zpc-status-btn-novo[data-zpc-current="1"],
.zpc-status-btn-novo.zpc-status-current{
    background:#1f8f3a !important;
}

.zpc-status-btn-baixado[data-zpc-current="1"],
.zpc-status-btn-baixado.zpc-status-current{
    background:#2563eb !important;
}

.zpc-status-btn-impresso[data-zpc-current="1"],
.zpc-status-btn-impresso.zpc-status-current{
    background:#7c3aed !important;
}

.zpc-status-btn-montado[data-zpc-current="1"],
.zpc-status-btn-montado.zpc-status-current{
    background:#d97706 !important;
}

.zpc-status-btn-enviado[data-zpc-current="1"],
.zpc-status-btn-enviado.zpc-status-current{
    background:#16a34a !important;
}


/* V1.3.11 current status buttons match status label colors exactly */
.zpc-production-status-button[data-zpc-current="1"],
.zpc-production-status-button.zpc-status-current{
    box-shadow:0 1px 2px rgba(0,0,0,.10) !important;
    pointer-events:none !important;
    cursor:default !important;
}

.zpc-status-btn-novo[data-zpc-current="1"],
.zpc-status-btn-novo.zpc-status-current{
    background:#e7f0ff !important;
    color:#174ea6 !important;
    border-color:#b8d2ff !important;
}

.zpc-status-btn-baixado[data-zpc-current="1"],
.zpc-status-btn-baixado.zpc-status-current{
    background:#fff4d6 !important;
    color:#8a6200 !important;
    border-color:#f3d27a !important;
}

.zpc-status-btn-impresso[data-zpc-current="1"],
.zpc-status-btn-impresso.zpc-status-current{
    background:#e8f5e9 !important;
    color:#1b5e20 !important;
    border-color:#a8d5ad !important;
}

.zpc-status-btn-montado[data-zpc-current="1"],
.zpc-status-btn-montado.zpc-status-current{
    background:#efe7ff !important;
    color:#5b21b6 !important;
    border-color:#cdb7ff !important;
}

.zpc-status-btn-enviado[data-zpc-current="1"],
.zpc-status-btn-enviado.zpc-status-current{
    background:#dff5e3 !important;
    color:#1d6b35 !important;
    border-color:#a9dcb4 !important;
}


/* V1.3.12 current status button uses inline PHP styles; this is fallback only */
.zpc-production-status-button.zpc-status-current,
.zpc-production-status-button[data-zpc-current="1"]{
    font-weight:700 !important;
}


/* V1.3.13 impresso uses neutral gray palette */
.zpc-prod-status-impresso{
    background:#ececec !important;
    color:#4b5563 !important;
}

.zpc-status-btn-impresso[data-zpc-current="1"],
.zpc-status-btn-impresso.zpc-status-current{
    background:#ececec !important;
    color:#4b5563 !important;
    border-color:#c9c9c9 !important;
}





/* V1.3.19 based on V1.3.15: replace central plus icon with SVG */
#zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap{
    width:114px !important;
    height:114px !important;
    min-width:114px !important;
    min-height:114px !important;
    border:none !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
}

#zpc-editor .zpc-upload-svg-icon{
    width:114px !important;
    height:114px !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
    pointer-events:none !important;
}

#zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap::before,
#zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap::after{
    content:none !important;
    display:none !important;
}

@media(max-width:782px){
    #zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap{
        width:96px !important;
        height:96px !important;
        min-width:96px !important;
        min-height:96px !important;
    }

    #zpc-editor .zpc-upload-svg-icon{
        width:96px !important;
        height:96px !important;
    }
}


/* V1.3.20 SVG upload icon scales proportionally with frame size */
#zpc-editor .zpc-upload-placeholder{
    width:100% !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    box-sizing:border-box !important;
}

#zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap{
    width:clamp(38px, 28%, 118px) !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
    border:none !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:0 !important;
    margin:0 !important;
}

#zpc-editor .zpc-upload-svg-icon{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
    pointer-events:none !important;
}

/* Smaller proportional icon in multi-frame compositions */
#zpc-editor .zpc-composition-duplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
#zpc-editor .zpc-composition-triplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
#zpc-editor .zpc-preview-composition-duplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
#zpc-editor .zpc-preview-composition-triplo .zpc-upload-icon.zpc-upload-svg-icon-wrap{
    width:clamp(26px, 22%, 82px) !important;
}

/* Keep the text proportional and readable inside smaller frames */
#zpc-editor .zpc-composition-duplo .zpc-upload-placeholder span:not(.zpc-upload-icon),
#zpc-editor .zpc-composition-triplo .zpc-upload-placeholder span:not(.zpc-upload-icon),
#zpc-editor .zpc-preview-composition-duplo .zpc-upload-placeholder span:not(.zpc-upload-icon),
#zpc-editor .zpc-preview-composition-triplo .zpc-upload-placeholder span:not(.zpc-upload-icon){
    font-size:clamp(7px, 1.15vw, 11px) !important;
    line-height:1.1 !important;
    text-align:center !important;
}

@media(max-width:782px){
    #zpc-editor .zpc-upload-icon.zpc-upload-svg-icon-wrap{
        width:clamp(32px, 30%, 92px) !important;
    }

    #zpc-editor .zpc-composition-duplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
    #zpc-editor .zpc-composition-triplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
    #zpc-editor .zpc-preview-composition-duplo .zpc-upload-icon.zpc-upload-svg-icon-wrap,
    #zpc-editor .zpc-preview-composition-triplo .zpc-upload-icon.zpc-upload-svg-icon-wrap{
        width:clamp(22px, 24%, 68px) !important;
    }
}


/* V1.3.39 uploaded/reposition messages */
#zpc-editor .zpc-uploaded-message{
    font-weight:700 !important;
}

#zpc-editor .zpc-reposition-message{
    font-weight:700 !important;
    color:#3f4752 !important;
}


/* V1.3.39 success message bold */
#zpc-success-message,
#zpc-success-message strong{
    font-weight:700 !important;
}

/* V1.3.39: minimal pixel safety bleed + drag clamp for 90x60 and 50x75. */


/* ==========================================================================
   ZPC MOBILE ADAPTIVE PREVIEW HEIGHT - KEEP THIS BLOCK IN FUTURE VERSIONS
   Reference behavior restored from V1.1.0.
   Purpose:
   - On mobile only, the gray preview container should follow the actual
     current frame/composition height instead of staying fixed.
   - Desktop remains untouched.
   - Do not replace this with JS height syncing unless specifically needed.
========================================================================== */
@media(max-width:782px){

    #zpc-editor .zpc-preview-area{
        min-height:auto !important;
        height:auto !important;
        padding:5px !important;
        align-items:center !important;
        justify-content:center !important;
    }

    #zpc-editor #zpc-preview-composition,
    #zpc-editor .zpc-composition{
        min-height:calc(100% - 10px) !important;
        height:auto !important;
        max-height:none !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:visible !important;
    }
}

@media(min-width:783px){

    #zpc-editor #zpc-preview-composition,
    #zpc-editor .zpc-composition{
        height:auto !important;
    }
}


/* V1.3.39 refined message weight */
#zpc-editor .zpc-uploaded-message,
#zpc-editor #zpc-success-message,
#zpc-editor #zpc-success-message strong{
    font-weight:600 !important;
}

#zpc-editor .zpc-reposition-message,
#zpc-editor #zpc-touch-hint,
#zpc-editor #zpc-touch-hint strong{
    font-weight:500 !important;
    color:#424b57 !important;
}

/* V1.3.39 Drive sync is scheduled asynchronously after checkout. */


/* V1.4.8 production ZIP button */
.zpc-production-actions .button-primary{
    font-weight:600 !important;
}

/* V1.4.8 production files include paspatur in filename and embedded white paspatur when applicable. */

/* V1.4.8 production ZIP fallback: local original first, Google Drive original when local missing. */

/* V1.4.8 production status changes to baixado only after ZIP production download. */

/* V1.4.8: Drive original download never changes production status; ZIP production download does. */


/* V1.4.8 auto-refresh after production ZIP download */
.zpc-production-zip-download-refresh.disabled{
    opacity:.65 !important;
    pointer-events:none !important;
}

/* V1.4.8: only production ZIP download refreshes production page. */

/* V1.4.8 normalizes JPEG EXIF orientation before production crop generation. */
