/* FFE Connect - Reset CSS para evitar conflictos con el tema */

/* Asegurar que los contenedores FFE no afecten el diseño global del sitio */
.ffe-courses-container,
.ffe-course-detail-container,
.ffe-registration-form-widget,
.ffe-plans-container {
  /* Aislar el contenido del plugin */
  isolation: isolate;
  contain: layout style;

  /* Asegurar box-sizing correcto */
  box-sizing: border-box;

  /* Resetear propiedades que pueden interferir */
  font-size: initial;
  line-height: initial;

  /* Mantener el ancho al 100% sin overflow */
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Aplicar box-sizing a todos los elementos internos */
.ffe-courses-container *,
.ffe-course-detail-container *,
.ffe-registration-form-widget *,
.ffe-plans-container * {
  box-sizing: border-box;
}

/* Prevenir que los grids afecten el layout principal */
.ffe-courses-grid,
.ffe-plans-grid {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Asegurar que las imágenes no se desborden */
.ffe-courses-container img,
.ffe-course-detail-container img,
.ffe-registration-form-widget img,
.ffe-plans-container img {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}

/* Prevenir problemas con viewport en móviles */
@media screen and (max-width: 768px) {
  .ffe-courses-container,
  .ffe-course-detail-container,
  .ffe-registration-form-widget,
  .ffe-plans-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .ffe-courses-grid,
  .ffe-plans-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Asegurar que los botones no rompan el layout */
.ffe-course-btn,
.ffe-btn {
  display: inline-block;
  max-width: 100%;
  word-wrap: break-word;
  box-sizing: border-box;
}

/* Prevenir desbordamiento de texto */
.ffe-course-title,
.ffe-plan-title,
.ffe-course-description {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
