/* EU top band shared by all language editions. */
.masthead .utility-band{background:#003399;color:#fff}
.masthead .utility{color:#fff;border-color:transparent}
/* Headlines are fitted in full, never truncated. Without JS they wrap naturally. */
.lead-story h1,.story h3,.world-card h3,.brasil-map-stories h4,.article-page>header h1{display:flow-root;overflow:visible;text-wrap:balance}
.headline-fitted .headline-line{display:block;white-space:nowrap;line-height:inherit}
.language-selector .selected-language-flag{font-size:20px;line-height:1}

.headline-fitted .headline-line{min-block-size:1lh}
.news-grid>.story.headline-wide,.briefs>.story.headline-wide{grid-column:span 2}
.world-grid>.world-card.headline-wide{grid-column:1/-1}
.side-stories .story.headline-wide h3{clear:both;grid-column:1/-1}

/* Compact flag-only language picker; native names remain accessible labels. */
.masthead .language-selector>summary{width:44px;height:44px;min-height:44px;padding:5px;box-sizing:border-box;justify-content:center;border-radius:50%;background:transparent;border:0}
.language-selector .round-language-flag{display:block;width:36px;height:36px;max-width:none;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #17201e18}
.language-selector>summary .round-language-flag{width:32px;height:32px}
.language-selector .language-panel{width:296px;max-width:calc(100vw - 32px);padding:12px;box-sizing:border-box}
.language-selector .language-panel ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;max-height:65vh}
.language-selector .language-panel a{min-height:48px;padding:4px;justify-content:center;border-radius:50%;box-sizing:border-box}
.language-selector .language-panel a[aria-current]{outline:2px solid #00583b;outline-offset:-2px}
