/* ============================================================
   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 {
  max-width: 1761px;
  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;
}

.geo-footer__col-list a {
  font-family: var(--font-primary);
  font-size: var(--text-body);          /* 22px — Figma: Montserrat SemiBold 22px */
  font-weight: var(--weight-semibold);  /* 600 */
  letter-spacing: var(--ls-tight);      /* -0.44px */
  color: var(--color-white);
  transition: opacity 0.2s;
}
.geo-footer__col-list a:hover { opacity: 0.7; }

/* ----------------------------------------------------------
   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: var(--text-body);          /* 22px */
  font-weight: var(--weight-semibold);  /* 600 */
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-heading);
}

.geo-footer__newsletter-body {
  font-family: var(--font-primary);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--ls-tight);
  line-height: var(--lh-heading);
  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: var(--text-sm);
  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: var(--text-body);         /* 22px */
  font-weight: var(--weight-light);    /* 300 */
  letter-spacing: var(--ls-tight);
  color: var(--color-black);
  cursor: pointer;
  transition: opacity 0.2s;
  flex-shrink: 0;
}
.geo-footer__submit:hover { opacity: 0.85; }

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

.geo-footer__copyright {
  font-family: var(--font-primary);
  font-size: var(--text-body);         /* 22px — Figma: Montserrat Bold 22px */
  font-weight: var(--weight-bold);     /* 700 */
  letter-spacing: -0.22px;
  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);
  }
  .geo-footer__submit {
    width: 100%;
    border-radius: var(--btn-radius);
  }
  .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%; }
}
