/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A lightweight and minimalist WordPress theme for Elementor page builder.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 7.1.0
Updated: 2025-09-25 09:27:00

*/

.label-accesibilidad {
  height: 0px !important;
  visibility: hidden !important;
}
p,
span,
a,
h1,
h2,
h3,
h4,
h5,
h6 {
  background: #00000001;
}

.elementor-location-footer{
  height: 100dvh;
}

@media(max-width:767px){
  .elementor-location-footer{
    height: auto;
  }
}

.elementor-widget-text-editor a {
  color: #d60015;
}

.elementor-widget-text-editor a:hover {
  color: #1e1e1e;
}

#cmplz-manage-consent .cmplz-manage-consent {
  animation: mc_slideIn 0.5s forwards !important;
}

button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f564";
  display: inline-block;
  vertical-align: middle;
  margin-left: 1px;
  display: none;
  color: #4aa6ce;
  font-size: 25px !important;
}

#cmplz-manage-consent .cmplz-manage-consent {
  left: 0px !important;
  border-top-left-radius: 0px !important;
  border-top-right-radius: 32px !important;
  min-width: unset !important;
  padding: 15px 15px 15px 8px !important;
}

.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show {
  right: unset !important;
  font-size: 0px;
}

button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f564";
  display: inline-block !important;
  vertical-align: middle;
  margin-left: 1px;
  font-size: 25px !important;
}

@media (max-width: 480px) {
  .cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show {
    right: unset !important;
    font-size: 0px;
  }

  button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f564";
    display: inline-block !important;
    vertical-align: middle;
    margin-left: 1px;
    font-size: 23px !important;
  }

  #cmplz-manage-consent .cmplz-manage-consent {
    padding: 8px !important;
  }
}

@media (min-width: 481px) and (max-width: 640px) {
  .cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show {
    right: unset !important;
    font-size: 0px;
  }

  button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f564";
    display: inline-block !important;
    vertical-align: middle;
    margin-left: 1px;
    color: #4aa6ce;
    font-size: 25px !important;
  }
}

@media (min-width: 641px) and (max-width: 767px) {
  .cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show {
    right: unset !important;
    font-size: 0px;
  }

  button.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show::after {
    content: "\f564";
    font-family: "Font Awesome 5 Free";
    display: inline-block !important;
    font-size: 25px !important;
    color: #4aa6ce;
    font-size: 25px !important;
  }
}

/**Vidal****************/

.rojo {
  color: #d60015;
}

.bar-top .elementor-widget-social-icons .elementor-social-icons-wrapper > span {
  border-right: solid 1px rgba(255, 255, 255, 0.2);
}

.bar-top
  .elementor-widget-social-icons
  .elementor-social-icons-wrapper
  > span:first-child {
  border-left: solid 1px rgba(255, 255, 255, 0.2);
}

.section_slider .elementor-slides .swiper-slide-inner,
.section_slider .elementor-slides .swiper-slide-inner:hover {
  display: block;
}

.section_slider .video-background-container {
  position: relative;
  width: 100%;
  height: 100vh; /* Ajusta la altura según sea necesario */
  overflow: hidden;
}

.section_slider #background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.section_slider .content {
  position: relative;
  z-index: 1;
  color: white; /* Ajusta el color del texto según sea necesario */
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
  flex-direction: column;
  align-content: center;
  max-width: 90%;
  margin: 0 auto;
}

.section_slider .content h2,
.section_slider .content span.slider-title .section_slider .content h1 {
  font-size: 64px;
  line-height: 1.2;
}
span.slider-title {
  font-size: 64px;
  line-height: 1.2;
  font-weight: 700;
}

@media (max-width: 767px) {
  span.slider-title {
    font-size: 45px;
    line-height: 1.2;
    font-weight: 700;
  }
}

.section_slider .content h5,
.section_slider .content span:not(.slider-title) {
  font-size: 18px;
  line-height: 1.2;
  max-width: 90%;
  font-weight: 600;
}

.section_slider .content .slider_botones {
  margin-top: 20px;
  display: flex;
}

.section_slider .content .slider_botones a.btn_fondo-blanco {
  padding: 24px 40px;
  color: #1e1e1e;
  background: #ffffff;
  border: solid 1px #ffffff;
  font-size: 18px;
  font-weight: 700;
  margin-right: 10px;
}

.section_slider .content .slider_botones a.btn_fondo-blanco:hover {
  border-color: #d60015;
  background: #d60015;
  color: #ffffff;
}

.section_slider .content .slider_botones a.btn_fondo-transparente {
  padding: 24px 40px;
  color: #ffffff;
  background: transparent;
  border: solid 1px #ffffff;
  font-size: 18px;
  font-weight: 700;
  margin-left: 10px;
}

.section_slider .content .slider_botones a.btn_fondo-transparente:hover {
  border-color: #009952;
  color: #ffffff;
  background: #009952;
}

.section_slider .elementor-swiper-button-prev {
  border: solid 1px #ffffff;
  border-radius: 50%;
  left: 100px !important;
  padding: 40px;
}

.section_slider .elementor-swiper-button-next {
  border: solid 1px #ffffff;
  border-radius: 50%;
  right: 100px !important;
  padding: 40px;
}

.section_slider .elementor-swiper-button-prev:hover,
.section_slider .elementor-swiper-button-next:hover {
  background: rgba(255, 255, 255, 0.5);
}

/* Si hay estilos adicionales que afectan el foco, puedes añadirlos aquí */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="submit"]:focus,
textarea:focus,
select:focus {
  outline: none; /* Elimina el borde de enfoque */
  box-shadow: none; /* Elimina la sombra de enfoque */
}

.buscador_home .searchandfilter label {
  display: block;
}

.buscador_home ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 0px;
}

.buscador_home .sf-field-reset {
  flex-basis: 100%;
  text-align: right;
}

.buscador_home .sf-field-reset a {
  font-weight: 500;
  font-size: 16px;
  color: #d60015;
}

.buscador_home .sf-field-reset a:hover {
  color: #1e1e1e;
}

.buscador_home .sf-field-submit {
  position: relative;
  display: inline-block;
  width: 68px;
  height: 68px;
  border: solid 1px #d9d9d9;
}

.buscador_home .sf-field-submit::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%; /* Ajusta el tamaño del ícono según sea necesario */
  height: 100%;
  background: #d60015
    url("/wp-content/uploads/2024/07/lupa_blanco.svg");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
}

.buscador_home .sf-field-submit input[type="submit"] {
  opacity: 0; /* Hace que el input sea invisible */
  width: 100%;
  height: 100%;
  cursor: pointer; /* Cambia el cursor al pasar sobre el botón */
}

.buscador_home .sf-field-submit:hover::before {
  background: #1e1e1e
    url("/wp-content/uploads/2024/07/lupa_blanco.svg");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
}

.buscador_home .sf-input-select {
  height: 68px;
  border: solid 1px #d9d9d9;
  text-indent: 20px;
  padding-right: 20px;
  padding-left: 0px;
  width: 100%;
  border-radius: 0px;
  font-size: 16px;
  font-weight: 500;
  color: #1e1e1e;
  appearance: none; /* Oculta el chevron por defecto */
  -webkit-appearance: none; /* Oculta el chevron por defecto en Safari */
  -moz-appearance: none; /* Oculta el chevron por defecto en Firefox */
  background: #ffffff
    url("/wp-content/uploads/2024/07/chevron-down-solid.svg")
    no-repeat;
  background-position: right 10px top 50%; /* Ajusta la posición del chevron */
  background-size: 16px 16px; /* Ajusta el tamaño del chevron */
}

.buscador_home .sf-input-text {
  height: 68px;
  border: solid 1px #d9d9d9;
  text-indent: 20px;
  padding-right: 0px;
  padding-left: 0px;
  width: 100%;
  border-radius: 0px;
  font-size: 16px;
  font-weight: 500;
  color: rgba(30, 30, 30, 0.6);
}

.buscador_home .sf-field-taxonomy-product_cat,
.buscador_home .sf-field-taxonomy-area-de-conocimiento {
  width: 25%;
  padding: 0px;
}

.buscador_home .sf-field-search {
  width: calc(50% - 100px);
  padding: 0px;
}

.buscador_home .sf-field-submit {
  width: 70px;
}

.buscador_popup .searchandfilter label {
  display: block;
}

.buscador_popup ul {
  display: flex;
  flex-direction: row;
  justify-content: start;
  flex-wrap: wrap;
  padding-left: 0px;
}

.buscador_popup .sf-field-reset {
  flex-basis: 100%;
  text-align: right;
}

.buscador_popup .sf-field-reset a {
  font-weight: 500;
  font-size: 16px;
  color: #d60015;
}

.buscador_popup .sf-field-reset a:hover {
  color: #1e1e1e;
}

.buscador_popup .sf-field-submit {
  position: relative;
  display: inline-block;
  width: 68px;
  height: 68px;
  border: solid 1px #d9d9d9;
}

.buscador_popup .sf-field-submit::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%; /* Ajusta el tamaño del ícono según sea necesario */
  height: 100%;
  background: #d60015
    url("/wp-content/uploads/2024/07/lupa_blanco.svg");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
}

