/* ============================================================
   laboral.css — Componentes propios de la guia laboral.
   Reutiliza las clases .blog-* definidas en insolvencia.css
   (tarjeta, titulos, listas, callout, infografia).
   ============================================================ */

.blog-page{
  max-width:980px;
  margin:0 auto;
  padding:48px 24px;
}

/* --- Subtitulos de tercer nivel (index.css resetea los headings) --- */
.blog-section h3{
  margin:26px 0 10px;
  font-size:26px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.01em;
  color:#111318;
}

.blog-section em{
  font-style:italic;
}

.blog-section a{
  color:#0020e6;
}

/* --- Linea de metadatos bajo el subtitulo --- */
.blog-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 1rem;
  margin:16px 0 0;
  font-size:14px;
  color:#5b6b86;
}

.blog-meta span{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}

.blog-meta span+span::before{
  content:"·";
  color:#a8b2c1;
}

/* --- Indice del articulo --- */
.blog-toc{
  margin-top:28px;
  border:1px solid #d9e0f2;
  border-radius:16px;
  background:#f8faff;
  padding:20px 22px;
}

.blog-toc h2{
  margin:0 0 12px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0020e6;
}

.blog-toc ol{
  margin:0;
  padding-left:22px;
  columns:2;
  column-gap:32px;
}

.blog-toc li{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.5;
  break-inside:avoid;
}

.blog-toc a{
  color:#1f355e;
  text-decoration:none;
  font-weight:600;
}

.blog-toc a:hover{
  color:#0020e6;
  text-decoration:underline;
}

/* --- Tablas de cifras --- */
.blog-table-wrap{
  margin:0 0 18px;
  overflow-x:auto;
  border:1px solid #dbe2ef;
  border-radius:14px;
  background:#fff;
}

.blog-table{
  width:100%;
  border-collapse:collapse;
  font-size:18px;
  min-width:520px;
}

.blog-table caption{
  caption-side:top;
  text-align:left;
  padding:14px 16px 0;
  font-size:15px;
  color:#5b6b86;
}

.blog-table th,
.blog-table td{
  padding:14px 16px;
  text-align:left;
  border-bottom:1px solid #eceff5;
  line-height:1.5;
  color:#2a3548;
}

.blog-table thead th{
  background:#f3f6ff;
  color:#0f2f70;
  font-weight:800;
  font-size:16px;
  border-bottom:1px solid #dbe2ef;
}

.blog-table tbody tr:last-child td{
  border-bottom:0;
}

.blog-table td strong{
  color:#111318;
}

/* --- Caja de aviso / plazo --- */
.blog-note{
  margin:0 0 16px;
  border-left:4px solid #0020e6;
  background:#f5f7ff;
  border-radius:0 14px 14px 0;
  padding:16px 20px;
}

.blog-note p{
  margin:0;
  font-size:19px;
  line-height:1.65;
  color:#1f355e;
}

.blog-note p+p{
  margin-top:10px;
}

.blog-note strong{
  color:#0f2f70;
}

.blog-note--alert{
  border-left-color:#b42318;
  background:#fff5f4;
}

.blog-note--alert p{
  color:#6b241d;
}

.blog-note--alert strong{
  color:#8a2b21;
}

/* --- Pasos numerados --- */
.blog-steps{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  counter-reset:paso;
}

.blog-steps li{
  position:relative;
  counter-increment:paso;
  margin:0 0 14px;
  padding:0 0 0 52px;
  font-size:20px;
  line-height:1.6;
  color:#2a3548;
  min-height:36px;
}

.blog-steps li::before{
  content:counter(paso);
  position:absolute;
  left:0;
  top:0;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#0020e6;
  color:#fff;
  font-weight:800;
  font-size:17px;
}

/* --- Preguntas frecuentes --- */
.blog-faq{
  margin-top:6px;
}

.blog-faq details{
  border:1px solid #dbe2ef;
  border-radius:14px;
  background:#fff;
  margin-bottom:12px;
  overflow:hidden;
}

.blog-faq details[open]{
  border-color:#b9c7f0;
  box-shadow:0 6px 18px rgba(2,6,23,.05);
}

.blog-faq summary{
  cursor:pointer;
  list-style:none;
  padding:18px 52px 18px 20px;
  position:relative;
  font-size:20px;
  font-weight:700;
  line-height:1.45;
  color:#111318;
}

.blog-faq summary::-webkit-details-marker{
  display:none;
}

.blog-faq summary::after{
  content:"+";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  font-weight:700;
  line-height:1;
  color:#0020e6;
}

.blog-faq details[open] summary::after{
  content:"−";
}

.blog-faq summary:hover{
  color:#0020e6;
}

.blog-faq .blog-faq__body{
  padding:0 20px 18px;
}

.blog-faq .blog-faq__body p{
  margin:0 0 10px;
  font-size:19px;
  line-height:1.7;
  color:#2a3548;
}

.blog-faq .blog-faq__body p:last-child{
  margin-bottom:0;
}

/* --- Aviso legal al cierre --- */
.blog-disclaimer{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid #eceff3;
  font-size:15px;
  line-height:1.7;
  color:#66748c;
}

.blog-disclaimer strong{
  color:#4b5a74;
}

@media (max-width:1024px){
  .blog-toc ol{columns:1}
  .blog-steps li{font-size:19px}
}

@media (max-width:768px){
  .blog-page{padding:28px 14px}
  .blog-section h3{font-size:21px}
  .blog-meta{font-size:13px;gap:.35rem .75rem}
  .blog-meta span+span::before{content:none}
  .blog-toc{padding:16px 16px}
  .blog-toc li{font-size:16px}
  .blog-table{font-size:16px}
  .blog-table th,.blog-table td{padding:12px 13px}
  .blog-note p{font-size:17px}
  .blog-steps li{font-size:17px;padding-left:44px;min-height:32px}
  .blog-steps li::before{width:30px;height:30px;font-size:15px}
  .blog-faq summary{font-size:18px;padding:15px 44px 15px 16px}
  .blog-faq .blog-faq__body{padding:0 16px 15px}
  .blog-faq .blog-faq__body p{font-size:17px}
}

/* --- Panel "Lo esencial" (sustituye al hero con foto) --- */
.blog-keypoints{
  margin-top:26px;
  border:1px solid #d9e0f2;
  border-radius:16px;
  background:linear-gradient(180deg,#f9fbff,#f1f5ff);
  padding:22px 24px 18px;
}

.blog-keypoints h2{
  margin:0 0 14px;
  font-size:20px;
  font-weight:800;
  color:#0f2f70;
}

.blog-keypoints ul{
  margin:0;
  padding-left:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
}

.blog-keypoints li{
  position:relative;
  margin:0;
  padding-left:28px;
  color:#1f355e;
  font-weight:600;
  font-size:18px;
  line-height:1.45;
}

.blog-keypoints li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#0020e6;
  box-shadow:0 0 0 3px rgba(0,32,230,.12);
}

@media (max-width:768px){
  .blog-keypoints{padding:18px 18px 14px}
  .blog-keypoints ul{grid-template-columns:1fr;gap:10px}
  .blog-keypoints li{font-size:17px}
}
