/* Language links share the existing pill treatment and remain usable without JS. */
.language { display: inline-flex; }
.language a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px 8px; color: #e9dec9; font-size: 12px; text-decoration: none; }
.language a[aria-current="page"] { background: #00d66b; color: #02352a; }
.locale-menu, .locale-legal { display: flex; align-items: center; gap: 8px; }
.locale-menu a, .locale-legal a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid currentColor; border-radius: 99px; padding: 6px 10px; text-decoration: none; font-size: 12px; }
.locale-menu a[aria-current="page"], .locale-legal a[aria-current="page"] { background: #00d66b; color: #02352a; border-color: #00d66b; }
.locale-menu { margin: 12px 0; }
.language a:focus-visible, .locale-menu a:focus-visible, .locale-legal a:focus-visible { outline: 3px solid #00d66b; outline-offset: 3px; }
/* Existing approved SVGs include Spanish descriptors. Clip only that bottom line
   on English pages and replace it with real, localized text. */
.locale-brand { position: relative; display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: 100%; margin-bottom: 26px; }
.locale-brand .lockup { margin-bottom: 0; }
.locale-brand img { display: block; clip-path: inset(0 0 15% 0); }
.locale-brand--novedades img { clip-path: inset(0 0 21% 0); }
.locale-brand-descriptor { display: block; max-width: 100%; text-align: left; color: var(--venue-ink, #02352a); font: 600 clamp(12px, 1.05vw, 14px)/1.4 'Hanken Grotesk', sans-serif; letter-spacing: .08em; }
.visit-card .locale-brand { width: 100%; margin-bottom: 0; gap: 0; }
.visit-card .locale-brand-descriptor { color: #fff; font-size: 12px; }
/* English has a longer first hero line; give it enough room on larger screens. */
@media (min-width: 768px) {
  html[lang="en"] .hero-r7 h1 { max-width: min(980px, 100%); }
}
/* Visit cards use left-aligned lockups; place the translated line below them. */
.visit-card .locale-brand { display: flex; flex-direction: column; align-items: flex-start; }
.visit-card .locale-brand-descriptor { position: static; display: block; width: auto; margin-top: 4px; text-align: left; }
/* Keep the English first line together on narrow screens without shrinking its emphasis. */
@media (max-width: 600px) {
  html[lang="en"] .hero-r7 h1 span { font-size: clamp(30px, 10vw, 45px); white-space: nowrap; }
}
/* The legal header is dark; the mobile menu is light. Visited links retain contrast. */
.locale-legal a:not([aria-current="page"]), .locale-legal a:not([aria-current="page"]):visited { color: #e9dec9; }
.locale-menu { flex-direction: row; }
.locale-menu a:not([aria-current="page"]), .locale-menu a:not([aria-current="page"]):visited { color: #02352a; }

/* Leave room for the close control when the translated badge wraps. */
#employment > .pill { max-width: calc(100% - 64px); white-space: normal; }
/* The menu needs JavaScript; keep a static language route available without it. */
@media (max-width: 600px) {
  html:not(.dialogs-ready) .header-r7 .language { display: inline-flex; }
  html:not(.dialogs-ready) .header-r7 .head-cta { display: none; }
}
