/* Wrap row for each addon */
.pizza-addon-group-row {
  margin: 5px 0;
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
}

/* Label is flex row */
.addon-flex-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
}

/* Name on the left, price on the right */
.addon-name {
    flex: 1;
    font-weight: 400;
    font-size: 13px;
}

.addon-price {
  font-weight: 500;
  color: #444;
}

.pizza-addon-group-row.required-addon .addon-required-text {
    font-size: 12px;
    color: red;
    font-weight: bold;
    margin-left: 8px;
}

h4.pizza-addon-category {
    display: flex;
    font-size: 13px;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    background: #f3f3f3;
    padding: 5px;
    border: 1px solid #dddddd;
    border-radius: 3px;
}

.quickview-body-scrollable .pizza-addons h3 {
    font-size: 15px;
    text-transform: uppercase;
    margin: 10px 0px;
}

.pizza-addon-counter {
    font-weight: bold;
    color: #333;
}


.category-required-text {
    color: red;
    font-size: 14px;
    font-weight: bold;
    margin-left: 8px;
}

.product-category-links {
    display: grid;
}

.product-category-links a.product-cat-scroll-link {
    border-bottom: 1px solid #ececec;
    margin-bottom: 5px;
    padding: 5px 10px;
    color: #80ae41;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
}

.addon-qty-wrap { display:inline-flex; align-items:center; gap:.4rem; margin-left:.6rem; }
.addon-qty { border:1px solid #ddd; padding:.1rem .5rem; cursor:pointer; line-height:1; }
.addon-qty-input { width:52px; text-align:center; }
.pizza-addon-category-group.at-cap { outline:2px solid #e74c3c; outline-offset:2px; }


/* Only on single product pages that contain the .pizza-addons block */
.single-product .product:has(.pizza-addons) form.cart {
  display: flex;
  align-items: center;
  gap: 12px;          /* space between qty and button */
  flex-wrap: wrap;    /* keeps it tidy on mobile */
}

/* Reset any theme margins that push them apart */
.single-product .product:has(.pizza-addons) form.cart .quantity {
  margin: 0;
}

/* Make the inputs line up neatly */
.single-product .product:has(.pizza-addons) form.cart .quantity .qty {
  height: 42px;       /* match your button height if needed */
  padding: 8px 10px;
}
.single-product .product:has(.pizza-addons) form.cart .single_add_to_cart_button {
  height: 42px;       /* optional – align heights */
  line-height: 42px;  /* some themes benefit from this */
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mobile tweak (optional): stack if too narrow) */
@media (max-width: 480px) {
  .single-product .product:has(.pizza-addons) form.cart {
    gap: 8px;
  }
}
