/* ------------------------------------------------------------------
   1. VARIABLES + BASE (declaradas en .esv-footer, nunca en :root)
   ------------------------------------------------------------------ */
.esv-footer{
  --esv-primario:#16ABB2;
  --esv-primario-osc:#0E8C92;
  --esv-fondo-barra:#2B2B31;
  --esv-fondo-links:#3C3B42;
  --esv-fondo-claro:#FFFFFF;
  --esv-texto:#E8E8EA;
  --esv-texto-suave:#A9A8B0;
  --esv-borde:rgba(255,255,255,.08);
  --esv-gris-titulo:#55545E;
  --esv-gris-titulo-osc:#2B2B31;
  --esv-fuente-titulos:'Chau Philomene One','Montserrat',Helvetica,Arial,sans-serif;
  font-family:'Montserrat','Helvetica Neue',Helvetica,Arial,sans-serif;
  color:var(--esv-texto);
  background-color:var(--esv-fondo-links);
  text-align:left;
  -webkit-font-smoothing:antialiased;
}
.esv-footer *,
.esv-footer *::before,
.esv-footer *::after{box-sizing:border-box}
.esv-footer ul{list-style:none;margin:0;padding:0}
.esv-footer li{margin:0;padding:0}
.esv-footer p{margin:0}
.esv-footer img{max-width:100%;height:auto;display:block}
.esv-footer address{font-style:normal}
.esv-footer a{color:inherit;text-decoration:none;transition:color .18s ease,background-color .18s ease,transform .18s ease}
.esv-footer a:focus-visible{outline:2px solid var(--esv-primario);outline-offset:2px}

/* ------------------------------------------------------------------
   2. BANDA 1 — Barra legal
   ------------------------------------------------------------------ */
.esv-footer__legal-bar{background-color:var(--esv-fondo-barra)}
.esv-footer__legal-inner{
  display:flex;align-items:stretch;justify-content:space-between;gap:28px;
  max-width:1440px;margin:0 auto;padding-left:28px;min-height:66px;
}
.esv-footer__legal-text{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 0}
.esv-footer__kicker{font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--esv-texto-suave)}
.esv-footer__tagline{font-size:14.5px;font-weight:400;color:var(--esv-texto)}
.esv-footer__legal-side{display:flex;align-items:stretch}
/* El <nav> debe estirarse para que el <ul> pueda centrarse de verdad */
.esv-footer__legal-nav{display:flex;align-items:center}
.esv-footer__legal-list{display:flex;align-items:center}
.esv-footer__legal-list li{display:flex;align-items:center}
.esv-footer__legal-list li + li{border-left:1px solid var(--esv-borde)}
.esv-footer__legal-link{
  display:flex;align-items:center;padding:0 15px;
  font-size:12.5px;font-weight:500;white-space:nowrap;color:var(--esv-texto-suave);
}
.esv-footer__legal-link:hover,
.esv-footer__legal-link:focus{color:var(--esv-primario)}
.esv-footer__sitemap{
  display:flex;align-items:center;justify-content:center;align-self:stretch;
  margin-left:14px;padding:0 24px;
  font-size:12px;font-weight:700;letter-spacing:.05em;white-space:nowrap;
  color:#FFFFFF;background-color:var(--esv-primario-osc);
}
.esv-footer__sitemap:hover,
.esv-footer__sitemap:focus{color:#FFFFFF;background-color:var(--esv-primario)}

/* ------------------------------------------------------------------
   3. BANDA 2 — Sellos oficiales (única banda clara)
   ------------------------------------------------------------------ */
.esv-footer__seals{
  display:flex;flex-direction:column;align-items:center;
  background-color:var(--esv-fondo-claro);padding:28px 28px 32px;
}
.esv-footer__seals-title{
  width:100%;max-width:920px;margin:0 auto 22px;text-align:center;
  font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.06em;
  text-transform:uppercase;color:var(--esv-gris-titulo); padding: 15px!important;
}
.esv-footer__seals-title strong{font-weight:700;color:var(--esv-gris-titulo-osc)}
.esv-footer__seals-list{
  width:100%;max-width:1200px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:22px clamp(20px,5vw,66px);
  padding-bottom:20px!important;
}
.esv-footer__seal{width:94px;height:94px}

/* ------------------------------------------------------------------
   4. BANDA 3 — Grid de enlaces, marca y redes sociales
   ------------------------------------------------------------------ */
.esv-footer__links{background-color:var(--esv-fondo-links);padding:46px 28px 32px}
.esv-footer__inner{max-width:1440px;margin:0 auto}
.esv-footer__grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;gap:0 32px;
}
.esv-footer__col{min-width:0;padding-bottom:10px}
.esv-footer__title{
  margin:0 0 11px;font-size:23px!important;font-weight:400;line-height:1.15;
  letter-spacing:.02em;text-transform:uppercase!important;color:var(--esv-primario);
  font-family:var(--esv-fuente-titulos)!important;
}
.esv-footer__title a:hover,
.esv-footer__title a:focus{color:#FFFFFF}
.esv-footer__title--second{margin-top:24px}
.esv-footer__subtitle{
  margin:0 0 5px;font-size:16px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--esv-texto-suave);
}
.esv-footer__subtitle a:hover,
.esv-footer__subtitle a:focus{color:var(--esv-primario)}
.esv-footer__province{
  margin-top:7px!important;font-size:16px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:#FFFFFF;
}
.esv-footer__province--first{margin-top:6px}
/* Provincia con enlace: en reposo se ve igual que una sin enlace (el <a>
   hereda color y peso del <p> vía `.esv-footer a{color:inherit}`).
   Solo cambia en hover/focus, como el resto de enlaces del footer. */
