/* NEXXA-VIDA — FOOTER institucional · VERSIÓN v29
   Se carga desde includes/footer.php (un solo punto: sirve para todas las páginas).
   Sobrescribe el footer simple de global.css / nexxa-glass-v15.css. */
.site-footer.nx-footer {
    display: block; margin-top: 80px; padding: 3rem 0 1.6rem;
    border-top: 1px solid rgba(255,255,255,.22);
    background: linear-gradient(180deg, rgba(23,16,38,.35), rgba(23,16,38,.78));
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    color: rgba(246,241,255,.88); font-size: .92rem; line-height: 1.65;
}
.nx-footer a { color: inherit; text-decoration: none; }
.nx-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 6px; }

.nx-footer-grid { display: grid; grid-template-columns: 1.4fr .9fr 1.3fr 1.1fr; gap: 2.2rem 2.4rem; align-items: start; }
.nx-ft-col p { margin: 0 0 .7rem; }
.nx-ft-h { margin: 0 0 .9rem; font: 800 .74rem var(--font-body, sans-serif); letter-spacing: .22em; text-transform: uppercase; color: #cdb9ff; }
.nx-ft-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.nx-ft-col li a { transition: color .2s ease, padding-left .2s ease; }
.nx-ft-col li a:hover, .nx-ft-col li a:focus-visible { color: #fff; padding-left: .3rem; }

.nx-ft-logo { display: inline-flex; align-items: center; gap: .8rem; margin-bottom: .6rem; }
.nx-ft-logo img { width: 56px; height: auto; filter: drop-shadow(0 0 14px rgba(78,219,211,.55)); }
.nx-ft-logo span { font: 700 1.5rem var(--font-display, sans-serif); letter-spacing: .02em; background: linear-gradient(90deg, #9ff5ef, #cdb9ff, #ff9de4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nx-ft-lema { font-weight: 700; color: #fff; }
.nx-ft-subir { display: inline-flex; align-items: center; gap: .4rem; margin-top: .4rem; padding: .5rem 1rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.4); font-weight: 700; font-size: .82rem; letter-spacing: .06em; transition: box-shadow .25s ease, transform .25s ease; }
.nx-ft-subir:hover { box-shadow: 0 0 22px rgba(173,137,239,.7); transform: translateY(-2px); }

.nx-ft-dims li a { display: grid; grid-template-columns: 14px 1fr; column-gap: .7rem; row-gap: 0; align-items: center; padding: .1rem 0; }
.nx-ft-dims li a > span:last-child { grid-column: 2; font-size: .82rem; color: rgba(246,241,255,.78); }
.nx-ft-dims strong { color: var(--ft-c); }
.nx-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--ft-c); box-shadow: 0 0 12px var(--ft-c); }
.nx-ft-dims .is-rest { --ft-c: #4edbd3; }
.nx-ft-dims .is-food { --ft-c: #ad89ef; }
.nx-ft-dims .is-move { --ft-c: #ef4fc1; }
.nx-ft-mas { display: inline-block; margin-top: .8rem; font-weight: 700; color: #9ff5ef; }
.nx-ft-mas:hover { text-decoration: underline; }
.nx-ft-nombre { font: 700 1.1rem var(--font-display, sans-serif); color: #fff; }
.nx-ft-peq { font-size: .84rem; color: rgba(246,241,255,.78); }
.nx-ft-contacto { margin-top: .4rem !important; }
.nx-ft-contacto a { text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }

.nx-ft-base { margin-top: 2.2rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.16); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 2rem; font-size: .82rem; color: rgba(246,241,255,.8); }
.nx-ft-base p { margin: 0; }
.nx-ft-aviso { max-width: 60ch; }

@media (max-width: 960px) { .nx-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .nx-footer-grid { grid-template-columns: 1fr; } .site-footer.nx-footer { padding-top: 2.2rem; } }
