.header-idiomas { align-items:center; display:flex; flex-wrap:wrap; gap:.25rem; }
.header-idiomas__link { align-items:center; border-radius:50%; display:inline-flex; flex:0 0 28px; height:28px; justify-content:center; text-decoration:none; width:28px; }
.header-idiomas__flag { border-radius:50%; display:block; filter:grayscale(1); height:20px; object-fit:cover; opacity:.55; width:20px; }
.header-idiomas__link[aria-current="true"] .header-idiomas__flag,
.header-idiomas__link:hover .header-idiomas__flag,
.header-idiomas__link:focus-visible .header-idiomas__flag { filter:none; opacity:1; }
.header-idiomas__link:focus-visible { outline:2px solid #33e35f; outline-offset:2px; }
.header-idiomas__more { align-items:center; background:none; border:0; cursor:pointer; display:inline-flex; flex:0 0 28px; height:28px; justify-content:center; padding:0; width:28px; }
.header-idiomas__more img { display:block; height:22px; width:22px; }
.header-idiomas__more:focus-visible { outline:2px solid #33e35f; outline-offset:2px; }
.idiomas-modal { background:#fff; border:0; border-radius:20px; box-sizing:border-box; color:#262b30; margin:auto; max-height:calc(100dvh - 32px); max-width:1024px; overflow:auto; padding:36px 40px 32px; width:calc(100% - 32px); }
.idiomas-modal[open] { display:flex; flex-direction:column; gap:24px; }
.idiomas-modal::backdrop { background:rgba(0,0,0,.45); }
body:has(.idiomas-modal[open]) { overflow:hidden; }
.idiomas-modal__close-row { display:flex; justify-content:flex-end; }
.idiomas-modal__close { align-items:center; background:none; border:0; cursor:pointer; display:flex; flex:0 0 22px; height:22px; justify-content:center; padding:1px; width:22px; }
.idiomas-modal__close img { display:block; height:20px; width:20px; }
.idiomas-modal__intro { display:flex; flex-direction:column; gap:15px; }
.idiomas-modal__intro h2 { color:#133d60; font-family:"Space Grotesk",Arial,sans-serif; font-size:32px; font-weight:700; line-height:1.2; margin:0; }
.idiomas-modal__intro p { color:#6b6b6b; font-family:"Manrope",Arial,sans-serif; font-size:16px; line-height:1.5; margin:0; }
.idiomas-modal__columns { align-items:start; display:grid; gap:28px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.idiomas-modal__column { display:flex; flex-direction:column; gap:16px; min-width:0; }
.idiomas-modal__group { align-items:flex-start; display:flex; flex-direction:column; gap:2px; min-width:0; }
.idiomas-modal__group h3 { color:#8c8c8c; font-family:"Archivo",Arial,sans-serif; font-size:12px; font-weight:700; line-height:1.4; margin:0 0 6px; }
.idiomas-modal__option { align-items:center; background:none; border:0; border-radius:8px; color:#262b30; display:flex; font-family:"Wix Madefor Text","Manrope",Arial,sans-serif; font-size:14px; gap:10px; line-height:18px; max-width:100%; padding:6px; text-align:left; }
.idiomas-modal__option img { display:block; flex:0 0 18px; height:18px; object-fit:contain; width:18px; }
.idiomas-modal__option span { overflow-wrap:anywhere; }
.idiomas-modal__option.is-selected { background:#edf5f0; color:#0a2942; }
.idiomas-modal button:focus-visible { outline:2px solid #33e35f; outline-offset:2px; }
@media (max-width:991px) {
    .header-idiomas { gap:0; }
    .header-idiomas__link { flex-basis:24px; height:44px; width:24px; }
    .header-idiomas__flag { height:18px; width:18px; }
    .header-idiomas__more { flex-basis:24px; height:44px; width:24px; }
    .idiomas-modal { max-width:420px; padding:20px 15px; }
    .idiomas-modal[open] { gap:20px; }
    .idiomas-modal__columns { gap:20px 28px; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
