/* ============================================================
   footer.css — Pie de página de la seccional
   Se carga en TODO el sitio (a diferencia de home.css, que va
   solo en la portada).

   Reemplaza a la plantilla de Header Footer Elementor que traía
   la sección demo de la escuela de idiomas.
   ============================================================ */

/* El footer de Astra se oculta solo cuando el nuestro se imprimió.
   Si por algún motivo no se renderiza, vuelve a verse el de Astra
   en lugar de quedarse el sitio sin pie. */
body.lbsj-tiene-footer .site-footer,
body.lbsj-tiene-footer .ast-small-footer,
body.lbsj-tiene-footer footer.site-footer { display: none !important; }

.lbsj-foot                { background: var(--azul-noche); color: #9FB6CC;
                            padding: 52px 0 26px; font-size: 14.5px; line-height: 1.6;
                            position: relative; }
.lbsj-foot::before        { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
                            background: linear-gradient(90deg, var(--celeste-alb) 0 33%, #fff 33% 66%, var(--celeste-alb) 66%); }

.lbsj-foot__grid          { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
                            gap: 40px; align-items: start; }

.lbsj-foot__nombre        { font-family: var(--font-display); font-size: 22px; font-weight: 700;
                            color: #fff; line-height: 1.15; }
.lbsj-foot__nombre span   { display: block; font-family: var(--font-body); font-size: 11.5px;
                            font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
                            color: var(--celeste-alb); margin-top: 5px; }
.lbsj-foot__desc          { margin: 14px 0 0; max-width: 40ch; font-size: 14px; }

.lbsj-foot__redes         { display: flex; gap: 10px; margin-top: 18px; }
.lbsj-foot__redes a       { width: 38px; height: 38px; border-radius: 50%;
                            border: 1px solid rgba(255,255,255,.2); display: grid;
                            place-items: center; color: #9FB6CC; transition: var(--transition); }
.lbsj-foot__redes a:hover { background: var(--celeste-alb); border-color: var(--celeste-alb);
                            color: var(--azul-noche); }
.lbsj-foot__redes svg     { width: 18px; height: 18px; fill: currentColor; }

.lbsj-foot__col h3        { font-family: var(--font-body); font-size: 12px; font-weight: 700;
                            letter-spacing: .12em; text-transform: uppercase; color: #fff;
                            margin: 0 0 14px; }
.lbsj-foot__col ul        { list-style: none; margin: 0; padding: 0; }
.lbsj-foot__col li        { margin-bottom: 8px; }
.lbsj-foot__col a         { color: #9FB6CC; text-decoration: none; transition: var(--transition); }
.lbsj-foot__col a:hover   { color: #fff; text-decoration: none; }
.lbsj-foot__datos li      { color: #9FB6CC; }

.lbsj-foot__bajo          { border-top: 1px solid rgba(255,255,255,.1); margin-top: 36px;
                            padding-top: 18px; font-size: 12.5px; color: #6E88A3;
                            display: flex; gap: 16px; flex-wrap: wrap; }
.lbsj-foot__credito       { margin-left: auto; }

/* El validador, en la última línea. Mismo tamaño que el resto del renglón:
   es un enlace de servicio para los comercios, no una sección del sitio. */
.lbsj-foot__val a         { color: #9FB6CC; text-decoration: none; border-bottom: 1px solid rgba(159,182,204,.35); }
.lbsj-foot__val a:hover   { color: #fff; border-bottom-color: #fff; }

@media (max-width: 900px) {
  .lbsj-foot__grid        { grid-template-columns: 1fr 1fr; gap: 30px; }
  .lbsj-foot__col--marca  { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .lbsj-foot__grid        { grid-template-columns: 1fr; }
  .lbsj-foot__credito     { margin-left: 0; }
}


/* ------------------------------------------------------------
   Botón flotante de WhatsApp — también global ahora
   ------------------------------------------------------------ */
.lbsj-wa                  { position: fixed; right: 20px; bottom: 20px; z-index: 90;
                            width: 54px; height: 54px; border-radius: 50%; background: #25D366;
                            display: grid; place-items: center;
                            box-shadow: 0 6px 20px rgba(37,211,102,.42);
                            transition: var(--transition); }
.lbsj-wa:hover            { transform: scale(1.07); }
.lbsj-wa svg              { width: 28px; height: 28px; fill: #fff; }

@media (prefers-reduced-motion: reduce) {
  .lbsj-wa, .lbsj-foot__redes a { transition: none; }
  .lbsj-wa:hover          { transform: none; }
}
