/* ROOTKey geo personalisation (rk-geo.js). Loaded by rk-geo.js if the page has not linked it already;
   link it in <head> on pages with a stats block so the reserved space is there before first paint. */

/* ---- prices ---- */
.rk-geo-price { position: relative; }
.rk-geo-price .rk-geo-local,
.rk-geo-price .rk-geo-eur { unicode-bidi: isolate; }
/* stack (default): the EUR figure sits under the local price, in space the page reserves
   (e.g. padding-bottom on the price row), so nothing moves when the swap happens */
.rk-geo-price--stack .rk-geo-eur {
  position: absolute; inset-inline-start: 0; top: 100%; margin-top: 2px;
  font: 400 11px/1.4 var(--mono); letter-spacing: 0; text-transform: none; white-space: nowrap; color: var(--ink-3);
}
/* inline: "≈ US$215 per month · €199" on one line (HUD chips, running text) */
.rk-geo-price--inline .rk-geo-eur { color: var(--ink-3); font-size: .86em; margin-inline-start: .35em; white-space: nowrap; }
.rk-geo-note:empty { display: none; }
.rk-geo-note { white-space: nowrap; }

/* ---- stats block ---- */
.rk-geo-stats { --rk-geo-n: 4; }
.rk-geo-stats__for { font: 500 10px/1.4 var(--mono); letter-spacing: 2px; text-transform: uppercase; color: var(--ink-3); margin-bottom: 18px; min-height: 1.4em; }
.rk-geo-stats__for b { color: var(--fg); font-weight: 500; }
.rk-geo-stats .rk-stats { grid-template-columns: repeat(var(--rk-geo-n), minmax(0, 1fr)); }
.rk-geo-stats .rk-stat__v { font-size: clamp(34px, 3.4vw, 56px); white-space: nowrap; unicode-bidi: isolate; }
/* labels and sources keep a fixed number of lines, so a region swap does not change the block height */
.rk-geo-stats .rk-stat__l { min-height: calc(1.55em * 3); line-height: 1.55; }
.rk-geo-stat__src { margin-top: 12px; min-height: calc(1.5em * 2); font: 400 11px/1.5 var(--mono); letter-spacing: 0; color: var(--ink-3); }
.rk-geo-stat__src a { color: var(--ink-2); border-bottom: 1px solid var(--line-2); overflow-wrap: anywhere; }
.rk-geo-stat__src a:hover { color: var(--fg); }
.rk-geo-stats.is-swapping .rk-stats { opacity: 0; }
.rk-geo-stats .rk-stats { transition: opacity .35s ease; }
:root[lang|="ar"] .rk-geo-stats__for { letter-spacing: 0; font-size: 12px; }
@media (max-width: 800px) {
  .rk-geo-stats .rk-stats { grid-template-columns: 1fr 1fr; }
  .rk-geo-stats .rk-stat:nth-child(3) { padding-inline-start: 0; border-inline-start: 0; }
  .rk-geo-stats .rk-stat__l { min-height: calc(1.55em * 4); }
  .rk-geo-stat__src { min-height: calc(1.5em * 3); }
}
/* phones: long localized figures (1,2 Mrd. €, 50 Mio. R$) stay inside the 2-column grid */
@media (max-width: 480px) { .rk-geo-stats .rk-stat__v { font-size: 26px; } }
