/* Blog jurídico del portal — misma línea de diseño (bloques suaves, azul #124596, bordes finos).
   Las variables --ab-* llegan desde abogados.css. */

/* Contenedor de los bloques del blog dentro de una página de Elementor.
   La página /blog/ es ancho completo y sin esto los chips y la rejilla llegaban a los bordes de la
   pantalla (se veían pegados al canto). Misma caja que usa el resto del portal. */
.abb-seccion { max-width: 1120px; margin: 0 auto; padding: 0 18px; }
/* Si ya está dentro de un contenedor centrado, no se suma el relleno otra vez. */
.abb-pagina .abb-seccion, .abb-entrada .abb-seccion { padding: 0; max-width: none; }

.abb-pagina { max-width: 1120px; margin: 0 auto; padding: 26px 18px 64px; }
.abb-migas { font-size: 13px; color: var(--ab-gris, #6b7280); margin-bottom: 12px; display: flex; gap: 7px; flex-wrap: wrap; }
.abb-migas a { color: var(--ab-azul, #124596); text-decoration: none; }

.abb-cabecera { margin-bottom: 22px; }
.abb-cabecera h1 { font-family: Anton, var(--ab-fuente-titulo, sans-serif); font-weight: 400; font-size: 38px;
  line-height: 1.1; color: var(--ab-ink, #10233f); margin: 0 0 10px; letter-spacing: .2px; }
.abb-cabecera p { color: var(--ab-texto, #33405a); font-size: 16.5px; line-height: 1.65; margin: 0 0 14px; max-width: 76ch; }
.abb-baja { border-left: 4px solid var(--ab-bandera, #DBB63F); padding: 10px 0 10px 14px; background: #fbfcfe;
  border-radius: 0 12px 12px 0; font-size: 14px; color: var(--ab-texto, #33405a); }

/* chips de categoría */
.abb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 20px; }
.abb-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  font-size: 13.5px; font-weight: 600; text-decoration: none; border: 1px solid var(--ab-linea, #e7eaf0);
  background: #fff; color: var(--ab-ink, #10233f); }
.abb-chip-n { font-weight: 500; color: var(--ab-gris, #6b7280); font-size: 12.5px; }
.abb-chip-am { background: var(--ab-am-t, #FBF4DE); border-color: var(--ab-am-b, #EEE0B8); color: #6b5410; }
.abb-chip-az { background: var(--ab-az-t, #EBF1FA); border-color: var(--ab-az-b, #D3DFF1); color: var(--ab-azul-osc, #0d3573); }
.abb-chip-ro { background: var(--ab-ro-t, #FBEDEB); border-color: var(--ab-ro-b, #EFD6D2); color: #8c3c35; }

/* rejilla de tarjetas */
.abb-cuenta { font-size: 14px; color: var(--ab-gris, #6b7280); margin: 0 0 14px; }
.abb-titulo-bloque { font-family: Anton, sans-serif; font-weight: 400; font-size: 24px; color: var(--ab-ink, #10233f); margin: 0 0 14px; }
.abb-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }

.abb-tarjeta { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ab-linea, #e7eaf0);
  border-radius: var(--ab-radio, 18px); overflow: hidden; transition: box-shadow .18s ease, transform .18s ease; }
.abb-tarjeta:hover { box-shadow: 0 10px 26px rgba(16, 35, 63, .08); transform: translateY(-2px); }
.abb-tarjeta-foto { display: block; aspect-ratio: 16 / 9; background: var(--ab-papel, #f6f7f9); overflow: hidden; }
.abb-tarjeta-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.abb-sin-foto { display: block; height: 100%; background: linear-gradient(120deg, #eef2f8, #f8fafc); }
.abb-tarjeta-cuerpo { display: flex; flex-direction: column; gap: 9px; padding: 16px 18px 18px; flex: 1; }
.abb-tarjeta h3 { margin: 0; font-size: 18.5px; line-height: 1.35; font-weight: 700; }
.abb-tarjeta h3 a { color: var(--ab-ink, #10233f); text-decoration: none; }
.abb-tarjeta h3 a:hover { color: var(--ab-azul, #124596); }
.abb-extracto { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ab-texto, #33405a); }
.abb-pie-meta { margin: auto 0 0; font-size: 12.8px; color: var(--ab-gris, #6b7280); display: flex; gap: 6px; flex-wrap: wrap; }
.abb-leer { font-size: 14px; font-weight: 600; color: var(--ab-azul, #124596); text-decoration: none; }
.abb-leer:hover { text-decoration: underline; }
.abb-vacio { padding: 22px; background: var(--ab-papel, #f6f7f9); border-radius: 14px; color: var(--ab-texto, #33405a); }

/* paginación — centrada */
.abb-paginado { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; align-items: center;
  margin: 30px auto 0; text-align: center; }
.abb-pag { display: inline-block; min-width: 38px; text-align: center; padding: 8px 11px; border: 1px solid var(--ab-linea, #e7eaf0);
  border-radius: 10px; color: var(--ab-azul, #124596); text-decoration: none; font-size: 14px; background: #fff; }
.abb-pag:hover { border-color: var(--ab-azul, #124596); }
.abb-pag-actual { background: var(--ab-azul, #124596); color: #fff; border-color: var(--ab-azul, #124596); }
.abb-pag-salto { min-width: auto; padding: 8px 14px; }
.abb-pag-puntos { color: var(--ab-gris, #6b7280); padding: 0 2px; }
.abb-pag-info { align-self: center; margin-right: 6px; font-size: 13.5px; color: #4a5666; }

/* ---------- ficha de la entrada ---------- */
.abb-entrada { max-width: 760px; margin: 0 auto; padding: 26px 18px 60px; }
.abb-entrada h1 { font-family: Anton, sans-serif; font-weight: 400; font-size: 40px; line-height: 1.12;
  color: var(--ab-ink, #10233f); margin: 0 0 12px; }
.abb-entrada-meta { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; font-size: 13.5px; color: var(--ab-gris, #6b7280); margin-bottom: 18px; }
.abb-entrada-foto { margin: 0 0 24px; border-radius: var(--ab-radio, 18px); overflow: hidden; }
.abb-entrada-foto img { width: 100%; height: auto; display: block; }
.abb-entrada-foto figcaption { font-size: 12.5px; color: var(--ab-gris, #6b7280); padding: 8px 2px 0; }
.abb-cuerpo { font-size: 17.5px; line-height: 1.75; color: var(--ab-texto, #33405a); }
.abb-cuerpo h2 { font-family: Anton, sans-serif; font-weight: 400; font-size: 26px; color: var(--ab-ink, #10233f); margin: 34px 0 12px; }
.abb-cuerpo h3 { font-size: 20px; color: var(--ab-ink, #10233f); margin: 26px 0 10px; }
.abb-cuerpo p { margin: 0 0 18px; }
.abb-cuerpo ul, .abb-cuerpo ol { margin: 0 0 18px; padding-left: 22px; }
.abb-cuerpo li { margin-bottom: 8px; }
.abb-cuerpo a { color: var(--ab-azul, #124596); }
.abb-cuerpo blockquote { margin: 22px 0; padding: 14px 18px; background: var(--ab-am-t, #FBF4DE);
  border-left: 4px solid var(--ab-am, #A67F1C); border-radius: 0 12px 12px 0; font-size: 16.5px; }
.abb-cuerpo table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15.5px; }
.abb-cuerpo th, .abb-cuerpo td { border: 1px solid var(--ab-linea, #e7eaf0); padding: 9px 11px; text-align: left; }
.abb-cuerpo th { background: var(--ab-papel, #f6f7f9); }

.abb-fuente { margin: 32px 0 0; padding: 18px 20px; background: var(--ab-papel, #f6f7f9); border: 1px solid var(--ab-linea, #e7eaf0);
  border-radius: 14px; }
.abb-fuente h2, .abb-faq h2, .abb-relacionados h2, .abb-autor h2 { font-family: Anton, sans-serif; font-weight: 400;
  font-size: 20px; color: var(--ab-ink, #10233f); margin: 0 0 10px; }
.abb-fuente ul { margin: 0 0 10px; padding-left: 20px; }
.abb-fuente li { margin-bottom: 6px; font-size: 15px; }
.abb-fuente a { color: var(--ab-azul, #124596); }
.abb-aviso { font-size: 13px; color: var(--ab-gris, #6b7280); margin: 0; line-height: 1.6; }

.abb-faq { margin: 30px 0 0; }
.abb-faq details { border: 1px solid var(--ab-linea, #e7eaf0); border-radius: 12px; padding: 12px 16px; margin-bottom: 10px; background: #fff; }
.abb-faq summary { font-weight: 600; color: var(--ab-ink, #10233f); cursor: pointer; font-size: 16px; }
.abb-faq p { margin: 10px 0 0; font-size: 15.5px; color: var(--ab-texto, #33405a); line-height: 1.65; }

.abb-autor { margin: 30px 0 0; padding: 18px 20px; border: 1px solid var(--ab-az-b, #D3DFF1); background: var(--ab-az-t, #EBF1FA);
  border-radius: 14px; }
.abb-autor p { margin: 0 0 8px; font-size: 15px; line-height: 1.65; color: var(--ab-texto, #33405a); }
.abb-reviso { font-weight: 600; color: var(--ab-azul-osc, #0d3573); }

.abb-relacionados { margin: 40px 0 0; }
.abb-rejilla-3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

/* CTA a las herramientas del portal dentro de la entrada */
.abb-cta { margin: 30px 0 0; padding: 18px 20px; border: 1px solid var(--ab-linea, #e7eaf0); border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f8fafd); }
.abb-cta p { margin: 0 0 10px; font-size: 15.5px; color: var(--ab-texto, #33405a); }
.abb-cta a.abb-btn { display: inline-block; padding: 10px 18px; background: var(--ab-azul, #124596); color: #fff;
  border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 14.5px; }

@media (max-width: 640px) {
  .abb-seccion { padding: 0 14px; }
  .abb-pagina, .abb-entrada { padding: 18px 14px 48px; }
  .abb-cabecera h1 { font-size: 30px; }
  .abb-entrada h1 { font-size: 31px; }
  .abb-rejilla { grid-template-columns: 1fr; }
  .abb-cuerpo { font-size: 16.5px; }
}
