.ab-currency-controls {
  box-sizing: border-box;
  width: 100%;
  max-width: 760px;
  margin: 22px 0;
  padding: 18px 20px;
  border: 1px solid #d9ddd2;
  border-radius: 12px;
  background: #fff;
  color: #181918;
  font-family: Inter, Arial, sans-serif;
  text-align: left;
}
.ab-currency-controls *, .ab-currency-controls *::before, .ab-currency-controls *::after { box-sizing: border-box; }
.ab-currency-controls .ab-currency-controls__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 14px; }
.ab-currency-controls .ab-currency-controls__field { min-width: 0; }
.ab-currency-controls .ab-currency-controls__label { display: block; margin: 0 0 7px; color: #454a40; font-size: 12px; font-weight: 650; line-height: 1.4; }
.ab-currency-controls .ab-currency-controls__select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 34px 10px 12px;
  border: 1px solid #bdc4b5;
  border-radius: 7px;
  background-color: #fff;
  color: #181918;
  font: inherit;
  font-size: 15px;
  line-height: 1.4;
  cursor: pointer;
  text-overflow: ellipsis;
  color-scheme: light;
}
.ab-currency-controls .ab-currency-controls__select:hover { border-color: #727b63; }
.ab-currency-controls .ab-currency-controls__select:focus-visible,
.ab-currency-controls .ab-currency-controls__source:focus-visible { outline: 3px solid #8b7d00; outline-offset: 3px; }
.ab-currency-controls .ab-currency-controls__status { margin: 13px 0 0; font-size: 12px; line-height: 1.65; color: #51584a; overflow-wrap: anywhere; }
.ab-currency-controls .ab-currency-controls__note { margin: 5px 0 0; font-size: 11px; line-height: 1.6; color: #63695d; }
.ab-currency-controls .ab-currency-controls__source { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ab-currency-controls[data-ab-currency-state="stale"],
.ab-currency-controls[data-ab-currency-state="unavailable"] { border-color: #d7c983; }
[data-ab-price-rub], [data-ab-price-amount] { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Existing product CSS makes every nested price span look like a small billing period. */
#ms-product .ms-price .ms-price-amount > [data-ab-price-rub],
#ms-product .ms-price .ms-price-amount > [data-ab-price-amount],
#tc-product .tc-price-card .tc-price-value > [data-ab-price-rub],
#tc-product .tc-price-card .tc-price-value > [data-ab-price-amount] {
  display: inline;
  margin: 0;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}
#ms-product .ms-price .ms-price-amount,
#tc-product .tc-price-card .tc-price-value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  white-space: normal;
  overflow-wrap: normal;
}
/* Long converted amounts (for example KZT/VND) fit the card; the period can wrap. */
#ms-product .ms-price .ms-price-amount { font-size: clamp(24px, 2.5vw, 36px); letter-spacing: -1px; }
#tc-product .tc-price-card .tc-price-value { font-size: clamp(28px, 5vw, 49px); }
@supports (container-type: inline-size) {
  #ms-product .ms-price, #tc-product .tc-price-card { container-type: inline-size; }
  #ms-product .ms-price .ms-price-amount { font-size: clamp(20px, 9cqi, 43px); }
  #tc-product .tc-price-card .tc-price-value { font-size: clamp(24px, 9cqi, 49px); }
}
@media (max-width: 480px) {
  .ab-currency-controls { padding: 15px; margin: 18px 0; }
  .ab-currency-controls .ab-currency-controls__fields { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ab-currency-controls .ab-currency-controls__select { font-size: 16px; }
}
@media (forced-colors: active) {
  .ab-currency-controls { border-color: CanvasText; }
  .ab-currency-controls .ab-currency-controls__select:focus-visible,
  .ab-currency-controls .ab-currency-controls__source:focus-visible { outline-color: Highlight; }
}
