/* Info bubbles on the price card. Separate from the locked design files, which stay byte-identical. */
.om-price .om-price__row, .om-price .om-price__total { position: relative; }
.om-price .om-tip {
  -webkit-appearance: none; appearance: none; position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 15px; height: 15px; margin: 0 0 0 6px; padding: 0; border: 0; border-radius: 50%; background: none;
  color: #9298a3; cursor: pointer; vertical-align: -2px; line-height: 1; font: inherit; box-shadow: none; min-height: 0;
  -webkit-tap-highlight-color: transparent;
}
.om-price .om-tip::after { content: ""; position: absolute; inset: -10px; }
.om-price .om-tip:hover, .om-price .om-tip[aria-expanded="true"] { color: #222732; background: none; }
.om-price .om-tip:focus { outline: 0; background: none; }
.om-price .om-tip:focus-visible { outline: 2px solid #222732; outline-offset: 2px; }
.om-price .om-tip svg { display: block; width: 15px; height: 15px; }
.om-price .om-tip__bubble {
  display: none; position: absolute; left: 0; top: calc(100% - 1px); z-index: 30; width: min(320px, 100%);
  margin: 0; padding: 10px 12px; background: #fff; border: 1px solid #dfe2e7; border-radius: 10px;
  box-shadow: 0 10px 28px rgba(20, 24, 33, 0.14);
  font: 400 13px/1.45 'Muli', Arial, Helvetica, sans-serif; letter-spacing: 0; color: #222732; text-align: left; white-space: normal;
}
.om-price .om-price__total .om-tip__bubble { top: calc(100% + 6px); }
.om-price .om-tip[aria-expanded="true"] ~ .om-tip__bubble { display: block; }
@media (hover: hover) and (pointer: fine) {
  .om-price .om-tip:not([data-dismissed]):hover ~ .om-tip__bubble, .om-price .om-tip:not([data-dismissed]):focus-visible ~ .om-tip__bubble { display: block; }
}