.esv-footer__province a:hover,
.esv-footer__province a:focus{color:var(--esv-primario)}
.esv-footer__link{
  display:flex;align-items:center;min-height:0;padding:5px 0;
  font-size:16.5px;line-height:1.3;color:var(--esv-texto);text-wrap:pretty;
}
.esv-footer__link:hover,
.esv-footer__link:focus{color:var(--esv-primario)}
.esv-footer__link--strong{font-weight:700;letter-spacing:.03em}

.esv-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:44px}
.esv-footer__logo{padding-top: 30px;width:150px;height:auto}
.esv-footer__phone{
  display:flex;align-items:center;min-height:44px;
  font-size:20px;font-weight:800;letter-spacing:.01em;color:var(--esv-primario);
}
.esv-footer__phone:hover,
.esv-footer__phone:focus{color:#FFFFFF}

.esv-footer__social{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  margin-top:40px!important;padding-top:36px!important;padding-bottom:8px!important;border-top:1px solid var(--esv-borde);
}
.esv-footer__social-link{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;
  color:#FFFFFF;background-color:var(--esv-primario);
}
.esv-footer__social-link:hover,
.esv-footer__social-link:focus{color:#FFFFFF;background-color:var(--esv-primario-osc);transform:scale(1.08)}
.esv-footer__social-link svg{width:26px;height:26px;display:block}

/* ------------------------------------------------------------------
   5. BANDA 4 — Copyright
   ------------------------------------------------------------------ */
.esv-footer__copyright{
  background-color:var(--esv-fondo-barra);padding:15px 20px;text-align:center;
  font-size:11.5px;font-weight:500;letter-spacing:.04em;color:var(--esv-texto-suave);
}

/* ------------------------------------------------------------------
   6. MEDIA QUERIES — 6 / 4 / 3 / 1 / 1 columnas
      Flujo natural por filas: mismo orden de lectura en todos los anchos.
   ------------------------------------------------------------------ */
@media (max-width:1199px){
  .esv-footer__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}
  .esv-footer__col{border-top:1px solid var(--esv-borde);padding-top:24px;padding-bottom:18px}

  /* Barra legal en columna: texto arriba centrado, enlaces debajo en fila
     que envuelve, y el boton cerrando a ancho completo. */
  .esv-footer__legal-inner{flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-left:0}
  .esv-footer__legal-text{align-items:center;text-align:center;padding:16px 20px 10px}
  .esv-footer__legal-side{flex-direction:column;align-items:stretch}
  .esv-footer__legal-nav{display:flex;justify-content:center}
  .esv-footer__legal-list{flex-wrap:wrap;justify-content:center;padding:0 14px}
  .esv-footer__legal-link{min-height:40px}
  .esv-footer__sitemap{margin:12px 0 0;min-height:48px;font-size:13px}
}
@media (max-width:991px){
  .esv-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
  .esv-footer__links{padding:38px 22px 28px}
  /* Columnas de 3 más estrechas: bajamos un pelín para que no desborden. */
  .esv-footer__title{font-size:20px;margin-bottom:10px}
  .esv-footer__subtitle{font-size:15px}
  .esv-footer__province{font-size:15px}
  .esv-footer__link{font-size:16px}
  .esv-footer__legal-link{padding:0 11px}
}
@media (max-width:767px){
  /* La barra legal ya viene en columna desde 1199px.
     Aqui los enlaces legales pasan a bloques a ancho completo, dos por fila. */
  .esv-footer__legal-text{padding:16px 18px 12px}
  .esv-footer__kicker{font-size:11px;letter-spacing:.14em}
  .esv-footer__legal-nav{display:block}
  .esv-footer__legal-list li{flex:1 1 44%}
  .esv-footer__legal-list li + li{border-left:0}
  .esv-footer__legal-link{
    width:100%;justify-content:center;min-height:40px;padding:0 8px;
    border-top:1px solid var(--esv-borde);
    font-size:11px;text-align:center;white-space:normal;
  }
  .esv-footer__sitemap{margin:14px 0 0;min-height:50px;font-size:13px}
  .esv-footer__seals{padding:24px 18px 26px}
  .esv-footer__seals-title{margin-bottom:18px;font-size:11px;letter-spacing:.05em}
  .esv-footer__seals-list{gap:16px 20px}
  .esv-footer__seal{width:76px;height:76px}
  .esv-footer__links{padding:30px 18px 24px}
  /* Móvil: una sola columna a ancho completo. Hay sitio de sobra, así que la
     tipografía no se reduce respecto a desktop. */
  .esv-footer__grid{grid-template-columns:1fr}
  .esv-footer__col{padding-top:20px;padding-bottom:14px}
  .esv-footer__title{font-size:22px}
  .esv-footer__subtitle{font-size:16px}
  .esv-footer__province{font-size:16px}
  /* A partir de aquí (móvil) se devuelve el área táctil mínima de 40px. */
  .esv-footer__link{font-size:16.5px;min-height:40px;padding:9px 0}
}
@media (max-width:479px){
  /* Sigue en una sola columna (heredada de 767px). */
  .esv-footer__brand{display:none;}
  .esv-footer__links{padding:26px 14px 22px}
  .esv-footer__title{font-size:20px;letter-spacing:.01em;margin-bottom:9px;line-height:1.1}
  .esv-footer__link{font-size:16px;line-height:1.25;padding:8px 0}
  .esv-footer__province{font-size:15.5px;letter-spacing:.06em}
  .esv-footer__seal{width:66px;height:66px}
  .esv-footer__social{gap:11px;margin-top:30px;padding-top:28px}
  .esv-footer__social-link{width:40px;height:40px;border-radius:11px}
  .esv-footer__social-link svg{width:23px;height:23px}
  .esv-footer__logo{width:132px}
  .esv-footer__phone{font-size:18px}
}

/* ------------------------------------------------------------------
   7. CAPA DEFENSIVA — evita que estilos del theme (Divi) se filtren
      HACIA DENTRO del footer. Todo sigue scopeado bajo .esv-footer.
      Divi aplica reglas globales como `p{padding-bottom:1em}` y
      `h1..h6{padding-bottom:10px}` que descolocarían el grid.
   ------------------------------------------------------------------ */
.esv-footer h1,
.esv-footer h2,
.esv-footer h3,
.esv-footer h4,
.esv-footer h5,
.esv-footer h6{padding:0;font-family:inherit;text-transform:none}
.esv-footer p{padding:0}
.esv-footer ul,
.esv-footer ol{padding-bottom:0;list-style-image:none}
.esv-footer li{list-style-type:none;list-style-position:outside}
.esv-footer nav,
.esv-footer section,
.esv-footer address{margin:0;padding:0}
.esv-footer a:hover{text-decoration:none}
.esv-footer svg{max-width:none;vertical-align:middle}

/* ------------------------------------------------------------------
   8. BLINDAJE (opcional) — solo se activa si el <footer> lleva además
      la clase .esv-footer--blindaje.
      Úsalo únicamente si el footer se inserta DENTRO de #page-container
      (por ejemplo vía shortcode en un módulo Code de Divi), donde las
      reglas de Divi con especificidad de ID ganarían a nuestras clases.
      Inyectado con wp_footer NO hace falta: el footer queda fuera de
      #page-container y ninguna regla con ID llega a alcanzarlo.
   ------------------------------------------------------------------ */
.esv-footer--blindaje .esv-footer__title,
.esv-footer--blindaje .esv-footer__subtitle,
.esv-footer--blindaje .esv-footer__province,
.esv-footer--blindaje .esv-footer__seals-title,
.esv-footer--blindaje .esv-footer__kicker,
.esv-footer--blindaje .esv-footer__tagline{
  padding:0 !important;
  font-family:inherit !important;
}
.esv-footer--blindaje .esv-footer__title{
  margin:0 0 11px !important;
  font-size:23px !important;
  font-weight:400 !important;
  line-height:1.15 !important;
  font-family:var(--esv-fuente-titulos) !important;
  color:var(--esv-primario) !important;
  text-transform:uppercase !important;
}
.esv-footer--blindaje .esv-footer__link{
  font-size:16.5px !important;
  color:var(--esv-texto) !important;
}
.esv-footer--blindaje .esv-footer__link:hover{color:var(--esv-primario) !important}
