.stock-wrapper { }
#accountHistInfo .stock-wrapper { margin-top: 5px; }
.stock-msg { border: 1px solid #505050; background-color: #bcbcbc; border-radius: 6px; padding: 3px; display: inline-block; margin: 3px; }
#productAttributes .in-stock, .stock-msg.in-stock { display:none;color: green; }
#productAttributes .no-stock, .stock-msg.no-stock { display:none;color: red; }
.in-stock.stock-mixed { }
.no-stock.stock-mixed { }
.posm-prev-choices { font-weight: normal; }
.posm-error { font-weight: bold; color: red; }
.bb-product-page {
  max-width:1200px;
  margin:auto;
  padding:24px;
}

.bb-product-main {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:40px;
}

.bb-gallery img {
  width:100%;
  border-radius:var(--radius);
}

.bb-thumbs {
  display:flex;
  gap:10px;
  margin-top:12px;
}

.bb-thumbs img {
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--border);
  cursor:pointer;
}

.bb-info h1 {
  font-size:32px;
  margin-bottom:10px;
}

.bb-rating {
  color:#f59e0b;
  margin-bottom:12px;
}

.bb-price {
  font-size:28px;
  font-weight:700;
  margin:16px 0;
}

/* =========================
   ATTRIBUTE BOXES (SIZE)
   ========================= */


#productAttributes fieldset {
  border:0;
  padding:0;
  margin-bottom:20px;
}


#productAttributes legend {
  font-weight:600;
  margin-bottom:8px;
  display:block;
}

/* Hide the default radio button completely */

/*.bb-attribute-groups input[type="radio"]*/
#productAttributes input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: -1;
}

/* Make label appear as the button box */


#productAttributes label.attribsRadioButton {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  height:44px;
  margin:6px 6px 0 0;
  border:2px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  font-weight:600;
  background:#fff;
  color:#0F172A;
  transition:0.2s ease;
  position:relative;
}


.instock-option:not(.timer-option) + label::after {
    content: " ✓";
  font-weight: bold;       /* small cross icon */
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 14px;
  
}



.timer-option + label::after {
     content: "⏱️";
  font-weight: bold;       /* small cross icon */
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 14px;
  
}


/* Hover effect */

#productAttributes label.attribsRadioButton:hover {
  border-color:var(--primary);
}

/* Selected / checked */

#productAttributes input[type="radio"]:checked + label.attribsRadioButton {
  background:var(--primary);
  border-color:var(--primary);
  color:#ffffff;
}




#productAttributes input[type="radio"]:disabled + label.attribsRadioButton {
  background: #f3f3f3;      /* light grey background */
  border-color: #d1d5db;    /* grey border */
  color: #9ca3af;           /* grey text */
  /*cursor: not-allowed;      /* disable pointer */
  opacity: 0.6;
}

/* Optional: add strikethrough text for extra clarity */

#productAttributes input[type="radio"]:disabled + label.attribsRadioButton::after {
  content: "×";              /* small cross icon */
  position: absolute;
  top: 4px;
  right: 6px;
  color: #9ca3af;
  font-size: 12px;
}



.invalid-option + label {
  opacity: 0.4;
   color: #9ca3af !important;
   background: #f3f3f3 !important;  


}

.invalid-option + label::after {
  content: "✕";              /* small cross icon */
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 14px;
  color: #9ca3af;
  pointer-events: none;       /* allow clicks to still be caught */
}

input.sold-out {
  cursor: not-allowed;
  opacity: 0.6;
}

/* ========================= */

.bb-actions {
  display:flex;
  gap:12px;
  margin-bottom:20px;
}

.bb-btn-primary,
.bb-btn-secondary {
  padding:14px 22px;
  border-radius:12px;
  text-decoration:none;
  font-weight:600;
}

.bb-btn-primary {
  background:var(--primary);
  color:white;
  border:none;
}

.bb-btn-secondary {
  border:2px solid var(--primary);
  color:var(--primary);
}

.bb-trust {
  display:flex;
  gap:16px;
  color:#64748B;
  font-size:14px;
}

.bb-tabs {
  margin-top:60px;
}

.bb-tabs details {
  border:1px solid var(--border);
  border-radius:12px;
  margin-bottom:12px;
  padding:12px;
}

.bb-tabs summary {
  font-weight:600;
  cursor:pointer;
}

.bb-tab-content {
  padding-top:12px;
  color:#334155;
}



/* Mobile */

@media(max-width:900px) {
  .bb-product-main {
    grid-template-columns:1fr;
  }

  .bb-actions {
    flex-direction:column;
  }



.instock-option:not(.timer-option) + label::after {
  top: -5px;
}

.invalid-option + label::after {
  top: -5px;
}

.timer-option + label::after {
  top: -5px;

}


.attributesComments{
display:none;
}


}



/*posm jf to hide instock within the radio buttons */

.normalprice, .productSpecialPriceSale {
  text-decoration: line-through;
  color: #00b9e7;
}

.productSpecialPrice, .productSalePrice, .productSpecialPriceSale, .productPriceDiscount {
  color: #575A5B !important;
}

#productPrices {
    font-weight: bold;
    color: #0F172A;
}

#productPrices.in-stock {
    color: green;
}

#productPrices.delivery {
    color: orange;
}

#productPrices.out-of-stock {
    color: red;
}

/* end of Product Display code */
