
/* === ppw-emb-hide-card-addcart === */

    .woocommerce ul.products li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap .ast-on-card-button,
    .woocommerce ul.products li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap .add_to_cart_button.ajax_add_to_cart,
    .woocommerce ul.products li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap .ast-select-options-trigger,
    .woocommerce ul.products li.product[class*='product_cat-leather-patch'] .astra-shop-thumbnail-wrap .ast-on-card-button,
    .woocommerce ul.products li.product[class*='product_cat-leather-patch'] .astra-shop-thumbnail-wrap .add_to_cart_button.ajax_add_to_cart {
        display: none !important;
    }
    li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap::after,
    li.product[class*='product_cat-leather-patch'] .astra-shop-thumbnail-wrap::after {
        content: 'Click to customize';
        position: absolute;
        bottom: 8px;
        left: 50%;
        transform: translateX(-50%);
        background: rgba(0, 187, 200, 0.92);
        color: #fff;
        padding: 4px 12px;
        border-radius: 3px;
        font-size: 12px;
        font-weight: 600;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.2s;
    }
    li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap:hover::after,
    li.product[class*='product_cat-leather-patch'] .astra-shop-thumbnail-wrap:hover::after {
        opacity: 1;
    }
    li.product[class*='product_cat-embroidered'] .astra-shop-thumbnail-wrap,
    li.product[class*='product_cat-leather-patch'] .astra-shop-thumbnail-wrap {
        position: relative;
    }
    

/* === ppw-lp-dtf-sw-vol-css === */
.ppw-dtf-picker-swatches-slot ul.ppw-swatches,ul#ppw-swatch-row.ppw-swatches{display:flex !important;flex-wrap:wrap !important;gap:6px !important;list-style:none;margin:8px 0 0;padding:0;}.ppw-dtf-picker-swatches-slot ul.ppw-swatches li,ul#ppw-swatch-row.ppw-swatches li{width:28px !important;height:28px !important;border-radius:50% !important;border:2px solid #d4d4d4 !important;box-shadow:0 1px 2px rgba(0,0,0,.08) !important;box-sizing:border-box !important;cursor:pointer;padding:0 !important;display:block;transition:transform .1s;}.ppw-dtf-picker-swatches-slot ul.ppw-swatches li:hover,ul#ppw-swatch-row.ppw-swatches li:hover{transform:scale(1.12);}.ppw-dtf-picker-swatches-slot ul.ppw-swatches li.ppw-lp-sw-on,ul#ppw-swatch-row li.ppw-lp-sw-on{outline:2px solid #0a8a8a !important;outline-offset:1px;}.ppw-lp-tier-table{display:block !important;}

/* === ppw-dtf-modal-layout-v1 === */

/* Wider panel — less vertical scroll, room for 2-column upload grid */
.ppw-dtf-modal-panel{
    max-width:780px !important;
    width:calc(100vw - 32px) !important;
}

/* Upload list as responsive 2-column grid */
.ppw-dtf-modal-upload-list{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    margin-top:8px;
}

/* Each upload row: placement / button / filename stacked */
.ppw-dtf-modal-upload-row{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    padding:12px !important;
    border:1px solid #e2e2dc;
    border-radius:6px;
    background:#fafaf7;
    min-width:0;
}
.ppw-dtf-modal-upload-row .label{
    font-weight:600;
    font-size:13px;
    line-height:1.2;
}
.ppw-dtf-modal-upload-row input[type=file]{
    font-size:12px;
    max-width:100%;
}
.ppw-dtf-modal-upload-row .status{
    font-size:12px;
    color:#666;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    min-height:1.2em;
}

/* Mobile: stack to single column */
@media (max-width:560px){
    .ppw-dtf-modal-upload-list{
        grid-template-columns:1fr !important;
    }
}


/* === ppw-dtf-trio-css === */

