/* 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(25rem, 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):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.i18n-settings:not([data-settings-mounted]) :is([data-settings-close],[data-settings-theme-group]) { display: none; }
@media (prefers-reduced-motion: reduce) { .i18n-settings, .i18n-settings * { animation: none; transition: none; } }
