/* =========================================================================
   Selector de idioma flotante — redacta.me  (v2: traducción automática)
   -------------------------------------------------------------------------
   Botón flotante abajo a la derecha, apilado sobre el panel de accesibilidad.
   Traduce la página al vuelo con Google Translate (solo se carga cuando el
   visitante elige un idioma). Aquí también se oculta la barra de Google.
   ========================================================================= */
.rm-lang{
  position: fixed; right: 20px; bottom: 86px; z-index: 2147482999;
  font-family: 'Montserrat','Comfortaa',Arial,system-ui,sans-serif;
}
.rm-lang-fab{
  width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer;
  background: #13263a; color: #fff; display: grid; place-items: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  transition: background .2s ease, transform .2s ease;
}
.rm-lang-fab:hover{ background: #1f3a5c; transform: translateY(-2px); }
.rm-lang-fab:focus-visible{ outline: 3px solid #01aaa7; outline-offset: 2px; }
.rm-lang-fab svg{ width: 24px; height: 24px; }
.rm-lang-fab .rm-lang-code{
  position: absolute; bottom: -2px; right: -2px;
  background: #01aaa7; color: #fff; font-size: 10px; font-weight: 700;
  line-height: 1; padding: 3px 4px; border-radius: 6px; border: 2px solid #fff;
}

.rm-lang-menu{
  position: absolute; right: 0; bottom: 64px;
  background: #fff; border: 1px solid #e3e3e3; border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25); padding: 8px; min-width: 220px;
  list-style: none; margin: 0;
}
.rm-lang-menu[hidden]{ display: none; }
.rm-lang-opt{
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 12px 14px; border: 0; border-radius: 8px; background: none;
  cursor: pointer; font-family: inherit; font-size: 17px; line-height: 1.3; color: #13263a;
  text-align: left; text-decoration: none;
}
.rm-lang-opt:hover{ background: #f0faf9; }
.rm-lang-opt:focus-visible{ outline: 3px solid #01aaa7; outline-offset: -1px; }
.rm-lang-opt[aria-current="true"]{ font-weight: 700; color: #01aaa7; }
.rm-lang-opt .rm-lang-flag{
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 24px; border-radius: 5px;
  background: #eef3f3; color: #13263a;
  font-size: 13px; font-weight: 700; letter-spacing: .02em; line-height: 1;
}
.rm-lang-opt .rm-lang-check{ margin-left: auto; color: #01aaa7; min-width: 1em; }
.rm-lang-note{
  padding: 6px 12px 4px; margin-top: 4px; border-top: 1px solid #eee;
  font-size: 12px; color: #6b7280; list-style: none;
}

/* ---- Google Translate: ocultar su interfaz, usamos la nuestra ---- */
.rm-gt-element{ position: absolute !important; left: -9999px !important; top: 0; width: 1px; height: 1px; overflow: hidden; }
.goog-te-banner-frame, iframe.goog-te-banner-frame, .skiptranslate > iframe,
iframe.VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-ORHb-OEVmcd,
#goog-gt-tt, .goog-te-balloon-frame, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf, .VIpgJd-yAWNEb-L7lbkb{ display: none !important; }
html, body{ top: 0 !important; }
.goog-text-highlight{ background: none !important; box-shadow: none !important; }