.buscador_popup .sf-field-submit input[type="submit"] {
  opacity: 0; /* Hace que el input sea invisible */
  width: 100%;
  height: 100%;
  cursor: pointer; /* Cambia el cursor al pasar sobre el botón */
}

.buscador_popup .sf-field-submit:hover::before {
  background: #1e1e1e
    url("/wp-content/uploads/2024/07/lupa_blanco.svg");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
}

.buscador_popup .sf-input-select {
  height: 68px;
  border: solid 1px #d9d9d9;
  text-indent: 20px;
  padding-right: 20px;
  padding-left: 0px;
  width: 100%;
  border-radius: 0px;
  font-size: 16px;
  font-weight: 500;
  color: #1e1e1e;
  appearance: none; /* Oculta el chevron por defecto */
  -webkit-appearance: none; /* Oculta el chevron por defecto en Safari */
  -moz-appearance: none; /* Oculta el chevron por defecto en Firefox */
  background: #ffffff
    url("/wp-content/uploads/2024/07/chevron-down-solid.svg")
    no-repeat;
  background-position: right 10px top 50%; /* Ajusta la posición del chevron */
  background-size: 16px 16px; /* Ajusta el tamaño del chevron */
}

.buscador_popup .sf-input-text {
  height: 68px;
  border: solid 1px #d9d9d9;
  text-indent: 20px;
  padding-right: 0px;
  padding-left: 0px;
  width: 100%;
  border-radius: 0px;
  font-size: 16px;
  font-weight: 500;
  color: rgba(30, 30, 30, 0.6);
}

.buscador_popup .sf-field-taxonomy-product_cat,
.buscador_popup .sf-field-taxonomy-area-de-conocimiento {
  width: 25%;
  padding: 0px;
}

.buscador_popup .sf-field-search {
  width: calc(50% - 100px);
  padding: 0px;
}

.buscador_popup .sf-field-submit {
  width: 70px;
}

.loop_productos-destacados .bloque_categoria .sku_wrapper {
  display: none;
}

.loop_productos-destacados .bloque_categoria span.detail-label {
  display: none;
}

.loop_productos-destacados .bloque_categoria .detail-content {
  padding: 0px 10px;
  background: #009952;
}

.loop_productos-destacados .product_title {
  min-height: 52px;
  display: block !important;
}

.loop_productos-destacados
  .col-iconos_left
  .lista_modalidad
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/modalidad-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados
  .col-iconos_left
  .lista_format
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/programa-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados
  .col-iconos_left
  .lista_fecha
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/fecha-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados
  .col-iconos_right
  .lista_creditos
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/creditos-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados
  .col-iconos_right
  .lista_planificacion
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/formacion-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados
  .col-iconos_right
  .lista_idioma
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/idioma-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.loop_productos-destacados .icono_flecha a {
  display: block;
}

.loop_productos-destacados.soy_resultados-busqueda
  .elementor-widget-woocommerce-product-title {
  display: block;
}

.btn_flecha-final .elementor-button-content-wrapper {
  justify-content: space-between !important;
}

.txt-enlaces-financiacion p {
  margin-bottom: 0px;
}

.txt-enlaces-financiacion a {
  color: #1e1e1e;
}

.txt-enlaces-financiacion a:hover {
  color: #d60015;
}

.loop_noticias h3 a:hover {
  color: #d60015 !important;
}

.loop-reconocimientos .swiper-pagination-bullet {
  border-radius: 0px;
}

.loop-reconocimientos .swiper-slide img {
  filter: grayscale(100%);
  transition: filter 0.5s ease-in-out;
}

.loop-reconocimientos .swiper-slide img:hover {
  filter: grayscale(0%);
  cursor: pointer;
}

.footer_col-contacto a:hover {
  color: #d60015 !important;
}

.in-producto_categoria .sku_wrapper {
  display: none;
}

.in-producto_categoria span.detail-label {
  display: none;
}

.in-producto_categoria .detail-content {
  padding: 5px 10px;
  background: #009952;
}

.contenedor-header_in-product
  .lista_planificacion
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/pc.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.contenedor-header_in-product
  .lista_fecha
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/fecha-negro.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.product_cat-curso-formacion-permanente .contenedor-header_in-product
  .lista_fecha
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/formacion-negro.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.contenedor-header_in-product
  .lista_creditos
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/creditos-negro.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.contenedor-header_in-product
  .elementor-widget-woocommerce-product-price
  .price {
  margin-bottom: 0px;
}

.contenedor-header_in-product
  .elementor-widget-woocommerce-product-price
  .price::before {
  content: url("/wp-content/uploads/2024/07/dinero-negro.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.soy-grid_razones .elementor-widget-image {
  min-height: 55px;
}

.loop_profesores .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #D60015 !important;
}

.loop_profesores .swiper-pagination-bullet {
  border-radius: 0px;
  background: #9f9f9f80 !important;
  opacity: 1;
}

.loop_profesores .elementor-widget-text-editor a {
  font-weight: 500;
  color: #1e1e1e;
}

.loop_profesores .elementor-widget-text-editor a:hover {
  font-weight: 500;
  color: #D60015;
}

.loop-colaboradoras .swiper-pagination-bullet {
  border-radius: 0px;
}

.container-form_product .elementor-widget-shortcode {
  background: #f5f5f5;
  border: solid 1px #d9d9d9;
  border-radius: 0px;
  padding: 50px;
}

@media (max-width: 767px) {
  .container-form_product .elementor-widget-shortcode {
    background: #f5f5f5;
    border: solid 0px #d9d9d9;
    border-radius: 0px;
    padding: 50px;
  }
}

.container-form_product .elementor-widget-shortcode h5 a {
  color: #D60015;
}

.container-form_product .elementor-widget-shortcode h5 a:hover {
  color: #1e1e1e;
}

.container-form_product input[type="date"],
.container-form_product input[type="email"],
.container-form_product input[type="number"],
.container-form_product input[type="password"],
.container-form_product input[type="search"],
.container-form_product input[type="tel"],
.container-form_product input[type="text"],
.container-form_product input[type="url"],
.container-form_product select,
.container-form_product textarea {
  border: solid 1px #d9d9d9;
  background: #fff;
  color: #1e1e1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  border-radius: 0px;
}

.container-form_product [type="button"],
.container-form_product [type="submit"],
.container-form_product button {
  width: 100%;
  border: solid 1px #D60015;
  background: #D60015;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
  border-radius: 0px;
}

.container-form_product [type="button"]:hover,
.container-form_product [type="submit"]:hover,
.container-form_product button:hover {
  border: solid 1px #1e1e1e;
  background: #1e1e1e;
}

.container-form_product .hidden {
  display: none;
}

.container-form_product .contiene-tlfn.col-12 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.container-form_product .col-3 {
  width: 30%;
}

.container-form_product .col-9 {
  width: 68%;
}

.container-form_product .wpcf7-list-item {
  margin-left: 0px;
}

.container-form_product p.tipo-acept {
  font-size: 12px;
  line-height: 1.5;
  color: #1e1e1e;
  font-weight: 400;
}

.container-form_product p.tipo-acept a {
  font-size: 12px;
  line-height: 1.5;
  color: #1e1e1e;
  font-weight: 400;
  text-decoration: underline;
}

.container-form_product p.tipo-acept a:hover {
  color: #D60015;
}

.wpcf7-not-valid-tip {
  font-size: 10px;
}

.soy_mas-informacion a,
.soy_mas-informacion a:focus {
  border: solid 1px #D60015;
  background: #D60015;
}

.wpcf7 form .wpcf7-response-output {
  border-width: 1px;
  font-size: 12px;
  margin: 0px;
}

.plan_de_estudios .dce-acf-repeater-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.plan_de_estudios .dce-acf-repeater-grid > .dce-acf-repeater-item {
  flex-grow: 0 !important;
}

.plan_de_estudios .dce-acf-repeater-item h3 {
  cursor: pointer;
}

.plan_de_estudios .dce-acf-repeater-item h3 + .repeater-item {
  display: none;
}

.plan_de_estudios .dce-acf-repeater-item {
  width: 100%;
}

.plan_de_estudios .dce-acf-repeater-item.active h3 {
  color: #d60015;
  margin-top: 0px;
  margin-bottom: 20x;
}

.plan_de_estudios .dce-acf-repeater-item.active h3 + .repeater-item {
  display: block;
  margin-bottom: 20px;
}

.plan_de_estudios .dce-acf-repeater-item .repeater-item ul,
.plan_de_estudios .dce-acf-repeater-item .repeater-item li {
  padding-left: 0px;
  list-style: none;
}

.plan_de_estudios .repeater-item > ul > li > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
}

.plan_de_estudios .repeater-item > ul > li > ul > li {
  border: 1px solid rgba(159, 159, 159, 0.5);
  color: #1e1e1e;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-bottom: 5px;
  width: 100%;
  padding: 10px 20px !important;
  cursor: pointer;
}

.plan_de_estudios .repeater-item > ul > li > ul > li + li {
  display: none;
  border: 1px solid rgba(159, 159, 159, 0.5);
  padding: 20px !important;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
}

.plan_de_estudios .repeater-item > ul > li > ul.active > li + li {
  display: block;
}

