/*
 * BD CartFlows Product Selector - Compact Style
 * Smaller product cards for CartFlows/WooCommerce landing pages.
 */
.bd-cfps{
  --bd-cfps-bg:#1f130d;
  --bd-cfps-card:#ffffff;
  --bd-cfps-border:#d7d7d7;
  --bd-cfps-text:#2a2a2a;
  --bd-cfps-muted:#777;
  --bd-cfps-accent:#f28b2e;
  --bd-cfps-radius:8px;
  color:var(--bd-cfps-text);
  margin:14px 0 20px;
}
.bd-cfps-title{
  color:var(--bd-cfps-text);
  font-size:20px;
  line-height:1.25;
  margin:0 0 12px;
  font-weight:800;
}
.bd-cfps-subtitle{
  color:var(--bd-cfps-muted);
  margin:-6px 0 12px;
  font-size:14px;
}
.bd-cfps-grid{
  display:grid;
  gap:12px;
}
.bd-cfps-cols-1{grid-template-columns:1fr;}
.bd-cfps-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.bd-cfps-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.bd-cfps-card{
  position:relative;
  display:grid;
  grid-template-columns:20px 56px 1fr;
  align-items:center;
  gap:10px;
  min-height:86px;
  padding:10px 12px;
  background:var(--bd-cfps-card);
  border:1px solid var(--bd-cfps-border);
  border-radius:6px;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  box-shadow:none;
}
.bd-cfps-card:hover,
.bd-cfps-card.is-selected{
  border-color:var(--bd-cfps-accent);
  box-shadow:0 0 0 1px rgba(242,139,46,.25);
  transform:translateY(-1px);
}
.bd-cfps-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.bd-cfps-radio{
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  border:1px solid #b9c1c8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.bd-cfps-card.is-selected .bd-cfps-radio::after,
.bd-cfps-card input:checked + .bd-cfps-radio::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--bd-cfps-accent);
}
.bd-cfps-thumb img{
  width:56px;
  height:56px;
  object-fit:cover;
  background:#fff;
  border-radius:3px;
  display:block;
}
.bd-cfps-info{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "name name"
    "qty price";
  align-items:center;
  column-gap:10px;
  row-gap:6px;
  min-width:0;
}
.bd-cfps-name{
  grid-area:name;
  color:var(--bd-cfps-text);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  margin:0;
}
.bd-cfps-sku{
  display:none;
}
.bd-cfps-qty-row{
  grid-area:qty;
  display:inline-flex;
  align-items:center;
  width:max-content;
  border:1px solid #e1e1e1;
  border-radius:3px;
  overflow:hidden;
  background:#fff;
}
.bd-cfps-qty-btn{
  width:28px;
  height:28px;
  border:0;
  background:#f8f8f8;
  color:#4a4a4a;
  font-size:15px;
  line-height:1;
  cursor:pointer;
  padding:0;
}
.bd-cfps-qty-btn:hover{background:var(--bd-cfps-accent);color:#fff;}
.bd-cfps-qty-input{
  width:38px;
  height:28px;
  border:0 !important;
  border-left:1px solid #e1e1e1 !important;
  border-right:1px solid #e1e1e1 !important;
  background:#fff !important;
  color:#333 !important;
  text-align:center;
  font-size:14px;
  font-weight:600;
  padding:0 !important;
  -moz-appearance:textfield;
}
.bd-cfps-qty-input::-webkit-inner-spin-button,
.bd-cfps-qty-input::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.bd-cfps-price{
  grid-area:price;
  white-space:nowrap;
}
.bd-cfps-price,
.bd-cfps-price .woocommerce-Price-amount{
  color:var(--bd-cfps-text);
  font-size:14px;
  font-weight:800;
}
.bd-cfps-price del,
.bd-cfps-price del .woocommerce-Price-amount{
  color:#999;
  font-size:13px;
  font-weight:600;
  margin-right:4px;
}
.bd-cfps-message{
  display:none;
  color:var(--bd-cfps-text);
  margin-top:10px;
  font-size:13px;
}
.bd-cfps-message.is-active{display:block;}
.bd-cfps-message.is-error{color:#c0392b;}
.bd-cfps.is-loading{opacity:.76;pointer-events:none;}

@media(max-width:900px){
  .bd-cfps-cols-2,.bd-cfps-cols-3{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .bd-cfps-title{font-size:18px;}
  .bd-cfps-grid{gap:10px;}
  .bd-cfps-card{
    grid-template-columns:18px 50px 1fr;
    gap:8px;
    padding:9px 10px;
    min-height:78px;
  }
  .bd-cfps-thumb img{width:50px;height:50px;}
  .bd-cfps-info{
    grid-template-columns:1fr;
    grid-template-areas:"name" "qty" "price";
    row-gap:5px;
  }
  .bd-cfps-name{font-size:13px;}
  .bd-cfps-price,
  .bd-cfps-price .woocommerce-Price-amount{font-size:13px;}
}

/* Pack/weight label - added in v1.1.2 */
.bd-cfps-pack-label{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:3px 10px;
  margin:1px 0 2px;
  border-radius:999px;
  background:#fff4cf;
  color:#4a2a13;
  font-size:13px;
  line-height:1.25;
  font-weight:900;
  border:1px solid rgba(242,139,46,.35);
}
.bd-cfps-info{
  grid-template-areas:
    "name name"
    "pack pack"
    "qty price";
}
.bd-cfps-pack-label{grid-area:pack;}
@media(max-width:520px){
  .bd-cfps-info{
    grid-template-areas:"name" "pack" "qty" "price";
  }
  .bd-cfps-pack-label{
    font-size:12px;
    padding:3px 8px;
  }
}
