/* ============================================================
   GEO Footer
   Figma Desktop-1: dos secciones negras
   A) nav 3 columnas  B) newsletter + copyright + wordmark GEO
   ============================================================ */

.geo-footer {
  background-color: var(--color-black);
  color: var(--color-white);
}

/* Contenedor alineado con el ancho del nav (1761px) */
.geo-footer__container {
  /* 1761 (lienzo Figma) + los 2×100px de padding: así el CONTENIDO mide 1761px
     igual que .geo-nav__inner. Antes el footer se quedaba 200px más estrecho
     que el header en pantallas de más de 1961px. Por debajo no cambia nada. */
  max-width: calc(1761px + var(--space-lg) * 2);
  margin: 0 auto;
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}

/* ----------------------------------------------------------
   Sección A — Nav 3 columnas
   Figma: Rectangle 248 (90:11)
   ---------------------------------------------------------- */
.geo-footer__nav-section {
  position: relative;
  padding: 80px 0;
}

.geo-footer__nav-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
}

.geo-footer__col-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Tipografía FLUIDA del footer: 22px EXACTOS al ancho del diseño (1761px) y
   escala hacia abajo en pantallas menores — a 22px fijos se veía enorme en
   portátiles de 1280-1440 (22/17.61 = 1.25vw). Piso 18px = continuo con el
   breakpoint de 1100px. */
.geo-footer__col-list a {
  font-family: var(--font-primary);
  font-size: clamp(18px, 1.25vw, 22px);   /* Figma: Montserrat SemiBold 22px @1761 */
  font-weight: 600;
  letter-spacing: -0.02em;                /* en em → escala con la fuente */
  color: var(--color-white);
}

/* Hover de TODOS los enlaces del footer (3 columnas + cualquier link):
   gris tenue legible sobre negro + zoom cortico. transform-origin left center
   para que el texto no se descuadre. inline-block porque transform no aplica a
   inline puro. El wordmark GEO es <img> (no <a>) → su hover no se toca. */
.geo-footer a {
  display: inline-block;
  transform-origin: left center;
  transition: color 0.25s ease, transform 0.25s ease;
}
.geo-footer a:hover {
  color: #b3b3b3 !important;             /* gris tenue, NO negro (beat global a:hover) */
  transform: scale(1.05);
}
@media (prefers-reduced-motion: reduce) {
  .geo-footer a { transition: color 0.25s ease; }
  .geo-footer a:hover { transform: none; }   /* solo cambio de color, sin scale */
}

/* ----------------------------------------------------------
   Sección B — Newsletter + Copyright + Wordmark
   Figma: Rectangle 251 (94:52)
   ---------------------------------------------------------- */
.geo-footer__contact-section {
  position: relative;
  padding: 80px 0 60px;
}

/* Fila: newsletter (izq) + copyright (der) */
.geo-footer__contact-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-xl);
  align-items: start;
  margin-bottom: 60px;
}

