/* Selector de idioma y aviso de idioma (todas las páginas) */
.lang { position: relative; display: inline-flex; align-items: center; font-family: inherit; }
.lang img { display: block; width: 20px; height: 14px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); object-fit: cover; }
.lang-btn { display: none; align-items: center; gap: .4rem; padding: .45rem .7rem; border-radius: 999px; border: 1px solid rgba(242,245,242,.22); background: transparent; color: inherit; font: inherit; font-size: .85rem; cursor: pointer; min-height: 40px; }
.lang-btn b { font-weight: 600; letter-spacing: .04em; }
.lang-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: .2rem; }
.lang-menu a { display: flex; align-items: center; gap: .4rem; padding: .4rem .6rem; border-radius: 999px; color: inherit; text-decoration: none; font-size: .82rem; opacity: .75; border: 1px solid transparent; }
.lang-menu a b { font-weight: 600; letter-spacing: .04em; }
.lang-menu a span { display: none; }
.lang-menu a:hover { opacity: 1; }
.lang-menu a[aria-current="true"] { opacity: 1; border-color: rgba(43,194,102,.6); background: rgba(43,194,102,.12); }
@media (max-width: 1100px) {
  .lang-btn { display: inline-flex; }
  .lang-menu { display: none; position: absolute; top: calc(100% + .4rem); right: 0; flex-direction: column; gap: .15rem; min-width: 170px; padding: .4rem; border-radius: 14px; background: #0F1C17; border: 1px solid rgba(242,245,242,.18); box-shadow: 0 20px 50px -20px rgba(0,0,0,.8); z-index: 1000; }
  .lang.is-open .lang-menu { display: flex; }
  .lang-menu a { border-radius: 10px; padding: .6rem .7rem; font-size: .92rem; opacity: 1; }
  .lang-menu a span { display: inline; color: #CBD8D0; font-size: .85rem; }
}
.lang--claro { margin-left: auto; margin-right: 1rem; }
/* banderas siempre visibles en la portada */
.lang-flags { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 1.1rem; }
.lang-flags a { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .85rem .5rem .6rem; min-height: 44px; border-radius: 999px; border: 1px solid rgba(242,245,242,.22); background: rgba(11,20,17,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #F2F5F2; text-decoration: none; font-size: .9rem; transition: border-color .2s, background .2s, transform .2s; }
.lang-flags a:hover { border-color: rgba(43,194,102,.7); transform: translateY(-1px); }
.lang-flags a[aria-current="true"] { border-color: #2BC266; background: rgba(43,194,102,.18); }
.lang-flags img { display: block; width: 26px; height: 18px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(255,255,255,.2); object-fit: cover; }
.lang-flags b { font-weight: 600; letter-spacing: .05em; }
@media (max-width: 520px) { .lang-flags { gap: .4rem; } .lang-flags a { padding: .45rem .7rem .45rem .55rem; font-size: .85rem; } }
/* aviso de idioma */
.lang-aviso { position: fixed; z-index: 2000; left: 50%; transform: translateX(-50%); top: 5rem; display: flex; align-items: center; gap: .3rem; width: max-content; max-width: calc(100% - 1.2rem); padding: .35rem .35rem .35rem .8rem; border-radius: 999px; background: #F2F5F2; color: #0B1411; box-shadow: 0 12px 30px -10px rgba(0,0,0,.6); font-size: .85rem; animation: avisoIn .4s ease-out; }
.lang-aviso a { display: flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; }
.lang-aviso a img { width: 20px; height: 14px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.15); }
.lang-aviso b { color: #167A3B; white-space: nowrap; }
.lang-aviso button { border: 0; background: transparent; color: #4B5B55; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; flex: none; }
.lang-aviso button:hover { background: rgba(0,0,0,.06); }
@keyframes avisoIn { from { opacity: 0; transform: translate(-50%, -10px); } }
@media (max-width: 520px) { .lang-aviso { font-size: .8rem; top: auto; bottom: 5.4rem; left: .75rem; right: .75rem; transform: none; width: auto; max-width: none; border-radius: 16px; animation-name: avisoInM; } .lang-aviso a { flex: 1; min-width: 0; } }
@keyframes avisoInM { from { opacity: 0; transform: translateY(10px); } }
