/* FIX MENU OFFCANVAS: Alineación de flechas y animación */
.offcanvas-menu .offcanvas-inner ul.menu li a,
.offcanvas-menu .offcanvas-inner ul.menu li .nav-header {
  display: flex !important;
  align-items: center !important;
  width: fit-content !important; /* Clave: ajusta la caja al largo del texto */
  min-width: 100px;
  max-width: 100%;
}

.offcanvas-menu .offcanvas-inner ul.menu li .menu-toggler {
  position: static !important; /* Elimina la posición absoluta */
  margin-left: 10px !important; /* Distancia fija desde la última letra */
  padding: 0 !important;
  display: inline-flex !important;
  transform: none !important;
}

.offcanvas-menu .offcanvas-inner ul.menu li .menu-toggler:after {
  content: "\f105" !important; /* Código FontAwesome (flecha derecha) */
  color: #fff !important;
  font-weight: 900 !important;
  transition: transform 0.3s !important; /* Suaviza la animación */
}

/* Estado Abierto (Rotación) */
.offcanvas-menu
  .offcanvas-inner
  ul.menu
  li.menu-parent-open
  > a
  .menu-toggler:after,
.offcanvas-menu
  .offcanvas-inner
  ul.menu
  li.menu-parent-open
  > .nav-header
  .menu-toggler:after {
  transform: rotate(90deg) !important;
  color: #ccc !important; /* Color gris al estar desplegado */
}

/*titulos de cursos SP LMS courses*/
.mod-splms-courses strong.splms-course-title {
  color: #006984 !important;
  font-weight: 400;
  font-size: 20px;
  line-height: 33px;
  margin-top: 15px !important;
  margin-bottom: 30px !important;
  /* === TRUNCADO A 2 LÍNEAS === */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden; /* IMPORTANTE: sin esto no funciona */
  text-overflow: ellipsis;
  position: relative; /* Para evitar que el texto afecte el layout */
  /* === ALTURA MÍNIMA === */
  min-height: 33px;
}

.mod-splms-courses a.splms-course-title {
  color: #006984 !important;
}

.burger-icon span {
    background-color: #ffffff !important;
}

.offcanvas-menu .offcanvas-inner ul.menu > li a:hover, 
.offcanvas-menu .offcanvas-inner ul.menu > li a:focus, 
.offcanvas-menu .offcanvas-inner ul.menu > li span:hover, 
.offcanvas-menu .offcanvas-inner ul.menu > li span:focus {
    color: #9b9b9b !important; /* Gris leve muy claro para que resalte */
}

/* Fuente principal para todo el sitio */
html, body, p, a, span {
  font-family: 'Inter', sans-serif !important;
}

/* Fuente de mayor peso para los encabezados */
h1, h2, h3, h4, .sppb-carousel-extended-heading {
  font-family: 'Montserrat', sans-serif !important;
}

.article-details .article-header { display: none !important; }

