/* ============================================================
   Ajustes de presentación del sitio
   ============================================================ */

/* ---------- Cabecera ----------

   El color de los enlaces del menú NO está aquí. Los tres enlaces de ancla de
   la portada cuentan como `current-menu-item`, y ese estado lo pintaba Astra
   con el salvia de marca #6B7F60: 3,83:1 sobre el crema de la cabecera, por
   debajo del mínimo AA de 4,5:1. Se corrigió en el ajuste del tema
   (`header-menu1-a-color-responsive` = #586A4E, 5,16:1) con
   `tools/astra_menu_color.php`, y no con un CSS aquí, porque la regla de
   Astra gana por especificidad y la pelea acabaría en un `!important` que
   deja el color escrito en dos sitios.

   La flecha del desplegable de «Servicios» sí es cosa de aquí: medía 19,6 px
   de ancho, por debajo del mínimo de 24x24 que pide el criterio de tamaño del
   objetivo táctil. Se ensancha la zona pulsable sin mover la flecha, que
   sigue centrada. */
.main-navigation .dropdown-menu-toggle{
  min-width:24px;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* El color de la firma de las entradas, de la categoría del listado y de los
   enlaces del texto TAMPOCO está aquí, y por el mismo motivo. Los tres salían
   del color de enlace del tema, que estaba en #8B9E7E: 2,71:1 sobre el crema.
   No se notaba en la portada ni en servicios porque ahí los enlaces llevan
   estilos propios, pero en las páginas legales —el enlace a la AEPD, el de la
   política de cookies— salía casi ilegible.

   Corregido en `link-color` = #4F6245 (6,25:1) con tools/astra_link_color.php,
   que es el mismo verde que ya usaban los enlaces del cuerpo de las entradas.
   Se intentó primero parchear `.entry-meta` desde aquí: era tapar el síntoma
   y dejaba fuera cada página que no se hubiera mirado. */

/* ---------- Imagen destacada del listado ----------

   Astra encaja la miniatura en una caja 16:9 con `object-fit: fill`, que no
   recorta: estira. La foto es 3:2, así que salía deformada un 18% a lo ancho
   —caras más anchas de lo que son, que en una foto de personas se nota
   aunque no se sepa decir por qué—. `cover` recorta en vez de deformar. */

.ast-blog-featured-section .post-thumb-img-content img,
.ast-blog-featured-section img{
  object-fit:cover;
}

/* ---------- Pie ----------
   El pie va sobre verde oscuro #2C3325. Todos los valores de
   abajo están medidos contra ese fondo:

     #FBFAF7 crema          12,5:1  AAA
     #CBD3C1 salvia          8,5:1  AAA
     #B6C0AB salvia media    6,9:1  AA
     #98A38D salvia tenue    5,0:1  AA
     #D4A574 terracota       5,9:1  AA

   El mínimo AA para texto es 4,5:1, así que todo pasa. */

.ast-footer-copyright{
  color:#CBD3C1;
  line-height:1.7;
}
.ast-footer-copyright .footer-logo{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:26px;
  color:#FBFAF7;
  line-height:1.2;
}
.ml-foot-role{
  font-size:10px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#98A38D;
  margin-top:6px;
}

.ml-foot-links{
  margin-top:20px;
  font-size:15px;
}
.ml-foot-links a{
  color:#FBFAF7;
  text-decoration:none;
  border-bottom:1px solid rgba(203,211,193,.4);
  padding-bottom:2px;
  transition:color .2s ease,border-color .2s ease;
}
.ml-foot-links a:hover,
.ml-foot-links a:focus-visible{
  color:#D4A574;
  border-color:#D4A574;
}
.ml-foot-sep{
  color:#6E7A63;        /* decorativo: no transmite información */
  padding:0 8px;
  user-select:none;
}

.ml-foot-addr{
  margin-top:12px;
  font-size:14px;
  color:#B6C0AB;
}

.ml-foot-legal{
  margin-top:24px;
  font-size:13px;
}
.ml-foot-legal a{
  color:#B6C0AB;
  text-decoration:none;
  border-bottom:1px solid rgba(182,192,171,.3);
}
.ml-foot-legal a:hover,
.ml-foot-legal a:focus-visible{
  color:#D4A574;
  border-color:#D4A574;
}

/* Aviso de urgencias: tiene que verse sin gritar. Un filete a la
   izquierda lo separa del resto sin convertirlo en una alarma. */
.ml-foot-urgencia{
  margin:28px auto 0;
  max-width:46rem;
  padding:12px 0 12px 18px;
  border-left:2px solid #D4A574;
  font-size:13px;
  line-height:1.7;
  color:#B6C0AB;
  text-align:left;
}
.ml-foot-urgencia strong{ color:#FBFAF7 }

.ml-foot-copy{
  margin-top:28px;
  font-size:11px;
  color:#98A38D;
}

@media (max-width:600px){
  .ml-foot-links{ font-size:14px; line-height:2.2 }
  .ml-foot-sep{ padding:0 5px }
}

/* ---------- Página 404 ----------
   Sobre el crema del cuerpo (#FAF8F4). Contrastes medidos:
   #2C3325 12,5:1 · #4A5443 7,4:1 · #6B7566 4,9:1 */

.ml-404{ background:#FAF8F4 }
.ml-404__inner{
  max-width:640px;
  margin:0 auto;
  padding:clamp(56px,10vw,110px) 22px clamp(64px,10vw,120px);
  text-align:center;
}
.ml-404__eyebrow{
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#6B7566;
  margin:0 0 18px;
}
.ml-404__title{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:clamp(30px,5.5vw,46px);
  line-height:1.15;
  font-weight:400;
  color:#2C3325;
  margin:0 0 18px;
  text-wrap:balance;
}
.ml-404__text{
  font-size:16.5px;
  line-height:1.75;
  color:#4A5443;
  margin:0 auto;
  max-width:46ch;
}

.ml-404__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:34px;
}
.ml-404__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  border-radius:999px;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  border:1.5px solid #C9D0C0;
  color:#2C3325;
  background:transparent;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease;
}
.ml-404__btn:hover,
.ml-404__btn:focus-visible{
  transform:translateY(-2px);
  border-color:#4F6245;
  color:#4F6245;
}
.ml-404__btn--primary{
  background:#4F6245;
  border-color:#4F6245;
  color:#FBFAF7;
}
.ml-404__btn--primary:hover,
.ml-404__btn--primary:focus-visible{
  background:#3A4733;
  border-color:#3A4733;
  color:#FBFAF7;
}

.ml-404__links,
.ml-404__posts{ margin-top:44px }
.ml-404__links-title{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#6B7566;
  margin:0 0 14px;
}
.ml-404__links ul,
.ml-404__posts ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 26px;
  justify-content:center;
}
.ml-404__links a,
.ml-404__posts a{
  color:#4A5443;
  text-decoration:none;
  font-size:15px;
  border-bottom:1px solid rgba(139,158,126,.45);
  padding-bottom:2px;
  transition:color .2s ease,border-color .2s ease;
}
.ml-404__links a:hover,
.ml-404__posts a:hover,
.ml-404__links a:focus-visible,
.ml-404__posts a:focus-visible{
  color:#4F6245;
  border-color:#4F6245;
}

.ml-404__urgencia{
  margin:52px auto 0;
  max-width:48ch;
  padding:12px 0 12px 18px;
  border-left:2px solid #D4A574;
  font-size:13px;
  line-height:1.7;
  color:#6B7566;
  text-align:left;
}
.ml-404__urgencia strong{ color:#2C3325 }

/* La cabecera del tema no debe taparse con el contenido en el 404. */
.ml-404 .site-main{ padding:0 }