.ppw-dtf-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0 6px;}
.ppw-dtf-trio-item{background:#fafaf7;border:1px solid #e5e3dd;border-radius:5px;padding:8px 10px;}
.ppw-dtf-trio-head{font-weight:700;color:#222;font-size:13px;margin-bottom:2px;line-height:1.3;}
.ppw-dtf-trio-body{color:#666;font-size:12px;line-height:1.35;}
@media (max-width:768px){.ppw-dtf-trio{grid-template-columns:1fr;}}


/* === ppw-dtf-picker-v2-css === */

.ppw-dtf-picker{background:#f7f7f5;border:1px solid #e5e3dd;border-radius:8px;padding:24px;margin:24px 0;font-family:inherit;color:#222;line-height:1.5;}
.ppw-dtf-picker-title{margin:0 0 16px;font-size:20px;font-weight:700;color:#222;}
.ppw-dtf-picker-section{margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #ececea;}
.ppw-dtf-picker-section:last-of-type{border-bottom:0;}
.ppw-dtf-picker-section strong{display:block;margin-bottom:8px;}
.ppw-dtf-picker-color-name{color:#444;}
.ppw-dtf-picker-swatches-slot{margin-top:10px;}
.ppw-dtf-picker-size-grid{display:grid;grid-template-columns:1fr 90px 100px 110px;gap:8px 12px;align-items:center;margin-top:8px;}
.ppw-dtf-picker-size-row{display:contents;}
.ppw-dtf-picker-size-name{font-weight:600;text-transform:uppercase;}
.ppw-dtf-picker-size-qty{padding:6px 10px;font-size:16px;border:1px solid #ccc;border-radius:4px;width:100%;}
.ppw-dtf-picker-size-price{color:#666;font-size:14px;}
.ppw-dtf-picker-size-subtotal{font-weight:600;text-align:right;}
.ppw-dtf-picker-size-total{margin-top:12px;font-weight:600;}
.ppw-dtf-picker-placements label,.ppw-dtf-picker-toggles label{display:block;margin:4px 0;font-weight:400;}
.ppw-dtf-picker-placements input,.ppw-dtf-picker-toggles input{margin-right:8px;}
.ppw-dtf-picker-placements span{color:#888;font-size:13px;}
.ppw-dtf-tier-grid{width:100%;border-collapse:collapse;margin-top:6px;}
.ppw-dtf-tier-grid th,.ppw-dtf-tier-grid td{padding:6px 10px;text-align:left;border-bottom:1px solid #ececea;font-size:14px;}
.ppw-dtf-tier-grid tr.is-current{background:#fff8dc;}
.ppw-dtf-tier-grid tr.is-current td{font-weight:700;}
.ppw-dtf-tier-note{margin-top:6px;color:#666;font-size:12px;}
.ppw-dtf-picker-line{font-size:16px;margin:4px 0;}
.ppw-dtf-picker-line span{font-weight:700;}
.ppw-dtf-picker-total-line span{font-size:22px;}
.ppw-dtf-picker-disclaimer{margin:14px 0 12px;color:#555;font-size:13px;font-style:italic;}
.ppw-dtf-picker-disclaimer a{color:#222;font-weight:600;}
.ppw-dtf-picker-cta{display:block;width:100%;background:#222;color:#fff !important;padding:14px 28px;border:0;border-radius:4px;font-weight:700;font-size:16px;cursor:pointer;}
.ppw-dtf-picker-cta:hover:not([disabled]){background:#444;}
.ppw-dtf-picker-cta[disabled]{background:#999;cursor:not-allowed;}
.ppw-dtf-picker-helper{margin-top:8px;color:#a00;font-size:13px;text-align:center;}

.ppw-dtf-picker .ppw-swatches{margin:0;padding:0;}

.ppw-dtf-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;}
.ppw-dtf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);}
.ppw-dtf-modal-panel{position:relative;background:#fff;border-radius:10px;max-width:540px;width:92%;max-height:92vh;overflow-y:auto;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,0.3);}
.ppw-dtf-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:0;font-size:28px;line-height:1;cursor:pointer;color:#888;}
.ppw-dtf-modal-title{margin:0 0 14px;font-size:22px;font-weight:700;}
.ppw-dtf-modal-summary{background:#f7f7f5;border-radius:6px;padding:12px 14px;margin-bottom:16px;font-size:14px;color:#333;}
.ppw-dtf-modal-summary p{margin:2px 0;}
.ppw-dtf-modal-progress{margin-bottom:18px;}
.ppw-dtf-modal-progress-label{font-weight:600;font-size:14px;margin-bottom:6px;}
.ppw-dtf-modal-progress-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden;}
.ppw-dtf-modal-progress-fill{height:100%;background:#2bae66;transition:width .25s;}
.ppw-dtf-modal-progress-msg{margin-top:6px;color:#555;font-size:13px;}
.ppw-dtf-modal-uploads{margin-bottom:16px;}
.ppw-dtf-modal-upload-row{display:flex;align-items:center;gap:10px;margin:8px 0;padding:10px;background:#fafaf7;border:1px solid #eee;border-radius:6px;}
.ppw-dtf-modal-upload-row .label{flex:1;font-weight:600;}
.ppw-dtf-modal-upload-row input[type=file]{flex:2;}
.ppw-dtf-modal-upload-row .status{font-size:12px;color:#666;}
.ppw-dtf-modal-upload-row .status.ok{color:#2bae66;}
.ppw-dtf-modal-upload-row .status.err{color:#a00;}
.ppw-dtf-modal-notes-wrap{margin-bottom:16px;}
.ppw-dtf-modal-notes-wrap textarea{width:100%;padding:8px 10px;font-size:14px;border:1px solid #ccc;border-radius:4px;font-family:inherit;}
.ppw-dtf-modal-error{background:#fee;border:1px solid #f99;color:#a00;padding:10px 12px;border-radius:6px;margin-bottom:12px;font-size:14px;}
.ppw-dtf-modal-actions{display:flex;gap:12px;}
.ppw-dtf-modal-cancel{flex:1;background:#fff;border:1px solid #ccc;padding:12px 20px;border-radius:4px;font-weight:600;cursor:pointer;}
.ppw-dtf-modal-confirm{flex:2;background:#222;color:#fff;border:0;padding:12px 20px;border-radius:4px;font-weight:700;cursor:pointer;}
.ppw-dtf-modal-confirm[disabled]{background:#999;cursor:not-allowed;}

.ppw-dtf-toast{position:fixed;bottom:24px;right:24px;z-index:999998;background:#222;color:#fff;padding:16px 20px;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,0.2);max-width:360px;}
.ppw-dtf-toast-body{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.ppw-dtf-toast-cart{color:#ffe;text-decoration:underline;}

@media (max-width:768px){
.ppw-dtf-picker-size-grid{grid-template-columns:1fr 70px 1fr;}
.ppw-dtf-picker-size-subtotal{grid-column:1/-1;text-align:left;color:#666;font-size:13px;}
.ppw-dtf-picker-title{font-size:18px;}
}


/* === ppw-dtf-v2-css === */

/* Hide rush option entirely */
.ppw-dtf-picker-toggles label:has(.ppw-dtf-rush),
.ppw-dtf-rush{display:none !important;}


/* === ppw-dtf-modal-layout-v2 === */

/* Cancel button: legible default, teal on hover.
   -webkit-text-fill-color overrides a theme rule that forces white text. */
.ppw-dtf-modal-panel .ppw-dtf-modal-actions button.ppw-dtf-modal-cancel{
    background:#fff !important;
    color:#333 !important;
    -webkit-text-fill-color:#333 !important;
    border:1px solid #ccc !important;
    transition:background .15s, color .15s, border-color .15s !important;
}
.ppw-dtf-modal-panel .ppw-dtf-modal-actions button.ppw-dtf-modal-cancel:hover,
.ppw-dtf-modal-panel .ppw-dtf-modal-actions button.ppw-dtf-modal-cancel:focus{
    background:#00BBC8 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    border-color:#00BBC8 !important;
}

/* Email-my-art row — matches artready spacing */
.ppw-dtf-modal-emailart{
    display:flex !important;
    align-items:flex-start !important;
    gap:8px !important;
    margin-top:10px;
    cursor:pointer;
    line-height:1.35;
}
.ppw-dtf-modal-emailart input[type=checkbox]{
    margin-top:3px;
    flex-shrink:0;
}
.ppw-dtf-modal-emailart span{
    font-size:13px;
}


/* === ppw-dtf-hide-cart-ui === */

.single-product .product > .price,
.single-product .summary > .price,
.single-product .summary .price,
.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button,
.single-product .bulk_table,
.single-product .wdr_pricing_table_wrapper,
.single-product #wc-stripe-express-checkout-element,
.single-product .wc-stripe-payment-request-button-wrap,
.single-product .product_meta { display: none !important; }


/* === ppw-dtf-size-cards-css === */

.ppw-dtf-picker-sizes > strong:first-child { display:none; }
.ppw-dtf-picker-sizes-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; font-size:14px; }
.ppw-dtf-picker-sizes-header .ppw-dtf-picker-sizes-label { font-weight:700; letter-spacing:0.5px; text-transform:uppercase; }
.ppw-dtf-picker-sizes-color { color:#00aab2; font-weight:600; font-size:15px; }
.ppw-dtf-picker-sizes-color.is-empty { color:#999; font-weight:400; font-style:italic; }
.ppw-dtf-picker-size-grid { display:grid !important; grid-template-columns:repeat(6, 1fr) !important; gap:10px !important; }
.ppw-dtf-picker-size-row { display:block !important; background:#fff !important; border:1px solid #d8d8d4 !important; border-radius:6px !important; padding:10px 8px !important; text-align:center !important; }
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-name { font-weight:700 !important; font-size:14px !important; margin:0 0 6px !important; text-transform:uppercase !important; }
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-qty { width:100% !important; padding:6px 4px !important; font-size:18px !important; text-align:center !important; border:1px solid #ccc !important; border-radius:4px !important; }
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-price { color:#888 !important; font-size:13px !important; margin-top:6px !important; text-align:center !important; }
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-subtotal { display:none !important; }
.ppw-dtf-picker-size-total { display:none !important; }
.ppw-dtf-picker-sizes-footer { display:flex; justify-content:space-between; align-items:center; padding-top:14px; margin-top:14px; border-top:1px solid #e5e3dd; font-weight:600; }
.ppw-dtf-picker-sizes-footer .pieces b { font-weight:700; }
.ppw-dtf-picker-sizes-footer .ppw-dtf-picker-footer-total { color:#00aab2; font-size:20px; font-weight:700; }
@media (max-width:768px) { .ppw-dtf-picker-size-grid { grid-template-columns:repeat(3, 1fr) !important; } }
@media (max-width:480px) { .ppw-dtf-picker-size-grid { grid-template-columns:repeat(2, 1fr) !important; } }


/* === ppw-dtf-v7-css === */

.ppw-dtf-picker-toggles { display: none !important; }
.ppw-dtf-modal-artready { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 16px; padding: 10px 12px; background: #fafaf7; border: 1px solid #eee; border-radius: 6px; font-size: 13px; color: #333; line-height: 1.4; cursor: pointer; }
.ppw-dtf-modal-artready input { margin-top: 2px; flex: 0 0 auto; }
.ppw-dtf-modal-artready span { flex: 1; }
.ppw-dtf-modal-artready strong { color: #222; }


/* === ppw-dtf-v8-css === */

.ppw-dtf-picker-flexrow { display: flex; gap: 18px; align-items: flex-start; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid #ececea; }
.ppw-dtf-picker-flexrow > .ppw-dtf-picker-section { flex: 1; margin: 0 !important; padding: 0 !important; border-bottom: 0 !important; }
.ppw-dtf-picker-flexrow .ppw-dtf-picker-tier-table strong { display: block; margin-bottom: 8px; }
@media (max-width: 768px) {
    .ppw-dtf-picker-flexrow { flex-direction: column; gap: 16px; }
}


/* === ppw-dtf-v9-css === */

.ppw-dtf-picker-tier-table { display: block !important; }


/* === ppw-dtf-v11-css === */

/* Tighten size-card grid to match the embroidery picker */
.ppw-dtf-picker-size-grid { gap: 8px !important; }
.ppw-dtf-picker-size-row {
    padding: 8px 6px !important;
    border-radius: 5px !important;
}
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-name {
    font-size: 12px !important;
    margin: 0 0 4px !important;
    letter-spacing: 0.3px !important;
}
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-qty {
    padding: 3px 2px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
.ppw-dtf-picker-size-row .ppw-dtf-picker-size-price {
    font-size: 11px !important;
    margin-top: 4px !important;
}
.ppw-dtf-picker-sizes-header { font-size: 13px !important; margin-bottom: 10px !important; }
.ppw-dtf-picker-sizes-header .ppw-dtf-picker-sizes-label { font-size: 12px !important; }
.ppw-dtf-picker-sizes-color { font-size: 13px !important; }


/* === ppw-dtf-v12-css === */

.ppw-dtf-picker-size-grid { grid-template-columns: repeat(9, 1fr) !important; }
@media (max-width: 900px) { .ppw-dtf-picker-size-grid { grid-template-columns: repeat(5, 1fr) !important; } }
@media (max-width: 600px) { .ppw-dtf-picker-size-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 420px) { .ppw-dtf-picker-size-grid { grid-template-columns: repeat(2, 1fr) !important; } }


/* === ppw-dtf-v14-css === */

/* Container */
.ppw-dtf-picker { padding: 14px 16px !important; margin: 14px 0 !important; }
.ppw-dtf-picker > h2,
.ppw-dtf-picker > .ppw-dtf-picker-title,
.ppw-dtf-picker-heading { font-size: 18px !important; margin: 0 0 12px !important; }

/* Section spacing */
.ppw-dtf-picker-section { margin: 0 0 12px !important; padding: 0 0 10px !important; }
.ppw-dtf-picker > .ppw-dtf-picker-section + .ppw-dtf-picker-section { margin-top: 12px !important; }
.ppw-dtf-picker-section > strong { font-size: 12px !important; margin: 0 0 6px !important; display: block !important; }

/* Placements list */
.ppw-dtf-picker-placements label { font-size: 13px !important; padding: 4px 0 !important; gap: 6px !important; }
.ppw-dtf-picker-placements label input { transform: scale(0.95); margin: 0 !important; }

/* Side-by-side flex row */
.ppw-dtf-picker-flexrow { gap: 14px !important; margin: 0 0 12px !important; padding: 0 0 10px !important; }

/* Tier table */
.ppw-dtf-picker-tier-table strong { font-size: 12px !important; margin-bottom: 4px !important; }
.ppw-dtf-tier-grid th,
.ppw-dtf-tier-grid td { padding: 3px 5px !important; font-size: 11px !important; }
.ppw-dtf-tier-note { font-size: 10px !important; margin-top: 4px !important; }

/* Color swatches */
.ppw-dtf-picker-colors .ppw-dtf-color { width: 26px !important; height: 26px !important; }
.ppw-dtf-picker-colors { gap: 5px !important; }

/* Size header + footer */
.ppw-dtf-picker-sizes-header { margin-bottom: 8px !important; }
.ppw-dtf-picker-sizes-footer { padding-top: 10px !important; margin-top: 10px !important; font-size: 13px !important; }
.ppw-dtf-picker-sizes-footer .ppw-dtf-picker-footer-total { font-size: 17px !important; }

/* CTA / add-to-cart row */
.ppw-dtf-picker-cta { margin-top: 12px !important; }
.ppw-dtf-picker-cta button { padding: 10px 16px !important; font-size: 14px !important; }


/* === ppw-dtf-v16-css === */

.ppw-dtf-picker-title { display: none !important; }
.ppw-dtf-picker-color-name { display: none !important; }
.ppw-dtf-picker-sizes > strong { display: none !important; }
.ppw-dtf-picker-section.ppw-dtf-picker-sizes > strong { display: none !important; }


/* === ppw-dtf-v17-css === */

.ppw-dtf-picker-color > strong,
.ppw-dtf-picker-sizes-label,
.ppw-dtf-picker-placements > strong,
.ppw-dtf-picker-tier-table > strong {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 8px !important;
    display: block !important;
}


/* === ppw-dtf-v18-css === */

.ppw-dtf-picker-sizes-header .ppw-dtf-picker-sizes-label { font-size: 14px !important; }


/* === ppw-dtf-v19-css === */

.ppw-dtf-tier-grid th,
.ppw-dtf-tier-grid td { padding: 6px 9px !important; font-size: 13px !important; }
.ppw-dtf-tier-note { font-size: 12px !important; margin-top: 8px !important; }


/* === ppw-dtf-v20-css === */

.ppw-dtf-picker-sizes.ppw-dtf-gated { display: none !important; }

