/*Estilos Personalizados EVO*/

.sub-title-course {
	font-size: 13px;
	color: #efefef;
	float: left;
	padding-right: 10px;
	line-height: 50px;
	text-transform: uppercase;
	padding-left: 5px;
}

.swiper-pagination-bullet-active {
  background-color: #fff;
  width: 24px;
  border-radius: 8px;
}

.carousel-control-prev, .carousel-control-next {
  opacity: 0;
}

.rating-curso {
  background-color: #95939E;
  padding: 8px 12px 4px;
  border-radius: 12px;
  height: 32px;
  line-height: 32px;
}

.live-now-badge {
    background-color: #94939E;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 20px;
    font-size: 10px;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.live-now-badge::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: red;
    border-radius: 50%;
    animation: pulse 1.5s infinite;
    display: inline-block;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.8); }
    70% { box-shadow: 0 0 0 10px rgba(255, 0, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}


.hp-input-description {
  font-size: 12px !important;
}


body .misma button.addfavorites {
  background-color: #f11e85 !important;
  border-color: #f11e85 !important;
}

body .entrada-curso button.enter-course {
  background-color: #f11e85 !important;
  border-color: #f11e85 !important;
}

body .dejar-comentario button.enter-course {
  background-color: #f11e85 !important;
  border-color: #f11e85 !important;
}

body .entrada-curso button {
  font-size: 16px;
}

.detalle-modules .hp-p1-body {
  color: #fff !important;
}

body .comentarios button.valorar-curso {
  background-color: #f11e85 !important;
  border-color: #f11e85 !important;
}

.swiper-pagination-bullet {
  background-color: #ccc;
}

.progress-bar {
  background-color: #7500FF !important;
}

.color-vivoblue, .color-vivoblue a {
  color: #1CD2D5 !important;
}

.bg-color-tabs {
  background-color: #2C2640;
  border-radius: 12px;
}

.bg-color-tabs button.active {
  background-color: #7500FF !important;
 }

.review-number {
  font-size: 4.5em;
  font-weight: 500;
}

.tabs-cursos .nav-link {
  padding: 15px 30px;
}

body .hp-sidebar {
  z-index: 999;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a:hover {
  color: #7500FF !important;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul li {
  margin-bottom: 2em;
  min-height: 50px;
  display: grid;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a > span > span {
  color: #777777 !important;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a:hover > span > span {
  color: #333 !important;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a:hover i {
  color: #2d3436 !important;
}

.streaming {
  /*background-color: #ffffff29;*/
  background-color: rgb(65,65,65,0.35) !important;
  color: #fff;
  border-radius: 10px;
  padding: 5px 0;
  margin-bottom: 20px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.comentarios-total {
    background-color: rgb(65,65,65,0.35) !important;
    border-radius: 10px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    padding: 16px;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 5px;
}
.comentarios-total h5 {
    padding: 0px;
    margin: 0px;
}

.title-streaming {
  line-height: 18px;
  padding-top: 6px;
  font-size: 16px;
}

.title-streaming-live {
  line-height: 18px;
  padding-top: 6px;
  font-size: 20px;
}

.comentarios-avatar {
  width: 50px;
  height: 50px;
}

.texto-comentario {
  display: block;
  line-height: 30px;
  color: #ABABAB;
  font-size: 12px;
}

/* Header sobrepuesto: se posiciona absolutamente sobre el contenido desde el borde superior,
   pero se mueve con el scroll de la página (no fixed). El contenido principal empieza desde top: 0
   y queda visible debajo del header gracias a los márgenes negativos en las secciones */
.hp-main-layout header {
  max-width: 100%;
  width: 95%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
}

.swiper-pagination {
  text-align: left !important;
}

.envivo-rojo {
  background-color: rgba(255, 255, 255, 0.489);
  color: #fff;
  font-size: 10px;
  border-radius: 14px;
  float: right;
  padding: 0 4px 0 0;
  text-align: center;
  height: 20px;
  line-height: 20px;
  padding-right: 4px;
}

.dots {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 24px;
}
.dot {
    width: 3px;
    height: 3px;
    background-color: #fff;
    border-radius: 50%;
    margin: 2px 0;
}
.description {
    display: none;
    margin-top: 15px;
}

.nav-item {
    position: relative;
}

.nav-item {
    position: relative;
}

.nav-item.separated-left::before,
.nav-item.separated-right::after {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 0;
    width: 1px;
    background-color: #fff;
    height: 30px;
}

.nav-item.separated-left::before {
    left: 0px;
}

.nav-item.separated-right::after {
    right: 0px;
}

.punto-rojo {
  color: red;
  font-size: 24px;
  font-weight: 900;
  vertical-align: top;
  }

.hp-card-curso {
  min-height: 600px;
  background: #000;
  border-radius: 30px;
}

.hp-card-curso img {
  width: 100%;
}

.btn-transparency {
  /*background-color: #ffffff29 !important;*/
  background-color: rgb(65,65,65,0.35) !important;
}

.dejar-comentario-estrellas {
  background-color: rgb(65,65,65,0.35) !important;
  padding: 8px 15px;
  display: inline-flex;
  border-radius: 30px;
  line-height: 10px;
}

.btn-transparency:hover > span, .btn-transparency:hover > i {
  color: #fff;
}

.btn-transparency:hover:not(.btn-link):not(.btn-text) {
  color: #fff;
  background-color: #f11e85 !important;
}

.scannerfx-variante button {
  width: 100%;
  margin-top: 10px;
  font-size: 18px;
}

.base-interiores {
  max-width: 1120px;
  margin: 120px auto;
}
.base-interiores-live {
    max-width: 95%;
    margin: 120px auto;
    padding: 0 16px;
}

.scannerfx-variante .banners-home {
  border-radius: 16px;
}

.punto-rojo-dos {
  color: red;
  font-size: 24px;
  font-weight: 900;
  vertical-align: middle;
}

.hp-main-layout {
  padding-top: 0 !important;
}

.hp-main-layout-content {
  padding-top: 0 !important;
}

.hp-main-layout-content footer {
  padding-top: 100px !important;
}

.punto-blanco { color: white;
    font-size: 25px;
    font-weight: 800;
}

.boton-play {
  margin-right: 30px;
  padding: 0 10px
}

.margenhome {
  /*padding-top: 10%; */
  /*padding-top: 10px;*/
  position: relative;
  margin-top: -5%;
}

.margenfast {
  position: relative;
  margin-top: -10%;
}

.margenlives {
  position: relative;
  margin-top: -10%;
}

.margencursos {
  position: relative;
  margin-top: -10%;
}

.margenscanner {
  position: relative;
  margin-top: -10%;
}

.content {
/* max-width: 600px;*/
    margin: 20px auto;
    padding: 10px 15px;
/* border: 1px solid #ccc;*/
    border-radius: 15px;
    /*background: #ffffff29;*/
    background-color: rgb(65,65,65,0.35) !important;
}

.streaming .comment-container,
.streaming .chat-container {
    min-height: 350px;
    max-height: 350px; /* Adjust this height as needed to fit exactly 3 comments */
    overflow-y: auto;
    scrollbar-width: thin; /* For Firefox */
    scrollbar-color: #888 #1f1d2d; /* For Firefox */
}

/* For WebKit browsers */
.streaming .comment-container::-webkit-scrollbar,
.streaming .chat-container::-webkit-scrollbar {
    width: 8px;
}

.streaming .comment-container::-webkit-scrollbar-track,
.streaming .chat-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.streaming .comment-container::-webkit-scrollbar-thumb,
.streaming .chat-container::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
    border: 2px solid #f1f1f1;
}

.streaming .comment {
/*    display: flex;*/
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    /* border-bottom: 1px solid #adb5bd; */
    width: fit-content;
    min-width: 50%;
}
.streaming .chat-message {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 5px 5px;
    margin: 0 11px;
    width: auto;
    min-width: 50%;
    gap: 0.75rem;
    cursor: pointer;
    border-radius: 10px;
    position: relative;
}
.streaming .chat-message:hover {
    background-color: rgb(65,65,65,0.35);
}
.streaming .chat-message .chat-avatar {
    min-width: 30px;
    min-height: 30px;
    max-width: 30px;
    max-height: 30px;
    color: #2d3436;
    background: #f0f3f5;
    line-height: 1;
    font-size: 13px;
    border-radius: 50% !important;
    display: flex;
    justify-content: center;
    align-items: center;
}
.streaming .chat-message .chat-avatar img {
    border-radius: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.streaming .chat-message .chat-content {
    line-height: 1;
    flex: 1;
}
.streaming .chat-message .chat-content .chat-username {
    font-weight: 600;
    font-size: 10px;
}
.streaming .chat-message .chat-content .chat-body {
    font-size: 10px;
}
.streaming .chat-message .action-dropdown {
    background: transparent;
    position: absolute;
    bottom: 100%;
    right: 15px;
    display: none;
}
.streaming .chat-message:first-child .action-dropdown {
    bottom: 10px;
    right: 30px;
}
.streaming .chat-message .action-dropdown a {
    display: block;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.25rem 1rem;
    border-radius: 3px;
    font-size: 10px;
    color: #fff;
    background-color: #353148;
    margin-top: 0.15rem;
}

.streaming .hr {
    margin: 0;
    border: none;
    border-top: 1px solid #eee;
}

.streaming .nombreteacher {
/*    display: flex;*/
    align-items: center;
}

.streaming .texto-comentario {
/*    flex: 1;*/
    margin-left: 10px;
}

.vermas-curso .text-container {
    overflow: hidden;
    position: relative;
    max-height: 1.56em;
    line-height: 1.5em;
    transition: max-height 0.3s ease;
}

.vermas-curso .text-container.expanded {
    max-height: none;
}

.vermas-curso .read-more {
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  text-align: right;
  float: right;
  top: -22px;
  position: relative;
  background: linear-gradient(90deg, rgba(34,31,50,0.30) 0%, rgb(34, 31, 50) 100%);
  padding-left: 10px;
}
.vermas-curso-date {
    font-size: 14px;
}
.vermas-curso .educator-bio {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
    margin-bottom: 1rem;
}
.vermas-curso .educator-bio .educator-avatar {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
}
.vermas-curso .educator-bio .educator-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100px;
}
.live-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    color: #FFF;
    background-color: #94939E;
    gap: 5px;
    border-radius: 50px;
    line-height: 1;
    padding: 0.35rem 0.5rem;
}
.live-badge-icon {
    display: flex;
    background-color: #FF0000;
    width: 10px;
    height: 10px;
    border-radius: 100px;
}

.hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a .tooltip-item {
  /*display: contents;*/
}

body.dark .accordion-item {
  /*background: #ffffff29 !important;*/
  background-color: rgb(65,65,65,0.35) !important;
}

body.dark .accordion-item:first-of-type .accordion-button, body.dark .accordion-button {
  background-color: transparent !important;
}

.envivo-rojo-chat { background-color: rgba(255, 255, 255, 0.489);
  color: #fff; font-size: 10px; border-radius:10px; width: 100px;
  padding:5px; text-align: center}

.numerovisitas {
  color:rgb(144, 144, 144);
  font-size: 10px;
}

.lesson-tit {
  color: #fff;
  font-size: 12px;
  vertical-align: super;
}

.nombreteacher {
  color:rgb(255, 255, 255);
  font-size: 11px;
}

.conversacion {
  color:rgb(84, 84, 84);
  font-size: 12px;
}

.forex {
  width: 110px;
  float: left;
}

.misma {
  display: inline-block;
  width: 100%;
  margin-bottom: 30px;
}

.little-title {
  font-family: 'druk_text_wide_trialbold', sans-serif;
 	font-size: 32px;
  line-height: 50px;
  text-transform: uppercase;
  margin-left: 64px;
}

.blanco {
  background-color: white;
  border-radius: 10px;
  width: 120px;
  float: left;
  height: 78px;
  margin-right: 10px;
}

.indicador-logo {
  position: absolute;
  color: #fff;
  background-color: crimson;
  border-radius: 30px;
  width: 22px;
  height: 22px;
  font-size: 12px;
  line-height: 22px;
  left: 63px;
  text-align: center;
  font-weight: 500;
}

.novedades-tit-desc {
  color: #fff;
  padding-left: 20px;
}

.novedades-tit-desc h4 {
  font-size: 16px;
  font-family: 'druk_text_wide_trialbold';
  text-transform: uppercase;
}

.novedades-tit-desc p {
  font-size: 12px;
}

.banners-home {
  padding: 0px;
  background-color: rgb(0,0,0, 0.65);
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}

.banners-home-novedades {
  padding: 0px;
  background-color: rgb(0,0,0, 0.65);
  border-radius: 16px;
  overflow: hidden;
}

.contenedor-imagen {
  position: relative;
  display: inline-block;
  width: 100%; /* Ajusta según sea necesario */
  height: auto; /* Ajusta según sea necesario */
}

.imagen-top-slide {
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: block;
  height: auto;
}

.gradient-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  /*background: linear-gradient(to bottom, transparent, #7500FF);*/
  background: linear-gradient(to bottom,
                                    transparent 0%,
                                    transparent 40%,
                                    #7500FF 85%,
                                    #7500FF 100%);
  z-index: 0; /* Para que el degradado esté encima de la imagen pero debajo del texto */
  pointer-events: none; /* Para que el overlay no interfiera con los eventos del mouse */
}

.imagen-curso {
  width: 100%;
  max-width: 450px;
  margin: 0;
}

.minititle {
  background: #7500FF;
  padding: 15px;
  border-radius: 0px 0px 16px 16px;
}
.favorites {float:right; width:40px}

@font-face {
    font-family: 'druk_text_wide_trialbold';
    src: url('../fonts/druktextwide-bold-trial.woff2') format('woff2'),
         url('../fonts/druktextwide-bold-trial.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.btn-novedades {
  width: 80%;
  top: 48%;
  left: 10%;
  text-align: left;
  z-index: 1;
}

.btn-forex-banner {
  width: 100%;
  bottom: 10%;
  left: 10%;
  text-align: left;
}


.en-vivo-lives {
  width: 100%;
  top: 4%;
  right: 6%;
  text-align: right;
}

.swiper {
  padding-bottom: 60px;
}

.lives-lesson-info {
  line-height: 13px;
}

.forex-cryptos .btn {
  min-width: 150px;
  margin-right: 20px;
  font-size: 16px;
}

.forex-cryptos .los-btn button {
  width: 100%;
}

.cyp-for-title {
  z-index: 2;
  font-size: 36px !important;
  line-height: 36px;
}

.titulo-education {
  font-size: 80px;
  font-family: 'druk_text_wide_trialbold';
  top: -50px;
  text-transform: uppercase;
  left: 0;
  background: -webkit-linear-gradient(#242435, #121327);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  z-index: 1;
  line-height: 85px;
  padding-left: 7px;
  opacity: 0.8;
}

.tomorrow {
  text-transform: uppercase;
  font-family: 'druk_text_wide_trialbold';
  background: -webkit-linear-gradient(45deg, #7F43DB, #83C3E6 80%);
  background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


.btn-primary-white {
  background-color: #fff !important;
  color: #333 !important;
}

.btn-primary-white:hover {
  background-color: #ccc !important;
}

.lesson {  margin:5px }
.lesson-next { margin:5px; }
.addfavorites { float:right; margin:5px }
.addto_favorites { float:right; margin:5px }

body.dark .primary-dos:hover {
  background-color: #2E0A61 !important;
  border-color: #2E0A61 !important;
}

.entrada-curso .addfavorites {
  float: none;
  margin: auto;
   }

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a.active i::after {
/*  border-bottom: 2px solid #7500FF;*/
/*  width: 10px;*/
/*  padding-bottom: 3px;*/
  content: "";
  position: absolute;
  bottom: 4px;
  left: 25px;
  transform: translateX(-50%);
  width: 17px;
  height: 4px;
  background-color: #7500FF;
  border-radius: 4px;
}

body.dark.collapsed-active .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a.active i::after {
  left: 77px;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a.active span {
  color: #2d3436 !important;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li a.active:not(.submenu-item) {
  background: #fff !important;
}

body.dark .btn-secondary {
  background-color: #7500FF !important;
  border-color: #7500FF !important;
}

body.dark .btn.btn-secondary:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #f11e85 !important;
}

.idiomas button {
  background: transparent !important;
  border: none !important;
  color: #fff;
}

.idiomas .dropdown-menu {
  background: transparent !important;
  border: none !important;
  padding: 0px 8px;
}

body.dark .idiomas .dropdown-item {
  padding: 4px 16px;
 }

body.dark .idiomas .dropdown-item:hover {
  background: transparent !important;
}

.comentarios .avatar-item {
  width: 50px;
  height: 50px;
}

.dejar-comentario {
    display: flex;
    align-items: center;
    background: #413E53;
    background-color: rgb(65, 65, 65, 0.35) !important;
    border-radius: 16px;
    padding-left: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.dejar-comentario .input-group .form-control {
    background-color: transparent !important;
}
.dejar-comentario .input-group .input-group-text {
    background-color: transparent !important;
}
.dejar-comentario-avatar {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 35px;
    max-width: 35px;
    min-height: 35px;
    max-height: 35px;
    border-radius: 100px;
    border: 1px solid #FFF;
}
.dejar-comentario-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100px;
}

.el-comentario {
  margin-top: 20px;
}

.cursos-listado .accordion-item {
  background-color: transparent !important;
  margin-bottom: 15px;
  border-radius: 14px;
  overflow: hidden;
}
.cursos-listado .cursos-listado-item {
    display: block;
    background-color: transparent !important;
    margin-bottom: 15px;
    border-radius: 14px;
    overflow: hidden;
    padding: 12px 16px !important;
    box-shadow: none !important;
    background-color: #413E53 !important;
}

.cursos-listado .accordion-button {
  padding: 12px 16px !important;
  box-shadow: none !important;
  background-color: #413E53 !important;
}

.cursos-listado .accordion-collapse {
  background-color: transparent !important;
}


body.dark .slide.portada {
  position: relative;
  max-width: 100%;
  width: 100%;
}

body.dark .btn-primary {
  color: #fff !important;
  background-color: #7500FF !important;
  border-color: #7500FF !important;
}

body.dark .btn-primary-dos {
  color: #fff !important;
  background-color: #414141 !important;
  border-color: #414141 !important;
}

body.dark .btn-siguiente {
  color: #fff !important;
  background-color: #414141 !important;
  border-color: #414141 !important;
}

body.dark .btn-siguiente:hover {
  background-color: #7500FF !important;
  border-color: #7500FF !important;
}

body.dark .btn-primary:hover {
  background-color: #2E0A61 !important;
  border-color: #2E0A61 !important;
}

body.dark .entrada-curso .btn-primary:hover {
  background-color: #fff !important;
  border-color: #fff !important;
  color: #f11e85 !important;
}

body.dark .btn-primary-dos:hover {
  background-color: #fff !important;
  border-color: #fff !important;
}

body.dark .btn-primary-dos:hover i {
  color: #f11e85 !important;
}

.hp-card-streamer {
  min-height: 400px;
}

body.dark .carousel .carousel-control-prev {
  justify-content: start;
  width: 10%;
}
body.dark .carousel .carousel-control-next {
  justify-content: end;
  width: 10%;
}

body.dark .carousel .carousel-control-prev-icon {
  width: 3rem;
  height: 3rem;
  background-position: 20%;
  background-size: 100% 50%;
  background-color: #7500FF;
  border-radius: 0px 25px 25px 0px;
}

body.dark .carousel .carousel-control-next-icon {
  width: 3rem;
  height: 3rem;
  background-position: 20%;
  background-size: 100% 50%;
  background-color: #7500FF;
  border-radius: 25px 0px 0px 25px;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li .submenu-children {
  margin-left: 30px;
}

body.dark .hp-sidebar-container .hp-sidebar-header-menu > ul > li > ul li .submenu-children li > a {
  padding: 5px 12px;
}

body.dark .dejar-comentario .form-control {
  /*background: #413E53;*/
  background-color: rgb(65,65,65,0.35);
  border: none;
  border-radius: 16px;
}

body.dark .card {
  background-color: rgb(65,65,65,0.35) !important;
}

body.dark .dejar-comentario .input-group-text {
  /*background: #413E53;*/
  background-color: rgb(65,65,65,0.35);
  border: none;
  border-radius: 16px;
}

body.dark .circle-chart {
  width: 50px; /* Ajusta al tamaño deseado */
  height: 50px;
}

body.dark .circle-bg {
  fill: none;
  stroke: #666374; /* Color de fondo */
  stroke-width: 3;
}

body.dark .circle {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  animation: progress 1s ease-out forwards;
}

/* Ajusta el color según el porcentaje o el estado */
body.dark .circle {
  stroke: #7500FF; /* Color de progreso */
}

body.dark .percentage {
  fill: #fff;
  font-family: 'ABeeZee', sans-serif;
  font-size: .5em;
  text-anchor: middle;
}

body.dark .circle-container {
  justify-content: end;
  display: flex;
}

@keyframes progress {
  0% {
    stroke-dasharray: 0 100;
  }
}

body.dark .accordion-body {
  padding: 5px 20px 15px;
}

body.dark .iframe-container {
    position: relative;
    width: 100%; /* Ajusta al ancho del contenedor padre */
    height: 0;
    padding-bottom: 56.25%; /* Proporción 16:9 */
    background-color: black; /* O cualquier color de fondo deseado */
    display: flex;
    align-items: center;
    justify-content: center;
}

body.dark .iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


@media screen and (max-width: 1399px) {
  .titulo-education {
      font-size: 60px;
      top: -40px;
    }

    .cyp-for-title {
      font-size: 30px !important;
      line-height: 32px !important;
    }

    .btn-novedades {
      top: 40%;
    }
}

@media screen and (max-width: 1199px) {
    body.dark .hp-main-layout-content { display: flex; flex-direction: column; }
    body.dark .hp-main-layout-content #left { order: 2; }
    body.dark .hp-main-layout-content #right { order: 1; }
    body.dark .carousel.portada { display: none; }
    .margenhome, .margenscanner, .margenfast, .margencursos, .margenlives { margin-top: 120px; }

    /* Ajustar posición del offcanvas mobile */
    .offcanvas.hp-mobile-sidebar {
        top: 99px !important;
    }

    .offcanvas-start.hp-mobile-sidebar {
        top: 99px !important;
    }
}

/* Aula Virtual - Responsive adjustments */
@media (max-width: 575px) {
    .hp-main-layout {
        padding-top: 110px !important;
    }
}

@media screen and (min-width: 576px) and (max-width: 1199px) {
    .hp-main-layout-content.base-interiores-live.desktop-classroom {
        padding-top: 0 !important;
    }
}

@media screen and (min-width: 1200px) {
    .hp-main-layout-content.base-interiores-live.desktop-classroom {
        margin-top: 5% !important;
    }
}


@media screen and (max-width: 768px) {
  .banners-home-novedades {
/*    margin: 0 30px;*/
  }
  
  .misma {
      display: inline-block !important;
    }

  .swiper-button-next, .swiper-button-prev {
    top: 40%;
  }

  .hp-select-box-item, .minititle {
    margin: 0 30px;
  }

  .swiper-fade {
    width: 80px !important;
  }
  .swiper-button-next {
    right: 15px;
  }

  .swiper-button-prev {
    left: 15px;
  }

  .forex-cryptos {
    margin: 30px !important;
  }

  .cyp-for-title {
    font-size: 26px !important;
    line-height: 28px !important;
  }

  .titulo-education {
    font-size: 46px;
    top: -48px;
  }

  .forex-cryptos .btn-forex {
    margin-bottom: 10px;
  }

  .little-title {
    font-size: 26px;
    line-height: 28px;
    margin-left: 30px;
  }

  .interior-cursos {
    margin: 15px;
  }

  .lesson {
    margin: 0px 0 10px 0;
  }

  .addto_favorites {
    margin: 0px;
  }

  .boton-play {
    margin: 0 0 10px 0 !important;
    padding: 0px;
  }

  .curs-favorites {
    width: 100%;
  }


}



body.dark .ri-1x3 {
  font-size: 1.3em;
}

/*.swiper-slide.first-slide-padding.swiper-slide-active {
    margin-left: 50px;
}*/

.swiper-button-next,
.swiper-button-prev {
    color: rgba(255, 255, 255, 0.8); /* Color inicial de las flechas */
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
    z-index: 10;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 28px;
}

.swiper-button-next {
  right: 25px;
}

.swiper-button-prev {
  left: 25px;
}

.swiper-fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 200px;
    z-index: 2;
    pointer-events: none;
}

.swiper-fade-left {
    left: 0;
    display: none;
    background: linear-gradient(to right,
                                    rgba(15,13,37, 1) 0%,
                                    rgba(15,13,37, 1) 30px,
                                    rgba(15,13,37, 0) 100%);
}

.swiper-fade-right {
    right: 0;
    display: none;
    background: linear-gradient(to left,
                                    rgba(15,13,37, 1) 0%,
                                    rgba(15,13,37, 1) 30px,
                                    rgba(15,13,37, 0) 100%);
}

.swiper-pagination-bullets {
  margin-left: 64px;
}
.show-desktop {
    display: block;
}
.show-mobile {
    display: none;
}
.mobile-classroom {
    display: none !important;
}
@media (max-width: 576px) {
    .show-desktop {
        display: none;
    }
    .show-mobile {
        display: block;
    }
    .desktop-classroom {
        display: none !important;
    }
    .mobile-classroom {
        display: flex !important;
        flex-direction: column;
        height: calc(100vh - 148px);
        padding: 0 16px;
    }
    .classroom-layout header {
        position: unset;
        width: 100%;
        padding: 16px;
        height: 100px;
    }
    .mobile-classroom .accordion-item {
        border-radius: 15px;
    }
    .mobile-classroom .educator-details .accordion-button {
        padding: 0px 16px !important;
        box-shadow: none !important;
    }
    .mobile-classroom .educator-details .accordion-button .educator-name {
        font-size: 15px;
        font-weight: 600;
        color: #FFF;
    }
    .mobile-classroom .educator-details .accordion-button::after {
        margin-left: 0;
    }
    .mobile-classroom .educator-bio {
        display: flex;
        justify-content: start;
        align-items: center;
        gap: 10px;
        margin-bottom: 0.25rem;
    }
    .mobile-classroom .educator-bio .educator-avatar {
        width: 30px;
        height: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100px;
    }
    .mobile-classroom .educator-bio .educator-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 100px;
    }
    .mobile-classroom .educator-bio span {
        font-size: 14px;
        font-weight: 400;
    }
    .mobile-classroom .text-container p {
        font-size: 12px;
        font-weight: 300;
    }
    .mobile-classroom .streaming .chat-container {
        min-height: 250px;
        max-height: 250px;
    }
}
.categories-card,
.calendar-card {
    min-height: auto;
    background-color: #fff !important;
}
.categories-card h5 {
    color: #000 !important;
}

body.dark .week-accordion .accordion-item {
    background-color: #FFFFFF !important;
    margin-bottom: 15px;
    border-radius: 14px;
    overflow: hidden;
}
.week-accordion .cursos-listado-item {
    display: block;
    background-color: transparent !important;
    margin-bottom: 15px;
    border-radius: 14px;
    overflow: hidden;
    padding: 12px 16px !important;
    box-shadow: none !important;
    background-color: #413E53 !important;
}
.week-accordion .accordion-button {
    padding: 12px 16px !important;
    box-shadow: none !important;
    background-color: #413E53 !important;
    color: #000000 !important;
}
.week-accordion .accordion-collapse {
    background-color: transparent !important;
}
.live-session-card {
    background-color: #F5F5F5 !important;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border-left: 10px solid;
}
.live-session-card h6 {
    color: #000000 !important;
    font-weight: 700;
    margin-bottom: 0px;
}
.live-session-card h6 small {
    font-weight: 400;
}
.session-card-educator {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    font-weight: 300;
    margin-bottom: 10px;
}
.session-card-educator .session-card-educator-avatar {
    display: flex;
    width: 40px;
    height: 40px;
    border-radius: 100px;
}
.session-card-educator .session-card-educator-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100px;
}
/* .week-accordion .accordion-body {
} */
/* .accordion-button:not(.collapsed) */

/* CRITICAL: Force scroll-to-top button to be always visible with high z-index */
.scroll-to-top {
    z-index: 999997 !important;
    position: fixed !important;
    bottom: 6% !important;
    right: 30px !important;
}

.scroll-to-top.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.scroll-to-top button {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.scroll-to-top button svg {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
}

/* Responsive: tamaños consistentes en todas las resoluciones */
@media (min-width: 576px) and (max-width: 1920px) {
    .scroll-to-top button {
        width: 60px !important;
        height: 60px !important;
    }
    .scroll-to-top button svg {
        width: 32px !important;
        height: 32px !important;
    }
}

@media (max-width: 768px) {
    .scroll-to-top {
        right: 20px !important;
        bottom: 5% !important;
    }
    .scroll-to-top button {
        width: 50px !important;
        height: 50px !important;
    }
    .scroll-to-top button svg {
        width: 28px !important;
        height: 28px !important;
    }
}

/* ===== MOBILE MENU - FORCE POSITION IN ALL PAGES ===== */
/* Sobrescribir el top: 0 de Bootstrap .offcanvas-start */
#mobileMenu.offcanvas-start {
    top: 99px !important;
    height: calc(100vh - 99px) !important;
}

@media (max-width: 1199px) {
    /* Forzar posición con máxima especificidad */
    #mobileMenu.offcanvas.offcanvas-start.hp-mobile-sidebar,
    #mobileMenu.offcanvas.hp-mobile-sidebar,
    #mobileMenu.offcanvas-start.hp-mobile-sidebar,
    #mobileMenu.offcanvas-start,
    #mobileMenu.offcanvas,
    .offcanvas.hp-mobile-sidebar,
    .offcanvas-start.hp-mobile-sidebar {
        top: 99px !important;
        height: calc(100vh - 99px) !important;
    }

    /* También forzar cuando está visible/mostrando */
    #mobileMenu.offcanvas.show,
    #mobileMenu.offcanvas.showing,
    #mobileMenu[aria-hidden="true"],
    #mobileMenu[aria-hidden="false"] {
        top: 99px !important;
    }
}