.plan_de_estudios .repeater-item > ul > li > ul.active > li:first-child {
  border-left: 5px solid #d60015;
  padding: 10px 15px !important;
}

.plan_de_estudios
  .repeater-item
  > ul
  > li
  > ul
  > li
  + li
  > ul
  > li
  > ul
  > li::before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #d60015;
  display: inline-block;
  margin-right: 20px;
  flex-shrink: 0;
}

.plan_de_estudios .repeater-item > ul > li > ul > li + li > ul > li > ul > li {
  margin-bottom: 20px;
}

.plan_de_estudios
  .repeater-item
  > ul
  > li
  > ul
  > li
  + li
  > ul
  > li:last-child
  > ul
  > li {
  margin-bottom: 0px;
}

/* ----- CSS PARA SECCIÓN PLAN DE ESTUDIOS ----- */

.semestre-tabs {
  max-width: 100%;
  margin: 0 auto;
}

.tabs-nav {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  align-items: flex-start;
  overflow-x: auto;
}

.tab-button {
  padding: 12px 25px;
  color: #1E1E1E !important;
  background-color: white !important;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s;
  font-weight: 600;
  /* 28/08/2026 - el diseno dibuja los rotulos de semestre a 16 px, no a 18. */
  font-size: 16px;
}

.tab-button.active {
  color: #009952 !important;
  background-color: white !important;
}

.tab-button:hover {
  color: #137547 !important;
  background-color: white !important;
}

.semestre-content {
  display: flex;
  gap: 10px;
}

.subjects-column {
  max-width: 45%;
}

.subject-item {
  padding: 15px;
  margin-bottom: 10px;
  background: white;
  border-radius: 0px;
  cursor: pointer;
  transition: all 0.3s;
  color: #1E1E1E;
  border: 1px solid #D9D9D9;
  font-size: 16px;
  font-weight: 600;
}

/* 28/08/2026 - la barra del curso abierto la dibuja el diseno en VERDE, no en
   rojo. Lo mismo la vineta de cada asignatura, mas abajo. */
.subject-item.active {
  border-left-color: #009952;
  border-left-width: 5px;
  color: #1E1E1E;
}

.contents-column {
  flex: 2;
  padding: 15px;
  padding-top: 30px;
  padding-bottom: 30px;
  border: 1px solid #D9D9D9;
  border-radius: 5px;
}

.content-item {
  display: none;
}

.content-item.active {
  display: block;
}

.subitem {
  padding: 10px;
  margin: 5px 0;
  background: white;
  font-size: 16px;
  font-weight: 400;
}

.subitem::before {
  content: "";
  display: inline-block;
  width: 10px;
  margin-right: 10px;
  height: 10px;
  background: #009952;
}

.semestre-content:not(.active) {
  display: none;
}

.semestre-content.active {
  display: flex;
  align-items: flex-start;
}

.content-item:not(.active) {
  display: none;
}

.content-item.active {
  display: block;
}

.product-template-default .swiper-pagination-bullet {
  border-radius: 0;
}

@media (max-width: 1200px) {
  .shortcode-form {
    position: unset !important;
  }
}

@media (max-width: 1024px) {
  .semestre-content.active {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .subjects-column {
    max-width: 100%;
    width: 100%;
  }

  .contents-column {
    width: 100%;
  }

  .semestre-tabs .tabs-navs {
    display: flex;
    flex-direction: row;
  }
}

@media (max-width: 767px) {
  .tabs-nav {
    display: flex;
    flex-direction: column !important;
  }

  .semestre-tabs .tabs-navs {
    display: flex;
    flex-direction: column !important;
  }

  .semestre-tabs .tabs-navs .tab-button {
    width: 100%;
  }

  #menu-1-fe4d41a li {
    width: 100%;
  }

  #menu-1-fe4d41a li a {
    align-items: center;
    display: flex;
    justify-content: center;
  }
}

.elementor-item.has-submenu {
  cursor: pointer;
}

.elementor-icon {
  display: flex;
}

.price:not(:has(.woocommerce-Price-amount.amount))::after {
  content: "Becas disponibles";
}

.product-type-variable .price {
  font-size: 0px !important;
}

.product-type-variable .price::after {
  content: "Becas disponibles";
  font-size: 13px;
}

.product-type-variable .price {
  font-size: 0px !important;
}

.product-type-variable .price::after {
  content: "Becas disponibles";
  font-size: 13px;
}

.product-template-default .price {
  font-size: 0px !important;
}

.product-template-default .price::after {
  content: "Becas disponibles";
  font-size: 13px;
}

.dnlt-cursos-container {
  position: relative;
  column-count: 2;
  column-gap: 40px;
  padding: 20px;
  margin-bottom: 50px;
}

.categoria-cursos {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
}

.categoria-titulo {
  color: #d60015;
  font-family: Montserrat;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  break-inside: avoid;
  margin: 0 0 15px 0;
}

.lista-cursos {
  padding-left: 40px;
  margin: 0 0 30px 0;
  break-inside: avoid;
}

.lista-cursos li {
  margin-bottom: 8px;
}

.lista-cursos li a {
  color: #1e1e1e;
  font-family: Montserrat;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 28px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.lista-cursos li a:hover {
  color: #1E1E1E;
}

.ver-todos {
  position: absolute;
  right: 0;
  bottom: -45px;
}

.boton {
  display: inline-block;
  background: #1E1E1E;
  color: white !important;
  padding: 12px 30px;
  border-radius: 5px;
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease;
}

.boton:hover {
  background: #b00010;
  color: white !important;
}

@media (max-width: 767px) {
  .dnlt-cursos-container {
    position: relative;
    column-count: 1;
    column-gap: 40px;
    padding: 20px;
    margin-bottom: 50px;
  }
}

.subject-item.empty,
.content-item.empty,
.tagged_as.detail-container {
  display: none !important;
}

.product-template-default .woocommerce-notices-wrapper {
  display: none !important;
}

.my-variations-cards-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 100px;
}

.my-variation-card {
  border: 1px solid #ddd;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
}

.my-variation-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 80%;
}

.my-variation-header {
  display: flex;
  flex-direction: row;
  gap: 25px;
  align-items: center;
  align-content: center;
}

.my-variation-button {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 20%;
  align-items: center;
}

.my-variation-title {
  font-family: "Montserrat", Sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--e-global-color-primary);
  margin-bottom: 10px;
}

.my-variation-description {
  text-align: left;
  color: var(--e-global-color-primary);
  font-size: 18px;
  margin-bottom: 10px;
}

.my-variation-price {
  font-family: "Montserrat", Sans-serif;
  font-size: 30px;
  font-weight: 800;
  color: #D60015;
  margin-bottom: 15px;
}

.my-variation-button form.cart {
  margin-bottom: 0px !important;
}

.my-variation-card .button.alt {
  background-color: #D60015 !important;
  color: #fff;
  padding: 20px;
  border: none;
  font-weight: 700;
  cursor: pointer;
}

.my-variation-card .button.alt:hover {
  background-color: #1E1E1E !important;
  color: #fff;
  padding: 20px;
  border: none;
  font-weight: 700;
  cursor: pointer;
}

.my-variation-card .button.alt .arrow-icon {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
}

.woocommerce-cart-form {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px;
}

.coupon.e-cart-section.shop_table {
  width: 50%;
  padding: 0px;
  border: 0px;
}

#coupon_code,
.button.e-apply-coupon {
  padding: 15px 32px;
}

.product-thumbnail,
.product-quantity {
  display: none;
}

.shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents th {
  font-size: 18px;
}

.woocommerce-cart .button.wc-forward {
  display: none;
}

.datos_para_la_factura,
.bolsa_de_empleo,
.adjuntar_documentacion {
  padding-top: 50px;
  display: flex;
  width: 100%;
  flex-direction: column;
}

.clase_section_datos-de-contacto.datos_de_contacto {
  padding-top: 50px;
  display: inline-block;
  width: 100%;
}

.e-checkout__column-inner.e-sticky-right-column {
  background-color: #f5f5f5;
  padding: 20px 15px;
}

.e-checkout__order_review,
.e-checkout__order_review-2,
.woocommerce-checkout-payment {
  background-color: #f5f5f5 !important;
}

.woocommerce-info {
  border-color: #b00010 !important;
  background-color: white !important;
}

