.wcpc-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 22px;
    margin: 20px 0;
    font-family: inherit;
}
.wcpc-heading {
    margin: 0 0 18px;
    font-size: 16px;
    font-weight: 700;
    color: #1a202c;
    border-bottom: 2px solid #2271b1;
    padding-bottom: 8px;
}
.wcpc-row { margin-bottom: 14px; }
.wcpc-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #4a5568;
    margin-bottom: 5px;
}
.wcpc-label .req { color: #e53e3e; }
.wcpc-select {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
    box-sizing: border-box;
    color: #2d3748;
    -webkit-appearance: auto;
    appearance: auto;
}
.wcpc-select:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15);
}
.wcpc-file {
    width: 100%;
    padding: 6px;
    border: 1px dashed #a0aec0;
    border-radius: 6px;
    background: #fff;
    box-sizing: border-box;
    font-size: 13px;
}
.wcpc-hint { display: block; font-size: 11px; color: #718096; margin-top: 3px; }

/* Pages card */
.wcpc-pages-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 2px solid #cbd5e0;
    border-radius: 8px;
    padding: 12px 16px;
    transition: border-color .3s;
}
.wcpc-pages-card.detecting {
    border-color: #f6ad55;
    animation: wcpc-blink 1s ease-in-out infinite;
}
.wcpc-pages-card:has(#wcpc-pages-num:not(:empty)) {
    border-color: #2271b1;
}
@keyframes wcpc-blink { 0%,100%{ opacity:1; } 50%{ opacity:.55; } }

.wcpc-pages-icon { font-size: 26px; flex-shrink: 0; }
.wcpc-pages-info { display: flex; align-items: baseline; gap: 5px; }
.wcpc-pages-num  {
    font-size: 32px;
    font-weight: 800;
    color: #1a202c;
    min-width: 40px;
    display: inline-block;
}
.wcpc-pages-lbl  { font-size: 13px; color: #4a5568; font-weight: 500; }
.wcpc-pages-status {
    font-size: 12px;
    color: #718096;
    font-style: italic;
    margin-left: auto;
}

/* Price box */
#wcpc-price-box {
    background: #ebf8ff;
    border: 1px solid #bee3f8;
    border-radius: 8px;
    padding: 16px;
    margin-top: 18px;
}
#wcpc-breakdown { font-size: 13px; color: #4a5568; margin-bottom: 10px; }
.bd-row {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
}
.bd-row:last-child { border-bottom: none; }
.bd-unit {
    font-weight: 700;
    color: #2d3748;
    margin-top: 4px;
    padding-top: 6px;
    border-top: 2px solid #b0d8f0 !important;
    border-bottom: none !important;
}
.wcpc-total {
    font-size: 22px;
    font-weight: 800;
    color: #2271b1;
    margin-top: 10px;
}
.wcpc-total small {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #718096;
    margin-top: 2px;
}
#wcpc-msg {
    margin-top: 10px;
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 5px;
    display: none;
}
#wcpc-msg.err  { background: #fff5f5; border: 1px solid #fc8181; color: #c53030; display: block; }
#wcpc-msg.info { background: #fffbeb; border: 1px solid #f6d860; color: #744210; display: block; }

/* Quantity field */
.wcpc-qty-input {
    max-width: 140px;
    font-size: 16px !important;
    font-weight: 600;
    text-align: center;
}

/* Radio button type selector */
.wcpc-radio-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.wcpc-radio-label {
    cursor: pointer;
    flex: 1;
    min-width: 160px;
}
.wcpc-radio-label input.wcpc-radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.wcpc-radio-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 12px;
    border: 2px solid #cbd5e0;
    border-radius: 10px;
    background: #fff;
    transition: border-color .2s, background .2s, box-shadow .2s;
    text-align: center;
}
.wcpc-radio-label input.wcpc-radio:checked + .wcpc-radio-box {
    border-color: #2271b1;
    background: #ebf8ff;
    box-shadow: 0 0 0 3px rgba(34,113,177,.15);
}
.wcpc-radio-box:hover {
    border-color: #2271b1;
    background: #f7fbff;
}
.wcpc-radio-icon {
    font-size: 22px;
    line-height: 1;
}
.wcpc-radio-text {
    font-size: 13px;
    font-weight: 600;
    color: #2d3748;
    line-height: 1.3;
}
.wcpc-radio-label input.wcpc-radio:checked + .wcpc-radio-box .wcpc-radio-text {
    color: #2271b1;
}