/* Bloque newsletter */
.geo-footer__newsletter {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.geo-footer__newsletter-heading {
  font-family: var(--font-primary);
  font-size: clamp(18px, 1.25vw, 22px);   /* Figma: Montserrat SemiBold 22px @1761 */
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.geo-footer__newsletter-body {
  font-family: var(--font-primary);
  font-size: clamp(18px, 1.25vw, 22px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  opacity: 0.85;
}

/* Input + botón pegados */
.geo-footer__form {
  display: flex;
  gap: 0;
  margin-top: var(--space-xs);
}

.geo-footer__email {
  flex: 1;
  max-width: 594px;                    /* Figma: 594px */
  height: var(--input-height);         /* 46px */
  padding: 0 16px;
  background-color: var(--color-gray-light);  /* #ebebeb */
  border: 1px solid var(--color-white);
  border-right: none;
  border-radius: var(--input-radius) 0 0 var(--input-radius);  /* 3px */
  font-family: var(--font-primary);
  font-size: 15px;
  color: var(--color-black);
  outline: none;
}
.geo-footer__email::placeholder { color: var(--color-gray-placeholder); }

.geo-footer__submit {
  width: 128px;                        /* Figma: 128px */
  height: var(--input-height);         /* 46px */
  background-color: var(--color-gray-mid);  /* #d9d9d9 */
  border-radius: 0 var(--btn-radius) var(--btn-radius) 0;
  font-family: var(--font-primary);
  font-size: clamp(18px, 1.25vw, 22px);
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--color-black);
  cursor: pointer;
  transition: opacity 0.2s;
  flex-shrink: 0;
}
.geo-footer__submit:hover { opacity: 0.85; }

/* Honeypot anti-bots: fuera de pantalla (NO display:none — algunos bots lo detectan) */
.geo-footer__hp {
  position: absolute !important;
  left: -9999px;
  width: 1px; height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Mensaje de resultado del newsletter (tras el redirect del handler) */
.geo-footer__form-msg {
  margin-top: 10px;
  font-family: var(--font-primary);
  font-size: 15px;
  font-weight: 600;
}
.geo-footer__form-msg--ok    { color: #9fd6a0; }   /* verde suave sobre negro */
.geo-footer__form-msg--error { color: #e79a9a; }   /* rojo suave sobre negro */

/* Copyright */
.geo-footer__copyright-wrap {
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
}

.geo-footer__copyright {
  font-family: var(--font-primary);
  font-size: clamp(18px, 1.25vw, 22px);   /* Figma: Montserrat Bold 22px @1761 */
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--color-white);
  white-space: nowrap;
}

/* Wordmark GEO grande + tagline "Está contigo" — alineados por borde inferior */
.geo-footer__brand {
  display: flex;
  align-items: flex-end;
  gap: 83px; /* Figma: gap entre wordmark y tagline */
}

.geo-footer__wordmark {
  /* Figma: 1000px display en frame 1761px ≈ 57% del ancho */
  width: min(57%, 1000px);
  height: auto;
  transform-origin: left bottom;
  transition: transform 0.45s cubic-bezier(.2,.7,.2,1), filter 0.45s ease;
  will-change: transform;
}
.geo-footer__wordmark:hover {
  transform: scale(1.03);
  filter: drop-shadow(0 6px 24px rgba(255,255,255,0.12));
}
@media (prefers-reduced-motion: reduce) {
  .geo-footer__wordmark { transition: none; }
  .geo-footer__wordmark:hover { transform: none; }
}

.geo-footer__tagline-img {
  /* Figma: 451px display — alineada al fondo del wordmark */
  width: min(26%, 451px);
  height: auto;
  flex-shrink: 0;
}

/* ============================================================
   Responsive — 1100 / 768 / 480
   3 cols → 2 cols → 1 col. Newsletter full-width. Brand escala.
   ============================================================ */

@media (max-width: 1100px) {
  .geo-footer__container { padding-left: 40px; padding-right: 40px; }
  .geo-footer__nav-section    { padding: 60px 0; }
  .geo-footer__contact-section { padding: 60px 0 40px; }
  .geo-footer__nav-grid { gap: 48px; }
  .geo-footer__col-list a { font-size: 18px; letter-spacing: -0.36px; }
  .geo-footer__contact-row {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 48px;
  }
  .geo-footer__copyright-wrap { padding-top: 0; }
  .geo-footer__newsletter-heading,
  .geo-footer__newsletter-body { font-size: 18px; }
  .geo-footer__email { max-width: 100%; }
  .geo-footer__brand { gap: 40px; align-items: center; }
  .geo-footer__wordmark { width: min(70%, 700px); }
  .geo-footer__tagline-img { width: min(30%, 320px); }
}

@media (max-width: 768px) {
  .geo-footer__container { padding-left: 24px; padding-right: 24px; }
  .geo-footer__nav-section     { padding: 48px 0 24px; }
  .geo-footer__contact-section { padding: 24px 0 32px; }
  .geo-footer__nav-grid {
    grid-template-columns: repeat(2, 1fr);    /* 3 → 2 cols */
    gap: 32px 24px;
  }
  .geo-footer__col-list a { font-size: 16px; }
  .geo-footer__newsletter-heading { font-size: 16px; line-height: 1.35; }
  .geo-footer__newsletter-body    { font-size: 14px; line-height: 1.45; }
  .geo-footer__form { flex-direction: column; gap: 8px; }
  .geo-footer__email {
    width: 100%;
    border-right: 1px solid var(--color-white);
    border-radius: var(--input-radius);
    font-size: 16px;   /* <16px = auto-zoom de iOS Safari al enfocar */
  }
  .geo-footer__submit {
    width: 100%;
    border-radius: var(--btn-radius);
    font-size: 18px;
  }
  .geo-footer__copyright { font-size: 14px; white-space: normal; }
  .geo-footer__brand { flex-direction: column; align-items: flex-start; gap: 16px; }
  .geo-footer__wordmark    { width: 100%; }
  .geo-footer__tagline-img { width: 60%; }
}

@media (max-width: 480px) {
  .geo-footer__container { padding-left: 20px; padding-right: 20px; }
  .geo-footer__nav-section { padding: 40px 0 16px; }
  .geo-footer__nav-grid {
    grid-template-columns: 1fr;               /* 2 → 1 col */
    gap: 24px;
  }
  .geo-footer__col-list { gap: 6px; }
  .geo-footer__col-list a { font-size: 15px; }
  .geo-footer__newsletter-heading { font-size: 15px; }
  .geo-footer__newsletter-body    { font-size: 13px; }
  .geo-footer__copyright          { font-size: 13px; }
  .geo-footer__brand { gap: 12px; }
  .geo-footer__tagline-img { width: 70%; }
}
