/* SecureVPN V16 / Unified editorial layout — scoped to Destinations V15 and Heatmap.
   The original Elementor shell owns brand header/footer. These rules only style tool content. */
:root{--v16-ink:#102f3d;--v16-muted:#426274;--v16-border:#cfdfda;--v16-emerald:#08785d;--v16-pale:#eef8f3;--v16-ice:#f5f9fb}
body.svpn-dest-v15,body.heatmap-page.svpn-v2{background:#f3f8f7;color:var(--v16-ink)}
body.svpn-dest-v15 .svpn-v2-main,body.heatmap-page.svpn-v2 .svpn-v2-main{min-width:0!important;max-width:100%!important}
body.svpn-dest-v15 .svpn-v2-content{max-width:1200px!important;width:100%!important;box-sizing:border-box!important;margin:0 auto!important;padding:26px clamp(16px,2.3vw,32px) 56px!important}
body.svpn-dest-v15 .destination-shell{display:grid!important;gap:20px!important;padding:0!important;width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;align-items:start!important;color:var(--v16-ink)!important}
body.svpn-dest-v15 .destination-breadcrumb{font-size:13px!important;color:#416d68!important;gap:9px!important}
body.svpn-dest-v15 .destination-breadcrumb a{color:#096953!important;text-decoration:none}
body.svpn-dest-v15 .destination-breadcrumb a:hover{text-decoration:underline}
/* The V15 white-on-white failure: use an explicit background AND text palette with specificity. */
body.svpn-dest-v15 .destination-shell > section.destination-hero.card{
 background:linear-gradient(118deg,#091f32 0%,#0d3b40 52%,#086249 100%)!important;
 background-color:#102e35!important;
 border:1px solid #277960!important;border-radius:22px!important;
 box-shadow:0 18px 36px rgba(7,43,46,.15)!important;
 padding:clamp(24px,3vw,40px)!important;min-height:0!important;
 color:#f5fffb!important;display:flex!important;gap:22px!important;
 align-items:flex-start!important;justify-content:space-between!important;
}
body.svpn-dest-v15 .destination-hero :is(h1,h2,.destination-route-title,.hero-route-suffix,.hero-primary-location),
body.svpn-dest-v15 .destination-hero :is(h1,h2,.destination-route-title,.hero-route-suffix,.hero-primary-location) *{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
body.svpn-dest-v15 .destination-hero h1{font-size:clamp(30px,3.4vw,46px)!important;font-weight:800!important;line-height:1.13!important;letter-spacing:-.035em!important;margin:12px 0 14px!important;max-width:860px}
body.svpn-dest-v15 .destination-hero .hero-route-suffix{font-size:.65em!important;line-height:1.28!important;opacity:.96!important;margin-top:10px!important}
body.svpn-dest-v15 .destination-hero p:not(.eyebrow){color:#e2f7ef!important;-webkit-text-fill-color:#e2f7ef!important;opacity:1!important;font-size:16px!important;line-height:1.75!important;max-width:820px!important;margin-bottom:0!important}
body.svpn-dest-v15 .destination-hero .eyebrow,body.svpn-dest-v15 .destination-hero .hero-source-label{color:#9ff3c9!important;-webkit-text-fill-color:#9ff3c9!important;font-size:12px!important;letter-spacing:.11em!important;font-weight:800!important}
body.svpn-dest-v15 .destination-hero .hero-source-context,body.svpn-dest-v15 .destination-hero .hero-context-pill{border:1px solid #61968d!important;background:rgba(255,255,255,.11)!important;color:#eafdf7!important}
body.svpn-dest-v15 .destination-hero .back-link{flex-shrink:0!important;display:inline-flex!important;align-items:center;justify-content:center;padding:10px 14px!important;border:1px solid #79d4ba!important;border-radius:10px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:rgba(2,36,40,.42)!important;text-decoration:none!important;font-size:14px!important;font-weight:700!important}
body.svpn-dest-v15 .destination-hero .back-link:hover{background:#075e4b!important}
body.svpn-dest-v15 .destination-shell > section.card:not(.destination-hero),
body.svpn-dest-v15 .destination-shell > .seo-copy.card{
 background:#fff!important;color:#143747!important;border:1px solid var(--v16-border)!important;
 border-radius:18px!important;box-shadow:0 5px 18px rgba(17,56,70,.04)!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
body.svpn-dest-v15 .destination-shell .card :is(h2,h3),body.svpn-dest-v15 .destination-shell .table-heading h2{color:#10384a!important;-webkit-text-fill-color:#10384a!important;font-size:clamp(21px,2vw,29px)!important;line-height:1.28!important;letter-spacing:-.02em!important}
body.svpn-dest-v15 .destination-shell .card :is(p,li,small,.muted-cell,.seo-static-note){color:var(--v16-muted)!important;-webkit-text-fill-color:var(--v16-muted)!important;line-height:1.65!important;opacity:1!important}
body.svpn-dest-v15 .destination-shell .card .eyebrow{color:#077c62!important;-webkit-text-fill-color:#077c62!important;font-size:12px!important;letter-spacing:.09em!important;font-weight:800!important}
body.svpn-dest-v15 .destination-shell .card a{color:#086a57!important;-webkit-text-fill-color:#086a57!important;font-weight:700!important}
body.svpn-dest-v15 .destination-shell .card a:hover{text-decoration:underline!important}
body.svpn-dest-v15 .destination-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important;gap:15px!important;padding:22px!important}
body.svpn-dest-v15 .destination-filters > div{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important}
body.svpn-dest-v15 .destination-filters label{font-size:13px!important;color:#234c5e!important;font-weight:750!important;margin:0!important}
body.svpn-dest-v15 .destination-filters select{width:100%!important;max-width:100%!important;min-width:0!important;min-height:47px!important;color:#153948!important;background:#f7fbf9!important;border:1px solid #b8d3c9!important;border-radius:10px!important;padding:8px 11px!important;font-size:14px!important;box-shadow:none!important}
body.svpn-dest-v15 .destination-filters #dest-update{grid-column:1/-1;justify-self:start!important;background:#057b5b!important;border:1px solid #057b5b!important;border-radius:10px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:11px 20px!important;font-weight:800!important;font-size:14px!important;min-height:44px!important;cursor:pointer!important}
body.svpn-dest-v15 .destination-filters #dest-update:hover{background:#065e4a!important}
body.svpn-dest-v15 .destination-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;min-width:0!important}
body.svpn-dest-v15 .destination-stats > .stat{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:8px!important;padding:20px!important;min-width:0!important;min-height:122px!important;border:1px solid var(--v16-border)!important;border-radius:16px!important;background:#fff!important;box-sizing:border-box!important;box-shadow:0 4px 18px rgba(8,52,50,.045)!important}
body.svpn-dest-v15 .destination-stats .stat small{color:#3d6674!important;font-size:13px!important;font-weight:700!important}
body.svpn-dest-v15 .destination-stats .stat strong{display:block!important;font-size:clamp(22px,2.4vw,32px)!important;color:#093c43!important;-webkit-text-fill-color:#093c43!important;line-height:1.1!important;overflow-wrap:anywhere!important}
body.svpn-dest-v15 .destination-note{display:flex!important;flex-wrap:wrap!important;gap:14px!important;padding:20px!important}
body.svpn-dest-v15 .result-highlight{min-width:min(280px,100%)!important;flex:1 1 300px!important;background:#f0faf6!important;border:1px solid #c8e4d7!important;border-radius:12px!important;padding:15px!important}
body.svpn-dest-v15 .result-highlight :is(span,b,strong){color:#123f45!important;-webkit-text-fill-color:#123f45!important}
body.svpn-dest-v15 .destination-note .quality-note{width:100%!important;color:#557081!important}
body.svpn-dest-v15 :is(.destination-table-card,.protocol-compare-card,.seo-static-data,.country-insights,.country-analysis,.related-country-card,.seo-copy){padding:clamp(17px,2.2vw,27px)!important}
body.svpn-dest-v15 .table-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:18px!important}
body.svpn-dest-v15 .table-heading .qc-pill{display:inline-flex!important;background:#e7f7ee!important;color:#086d52!important;-webkit-text-fill-color:#086d52!important;border:1px solid #9bd8be!important;border-radius:100px!important;font-size:12px!important;padding:7px 12px!important}
/* Table semantics win over older mobile "card row" conversions (114,000 px tall on /united-states/). */
body.svpn-dest-v15 .destination-shell :is(.destination-table-scroll,.seo-static-table-wrap){display:block!important;max-width:100%!important;min-width:0!important;width:100%!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;border:1px solid #d4e4de!important;border-radius:12px!important;background:#fff!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table){display:table!important;width:100%!important;min-width:900px!important;max-width:none!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important;margin:0!important;font-size:14px!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) thead{display:table-header-group!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) tbody{display:table-row-group!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) tr{display:table-row!important;height:auto!important;position:static!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) :is(th,td){display:table-cell!important;float:none!important;position:static!important;width:auto!important;max-width:none!important;min-width:0!important;height:auto!important;padding:13px 14px!important;vertical-align:middle!important;text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.45!important;border-bottom:1px solid #e1eae7!important;box-sizing:border-box!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) th{background:#113c46!important;color:#f4fffc!important;-webkit-text-fill-color:#f4fffc!important;font-size:12px!important;text-transform:none!important;font-weight:750!important;white-space:nowrap!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) td{background:#fff!important;color:#24485a!important;-webkit-text-fill-color:#24485a!important;font-size:13.5px!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) tbody tr:nth-child(even) td{background:#f5faf8!important}
body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table) td a{color:#08755b!important;-webkit-text-fill-color:#08755b!important}
body.svpn-dest-v15 .destination-shell .provider-location-meta,body.svpn-dest-v15 .destination-shell .node-label{color:#476577!important;font-size:12px!important}
body.svpn-dest-v15 :is(.seo-static-kpis,.seo-findings-grid,.related-destinations){gap:12px!important}
body.svpn-dest-v15 .seo-static-kpis > div,body.svpn-dest-v15 .seo-finding,body.svpn-dest-v15 .related-destination{background:#f2faf5!important;border:1px solid #cae1d5!important;border-radius:12px!important;color:#183e4d!important}
body.svpn-dest-v15 .seo-static-kpis strong{color:#12433f!important;-webkit-text-fill-color:#12433f!important}
body.svpn-dest-v15 .destination-shell :is(a,button,select):focus-visible{outline:3px solid #36bf8a!important;outline-offset:3px!important}
/* Heatmap: maintain the original time-bin colors. Improve surrounding content and details only. */
body.heatmap-page.svpn-v2 #heatmap :is(.card,.sidebar,.tip){border-radius:17px!important;min-width:0!important;max-width:100%!important}
body.heatmap-page.svpn-v2 #heatmap .dashboard{min-width:0!important;max-width:100%!important}
body.heatmap-page.svpn-v2 #heatmap :is(.heatmap-card,.summary-card,.detail-card,.vpn-goal-card){background:#fff!important;border:1px solid #cbded5!important;box-shadow:0 6px 25px rgba(22,63,66,.055)!important;color:#17394a!important}
body.heatmap-page.svpn-v2 #heatmap .card :is(h2,h3){color:#123e49!important;-webkit-text-fill-color:#123e49!important;line-height:1.3!important}
body.heatmap-page.svpn-v2 #heatmap :is(.detail-card,.summary-card,.sidebar,.heatmap-card) :is(p,small,dt,li){color:#456877!important;-webkit-text-fill-color:#456877!important;opacity:1!important}
body.heatmap-page.svpn-v2 #heatmap .detail-card dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:14px!important}
body.heatmap-page.svpn-v2 #heatmap .detail-card dl>div{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;width:auto!important;background:#f1f9f5!important;border:1px solid #c9dfd5!important;border-radius:12px!important;padding:13px!important;overflow-wrap:anywhere!important}
body.heatmap-page.svpn-v2 #heatmap .detail-card dl>div :is(dd,strong){color:#153f4a!important;-webkit-text-fill-color:#153f4a!important;font-weight:750!important;font-size:14px!important;overflow-wrap:anywhere!important;max-width:100%!important}
body.heatmap-page.svpn-v2 #heatmap #heatmap-scroll{overflow-x:auto!important;max-width:100%!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;border-radius:12px!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table{display:table!important;min-width:985px!important;table-layout:fixed!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table tbody{display:table-row-group!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table tr{display:table-row!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table :is(th,td){display:table-cell!important;vertical-align:middle!important;box-sizing:border-box!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table td.destination{min-width:180px!important;width:180px!important;background:#eaf6f0!important;border:1px solid #cee4d8!important;color:#133e43!important;position:sticky!important;left:0!important;z-index:3!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table th.destination-head{position:sticky!important;left:0!important;z-index:5!important;background:#123e42!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table td.destination a{color:#0b5148!important;-webkit-text-fill-color:#0b5148!important;font-size:13px!important;line-height:1.35!important}
body.heatmap-page.svpn-v2 #heatmap table#heatmap-table td.hm-cell{min-width:82px!important;height:50px!important;position:relative!important;z-index:1!important}
body.heatmap-page.svpn-v2 #heatmap .legend,body.heatmap-page.svpn-v2 #heatmap .heatmap-legend{color:#244e58!important;font-size:13px!important}
body.heatmap-page.svpn-v2 #heatmap :is(button,select,a):focus-visible{outline:3px solid #32b788!important;outline-offset:2px!important}
@media(max-width:900px){
 body.svpn-dest-v15 .destination-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.svpn-dest-v15 .destination-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
 body.svpn-dest-v15 .svpn-v2-content{padding:16px 14px 45px!important}
 body.svpn-dest-v15 .destination-shell{gap:15px!important}
 body.svpn-dest-v15 .destination-shell > section.destination-hero.card{display:flex!important;flex-direction:column!important;padding:23px 21px!important;border-radius:17px!important;gap:17px!important}
 body.svpn-dest-v15 .destination-hero h1{font-size:clamp(28px,8vw,36px)!important}
 body.svpn-dest-v15 .destination-hero p:not(.eyebrow){font-size:15px!important;line-height:1.62!important}
 body.svpn-dest-v15 .destination-hero .back-link{align-self:flex-start!important}
 body.svpn-dest-v15 .destination-filters{grid-template-columns:1fr!important;gap:12px!important;padding:19px!important}
 body.svpn-dest-v15 .destination-filters #dest-update{width:100%!important;justify-self:stretch!important}
 body.svpn-dest-v15 .destination-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.svpn-dest-v15 .destination-stats>.stat{min-height:108px!important;padding:13px!important}
 body.svpn-dest-v15 .destination-stats .stat strong{font-size:22px!important}
 body.svpn-dest-v15 .destination-shell :is(.destination-table-scroll,.seo-static-table-wrap){margin-left:0!important;margin-right:0!important}
 body.svpn-dest-v15 .destination-shell :is(table.destination-table,table.seo-static-table){min-width:860px!important}
 body.svpn-dest-v15 .destination-table-card .table-heading{display:block!important}
 body.heatmap-page.svpn-v2 #heatmap .detail-card dl{grid-template-columns:1fr!important}
 body.heatmap-page.svpn-v2 #heatmap .detail-card dl>div{min-height:0!important}
 body.heatmap-page.svpn-v2 #heatmap table#heatmap-table td.destination{width:155px!important;min-width:155px!important}
 body.heatmap-page.svpn-v2 #heatmap table#heatmap-table th.destination-head{width:155px!important;min-width:155px!important}
}
/* Wins even over the old general `.card p` declarations. */
body.svpn-dest-v15 .destination-shell > section.destination-hero.card :is(p,p:not(.eyebrow),small){color:#d9f3ea!important;-webkit-text-fill-color:#d9f3ea!important;opacity:1!important}
body.svpn-dest-v15 .destination-shell > section.destination-hero.card .eyebrow,
body.svpn-dest-v15 .destination-shell > section.destination-hero.card .hero-source-label{color:#7ff0c1!important;-webkit-text-fill-color:#7ff0c1!important;opacity:1!important}
body.svpn-dest-v15 .destination-shell > #destination-published-snapshot{background:#fff!important;border:1px solid #cbded5!important;padding:clamp(17px,2.2vw,27px)!important;border-radius:18px!important;min-width:0!important}
/* Keep long data tables usable instead of turning 180 city records into >100,000px of cards. */
body.svpn-dest-v15 .destination-shell :is(.destination-table-scroll,.seo-static-table-wrap){max-height:720px!important;overflow:auto!important;position:relative!important}
body.svpn-dest-v15 .destination-shell :is(.destination-table-scroll,.seo-static-table-wrap) thead th{position:sticky!important;top:0!important;z-index:2!important}
body.svpn-dest-v15 .destination-shell .destination-table-card{min-height:0!important}
/* Original Elementor navigation preserved; scrolls on small devices instead of clipping links. */
@media(max-width:760px){
body.svpn-dest-v15 .spv-header .spv-menu,
body.heatmap-page.svpn-v2 .spv-header .spv-menu{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100vw!important;width:100%!important;min-width:0!important;scrollbar-width:thin!important;scroll-snap-type:x proximity!important;padding-bottom:6px!important}
body.svpn-dest-v15 .spv-header .spv-menu>.spv-nav-link,
body.heatmap-page.svpn-v2 .spv-header .spv-menu>.spv-nav-link{flex:0 0 auto!important;scroll-snap-align:start!important}
body.svpn-dest-v15 .spv-header .spv-header-inner,
body.heatmap-page.svpn-v2 .spv-header .spv-header-inner{max-width:100vw!important;min-width:0!important}
}
/* Older 2026 mobile card-table rules carry ID-specific styling. Override by ID to
   restore accessible table headers and remove duplicate generated column labels. */
body.svpn-dest-v15 .destination-shell #city-detail-table,
body.svpn-dest-v15 .destination-shell .protocol-compare-table{min-width:1480px!important;max-width:none!important;width:100%!important;table-layout:auto!important}
body.svpn-dest-v15 .destination-shell #city-detail-table thead th,
body.svpn-dest-v15 .destination-shell .destination-table thead th,
body.svpn-dest-v15 .destination-shell .seo-static-table thead th{background:#123e46!important;background-color:#123e46!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important}
body.svpn-dest-v15 .destination-shell :is(.destination-table,.seo-static-table) tbody td::before{display:none!important;content:none!important}
body.svpn-dest-v15 .destination-shell #city-detail-table tbody tr,
body.svpn-dest-v15 .destination-shell #city-detail-table tbody td{max-height:none!important;min-height:0!important}
