/**
 * css/wiclee-landing-footer.css — Pie de la web pública.
 *
 * Lo carga templates/home/paginaHome.twig junto a wiclee-landing.css, para landing,
 * registro y páginas legales. Tokens de css/tokens.css y variables de .wiclee-home.
 * Sin hex ni estilos en línea.
 *
 * Maquetación (mobile-first por rangos):
 *   - Escritorio (> 1100 px): marca | navegación | contacto en proporción 1,2 / 1 / 0,8.
 *     La navegación (dos columnas de tres enlaces) queda en el centro de la página.
 *   - Tablet (701–1100 px): marca a todo el ancho; navegación y contacto en dos columnas.
 *   - Tablet pequeña (561–700 px): igual, con la navegación en una sola columna.
 *   - Móvil (≤ 560 px): una columna; la barra inferior apila copyright y enlaces legales.
 * Los enlaces mantienen 2,75 rem de área táctil en pantallas táctiles (pointer: coarse)
 * y 2,25 rem con ratón. El hueco inferior deja libre el botón de instalar la app.
 */

.wiclee-landing__footer {
  border-top: 0.1875rem solid var(--wiclee-primary);
  padding: var(--wiclee-space-2xl) 0 var(--wiclee-space-md);
  background:
    radial-gradient(ellipse 42rem 16rem at 0% 0%, var(--wiclee-primary-overlay), transparent 70%),
    var(--wiclee-text);
  color: var(--wiclee-landing-white-78);
  font-size: var(--wiclee-font-size-sm);
}

.wiclee-landing__footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: var(--wiclee-space-xl);
}

.wiclee-landing__footer-logo-link {
  display: inline-flex;
}

.wiclee-landing__footer-logo {
  width: auto;
  height: 2.75rem;
}

.wiclee-landing__footer-lead {
  max-width: 28rem;
  margin: var(--wiclee-space-lg) 0 var(--wiclee-space-md);
  color: var(--wiclee-text-inverse);
  font-size: 1.0625rem;
  font-weight: var(--wiclee-font-weight-bold);
  line-height: 1.45;
}

.wiclee-landing__footer-identity {
  margin: 0;
  line-height: 1.6;
}

.wiclee-landing__footer-title {
  margin: 0 0 var(--wiclee-space-sm);
  font: var(--wiclee-font-weight-bold) 0.75rem/1.4 var(--wiclee-landing-font);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--wiclee-primary-300);
}

/* El área mínima de cada enlace ya los separa: sin hueco extra entre filas. */
.wiclee-landing__footer-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Navegación en dos columnas de tres enlaces; iguala la altura con Contacto. */
.wiclee-landing__footer-list--split {
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  justify-content: start;
  column-gap: var(--wiclee-space-xl);
}

.wiclee-landing__footer a {
  color: inherit;
  text-decoration: none;
  border-radius: var(--wiclee-radius-sm);
}

.wiclee-landing__footer-list a {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
}

.wiclee-landing__footer-list--contact a {
  gap: var(--wiclee-space-sm);
}

.wiclee-landing__footer-icon {
  width: 1.125rem;
  height: 1.125rem;
  color: var(--wiclee-primary);
}

.wiclee-landing__footer a:hover {
  color: var(--wiclee-text-inverse);
}

.wiclee-landing__footer a:hover .wiclee-landing__footer-icon {
  color: var(--wiclee-text-inverse);
}

.wiclee-landing__footer a:focus-visible {
  outline: 0.125rem solid var(--wiclee-primary);
  outline-offset: 0.1875rem;
}

/* Barra inferior: copyright y enlaces legales, en cuerpo pequeño. */
.wiclee-landing__footer-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--wiclee-space-xs) var(--wiclee-space-xl);
  margin-top: var(--wiclee-space-xl);
  padding-top: var(--wiclee-space-sm);
  padding-bottom: calc(var(--wiclee-space-xl) + var(--wiclee-space-lg));
  border-top: 0.0625rem solid var(--wiclee-landing-white-16);
  font-size: var(--wiclee-font-size-xs);
}

.wiclee-landing__footer-copy {
  margin: 0;
  color: var(--wiclee-landing-white-78);
}

.wiclee-landing__footer-legalnav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--wiclee-space-lg);
}

.wiclee-landing__footer-legalnav a,
.wiclee-landing__footer-legalbtn {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wiclee-landing-white-78);
  font: inherit;
  font-size: inherit;
  cursor: pointer;
  text-align: left;
}

.wiclee-landing__footer-legalnav a:hover,
.wiclee-landing__footer-legalbtn:hover {
  color: var(--wiclee-text-inverse);
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.wiclee-landing__footer-legalbtn:focus-visible {
  outline: 0.125rem solid var(--wiclee-primary);
  outline-offset: 0.1875rem;
}

@media (pointer: coarse) {
  .wiclee-landing__footer-list a,
  .wiclee-landing__footer-legalnav a,
  .wiclee-landing__footer-legalbtn {
    min-height: 2.75rem;
  }
}

/* Tablet: marca arriba a todo el ancho; navegación y contacto debajo. */
@media (max-width: 1100px) {
  .wiclee-landing__footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .wiclee-landing__footer-brand {
    grid-column: 1 / -1;
  }
}

/* Tablet pequeña: la navegación ya no cabe en dos columnas dentro de media rejilla. */
@media (max-width: 700px) {
  .wiclee-landing__footer-list--split {
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}

/* Móvil: una columna y barra inferior apilada. */
@media (max-width: 560px) {
  .wiclee-landing__footer {
    padding-top: var(--wiclee-space-xl);
  }

  .wiclee-landing__footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--wiclee-space-lg);
  }

  .wiclee-landing__footer-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}
