.elementor-2324 .elementor-element.elementor-element-29c15e3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2324 .elementor-element.elementor-element-aefb5ce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-2324 .elementor-element.elementor-element-aefb5ce{--width:100vw;}}/* Start custom CSS for html, class: .elementor-element-50a0ef9 */* ══════════════════════════════════════════
   GRAN VÍA — FOOTER CSS
   Pegar en WPCode → CSS
   Tipografía, espaciado y tamaños en vw
   Desktop base: ~1440px | Mobile: ≤768px
══════════════════════════════════════════ */
 
/* ── Variables ── */
.gv-footer {
  --gv-verde:       #4f7e71;
  --gv-verde-light: #b2c280;
  --gv-dark:        #1a2e25;
  --gv-dark-2:      #243d33;
  --gv-off-white:   #f5f2ee;
  --gv-border:      rgba(79,126,113,0.15);
  --gv-text-muted:  rgba(245,242,238,0.45);
  --gv-text-dim:    rgba(245,242,238,0.25);
}
 
/* ── Base ── */
.gv-footer {
  background: #1a2e25;
  color: #f5f2ee;
  font-family: 'DM Sans', sans-serif;
  width: 100%;
  overflow: hidden;
}
 
/* ── Línea superior ── */
.gv-footer-topline {
  height: 1px;
  background: linear-gradient(to right, transparent, #b2c280 20%, #b2c280 80%, transparent);
}
 
/* ══ FRANJA CTA ══ */
.gv-footer-cta-strip {
  background: #243d33;
  padding: 3.5vw 5.5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2vw;
  flex-wrap: wrap;
}
 
.gv-footer-cta-text {
  font-family: 'Gotham', serif;
  font-size: 2.2vw;
  font-weight: 300;
  color: #f5f2ee;
  letter-spacing: 0.01em;
  line-height: 1.25;
  -webkit-font-smoothing: antialiased;
}
 
.gv-footer-cta-text em {
  color: #b2c280;
  font-style: normal;
}
 
.gv-footer-cta-btn {
  display: inline-block;
  padding: 1vw 2.5vw;
  background: #00564C;
  color: #f5f2ee;
  text-decoration: none;
  font-size: 0.65vw;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.3s, color 0.3s;
}
 
.gv-footer-cta-btn:hover {
  background: #b2c280;
  color: #1a2e25;
}
 
/* ══ COLUMNAS PRINCIPALES ══ */
.gv-footer-main {
  padding: 4.5vw 5.5vw 3.5vw;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: 4vw;
}
 
/* ── Eyebrow genérico ── */
.gv-footer-eyebrow,
.gv-footer-col-title {
  font-size: 0.6vw;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #4f7e71;
  margin-bottom: 1.4vw;
  display: flex;
  align-items: center;
  gap: 0.6vw;
  font-family: 'DM Sans', sans-serif;
}
 
.gv-footer-eyebrow::before,
.gv-footer-col-title::before {
  content: '';
  width: 1.2vw;
  height: 1px;
  background: #4f7e71;
  display: inline-block;
  flex-shrink: 0;
}
 
/* ── Logo ── */
/* ── Logo imagen ── */
.gv-footer-logo-img {
  display: block;
  width: 10vw;
  height: auto;
  margin-bottom: 1.8vw;
  object-fit: contain;
}
 
/* ── Tagline ── */
.gv-footer-tagline {
  font-size: 0.85vw;
  line-height: 1.75;
  color: rgba(245,242,238,0.45);
  margin-bottom: 2vw;
  letter-spacing: 0.02em;
  max-width: 22vw;
  font-family: 'Gotham', serif;
}
 
/* ── Social ── */
.gv-footer-social {
  display: flex;
  gap: 0.6vw;
}
 
.gv-footer-social-link {
  width: 2.2vw;
  height: 2.2vw;
  border: 1px solid rgba(79,126,113,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(245,242,238,0.4);
  text-decoration: none;
  transition: border-color 0.3s, color 0.3s;
}
 
.gv-footer-social-link svg {
  width: 0.9vw;
  height: 0.9vw;
}
 
.gv-footer-social-link:hover {
  border-color: #b2c280;
  color: #b2c280;
}
 
/* ── Nav ── */
.gv-footer-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}
 
.gv-footer-nav a {
  font-family: 'Gotham', serif;
  font-size: 1.15vw;
  font-weight: 300;
  color: rgba(245,242,238,0.45);
  text-decoration: none;
  padding: 0.55vw 0;
  border-bottom: 1px solid rgba(79,126,113,0.1);
  letter-spacing: 0.03em;
  display: block;
  transition: color 0.3s;
  -webkit-font-smoothing: antialiased;
}
 
.gv-footer-nav a:last-child {
  border-bottom: none;
}
 
.gv-footer-nav a:hover {
  color: #f5f2ee;
}
 
/* ── Contacto items ── */
.gv-footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.8vw;
  padding: 0.7vw 0;
  border-bottom: 1px solid rgba(79,126,113,0.1);
}
 
