.catalog-price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(123, 47, 72, .2);
  border-radius: 10px;
  background: #f7edef;
}

.catalog-price span,
.price-request-panel > span,
.price-calculator-head span,
.price-tier-summary span {
  color: #746961;
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.catalog-price strong { color: #7b2f48; font-size: 1.05rem; }
.catalog-price--request { background: #f7f2eb; }
.catalog-price--request strong { color: #514740; font-size: .88rem; }

.cluster-card-price--request { color: var(--muted) !important; }

.price-request-panel,
.price-calculator {
  width: 100%;
  margin-top: 24px;
  padding: 20px;
  border: 1px solid rgba(111, 41, 77, .2);
  border-radius: 16px;
  background: #fbf6f2;
}

.price-request-panel {
  display: grid;
  gap: 6px;
}

.price-request-panel strong { color: #321321; font-size: clamp(1.45rem, 2.3vw, 2rem); }
.price-request-panel p { max-width: 45ch; margin: 3px 0 0; color: #746961; font-size: .86rem; line-height: 1.45; }

.price-calculator-head,
.price-calculator-body,
.price-tier-summary {
  display: grid;
  gap: 12px;
}

.price-calculator-head {
  grid-template-columns: 1fr auto;
  align-items: start;
}

.price-calculator-head > div { display: grid; gap: 4px; }
.price-calculator-head strong { color: #321321; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1; }
.price-calculator-head .price-vat { padding: 7px 9px; border-radius: 999px; color: #6f294d; background: #ead4dc; font-size: .62rem; }

.price-calculator-body {
  grid-template-columns: minmax(150px, .72fr) minmax(210px, 1.28fr);
  align-items: end;
  margin-top: 18px;
}

.price-quantity-field { display: grid; gap: 7px; }
.price-quantity-field label { color: #514740; font-size: .75rem; font-weight: 700; }
.price-quantity-control { display: grid; grid-template-columns: 40px minmax(56px, 1fr) 40px; overflow: hidden; border: 1px solid rgba(111, 41, 77, .26); border-radius: 10px; background: #fff; }
.price-quantity-control button { border: 0; color: #6f294d; background: #f4e7e9; font-size: 1.15rem; cursor: pointer; }
.price-quantity-control input { width: 100%; min-width: 0; padding: 10px 6px; border: 0; outline: 0; text-align: center; color: #251b16; background: #fff; font: inherit; font-weight: 750; appearance: textfield; }
.price-quantity-control input::-webkit-inner-spin-button { appearance: none; }

.price-tier-summary { grid-template-columns: 1fr 1fr; }
.price-tier-summary > div { display: grid; gap: 5px; padding: 11px 13px; border: 1px solid rgba(43, 29, 24, .11); border-radius: 10px; background: rgba(255, 255, 255, .72); }
.price-tier-summary strong { color: #321321; font-size: .88rem; line-height: 1.25; }

.price-presets { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.price-presets button { padding: 7px 11px; border: 1px solid rgba(111, 41, 77, .22); border-radius: 999px; color: #6f294d; background: #fff; font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.price-presets button[aria-pressed="true"] { border-color: #6f294d; color: #fff; background: #6f294d; }
.price-format-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgba(43, 29, 24, .11); color: #746961; font-size: .75rem; line-height: 1.45; }

.set-product-intro .price-request-panel { max-width: 520px; margin-block: 20px; background: rgba(255, 255, 255, .86); }

.legacy-price-selector {
  display: grid;
  gap: 10px;
  width: min(100%, 560px);
  margin-top: 20px;
}

.legacy-price-selector > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #514740;
  font-size: .78rem;
  font-weight: 700;
}

.legacy-price-selector select {
  min-width: 130px;
  padding: 9px 34px 9px 12px;
  border: 1px solid rgba(111, 41, 77, .24);
  border-radius: 9px;
  color: #251b16;
  background: #fff;
  font: inherit;
}

.legacy-price-selector .price-calculator,
.legacy-price-selector .price-request-panel { margin-top: 0; }

@media (max-width: 760px) {
  .catalog-price { padding: 10px 11px; }
  .catalog-price strong { font-size: .95rem; }
  .price-calculator-body { grid-template-columns: 1fr; }
  .price-tier-summary strong { font-size: .82rem; }
  .price-request-panel,
  .price-calculator { margin-top: 18px; padding: 16px; }
}

@media (max-width: 430px) {
  .price-calculator-head { grid-template-columns: 1fr; }
  .price-calculator-head .price-vat { justify-self: start; }
  .price-tier-summary { grid-template-columns: 1fr; }
}
