/* ==========================================================
   Footer Geincor — estilos del front-end
   Prefijo .gcf- para no chocar con el tema.
   Se usa !important en las propiedades clave porque temas como
   Salient / WPBakery aplican reglas muy específicas a h4, ul y li.
   ========================================================== */
.gcf{
  --gcf-navy:#070f1c;
  --gcf-blue:#3d5af1;
  --gcf-blue-soft:#6c8cff;
  --gcf-cyan:#33ccff;
  --gcf-titulo:#2b5ce2;
  --gcf-text:#eaf0f8;
  --gcf-dim:#7d8fa8;
  --gcf-hair:rgba(255,255,255,.07);
  --gcf-hair-2:rgba(255,255,255,.14);
  background:var(--gcf-navy);
  color:var(--gcf-text);
  position:relative;
  overflow:hidden;
  display:block;
  width:100%;
}
.gcf,
.gcf *{
  font-family:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  box-sizing:border-box;
}
.gcf *{margin:0;padding:0}
.gcf a{text-decoration:none !important;box-shadow:none !important}
.gcf a:hover,.gcf a:focus{text-decoration:none !important}
.gcf p{margin:0}

/* Listas: fuera viñetas y sangrías del tema */
.gcf ul,
.gcf ul li{
  list-style:none !important;
  list-style-type:none !important;
  list-style-image:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
}
.gcf ul li::before,
.gcf ul li::marker{content:none !important;display:none !important}

/* Títulos: el tema los agranda, aquí se fijan */
.gcf h2,
.gcf h4{
  font-family:'Montserrat',sans-serif !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.gcf-wrap{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 32px;
}
/* Modo "ancho del contenedor padre": sin límite ni relleno propio */
.gcf.gcf-ancho-padre .gcf-wrap{max-width:100%;padding:0}

.gcf-beam{
  height:1px;width:100%;
  background:linear-gradient(90deg, transparent, var(--gcf-blue) 30%, var(--gcf-cyan) 70%, transparent);
  opacity:.9;
}

/* ---------- contacto ---------- */
.gcf .gcf-contact{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 0;
  padding:54px 0 44px;
  border-bottom:1px solid var(--gcf-hair);
}
.gcf .gcf-contact h2{
  font-size:clamp(24px,3vw,36px) !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
  color:#fff !important;
  line-height:1.15 !important;
}
.gcf .gcf-contact h2 span{color:var(--gcf-blue-soft) !important}
.gcf-contact-links{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 36px;align-items:baseline}
.gcf .gcf-clink{display:flex;flex-direction:column;gap:3px}
.gcf .gcf-clink small{
  font-size:10.5px !important;letter-spacing:.22em !important;
  color:var(--gcf-dim) !important;font-weight:600 !important;line-height:1.4 !important;
}
.gcf .gcf-clink b{
  font-size:15px !important;font-weight:600 !important;color:var(--gcf-text) !important;
  border-bottom:1px solid transparent;padding-bottom:2px !important;line-height:1.4 !important;
  transition:color .15s ease, border-color .15s ease;
}
.gcf .gcf-clink:hover b{color:var(--gcf-blue-soft) !important;border-color:var(--gcf-blue-soft)}
.gcf .gcf-hours{width:100%;margin-top:22px !important;font-size:12.5px !important;color:var(--gcf-dim) !important;line-height:1.6 !important}
.gcf .gcf-hours b{color:var(--gcf-text) !important;font-weight:600 !important}

/* ---------- columnas ---------- */
.gcf .gcf-main{
  display:grid;
  grid-template-columns:1.2fr .9fr 1fr 1fr;
  gap:56px;
  padding:52px 0 56px;
}
.gcf .gcf-col h4{
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--gcf-titulo) !important;
  line-height:1.4 !important;
  margin:0 0 20px !important;
}
.gcf .gcf-col li{margin:0 0 10px !important}
.gcf .gcf-col a.gcf-link{
  color:var(--gcf-text) !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  display:inline-block;
  opacity:.85;
  transition:opacity .12s ease, color .12s ease;
}
.gcf .gcf-col a.gcf-link:hover{opacity:1;color:var(--gcf-blue-soft) !important}
.gcf .gcf-subgroup{margin-top:30px}