.woocommerce-privacy-policy-link,
.woocommerce-privacy-policy-link:hover {
  color: #b00010 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.loop_productos-destacados
  .col-iconos_left
  .lista_planificacion
  .dynamic-content-for-elementor-acf::before {
  content: url("/wp-content/uploads/2024/07/formacion-gris.svg");
  padding-right: 10px;
  position: relative;
  top: 8px;
}

.elementor-widget-theme-post-content a,
.elementor-widget-theme-post-content a:hover {
  color: #b00010 !important;
}

.elementor-widget-theme-post-content b {
  font-weight: 700 !important;
}

.elementor-widget-theme-post-content h2 {
  padding-top: 20px !important;
  font-size: 24px !important;
}

.elementor-widget-theme-post-content h3 {
  font-size: 18px !important;
}

.elementor-widget-wp-widget-categories h5 {
  color: #b00010 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.elementor-widget-wp-widget-categories ul li {
  font-size: 16px !important;
  padding: 10px 0px !important;
}

.elementor-widget-wp-widget-categories ul li a {
  color: #1e1e1e !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.iti.iti--allow-dropdown.iti--separate-dial-code {
  width: 100% !important;
}

.elementor-field-option a {
  color: #d60015 !important;
  font-size: 16px !important;
}

.iconos-tarjetas .dynamic-content-for-elementor-acf {
  display: block;
  width: 90%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .buscador_home ul {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 0px;
    gap: 10px;
  }

  .sf-field-taxonomy-product_cat,
  .sf-field-taxonomy-area-de-conocimiento,
  .sf-field-search {
    width: 100% !important;
  }

  .sf-field-reset {
    text-align: left !important;
  }

  .video-background-container {
    padding: 0px 2% !important;
  }

  .video-background-container .content h2 {
    font-size: 30px !important;
  }

  .video-background-container .content h5 {
    font-size: 16px !important;
  }

  .video-background-container .content .btn_fondo-blanco {
    font-size: 16px !important;
    padding: 10px 5px !important;
  }

  .video-background-container .content .btn_fondo-transparente {
    font-size: 16px !important;
    padding: 10px 5px !important;
  }
}

@media (max-width: 1024px) {
  div > div > div.elementor-swiper-button.elementor-swiper-button-prev {
    display: none !important;
  }

  div > div > div.elementor-swiper-button.elementor-swiper-button-next {
    display: none !important;
  }
}

.menu-blog .sub-arrow {
  display: none !important;
}

.menu-blog .elementor-item.elementor-item-active {
  background-color: #b00010;
}

.menu-blog .elementor-item:hover {
  background-color: #b00010;
}

.elementor-pagination span,
.elementor-pagination a {
  padding: 10px;
  display: inline-block;
  width: 50px;
  margin: 0px !important;
}

.elementor-pagination a:hover {
  color: #1E1E1E !important;
}

.elementor-pagination span.page-numbers.current {
  background-color: #1E1E1E;
}

#mail_footer,
#map_footer {
  font-weight: 500 !important;
}

#breadcrumbs {
  color: #b00010 !important;
}

#breadcrumbs span,
#breadcrumbs a {
  font-size: 16px !important;
  font-weight: 500 !important;
}

#breadcrumbs .breadcrumb_last,
#breadcrumbs a {
  color: white !important;
}

#migas-black #breadcrumbs {
  color: #b00010 !important;
}

#migas-black #breadcrumbs .breadcrumb_last,
#migas-black #breadcrumbs a {
  color: #1E1E1E !important;
}

#desplegable-programas-personalizado {
  position: absolute;
  z-index: 1000;
  top: auto;
  opacity: 0;
  width: 100%;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
}

#desplegable-programas-personalizado.active {
  opacity: 1;
  height: auto;
  width: 100%;
  visibility: visible;
  transform: translateY(0);
}

.menu-item-485 .sub-menu.elementor-nav-menu--dropdown.sm-nowrap {
  display: none !important;
}

.product-template-default #boton-flotante-contacto {
  display: none;
}

@media (max-width: 1024px) {
  .sub-menu .elementor-nav-menu--dropdown.sm-nowrap {
    display: block !important;
  }
}

@media (max-width: 767px) {
  #boton-flotante-contacto {
    right: 12px !important;
    bottom: 70px !important;
  }

  body {
    overflow-x: hidden;
  }
}

.elementor-widget-wp-widget-categories .cat-item.cat-item-1 {
  display: none !important;
}

.soy_resultados-busqueda.loop_productos-destacados-home
  .dce-fix-background-loop.dce-posts-container.dce-posts.dce-dynamic-posts-collection.dce-skin-grid.dce-skin-grid-flex {
  display: none !important;
}

.featured-product-item
  .e-loop-item.product.type-product
  .elementor-element.e-flex.e-con-boxed.e-con.e-parent {
  min-height: 300px;
}

@media (max-width: 767px) {
  .featured-product-item
    .e-loop-item.product.type-product
    .elementor-element.e-flex.e-con-boxed.e-con.e-parent {
    min-height: auto !important;
    height: auto !important;
  }
}

#schema-code {
  display: none !important;
}

.estudios-vertical {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.semestre-vertical {
  border: 1px solid #ddd;
  padding: 1rem;
  border-radius: 0.5rem;
  background: #f9f9f9;
}

.semestre-vertical .semestre-titulo {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-size: 20px !important;
}

.semestre-vertical .lista-asignaturas {
  list-style: none;
  padding-left: 0;
}

.semestre-vertical .asignatura-item {
  margin-bottom: 0.75rem;
}

.semestre-vertical .asignatura-item.empty .asignatura-titulo {
  opacity: 0.5;
}

.semestre-vertical .asignatura-titulo {
  font-weight: 600;
  cursor: pointer;
}

.semestre-vertical .lista-contenido {
  list-style: disc;
  margin: 0.5rem 0 0 1.5rem;
  padding-left: 0;
}

.semestre-vertical .contenido-item {
  margin-bottom: 0.25rem;
}

span.text-course-form {
  font-family: "Montserrat", Sans-serif;
  font-size: 18px;
  font-weight: 600;
}

.semestre-vertical .contenido-item::marker {
  color: #d60015;
}

.semestre-vertical .asignatura-item {
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .btn_flecha-final
    .elementor-widget-container
    .elementor-button-wrapper
    .elementor-button-content-wrapper
    span {
    font-size: 14px !important;
  }

  .cta-producto {
    background-position: center center !important;
  }

  .cta-area {
    background-position: right center !important;
  }
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label,
.woocommerce-checkout
  .thwcfe-checkout-section.clase_section_datos-de-contacto.datos_de_contacto
  label {
  visibility: hidden;
  height: 0px;
}

.woocommerce-checkout
  .thwcfe-checkout-section.datos_para_la_factura
  .thwcfe-conditional-field
  label {
  visibility: hidden;
  height: 0px;
}

.woocommerce-checkout
  .woocommerce-billing-fields__field-wrapper
  label
  .required,
.woocommerce-checkout
  .thwcfe-checkout-section.clase_section_datos-de-contacto.datos_de_contacto
  label
  .required,
.woocommerce-checkout
  .thwcfe-checkout-section.datos_para_la_factura
  .thwcfe-conditional-field
  label
  .required {
  display: none;
}

.woocommerce-terms-and-conditions-link {
  color: #d60015 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

@media (max-width: 767px) {
  .section_slider .content {
    position: relative;
    z-index: 1;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
    flex-direction: column;
    align-content: center;
    max-width: 90%;
    margin: 0 auto;
  }
  .section_slider .content h5,
  .section_slider .content span:not(.slider-title) {
    font-size: 18px;
    line-height: 1.2;
    max-width: 90%;
    font-weight: 600;
  }
}

figure.swiper-slide-inner,
figure.swiper-slide-inner img.swiper-slide-image {
  cursor: default !important;
}

.elementor-widget-theme-post-excerpt .elementor-widget-container {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 1025px) {
  .menu-item-485 ul.sub-menu.elementor-nav-menu--dropdown {
    display: none !important;
  }
}

.asignatura-item.has-children > .asignatura-titulo {
  position: relative;
  cursor: pointer;
  padding-right: 1.5em;
}

.asignatura-item.has-children > .asignatura-titulo::after {
  content: "▼";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s;
  font-size: 15px;
  color: #d60015;
}

.asignatura-item.has-children.open > .asignatura-titulo::after {
  transform: translateY(-50%) rotate(180deg);
}

.envio-contacto{
  background-color:#D60015 !important;
  color:white!important;
  width:100%;
  font-weight: 700;
  padding:15px 5px;
}

#form-contacto .wpcf7-list-item{
  margin:0px !important;
}

#form-contacto .tipo-acept{
  font-size: 15px;
}

#form-contacto .tipo-acept a{
  font-size: 15px;
}

#form-contacto .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#form-contacto .row .contiene-tlfn{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#form-contacto .col-3 { width: 24%; }
#form-contacto .col-6 { width: 49%; }
#form-contacto .col-9 { width: 74%; }
#form-contacto .col-12 { width: 100%; }
#form-contacto .hidden { display: none !important; }

#form-contacto .texto-mensaje {
  height: 140px !important;
}


@media (max-width: 600px) {
  #form-contacto .col-3, #form-contacto .col-6, #form-contacto .col-9 {
    width: 100%;
  }
}

#acepta_politicas_field a{
  color:#d60015;
  font-size: 14px;
}

.woocommerce-table__product-name.product-name a{
  color:#d60015;
}

.e-wc-error-notice .woocommerce-error{
  border-top:3px solid #d60015 !important;
}

.woocommerce-error::before{
  color: #d60015;
}

.woocommerce-error, .woocommerce-error li, .woocommerce-error a{
  color:#000000 !important;
  font-size:14px !important;
  font-weight: 400 !important;
  line-height: 34px !important;
}

#payment .woocommerce-form__label-for-checkbox{
  display:none;
}

.place-order #place_order{
  margin-top:20px;
}

