/* Keep merchant prices visually unresolved until a verified localization profile exists.
   This prevents a USD flash for visitors whose canonical top-50 charge is local currency. */
html:not([data-country]) .store-page .store-price {
  position: relative;
  min-height: 36px;
  min-width: 148px;
}

html:not([data-country]) .store-page .store-price > * {
  visibility: hidden;
}

html:not([data-country]) .store-page .store-price::after {
  content: "Checking local price…";
  position: absolute;
  inset: 0 auto auto 0;
  font-size: 13px;
  line-height: 36px;
  font-weight: 650;
  letter-spacing: 0;
  color: var(--muted);
}

html:not([data-country]) .store-page .store-compare-row:not(.head) > span:nth-child(3) > * {
  visibility: hidden;
}

html:not([data-country]) .store-page .store-compare-row:not(.head) > span:nth-child(3) {
  position: relative;
  min-height: 34px;
}

html:not([data-country]) .store-page .store-compare-row:not(.head) > span:nth-child(3)::after {
  content: "Checking local price…";
  position: absolute;
  inset: 0 auto auto 0;
  font-size: 12px;
  line-height: 20px;
  font-weight: 600;
  color: var(--muted);
}

/* Do not let a customer intentionally start from an amount the storefront has
   not finished resolving. Canonical server-side checkout validation remains the
   authority even after this guard is released. */
html:not([data-country]) .store-page .store-plan-card .store-button,
html:not([data-country]) .store-page .store-compare-row:not(.head) button {
  pointer-events: none;
  opacity: 0.56;
}
