/**
 * JetCart — add-to-cart animation, quantity, mini cart, saved carts and empty cart
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to a commercial licence from Infojet.
 * It is sold exclusively on the PrestaShop Addons Marketplace and may only be used
 * under the terms of the Addons licence (one licence per shop). Copying, redistribution
 * or resale of this file, in whole or in part, is not permitted.
 *
 * @author    Infojet
 * @copyright 2026 Infojet
 * @license   Commercial licence (PrestaShop Addons Marketplace)
 */
/* JetCart — add-to-cart button in product miniatures. Colour: --cp-primary (module setting). */
.cp-lb{margin:8px 10px 6px;text-align:center;clear:both}
.cp-lb__form{margin:0}
.cp-lb .cp-lb__btn{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:240px;margin:0 auto;min-height:36px;padding:6px 10px;font-size:13px;line-height:1.2;text-transform:none;white-space:normal;border-radius:4px;box-sizing:border-box;overflow:hidden}
.cp-lb .btn-primary.cp-lb__btn{background-color:var(--cp-primary,#2fb5d2);border-color:var(--cp-primary,#2fb5d2);color:#fff}
.cp-lb .btn-primary.cp-lb__btn:hover,.cp-lb .btn-primary.cp-lb__btn:focus{filter:brightness(.93);color:#fff}
.cp-lb .cp-lb__btn--options{background:#fff;border:1px solid var(--cp-primary,#2fb5d2);color:var(--cp-primary,#2fb5d2)}
.cp-lb .cp-lb__btn--options:hover{background:var(--cp-primary,#2fb5d2);color:#fff}
.cp-lb .cp-lb__btn .material-icons{font-size:18px;line-height:1;flex:0 0 auto}
.cp-lb__txt{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media (max-width:575px){
  .cp-lb{margin:6px 6px 4px}
  .cp-lb .cp-lb__btn{max-width:none;font-size:12px;min-height:34px;padding:5px 6px;gap:4px}
  .cp-lb .cp-lb__btn .material-icons{font-size:16px}
}
/* the theme already has its own add-to-cart button in the miniature: do not show a second one */
.product-miniature:has([data-button-action="add-to-cart"]:not(.cp-lb__btn)) .cp-lb,
.js-product-miniature:has([data-button-action="add-to-cart"]:not(.cp-lb__btn)) .cp-lb{display:none}
.cp-lb.cp-lb--dup{display:none}
/* 1.1.0 quantity selector: − [n] + next to the button, wraps above it in narrow boxes */
.cp-lb__row{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:6px;max-width:260px;margin:0 auto}
.cp-lb__row .cp-lb__form,.cp-lb__row form{display:contents}
.cp-lb .cp-lb__row .cp-lb__btn{flex:1 1 112px;width:auto;max-width:none;margin:0;padding:6px 8px;gap:5px;white-space:nowrap}
.cp-qty{display:inline-flex;flex:0 0 auto;align-items:stretch;height:36px;border:1px solid #cdd3d8;border-radius:4px;background:#fff;overflow:hidden;box-sizing:border-box}
.cp-qty__btn{width:26px;padding:0;border:0;background:#f3f5f6;color:#333;font-size:18px;font-weight:600;line-height:1;cursor:pointer}
.cp-qty__btn:hover:not(:disabled),.cp-qty__btn:focus-visible{background:#e5e8ea}
.cp-qty__btn:disabled{color:#b5bbc0;cursor:default}
.cp-qty__input{width:34px;min-width:0;padding:0;border:0;border-left:1px solid #e3e6e8;border-right:1px solid #e3e6e8;text-align:center;font-size:14px;font-weight:600;color:#232323;background:#fff;-moz-appearance:textfield;appearance:textfield}
.cp-qty__input::-webkit-outer-spin-button,.cp-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cp-qty__input:focus{outline:2px solid var(--cp-primary,#2fb5d2);outline-offset:-2px}
@media (max-width:575px){.cp-qty{height:34px}.cp-qty__btn{width:26px}.cp-qty__input{width:32px}}
/* 1.1.2 "Out-of-stock products in lists" = Show as unavailable: greyed, disabled button (no quantity selector, no request) */
.cp-lb .cp-lb__btn--unavailable,.cp-lb .cp-lb__btn--unavailable:hover,.cp-lb .cp-lb__btn--unavailable:focus,.cp-lb .cp-lb__btn--unavailable:disabled{background:#f1f3f4;border:1px solid #d5d9dc;color:#7a8288;box-shadow:none;filter:none;opacity:1;cursor:not-allowed;pointer-events:none}
.cp-lb .cp-lb__btn--unavailable .material-icons{color:#9aa1a6}