/* If you want other clickable elemtents inside */
.elementor-grid .post .elementor-widget-post-info {
  z-index: 10;
  padding: 10px;
}
.product .detail-content, .product .elementor-widget-woocommerce-product-meta {
  position: relative;
  z-index: 10;
}
.container-form_product [type="button"], .container-form_product [type="submit"], .container-form_product button{
	background:#D60015;
	border: 1px solid #D60015;
}

/*Adaptación de estilo de encabezado grid */
span.detail-content.category-tag {
    color: var(--e-global-color-3b102a8);
    font-weight: 500;
    font-family: "Montserrat", Sans-serif;
    font-size: 14px;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--e-global-color-3b102a8);
}

h3.elementor-element.elementor-element-b4b10b0.e-con-full.e-flex.e-con.e-child {
    padding-left: 0;
}

span.elementor-widget-container.product-tag {
    font-weight: 700;
    font-size: 20px;
    padding-top: 20px;
    color: #1E1E1E;
}
/*actualizción */


/* Cambios DIPE 01/10/2025 */

#contacto-programas-2 .row.pais-tel, #contacto-programas-3 .row.pais-tel{
    display:flex;
}

#contacto-programas-2 .row > .col-6, #contacto-programas-3 .row > .col-6 {
    display: inline-block;
    vertical-align: top;
    width: 49%;
    box-sizing: border-box;
    margin-right: 0%;
}

#contacto-programas-2 .row > .col-12 select, #contacto-programas-3 .row > .col-12 select {
    width: 99.5%;
    display: block;
    background-color: white !important;
    color:black !important;
}

#contacto-programas-2 .contiene-tlfn, #contacto-programas-3 .contiene-tlfn {
    display: flex !important;
    gap: 10px;
    margin-left:1%;
}

#contacto-programas-2 .contiene-tlfn .col-3, #contacto-programas-3 .contiene-tlfn .col-3 {
    width: 24%;
}

#contacto-programas-2 .contiene-tlfn .col-9, #contacto-programas-3 .contiene-tlfn .col-9 {
    width: 73%;
}

#contacto-programas-2 .row > .col-6:first-child, #contacto-programas-3 .row > .col-6:first-child {
    width: 50%;
    padding-right: 1%;
}

#contacto-programas-2 input[type="email"], #contacto-programas-3 input[type="email"] {
    width: 99.5%;
    display: block;
}

#contacto-programas-2 select[name="interesado"], #contacto-programas-3 select[name="interesado"] {
    width: 99.5%;
    display: block;
}

#contacto-programas-2 .envio-contacto:hover, #contacto-programas-3 .envio-contacto:hover{
    background-color: #009952 !important;
    border-color: #009952 !important;
}


@media screen and (max-width: 768px) {
    #contacto-programas-2 .row.pais-tel, #contacto-programas-3 .row.pais-tel{
        display:flex;
        flex-direction:column;
    }

    #contacto-programas-2 input[type="email"], #contacto-programas-3 input[type="email"] {
        width: 100%;
        display: block;
    }

    #contacto-programas-2 select[name="interesado"], #contacto-programas-3 select[name="interesado"] {
        width: 100%;
        display: block;
    }

    #contacto-programas-2 .row > .col-12 select, #contacto-programas-3 .row > .col-12 select {
        width: 100%;
        display: block;
        background-color: white !important;
        color:black !important;
    }
    
    #contacto-programas-2 .row > .col-6, #contacto-programas-3 .row > .col-6{
        width: 100% !important;
        
    }
    
    #contacto-programas-2 .contiene-tlfn, #contacto-programas-3 .contiene-tlfn {
        margin-left:0%;
    }
   
    #contacto-programas-2 .row.pais-tel, #contacto-programas-3 .row.pais-tel{
        display:flex !important;
        flex-direction:column !important;
        
    }
}

#salidas-profesionales-programa ul{
    
    column-count: 2;
    column-gap: 50px;
    }
    
#salidas-profesionales-programa ul li{
    
    padding: 5px;
    }
    
@media(max-width:1200px){
    #salidas-profesionales-programa ul{
    
    column-count: 1;
    column-gap: 50px;
    }
}

/* 2025-10-28 Añadir lazy load a los iframes de YouTube incrustados */

.youtube-lazy-load{
  width:100%;
  height: 100%;
  cursor: pointer;
}

.youtube-thumb{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.youtube-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  background: rgba(255,0,0,0.8);
  border-radius: 14px;
}