/* Custom fields */
.wcpc-cf-row textarea.wcpc-select { height:80px; resize:vertical; }
.wcpc-cf-radio .wcpc-radio-box { flex-direction:row; padding:10px 14px; }
.wcpc-cf-radio .wcpc-radio-text { font-size:14px; }
.wcpc-checkbox-label {
    display:flex; align-items:center; gap:8px;
    cursor:pointer; font-size:14px; color:#2d3748;
}
.wcpc-checkbox-label input[type="checkbox"] {
    width:18px; height:18px; cursor:pointer;
}

/* Single configured value - shown as read-only pill */
.wcpc-single-val {
    display: inline-block;
    background: #ebf8ff;
    border: 1px solid #bee3f8;
    color: #2271b1;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 14px;
    border-radius: 6px;
}

/* No pricing configured notice */
.wcpc-notice-info {
    background: #fffbeb;
    border: 1px solid #f6d860;
    color: #744210;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    margin: 8px 0;
}

/* ===== DOCUMENT FLOW ===== */
.wcpc-doc-flow .wcpc-step,.wcpc-book-flow .wcpc-book-section,.wcpc-sticker-flow .wcpc-sticker-section{
    border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden;background:#fff}
.wcpc-step-head{background:#2271b1;color:#fff;padding:10px 16px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}
.wcpc-step-num{background:rgba(255,255,255,.25);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.wcpc-step-body{padding:14px}

/* Upload area */
.wcpc-dropzone{border:2px dashed #cbd5e0;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#f8fafc}
.wcpc-dropzone:hover{border-color:#2271b1;background:#ebf8ff}
.wcpc-dropzone.dragging{border-color:#2271b1;background:#ebf8ff}
.wcpc-drop-icon{font-size:32px;display:block;margin-bottom:8px}
.wcpc-dropzone p{margin:0;font-size:14px;color:#4a5568}
.wcpc-file-info{display:flex;align-items:center;gap:10px;background:#f0f9ff;border:1px solid #bee3f8;border-radius:6px;padding:10px 14px;margin-top:8px}
.wcpc-file-icon{font-size:20px}
.wcpc-remove-btn{background:none;border:none;color:#e53e3e;font-size:18px;cursor:pointer;padding:0;margin-left:auto}
.wcpc-upload-choice{display:flex;gap:8px;margin-bottom:12px}
.wcpc-choice-btn{flex:1;padding:8px 12px;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;text-align:center;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.wcpc-choice-btn input{display:none}
.wcpc-choice-btn.active{border-color:#2271b1;color:#2271b1;background:#ebf8ff}

/* Sides / radio buttons */
.wcpc-sides-row{display:flex;gap:8px;flex-wrap:wrap}
.wcpc-side-btn{padding:7px 16px;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.wcpc-side-btn input{display:none}
.wcpc-side-btn.active{border-color:#2271b1;color:#2271b1;background:#ebf8ff}

/* Binding cards */
.wcpc-binding-options{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.wcpc-binding-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;border:2px solid #cbd5e0;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;min-width:90px;text-align:center}
.wcpc-binding-card input{display:none}
.wcpc-binding-card.active,.wcpc-binding-card:has(input:checked){border-color:#2271b1;color:#2271b1;background:#ebf8ff}
.wcpc-binding-icon{font-size:22px}

/* Cover options */
.wcpc-cover-options{display:flex;gap:8px;flex-wrap:wrap}
.wcpc-cover-btn{padding:7px 14px;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.wcpc-cover-btn input{display:none}
.wcpc-cover-btn.active,.wcpc-cover-btn:has(input:checked){border-color:#2271b1;color:#2271b1;background:#ebf8ff}

/* Book layout */
.wcpc-book-flow .wcpc-book-section{margin-bottom:0;border-radius:0;border:none;border-bottom:1px solid #e2e8f0}
.wcpc-book-flow .wcpc-book-section:last-child{border-bottom:none}
.wcpc-book-title{margin:0;padding:10px 14px;font-size:14px;font-weight:700;color:#1a202c;border-bottom:1px solid #f0f0f0;background:#f8fafc}
.wcpc-book-calculator{background:#fff}
.wcpc-calc-header{background:#2271b1;color:#fff;padding:10px 16px;display:flex;justify-content:space-between;align-items:center}
.wcpc-calc-title{font-weight:700;font-size:14px}
.wcpc-calc-body{padding:14px}
.wcpc-calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.wcpc-calc-field{display:flex;flex-direction:column;gap:4px}
.wcpc-calc-label{font-size:11px;font-weight:700;color:#4a5568;text-transform:uppercase;letter-spacing:.3px}

/* Sticker layout */
.wcpc-sticker-section{padding:14px}
.wcpc-sticker-title{font-size:14px;font-weight:700;color:#1a202c;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}
.wcpc-size-cards{display:flex;gap:8px;flex-wrap:wrap}
.wcpc-size-card{padding:8px 14px;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;display:inline-flex;align-items:center}
.wcpc-size-card input{display:none}
.wcpc-size-card:has(input:checked){border-color:#2271b1;color:#2271b1;background:#ebf8ff}
.wcpc-material-cards{display:flex;gap:8px;flex-wrap:wrap}
.wcpc-material-card{padding:8px 14px;border:2px solid #cbd5e0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:#4a5568;transition:all .2s;display:inline-flex;flex-direction:column;align-items:center;gap:2px}
.wcpc-material-card input{display:none}
.wcpc-material-card small{font-size:11px;font-weight:400;color:#2a9d2a}
.wcpc-material-card:has(input:checked){border-color:#2271b1;color:#2271b1;background:#ebf8ff}

/* Qty slab table */
.wcpc-qty-slab-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.wcpc-slab-header{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f0f0f1;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:#4a5568}
.wcpc-slab-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:10px 12px;cursor:pointer;transition:background .15s;border-top:1px solid #f0f0f1;align-items:center}
.wcpc-slab-row input{display:none}
.wcpc-slab-row:hover{background:#f6f9ff}
.wcpc-slab-row:has(input:checked){background:#ebf8ff;border-left:3px solid #2271b1}
.slab-qty{font-size:13px;font-weight:600}
.slab-price{font-size:12px;color:#646970}
.slab-total{font-size:13px;font-weight:700;color:#2271b1;text-align:right}

/* Notes */
.wcpc-notes{background:#fffbeb;border:1px solid #f6d860;border-radius:6px;padding:12px 14px;margin:12px 0;font-size:13px}
.wcpc-note-line{margin-top:4px;color:#744210;font-size:12px}







/* ================================================================
   DOCUMENT PRINTING v3.3.5
================================================================ */

/* Hide WC qty - multiple selectors for all themes */
body.wcpc-doc-page .quantity { display:none !important; }
body.wcpc-doc-page .single_add_to_cart_button { display:none !important; }
body.wcpc-doc-page input#quantity { display:none !important; }
body.wcpc-doc-page label[for*="quantity"] { display:none !important; }

/* Hide gallery */
body.wcpc-doc-page .single-product-image-wrap,
body.wcpc-doc-page .woocommerce-product-gallery,
body.wcpc-doc-page div.product div.images { display:none !important; }

body.wcpc-doc-page div.product div.summary,
body.wcpc-doc-page .entry-summary,
body.wcpc-doc-page .single-product-top .single-product-summary {
    width:100% !important; max-width:100% !important;
    float:none !important; padding-left:0 !important; margin-left:0 !important;
}
body.wcpc-doc-page div.product,
body.wcpc-doc-page .single-product-top { overflow:visible !important; }

/* Grid */
.wcpc-dp { font-family:inherit; }
.wcpc-dp-grid {
    display:grid;
    grid-template-columns:1fr 340px;
    gap:20px;
    align-items:start;
}
@media(max-width:900px){
    .wcpc-dp-grid { grid-template-columns:1fr; }
    .wcpc-dp-right { order:-1; position:static !important; }
}
.wcpc-dp-left { min-width:0; }
.wcpc-dp-right { position:sticky; top:20px; }

/* LEFT CARDS */
.wcpc-dp-card {
    background:#fff; border:1px solid #e2e8f2;
    border-radius:10px; margin-bottom:12px; overflow:hidden;
}
.wcpc-dp-card:last-child { margin-bottom:0; }
.wcpc-dp-head {
    display:flex; align-items:stretch;
    background:#1565c0; color:#fff; min-height:44px;
}
.wcpc-dp-num {
    min-width:44px; display:flex; align-items:center; justify-content:center;
    font-size:16px; font-weight:800; background:rgba(0,0,0,.15); flex-shrink:0;
}
.wcpc-dp-title {
    font-size:13px; font-weight:700; flex:1;
    padding:0 14px; display:flex; align-items:center;
}
.wcpc-dp-done {
    width:20px; height:20px; background:#4caf50; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:10px; font-weight:900; margin:auto 12px; flex-shrink:0;
}
.wcpc-dp-body { padding:14px 16px; }

/* Upload */
.wcpc-dp-dropzone {
    border:2px dashed #c5d5e8; border-radius:8px;
    padding:20px 16px; text-align:center; cursor:pointer;
    background:#f8fbfe; transition:all .2s;
}
.wcpc-dp-dropzone:hover,.wcpc-dp-dropzone.dragging { border-color:#1565c0; background:#e8f0fe; }
.wcpc-dp-drop-icon { font-size:28px; color:#90a4ae; margin-bottom:6px; }
.wcpc-dp-drop-text { font-size:13px; color:#546e7a; margin-bottom:2px; }
.wcpc-dp-browse { color:#1565c0; cursor:pointer; text-decoration:underline; font-weight:700; }
.wcpc-dp-drop-hint { font-size:11px; color:#90a4ae; }
.wcpc-dp-filepill {
    display:flex; align-items:center; gap:8px;
    background:#f0faf0; border:1px solid #a5d6a7;
    border-radius:7px; padding:8px 12px; margin-top:8px;
}
.wcpc-dp-fileicon { font-size:18px; flex-shrink:0; }
.wcpc-dp-filename {
    font-size:12px; font-weight:600; color:#2e7d32;
    flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.wcpc-dp-pagebadge {
    background:#1565c0; color:#fff; border-radius:10px;
    padding:2px 8px; font-size:10px; font-weight:700; white-space:nowrap; flex-shrink:0;
}
.wcpc-dp-fileremove {
    background:none; border:none; color:#9e9e9e;
    font-size:18px; cursor:pointer; padding:0; line-height:1; flex-shrink:0;
}
.wcpc-dp-fileremove:hover { color:#c62828; }
.wcpc-dp-detecting {
    display:flex; align-items:center; gap:6px;
    padding:6px 10px; margin-top:6px;
    background:#fff8e1; border:1px solid #ffe082;
    border-radius:5px; font-size:11px; color:#f57f17;
}
.wcpc-dp-spin {
    display:inline-block; width:12px; height:12px;
    border:2px solid #ffe082; border-top-color:#f57f17;
    border-radius:50%; flex-shrink:0;
    animation:dp-spin .7s linear infinite;
}
@keyframes dp-spin { to { transform:rotate(360deg); } }
.wcpc-dp-choice { display:flex; gap:6px; margin-bottom:12px; }
.wcpc-dp-opt {
    flex:1; padding:7px 10px; border:1.5px solid #e0e0e0; border-radius:6px;
    cursor:pointer; text-align:center; font-size:12px; font-weight:600; color:#78909c; transition:all .15s;
}
.wcpc-dp-opt input { display:none; }
.wcpc-dp-opt.active { border-color:#1565c0; color:#1565c0; background:#e8f0fe; }
.wcpc-dp-field { margin-bottom:12px; }
.wcpc-dp-field:last-child { margin-bottom:0; }
.wcpc-dp-label {
    display:block; font-size:10px; font-weight:700;
    text-transform:uppercase; letter-spacing:.6px; color:#78909c; margin-bottom:5px;
}
.wcpc-dp-select {
    width:100%; padding:8px 10px; border:1.5px solid #e0e7ef; border-radius:6px;
    font-size:13px; background:#fff; color:#263238; transition:border-color .15s;
}
.wcpc-dp-select:focus { outline:none; border-color:#1565c0; }
.wcpc-dp-textarea {
    width:100%; padding:8px 10px; border:1.5px solid #e0e7ef; border-radius:6px;
    font-size:13px; resize:vertical; min-height:52px; box-sizing:border-box; font-family:inherit;
}
.wcpc-dp-textarea:focus { outline:none; border-color:#1565c0; }
.wcpc-dp-chips { display:flex; flex-wrap:wrap; gap:6px; }
.wcpc-dp-chip {
    padding:6px 14px; border:1.5px solid #e0e7ef; border-radius:20px;
    cursor:pointer; font-size:12px; font-weight:600; color:#546e7a;
    transition:all .15s; display:inline-flex; align-items:center; user-select:none; white-space:nowrap;
}
.wcpc-dp-chip input { display:none; }
.wcpc-dp-chip.dp-active { border-color:#1565c0; color:#1565c0; background:#e8f0fe; font-weight:700; }
.dp-chip-lg { padding:8px 18px; border-radius:7px; font-size:13px; }
.wcpc-dp-bindings { display:flex; flex-wrap:wrap; gap:8px; }
.wcpc-dp-bpill {
    display:flex; flex-direction:column; align-items:center; gap:3px;
    padding:10px 12px; min-width:72px; border:1.5px solid #e0e7ef; border-radius:8px;
    cursor:pointer; font-size:11px; font-weight:600; color:#546e7a;
    text-align:center; transition:all .15s; user-select:none;
}
.wcpc-dp-bpill input { display:none; }
.wcpc-dp-bpill.dp-active { border-color:#1565c0; color:#1565c0; background:#e8f0fe; }
.wcpc-dp-bicon { font-size:18px; }
.wcpc-dp-extras { margin-top:12px; padding-top:12px; border-top:1.5px dashed #e0e7ef; }
.wcpc-dp-notes {
    background:#fffde7; border:1px solid #fff176; border-radius:6px; padding:10px 12px; margin-top:10px;
}
.wcpc-dp-notes-title { font-weight:700; font-size:11px; color:#e65100; margin-bottom:3px; }
.wcpc-dp-notes-line { font-size:11px; color:#bf360c; margin-top:2px; line-height:1.5; }

/* ================================================================
   RIGHT PANEL v3.4.4 — Elegant warm design
================================================================ */
.wcpc-dp-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    align-items: stretch !important;
    width: 100% !important;
}
/* LEFT: scrollable container */
.wcpc-dp-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: calc(100vh - 220px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
    /* Custom scrollbar */
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 transparent !important;
}
.wcpc-dp-left::-webkit-scrollbar { width: 4px; }
.wcpc-dp-left::-webkit-scrollbar-track { background: transparent; }
.wcpc-dp-left::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

.wcpc-dp-right {
    flex: 0 0 340px !important;
    width: 340px !important;
    align-self: flex-start !important;
}
.wcpc-order-card {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.10) !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
}
/* File section */
.wcpc-oc-file {
    flex-shrink: 0 !important;
}
/* Specs always same height */
.wcpc-oc-specs {
    flex-shrink: 0 !important;
}
/* Copies always same */
.wcpc-oc-copies {
    flex-shrink: 0 !important;
}
/* Price box fixed, no grow */
#wcpc-price-box {
    flex-shrink: 0 !important;
    background: #f8fafc !important;
    border-top: 1px solid #eef2f8 !important;
}
.wcpc-oc-breakdown {
    padding: 10px 14px 6px !important;
}
/* Total always same */
.wcpc-oc-total {
    flex-shrink: 0 !important;
}
/* CTA pinned */
.wcpc-oc-cta {
    flex-shrink: 0 !important;
    margin-top: 0 !important;
}
/* Card sections - no scroll, compact */
.wcpc-oc-file   { flex-shrink: 0 !important; }
.wcpc-oc-specs  { flex-shrink: 0 !important; }
.wcpc-oc-copies { flex-shrink: 0 !important; }

/* Price frame */
#wcpc-price-box {
    flex-shrink: 0 !important;
    background: #f8fafc !important;
    border-top: 1px solid #eef2f8 !important;
}
.wcpc-oc-breakdown {
    padding: 8px 14px !important;
    overflow: visible !important;
}

/* Empty placeholder */
.wcpc-price-empty {
    text-align: center;
    color: #cbd5e1;
    font-size: 11px;
    padding: 16px;
}

.wcpc-oc-spacer { display: none !important; }

.wcpc-oc-total   { flex-shrink: 0 !important; }
.wcpc-oc-weight  { flex-shrink: 0 !important; }
.wcpc-msg        { flex-shrink: 0 !important; }
.wcpc-oc-cta     { flex-shrink: 0 !important; }
.wcpc-oc-hint    { flex-shrink: 0 !important; }

.wcpc-order-card {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06) !important;
    background: #fff !important;
}

/* File status — dark header */
.wcpc-oc-file {
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #1565c0 !important;
    min-height: 64px !important;
}
.wcpc-oc-file-icon {
    width: 38px; height: 38px;
    background: rgba(255,255,255,.12);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
}
.wcpc-oc-nodoc { font-size: 12px; color: rgba(255,255,255,.5); }
.wcpc-oc-fname {
    font-size: 11px; font-weight: 600; color: #fff;
    word-break: break-all; line-height: 1.5;
}
.wcpc-oc-pages {
    display: inline-flex; align-items: center; gap: 4px;
    background: rgba(74,222,128,.2); color: #4ade80;
    border: 1px solid rgba(74,222,128,.3);
    border-radius: 20px; padding: 2px 8px;
    font-size: 10px; font-weight: 700; margin-top: 4px;
}

/* Specs — clean white rows */
.wcpc-oc-specs {
    background: #fff;
    border-bottom: 1px solid #f1f5f9;
}
.wcpc-oc-spec {
    display: flex; justify-content: space-between; align-items: center;
    padding: 8px 18px; font-size: 12px;
    border-bottom: 1px solid #f8fafc;
}
.wcpc-oc-spec:last-child { border-bottom: none; }
.wcpc-oc-spec span { color: #94a3b8; font-weight: 500; }
.wcpc-oc-spec strong { color: #1e293b; font-weight: 700; }

/* Copies — warm accent */
.wcpc-oc-copies {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 18px;
    background: #fafafa;
    border-bottom: 1px solid #f1f5f9;
}
.wcpc-oc-copies-lbl { font-size: 13px; font-weight: 700; color: #334155; }
.wcpc-oc-stepper {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    border-radius: 10px; overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.wcpc-oc-btn {
    width: 36px !important; height: 36px !important;
    background: #1565c0 !important;
    border: none !important; font-size: 20px !important;
    color: #fff !important; cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 0 !important; margin: 0 !important;
    line-height: 1 !important; flex-shrink: 0 !important;
    transition: background .15s !important;
}
.wcpc-oc-btn:hover { background: #0f0f23 !important; }
.wcpc-oc-qty {
    width: 46px !important; height: 36px !important;
    text-align: center !important; border: none !important;
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    font-size: 15px !important; font-weight: 800 !important;
    color: #1565c0 !important; background: #fff !important;
    padding: 0 !important; margin: 0 !important;
    -moz-appearance: textfield !important;
    flex-shrink: 0 !important;
}
.wcpc-oc-qty:focus { outline: none !important; }
.wcpc-oc-qty::-webkit-outer-spin-button,
.wcpc-oc-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Breakdown */
.wcpc-oc-breakdown { padding: 12px 18px 0; background: #fff; }
.wcpc-oc-rows .bd-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 5px 0; font-size: 12px; color: #64748b;
    border-bottom: 1px dashed #f1f5f9;
}
.wcpc-oc-rows .bd-row:last-child { border: none; }
.wcpc-oc-rows .bd-unit {
    display: flex; justify-content: space-between;
    font-weight: 700; color: #334155; font-size: 13px;
    padding-top: 6px; margin-top: 4px;
    border-top: 1px solid #e2e8f0;
}

/* Total — elegant amber/gold */
.wcpc-oc-total {
    display: flex !important; justify-content: space-between !important; align-items: center !important;
    padding: 14px 18px !important;
    background: #1565c0 !important;
    border-top: none !important;
}
.wcpc-oc-total-lbl { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.7); }
.wcpc-oc-total-val { font-size: 30px; font-weight: 800; color: #fbbf24; line-height: 1; }
.wcpc-oc-weight {
    text-align: right; font-size: 10px; color: #94a3b8;
    padding: 4px 18px 8px; background: #fff;
}

/* CTA */
.wcpc-oc-cta {
    width: 100% !important; padding: 16px 18px !important;
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #1565c0 !important; border: none !important;
    font-size: 15px; font-weight: 800; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    transition: all .2s; letter-spacing: .3px;
}
.wcpc-oc-cta:hover:not(:disabled) {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    box-shadow: 0 4px 20px rgba(245,158,11,.4);
}
.wcpc-oc-cta:disabled {
    background: #e2e8f0; color: #94a3b8; cursor: not-allowed;
}
.wcpc-oc-hint {
    text-align: center; padding: 8px 18px;
    font-size: 11px; color: #94a3b8; background: #fafafa;
}
.wcpc-oc-hint:empty { display: none; }
.wcpc-msg { padding: 4px 18px; font-size: 11px; color: #94a3b8; text-align: center; }
.wcpc-msg.err { color: #ef4444; }

/* ================================================================
   STICKER LAYOUT
================================================================ */
.wcpc-stk { font-family: inherit; max-width: 800px; }

.wcpc-stk-card {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 10px;
    margin-bottom: 14px;
    overflow: hidden;
}
.wcpc-stk-head {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px;
    background: #1565c0; color: #fff;
    font-size: 13px; font-weight: 700;
}
.wcpc-stk-num {
    width: 24px; height: 24px;
    background: rgba(255,255,255,.2);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; flex-shrink: 0;
}
.wcpc-stk-body { padding: 16px; }

/* Shapes */
.wcpc-stk-shapes {
    display: flex; flex-wrap: wrap; gap: 12px;
}
.wcpc-stk-shape {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    width: 90px; padding: 12px 8px;
    border: 2px solid #e2e8f2; border-radius: 10px;
    cursor: pointer; font-size: 12px; font-weight: 600; color: #546e7a;
    transition: all .15s; text-align: center;
}
.wcpc-stk-shape input { display: none; }
.wcpc-stk-shape.active,
.wcpc-stk-shape:has(input:checked) {
    border-color: #1565c0; color: #1565c0; background: #e8f0fe;
}
.wcpc-stk-shape-icon {
    width: 52px; height: 52px; color: #90a4ae;
}
.wcpc-stk-shape.active .wcpc-stk-shape-icon,
.wcpc-stk-shape:has(input:checked) .wcpc-stk-shape-icon { color: #1565c0; }
.wcpc-stk-shape-icon svg { width: 100%; height: 100%; }

/* Dimensions */
.wcpc-stk-dims {
    display: flex; align-items: center; gap: 12px;
}
.wcpc-stk-dim-field { flex: 1; }
.wcpc-stk-dim-lbl {
    display: block; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .5px;
    color: #78909c; margin-bottom: 6px;
}
.wcpc-stk-dim-input-wrap {
    display: flex; align-items: center;
    border: 2px solid #e2e8f2; border-radius: 8px; overflow: hidden;
}
.wcpc-stk-dim-input {
    flex: 1; padding: 10px 12px; border: none;
    font-size: 16px; font-weight: 600; color: #1e293b;
    -moz-appearance: textfield;
}
.wcpc-stk-dim-input:focus { outline: none; }
.wcpc-stk-dim-input::-webkit-outer-spin-button,
.wcpc-stk-dim-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.wcpc-stk-dim-unit {
    padding: 0 12px; font-size: 13px; font-weight: 600;
    color: #94a3b8; background: #f8fafc;
    border-left: 1px solid #e2e8f2; white-space: nowrap;
    height: 100%; display: flex; align-items: center;
}
.wcpc-stk-dim-x {
    font-size: 20px; color: #94a3b8; font-weight: 300;
    flex-shrink: 0; padding-top: 20px;
}
.wcpc-stk-dim-hint {
    margin-top: 8px; font-size: 11px; color: #94a3b8;
}

/* Material */
.wcpc-stk-materials {
    display: flex; flex-wrap: wrap; gap: 10px;
}
.wcpc-stk-material {
    flex: 1; min-width: 120px;
    padding: 12px 14px;
    border: 2px solid #e2e8f2; border-radius: 8px;
    cursor: pointer; transition: all .15s; text-align: center;
}
.wcpc-stk-material input { display: none; }
.wcpc-stk-material.active,
.wcpc-stk-material:has(input:checked) {
    border-color: #1565c0; background: #e8f0fe;
}
.wcpc-stk-mat-name { font-size: 13px; font-weight: 700; color: #1e293b; }
.wcpc-stk-mat-price { font-size: 11px; color: #1565c0; margin-top: 3px; font-weight: 600; }

/* Quantity grid */
.wcpc-stk-qty-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px; margin-bottom: 14px;
}
.wcpc-stk-qty-card {
    padding: 10px 12px;
    border: 2px solid #e2e8f2; border-radius: 8px;
    cursor: pointer; transition: all .15s; text-align: center;
}
.wcpc-stk-qty-card input { display: none; }
.wcpc-stk-qty-card.active,
.wcpc-stk-qty-card:has(input:checked) {
    border-color: #1565c0; background: #e8f0fe;
}
.wcpc-stk-qty-num { font-size: 13px; font-weight: 700; color: #1e293b; }
.wcpc-stk-qty-price { font-size: 11px; color: #64748b; margin-top: 3px; }
.wcpc-stk-qty-custom { margin-top: 4px; }
