#sp-main-body { padding-top: 6px !important; }
#sp-main-body .container,
#sp-main-body .container-inner { padding-top: 0 !important; }

.article-details > *:first-child,
.article-details h1:first-child { margin-top: 0 !important; }

.article-details p:empty { margin: 0 !important; height: 0 !important; }

.sticky-header-placeholder { height: 0 !important; }

#sp-header { margin-bottom: 0 !important; }

/* Ocultar iconos sociales en artículos Helix Ultimate (todas las vistas) */
.article-ratings-social-share,
.sp-post-social-share,
.sp-pagebuilder .sppb-addon-social-share {
    display: none !important;
    visibility: hidden !important;
}

.hero-kenburns{
  position:relative; height:80vh; min-height:480px; overflow:hidden;
  background:#0b1320; color:#fff;
}
.hero-kenburns__slides, .hero-kenburns__slides img{
  position:absolute; inset:0; width:100%; height:100%;
}
.hero-kenburns__slides{ isolation:isolate; }
.hero-kenburns__slides img{
  object-fit:cover; opacity:0; transform:scale(1.05);
  animation: fadeZoom 18s infinite;
  /* Mejora nitidez en algunos navegadores */
  image-rendering: -webkit-optimize-contrast;
  filter: contrast(0.98) brightness(0.95);
}

/* Si hay 3 imágenes */
.hero-kenburns__slides img:nth-child(1){ animation-delay: 0s;   }
.hero-kenburns__slides img:nth-child(2){ animation-delay: 6s;   }
.hero-kenburns__slides img:nth-child(3){ animation-delay: 12s;  }

/* Si dejas 2 imágenes, usa estos delays: 0s y 9s y cambia la duración a 18s */
@keyframes fadeZoom{
  0%{    opacity:0; transform:scale(1.05); }
  5%{    opacity:1; transform:scale(1.00); }   /* entra */
  30%{   opacity:1; transform:scale(1.03); }   /* zoom sutil */
  35%{   opacity:0; transform:scale(1.06); }   /* sale */
  100%{  opacity:0; transform:scale(1.06); }
}

.hero-kenburns::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.45));
  z-index:1;
}

.hero-kenburns__content{
  position:absolute; inset:0; display:grid; place-content:center; text-align:center;
  padding:0 1rem; z-index:2;
}
.btn{ display:inline-block; padding:.9rem 1.2rem; border-radius:999px; margin:.3rem .4rem; border:1px solid rgba(255,255,255,.5); }
.btn--primary{ background:#1f5fa2; border-color:#1f5fa2; color:#fff; }
.btn--ghost{ background:transparent; color:#fff; }

/* Accesibilidad: si el usuario prefiere menos movimiento */
@media (prefers-reduced-motion: reduce){
  .hero-kenburns__slides img{
    animation: none; opacity: 1; transform:none;
  }
  .hero-kenburns{ background:#0b1320 url("/media/site/hero/LINAC.webp") center/cover no-repeat; }
}

/* Ajuste de altura del hero */
.hero-kenburns{
    height:40vh !important;
    min-height:350px !important;
}


/* TABLAS RESPONSIVE RFIR */
.rfir-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.rfir-table td, 
.rfir-table th {
    padding: 10px 8px !important;
    vertical-align: middle;
    text-align: left;
    word-break: break-word;
}

/* Ajuste específico para móviles */
@media (max-width: 600px) {
    .rfir-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .rfir-table td, 
    .rfir-table th {
        padding: 12px 10px !important;
        font-size: 15px;
    }
}

/* === FIX ÚNICO Y DEFINITIVO PARA TABLAS EN MÓVIL === */
/* Compactar tablas dentro del contenido en pantallas pequeñas */
@media (max-width: 768px){

  .article-details table{
    width: 100% !important;          /* ocupa el ancho del móvil */
    table-layout: fixed !important;  /* columnas compactas */
    border-collapse: collapse;
  }

  .article-details table th,
  .article-details table td{
    white-space: normal !important;  /* permite saltos de línea */
    word-break: break-word;
    padding: 6px 6px !important;
    font-size: 14px !important;
    line-height: 1.25;
    text-align: left;
    vertical-align: top;
  }

  /* Ajusta la columna de nombres largos (Materias) */
  .article-details table td:first-child,
  .article-details table th:first-child{
    width: 40% !important;
  }
}

/* --- ARREGLO MINIMAL: recuperar tabla usable en móvil --- */
@media (max-width: 768px){
  /* 1) Volver a auto: evita recortes de celdas */
  .article-details table{
    table-layout: auto !important;
    width: 100% !important;
    border-collapse: collapse;
  }

  /* 2) Permitir que los textos envuelvan bien */
  .article-details table th,
  .article-details table td{
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
    padding: 8px 6px !important;
    font-size: 14px !important;
    line-height: 1.25;
    text-align: left;
    vertical-align: top;
  }

  /* 3) Quitar el forzado de ancho en la primera columna */
  .article-details table td:first-child,
  .article-details table th:first-child{
    width: auto !important;
  }

  /* 4) Asegurar que el contenedor no esté forzando scroll raro */
  .article-details{
    overflow-x: visible !important;
  }
}
