/* Control junto al tema, sin cambiar los contratos internos del chrome. */
.i18n-control { display: inline-flex; align-items: center; min-inline-size: 0; }
.i18n-control select { min-block-size: 44px; max-inline-size: 13rem; padding-inline: .5rem; font: inherit; font-size: .875rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line-control, var(--ink)); border-radius: 0; }
.i18n-control select:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.i18n-native-label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.i18n-version { min-inline-size: 0; white-space: nowrap; margin-inline-start: .5rem; color: var(--ink); font-size: .75rem; }
.i18n-regional { text-align: start; }
.i18n-regional a { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .i18n-control select { max-inline-size: 7rem; }
  /* En móvil el selector ya muestra el idioma; el rótulo queda para lectores de pantalla. */
  .i18n-version { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .i18n-control, .i18n-control * { transition: none; animation: none; }
}
/* Otros acuerdos: plegado por defecto; el h3 sigue siendo el título de la sección. */
.i18n-regional details > summary { cursor: pointer; list-style-position: inside; }
.i18n-regional details > summary > h3 { display: inline; }
.i18n-regional details[open] > summary { margin-block-end: 1rem; }
.i18n-regional details h4 { margin-block: 1.5rem .5rem; font-size: 1.125rem; font-weight: 600; text-transform: none; letter-spacing: normal; color: inherit; }
.i18n-regional details h5 { margin-block: 1rem .25rem; font-size: 1rem; }
/* Las fuentes del core componen con el body y las variables del kit. */
html:lang(ar) { --font-sans: var(--font-i18n-arab); --default-font-family: var(--font-i18n-arab); }
html:lang(ja) { --font-sans: var(--font-i18n-jpan); --default-font-family: var(--font-i18n-jpan); }
html:lang(ko) { --font-sans: var(--font-i18n-kore); --default-font-family: var(--font-i18n-kore); }
html:lang(zh) { --font-sans: var(--font-i18n-hans); --default-font-family: var(--font-i18n-hans); }
html:lang(zh-Hant) { --font-sans: var(--font-i18n-hant); --default-font-family: var(--font-i18n-hant); }
html:lang(uk), html:lang(bg) { --font-sans: var(--font-i18n-cyrl); --default-font-family: var(--font-i18n-cyrl); }
html:lang(el) { --font-sans: var(--font-i18n-grek); --default-font-family: var(--font-i18n-grek); }
html:lang(th) { --font-sans: var(--font-i18n-thai); --default-font-family: var(--font-i18n-thai); }
html:lang(hi) { --font-sans: var(--font-i18n-deva); --default-font-family: var(--font-i18n-deva); }

/* Panel compartido: tokens del kit, CSS lógico y sin elevación decorativa.
   Fondo levemente gris (Martín, 8-oct) para que las banderas con blanco contrasten. */
.i18n-settings { position: relative; color: var(--ink); font: inherit; }
.i18n-settings > summary { display: flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; cursor: pointer; list-style: none; }
.i18n-settings > summary::-webkit-details-marker { display: none; }
.i18n-settings > summary img { inline-size: 24px; block-size: 24px; }
html[data-theme="dark"] .i18n-settings > summary img { filter: invert(1); }
.i18n-settings__panel { position: fixed; inset-block-start: 4.75rem; inset-inline-end: max(1rem, calc((100vw - var(--container, 75rem)) / 2)); z-index: 100; inline-size: min(33rem, calc(100vw - 2rem)); max-block-size: calc(100dvh - 6rem); overflow: auto; box-sizing: border-box; padding: 1rem; background: color-mix(in srgb, var(--paper) 93%, var(--ink)); color: var(--ink); text-align: start; }
.i18n-settings:not([open]) > .i18n-settings__panel { display: none; }
.i18n-settings__heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-block-end: 1rem; }
.i18n-settings__heading h2 { margin: 0; font: inherit; font-weight: 600; font-size: 1.125rem; }
.i18n-settings fieldset { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.i18n-settings legend { margin-block-end: .5rem; padding: 0; font-weight: 600; }
.i18n-settings fieldset + fieldset { margin-block-start: 1rem; }
.i18n-settings__languages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .125rem; }
.i18n-settings a, .i18n-settings button { display: flex; align-items: center; gap: .5rem; min-block-size: 44px; min-inline-size: 44px; box-sizing: border-box; padding: .375rem; color: inherit; background: transparent; font: inherit; font-size: .875rem; text-decoration: none; cursor: pointer; text-align: start; border-radius: 0; }
.i18n-settings button { border: 1px solid var(--line-control, var(--ink)); }
.i18n-settings a span { overflow-wrap: anywhere; }
.i18n-settings a img { flex-shrink: 0; inline-size: 24px; block-size: 18px; object-fit: contain; }
/* Los mapas de región (es-419, árabe) son círculos: a 24×18 quedaban en 18 px y no se reconocían. */
.i18n-settings a img[data-flag-shape="round"] { block-size: 24px; margin-block: -3px; }
.i18n-settings a[aria-selected="true"], .i18n-settings a[aria-current], .i18n-settings button[aria-pressed="true"] { font-weight: 600; background: color-mix(in srgb, var(--paper) 84%, var(--ink)); }
.i18n-settings__check { flex-shrink: 0; margin-inline-start: auto; visibility: hidden; }
.i18n-settings a[aria-current] .i18n-settings__check { visibility: visible; }
.i18n-settings__themes { display: flex; gap: .5rem; }
.i18n-settings :is(a,button,summary,input):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.i18n-settings:not([data-settings-mounted]) :is([data-settings-close],[data-settings-theme-group],[data-settings-search-group]) { display: none; }
@media (prefers-reduced-motion: reduce) { .i18n-settings, .i18n-settings * { animation: none; transition: none; } }

.i18n-settings [hidden] { display: none !important; }
.i18n-settings [data-settings-region] + [data-settings-region] { margin-block-start: 1rem; }
.i18n-settings h3 { font: inherit; font-weight: 600; margin-block: .5rem; }
.i18n-settings small { display: block; color: var(--ink-muted, var(--ink)); font-size: .75rem; }
.i18n-settings__search { margin-block-end: .75rem; }
.i18n-settings__search label { display: block; margin-block-end: .375rem; font-size: .875rem; }
.i18n-settings__search input { font: inherit; inline-size: 100%; min-block-size: 44px; box-sizing: border-box; padding-inline: .5rem; background: var(--paper); color: var(--ink); border: 1px solid var(--line-control, var(--ink)); border-radius: 0; }
.i18n-settings [data-settings-status] { font-size: .875rem; margin-block: .5rem; }
.i18n-settings [data-settings-status]:empty { display: none; }
.i18n-settings [data-settings-languages] { max-block-size: min(28rem, max(8rem, calc(100dvh - 25rem))); overflow: auto; overscroll-behavior: contain; padding: .1875rem; }

@media (max-width: 440px) { .i18n-settings__languages { grid-template-columns: minmax(0, 1fr); } }
