.cpf-editable-print-locations{margin:8px 0;max-width:420px;}
.cpf-pl-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.cpf-pl-none{margin:0;font-size:0.85em;color:#777;}
.cpf-pl-pill{display:inline-flex;align-items:center;gap:4px;background:#f2f2f2;border:1px solid #ddd;border-radius:999px;padding:3px 5px 3px 10px;font-size:12px;line-height:1.3;}
.cpf-pl-pill-title{font-weight:600;font-size:12px;}
.cpf-pl-pill-price{color:#666;font-size:12px;}
.cpf-pl-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:0;border-radius:50%;background:#ddd;color:#333;font-size:11px;line-height:1;cursor:pointer;padding:0;}
.cpf-pl-pill-remove:hover{background:#e05555;color:#fff;}
.cpf-pl-accordion-toggle{display:inline-flex;align-items:center;gap:6px;background:#0073aa;border:1px solid #0073aa;border-radius:6px;padding:6px 12px;color:#fff;font-size:0.85em;font-weight:600;text-decoration:none;cursor:pointer;transition:background 0.15s ease;}
.cpf-pl-accordion-toggle:hover{background:#005d8a;}
.cpf-pl-caret{display:inline-block;width:7px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform 0.15s ease;margin-top:-3px;}
.cpf-pl-accordion-toggle.cpf-pl-open .cpf-pl-caret{transform:rotate(-135deg);margin-top:3px;}
.cpf-pl-accordion-panel{display:none;margin-top:12px;padding:16px;background:#f9f9f9;border:1px solid #eee;border-radius:8px;}
.cpf-pl-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.cpf-pl-modal-title{font-weight:700;font-size:1.05em;}
.cpf-pl-modal-close{background:none;border:0;font-size:22px;line-height:1;color:#666;cursor:pointer;padding:0 4px;}
.cpf-pl-modal-close:hover{color:#000;}
.cpf-pl-accordion-panel .cpf-pl-grid{grid-template-columns:1fr;gap:10px;}
@media (min-width:480px){
	.cpf-pl-accordion-panel .cpf-pl-grid{grid-template-columns:1fr 1fr;}
}

/* Grid cards are plain <button> elements (not checkboxes — see class-cart-handler.php
   comment), so reset default button chrome and drive "selected" purely off the
   .cpf-pl-card-active class rather than :checked/:has(). */
.cpf-pl-accordion-panel .cpf-pl-card{display:block;width:100%;box-sizing:border-box;margin:0;padding:0;background:none;border:0;font:inherit;text-align:left;cursor:pointer;}
.cpf-pl-accordion-panel .cpf-pl-card .cpf-pl-content{border:solid 1px #ccc;padding:10px;background-color:#fff;border-radius:5px;display:flex;align-items:center;gap:10px;}
.cpf-pl-accordion-panel .cpf-pl-card:hover .cpf-pl-content{border-color:#2271b1;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.cpf-pl-accordion-panel .cpf-pl-card.cpf-pl-card-active .cpf-pl-content{border-color:#2271b1;background:#f0f7ff;}
.cpf-pl-accordion-panel .cpf-pl-title,.cpf-pl-accordion-panel .cpf-pl-price{font-size:12px;}
.cpf-pl-accordion-panel .cpf-pl-image img{width:3.2rem!important;height:3.2rem!important;}
.cpf-pl-status{margin-top:4px;font-size:0.8em;}
.cpf-pl-status-error{color:#c0392b;}
.cpf-editable-print-locations.cpf-pl-busy{opacity:0.6;pointer-events:none;}

/* Cart page quantity stepper (+/-) */
.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;gap:4px;}
.woocommerce-cart-form .quantity .cpf-cart-qty-btn{width:28px;height:40px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:16px;line-height:1;border-radius:4px;color:#333;padding:0;flex:0 0 auto;}
.woocommerce-cart-form .quantity .cpf-cart-qty-btn:hover{background:#e0e0e0;}
.woocommerce-cart-form .quantity .cpf-cart-qty-btn:disabled{opacity:0.5;cursor:not-allowed;background:#f5f5f5;}
.woocommerce-cart-form .quantity input.qty{width:55px;text-align:center;margin:0;}