.rainbow-qpp {
  --rqpp-accent: var(--wp--preset--color--primary, var(--woocommerce, var(--wp--preset--color--contrast, #2271b1)));
  --rqpp-border: var(--wp--preset--color--contrast-2, #d8dee6);
  --rqpp-text: var(--wp--preset--color--contrast, currentColor);
  --rqpp-button-text: #222222;
  --rqpp-button-bg: #ffffff;
  --rqpp-button-border: #d8dee6;
  --rqpp-selected-bg: #f0f6fc;
  --rqpp-selected-text: #2271b1;
  --rqpp-selected-border: #2271b1;
  --rqpp-font: inherit;
  --rqpp-font-size: 14px;
  margin: 18px 0 20px;
  color: var(--rqpp-text);
  font: inherit;
}
.rainbow-qpp-heading { font-weight: 700; margin: 12px 0 9px; }
.rainbow-qpp-quantity, .rainbow-qpp-payment { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.rainbow-qpp-payment { grid-template-columns: repeat(2, minmax(0,1fr)); }
.rainbow-qpp-option, .rainbow-qpp-pay {
  appearance: none; cursor: pointer; min-width: 0; width: 100%;
  border: 1px solid var(--rqpp-button-border); border-radius: 8px;
  background: var(--rqpp-button-bg); color: var(--rqpp-button-text);
  padding: 12px 8px; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 5px; font-family: var(--rqpp-font); font-size: var(--rqpp-font-size); text-align: center;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.rainbow-qpp-option-title { font-weight: 700; }
.rainbow-qpp-option-sub, .rainbow-qpp-pay small { font-size: .82em; opacity: .8; }
.rainbow-qpp-option-price, .rainbow-qpp-pay-price { font-weight: 700; }
.rainbow-qpp-option.is-selected, .rainbow-qpp-pay.is-selected {
  border-color: var(--rqpp-selected-border); box-shadow: 0 0 0 1px var(--rqpp-selected-border);
  background: var(--rqpp-selected-bg);
}
.rainbow-qpp-option.is-selected .rainbow-qpp-option-title,
.rainbow-qpp-pay.is-selected > span { color: var(--rqpp-accent); }
.rainbow-qpp-note { margin: 8px 0 0; font-size: .9em; }
@media (max-width: 480px) {
  .rainbow-qpp-quantity, .rainbow-qpp-payment { gap: 6px; }
  .rainbow-qpp-option, .rainbow-qpp-pay { padding: 10px 5px; font-size: .9em; }
}

.rainbow-qpp-per-piece { font-size: .78em; line-height: 1.25; opacity: .82; }

/* Checkout payment-price selector */
.rainbow-qpp-checkout { padding: 14px; margin: 16px 0; border: 1px solid var(--rqpp-button-border); border-radius: 10px; }
.rainbow-qpp-checkout .rainbow-qpp-payment { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rainbow-qpp-checkout .rainbow-qpp-pay { position: relative; cursor: pointer; }
.rainbow-qpp-checkout .rainbow-qpp-pay input[type="radio"] { position: absolute; top: 8px; left: 8px; margin: 0; }
.rainbow-qpp-checkout .rainbow-qpp-pay > span { padding-left: 14px; }
.rainbow-qpp-checkout .rainbow-qpp-pay.is-selected { border-color: var(--rqpp-selected-border); background: var(--rqpp-selected-bg); color: var(--rqpp-selected-text); }