.gcf .gcf-brand .gcf-logo{font-weight:800 !important;font-size:24px !important;letter-spacing:.06em !important;color:#fff !important;line-height:1.2 !important}
.gcf .gcf-brand .gcf-logo em{font-style:normal;color:var(--gcf-blue-soft) !important}
.gcf .gcf-brand .gcf-logo-img{max-width:190px;height:auto;display:block}
.gcf .gcf-brand > p{font-size:13.5px !important;color:var(--gcf-dim) !important;line-height:1.7 !important;margin:14px 0 24px !important;max-width:30ch}
.gcf .gcf-loc{font-size:13.5px !important;color:var(--gcf-dim) !important;line-height:1.7 !important;margin-bottom:20px}
.gcf .gcf-loc b{display:block;color:var(--gcf-text) !important;font-weight:600 !important}

.gcf .gcf-map-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.gcf .gcf-map-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px !important;border-radius:999px;
  font-weight:700 !important;font-size:14px !important;line-height:1 !important;
  transition:transform .15s ease;
}
.gcf .gcf-map-btn:hover{transform:translateY(-2px)}
.gcf .gcf-map-btn.gcf-waze{background:var(--gcf-cyan) !important;color:#fff !important}
.gcf .gcf-map-btn.gcf-waze svg{width:20px;height:20px}
.gcf .gcf-map-btn.gcf-gmaps{background:#fff !important;color:#5f6368 !important;font-weight:600 !important}
.gcf .gcf-map-btn.gcf-gmaps svg{width:18px;height:18px}
.gcf .gcf-map-btn.gcf-gmaps b{color:#5f6368 !important;font-weight:700 !important}

.gcf .gcf-libro{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px !important;font-weight:600 !important;color:var(--gcf-dim) !important;
  padding-bottom:2px !important;border-bottom:1px solid var(--gcf-hair-2);
  transition:color .15s ease, border-color .15s ease;
}
.gcf .gcf-libro:hover{color:var(--gcf-text) !important;border-color:var(--gcf-blue-soft)}
.gcf .gcf-libro svg{width:14px;height:14px;stroke:var(--gcf-blue-soft)}

/* ---------- barra inferior ---------- */
.gcf .gcf-bottom{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;
  padding:22px 0 26px;
  border-top:1px solid var(--gcf-hair);
}
.gcf .gcf-copy{font-size:12px !important;color:var(--gcf-dim) !important;line-height:1.6 !important}
.gcf .gcf-socials{display:flex;gap:22px;margin-left:auto}
.gcf .gcf-socials a{display:flex;align-items:center;transition:transform .15s ease}
.gcf .gcf-socials a:hover{transform:translateY(-2px)}
.gcf .gcf-socials svg{width:16px;height:16px;fill:var(--gcf-dim);transition:fill .15s ease}
.gcf .gcf-socials a:hover svg{fill:var(--gcf-blue-soft)}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .gcf .gcf-main{grid-template-columns:1fr 1fr;gap:44px}
}
@media (max-width:640px){
  .gcf-wrap{padding:0 20px}
  .gcf.gcf-ancho-padre .gcf-wrap{padding:0}
  .gcf .gcf-contact{padding:44px 0 36px}
  .gcf-contact-links{margin-left:0;width:100%;gap:16px 28px}
  .gcf .gcf-main{grid-template-columns:1fr 1fr;gap:32px 24px;padding:42px 0 44px}
  .gcf .gcf-brand{grid-column:1 / -1}
  .gcf .gcf-main .gcf-col:last-child{grid-column:1 / -1}
  .gcf .gcf-main .gcf-col:last-child ul{columns:2;column-gap:24px}
  .gcf .gcf-socials{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .gcf *{transition:none !important}
}
