/* ═══════════════════════════════════════════════════════════════
   lb-idiomas.css — LetsBoxIt · ajustes de las páginas traducidas
   Lo añade lib/idiomas.php a cada página que no es la española.
   1. Letras: el chino y el árabe no están en Inter; cada uno usa la suya.
   2. Árabe (de derecha a izquierda, <html dir="rtl">): las cajas flex y grid
      ya se dan la vuelta solas; aquí se dan la vuelta las piezas que usan
      left/right, márgenes de un lado, alineaciones y flechas de lb-marca.css,
      lb-students.css y cookie-consent.css. Si una pieza nueva usa left/right,
      su espejo va aquí.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Letras ─────────────────────────────────────────────────── */
:root:lang(zh) {
  --lb-fuente: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
}
:lang(zh) body { line-break: strict; word-break: normal; }
:root:lang(ar) {
  --lb-fuente: "Noto Sans Arabic", "Inter", "Segoe UI", Tahoma, system-ui, sans-serif;
}
/* Los títulos muy apretados de la marca no van bien con la escritura árabe ni la china */
:lang(ar) :is(h1, h2, h3, .lb-hero__titulo, .lb-seccion__titulo, .lb-st-frase__a, .lb-st-frase__b),
:lang(zh) :is(h1, h2, h3, .lb-hero__titulo, .lb-seccion__titulo, .lb-st-frase__a, .lb-st-frase__b) {
  letter-spacing: 0;
}
/* La escritura árabe necesita más interlineado que la latina (si no, las líneas se montan) */
html[lang="ar"] :is(h1, h2, h3, .lb-hero__titulo, .lb-hero__linea, .lb-seccion__titulo, .lb-st-frase__a, .lb-st-frase__b) { line-height: 1.3; }
html[lang="ar"] body { line-height: 1.7; }
:lang(ar) .lb-seccion__etiqueta, :lang(zh) .lb-seccion__etiqueta { letter-spacing: 0; text-transform: none; }

