.nb-pdp-accessories {
  margin: 24px 0;
  padding: 16px;
  border-radius: 18px;
  background: #f7f7f7;
}
label.nb-pdp-accessory-item { display: flex; }
.nb-pdp-accessories h3 {
  margin: 0 0 12px;
  font-size: 18px !important;
  font-weight: 800;
}
.nb-pdp-accessory-item {
  display: grid;
  grid-template-columns: 24px 56px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  cursor: pointer;
}
.nb-pdp-accessory-item + .nb-pdp-accessory-item { border-top: 1px solid #e4e4e4; }
.nb-pdp-accessory-image img { width: 56px; height: 56px; object-fit: contain; }
.nb-pdp-accessory-info strong { display: block; font-size: 14px; line-height: 1.25; }
.nb-pdp-accessory-info small { display: block; margin-top: 3px; color: #ed002b; font-weight: 700; }
.nb-pdp-accessory-item.is-out-of-stock { opacity: .55; cursor: not-allowed; }
.nb-pdp-add-accessories {
  width: 100%; min-height: 44px; margin-top: 12px; border: 0;
  border-radius: 999px; background: #ed002b; color: #fff; font-weight: 800;
}
.nb-pdp-accessories-message { margin-top: 8px; font-size: 13px; font-weight: 700; }
.nb-pdp-accessories-message[hidden] { display: none !important; }
.nb-pdp-accessories-message.is-error { color: #a12222; }

.nb-pdp-accessories .nb-pdp-accessory-item input { flex-shrink: 0; }
.nb-pdp-accessories .nb-pdp-accessory-image { flex: 0 0 56px; }
.nb-pdp-accessories .nb-pdp-accessory-info { flex: 1; min-width: 0; }
.nb-pdp-accessories .nb-pdp-accessory-item { gap: 12px; align-items: center; }
.single_add_to_cart_button.nb-is-loading { cursor: wait; opacity: .75; }
.single_add_to_cart_button.nb-is-loading::after { content: ""; display: inline-block; width: 12px; height: 12px; margin-left: 8px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: nb-spin .65s linear infinite; vertical-align: middle; }
@keyframes nb-spin { to { transform: rotate(360deg); } }