/* CSS Articulo cada disertante*/
/* Cards de disertantes - Jornadas de Odontología Digital. Pegar en custom.css */
.fo-spk{--fo-p:#006984;--fo-s:#46766C;--fo-a:#93a94f;--fo-t:#717272;display:flex;gap:1.5rem;align-items:flex-start;width:100%;max-width:1100px;margin:0 auto 2rem;color:var(--fo-t);font-size:1.05rem;line-height:1.55;box-sizing:border-box}
.fo-spk *{box-sizing:border-box}
.fo-spk__photo{flex:0 0 40%;margin:0;background:#fff;border:1px solid #dfe6e6;border-radius:8px;overflow:hidden}
.fo-spk__photo img{display:block;width:100%;max-width:100%;height:auto;margin:0;border:0;border-radius:0}
.fo-spk__body{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;padding:1.5rem 1.9rem 1.6rem;background:#fff;border:1px solid #dfe6e6;border-top:4px solid var(--fo-p);border-radius:8px}
.fo-spk .fo-spk__name{margin:0 0 .25rem;padding:0;font-size:1.75rem;line-height:1.2;font-weight:700;color:var(--fo-p);text-transform:none;letter-spacing:0}
.fo-spk .fo-spk__role{position:relative;margin:0 0 1rem;padding:0 0 .75rem;font-size:1.05rem;font-weight:600;color:var(--fo-s)}
.fo-spk .fo-spk__role::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--fo-a)}
.fo-spk .fo-spk__cv{list-style:none;margin:0 0 1.1rem;padding:0;font-size:1rem}
.fo-spk .fo-spk__cv li{position:relative;margin:0 0 .35rem;padding:0 0 0 1.1rem}
.fo-spk .fo-spk__cv li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--fo-a)}
.fo-spk .fo-spk__talk{margin:0 0 .75rem;padding:.8rem 1.05rem;background:#f3f7f7;border-left:4px solid var(--fo-a);border-radius:0 4px 4px 0}
.fo-spk .fo-spk__label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fo-s)}
.fo-spk .fo-spk__title{margin:.15rem 0 0;font-size:1.2rem;line-height:1.35;font-weight:700;color:var(--fo-p)}
.fo-spk .fo-spk__meta{margin:.2rem 0 0;font-size:.92rem}
.fo-spk .fo-spk__desc{margin:.3rem 0 0;font-size:.97rem}
.fo-spk details{margin:.55rem 0 0}
.fo-spk summary{cursor:pointer;list-style:none;font-size:.95rem;font-weight:600;color:var(--fo-p)}
.fo-spk summary::-webkit-details-marker{display:none}
.fo-spk summary::after{content:" +";color:var(--fo-a);font-weight:700}
.fo-spk details[open] summary::after{content:" \2212"}
.fo-spk details ol{margin:.5rem 0 0;padding:0 0 0 1.3rem;font-size:.96rem}
.fo-spk details li{margin:0 0 .3rem}
.fo-spk__cta{margin-top:auto;padding-top:.9rem}
.fo-spk a.fo-spk__btn{display:inline-block;padding:.75rem 1.9rem;background:var(--fo-p);color:#fff !important;border:0;border-radius:5px;font-size:1.08rem;font-weight:600;line-height:1.3;text-decoration:none !important;text-transform:none;transition:background .2s}
.fo-spk a.fo-spk__btn:hover,.fo-spk a.fo-spk__btn:focus-visible{background:var(--fo-s);color:#fff !important}
.fo-spk a.fo-spk__btn:focus-visible{outline:2px solid var(--fo-a);outline-offset:2px}
@media (max-width:760px){
.fo-spk{flex-direction:column;font-size:1rem;gap:1.5rem}
.fo-spk__photo{flex:none;width:100%;min-height:0}
.fo-spk__body{padding:1.2rem 1.25rem 1.3rem;width:100%}
.fo-spk .fo-spk__name{font-size:1.45rem}
.fo-spk .fo-spk__title{font-size:1.1rem}
}

/*FIX: centrar contenido despues de actualizar
.article-details > .row > .col-md-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}*/

/* 
 * CUSTOM: Tamaño de fuente del menú offcanvas
 * Modificar aquí en lugar de template.css
 * Solo aplica en pantallas de escritorio (992px o más)
 */
@media (min-width: 1200px) {
  .offcanvas-menu .offcanvas-inner ul.menu > li > a,
  .offcanvas-menu .offcanvas-inner ul.menu > li > span {
    font-weight: 500;
    display: inline-block;
    font-size: 20px; /* Tamaño de letra de items principales */
    padding: 13px 0px;
    position: relative;
    line-height: 40px; /* Altura de línea (espaciado vertical) */
    transition: 0.3s;
  }

  /* Items principales más grandes */
  .offcanvas-menu .offcanvas-inner ul.menu > li > a,
  .offcanvas-menu .offcanvas-inner ul.menu > li > span {
    font-size: 34px !important;
    line-height: 36px !important;
  }
  /* Subitems más grandes */
  .offcanvas-menu .offcanvas-inner ul.menu > li > ul li a {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  /* 
    * CUSTOM FIX: Bug visual Firefox - Módulo SP LMS Courses
    * Fecha: 2026-02-05
    * Ticket: ODO-2026-001
    * Descripción: Evita que overflow:hidden afecte al pseudo-elemento :after
    */

  .mod-splms-courses strong.splms-course-title:after {
    display: none !important;
  }
}

/* En todos los tamaños */
.mod-splms-courses strong.splms-course-title::after {
  display: none !important;
}

/* Por si algo lo sobreescribe en mobile */
@media (max-width: 992px) {
  .mod-splms-courses strong.splms-course-title::after {
    display: none !important;
  }

  .splms-row {
    gap: 0px !important; /* Ajustá a lo que necesites */
  }

  /* 2. Reduce el hueco interno debajo del texto */
  .mod-splms-courses strong.splms-course-title {
    margin-bottom: 0px !important; 
  }

}

@media (max-width: 768px) {
  .mod-splms-courses strong.splms-course-title::after {
    display: none !important;
  }
}

/* FIX: SP LMS Courses - Grid Layout Web Principal: evitar huecos en blanco chrominium */
.splms-row {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr); /* mobile: 1 columna */
  grid-auto-flow: dense !important;
  gap: 15px; /* ajustar al gutter real del módulo */
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.splms-row > [class*="splms-col-"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (min-width: 768px) {
  .splms-row {
    grid-template-columns: repeat(2, 1fr); /* sm: 2 columnas */
  }
}

@media (min-width: 992px) {
  .splms-row {
    grid-template-columns: repeat(3, 1fr); /* md: 3 columnas */
  }
}

/* El <li> interno ya no necesita float ni clearfix: Grid
   controla el posicionamiento del item completo */
.splms-row .mod-splms-course.clearfix {
  float: none !important;
  width: 100%;
  height: 100%;
}

.splms-row::before,
.splms-row::after {
  display: none !important;
  content: none !important;
}
