.wcpc-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0;
    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: 0;
    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: 0;
    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: 0;
    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: 0;
    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: 0;
    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: 0;
}

/* No pricing configured notice */
.wcpc-notice-info {
    background: #fffbeb;
    border: 1px solid #f6d860;
    color: #744210;
    padding: 12px 16px;
    border-radius: 0;
    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:0;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}

/* Book layout: clean white design — no blue */
.wcpc-book-flow { background: #fff !important; border-radius: 0 !important; padding: 0 !important; }
.wcpc-dp-card { background:#fff !important; border-radius:0 !important; margin-bottom:0 !important; box-shadow:none !important; overflow:visible !important; border:none !important; border-bottom:1px solid #f0f0f0 !important; }
.wcpc-dp-card:last-child { border-bottom:none !important; }
.wcpc-dp-head { padding:16px 0 10px !important; font-weight:700 !important; font-size:14px !important; display:flex !important; align-items:center !important; gap:10px !important; border-bottom:none !important; background:#fff !important; color:#1a1a1a !important; }
.wcpc-dp-num { background:#f0f0f0 !important; color:#444 !important; width:26px !important; height:26px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; font-weight:700 !important; font-size:12px !important; flex-shrink:0 !important; }
.wcpc-dp-title { font-size:14px !important; font-weight:700 !important; color:#1a1a1a !important; }
.wcpc-dp-done { color:#22c55e !important; font-size:16px !important; margin-left:auto !important; }
.wcpc-dp-body { padding:0 0 16px !important; background:#fff !important; }

/* Field rows: label left, input right — clean separator */
.wcpc-field-row { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #f5f5f5; }
.wcpc-field-row:last-child { border-bottom:none; }
.wcpc-field-label { flex:0 0 140px; font-size:13px; font-weight:500; color:#555; }
.wcpc-field-input { flex:1; }
.wcpc-field-input select, .wcpc-field-input input[type="number"], .wcpc-field-input input[type="text"] { width:100%; padding:8px 12px; border:1px solid #e2e8f0; border-radius:0; font-size:13px; background:#fff; color:#1a1a1a; outline:none; }
.wcpc-field-input select:focus, .wcpc-field-input input:focus { border-color:#0ea5e9; box-shadow:0 0 0 2px rgba(14,165,233,.1); }

/* Upload area */
.wcpc-dropzone{border:2px dashed #cbd5e0;border-radius:6px;padding:10px 16px;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:6px;background:#f6fdf7;border:1px solid #c8e6c9;border-radius:6px;padding:5px 8px;box-sizing:border-box;width:100%;min-width:0;overflow:hidden}
.wcpc-file-icon{font-size:13px;flex-shrink:0;width:20px;height:20px;background:#e8f5e9;border-radius:3px;display:flex;align-items:center;justify-content:center}
.wcpc-remove-btn{width:18px;height:18px;min-width:18px;border-radius:50%;background:#f5f5f5;border:1px solid #e0e0e0;color:#9e9e9e;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;line-height:1}
.wcpc-remove-btn:hover{background:#ffebee;border-color:#ffcdd2;color:#c62828}
.wcpc-upload-choice{display:flex;gap:8px;margin-bottom:12px}
.wcpc-choice-btn{flex:1;padding:8px 12px;border:2px solid #cbd5e0;border-radius:0;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:0;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:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0}
.wcpc-binding-card{position:relative;cursor:pointer;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column}
.wcpc-binding-card input{display:none}
.wcpc-binding-card.dp-active,.wcpc-binding-card.active,.wcpc-binding-card:has(input:checked){border-color:#0d9488;box-shadow:0 0 0 1px #0d9488}
.wcpc-bind-img-wrap{position:relative;width:100%;padding-top:90%;background:#f0f6f6;overflow:hidden}
.wcpc-bind-img-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.wcpc-bind-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;background:#f4f9f9}
/* Banner hidden — we use fullname below instead */
.wcpc-bind-banner{display:none}
/* Full name below image — always visible */
.wcpc-bind-fullname{display:block;font-size:11px;color:#444;text-align:center;padding:5px 4px 6px;line-height:1.3;background:#fff}
.wcpc-binding-card.dp-active .wcpc-bind-fullname,.wcpc-binding-card.active .wcpc-bind-fullname,.wcpc-binding-card:has(input:checked) .wcpc-bind-fullname{color:#0d9488;font-weight:700}
.wcpc-bind-check{display:none;position:absolute;top:4px;right:4px;width:18px;height:18px;background:#0d9488;border-radius:50%;color:#fff;font-size:11px;align-items:center;justify-content:center;z-index:2}
.wcpc-binding-card.dp-active .wcpc-bind-check,.wcpc-binding-card.active .wcpc-bind-check,.wcpc-binding-card:has(input:checked) .wcpc-bind-check{display:flex}


/* Cover options */
.wcpc-cover-options{display:flex;gap:8px;flex-wrap:wrap}
.wcpc-cover-btn{padding:7px 14px;border:2px solid #cbd5e0;border-radius:0;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}
/* In Book layout, NF rows use field-row layout */
.wcpc-book-flow .wcpc-nf-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f5f5;flex-direction:row}
.wcpc-book-flow .wcpc-nf-row .wcpc-field-label{flex:0 0 140px;font-size:13px;font-weight:500;color:#555}
.wcpc-book-flow .wcpc-nf-row .wcpc-field-input{flex:1}

/* 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:0;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:0;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:0;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:0;padding:12px 14px;margin:12px 0;font-size:13px}
.wcpc-note-line{margin-top:4px;color:#744210;font-size:12px}







/* ================================================================
   BOOK / PERFECT BINDING — full-width takeover (mirrors Document Printing)
================================================================ */
.wcpc-box.wcpc-book-flow {
    background: none; border: none; padding: 0; margin: 0;
}
body.wcpc-book-page .quantity { display:none !important; }
body.wcpc-book-page .single_add_to_cart_button { display:none !important; }
body.wcpc-book-page input#quantity { display:none !important; }
body.wcpc-book-page label[for*="quantity"] { display:none !important; }

/* Show WooCommerce gallery on left — restore standard WC layout */
body.wcpc-book-page .single-product-image-wrap,
body.wcpc-book-page .woocommerce-product-gallery,
body.wcpc-book-page div.product div.images { display:block !important; }

/* Keep summary/right column at standard WC width */
body.wcpc-book-page div.product div.summary,
body.wcpc-book-page .entry-summary { width:auto !important; max-width:none !important; float:none !important; padding-left:0 !important; margin-left:0 !important; }


/* ================================================================
   STICKER / LABEL — full-width takeover (mirrors Document Printing)
================================================================ */
body.wcpc-stk-page .quantity { display:none !important; }
body.wcpc-stk-page .single_add_to_cart_button { display:none !important; }
body.wcpc-stk-page input#quantity { display:none !important; }
body.wcpc-stk-page label[for*="quantity"] { display:none !important; }

/* Show WooCommerce gallery on left */
body.wcpc-stk-page .single-product-image-wrap,
body.wcpc-stk-page .woocommerce-product-gallery,
body.wcpc-stk-page div.product div.images { display:block !important; }

body.wcpc-stk-page div.product div.summary,
body.wcpc-stk-page .entry-summary { width:auto !important; max-width:none !important; float:none !important; }


/* ================================================================
   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; }

/* Show WooCommerce gallery on left */
body.wcpc-doc-page .single-product-image-wrap,
body.wcpc-doc-page .woocommerce-product-gallery,
body.wcpc-doc-page div.product div.images { display:block !important; }

body.wcpc-doc-page div.product div.summary,
body.wcpc-doc-page .entry-summary { width:auto !important; max-width:none !important; float:none !important; }

/* Grid */
.wcpc-dp { font-family:inherit; }
.wcpc-dp-left { min-width:0; }
.wcpc-dp-right { position:static; }

/* LEFT CARDS */
.wcpc-dp-card {
    background:#fff; border:1px solid #e2e8f2;
    border-radius:0; 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:0;
    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:0;
    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:0;
    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 { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:none; margin-bottom:0; }
.wcpc-dp-field:last-child { border-bottom:none; }
.wcpc-dp-label { flex:0 0 110px; font-size:13px; font-weight:500; color:#333; text-transform:none; letter-spacing:0; margin-bottom:0; display:block; }
.wcpc-dp-select { flex:1; padding:7px 10px; border:1px solid #ddd; border-radius:4px; font-size:13px; background:#fff; color:#333; transition:border-color .15s; box-sizing:border-box; height:36px; }
.wcpc-dp-select:focus { outline:none; border-color:#0d9488; }
.wcpc-dp-textarea { flex:1; padding:7px 10px; border:1px solid #ddd; border-radius:4px; font-size:13px; resize:none; min-height:56px; box-sizing:border-box; font-family:inherit; color:#555; }
.wcpc-dp-textarea:focus { outline:none; border-color:#0d9488; }
.wcpc-dp-chips { display:flex; flex-wrap:wrap; gap:6px; flex:1; }
.wcpc-dp-chip { padding:5px 12px; border:1px solid #e2e8f0; border-radius:6px; cursor:pointer; font-size:13px; font-weight:500; color:#555; transition:all .15s; display:inline-flex; align-items:center; user-select:none; background:#fafafa; }
.wcpc-dp-chip input { display:none; }
.wcpc-dp-chip.dp-active { border-color:#0d9488; color:#0d9488; background:#e8f5f5; font-weight:700; }
.dp-chip-lg { padding:6px 14px; 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:0;
    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:0; 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
================================================================ */
/* Book layout: single column inside WooCommerce right column */
.wcpc-dp-grid {
    display: block !important;
    width: 100% !important;
}
.wcpc-dp-left {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding-right: 0 !important;
}
.wcpc-dp-right {
    width: 100% !important;
    margin-top: 16px !important;
    position: static !important;
    flex: none !important;
}
.wcpc-order-card {
    border-radius:0!important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
    background: #fff !important;
    border: 1px solid #e9ecef !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: 0 !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 — neutral header */
.wcpc-oc-file {
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f8f9fa !important;
    min-height: 64px !important;
    border-bottom: 1px solid #e9ecef !important;
}
.wcpc-oc-file-icon {
    width: 38px; height: 38px;
    background: #e9ecef;
    border-radius: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0; color: #6c757d;
}
.wcpc-oc-nodoc { font-size: 12px; color: #999; }
.wcpc-oc-fname {
    font-size: 11px; font-weight: 600; color: #333;
    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: 0; 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; }

.wcpc-stk-card {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 0;
    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: 0;
    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: 0; 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: 0;
    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: 0;
    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; }

/* ═══════════════════════════════════════════════════════════════
   WCPC PRODUCT PAGE LAYOUT
   CSS !important overrides WC gallery JS inline styles.
   Gallery fills left, form card fixed 380px on right.
═══════════════════════════════════════════════════════════════ */

/* 1. Product container → flex row */
body.wcpc-book-page div.product,
body.wcpc-doc-page  div.product,
body.wcpc-stk-page  div.product {
    display:         flex        !important;
    flex-direction:  row         !important;
    flex-wrap:       nowrap      !important;
    gap:             40px        !important;
    align-items:     flex-start  !important;
    float:           none        !important;
    clear:           both        !important;
}

/* 2. Gallery — left column, sticky title+image while form scrolls */
body.wcpc-book-page div.product .woocommerce-product-gallery,
body.wcpc-book-page div.product div.images,
body.wcpc-doc-page  div.product .woocommerce-product-gallery,
body.wcpc-doc-page  div.product div.images,
body.wcpc-stk-page  div.product .woocommerce-product-gallery,
body.wcpc-stk-page  div.product div.images {
    flex:       1 1 auto    !important;
    width:      auto        !important;
    max-width:  none        !important;
    min-width:  0           !important;
    float:      none        !important;
    margin:     0           !important;
    padding:    0           !important;
    position:   sticky      !important;
    top:        0px         !important;
    align-self: flex-start  !important;
    max-height: 100vh       !important;
    overflow-y: auto        !important;
}

/* Gallery images fill column */
body.wcpc-book-page .woocommerce-product-gallery img,
body.wcpc-doc-page  .woocommerce-product-gallery img,
body.wcpc-stk-page  .woocommerce-product-gallery img {
    width:     100% !important;
    max-width: 100% !important;
    height:    auto !important;
}

/* 3. Summary — right card, fixed 380px, scrolls naturally with page */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary {
    flex:          0 0 380px    !important;
    width:         380px        !important;
    max-width:     380px        !important;
    min-width:     380px        !important;
    float:         none         !important;
    padding:       0            !important;
    position:      static       !important;
    align-self:    flex-start   !important;
    background:    #fff         !important;
    border:        1px solid #e2e8f0 !important;
    border-radius: 0            !important;
    box-shadow:    0 4px 28px rgba(0,0,0,.10) !important;
    overflow:      hidden       !important;
    box-sizing:    border-box   !important;
}

/* Hide WC price & description from card (our form shows price) */
body.wcpc-book-page .entry-summary .price,
body.wcpc-doc-page  .entry-summary .price,
body.wcpc-stk-page  .entry-summary .price,
body.wcpc-book-page .entry-summary .woocommerce-product-details__short-description,
body.wcpc-doc-page  .entry-summary .woocommerce-product-details__short-description,
body.wcpc-stk-page  .entry-summary .woocommerce-product-details__short-description { display:none !important; }

/* Mobile: stack */
@media(max-width:900px){
    body.wcpc-book-page div.product,
    body.wcpc-doc-page  div.product,
    body.wcpc-stk-page  div.product { flex-direction:column !important; gap:20px !important; }
    body.wcpc-book-page div.product .woocommerce-product-gallery,
    body.wcpc-book-page div.product div.images,
    body.wcpc-doc-page  div.product .woocommerce-product-gallery,
    body.wcpc-doc-page  div.product div.images,
    body.wcpc-stk-page  div.product .woocommerce-product-gallery,
    body.wcpc-stk-page  div.product div.images { width:100% !important; max-width:100% !important; }
    body.wcpc-book-page div.product .entry-summary,
    body.wcpc-doc-page  div.product .entry-summary,
    body.wcpc-stk-page  div.product .entry-summary {
        flex: 0 0 100% !important; width:100% !important;
        max-width:100% !important; min-width:0 !important;
        position:static !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   WCPC PRODUCT PAGE  —  compact card matching reference
   ══════════════════════════════════════════════════════════════ */

/* Hide WC price/desc */
body.wcpc-book-page .entry-summary .price,
body.wcpc-doc-page  .entry-summary .price,
body.wcpc-stk-page  .entry-summary .price,
body.wcpc-book-page .entry-summary .woocommerce-product-details__short-description,
body.wcpc-doc-page  .entry-summary .woocommerce-product-details__short-description,
body.wcpc-stk-page  .entry-summary .woocommerce-product-details__short-description { display:none !important; }
body.wcpc-book-page .entry-summary form.cart,
body.wcpc-doc-page  .entry-summary form.cart,
body.wcpc-stk-page  .entry-summary form.cart { padding:0 !important; margin:0 !important; }

/* Hide Dokan social sharing at bottom */
.dokan-share-group,.dokan-social-share-wrap,.product_meta,
.woocommerce-product-details__social,.wc-product-meta { display:none !important; }

/* ── Card header: "Get Started" + Share ── */
.wcpc-gs-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 16px; border-bottom:1px solid #eee; background:#fff;
}
.wcpc-gs-title { font-size:14px; font-weight:700; color:#111; }
.wcpc-gs-share {
    font-size:12px; color:#0d9488; text-decoration:none;
    display:flex; align-items:center; gap:4px; font-weight:600;
}
.wcpc-gs-share svg { stroke:#0d9488; flex-shrink:0; }

/* ── Remove section dividers — single flow ── */
body.wcpc-book-page .wcpc-dp-head,
body.wcpc-doc-page  .wcpc-dp-head { display:none !important; }
body.wcpc-book-page .wcpc-dp-card,
body.wcpc-doc-page  .wcpc-dp-card {
    border:none !important; box-shadow:none !important;
    border-radius:0 !important; margin:0 !important;
    background:transparent !important; overflow:visible !important;
}
body.wcpc-book-page .wcpc-dp-body,
body.wcpc-doc-page  .wcpc-dp-body { padding:0 !important; }

/* dp-field gets its own side padding */
body.wcpc-doc-page .wcpc-dp-field { padding:5px 14px !important; }

/* ── Compact field rows — NO dividers, tight spacing ── */
body.wcpc-book-page .wcpc-field-row,
body.wcpc-doc-page  .wcpc-field-row {
    display:flex; align-items:center; gap:8px;
    padding:6px 0; border-bottom:none !important;
}
body.wcpc-book-page .wcpc-field-row.wcpc-hidden,
body.wcpc-doc-page  .wcpc-field-row.wcpc-hidden { display:none !important; }
body.wcpc-book-page .wcpc-field-label,
body.wcpc-doc-page  .wcpc-field-label {
    flex:0 0 120px; font-size:13px; font-weight:500; color:#333;
}
body.wcpc-book-page .wcpc-field-input,
body.wcpc-doc-page  .wcpc-field-input { flex:1;min-width:0;overflow:hidden; }
body.wcpc-book-page .wcpc-field-input select,
body.wcpc-book-page .wcpc-field-input input[type="number"],
body.wcpc-doc-page  .wcpc-field-input select,
body.wcpc-doc-page  .wcpc-field-input input[type="number"] {
    width:100%; padding:6px 10px; border:1px solid #ddd;
    border-radius:0 !important; font-size:13px; background:#fff;
    height:34px; box-sizing:border-box;
}

/* ── Dropzone compact ── */
body.wcpc-book-page .wcpc-dropzone,
body.wcpc-doc-page  .wcpc-dropzone {
    border-radius:6px !important; border:1.5px dashed #c7d2fe !important;
    background:#f8faff !important; margin:6px 0 !important; padding:8px 12px !important;
}

/* ── Hide right-panel file/specs ── */
body.wcpc-book-page .wcpc-dp-right .wcpc-oc-file,
body.wcpc-doc-page  .wcpc-dp-right .wcpc-oc-file { display:none !important; }
body.wcpc-book-page .wcpc-dp-right #dp-sum-specs,
body.wcpc-doc-page  .wcpc-dp-right #dp-sum-specs { display:none !important; }
body.wcpc-book-page .wcpc-dp-right .wcpc-order-card,
body.wcpc-doc-page  .wcpc-dp-right .wcpc-order-card {
    box-shadow:none !important; border:none !important;
    border-radius:0 !important; background:transparent !important; padding:0 !important;
}

/* ── Price bar — teal label ── */
body.wcpc-book-page .wcpc-oc-price-row,
body.wcpc-doc-page  .wcpc-oc-price-row,
body.wcpc-stk-page  .wcpc-oc-price-row {
    background:#fff !important; border-top:1px solid #eee !important;
    padding:10px 16px 6px !important; margin:0 !important;
}
body.wcpc-book-page .wcpc-oc-total-label,
body.wcpc-doc-page  .wcpc-oc-total-label { font-size:13px !important; font-weight:600 !important; color:#0d9488 !important; }
body.wcpc-book-page .wcpc-oc-price,
body.wcpc-doc-page  .wcpc-oc-price { font-size:22px !important; font-weight:700 !important; color:#111 !important; }

/* ── Add to Cart button — full-width teal, no radius ── */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn {
    display:block !important; width:100% !important; margin:0 !important;
    background:#0d9488 !important; color:#fff !important;
    border:none !important; border-radius:0 !important;
    padding:13px !important; font-size:14px !important;
    font-weight:700 !important; cursor:pointer !important;
    letter-spacing:.2px !important;
}
body.wcpc-book-page #dp-addcart-btn:hover { background:#0f766e !important; }
body.wcpc-book-page #dp-addcart-btn:disabled { background:#94a3b8 !important; cursor:not-allowed !important; }

/* Card fixed at exactly 417px */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary {
    flex:0 0 417px !important; width:417px !important;
    min-width:417px !important; max-width:417px !important;
}
body.wcpc-book-page .entry-summary .price,
body.wcpc-doc-page  .entry-summary .price,
body.wcpc-stk-page  .entry-summary .price { display:none !important; }
body.wcpc-book-page .entry-summary .woocommerce-product-details__short-description,
body.wcpc-doc-page  .entry-summary .woocommerce-product-details__short-description,
body.wcpc-stk-page  .entry-summary .woocommerce-product-details__short-description { display:none !important; }
body.wcpc-book-page .entry-summary form.cart,
body.wcpc-doc-page  .entry-summary form.cart,
body.wcpc-stk-page  .entry-summary form.cart { padding:0 !important; margin:0 !important; }

/* ═══════════════════════════════════════════════════════════════
   WCPC CARD — exact kraftixdigital.in reference replication
   ═══════════════════════════════════════════════════════════════ */

/* Card header */
.wcpc-gs-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px 11px; border-bottom:1px solid #f0f0f0; }
.wcpc-gs-title  { font-size:15px; font-weight:700; color:#111; }
.wcpc-gs-share  { font-size:12px; color:#0d9488; text-decoration:none; display:flex; align-items:center; gap:4px; font-weight:600; }

/* Remove step headers, single flow */
body.wcpc-book-page .wcpc-dp-head,
body.wcpc-doc-page  .wcpc-dp-head { display:none !important; }
body.wcpc-book-page .wcpc-dp-card,
body.wcpc-doc-page  .wcpc-dp-card { border:none !important; box-shadow:none !important; margin:0 !important; background:transparent !important; overflow:visible !important; border-radius:0 !important; }
body.wcpc-book-page .wcpc-dp-grid,
body.wcpc-doc-page  .wcpc-dp-grid { display:block !important; }
body.wcpc-book-page .wcpc-dp-left,
body.wcpc-doc-page  .wcpc-dp-left { width:100% !important; height:auto !important; overflow:visible !important; }
body.wcpc-book-page .wcpc-dp-body,
body.wcpc-doc-page  .wcpc-dp-body { padding:0 !important; }

/* Field rows — exact reference style */
body.wcpc-book-page .wcpc-field-row,
body.wcpc-doc-page  .wcpc-field-row {
    display:flex !important; align-items:center !important;
    padding:10px 16px !important; border-bottom:1px solid #f0f0f0 !important;
    gap:12px !important;
}
body.wcpc-book-page .wcpc-field-row:last-child,
body.wcpc-doc-page  .wcpc-field-row:last-child { border-bottom:none !important; }
body.wcpc-book-page .wcpc-field-label,
body.wcpc-doc-page  .wcpc-field-label {
    flex:0 0 125px !important; font-size:13px !important;
    font-weight:500 !important; color:#444 !important; line-height:1.4 !important;
}
body.wcpc-book-page .wcpc-field-input,
body.wcpc-doc-page  .wcpc-field-input { flex:1 !important; }
body.wcpc-book-page .wcpc-field-input select,
body.wcpc-book-page .wcpc-field-input input[type="number"],
body.wcpc-doc-page  .wcpc-field-input select,
body.wcpc-doc-page  .wcpc-field-input input[type="number"] {
    width:100% !important; height:38px !important; padding:7px 12px !important;
    border:1px solid #e0e0e0 !important; border-radius:6px !important;
    font-size:13px !important; color:#333 !important; background:#fff !important;
    box-sizing:border-box !important;
}

/* Upload dropzone */
body.wcpc-book-page .wcpc-dropzone,
body.wcpc-doc-page  .wcpc-dropzone {
    margin:6px 16px !important; border-radius:6px !important;
    border:1.5px dashed #c7d2fe !important; background:#f8faff !important;
    padding:8px 12px !important;
}
body.wcpc-book-page .wcpc-dropzone svg,
body.wcpc-doc-page  .wcpc-dropzone svg { width:22px !important; height:22px !important; }
body.wcpc-book-page .wcpc-dropzone p,
body.wcpc-doc-page  .wcpc-dropzone p { font-size:12px !important; margin:2px 0 !important; }

/* Section labels like LAMINATION, BINDING TYPE */
body.wcpc-book-page .wcpc-book-flow [class*="label"]:not(.wcpc-field-label),
body.wcpc-book-page label[for*="wcpc"]:not(.wcpc-field-label) {
    padding:8px 16px 4px !important; display:block !important;
    font-size:11.5px !important; font-weight:700 !important;
    letter-spacing:.5px !important; color:#555 !important; text-transform:uppercase !important;
}

/* Right panel — hide file preview + spec list, keep copies + price + button */
body.wcpc-book-page .wcpc-dp-right .wcpc-oc-file,
body.wcpc-doc-page  .wcpc-dp-right .wcpc-oc-file { display:none !important; }
body.wcpc-book-page .wcpc-dp-right #dp-sum-specs,
body.wcpc-doc-page  .wcpc-dp-right #dp-sum-specs { display:none !important; }
body.wcpc-book-page .wcpc-dp-right,
body.wcpc-doc-page  .wcpc-dp-right { width:100% !important; }
body.wcpc-book-page .wcpc-dp-right .wcpc-order-card,
body.wcpc-doc-page  .wcpc-dp-right .wcpc-order-card { box-shadow:none !important; border:none !important; border-radius:0 !important; background:transparent !important; padding:0 !important; }

/* Copies row */
body.wcpc-book-page .wcpc-oc-copies,
body.wcpc-doc-page  .wcpc-oc-copies { padding:10px 16px !important; border-top:1px solid #f0f0f0 !important; font-size:13px !important; font-weight:500 !important; }

/* Price bar — teal label, large price */
body.wcpc-book-page .wcpc-oc-price-row,
body.wcpc-doc-page  .wcpc-oc-price-row,
body.wcpc-stk-page  .wcpc-oc-price-row {
    padding:10px 16px 6px !important; border-top:1px solid #f0f0f0 !important;
    background:#fff !important; margin:0 !important;
}
body.wcpc-book-page .wcpc-oc-total-label,
body.wcpc-doc-page  .wcpc-oc-total-label { font-size:13px !important; font-weight:600 !important; color:#0d9488 !important; }
body.wcpc-book-page .wcpc-oc-price,
body.wcpc-doc-page  .wcpc-oc-price { font-size:22px !important; font-weight:700 !important; color:#111 !important; }

/* Add to Cart — dark teal full-width */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn {
    display:block !important; width:100% !important; margin:0 !important;
    background:#0d4f4a !important; color:#fff !important;
    border:none !important; border-radius:0 !important; border-radius:0 0 0 0 !important;
    padding:14px 16px !important; font-size:14px !important;
    font-weight:700 !important; cursor:pointer !important; letter-spacing:.3px !important;
    text-align:center !important;
}
body.wcpc-book-page #dp-addcart-btn:hover { background:#0a3d39 !important; }
body.wcpc-book-page #dp-addcart-btn:disabled { background:#94a3b8 !important; cursor:not-allowed !important; }

/* v3.26.26 — pixel-perfect fixes */

/* Card: subtle rounded corners like reference */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary { border-radius:10px !important; }

/* Inputs: border-radius 6px */
body.wcpc-book-page .wcpc-field-input select,
body.wcpc-book-page .wcpc-field-input input[type="number"],
body.wcpc-doc-page  .wcpc-field-input select,
body.wcpc-doc-page  .wcpc-field-input input[type="number"] { border-radius:6px !important; }

/* Lamination dropdown: same padding as field rows, not full-width standalone */
body.wcpc-book-page .wcpc-dp-body select,
body.wcpc-doc-page  .wcpc-dp-body select {
    width:100% !important; height:38px !important; padding:7px 12px !important;
    border:1px solid #e0e0e0 !important; border-radius:6px !important;
    font-size:13px !important; box-sizing:border-box !important;
}
body.wcpc-book-page .wcpc-dp-body > div:not(.wcpc-field-row):not(.wcpc-dp-card),
body.wcpc-doc-page  .wcpc-dp-body > div:not(.wcpc-field-row):not(.wcpc-dp-card) { padding:0 16px 8px !important; }

/* Upload dropzone — compact, matches card width */
body.wcpc-book-page .wcpc-dropzone,
body.wcpc-doc-page  .wcpc-dropzone {
    margin:6px 16px !important; padding:8px 12px !important;
    border-radius:6px !important;
}

/* Add to Cart — dark teal matching reference */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn {
    background:#0d4f4a !important; border-radius:0 0 10px 10px !important;
}
body.wcpc-book-page #dp-addcart-btn:hover { background:#0a3d39 !important; }

/* Hide bottom social share */
body.wcpc-book-page .entry-summary ~ *:has(a[href*="facebook"]),
body.wcpc-book-page .entry-summary p:last-child { display:none !important; }
.dokan-share-group, .dokan-social-share-wrap, .share-icons { display:none !important; }

/* v3.26.27 — 40px gap, remove field dividers */
body.wcpc-book-page div.product,
body.wcpc-doc-page  div.product,
body.wcpc-stk-page  div.product { gap:40px !important; }

body.wcpc-book-page .wcpc-field-row,
body.wcpc-doc-page  .wcpc-field-row { border-bottom:none !important; }

/* v3.26.28 — LAMINATION label match + sticky price bar + force 40px gap */

/* LAMINATION/section labels — same style as field labels */
body.wcpc-book-page .wcpc-dp-body label,
body.wcpc-doc-page  .wcpc-dp-body label {
    display:block !important; padding:10px 16px 4px !important;
    font-size:13px !important; font-weight:500 !important;
    color:#444 !important; letter-spacing:0 !important;
    text-transform:none !important;
}

/* Make the form card use flex-column so price bar sticks to bottom */
body.wcpc-book-page .entry-summary form.cart,
body.wcpc-doc-page  .entry-summary form.cart {
    display:flex !important; flex-direction:column !important;
}
body.wcpc-book-page .wcpc-box,
body.wcpc-doc-page  .wcpc-box { flex:1 !important; }

/* Sticky price + button at bottom of card */
body.wcpc-book-page .wcpc-dp-right,
body.wcpc-doc-page  .wcpc-dp-right {
    position:sticky !important; bottom:0 !important;
    background:#fff !important; z-index:10 !important;
    border-top:1px solid #f0f0f0 !important;
}

/* Force 40px gap via CSS too */
body.wcpc-book-page div.product,
body.wcpc-doc-page  div.product,
body.wcpc-stk-page  div.product { gap:40px !important; }

/* v3.26.30 — use margin-left instead of gap for 40px space */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary { margin-left:0 !important; }

body.wcpc-book-page div.product,
body.wcpc-doc-page  div.product,
body.wcpc-stk-page  div.product { gap:0 !important; }

/* v3.26.31 — compact dropzone + tighter field spacing */
body.wcpc-book-page .wcpc-dropzone,
body.wcpc-doc-page  .wcpc-dropzone { padding:10px 12px !important; margin:6px 16px !important; }
body.wcpc-book-page .wcpc-dropzone svg,
body.wcpc-doc-page  .wcpc-dropzone svg { width:22px !important; height:22px !important; }
body.wcpc-book-page .wcpc-dropzone p,
body.wcpc-doc-page  .wcpc-dropzone p { font-size:12px !important; margin:2px 0 !important; line-height:1.3 !important; }

body.wcpc-book-page .wcpc-field-row,
body.wcpc-doc-page  .wcpc-field-row { padding:7px 16px !important; }

/* v3.26.32 — aggressively reduce dropzone height */
body.wcpc-book-page #wcpc-dropzone,
body.wcpc-doc-page  #wcpc-dropzone {
    padding:8px 12px !important;
    margin:6px 16px !important;
    min-height:0 !important;
}
body.wcpc-book-page #wcpc-dropzone .wcpc-drop-icon,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-drop-icon {
    font-size:20px !important;
    display:block !important;
    line-height:1 !important;
    margin-bottom:4px !important;
}
body.wcpc-book-page #wcpc-dropzone p,
body.wcpc-doc-page  #wcpc-dropzone p {
    font-size:12px !important;
    margin:2px 0 !important;
    line-height:1.3 !important;
}
body.wcpc-book-page #wcpc-dropzone .wcpc-hint,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-hint {
    font-size:11px !important;
    color:#888 !important;
    display:block !important;
    margin-top:2px !important;
}
/* Also hide bottom share */
body.wcpc-book-page .entry-summary + p,
body.wcpc-doc-page  .entry-summary + p,
body.wcpc-book-page form.cart ~ p { display:none !important; }

/* v3.26.33 — even smaller dropzone + product title above */
body.wcpc-book-page #wcpc-dropzone,
body.wcpc-doc-page  #wcpc-dropzone {
    padding:5px 12px !important;
    margin:4px 16px !important;
    display:flex !important; align-items:center !important;
    gap:8px !important; text-align:left !important;
}
body.wcpc-book-page #wcpc-dropzone .wcpc-drop-icon,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-drop-icon { font-size:16px !important; margin:0 !important; flex-shrink:0 !important; }
body.wcpc-book-page #wcpc-dropzone p,
body.wcpc-doc-page  #wcpc-dropzone p { font-size:12px !important; margin:0 !important; }
body.wcpc-book-page #wcpc-dropzone .wcpc-hint,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-hint { font-size:11px !important; margin:0 !important; display:inline !important; color:#999 !important; }

/* Product name above two-column layout */
.wcpc-page-title {
    font-size:22px !important; font-weight:700 !important; color:#111 !important;
    margin:0 0 16px 0 !important; display:block !important;
}

/* v3.26.34 — clean compact dropzone, centered vertical */
body.wcpc-book-page #wcpc-dropzone,
body.wcpc-doc-page  #wcpc-dropzone {
    display:block !important; text-align:center !important;
    padding:8px 16px !important; margin:6px 16px !important;
}
body.wcpc-book-page #wcpc-dropzone .wcpc-drop-icon,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-drop-icon {
    font-size:18px !important; display:block !important;
    margin-bottom:3px !important;
}
body.wcpc-book-page #wcpc-dropzone p,
body.wcpc-doc-page  #wcpc-dropzone p {
    font-size:12px !important; margin:0 !important;
    line-height:1.4 !important; display:inline !important;
}
body.wcpc-book-page #wcpc-dropzone .wcpc-hint,
body.wcpc-doc-page  #wcpc-dropzone .wcpc-hint {
    font-size:11px !important; color:#999 !important;
    display:block !important; margin-top:1px !important;
}

/* v3.26.35 — product title font + card shadow removal */
.wcpc-page-title {
    font-family:'Open Sans',sans-serif !important;
    font-size:36px !important; font-weight:700 !important;
    color:#111 !important; margin:10px 0 16px 0 !important;
    line-height:1.2 !important;
}
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary { box-shadow:none !important; }

/* v3.26.36 — card border color, padding, radius + 60px gap */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary {
    padding-inline:0 !important;
    margin-left:0 !important;
}

/* v3.26.37 — center align single-product-summary vertically in sticky layout */
.single-product-top.horizontal.sticky .single-product-summary,
.single-product-top.vertical.sticky .single-product-summary {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* v3.26.37 — sticky summary horizontally centered */
.single-product-top.horizontal.sticky .single-product-summary,
.single-product-top.vertical.sticky .single-product-summary {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* v3.26.38 — larger gallery thumbnails */
body.wcpc-book-page .woocommerce-product-gallery .flex-control-thumbs li,
body.wcpc-doc-page  .woocommerce-product-gallery .flex-control-thumbs li,
body.wcpc-stk-page  .woocommerce-product-gallery .flex-control-thumbs li {
    width:100px !important; height:100px !important;
    margin:0 4px 4px 0 !important;
}
body.wcpc-book-page .woocommerce-product-gallery .flex-control-thumbs li img,
body.wcpc-doc-page  .woocommerce-product-gallery .flex-control-thumbs li img,
body.wcpc-stk-page  .woocommerce-product-gallery .flex-control-thumbs li img {
    width:100px !important; height:100px !important;
    object-fit:cover !important; border-radius:4px !important;
}

/* v3.26.39 — main gallery image 600x600px */
body.wcpc-book-page .woocommerce-product-gallery__image,
body.wcpc-doc-page  .woocommerce-product-gallery__image,
body.wcpc-stk-page  .woocommerce-product-gallery__image {
    width:600px !important; height:600px !important;
}
body.wcpc-book-page .woocommerce-product-gallery__image img,
body.wcpc-doc-page  .woocommerce-product-gallery__image img,
body.wcpc-stk-page  .woocommerce-product-gallery__image img {
    width:600px !important; height:600px !important;
    object-fit:cover !important;
}
body.wcpc-book-page .woocommerce-product-gallery,
body.wcpc-doc-page  .woocommerce-product-gallery,
body.wcpc-stk-page  .woocommerce-product-gallery {
    width:600px !important; max-width:600px !important;
}

/* Thumbnails — increase size too */
body.wcpc-book-page .flex-control-thumbs li,
body.wcpc-doc-page  .flex-control-thumbs li,
body.wcpc-stk-page  .flex-control-thumbs li { width:100px !important; height:100px !important; }
body.wcpc-book-page .flex-control-thumbs li img,
body.wcpc-doc-page  .flex-control-thumbs li img,
body.wcpc-stk-page  .flex-control-thumbs li img { width:100px !important; height:100px !important; object-fit:cover !important; }

/* v3.26.40 — bigger image: fill available space, reduce card to 360px */
body.wcpc-book-page .woocommerce-product-gallery,
body.wcpc-doc-page  .woocommerce-product-gallery,
body.wcpc-stk-page  .woocommerce-product-gallery {
    width:auto !important; max-width:none !important; flex:1 1 auto !important;
}
body.wcpc-book-page .woocommerce-product-gallery__image,
body.wcpc-doc-page  .woocommerce-product-gallery__image,
body.wcpc-stk-page  .woocommerce-product-gallery__image { width:100% !important; height:auto !important; }
body.wcpc-book-page .woocommerce-product-gallery__image img,
body.wcpc-doc-page  .woocommerce-product-gallery__image img,
body.wcpc-stk-page  .woocommerce-product-gallery__image img { width:100% !important; height:auto !important; object-fit:cover !important; }
body.wcpc-book-page .woocommerce-product-gallery .flex-viewport,
body.wcpc-doc-page  .woocommerce-product-gallery .flex-viewport,
body.wcpc-stk-page  .woocommerce-product-gallery .flex-viewport { width:100% !important; }

/* Reduce card to 360px to give gallery more room */
body.wcpc-book-page div.product .entry-summary,
body.wcpc-doc-page  div.product .entry-summary,
body.wcpc-stk-page  div.product .entry-summary {
    flex:0 0 360px !important; width:360px !important;
    min-width:360px !important; max-width:360px !important;
}

/* v3.26.50 — reduce image height by 30% */
body.wcpc-book-page .woocommerce-product-gallery .flexslider,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider { height:420px !important; }

body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li { height:420px !important; }

body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li img {
    height:420px !important; width:100% !important; object-fit:cover !important;
}

/* v3.26.51 — increase image height 10% (420 -> 462px) */
body.wcpc-book-page .woocommerce-product-gallery .flexslider,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider { height:462px !important; }
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li { height:462px !important; }
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li img { height:462px !important; }

/* v3.26.52 — increase image height to 520px */
body.wcpc-book-page .woocommerce-product-gallery .flexslider,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider { height:520px !important; }
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li { height:520px !important; }
body.wcpc-book-page .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-doc-page  .woocommerce-product-gallery .flexslider ul.slides li img,
body.wcpc-stk-page  .woocommerce-product-gallery .flexslider ul.slides li img { height:520px !important; }

/* v3.26.53 — green button, no radius, remove bottom space */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn {
    background:#16a34a !important; color:#fff !important;
    border-radius:0 !important; border:none !important;
    opacity:1 !important; cursor:pointer !important;
}
body.wcpc-book-page #dp-addcart-btn:disabled,
body.wcpc-doc-page  #dp-addcart-btn:disabled,
body.wcpc-stk-page  #dp-addcart-btn:disabled {
    background:#16a34a !important; opacity:1 !important; cursor:pointer !important;
}
body.wcpc-book-page #dp-addcart-btn:hover,
body.wcpc-doc-page  #dp-addcart-btn:hover { background:#15803d !important; }

/* Remove space below validation text */
body.wcpc-book-page .wcpc-order-card,
body.wcpc-doc-page  .wcpc-order-card { padding-bottom:0 !important; }
body.wcpc-book-page #dp-validation-msg,
body.wcpc-doc-page  #dp-validation-msg,
body.wcpc-book-page .wcpc-validation-msg,
body.wcpc-doc-page  .wcpc-validation-msg {
    padding:4px 0 0 !important; margin:0 !important;
    font-size:11px !important; text-align:center !important;
}
body.wcpc-book-page .entry-summary .wcpc-dp-right > *:last-child,
body.wcpc-doc-page  .entry-summary .wcpc-dp-right > *:last-child { margin-bottom:0 !important; padding-bottom:0 !important; }

/* v3.26.54 fixed price bar removed */

/* v3.26.55 — sticky price bar (only while card is visible) */
body.wcpc-book-page .wcpc-oc-price-row,
body.wcpc-doc-page  .wcpc-oc-price-row,
body.wcpc-stk-page  .wcpc-oc-price-row {
    position:sticky !important; bottom:0 !important;
    left:auto !important; right:auto !important; width:auto !important;
    z-index:999 !important;
}
body.wcpc-book-page,
body.wcpc-doc-page,
body.wcpc-stk-page { padding-bottom:0 !important; }

/* v3.26.56 — compact Add to Cart + remove bottom gap */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn { padding:9px 16px !important; }

body.wcpc-book-page #dp-validation-msg,
body.wcpc-doc-page  #dp-validation-msg,
body.wcpc-book-page .wcpc-cart-msg,
body.wcpc-doc-page  .wcpc-cart-msg,
body.wcpc-book-page .dp-cart-note,
body.wcpc-doc-page  .dp-cart-note { padding:3px 0 0 !important; margin:0 !important; display:block !important; }

body.wcpc-book-page .wcpc-dp-right,
body.wcpc-doc-page  .wcpc-dp-right { padding-bottom:0 !important; margin-bottom:0 !important; }

body.wcpc-book-page .wcpc-order-card,
body.wcpc-doc-page  .wcpc-order-card { padding-bottom:0 !important; margin-bottom:0 !important; }

body.wcpc-book-page .entry-summary,
body.wcpc-doc-page  .entry-summary { padding-bottom:0 !important; }

body.wcpc-book-page .wcpc-box,
body.wcpc-doc-page  .wcpc-box { padding-bottom:0 !important; margin-bottom:0 !important; }

/* v3.26.57 — further reduce Add to Cart button padding */
body.wcpc-book-page #dp-addcart-btn,
body.wcpc-doc-page  #dp-addcart-btn,
body.wcpc-stk-page  #dp-addcart-btn { padding:6px 16px !important; font-size:13px !important; }

/* v3.26.58 — apply same card design to ALL product types */

/* Section headers hidden for all */
body.wcpc-doc-page .wcpc-dp-head,
body.wcpc-stk-page .wcpc-dp-head { display:none !important; }

/* Cards flat for all */
body.wcpc-doc-page .wcpc-dp-card,
body.wcpc-stk-page .wcpc-dp-card { border:none !important; box-shadow:none !important; margin:0 !important; background:transparent !important; }

/* Field rows for doc/sticker */
body.wcpc-doc-page .wcpc-field-row,
body.wcpc-stk-page .wcpc-field-row { display:flex !important; align-items:center !important; padding:7px 16px !important; border-bottom:none !important; gap:12px !important; }
body.wcpc-doc-page .wcpc-field-label,
body.wcpc-stk-page .wcpc-field-label { flex:0 0 125px !important; font-size:13px !important; font-weight:500 !important; color:#444 !important; }
body.wcpc-doc-page .wcpc-field-input select,
body.wcpc-doc-page .wcpc-field-input input,
body.wcpc-stk-page .wcpc-field-input select,
body.wcpc-stk-page .wcpc-field-input input { width:100% !important; height:36px !important; padding:6px 10px !important; border:1px solid #e0e0e0 !important; border-radius:6px !important; font-size:13px !important; }

/* Green Add to Cart for all — override inline style */
#dp-addcart-btn {
    background:#16a34a !important; color:#fff !important;
    border-radius:0 !important; border:none !important;
    padding:8px 0 !important; height:auto !important;
    line-height:normal !important;
}
#dp-addcart-btn:hover { background:#15803d !important; }

/* v3.26.59 — fix sticker + document to match reference design */

/* Hide sticker numbered section headers */
body.wcpc-stk-page .wcpc-stk-head { display:none !important; }
body.wcpc-stk-page .wcpc-dp-head  { display:none !important; }

/* Sticker card borders flat */
body.wcpc-stk-page .wcpc-dp-card,
body.wcpc-stk-page .wcpc-stk-section {
    border:none !important; box-shadow:none !important;
    border-radius:0 !important; margin:0 !important; background:transparent !important;
}

/* Sticker field rows */
body.wcpc-stk-page .wcpc-field-row,
body.wcpc-stk-page .wcpc-stk-row {
    display:flex !important; align-items:center !important;
    padding:7px 16px !important; border-bottom:none !important; gap:12px !important;
}
body.wcpc-stk-page .wcpc-field-label,
body.wcpc-stk-page .wcpc-stk-label {
    flex:0 0 120px !important; font-size:13px !important; font-weight:500 !important; color:#444 !important;
}
body.wcpc-stk-page .wcpc-field-input select,
body.wcpc-stk-page .wcpc-field-input input,
body.wcpc-stk-page .wcpc-stk-input select,
body.wcpc-stk-page .wcpc-stk-input input {
    width:100% !important; height:36px !important; padding:6px 10px !important;
    border:1px solid #e0e0e0 !important; border-radius:6px !important; font-size:13px !important;
}

/* Section labels (Print Size, Paper Type etc) as simple text */
body.wcpc-stk-page .wcpc-stk-body > label,
body.wcpc-stk-page .wcpc-stk-body > p,
body.wcpc-doc-page .wcpc-dp-body > label {
    padding:6px 16px 2px !important; font-size:12px !important;
    font-weight:600 !important; color:#555 !important; display:block !important;
    background:none !important; border:none !important; margin:0 !important;
}

/* v3.26.61 fixed price bar clone removed */

/* Document Printing — conditional field visibility (JS toggles this via jQuery .toggle()) */
.wcpc-dp-hidden{display:none!important}
.wcpc-dp-field-err{color:#c0392b;font-size:12px;margin-top:4px}
