/* SecureVPN V9 — Heatmap table geometry & readable benchmark library.
   Table backgrounds continue to come from the measurement UI; no data/QC changes. */
body.heatmap-page #heatmap-scroll {
  width:100%!important;max-width:100%!important;min-width:0!important;
  overflow-x:auto!important;overflow-y:hidden!important;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  background:#fff!important;border:1px solid #d6e8e1!important;
  border-radius:14px!important;padding:10px!important;
}
body.heatmap-page #heatmap table#heatmap-table {
  display:table!important;border-collapse:separate!important;border-spacing:3px!important;
  table-layout:fixed!important;width:100%!important;min-width:985px!important;
  max-width:none!important;margin:0!important;
}
body.heatmap-page #heatmap table#heatmap-table thead {display:table-header-group!important}
body.heatmap-page #heatmap table#heatmap-table tbody {display:table-row-group!important}
body.heatmap-page #heatmap table#heatmap-table tr {display:table-row!important}
body.heatmap-page #heatmap table#heatmap-table th,
body.heatmap-page #heatmap table#heatmap-table td {box-sizing:border-box!important}
body.heatmap-page #heatmap table#heatmap-table th.destination-head,
body.heatmap-page #heatmap table#heatmap-table td.destination {
  display:table-cell!important;
  position:sticky!important;left:0!important;
  width:207px!important;min-width:207px!important;max-width:207px!important;
  vertical-align:middle!important;line-height:1.35!important;
  white-space:normal!important;overflow:visible!important;
  isolation:isolate;
}
body.heatmap-page #heatmap table#heatmap-table th.destination-head {
  z-index:12!important;background:#0c3341!important;
  color:#f0fff9!important;text-align:left!important;
  padding:12px 12px!important;
}
body.heatmap-page #heatmap table#heatmap-table th.destination-head span {display:block!important;color:#f0fff9!important;font-size:13px!important}
body.heatmap-page #heatmap table#heatmap-table th.destination-head small {display:block!important;margin-top:4px!important;color:#cbf3e3!important;font-size:11px!important}
body.heatmap-page #heatmap table#heatmap-table td.destination {
  z-index:11!important;background:#fff!important;color:#173f45!important;
  font-size:13px!important;padding:9px 10px!important;
  border:1px solid #d8e9e2!important;border-radius:8px!important;
  box-shadow:4px 0 7px rgba(7,42,40,.08)!important;
}
body.heatmap-page #heatmap table#heatmap-table td.destination a.destination-link-cell {
  display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;
  align-items:center!important;gap:7px!important;width:100%!important;
  min-width:0!important;max-width:100%!important;
  font-size:13px!important;line-height:1.4!important;
  color:#174a42!important;font-weight:700!important;
  white-space:normal!important;text-decoration:none!important;
}
body.heatmap-page #heatmap table#heatmap-table td.destination a.destination-link-cell .flag {
  font-size:19px!important;line-height:1.2!important;
}
body.heatmap-page #heatmap table#heatmap-table td.destination a.destination-link-cell small {
  color:#446876!important;font-size:11px!important;font-weight:650!important;
}
body.heatmap-page #heatmap table#heatmap-table td.destination a.destination-link-cell:focus-visible {
  outline:3px solid #25a87d!important;outline-offset:2px!important;
}
body.heatmap-page #heatmap table#heatmap-table th:not(.destination-head),
body.heatmap-page #heatmap table#heatmap-table td.hm-cell {
  display:table-cell!important;width:auto!important;min-width:82px!important;
  max-width:none!important;vertical-align:middle!important;
  text-align:center!important;line-height:1.5!important;
  font-size:13px!important;font-weight:750!important;
  white-space:nowrap!important;
}
body.heatmap-page #heatmap table#heatmap-table td.hm-cell {height:50px!important;padding:11px 4px!important}
body.heatmap-page #heatmap table#heatmap-table td.hm-cell.hm-poor {
  color:#151a20!important; /* #ff7543 orange is more legible with a near-black number */
}
body.heatmap-page #heatmap table#heatmap-table td.hm-cell:focus-visible {
  outline:3px solid #073e36!important;outline-offset:-3px!important;
}
body.heatmap-page #heatmap .heatmap-head p,
body.heatmap-page #heatmap .heatmap-head .last-updated small,
body.heatmap-page #heatmap .heatmap-head .last-updated b,
body.heatmap-page #heatmap .heatmap-mobile-scroll-note {
  color:#385c6a!important;font-size:13px!important;line-height:1.6!important;
}
body.heatmap-page #heatmap :is(.sidebar,.summary-card,.detail-card,.tip,.seo-copy) :is(p,small,li) {
  font-size:max(13px, .86rem)!important;line-height:1.6!important;
}
body.heatmap-page #heatmap :is(.sidebar,.summary-card,.detail-card,.tip,.seo-copy) :is(h2,h3,strong) {
  line-height:1.4!important;
}
@media(max-width:700px) {
  body.heatmap-page #heatmap-scroll{padding:6px!important}
  body.heatmap-page #heatmap table#heatmap-table{min-width:960px!important}
  body.heatmap-page #heatmap table#heatmap-table th.destination-head,
  body.heatmap-page #heatmap table#heatmap-table td.destination{
    min-width:184px!important;max-width:184px!important;width:184px!important;
  }
  body.heatmap-page #heatmap table#heatmap-table td.destination a.destination-link-cell{font-size:12.5px!important}
  body.heatmap-page #heatmap .heatmap-mobile-scroll-note{display:block!important;font-size:13px!important}
}
/* Only the benchmark index. This marker is applied to the static body during deploy. */
body.svpn-v9-bench #main-content{color:#143d3a!important}
body.svpn-v9-bench #main-content .svpn-v2-intro{margin-bottom:24px!important}
body.svpn-v9-bench #main-content .svpn-v2-intro h1,
body.svpn-v9-bench #main-content .svpn-v2-intro .svpn-v2-heading{color:#fff!important}
body.svpn-v9-bench #main-content .svpn-v2-intro p{color:#d9f5e9!important}
body.svpn-v9-bench #main-content .svpn-v9-bench-content{color:#214a48!important;font-size:15px!important;line-height:1.7!important}
body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(p,small,li){color:#446878!important;line-height:1.65!important}
body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(h2,h3){color:#123b37!important}
body.svpn-v9-bench #main-content .svpn-v9-bench-content a[href*="/benchmarks/"]:not([href$="/benchmarks/"]){
  display:block!important;padding:16px 17px!important;line-height:1.65!important;
  border:1px solid #cbe2d7!important;border-radius:14px!important;
  background:#fff!important;box-shadow:0 3px 12px rgba(9,57,46,.06)!important;
  font-size:14px!important;color:#174c42!important;text-decoration:none!important;
  overflow-wrap:anywhere;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content a[href*="/benchmarks/"]:not([href$="/benchmarks/"]) :is(span,strong,small,em){
  color:#255b50!important;opacity:1!important;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content a[href*="/benchmarks/"]:not([href$="/benchmarks/"]):hover{
  border-color:#48b18a!important;background:#f0faf5!important;box-shadow:0 6px 18px rgba(9,57,46,.09)!important;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content a[href*="/benchmarks/"]:not([href$="/benchmarks/"]):focus-visible{
  outline:3px solid #27b58a!important;outline-offset:2px!important;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(.bench-grid,.benchmark-grid,.benchmarks-grid,.bench-list,.benchmarks-list,.benchmark-list,.country-provider-grid,.benchmark-cards,.library-grid){
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))!important;gap:14px!important;align-items:stretch;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(ul,div,section):has(>a[href*="/benchmarks/"]:nth-of-type(3)),
body.svpn-v9-bench #main-content .svpn-v9-bench-content ul:has(>li:nth-child(3) a[href*="/benchmarks/"]){
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))!important;
  gap:14px!important;list-style:none!important;padding:0!important;
}
body.svpn-v9-bench #main-content .svpn-v9-bench-content li:has(>a[href*="/benchmarks/"]){list-style:none!important;min-width:0!important}
@media(max-width:680px){
  body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(.bench-grid,.benchmark-grid,.benchmarks-grid,.bench-list,.benchmarks-list,.benchmark-list,.country-provider-grid,.benchmark-cards,.library-grid){grid-template-columns:minmax(0,1fr)!important}
  body.svpn-v9-bench #main-content .svpn-v9-bench-content :is(ul,div,section):has(>a[href*="/benchmarks/"]:nth-of-type(3)),
  body.svpn-v9-bench #main-content .svpn-v9-bench-content ul:has(>li:nth-child(3) a[href*="/benchmarks/"]){grid-template-columns:minmax(0,1fr)!important}
}
/* Additional legibility fixes discovered in the saved Heatmap snapshot. */
body.heatmap-page #heatmap .page-title-row .metric-note {
  background:#e7f8f0!important;color:#155645!important;
  border:1px solid #a9d9c3!important;border-radius:999px!important;
  padding:8px 12px!important;font-size:13px!important;line-height:1.5!important;
  font-weight:700!important;white-space:normal!important;
}
body.heatmap-page #heatmap .page-title-row p {
  color:#385b6a!important;font-size:15px!important;line-height:1.7!important;
}
body.heatmap-page #heatmap .sidebar .help :is(p,small,li),
body.heatmap-page #heatmap #vpn-goal-card :is(p,small,li),
body.heatmap-page #heatmap .vpn-goal-card .vpn-goal-panel :is(p,small) {
  color:#355d6a!important;font-size:13px!important;line-height:1.65!important;
}
body.heatmap-page #heatmap .buyer-offer-cta,
body.heatmap-page #heatmap #geo-worker-recommendation :is(button,a) {
  color:#ffffff!important;background:#08765b!important;
  font-size:13px!important;font-weight:800!important;
  text-decoration:none!important;line-height:1.5!important;
}
body.heatmap-page #heatmap .buyer-offer-result .buyer-copy :is(span,small) {
  color:#375a6c!important;font-size:13px!important;line-height:1.6!important;
}
body.heatmap-page #heatmap .buyer-offer-result .buyer-copy :is(strong,b) {
  color:#123b51!important;font-size:14px!important;line-height:1.5!important;
}
body.heatmap-page #heatmap .geo-worker-recommendation :is(p,small) {
  color:#355d61!important;font-size:13px!important;line-height:1.65!important;
}
body.heatmap-page #heatmap .sidebar .help h2 {
  color:#173f54!important;font-size:16px!important;
}