.gv-footer-contact-item:last-child {
  border-bottom: none;
}
 
.gv-footer-contact-icon {
  width: 2vw;
  height: 2vw;
  background: rgba(79,126,113,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1vw;
}
 
.gv-footer-contact-icon svg {
  width: 0.9vw;
  height: 0.9vw;
}
 
.gv-footer-contact-label {
  font-size: 0.5vw;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #4f7e71;
  display: block;
  margin-bottom: 0.2vw;
  font-family: 'DM Sans', sans-serif;
}
 
.gv-footer-contact-value {
  font-size: 0.75vw;
  color: rgba(245,242,238,0.6);
  line-height: 1.6;
  font-family: 'Gotham', sans-serif;
}
 
/* ══ DIVISOR ══ */
.gv-footer-divider {
  height: 1px;
  background: rgba(79,126,113,0.15);
  margin: 0 5.5vw;
}
 
/* ══ BOTTOM BAR ══ */
.gv-footer-bottom {
  padding: 1.5vw 5.5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5vw;
  flex-wrap: wrap;
}
 
.gv-footer-copyright {
  font-size: 0.6vw;
  color: rgba(245,242,238,0.25);
  letter-spacing: 0.06em;
  font-family: 'Gotham' Sans-Serif;
}
 
.gv-footer-legal {
  display: flex;
  gap: 1.5vw;
}
 
.gv-footer-legal a {
  font-size: 0.6vw;
  color: rgba(245,242,238,0.25);
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: color 0.3s;
  font-family: 'Gotham' Sans-Serif;
}
 
.gv-footer-legal a:hover {
  color: #b2c280;
}
 
.gv-footer-dev-badge {
  font-size: 0.6vw;
  color: rgba(245,242,238,0.18);
  letter-spacing: 0.06em;
  font-family: 'Gotham' Sans-Serif;
}
 
.gv-footer-dev-badge span {
  color: #4f7e71;
}
 
/* ══════════════════════════════════════════
   MOBILE — max-width: 768px
   Todo en vw mobile (base ~390px)
══════════════════════════════════════════ */
@media (max-width: 768px) {
 
  /* Franja CTA — stack vertical */
  .gv-footer-cta-strip {
    padding: 8vw 6vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 5vw;
  }
 
  .gv-footer-cta-text {
    font-size: 6.5vw;
    line-height: 1.3;
  }
 
  .gv-footer-cta-btn {
    font-size: 2.4vw;
    padding: 3.5vw 7vw;
    width: 100%;
    text-align: center;
  }
 
  /* Columnas → stack vertical */
  .gv-footer-main {
    grid-template-columns: 1fr;
    padding: 9vw 6vw 6vw;
    gap: 8vw;
  }
 
  /* Eyebrow / col title */
  .gv-footer-eyebrow,
  .gv-footer-col-title {
    font-size: 2.4vw;
    letter-spacing: 0.2em;
    margin-bottom: 4vw;
    gap: 2vw;
  }
 
  .gv-footer-eyebrow::before,
  .gv-footer-col-title::before {
    width: 4vw;
  }
 
  /* Logo */
/* Logo imagen */
.gv-footer-logo-img {
  width: 32vw;
  margin-bottom: 5vw;
}
 
  /* Tagline */
  .gv-footer-tagline {
    font-size: 3.4vw;
    line-height: 1.7;
    max-width: 100%;
    margin-bottom: 6vw;
  }
 
  /* Social */
  .gv-footer-social {
    gap: 2.5vw;
  }
 
  .gv-footer-social-link {
    width: 9vw;
    height: 9vw;
  }
 
  .gv-footer-social-link svg {
    width: 4vw;
    height: 4vw;
  }
 
  /* Nav */
  .gv-footer-nav a {
    font-size: 5vw;
    padding: 2.5vw 0;
  }
 
  /* Contacto */
  .gv-footer-contact-item {
    gap: 3.5vw;
    padding: 3vw 0;
  }
 
  .gv-footer-contact-icon {
    width: 8vw;
    height: 8vw;
    flex-shrink: 0;
  }
 
  .gv-footer-contact-icon svg {
    width: 3.5vw;
    height: 3.5vw;
  }
 
  .gv-footer-contact-label {
    font-size: 2vw;
    margin-bottom: 0.8vw;
  }
 
  .gv-footer-contact-value {
    font-size: 3.2vw;
    line-height: 1.6;
  }
 
  /* Divisor */
  .gv-footer-divider {
    margin: 0 6vw;
  }
 
  /* Bottom bar — stack vertical, centrado */
  .gv-footer-bottom {
    padding: 5vw 6vw;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 3vw;
  }
 
  .gv-footer-copyright {
    font-size: 2.6vw;
  }
 
  .gv-footer-legal {
    gap: 5vw;
  }
 
  .gv-footer-legal a {
    font-size: 2.6vw;
  }
 
  .gv-footer-dev-badge {
    font-size: 2.6vw;
  }
 
}/* End custom CSS */