.gsma-dynamic-map-chart{width:75%;max-width:75%;margin:0 auto;box-sizing:border-box}
.gsma-dynamic-map-chart__content-set-menu{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;width:100%;margin:0 auto 24px}
.gsma-dynamic-map-chart__content-tab{border:1px solid #bbb;background:#f5f5f5;color:#222;padding:10px 18px;border-radius:4px;cursor:pointer;font-weight:600}
.gsma-dynamic-map-chart__content-tab:hover{background:#e9e9e9}
.gsma-dynamic-map-chart__content-tab.is-active{background:#222;color:#fff;border-color:#222}
.gsma-dynamic-map-chart__top-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:20px;align-items:start;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__map{min-width:0;width:100%}
.gsma-dynamic-map-chart__map svg{display:block;width:100%;height:auto;max-width:100%}
.gsma-dynamic-map-chart__map [data-map-target]{cursor:pointer;transition:fill .18s ease,opacity .18s ease}
.gsma-dynamic-map-chart__map [data-map-target]:hover{fill:#878787 !important}
.gsma-dynamic-map-chart__map [data-map-target].is-active{fill:#878787 !important}
.gsma-dynamic-map-chart__bottom-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:24px;margin-top:30px;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__regions{display:flex;flex-direction:column;gap:2px;min-width:0}
.gsma-dynamic-map-chart__region{text-align:left;background:transparent;border:0;border-bottom:1px solid #ddd;padding:9px;cursor:pointer;font-size:15px;transition:background .18s ease,color .18s ease}
.gsma-dynamic-map-chart__region:hover{background:#878787;color:#fff}
.gsma-dynamic-map-chart__region.is-active{font-weight:700;background:#f1f1f1}
.gsma-dynamic-map-chart__region.is-active:hover{background:#878787;color:#fff}
.gsma-dynamic-map-chart__chart-column{position:relative;min-width:0;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__chart-wrap{position:relative;width:100%;max-width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__year-panel{min-width:0;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__region-title{margin:0 0 14px;font-size:20px;line-height:1.15;text-align:center}
.gsma-dynamic-map-chart__years-row{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.gsma-dynamic-map-chart__dataset-group{width:100%;max-width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__stat-group{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:4px;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__circle{width:72px;height:72px;max-width:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0 auto}
.gsma-dynamic-map-chart__circle strong{font-size:21px;line-height:1;font-weight:700;white-space:nowrap}
.gsma-dynamic-map-chart__circle--left{border:3px solid var(--dataset-colour);color:var(--dataset-colour);background:#fff}
.gsma-dynamic-map-chart__circle--right{background:var(--dataset-colour);color:#fff;border:3px solid var(--dataset-colour)}
.gsma-dynamic-map-chart__stat-arrow{text-align:center;color:#999;font-size:20px;line-height:1;animation:gsma-dynamic-arrow 1.1s ease-in-out infinite}
@keyframes gsma-dynamic-arrow{0%,100%{transform:translateX(0);opacity:.7}50%{transform:translateX(5px);opacity:1}}
.gsma-dynamic-map-chart__label-row{text-align:center;margin-top:8px}
.gsma-dynamic-map-chart__dataset-label{font-size:16px;line-height:1.25;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.gsma-dynamic-map-chart__info{width:24px;height:24px;border:0;border-radius:50%;background:#dc002b;color:#fff;font-weight:700;font-size:16px;line-height:24px;padding:0;cursor:pointer;position:relative}
.gsma-dynamic-map-chart__info-tooltip{display:none;position:absolute;z-index:50;left:50%;bottom:30px;transform:translateX(-50%);width:200px;padding:9px 11px;border-radius:5px;background:rgba(0,0,0,.9);color:#fff;font-size:12px;line-height:1.4;text-align:left;font-weight:400}
.gsma-dynamic-map-chart__info:hover .gsma-dynamic-map-chart__info-tooltip,.gsma-dynamic-map-chart__info:focus .gsma-dynamic-map-chart__info-tooltip{display:block}
.gsma-dynamic-map-chart__line-chart{display:block;width:100%;max-width:100%;height:auto;overflow:visible;box-sizing:border-box}
.gsma-dynamic-map-chart__tooltip{position:absolute;display:none;z-index:40;transform:translate(-50%,-100%);background:rgba(0,0,0,.9);color:#fff;padding:8px 10px;border-radius:4px;font-size:12px;pointer-events:none;white-space:nowrap}
.gsma-dynamic-map-chart__tooltip.is-visible{display:block}
.gsma-dynamic-map-chart__chart-column .gsma-dynamic-map-chart__content-set-menu{margin-bottom:16px}
@media(max-width:900px){.gsma-dynamic-map-chart{width:95%;max-width:95%}.gsma-dynamic-map-chart__top-row,.gsma-dynamic-map-chart__bottom-row{grid-template-columns:1fr}.gsma-dynamic-map-chart__circle{width:64px;height:64px}.gsma-dynamic-map-chart__circle strong{font-size:18px}.gsma-dynamic-map-chart__region-title{font-size:18px}}

/* v10 tooltip interaction */
.gsma-dynamic-map-chart__info-tooltip{
    display:block;
    visibility:hidden;
    opacity:0;
    transition:opacity .22s ease, visibility .22s ease;
    background:rgba(0,0,0,.8);
}
.gsma-dynamic-map-chart__info:hover .gsma-dynamic-map-chart__info-tooltip,
.gsma-dynamic-map-chart__info:focus .gsma-dynamic-map-chart__info-tooltip,
.gsma-dynamic-map-chart__info.is-tooltip-open .gsma-dynamic-map-chart__info-tooltip{
    visibility:visible;
    opacity:1;
}
.gsma-dynamic-map-chart__map [data-map-target]{transition:fill .2s ease,opacity .2s ease;cursor:pointer}
.gsma-dynamic-map-chart__map [data-map-target]:hover{fill:#878787 !important}
.gsma-dynamic-map-chart__map [data-map-target].is-active{fill:#666 !important}

/* v17 requested visual/layout updates */
.gsma-dynamic-map-chart{width:75%;max-width:75%;margin:0 auto;box-sizing:border-box}
.gsma-dynamic-map-chart__content-set-menu--top{width:min(860px,100%);max-width:860px;margin:0 auto 24px;justify-content:center}
.gsma-dynamic-map-chart__content-set-menu--chart{width:min(860px,100%);max-width:860px;margin:0 auto 14px;justify-content:center}
.gsma-dynamic-map-chart__top-row{display:grid;grid-template-columns:minmax(0,860px) minmax(0,1fr);gap:20px;align-items:start;width:100%;box-sizing:border-box}
.gsma-dynamic-map-chart__map{width:860px;height:460px;max-width:100%;min-width:0;box-sizing:border-box}
.gsma-dynamic-map-chart__map svg{display:block;width:860px!important;height:460px!important;max-width:100%;max-height:460px}
.gsma-dynamic-map-chart__map [data-map-target]{fill:rgb(203,203,204)!important;cursor:pointer;transition:fill .2s ease}
.gsma-dynamic-map-chart__map [data-map-target]:hover,.gsma-dynamic-map-chart__map [data-map-target].is-active{fill:#787878!important}
.gsma-dynamic-map-chart__region-title{font-size:20px;font-weight:700;line-height:1.5em;text-align:center;text-transform:capitalize;margin:0 0 14px}
.gsma-dynamic-map-chart__circle strong{font-size:30px;line-height:25px;font-weight:700;white-space:nowrap}
.gsma-dynamic-map-chart__circle{width:72px;height:72px}
.gsma-dynamic-map-chart__stat-arrow{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#242529;animation:none}
.gsma-dynamic-map-chart__stat-arrow svg{display:block;width:22px;height:22px}
.gsma-dynamic-map-chart__stat-arrow.is-animating{animation:gsma-dmc-arrow-once .72s ease-out 1}
@keyframes gsma-dmc-arrow-once{0%{opacity:0;transform:translateX(-9px)}45%{opacity:1;transform:translateX(4px)}100%{opacity:1;transform:translateX(0)}}
.somic-chart__global-stats--caption{font-size:16px;line-height:24px}
.gsma-dynamic-map-chart__info{position:relative;background:transparent;color:#242529;width:18px;height:18px;border:0;border-radius:0;padding:0;vertical-align:middle}
.gsma-dynamic-map-chart__info::before{font-family:'Font Awesome 6 Free';font-weight:900;content:"\f05a";font-size:16px;line-height:18px}
.gsma-dynamic-map-chart__info-tooltip{font-family:inherit;font-size:13px;line-height:19px;background:rgba(0,0,0,.8);color:#fff;max-width:260px;width:max-content;min-width:180px}
.gsma-dynamic-map-chart__bottom-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:24px;margin-top:30px;width:100%;box-sizing:border-box;align-items:start}
.gsma-dynamic-map-chart__regions{display:flex;flex-direction:column;gap:0;min-width:0}
.gsma-dynamic-map-chart__region{width:100%;margin:0 0 18px;padding:0 12px;background:#f2f2f2;color:#242529;border:0;font-size:16px;line-height:24px;text-align:left;min-height:40px;cursor:pointer;transition:background .18s ease,color .18s ease}
.gsma-dynamic-map-chart__region:hover,.gsma-dynamic-map-chart__region.is-active{background:#787878;color:#fff}
.gsma-dynamic-map-chart__region.is-active:hover{background:#787878;color:#fff}
.gsma-dynamic-map-chart__report-description{margin:0 0 18px;font-size:inherit;line-height:1.5;color:#242529}
.gsma-dynamic-map-chart__report-description p:first-child{margin-top:0}
.gsma-dynamic-map-chart__report-description p:last-child{margin-bottom:0}
.gsma-dynamic-map-chart__chart-column{width:100%;min-width:0;box-sizing:border-box}
.gsma-dynamic-map-chart__chart-wrap{position:relative;width:min(860px,100%);max-width:860px;margin:0 auto;box-sizing:border-box}
.gsma-dynamic-map-chart__line-chart{display:block;width:860px;max-width:100%;height:auto;overflow:visible;box-sizing:border-box}
.gsma-dynamic-map-chart__dataset-description{width:min(860px,100%);max-width:860px;margin:0 auto 18px;font:inherit;color:inherit}
.gsma-dynamic-map-chart__dataset-description-item{margin:0 0 10px}
.gsma-dynamic-map-chart__dataset-description-item:last-child{margin-bottom:0}
.gsma-dynamic-map-chart__key{width:min(860px,100%);max-width:860px;margin:18px auto 0;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;line-height:21px;color:#242529}
.gsma-dynamic-map-chart__key-item{display:inline-flex;align-items:center;gap:6px}
.gsma-dynamic-map-chart__key-swatch{display:inline-block;width:16px;height:16px;flex:0 0 16px}
.gsma-dynamic-map-chart__line-chart text{font-size:24px!important;fill:#000!important}
.gsma-dynamic-map-chart__tooltip{background:rgba(0,0,0,.8);font-size:13px;line-height:19px}

@media(max-width:1180px){
  .gsma-dynamic-map-chart{width:90%;max-width:90%}
  .gsma-dynamic-map-chart__top-row{grid-template-columns:minmax(0,1fr) minmax(220px,1fr)}
  .gsma-dynamic-map-chart__map{width:100%;height:auto;aspect-ratio:860/460}
  .gsma-dynamic-map-chart__map svg{width:100%!important;height:auto!important;max-height:none}
}
@media(max-width:900px){
  .gsma-dynamic-map-chart{width:95%;max-width:95%}
  .gsma-dynamic-map-chart__top-row,.gsma-dynamic-map-chart__bottom-row{grid-template-columns:1fr}
  .gsma-dynamic-map-chart__map{width:100%;height:auto;aspect-ratio:860/460}
  .gsma-dynamic-map-chart__map svg{width:100%!important;height:auto!important}
}

/* v19 refinements, based on v17 */
.gsma-dynamic-map-chart__content-tab,
.gsma-dynamic-map-chart__region,
.gsma-dynamic-map-chart__info,
.gsma-dynamic-map-chart__info-tooltip,
.gsma-dynamic-map-chart__tooltip {
    border-radius:0 !important;
}
.gsma-dynamic-map-chart__circle {
    width:auto;
    min-width:0;
    height:auto;
    aspect-ratio:auto;
    padding:0.45em 0.55em;
    border-radius:999px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    white-space:nowrap;
}
.gsma-dynamic-map-chart__circle--left,
.gsma-dynamic-map-chart__circle--right {
    border-width:2px;
}
.gsma-dynamic-map-chart__circle strong {
    display:block;
    font-size:30px;
    line-height:25px;
    white-space:nowrap;
}
.gsma-dynamic-map-chart__region {
    margin:0 0 10px;
    text-align:center;
    font-weight:400;
}
.gsma-dynamic-map-chart__region.is-active,
.gsma-dynamic-map-chart__region.is-active:hover {
    font-weight:400;
}
.gsma-dynamic-map-chart__region:hover,
.gsma-dynamic-map-chart__region.is-active {
    background:#787878;
    color:#fff;
}
.gsma-dynamic-map-chart__content-set-description {
    width:min(860px,100%);
    max-width:860px;
    margin:0 auto 24px;
    font:inherit;
    color:inherit;
    line-height:1.5;
}
.gsma-dynamic-map-chart__content-set-description p:first-child,
.gsma-dynamic-map-chart__chart-description p:first-child { margin-top:0; }
.gsma-dynamic-map-chart__content-set-description p:last-child,
.gsma-dynamic-map-chart__chart-description p:last-child { margin-bottom:0; }
.gsma-dynamic-map-chart__chart-description {
    margin:18px 0 24px;
    font:inherit;
    color:#242529;
    line-height:1.5;
}
.gsma-dynamic-map-chart__line-chart text {
    font-size:17px !important;
    fill:#000 !important;
}
.gsma-dynamic-map-chart__key {
    gap:40px;
    font-size:14px;
    line-height:21px;
    font-weight:700;
}
.gsma-dynamic-map-chart__key-item {
    gap:12px;
    font-weight:700;
}
.gsma-dynamic-map-chart__key-swatch {
    width:16px;
    height:16px;
    flex:0 0 16px;
}
/* Replace the previous line-drawing animation with a full-line fade/up motion. */
.gsma-dynamic-map-chart__line-chart path {
    stroke-dasharray:none !important;
    stroke-dashoffset:0 !important;
}
@media(max-width:900px){
    .gsma-dynamic-map-chart__circle { padding:9px; }
    .gsma-dynamic-map-chart__circle strong { font-size:22px; line-height:22px; }
}

/* v17.2 fixes */
.gsma-dynamic-map-chart__content-tab.is-active { background:#787878 !important; color:#fff !important; border-color:#787878 !important; }
.gsma-dynamic-map-chart__content-tab,
.gsma-dynamic-map-chart__region,
.gsma-dynamic-map-chart__info,
.gsma-dynamic-map-chart__info-tooltip,
.gsma-dynamic-map-chart__tooltip { border-radius:0 !important; }


/* v17.3 refinements */
.gsma-dynamic-map-chart__circle {
    width: 72px;
    height: 72px;
    min-width: 72px;
    min-height: 72px;
    max-width: none !important;
    max-height: none !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    box-sizing: border-box;
    overflow: visible;
}
.gsma-dynamic-map-chart__circle strong {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 25px;
    text-align: center;
    white-space: nowrap;
}
.somic-chart__global-stats--caption {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    vertical-align: middle;
    line-height: 24px;
}
.gsma-dynamic-map-chart__info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin: 0;
}
.gsma-dynamic-map-chart__info::before {
    display: block;
    line-height: 18px;
}
/* Keep the year circles fixed while number/region animations run. */
.gsma-dynamic-map-chart__circle--left,
.gsma-dynamic-map-chart__circle--right {
    flex: 0 0 auto;
}
/* Give the 0–100% chart enough vertical breathing room for 5% ticks. */
.gsma-dynamic-map-chart__line-chart {
    min-height: 672px;
}
@media(max-width:900px){
    .gsma-dynamic-map-chart__line-chart { min-height: 520px; }
}


/* v17.4 refinements */
.gsma-dynamic-map-chart__circle {
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
}
.gsma-dynamic-map-chart__circle strong {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
}
.gsma-dynamic-map-chart__line-chart {
    min-height: 500px !important;
    height: 500px !important;
}
@media(max-width:900px){
    .gsma-dynamic-map-chart__line-chart { min-height: 500px !important; height: 500px !important; }
}


/* v17.5 minor refinements */
.gsma-dynamic-map-chart__stat-group {
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
}
.gsma-dynamic-map-chart__stat-arrow {
    width: 44px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    margin: 0 auto !important;
}
.gsma-dynamic-map-chart__stat-arrow svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    margin: 0 auto !important;
}
.gsma-dynamic-map-chart__circle {
    /* Always a real circle: equal dimensions, never an auto/ellipse shape. */
    aspect-ratio: 1 / 1 !important;
    border-radius: 50% !important;
    width: var(--gsma-circle-size, 72px) !important;
    height: var(--gsma-circle-size, 72px) !important;
    min-width: var(--gsma-circle-size, 72px) !important;
    min-height: var(--gsma-circle-size, 72px) !important;
    max-width: none !important;
    max-height: none !important;
    padding: 0 !important;
    flex: 0 0 var(--gsma-circle-size, 72px) !important;
}
.gsma-dynamic-map-chart__circle strong {
    font-family: Inter, sans-serif !important;
    font-size: 30px !important;
    line-height: 25px !important;
    font-weight: 700 !important;
}
.gsma-dynamic-map-chart__line-chart {
    height: 1050px !important;
    min-height: 1050px !important;
}


/* v17.6 refinements */
.gsma-dynamic-map-chart {
    width: 100% !important;
    max-width: 1160px !important;
    margin: 0 auto !important;
    box-sizing: border-box;
}

/* Keep the 860px map and give the year/stat panel the remaining space. */
.gsma-dynamic-map-chart__top-row {
    grid-template-columns: minmax(0, 860px) minmax(0, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}

.gsma-dynamic-map-chart__stat-group {
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: center !important;
}

.gsma-dynamic-map-chart__circle--left,
.gsma-dynamic-map-chart__circle--right {
    justify-self: center !important;
}

.gsma-dynamic-map-chart__stat-arrow {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 !important;
}

/* Chart menu fills the full 860px content area; each visible tab shares it equally. */
.gsma-dynamic-map-chart__content-set-menu--chart {
    width: min(860px, 100%) !important;
    max-width: 860px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 10px !important;
}
.gsma-dynamic-map-chart__content-set-menu--chart .gsma-dynamic-map-chart__content-tab {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
}

.gsma-dynamic-map-chart__content-set-description {
    width: min(860px, 100%) !important;
    max-width: 860px !important;
    margin: 0 auto 30px !important;
    line-height: 1.5em !important;
    text-align: center !important;
}

/* The chart is intentionally 500px tall; no extra 60px-per-tick spacing. */
.gsma-dynamic-map-chart__line-chart {
    height: 500px !important;
    min-height: 500px !important;
}

/* 18.5% -> 19%, 6.1% -> 6%, 4.6% -> 5% in the year stat circles. */
.gsma-dynamic-map-chart__circle strong {
    font-family: Inter, sans-serif !important;
    font-size: 30px !important;
    line-height: 25px !important;
    font-weight: 700 !important;
}

@media (max-width: 900px) {
    .gsma-dynamic-map-chart {
        width: 100% !important;
        max-width: 100% !important;
    }
    .gsma-dynamic-map-chart__top-row {
        grid-template-columns: 1fr !important;
    }
    .gsma-dynamic-map-chart__content-set-menu--chart {
        flex-wrap: wrap !important;
    }
    .gsma-dynamic-map-chart__content-set-menu--chart .gsma-dynamic-map-chart__content-tab {
        width: auto !important;
        flex: 1 1 140px !important;
    }
}


/* v17.6 chart divider and spacing */
.gsma-dynamic-map-chart__chart-column::before {
    content: "";
    display: block;
    width: 100%;
    border-top: 3px solid #2cb5b5;
    box-sizing: border-box;
    margin: 0 0 30px;
}
.gsma-dynamic-map-chart__content-set-menu--chart {
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}


/* v17.8: chart uses the requested 840 x 500 coordinate space. Percentage ticks remain equally spaced. */
.gsma-dynamic-map-chart__chart-wrap {
    width: min(840px, 100%);
    max-width: 840px;
    margin: 0 auto;
}
.gsma-dynamic-map-chart__line-chart {
    width: 840px;
    max-width: 100%;
    height: 500px;
    min-height: 0 !important;
    max-height: none;
}
.gsma-dynamic-map-chart__line-chart text {
    font-size: 24px !important;
}
@media (max-width: 900px) {
    .gsma-dynamic-map-chart__chart-wrap { width: 100%; max-width: 100%; }
    .gsma-dynamic-map-chart__line-chart { width: 100%; height: auto; min-height: 0 !important; }
}

/* v17.8 editor import/export controls */
.gsma-dynamic-map-chart-editor__import-export {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}
.gsma-dynamic-map-chart-editor__import-export h4 {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 20px;
}
.gsma-dynamic-map-chart-editor__import-export-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.gsma-dynamic-map-chart-editor__import-export-note {
    margin: 0;
    color: #50575e;
    font-size: 12px;
    line-height: 18px;
}


/* v17.10 refinements */
.gsma-dynamic-map-chart__info,
.gsma-dynamic-map-chart__info::before { color:#dc002b !important; }
.gsma-dynamic-map-chart__content-tab,
.gsma-dynamic-map-chart__content-tab.is-active { border:0 !important; border-color:transparent !important; border-radius:0 !important; }
.gsma-dynamic-map-chart__line-chart text { font-size:16px !important; fill:#000 !important; }
.gsma-dynamic-map-chart__circle { aspect-ratio:1 / 1 !important; border-radius:50% !important; }

/* v17.11 refinements */
.gsma-dynamic-map-chart__content-tab,
.gsma-dynamic-map-chart__content-tab.is-active {
    font-size:16px !important;
    font-weight:400 !important;
    border:0 !important;
    border-radius:0 !important;
}
.gsma-dynamic-map-chart__content-tab.is-active {
    background:#787878 !important;
    color:#fff !important;
}
.gsma-dynamic-map-chart__content-tab:hover {
    background:#f2f2f2;
    color:#242529;
}
.gsma-dynamic-map-chart__content-set-description {
    line-height:1.5em;
    text-align:center;
    width:min(860px,100%);
    max-width:860px;
    margin:0 auto 30px;
}
.gsma-dynamic-map-chart__circle strong {
    font-size:150% !important;
}

/* Keep the chart description editor compact while retaining only bold, italic and link. */
.gsma-dynamic-map-chart-editor__chart-description-editor {
    margin:18px 0 8px;
    padding:12px;
    background:#fff;
    border:1px solid #8c8f94;
    border-radius:2px;
}
.gsma-dynamic-map-chart-editor__chart-description-editor > label {
    display:block;
    margin:0 0 8px;
    font-size:13px;
    font-weight:600;
    line-height:20px;
}
.gsma-dynamic-map-chart-editor__chart-description-editor .block-editor-rich-text__editable {
    min-height:72px;
    padding:8px 10px;
    border:0;
    outline:0;
    box-shadow:none;
    line-height:1.5;
}
.gsma-dynamic-map-chart-editor__chart-description-editor .block-editor-rich-text__editable:focus {
    border:0;
    outline:0;
    box-shadow:none;
}

/* v17.13 refinements */
.gsma-dynamic-map-chart__stat-arrow {
    width:44px !important;
    height:6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 auto !important;
}
.gsma-dynamic-map-chart__stat-arrow svg {
    width:22px !important;
    height:6px !important;
    display:block !important;
    margin:0 auto !important;
}


/* v17.14 refinements */
.gsma-dynamic-map-chart__panel-years {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    width: 100%;
    margin: 0 0 12px;
    color: #787878;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
}
.gsma-dynamic-map-chart__panel-years span:first-child {
    justify-self: center;
}
.gsma-dynamic-map-chart__panel-years span:last-child {
    justify-self: center;
}
.gsma-dynamic-map-chart-editor__region-setting {
    margin: 0 0 18px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #dcdcde;
}
.gsma-dynamic-map-chart-editor__region-setting .components-base-control {
    margin-bottom: 12px;
}
.gsma-dynamic-map-chart-editor__region-setting .components-toggle-control {
    margin-bottom: 0;
}


/* v17.16 refinements */
.gsma-dynamic-map-chart {
    width: 100%;
    max-width: 1160px;
    margin: 0 auto;
}
.gsma-dynamic-map-chart__top-row {
    grid-template-columns: minmax(0, 860px) minmax(0, 1fr);
}
.gsma-dynamic-map-chart__map {
    width: 860px;
    height: 460px;
    max-width: 100%;
    position: relative;
}
.gsma-dynamic-map-chart__map svg {
    width: 860px !important;
    height: 460px !important;
    max-width: 100%;
}
.gsma-dynamic-map-chart__bottom-row {
    grid-template-columns: 25% minmax(0, 75%);
    gap: 0;
}
.gsma-dynamic-map-chart__regions {
    width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}
.gsma-dynamic-map-chart__region {
    width: 260px;
    max-width: calc(100% - 40px);
    margin: 0 auto 10px;
    padding: 10px 20px;
    text-align: center;
    box-sizing: border-box;
}
.gsma-dynamic-map-chart__chart-column {
    width: 100%;
    min-width: 0;
    padding: 0;
}
.gsma-dynamic-map-chart__chart-wrap,
.gsma-dynamic-map-chart__line-chart {
    width: 840px;
    max-width: 100%;
}
.gsma-dynamic-map-chart__line-chart {
    height: 500px;
}
.gsma-dynamic-map-chart__content-set-description {
    margin-top: 30px !important;
    margin-bottom: 0 !important;
}
.gsma-dynamic-map-chart__map-tooltip {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-50%, -100%);
    z-index: 60;
    max-width: 260px;
    min-width: 120px;
    padding: 8px 10px;
    background: rgba(0,0,0,.8);
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    line-height: 19px;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
    box-sizing: border-box;
}
.gsma-dynamic-map-chart__map-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
}
.gsma-dynamic-map-chart__content-set-menu--chart {
    width: 840px;
    max-width: 100%;
}
.gsma-dynamic-map-chart__content-tab {
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}
@media (max-width: 900px) {
    .gsma-dynamic-map-chart {
        width: 100%;
        max-width: 100%;
        padding: 0 16px;
        box-sizing: border-box;
    }
    .gsma-dynamic-map-chart__top-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .gsma-dynamic-map-chart__map {
        width: 100%;
        height: auto;
        aspect-ratio: 860 / 460;
    }
    .gsma-dynamic-map-chart__map svg {
        width: 100% !important;
        height: auto !important;
        max-height: none;
    }
    .gsma-dynamic-map-chart__bottom-row {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .gsma-dynamic-map-chart__region {
        width: min(260px, calc(100% - 20px));
        max-width: calc(100% - 20px);
    }
    .gsma-dynamic-map-chart__chart-wrap,
    .gsma-dynamic-map-chart__line-chart,
    .gsma-dynamic-map-chart__content-set-menu--chart {
        width: 100%;
        max-width: 100%;
    }
    .gsma-dynamic-map-chart__line-chart {
        height: auto;
        aspect-ratio: 840 / 500;
    }
    .gsma-dynamic-map-chart__stat-group {
        grid-template-columns: minmax(70px, 1fr) 44px minmax(70px, 1fr);
    }
    .gsma-dynamic-map-chart__circle {
        transform: scale(.9);
    }
    .gsma-dynamic-map-chart__panel-years {
        font-size: 14px;
    }
    .gsma-dynamic-map-chart__region-title {
        font-size: 18px;
    }
    .gsma-dynamic-map-chart__content-set-menu {
        gap: 4px;
    }
    .gsma-dynamic-map-chart__content-tab {
        flex: 1 1 100%;
        min-width: 0;
    }
}


/* v17.17 alignment refinements */
.gsma-dynamic-map-chart__content-set-menu--chart,
.gsma-dynamic-map-chart__content-set-menu--top {
    width: 860px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.gsma-dynamic-map-chart__content-set-menu .gsma-dynamic-map-chart__content-tab {
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.gsma-dynamic-map-chart__content-set-description {
    width: 820px !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.gsma-dynamic-map-chart__chart-wrap {
    width: 840px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.gsma-dynamic-map-chart__line-chart {
    width: 840px !important;
    max-width: 100% !important;
}


/* v17.18 refinements */
.gsma-dynamic-map-chart__region {
    width: 260px;
    max-width: calc(100% - 0px);
    margin: 0 auto 10px;
    margin-left: 0;
    padding: 10px 20px;
    text-align: center;
    box-sizing: border-box;
}

.gsma-dynamic-map-chart__content-set-menu--chart,
.gsma-dynamic-map-chart__content-set-menu--top {
    width: 860px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 20px;
}

@media (max-width: 700px) {
    .gsma-dynamic-map-chart__line-chart {
        width: 280px !important;
        height: 400px !important;
        max-width: 100% !important;
    }
}

/* v17.23 mobile chart: keep the requested 280 x 400 display size while using
   a denser responsive SVG coordinate space so labels and plotting area remain readable. */
@media (max-width: 900px) {
    .gsma-dynamic-map-chart {
        padding-right: 0 !important;
    }

    .gsma-dynamic-map-chart__region {
        width: 100% !important;
        max-width: 100% !important;
    }

    .gsma-dynamic-map-chart__content-set-menu--chart {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .gsma-dynamic-map-chart__line-chart {
        width: 280px !important;
        height: 400px !important;
        max-width: 100% !important;
        display: block;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gsma-dynamic-map-chart__line-chart .gsma-chart-y-label {
        font-size: 30px !important;
    }

    .gsma-dynamic-map-chart__line-chart .gsma-chart-x-label {
        font-size: 28px !important;
        font-style: italic !important;
    }
}

/* v17.24 mobile line-chart visibility fix */
@media (max-width: 900px) {
    .gsma-dynamic-map-chart__line-chart {
        width: 280px !important;
        height: 400px !important;
        max-width: 100% !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
    }
    .gsma-dynamic-map-chart__line-chart path {
        vector-effect: non-scaling-stroke !important;
    }
}