/* ── 2. Árabe: espejo ──────────────────────────────────────────── */
/* Flechas y gestos que van «hacia delante» apuntan a la izquierda */
[dir="rtl"] .lb-enlace-flecha__icono,
[dir="rtl"] .lb-i-van { transform: scaleX(-1); }
@media (hover: hover) {
  [dir="rtl"] .lb-enlace-flecha:hover .lb-enlace-flecha__icono { transform: scaleX(-1) translateX(4px); }
}
[dir="rtl"] .lb-enlace-flecha:focus-visible .lb-enlace-flecha__icono { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .lb-btn--texto::after { margin-left: 0; margin-right: -2px; transform: scaleX(-1) rotate(45deg); }
@media (hover: hover) {
  [dir="rtl"] .lb-btn--texto:hover::after { transform: scaleX(-1) translateX(4px) rotate(45deg); }
}

/* Cabecera: el logo «LetsBoxIt Students» se lee siempre en su orden */
[dir="rtl"] .lb-cab__logo { direction: ltr; }
[dir="rtl"] .lb-cab__marca--trio img + img { margin-left: 0; margin-right: -9px; }
[dir="rtl"] .lb-cab__cta { margin-left: 0; margin-right: auto; }
[dir="rtl"] .lb-cab__menu + .lb-cab__cta,
[dir="rtl"] .lb-cab__panel + .lb-cab__cta { margin-right: 0; }
@media (max-width: 720px) {
  [dir="rtl"] .lb-cab__in > .lb-cab__cta,
  [dir="rtl"] .lb-cab__panel + .lb-cab__cta { margin-left: 0; margin-right: auto; }
}
@media (min-width: 721px) {
  [dir="rtl"] .lb-cab__in .lb-st-idioma { margin-left: 0; margin-right: auto; }
}
[dir="rtl"] .lb-st-saltar { left: auto; right: 16px; }
[dir="rtl"] .lb-hero__bruno--trio img + img { margin-left: 0; margin-right: -7%; }

/* Listas con marca propia (la marca pasa al lado derecho) */
[dir="rtl"] .lb-st-lista li,
[dir="rtl"] .lb-precio__lista li { padding-left: 0; }
[dir="rtl"] .lb-st-lista li::before { left: auto; right: 8px; }
[dir="rtl"] .lb-st-lista--grande li::before { left: auto; right: 10px; }
[dir="rtl"] .lb-precio__lista li::before { left: auto; right: 7px; }
[dir="rtl"] .lb-st-caja__item::before { left: auto; right: 2px; }
[dir="rtl"] .lb-legal ul, [dir="rtl"] .lb-legal ol { padding-left: 0; padding-right: 24px; }

/* Tablas: el texto empieza a la derecha y las cifras van a la izquierda */
[dir="rtl"] .lb-st-tabla caption,
[dir="rtl"] .lb-st-tabla th,
[dir="rtl"] .lb-st-tabla td,
[dir="rtl"] .lb-st-niveles__tabla th,
[dir="rtl"] .lb-st-niveles__tabla td,
[dir="rtl"] .lb-st-pie-boton,
[dir="rtl"] .lb-st-xior--pantalla .lb-st-xior__residencias,
[dir="rtl"] .lb-st-xior--pantalla .lb-st-xior__otra,
[dir="rtl"] .lb-st-semana__libre { text-align: right; }
[dir="rtl"] .lb-st-tabla .lb-st-tabla__num,
[dir="rtl"] .lb-st-ejemplo__fila dd { text-align: left; }
[dir="rtl"] .lb-st-tabla th:last-child,
[dir="rtl"] .lb-st-tabla td:last-child { padding-right: revert-layer; padding-left: 0; }
[dir="rtl"] .lb-campo select { padding-right: 14px; padding-left: 44px; }

/* Migas de pan: el separador mira al otro lado */
[dir="rtl"] .lb-st-migas li + li::before { transform: scaleX(-1) rotate(45deg); }

/* Los tres momentos de pago (línea y nodos) */
[dir="rtl"] .lb-st-pagos__nodo { left: auto; right: 0; }
[dir="rtl"] .lb-st-pagos__paso::before,
[dir="rtl"] .lb-st-pagos__paso::after { left: auto; right: 5px; transform-origin: 100% 50%; }
@media (max-width: 720px) {
  [dir="rtl"] .lb-st-pagos__paso::before,
  [dir="rtl"] .lb-st-pagos__paso::after { left: auto; right: 4.5px; transform-origin: 50% 0; }
  [dir="rtl"] .lb-st-pagos__paso::after { right: 4.25px; }
}

/* Calendario del verano */
[dir="rtl"] .lb-st-verano__nodo { left: auto; right: 0; }
[dir="rtl"] .lb-st-verano__hito::before { left: auto; right: 4.25px; }

/* Bruno que se asoma (móvil): entra por la izquierda */
@media (max-width: 720px) {
  [dir="rtl"] .lb-asoma { right: auto; left: 0; transform: translateX(-110%); }
  [dir="rtl"] .lb-asoma__globo { right: auto; left: calc(100% - 8px); transform: translateX(-14px) scale(.94); }
  [dir="rtl"] .lb-asoma__globo::after { right: auto; left: -7px; border-right: 0; border-left: 1px solid var(--lb-tinta); }
  [dir="rtl"] .lb-asoma__cerrar { left: auto; right: -9px; }
}

/* Carrusel de reseñas en bucle (lb-marca.css): la fila se coloca y se mueve igual que en
   español (si se colocara de derecha a izquierda, el desplazamiento del bucle la dejaría
   flotando con un hueco a un lado); cada tarjeta, por dentro, se lee de derecha a izquierda. */
[dir="rtl"] .lb-resenas__pista,
[dir="rtl"] .lb-resenas__fila { direction: ltr; }
[dir="rtl"] .lb-resenas__fila > * { direction: rtl; text-align: right; }

/* Barra de reserva del móvil y aviso de cookies */
[dir="rtl"] .cookie-btn-config { margin-right: 0; margin-left: auto; }
[dir="rtl"] .cookie-toggle label::after { left: auto; right: 3px; }
[dir="rtl"] .cookie-toggle input:checked + label::after { transform: translateX(-20px); }

/* Pie del grupo y de Students: enlaces y botones alineados a la derecha, como sus títulos */
[dir="rtl"] .lbg-pie__lista a, [dir="rtl"] .lbg-pie__boton, [dir="rtl"] .lbg-pie__titulo { text-align: right; }
[dir="rtl"] .lbg-pie__col .lbg-pie__lista .lbg-pronto { margin-left: 0; margin-right: 6px; }

/* Teléfono, email y dirección (en latino) se leen siempre de izquierda a derecha y en su
   sitio, aunque la línea sea árabe: se aíslan del texto que los rodea */
[dir="rtl"] .lbg-pie__dato,
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="mailto:"],
[dir="rtl"] .lb-st-pie-contacto a[href*="maps"] { direction: ltr; unicode-bidi: isolate; }

/* Las cifras con «€» y los teléfonos se leen siempre de izquierda a derecha */
[dir="rtl"] :is(.lb-precio__cifra, .lb-st-pagos__cifra, .lb-st-tabla__num, .lb-st-ejemplo__fila dd) {
  unicode-bidi: plaintext;
}
