/* GO27 Eleições 2026: recorte internacional do segundo turno */
.go27-election-studio .go27-studio-exterior-view{display:none;min-width:0;padding:26px clamp(16px,2.5vw,34px);background:#fff}
.go27-election-studio.is-exterior .go27-studio-exterior-view{display:block;grid-column:2/4}
.go27-election-studio.is-exterior .go27-studio-map-column,
.go27-election-studio.is-exterior .go27-studio-results-column,
.go27-election-studio.is-exterior .go27-studio-rail-heading-states,
.go27-election-studio.is-exterior .go27-runoff-selector{display:none!important}
.go27-election-studio .go27-exterior-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.go27-election-studio .go27-exterior-header h3{font-size:clamp(23px,2.5vw,30px);font-weight:900;color:var(--go27-election-navy);margin:8px 0 8px;letter-spacing:-.035em}
.go27-election-studio .go27-exterior-header p{font-size:13px;line-height:1.6;color:#526b80;max-width:700px;margin:0}
.go27-election-studio .go27-exterior-status{border-radius:30px;background:#edf4fa;color:#184264;font-weight:750;font-size:11px;padding:9px 12px;white-space:nowrap}
.go27-election-studio .go27-exterior-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}
.go27-election-studio .go27-exterior-stat{border:1px solid #dae3eb;border-top:3px solid var(--go27-election-red);background:#f8fafc;border-radius:10px;min-height:116px;padding:15px;display:flex;flex-direction:column;gap:6px}
.go27-election-studio .go27-exterior-stat small{font-size:10px;font-weight:850;letter-spacing:.06em;color:#557187}
.go27-election-studio .go27-exterior-stat strong{font-size:clamp(21px,2.4vw,31px);line-height:1.2;color:var(--go27-election-navy);font-weight:900;font-variant-numeric:tabular-nums}
.go27-election-studio .go27-exterior-stat span{font-size:11px;color:#617b90}
.go27-election-studio .go27-exterior-national{margin:0 0 27px}
.go27-election-studio .go27-exterior-section-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:13px;border-bottom:1px solid #dce5ed;padding-bottom:12px}
.go27-election-studio .go27-exterior-section-title h4{font-size:clamp(17px,1.7vw,21px);line-height:1.3;font-weight:900;color:var(--go27-election-navy);margin:0}
.go27-election-studio .go27-exterior-section-title>span{font-size:11px;color:#6a8193}
.go27-election-studio .go27-exterior-results{display:grid;gap:12px}
.go27-election-studio .go27-exterior-empty{padding:18px;border:1px dashed #c7d5e1;border-radius:9px;background:#f6f9fc;font-size:13px;color:#526e82;line-height:1.55;margin:0}
.go27-election-studio .go27-exterior-candidate{padding:14px 15px;border-radius:10px;border:1px solid #dce5ed;background:#fff}
.go27-election-studio .go27-exterior-candidate-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 15px;margin-bottom:11px}
.go27-election-studio .go27-exterior-candidate-identity{display:flex;flex-direction:column;gap:5px;min-width:0}
.go27-election-studio .go27-exterior-candidate-identity strong{font-size:14px;color:var(--go27-election-navy);font-weight:850}
.go27-election-studio .go27-exterior-candidate-identity span{font-size:11px;color:#5e7184}
.go27-election-studio .go27-exterior-candidate-votes{font-size:12px;color:#546e83;white-space:nowrap}
.go27-election-studio .go27-exterior-candidate-percent{font-size:16px;font-weight:900;color:var(--go27-election-navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.go27-election-studio .go27-exterior-progress{height:8px;border-radius:9px;background:#e3eaf0;overflow:hidden}
.go27-election-studio .go27-exterior-progress-fill{display:block;height:100%;border-radius:9px;background:var(--go27-election-navy);transition:width .2s ease}
.go27-election-studio .go27-exterior-countries{padding:20px;border-radius:12px;background:#f6f9fc;border:1px solid #dce5ed}
.go27-election-studio .go27-exterior-hint{margin:0 0 16px;font-size:12px;line-height:1.6;color:#526b80}
.go27-election-studio .go27-exterior-country-label{display:block;color:var(--go27-election-navy);font-weight:800;font-size:12px;margin-bottom:6px}
.go27-election-studio .go27-exterior-countries select{width:100%;min-height:46px;padding:10px 13px;border-radius:8px;border:1px solid #b8cddd;background:#fff;color:var(--go27-election-navy);font-size:14px;font-weight:700;box-sizing:border-box}
.go27-election-studio .go27-exterior-countries select:focus-visible{outline:2px solid var(--go27-election-red);outline-offset:2px}
.go27-election-studio .go27-exterior-country-status{margin:15px 0;font-size:12px;font-weight:600;color:#43657e;line-height:1.6}
.go27-election-studio .go27-exterior-localities{margin-top:17px}
.go27-election-studio .go27-exterior-localities-heading{display:block;font-size:12px;color:#3b5f7d;margin-bottom:10px}
.go27-election-studio .go27-exterior-locality-tags{display:flex;flex-wrap:wrap;gap:7px}
.go27-election-studio .go27-exterior-locality-tags span{padding:6px 10px;font-size:11px;color:#36536e;background:#fff;border:1px solid #dce5ed;border-radius:30px}
.go27-election-studio .go27-exterior-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px;margin-top:26px;padding-top:16px;border-top:1px solid #e1e8ef;color:#5c7387;font-size:11px;line-height:1.6}
.go27-election-studio .go27-exterior-footer a{color:#a92818;font-weight:800}
@media(max-width:960px){
 .go27-election-studio.is-exterior .go27-studio-exterior-view{grid-column:2}
 .go27-election-studio .go27-exterior-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .go27-election-studio .go27-exterior-stat:last-child{grid-column:1/-1}
}
@media(max-width:700px){
 .go27-election-studio.is-exterior .go27-studio-exterior-view{grid-column:1;padding:21px 15px}
 .go27-election-studio .go27-runoff-office-nav button[data-runoff-office="exterior"]{grid-column:1/-1}
 .go27-election-studio .go27-exterior-header{display:block}
 .go27-election-studio .go27-exterior-status{display:inline-block;margin-top:12px;white-space:normal}
 .go27-election-studio .go27-exterior-stats{grid-template-columns:1fr 1fr;gap:8px}
 .go27-election-studio .go27-exterior-stat{padding:11px;min-height:105px}
 .go27-election-studio .go27-exterior-stat strong{font-size:23px}
 .go27-election-studio .go27-exterior-countries{padding:14px}
 .go27-election-studio .go27-exterior-candidate-header{grid-template-columns:minmax(0,1fr) auto;gap:6px}
 .go27-election-studio .go27-exterior-candidate-votes{grid-column:1;grid-row:2}
 .go27-election-studio .go27-exterior-candidate-percent{grid-column:2;grid-row:2;justify-self:end}
}
@media(prefers-reduced-motion:reduce){.go27-election-studio .go27-exterior-progress-fill{transition:none}}

/* Mobile width containment for the international election panel. */
@media (max-width:700px) {
 .go27-election-studio.is-exterior .go27-studio-container,
 .go27-election-studio.is-exterior .go27-studio-panel,
 .go27-election-studio.is-exterior .go27-studio-heading,
 .go27-election-studio.is-exterior .go27-studio-grid,
 .go27-election-studio.is-exterior .go27-studio-exterior-view,
 .go27-election-studio.is-exterior .go27-exterior-header,
 .go27-election-studio.is-exterior .go27-exterior-countries {
   box-sizing:border-box;min-width:0;max-width:100%;
 }
 .go27-election-studio.is-exterior .go27-studio-grid{grid-template-columns:minmax(0,1fr)}
 .go27-election-studio.is-exterior .go27-studio-exterior-view{
   grid-column:1;display:block;width:100%;overflow:hidden;
 }
 .go27-election-studio.is-exterior .go27-studio-heading-copy,
 .go27-election-studio.is-exterior .go27-studio-heading h2,
 .go27-election-studio.is-exterior .go27-studio-heading .go27-runoff-lead{
   min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:break-word;
 }
 .go27-election-studio.is-exterior .go27-studio-heading h2{
   font-size:clamp(23px,5.9vw,27px);line-height:1.2;
 }
 .go27-election-studio.is-exterior .go27-exterior-stats{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}
 .go27-election-studio.is-exterior .go27-exterior-stat:last-child{grid-column:auto}
 .go27-election-studio.is-exterior .go27-exterior-stat{min-width:0}
 .go27-election-studio.is-exterior .go27-exterior-countries select{min-width:0;max-width:100%}
}

/* GO27 exterior: accessible AJAX country search and presidential candidate cards. */
.go27-election-studio .go27-exterior-search-wrap{
 position:relative;max-width:100%;min-width:0;margin-bottom:12px;
}
.go27-election-studio .go27-exterior-search-wrap input[type="search"]{
 display:block;width:100%;max-width:100%;box-sizing:border-box;
 min-height:48px;padding:11px 14px;border-radius:9px;
 font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;
 color:var(--go27-election-navy);background:#fff;
 border:1px solid #b8cddd;-webkit-appearance:none;appearance:none;
}
.go27-election-studio .go27-exterior-search-wrap input:focus-visible{
 outline:2px solid var(--go27-election-red);outline-offset:2px;border-color:#c24a35;
}
.go27-election-studio .go27-exterior-suggestions{
 position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;
 max-height:296px;overflow-y:auto;overscroll-behavior:contain;
 padding:5px;background:#fff;border-radius:10px;
 border:1px solid #c4d4e2;box-shadow:0 12px 30px rgba(16,42,67,.18);
}
.go27-election-studio .go27-exterior-suggestions[hidden]{display:none!important}
.go27-election-studio .go27-exterior-suggestion{
 display:block;width:100%;box-sizing:border-box;min-height:44px;
 margin:0;border:0;border-radius:7px;padding:11px 12px;
 background:#fff;color:#18364e;text-align:left;
 font:inherit;font-size:14px;font-weight:650;cursor:pointer;
}
.go27-election-studio .go27-exterior-suggestion:hover,
.go27-election-studio .go27-exterior-suggestion:focus-visible{
 color:#102a43;background:#eaf1f8;outline:2px solid transparent;
}
.go27-election-studio .go27-exterior-no-matches{
 font-size:13px;color:#65798b;padding:12px;margin:0;
}
.go27-election-studio .go27-exterior-country-secondary{
 margin-top:7px;font-size:11px;color:#56728a;
}
.go27-election-studio .go27-exterior-ajax-hint{
 color:#59758b;font-size:11px;line-height:1.5;margin:7px 0 0;
}
.go27-election-studio .go27-exterior-candidate{
 border:1px solid #d6e2ec;border-radius:12px;
 padding:16px;background:#fff;min-width:0;overflow:hidden;
}
.go27-election-studio .go27-exterior-candidate-header{
 display:grid;grid-template-columns:70px minmax(0,1fr) auto;
 gap:14px;align-items:center;margin-bottom:13px;min-width:0;
}
.go27-election-studio .go27-exterior-candidate-photo{
 width:70px;height:76px;min-width:0;border-radius:10px;overflow:hidden;
 display:flex;align-items:center;justify-content:center;
 background:#edf3f8;border:1px solid #d9e3ec;box-sizing:border-box;
}
.go27-election-studio .go27-exterior-candidate-photo img{
 display:block;width:100%;height:100%;object-fit:cover;
}
.go27-election-studio .go27-exterior-candidate-photo span{
 color:#657d90;font-size:10px;text-align:center;padding:6px;line-height:1.3;
}
.go27-election-studio .go27-exterior-candidate-identity{
 display:flex;flex-direction:column;gap:6px;min-width:0;
}
.go27-election-studio .go27-exterior-candidate-identity strong{
 color:var(--go27-election-navy);font-size:clamp(14px,1.35vw,18px);
 font-weight:850;line-height:1.25;overflow-wrap:anywhere;
}
.go27-election-studio .go27-exterior-candidate-identity span{
 font-size:12px;color:#526c82;line-height:1.3;
}
.go27-election-studio .go27-exterior-candidate-data{
 display:flex;flex-direction:column;gap:5px;align-items:flex-end;text-align:right;
}
.go27-election-studio .go27-exterior-candidate-votes{
 font-size:12px;line-height:1.3;color:#597288;
 white-space:normal;
}
.go27-election-studio .go27-exterior-candidate-percent{
 font-size:clamp(20px,2vw,26px);font-weight:900;line-height:1.05;
 color:var(--go27-election-navy);font-variant-numeric:tabular-nums;
}
.go27-election-studio .go27-exterior-progress{
 width:100%;height:10px;border-radius:12px;
 background:#e4eaf0;overflow:hidden;
}
.go27-election-studio .go27-exterior-progress-fill{
 display:block;height:100%;background:#295d94;border-radius:12px;
 transition:width .2s ease;
}
.go27-election-studio .go27-exterior-profile-link{
 display:inline-block;padding:8px 0 0;color:#235b8d;
 font-size:12px;font-weight:800;text-decoration:none;
}
.go27-election-studio .go27-exterior-profile-link:hover{text-decoration:underline}
.go27-election-studio .go27-exterior-profile-link:focus-visible{
 outline:2px solid var(--go27-election-red);outline-offset:2px;
}
@media(max-width:700px){
 .go27-election-studio .go27-exterior-candidate{padding:12px}
 .go27-election-studio .go27-exterior-candidate-header{
  grid-template-columns:60px minmax(0,1fr) auto;gap:8px;margin-bottom:12px;
 }
 .go27-election-studio .go27-exterior-candidate-photo{width:60px;height:67px}
 .go27-election-studio .go27-exterior-candidate-identity strong{font-size:14px}
 .go27-election-studio .go27-exterior-candidate-identity span{font-size:11px}
 .go27-election-studio .go27-exterior-candidate-data{max-width:100px}
 .go27-election-studio .go27-exterior-candidate-votes{font-size:10px}
 .go27-election-studio .go27-exterior-candidate-percent{font-size:19px}
}
@media(max-width:360px){
 .go27-election-studio .go27-exterior-candidate-header{
  grid-template-columns:58px minmax(0,1fr);gap:9px;
 }
 .go27-election-studio .go27-exterior-candidate-photo{width:58px;height:62px}
 .go27-election-studio .go27-exterior-candidate-data{
  grid-column:2;display:flex;flex-direction:row;justify-content:space-between;
  align-items:center;max-width:none;width:100%;text-align:left;
 }
}
@media(prefers-reduced-motion:reduce){
 .go27-election-studio .go27-exterior-progress-fill{transition:none}
}

/* Country selection unified for Android: no native SELECT or duplicate controls. */
.go27-election-studio .go27-exterior-search-wrap{
 position:relative;
 max-width:100%;
 margin-bottom:12px;
}
.go27-election-studio .go27-exterior-search-wrap input[type=search]{
 padding-right:56px;
 touch-action:manipulation;
}
.go27-election-studio .go27-exterior-dropdown-toggle{
 position:absolute;
 z-index:2;
 right:4px;
 top:4px;
 width:44px;
 height:40px;
 border:0;
 border-left:1px solid #d8e3ed;
 border-radius:0 7px 7px 0;
 background:#fff;
 color:#102a43;
 font-size:17px;
 display:flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
 touch-action:manipulation;
 -webkit-tap-highlight-color:transparent;
}
.go27-election-studio .go27-exterior-dropdown-toggle:focus-visible{
 outline:2px solid var(--go27-election-red);
 outline-offset:1px;
}
.go27-election-studio .go27-exterior-dropdown-toggle[aria-expanded=true] i{
 transform:rotate(180deg);
}
.go27-election-studio .go27-exterior-suggestions{
 position:relative;
 z-index:3;
 top:auto;
 right:auto;
 left:auto;
 margin-top:8px;
 max-height:320px;
 max-height:min(42dvh,320px);
 overflow-y:auto;
 overflow-x:hidden;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 touch-action:pan-y;
 box-shadow:0 4px 16px rgba(16,42,67,.08);
}
.go27-election-studio .go27-exterior-suggestion{
 min-height:48px;
 padding:12px 14px;
 touch-action:manipulation;
 -webkit-tap-highlight-color:transparent;
}
.go27-election-studio .go27-exterior-suggestion[aria-selected=true]{
 background:#eaf1f8;
 border-left:3px solid var(--go27-election-red);
}
.go27-election-studio .go27-exterior-all-option{
 border-bottom:1px solid #e2eaf2;
 font-weight:800;
}
@media(max-width:700px){
 .go27-election-studio .go27-exterior-suggestions{
  max-height:min(38dvh,300px);
 }
 .go27-election-studio .go27-exterior-search-wrap input[type=search]{
  min-height:50px;
  font-size:16px;
 }
 .go27-election-studio .go27-exterior-dropdown-toggle{
  height:42px;
 }
}

/* Exterior is a navigation scope, not a red special button. Keep it visually consistent. */
.go27-election-studio.is-exterior .go27-studio-exterior-view{
 grid-column:2/4;grid-row:1;
}
@media(max-width:960px){
 .go27-election-studio.is-exterior .go27-studio-exterior-view{grid-column:2;grid-row:1/3}
}
@media(max-width:700px){
 .go27-election-studio.is-exterior .go27-studio-exterior-view{grid-column:1;grid-row:2}
 .go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"]{grid-column:auto}
}

/* Unified scope navigation appearance, loaded after elections-studio.css. */
.go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"] {
 background:#f3f6f9;color:#264459;border:1px solid #cbd9e4;
 padding:10px 14px!important;box-shadow:none;
}
.go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"]:hover {
 background:#e7f0f7;border-color:#7f9cb1;
}
.go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"].is-current {
 background:#102a43;color:#fff;border:1px solid #102a43;
 border-bottom:4px solid #d72f18;padding-bottom:7px!important;
}
@media(max-width:700px) {
 .go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"]{
   min-height:58px;padding:8px 3px!important;grid-column:auto;
 }
 .go27-election-studio .go27-studio-scope-nav button[data-runoff-office="exterior"].is-current{
   padding-bottom:5px!important;
 }
}

/* Official publication status, not a competing top-level navigation CTA. */
.go27-election-studio .go27-exterior-publication{display:flex;gap:17px;align-items:flex-start;justify-content:space-between;padding:16px;margin:0 0 18px;border:1px solid #c8d9e5;border-radius:10px;background:#f0f5f9}
.go27-election-studio .go27-exterior-publication-text{min-width:0;flex:1}
.go27-election-studio .go27-exterior-publication-text strong{font-size:14px;line-height:1.4;color:#102a43;font-weight:900}
.go27-election-studio .go27-exterior-publication-text p{font-size:12px;line-height:1.55;color:#3b576c;margin:8px 0}
.go27-election-studio .go27-exterior-publication-text small{font-size:11px;line-height:1.5;color:#5b7387}
.go27-election-studio .go27-exterior-publication-actions{min-width:145px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.go27-election-studio .go27-exterior-refresh-button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #102a43;border-radius:8px;color:#fff;background:#102a43;padding:10px;font-size:13px;font-weight:800;cursor:pointer}
.go27-election-studio .go27-exterior-refresh-button:disabled{opacity:.6;cursor:wait}
.go27-election-studio .go27-exterior-refresh-button:hover{background:#254961}
.go27-election-studio .go27-exterior-refresh-button:focus-visible{outline:3px solid #d72f18;outline-offset:2px}
.go27-election-studio .go27-exterior-publication-actions a{font-size:12px;font-weight:750;color:#174768;text-decoration:underline;text-align:center}
@media(max-width:700px){
.go27-election-studio .go27-exterior-publication{flex-direction:column;gap:12px;padding:14px}
.go27-election-studio .go27-exterior-publication-actions{min-width:0;width:100%;align-items:center;flex-direction:row}
.go27-election-studio .go27-exterior-refresh-button{flex:1}
}

/* One apuração and one abstention metric in international summary. */
.go27-election-studio .go27-exterior-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.go27-election-studio .go27-exterior-stat:last-child{grid-column:auto}
@media(max-width:960px){
 .go27-election-studio .go27-exterior-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .go27-election-studio .go27-exterior-stat:last-child{grid-column:auto}
}
@media(max-width:700px){
 .go27-election-studio .go27-exterior-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .go27-election-studio .go27-exterior-stat:last-child{grid-column:auto}
}