.youtube-play-button:before {
  content: '';
  position: absolute;
  left: 26px;
  top: 14px;
  width: 0;
  height: 0;
  border-left: 16px solid white;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

/* CSS CARD BOX FULL ENLACE */
.product_meta .detail-content span{
  font-size: 14px;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
  font-weight: 600;
  text-transform: uppercase;
  color: white;
}

/* CSS FORMULARIO BANDERA COMPLETA */
.flag-dropdown, .selected-flag{
  width: 100% !important;
}


/* CSS ERROR RECARGA EN BUSCADOR DE CURSO */
.dce-posts-wrapper {
  height: auto !important;
  position: relative;
}

.dce-posts-wrapper.dce-wrapper-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.dce-posts-wrapper.dce-wrapper-grid .dce-post-item {
  position: relative !important;
  height: auto !important;
}

.search-filter-results-20170 .dce-post-item[style*="position: absolute"],
.search-filter-results-20170 .dce-post-item[style*="height:"] {
  position: relative !important;
  height: auto !important;
  left: auto !important;
  top: auto !important;
}

.search-filter-results-20170 .dce-posts-wrapper[style*="height:"] {
  height: auto !important;
}


/* CSS PARA LA PÁGINA DE GRACIAS DEL CHECKOUT */
body.woocommerce-order-received .custom-thankyou-layout {
    max-width: 100% !important;
    font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
    color: #333 !important;
    width: 100% !important;
}

body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-customer-details, 
body.woocommerce-order-received .woocommerce-order-details__title, 
body.woocommerce-order-received .wc-bacs-bank-details-heading,
body.woocommerce-order-received h2.wc-bacs-bank-details-heading {
    display: none !important;
}

.thankyou-header {
    margin-bottom: 30px !important;
}
.custom-thankyou-msg {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    background: transparent !important;
    padding: 0 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    border: 1px solid #e5e5e5 !important;
    padding: 25px 0 !important;
    margin-bottom: 40px !important;
    list-style: none !important;
    background-color: #ffffff !important;
    border-radius: 0 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
    border-right: 1px solid #e5e5e5 !important;
    width: 25% !important;
    margin: 0 !important;
    padding: 0 30px !important;
    float: none !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li:last-child { 
    border-right: none !important; 
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
    font-size: 13px !important;
    color: #777777 !important;
    text-transform: none !important;
    font-weight: 400 !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block !important;
    font-size: 16px !important;
    color: #000000 !important;
    margin-top: 5px !important;
    font-weight: 800 !important;
}

.intro-bank-text {
    font-style: italic !important;
    color: #666 !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

body.woocommerce-order-received h3.wc-bacs-bank-details-account-name {
    background-color: #D60015 !important;
    color: #ffffff !important;
    display: inline-block !important;
    padding: 12px 30px !important;
    margin-bottom: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    border-radius: 0 !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details {
    background-color: #f5f5f5 !important;
    padding: 30px !important;
    margin-top: 0 !important;
    margin-bottom: 50px !important;
    display: flex !important; 
    flex-wrap: wrap !important;
    list-style: none !important;
    border: none !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details li {
    width: auto !important;
    border-right: 2px solid #D60015 !important;
    padding: 0 30px !important;
    margin: 0 !important;
    flex: 1 !important;
    background: transparent !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details li:first-child {
    padding-left: 0 !important;
}
body.woocommerce-order-received ul.wc-bacs-bank-details li:last-child {
    border: none !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details li {
    font-size: 13px !important; 
    color: #666666 !important; 
}
body.woocommerce-order-received ul.wc-bacs-bank-details li strong {
    display: block !important;
    font-size: 15px !important;
    color: #000000 !important;
    font-weight: 800 !important;
    margin-top: 5px !important;
}

.custom-section-title {
    background-color: #D60015 !important;
    color: #ffffff !important;
    padding: 12px 30px !important;
    margin-bottom: 0 !important;
    display: inline-block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
.custom-section-title.grey {
    background-color: #666666 !important;
    margin-top: 40px !important;
}

body.woocommerce-order-received table.shop_table {
    border: 1px solid #eeeeee !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
}

body.woocommerce-order-received .woocommerce-table__product-name.product-name a:hover {
    color: #d60015 !important;
}

body.woocommerce-order-received table.shop_table th {
    background-color: #ffffff !important;
    border-bottom: 1px solid #eeeeee !important;
    padding: 20px !important;
    text-align: left !important;
    font-weight: 800 !important;
    color: #000000 !important;
    font-size: 15px !important;
}

body.woocommerce-order-received table.shop_table td {
    padding: 20px !important;
    border-bottom: 1px solid #eeeeee !important;
    background-color: #ffffff !important;
    color: #555555 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

body.woocommerce-order-received table.shop_table td:last-child,
body.woocommerce-order-received table.shop_table th:last-child {
    text-align: right !important;
}

body.woocommerce-order-received .order_details tfoot tr:last-child th {
    font-weight: 800 !important;
    color: #000000 !important;
    font-size: 18px !important;
    border-top: 1px solid #eee !important;
}
body.woocommerce-order-received .order_details tfoot tr:last-child td {
    border-top: 1px solid #eee !important;
}
body.woocommerce-order-received .order_details tfoot tr:last-child td .amount {
    color: #D60015 !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

body.woocommerce-order-received a.view {
    background-color: #999999 !important;
    color: #ffffff !important;
    padding: 12px 18px !important;
    text-decoration: none !important;
    font-size: 12px !important;
    border-radius: 0 !important;
    font-weight: bold !important;
    display: inline-block !important;
}

body.woocommerce-order-received a.view:hover {
    background-color: #d60015 !important;
}

.fake-inputs-container { 
    margin-top: 20px !important; 
}
.fake-row { 
    display: flex !important; 
    gap: 30px !important; 
}
.fake-input-group.half { 
    width: 50% !important; 
}

.fake-input-group label {
    display: block !important;
    color: #aaaaaa !important;
    font-size: 13px !important;
    margin-bottom: 8px !important;
    font-weight: 400 !important;
}
.fake-input {
    border: 1px solid #e5e5e5 !important;
    background-color: #ffffff !important;
    padding: 15px !important;
    color: #333333 !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 45px !important;
    display: flex !important;
    align-items: center !important;
}

.print-actions { 
    margin-top: 40px !important; 
    text-align: right !important; 
    border-top: 1px solid #eee !important;
    padding-top: 20px !important;
}

.print-actions button {
    background-color: #d60015 !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    padding: 12px 25px !important;
    cursor: pointer !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    border-radius: 0 !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 15px !important;
}

.print-actions button:hover {
    background-color: black !important;
}

.fake-inputs-container .fake-row{
  padding:10px 0px !important;
}

@media (max-width: 768px) {
    body.woocommerce-order-received ul.woocommerce-order-overview {
        flex-direction: column !important;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li {
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid #eee !important;
        padding: 15px !important;
    }
    body.woocommerce-order-received ul.wc-bacs-bank-details {
        flex-direction: column !important;
        padding: 20px !important;
    }
    body.woocommerce-order-received ul.wc-bacs-bank-details li {
        border-right: none !important;
        border-bottom: 1px solid #ddd !important;
        padding: 15px 0 !important;
    }
    body.woocommerce-order-received .fake-row { 
        flex-direction: column !important; 
        gap: 10px !important; 
    }
    body.woocommerce-order-received .fake-input-group.half { 
        width: 100% !important; 
    }
}

@media print {
    body {
        visibility: hidden;
        background: #fff;
        font-size: 9pt !important;
    }

    .custom-thankyou-layout, 
    .custom-thankyou-layout * {
        visibility: visible;
    }

    .custom-thankyou-layout {
        position: absolute;
        left: 0;
        top: 0;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white; 
        z-index: 9999;
    }

    #wpadminbar, header, footer,
    .elementor-location-header, .elementor-location-footer,
    .print-actions, .woocommerce-notice, 
    .site-header, .site-footer, .woocommerce-error {
        display: none !important;
    }

    th.order-actions--heading,
    th.order-actions--heading + td,
    a.order-actions-button,
    tfoot tr:has(.order-actions--heading) {
        display: none !important;
        border: none !important;
        height: 0 !important;
        visibility: hidden !important;
    }

    .custom-thankyou-msg {
        font-size: 9pt !important;
        margin-bottom: 15px !important;
    }

    body.woocommerce-order-received h3.wc-bacs-bank-details-account-name,
    body.woocommerce-order-received .custom-section-title {
        font-size: 9pt !important;
        padding: 8px 15px !important;
        background-color: #D60015 !important;
        color: white !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-order-received ul.wc-bacs-bank-details li,
    .intro-bank-text, label {
        font-size: 9pt !important;
    }
    
    body.woocommerce-order-received ul.woocommerce-order-overview li strong,
    body.woocommerce-order-received ul.wc-bacs-bank-details li strong {
        font-size: 9pt !important;
        margin-top: 2px !important;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview {
        padding: 10px 0 !important;
        margin-bottom: 20px !important;
    }
    
    body.woocommerce-order-received ul.wc-bacs-bank-details {
        padding: 15px !important;
        margin-bottom: 20px !important;
        background-color: #f5f5f5 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    body.woocommerce-order-received ul.wc-bacs-bank-details li {
        padding: 0 15px !important;
    }

    body.woocommerce-order-received table th,
    body.woocommerce-order-received table td,
    body.woocommerce-order-received table td a {
        padding: 8px 10px !important;
        font-size: 9pt !important;
    }
    
    body.woocommerce-order-received table.shop_table {
        width: 100% !important;
        table-layout: auto !important;
    }

    body.woocommerce-order-received .order_details tfoot tr:last-child td .amount,
    body.woocommerce-order-received .order_details tfoot tr:last-child td .amount * {
        color: #D60015 !important;
        font-size: 9pt !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .fake-inputs-container { 
        margin-top: 10px !important; 
        display: block !important;
    }
    
    .fake-row { 
        display: flex !important;
        gap: 15px !important;
        padding: 5px 0 !important;
        page-break-inside: avoid !important;
    }
    
    .fake-input-group.half { 
        width: 50% !important; 
    }
    
    .fake-input-group label {
        font-size: 8pt !important;
        color: #666 !important;
        margin-bottom: 2px !important;
    }

    .fake-input {
        border: 1px solid #999 !important;
        background-color: #fff !important;
        color: #000 !important;
        padding: 5px !important;
        font-size: 9pt !important;
        min-height: 20px !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    a[href]:after { content: none !important; }
    a { text-decoration: none !important; color: #000 !important; }

    .custom-thankyou-layout > div { page-break-inside: auto !important; }
    table, tr, ul { page-break-inside: avoid !important; }
}

/* CSS PARA EL VER DEL CHECKOUT */

.page-id-18 .page-header .entry-title,.page-id-18  .site-footer .footer-inner,.page-id-18  .site-footer:not(.dynamic-footer),.page-id-18  .site-header .header-inner,.page-id-18  .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main{
  max-width: 1440px;
}

body:not([class*=elementor-page-]) .site-main{
  padding-top: 3%;
  padding-bottom: 3%;
  padding-left: 2%;
  padding-right: 2%;
}

.woocommerce-account .woocommerce-MyAccount-content{
  width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  display: none !important;
}

.page-id-18 .site-main {
    font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
    color: #333 !important;
}

.page-id-18 .woocommerce-order-details__title,
.page-id-18 .woocommerce-column__title {
    background-color: #D60015 !important;
    color: #ffffff !important;
    padding: 12px 30px !important;
    margin-bottom: 0 !important;
    display: inline-block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: none !important;
}

.page-id-18 table.shop_table {
    border: 1px solid #eeeeee !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
}

.page-id-18 table.shop_table th {
    background-color: #ffffff !important;
    border-bottom: 1px solid #eeeeee !important;
    padding: 20px !important;
    text-align: left !important;
    font-weight: 800 !important;
    color: #000000 !important;
    font-size: 15px !important;
}

.page-id-18 table.shop_table td {
    padding: 20px !important;
    border-bottom: 1px solid #eeeeee !important;
    background-color: #ffffff !important;
    color: #555555 !important;
    font-weight: 600 !important;
    text-align: left !important;
}

.page-id-18 .woocommerce-table__product-name a {
    color: #333 !important;
    text-decoration: none !important;
}

.page-id-18 .woocommerce-table__product-name a:hover {
    color: #d60015 !important;
}

.page-id-18 table.shop_table td:last-child,
.page-id-18 table.shop_table th:last-child {
    text-align: right !important;
}

.page-id-18 table.shop_table tfoot tr:last-child th {
    font-weight: 800 !important;
    color: #000000 !important;
    font-size: 18px !important;
    border-top: 1px solid #eee !important;
}

.page-id-18 table.shop_table tfoot tr:last-child td {
    border-top: 1px solid #eee !important;
}

.page-id-18 table.shop_table tfoot tr:last-child td .amount {
    color: #D60015 !important;
    font-weight: 800 !important;
    font-size: 20px !important;
}

.page-id-18 .woocommerce-button.button.view {
    background-color: #999999 !important;
    color: #ffffff !important;
    padding: 12px 18px !important;
    text-decoration: none !important;
    font-size: 12px !important;
    border-radius: 0 !important;
    font-weight: bold !important;
    display: inline-block !important;
}

.page-id-18 .woocommerce-button.button.view:hover {
    background-color: #d60015 !important;
}

.page-id-18 .woocommerce-customer-details address {
    border: 1px solid #e5e5e5 !important;
    padding: 20px !important;
    font-style: normal !important;
    color: #777 !important;
    margin-top: 10px !important;
}

.page-id-18 .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    border: 1px solid #e5e5e5 !important;
}

.page-id-18 .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #e5e5e5 !important;
}

.page-id-18 .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 15px 20px !important;
    color: #777 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

.page-id-18 .woocommerce-MyAccount-navigation ul li.is-active a,
.page-id-18 .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: #f5f5f5 !important;
    color: #D60015 !important;
}

.page-id-18 mark {
    background: transparent !important;
    font-weight: 800 !important;
    color: #000 !important;
}
/*Tarjetas colaboradores*/
.colab-grid{
  display:grid;
  grid-template-columns: repeat(var(--colab-cols, 2), minmax(0, 1fr));
  gap: 18px;
}
.colab-card p{
  margin: 0px !important;
}

.colab-card{
  display:flex;
  border:1px solid #d8d8d8;
  background:#fff;
  text-decoration:none;
  color:inherit;
  min-height:150px;
  transition: transform .12s ease, box-shadow .12s ease;
  min-height: 220px;

}

.colab-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
  background-color: #F5F5F5;
}

.colab-card:hover{
  background-position: top;
}

.colab-card__media{
  width: 220px;
  min-width: 220px;
  min-height: 220px;
  background: #ffffff;
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.colab-card__content{
  padding: 14px 24px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 10px;
}

.colab-card__title{
  margin:0;
  font-size: 18px;
  font-weight: 700;
  color: #1E1E1E !important;
}

.colab-card__desc{
  margin:0;
  color:#1E1E1E !important;
  line-height: 1.45;
  font-size: 14px !important;
  font-weight: 400 !important;
}

.colab-card__desc-full{
  display:none;
  margin-top: 8px;
}

.colab-card__toggle{
  margin-top: 8px;
  display:inline-flex;
  align-items:center;
  gap: 6px;
  font: inherit;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
      padding: 5px;
border-radius: 0px;
}

.colab-card__toggle:focus{
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

@media (max-width: 900px){
  .colab-grid{ grid-template-columns: 1fr; }
  .colab-card__media{
    width: 180px;
    min-width: 180px;
  }
}

/*Galería colaboradores*/

.acf-colab-gallery{
  display: grid;
  grid-template-columns: repeat(8, 130px);
  gap: 12px;
  justify-content: space-between; /* o center si lo prefieres centrado */
}

.acf-colab-gallery__item{
  width: 130px;
  height: 130px;
}

.acf-colab-gallery__img{
  width: 130px;
  height: 130px;
  display:block;
  object-fit: contain;   /* logos: no recorta */
  background:#F5F5F5;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  padding: 10px;
  box-sizing: border-box;
}

/* Responsive */
@media (max-width: 1400px){ .acf-colab-gallery{ grid-template-columns: repeat(6, 130px);} }
@media (max-width: 1100px){ .acf-colab-gallery{ grid-template-columns: repeat(4, 130px);} }
@media (max-width: 700px){  .acf-colab-gallery{ grid-template-columns: repeat(3, 130px);} }
@media (max-width: 480px){  .acf-colab-gallery{ grid-template-columns: repeat(2, 130px);} }


#ui-datepicker-div {z-index: 999 !important;}

.product_masinfo-e-inscribeteya {
	width: 200px !important;
}

 .dce-posts-wrapper.dce-wrapper-grid{ height: auto !important; }
  .dce-posts-wrapper.dce-wrapper-grid > article{
    position: relative !important;
    left: auto !important;
    top:  auto !important;
    height: auto !important;
  }

/* =========================================================
   Shortcode [aprender_articulo] — Bloque "Lo que vas a aprender"
   Variantes: .aprender-articulo--rojo · .aprender-articulo--negro
   ========================================================= */
.aprender-articulo {
  --aa-bg: #ffffff;
  --aa-border: #e6c4c8;
  --aa-titulo: #d60015;
  --aa-texto: #1e1e1e;
  --aa-bullet: #d60015;

  position: relative;
  background: var(--aa-bg);
  border: 1px solid var(--aa-border);
  border-radius: 5px;
  padding: 28px 32px;
  margin: 32px 0;
  color: var(--aa-texto);
  box-sizing: border-box;
}

.aprender-articulo--rojo {
  --aa-bg: #fdfdfd;
  --aa-border: #D9D9D9;
  --aa-titulo: #d60015;
  --aa-texto: #1e1e1e;
  --aa-bullet: #d60015;

  background: #fdfdfd;
  border-top: 2px solid #D9D9D9;
  border-bottom: 2px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
  border-left: 4px solid #d60015;
  border-radius: 8px;
}

.aprender-articulo--negro {
  --aa-bg: #f5f5f5;
  --aa-border: #D9D9D9;
  --aa-titulo: #1e1e1e;
  --aa-texto: #1e1e1e;
  --aa-bullet: #1e1e1e;

  background: #f5f5f5;
  border-top: 2px solid #D9D9D9;
  border-bottom: 2px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
  border-left: 1px solid #D9D9D9;
  border-radius: 8px;
}

.aprender-articulo--negro .aprender-articulo__titulo {
  font-size: 15px !important;
  border-left: 4px solid #1E1E1E;
  padding-left: 8px;
}

.aprender-articulo__titulo {
  position: relative;
  margin: 0 0 16px 0;
  color: var(--aa-titulo);
  font-size: 15px !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.3;
}

.aprender-articulo__resumen {
  margin-bottom: 20px;
  color: var(--aa-texto);
  font-size: 16px;
  line-height: 1.6;
}


.aprender-articulo__resumen p {
  margin: 0 0 10px 0;
}

.aprender-articulo__resumen p:last-child {
  margin-bottom: 0;
}

.aprender-articulo__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  column-gap: 40px;
  row-gap: 12px;
}

.aprender-articulo__item {
  position: relative;
  padding-left: 18px;
  color: var(--aa-texto);
  font-size: 15px;
  line-height: 1.5;
}

.aprender-articulo__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--aa-bullet);
}

@media (max-width: 767px) {
  .aprender-articulo {
    padding: 22px 20px;
    margin: 24px 0;
  }

  .aprender-articulo__lista {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }

  .aprender-articulo__resumen {
    font-size: 15px;
  }
}
@media (max-width: 767px) {

  /* Menú en una sola línea horizontal con scroll si no cabe */
  .submenu-cursos ul.elementor-nav-menu {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    padding-bottom: 4px !important;
  }

  /* Cada botón se ajusta a su texto (no se estira) y quedan juntos */
  .submenu-cursos ul.elementor-nav-menu > li {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  .submenu-cursos ul.elementor-nav-menu > li > a {
    width: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    justify-content: center !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Barra de scroll fina (navegadores webkit) */
  .submenu-cursos ul.elementor-nav-menu::-webkit-scrollbar {
    height: 6px !important;
  }
  .submenu-cursos ul.elementor-nav-menu::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.4) !important;
    border-radius: 3px !important;
  }
  .submenu-cursos ul.elementor-nav-menu::-webkit-scrollbar-track {
    background: transparent !important;
  }

}

/* ---------------------------------------------------------------------------
   26/08/2026 - Ajustes de color al cierre de la revision de paleta.
   La guia de estilos define exactamente ocho colores: verde #009952,
   verde hover #137547, negro #1E1E1E, rojo #D60015, gris texto #9F9F9F,
   gris claro #D9D9D9, gris fondo #F5F5F5 y blanco #FFFFFF. Lo de aqui abajo
   son los dos ultimos sitios donde se colaba un color de fuera.
   --------------------------------------------------------------------------- */

/* La flecha del selector de pais la pinta el CSS de country-select-js, que se
   sirve desde un CDN y llega en #555555. */
.country-select .arrow,
.country-select .selected-flag .arrow,
.intl-tel-input .arrow,
.intl-tel-input .selected-flag .arrow {
  color: #1E1E1E !important;
  border-top-color: #1E1E1E !important;
  border-bottom-color: #1E1E1E !important;
}

/* Las asignaturas del plan de estudios heredaban #333333. */
.subitem,
.semestre-content .subitem {
  color: #1E1E1E;
}


/* ---------------------------------------------------------------------------
   26/08/2026 - Un color por categoria en las etiquetas de programa.
   El diseno pinta GRADO OFICIAL en rojo, MASTER OFICIAL en verde y
   FORMACION PERMANENTE en negro. La web las tenia todas en verde porque las dos
   reglas de arriba fijaban #009952 sin distinguir categoria.
   La clase uemc-cat-<slug> la pone functions.php: en el <span> de la etiqueta
   dentro del grid, y en el <body> en las fichas de producto.
   Los selectores repiten la cadena completa para ganar en especificidad a las
   reglas genericas, sin recurrir a !important.
   --------------------------------------------------------------------------- */

/* Por defecto (formacion permanente y cualquier otra): negro */
.loop_productos-destacados .bloque_categoria .detail-content,
.in-producto_categoria .detail-content {
  background: #1E1E1E;
}

/* Grado Oficial: rojo */
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-grado-universitario,
.category-tag.uemc-cat-grado-universitario,
body.uemc-cat-grado-universitario .in-producto_categoria .detail-content {
  background: #D60015;
}

/* Master Oficial: verde */
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-master-oficial,
.category-tag.uemc-cat-master-oficial,
body.uemc-cat-master-oficial .in-producto_categoria .detail-content {
  background: #009952;
}

/* Formacion permanente, Programa Talento y Cornell: negro */
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-curso-formacion-permanente,
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-master-formacion-permanente,
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-programas-talento,
.loop_productos-destacados .bloque_categoria .detail-content.uemc-cat-otros-programas,
.category-tag.uemc-cat-curso-formacion-permanente,
.category-tag.uemc-cat-master-formacion-permanente,
.category-tag.uemc-cat-programas-talento,
.category-tag.uemc-cat-otros-programas,
body.uemc-cat-curso-formacion-permanente .in-producto_categoria .detail-content,
body.uemc-cat-master-formacion-permanente .in-producto_categoria .detail-content,
body.uemc-cat-programas-talento .in-producto_categoria .detail-content,
body.uemc-cat-otros-programas .in-producto_categoria .detail-content {
  background: #1E1E1E;
}


/* ==========================================================================
   27/08/2026 · Formularios de contacto, apariencia del diseno 2026
   --------------------------------------------------------------------------
   Estos estilos ya estaban puestos a mano en la caja de /admision-matricula/
   desde el panel de Elementor. Al pasarlos aqui los heredan los 96 formularios
   del sitio, que hasta ahora se veian con el estilo antiguo.
   La colocacion de los campos (que filas y en que orden) va aparte, en
   campos_ocultos_forms.css.
   ========================================================================== */

/* El selector de pais dibuja la bandera DENTRO del propio input. Sin reservarle
   sitio se montaba encima del nombre del pais y se leia "(E)spain" cortado. */
.wpcf7 .country-select.inside input[type="text"],
.wpcf7 .country-select.inside input,
.wpcf7 .country-select .selected-flag + input[type="text"] {
  padding-left: 42px !important;
}

/* Casillas de aceptacion: parrafo normal con la casilla posicionada a la
   izquierda. Con display:flex cada nodo del texto (el enlace, el punto final)
   se convertia en una columna y el bloque crecia hasta triplicar su alto. */
.wpcf7 .tipo-acept {
  display: block;
  position: relative;
  padding-left: 24px;
  margin: 0 0 6px 0;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 15px;
  color: #1E1E1E;
}
.wpcf7 .tipo-acept > .wpcf7-form-control-wrap {
  position: absolute;
  left: 0;
  top: 0;
}
.wpcf7 .tipo-acept a {
  font-size: 11px;
  line-height: 15px;
  font-weight: 500;
  color: #1E1E1E;
  text-decoration: underline;
}
.wpcf7 .tipo-acept input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #009952;
  cursor: pointer;
}
.wpcf7 .tipo-acept .wpcf7-list-item {
  margin: 0;
}


/* 27/08/2026 · La caja del formulario de cabecera, por encima de lo que la rodea.
   En la ficha de curso acompana al scroll y se cruza con el texto de la
   descripcion y con los fondos de las secciones siguientes; sin z-index se
   colaba por debajo. Ya es position:relative, asi que el z-index le aplica. */
/* Elementor declara en sus contenedores z-index:var(--z-index) con
   --z-index:revert. Esa regla suya es .e-con a secas, misma especificidad que
   .uemc-form-cabecera, y va despues en la hoja combinada, asi que ganaba ella.
   Nombrando las dos clases juntas se le pasa por delante sin !important.
   Se fija la variable, que es el mecanismo de Elementor, y tambien el z-index
   suelto, para cuando la caja no sea un contenedor suyo. */
.uemc-form-cabecera,
.e-con.uemc-form-cabecera {
  --z-index: 2;
  z-index: 2;
}


/* 27/08/2026 · Ficha de curso: el formulario de cabecera atado al scroll.
   El recorrido y el tramo los calcula funciones.js y los deja en la variable
   y en animation-range; aqui solo esta la animacion. La mueve el mismo hilo
   que desplaza la pagina, asi que va clavada al contenido en vez de ir un
   fotograma por detras como cuando se reposicionaba desde JavaScript. */
@keyframes uemc-form-flota {
  to {
    transform: translateY(var(--uemc-recorrido, 0px));
  }
}
.uemc-form-cabecera.uemc-form-flota {
  animation: uemc-form-flota linear both;
  animation-timeline: scroll(root block);
}
@media (prefers-reduced-motion: reduce) {
  .uemc-form-cabecera.uemc-form-flota {
    animation: none;
  }
}


/* 27/08/2026 · Alto del boton de envio, como lo dibuja el diseno.
   Medido en los PNG de Becas, Admision, Metodologia y Ficha: 54 px de alto por
   ~405 de ancho, y el ancho de la web coincide, asi que la escala es 1:1. Salia
   a 69 px porque el estilo del boton esta repetido con !important en el
   custom_css de trece documentos de Elementor (paginas y plantillas) con
   padding 20px 40px y line-height 27. En vez de editarlos uno a uno se les gana
   por especificidad. Los suyos son (0,5,1): cuatro clases -.elementor-NNN,
   .elementor-element, .elementor-element-XXX y .wpcf7- mas el atributo del tipo.
   Este llega a (0,5,2) repitiendo .wpcf7 y nombrando ademas la clase del propio
   input, que llevan los 96 formularios. */
.wpcf7.wpcf7 form.wpcf7-form input[type="submit"].btn-amarillo,
.wpcf7.wpcf7 form.wpcf7-form input[type="submit"].envio-contacto {
  padding: 15px 40px !important;
  line-height: 22px !important;
}


/* 27/08/2026 · Las casillas de aceptacion, en una sola linea como el diseno.
   Veinte documentos de Elementor (paginas y plantillas) traen en su custom_css
   un `.wpcf7 .tipo-acept{display:flex;gap:8px}`. Con flex, cada nodo del
   parrafo se convierte en una columna: la casilla, el texto «He leido y acepto
   la», el enlace y el punto final acababan repartidos en dos lineas con el
   punto descolgado a la derecha. El diseno lo dibuja en UNA linea.
   La regla de Elementor es (0,5,0) -.elementor-NNN, .elementor-element,
   .elementor-element-XXX, .wpcf7 y .tipo-acept-, asi que esta sube a (0,5,1)
   repitiendo .wpcf7 y anteponiendo body. Solo se corrige la colocacion: el
   tamano y el color los sigue mandando cada pagina, que los pone !important. */
body .wpcf7.wpcf7.wpcf7.wpcf7 .tipo-acept {
  display: block;
  position: relative;
  /* 20 px, no 24: la casilla mide 14 y el diseno le deja unos 6 de aire. Con 24
     el texto de la primera aceptacion se quedaba a 3 px de caber y saltaba a una
     segunda linea. */
  padding-left: 20px;
}
body .wpcf7.wpcf7.wpcf7.wpcf7 .tipo-acept > .wpcf7-form-control-wrap {
  position: absolute;
  left: 0;
  top: 0;
}


/* ---------------------------------------------------------------------------
   28/08/2026 - Correcciones de la auditoria diseno<->web del 28/08.
   Informe: _informes/auditoria-diseno-2026-08-28.html
   --------------------------------------------------------------------------- */

/* G1 - LA CABECERA DE PAGINA, A LOS 480 px DEL DISENO.
   El diseno dibuja la banda de cabecera de 480 px (y=80 a 560) con la tarjeta
   del formulario de 470x447 centrada, dejando 16 px arriba y 17 abajo. La web
   la tenia en 568: la tarjeta media 488 y la cabecera le dejaba 40 arriba y 40
   abajo (40+488+40 = 568).
   Se corrige con las dos cotas exteriores, que es lo que arrastra el desvio:
   la tarjeta pasa a 448 (relleno vertical 40 -> 20) y la cabecera le deja 16
   (40 -> 16). Salen 16+448+16 = 480.
   Elementor aplica el relleno de sus contenedores a traves de las variables
   --padding-*, no de la propiedad padding, asi que hay que redefinir LA
   VARIABLE; tocar `padding` no serviria de nada.
   Especificidad: la regla de Elementor es
   `.elementor-NNN .elementor-element.elementor-element-XXX` = (0,3,0).
   Anteponer `body .elementor` sube a (0,3,1), que gana por el elemento de mas
   sin recurrir a !important.
   Las 13 plantillas con formulario de cabecera llevan la clase, asi que esto
   las cubre todas: 101, 337, 500, 859, 942, 1033, 1034, 1438, 20195, 20215,
   25405, 26185, 26346 y 26360. */
body .elementor .e-con.uemc-form-cabecera {
  --padding-top: 20px;
  --padding-bottom: 20px;
}
body .elementor .e-con:has(> .e-con-inner > .uemc-form-cabecera) {
  --padding-top: 16px;
  --padding-bottom: 16px;
}

/* C2 - El asterisco de la nota del plan de estudios.
   El diseno lo dibuja VERDE; la ficha lo imprimia con la clase `.rojo`, que es
   de uso general en el tema y no se puede recolorear sin efectos colaterales.
   Las dos plantillas de ficha (25405 y 337) pasan a esta clase propia. */
.uemc-asterisco {
  color: #009952;
}

/* Las envolturas del plan de estudios heredaban #333333, que no es de la guia.
   El texto visible ya se corregia mas arriba (.subitem), pero cualquier texto
   suelto dentro de estas cajas salia con el gris de fuera de paleta. */
.semestre-content,
.contents-column,
.content-item,
.semestre-vertical .semestre-titulo,
.semestre-vertical .asignatura-titulo,
.semestre-vertical .asignatura-item {
  color: #1E1E1E;
}
