/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*GLOBALES*/
.texto-rojo, .texto-rojo h1, .texto-rojo h2, .texto-rojo h3, .texto-rojo h4, .texto-rojo p, .texto-rojo a, .texto-rojo div, .texto-rojo span{
    color: #B43C2D !important;
}

.texto-negro, .texto-negro h1, .texto-negro h2, .texto-negro h3, .texto-negro h4, .texto-negro p, .texto-negro a, .texto-negro div, .texto-negro span{
    color: black !important;
}

.texto-marron, .texto-marron h1, .texto-marron h2, .texto-marron h3, .texto-marron h4, .texto-marron p, .texto-marron a, .texto-marron div, .texto-marron span{
    color: #281B15 !important;
}

.texto-64, .texto-64 h1, .texto-64 h2, .texto-64 h3, .texto-64 h4, .texto-64 p, .texto-64 a, .texto-64 div, .texto-64 span{
    font-size: 64px;
}

.texto-50, .texto-50 h1, .texto-50 h2, .texto-50 h3, .texto-50 h4, .texto-50 p, .texto-50 a, .texto-50 div, .texto-50 span{
    font-size: 50px;
}

.texto-37, .texto-37 h1, .texto-37 h2, .texto-37 h3, .texto-37 h4, .texto-37 p, .texto-37 a, .texto-37 div, .texto-37 span{
    font-size: 37px;
}

.texto-31, .texto-31 h1, .texto-31 h2, .texto-31 h3, .texto-31 h4, .texto-31 p, .texto-31 a, .texto-31 div, .texto-31 span{
    font-size: 31px;
}

.texto-23, .texto-23 h1, .texto-23 h2, .texto-23 h3, .texto-23 h4, .texto-23 p, .texto-23 a, .texto-23 div, .texto-23 span{
    font-size: 23px;
}

.texto-16, .texto-16 h1, .texto-16 h2, .texto-16 h3, .texto-16 h4, .texto-16 p, .texto-16 a, .texto-16 div, .texto-16 span{
    font-size: 16px;
}

.cursiva{
    font-style: italic;
}

.entry-title{
  font-size: 64px;
  margin-top: 50px;
  color: black;
  font-family: "Roboto";
  font-weight: 600;
}

.sa-hidden{ display:none !important; }

/*HEADER*/
.header {
  background-color: #ffffff; /* fondo blanco */
  border-bottom: 4px solid #B43C2D; /* línea inferior roja */
  border-bottom-left-radius: 12px; /* redondeado inferior izquierdo */
  border-bottom-right-radius: 12px; /* redondeado inferior derecho */
  padding: 10px 20px; /* espacio interno opcional */
  box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* sombra ligera opcional */
}

.menu-principal-cursos{
  background-color: #b43c2d !important;
  padding: 12px 20px !important;
  border-radius: 20px !important;
}

.menu-principal-cursos a{
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 0px !important;
}

.logged-in .ocultar-login {
    display: none !important;
}

body:not(.logged-in) .ocultar-login {
    display: block !important;
}

.learndash-wrapper .ld-button.ld-login-button.ld-logout {
    justify-content: center;
    gap: 10px;
}

/*HOME*/
.tarjeta-curso{
  border-bottom: 4px solid #B43C2D; /* línea inferior roja */
  border-bottom-left-radius: 12px; /* redondeado inferior izquierdo */
  border-bottom-right-radius: 12px; /* redondeado inferior derecho */
  padding: 10px 20px; /* espacio interno opcional */
  border-top: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid black;

}


.testimonials .elementor-testimonial__footer{
    justify-content: left !important;
}

/* Estilo tarjeta */
.testimonials .elementor-testimonial__text, .testimonials .elementor-testimonial__name, .testimonials .elementor-testimonial__title{
    color: #281B15;
}


.testimonials .elementor-testimonial {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 30px;
  text-align: left;
  min-height: 300px;
}

/* Contenedor estrellas + quote */
.custom-stars-quote {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

/* Estrellas */
.custom-stars-quote .testimonial-stars {
  display: flex;
  gap: 4px;
}

.custom-stars-quote .testimonial-stars img {
  width: 18px;
  height: auto;
}

/* Quote */
.custom-stars-quote .testimonial-quote img {
  width: 28px;
  height: auto;
  opacity: 0.9;
}

.testimonials .elementor-swiper-button-next{
    content: url(/wp-content/themes/hello-elementor-child/assets/images/arrow-slider-next.png);
}

.testimonials .elementor-swiper-button-prev{
    content: url(/wp-content/themes/hello-elementor-child/assets/images/arrow-slider-prev.png);
}


/* Mi perfil */
.woocommerce-EditAccountForm .woocommerce-Button.button{
  margin-top: 20px;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button{
    color: white;
    background-color: #b43c2d;
    border: 1px solid #b43c2d;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover{
    color: #b43c2d;
    background-color: white;
}

/* Barra de progreso personalizada en perfil */
.contenedor-mi-perfil .rank-progress .gamipress-rank-progress {
  width: 100%;
  background-color: #f0f0f0;
  border-radius: 20px;
  height: 18px;
  overflow: hidden;
  margin: 10px 0;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.contenedor-mi-perfil .rank-progress .gamipress-rank-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #00c6ff, #0072ff);
  border-radius: 20px;
  transition: width 0.4s ease-in-out;
}

.contenedor-mi-perfil .rank-progress .gamipress-rank-progress-label {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-top: 6px;
  text-align: center;
}

/* Ocultar stats nativos de LearnDash */
.ld-profile-stats {
  display: none !important;
}

.ld-profile-summary{
  background-color: #FDE8C2;
  padding: 50px;
}

.learndash-wrapper .ld-profile-summary{
  margin-top: -50px;
}

.ld-course-list{
  max-width: 90%;
  margin: 50px auto !important;
}


.woocommerce-MyAccount-navigation-link{
  list-style: none;
  padding: 10px;
  border: 1px solid #B43C2D;
  border-radius: 16px;
  background-color: white;
  font-size: 20px;
  margin: 10px 0px;
}

.woocommerce-MyAccount-navigation-link a{
  color: #B43C2D !important;
  text-decoration: none !important;
}

.woocommerce-MyAccount-navigation-link:hover{
  background-color: #B43C2D;
}

.woocommerce-MyAccount-navigation-link:hover a{
  color: white !important;
}

.woocommerce-MyAccount-navigation-link.is-active{
  background-color: #B43C2D;
}

.woocommerce-MyAccount-navigation-link.is-active a{
  color: white !important;
}

/*CURSOS*/
.ld-course-list-items .ld_course_grid .entry-title {
    min-height: 52px;
}

.ld-enrollment__pricing-label, .ld-enrollment__pricing-price, .ld-enrollment__status-description, .ld-enrollment__status-label, .ld-details{
  color: black !important;
}

.learndash_post_sfwd-courses{
  margin-bottom: 50px;
}

.ld-tab-bar__tab:focus{
  background: #B43C2D !important;
}

.ld-tab-bar__tab:focus .ld-tab-bar__tab-title, .ld-tab-bar__tab:focus .ld-svgicon{
  color: white !important;
}

.ld-accordion__item-attribute-icon--progress {
  color: #B43C2D !important;
}

.ld-enrollment__join .ld-enrollment__join-button{
  background-color:  #B43C2D !important;
}
.ld-enrollment__login-link {
  color:  #B43C2D !important;
  text-decoration: none !important;
  font-size: 14px !important;
}

.learndash_post_sfwd-courses.user_has_access{
  margin-bottom: 50px;
}

.ld-tab-bar__tab[aria-selected="true"], .ld-tab-bar__tab[aria-selected=true]:after,  .ld-tab-bar__tab:hover, .ld-tab-bar__tab:hover:after{
  background-color: unset;
  color: #B43C2D !important;
}

.ld-tab-bar__tab[aria-selected=true]:after {
    border-color: #B43C2D !important;
}

.ld-tab-bar__tab:hover:after {
    border-color: #B43C2D !important;;
}

.ld-accordion__expand-button--all:hover {
    border-bottom: 2px solid #B43C2D !important;
    margin-bottom: -2px;
}

.ld-accordion__expand-button:hover {
    color: #B43C2D !important;
    cursor: pointer;
}

.ld-accordion__item-title.ld-accordion__item-title--lesson{
  color: #B43C2D !important;
  text-decoration: none !important;
  font-weight: bold !important;
}

.ld-accordion__item-title:is(a):hover {
    color: #B43C2D !important;
}

.ld-accordion__item-title.ld-accordion__item-title--topic, .ld-accordion__item-title.ld-accordion__item-title--topic-quiz, .ld-accordion__item-title, .ld-accordion__expand-button-text{
  text-decoration: none !important;
  color: #281B15 !important;
}

.ld-accordion__section {
    border: 1px solid black !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

.ld-accordion__items.ld-accordion__items--topics{
  border-top: 1px solid black;  
  padding-top: 20px;
}

.ld-accordion__item.ld-accordion__item--topic{
  padding: 5px 10px 25px 10px;
  border-bottom: 1px solid #999999 !important;
  border-radius: 0px !important;
}

.ld-accordion__item.ld-accordion__item--topic:last-child{
  border-bottom: none !important;
  padding: 5px 10px 5px 10px;
}

.ld-accordion.ld-breakpoint--small .ld-accordion__item:focus-within .ld-accordion__expand-button:hover .ld-accordion__expand-button-text, .ld-accordion.ld-breakpoint--small .ld-accordion__item:hover .ld-accordion__expand-button:hover .ld-accordion__expand-button-text {
    border-bottom: 2px solid #B43C2D !important;
    margin-bottom: -2px;
}

.ld-accordion__item:focus-within, .ld-accordion__item:has(.ld-accordion__expand-button[aria-expanded=true]), .ld-accordion__item:hover {
    background-color: white !important;
}


/* Ocultar todos los SVG */
.ld-accordion__item-icon {
  display: none !important;
}

/*LOGROS*/
.gamipress-achievement .gamipress-achievement-image{
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 20px;
  border-radius: 100px;
  max-width: 110px;
}

.gamipress-achievement{
  gap: 20px;
  border: 1px solid #B43C2D;
  border-radius: 100px;
}

#gamipress-achievements-container[class*="gamipress-columns"]>.gamipress-achievement{
  border-bottom: 1px solid #B43C2D !important;
}

.gamipress-achievement:not(.gamipress-layout-none):not(:last-of-type){
  margin-bottom: 3em;
}

.gamipress-achievement-description{
  padding: 20px;
}

.gamipress-achievement .gamipress-achievement-image.bg-bronceado {
    background-color: #cd7f32; /* bronce */
}
.gamipress-achievement .gamipress-achievement-image.bg-plateado {
    background-color: #c0c0c0; /* plateado */
}
.gamipress-achievement .gamipress-achievement-image.bg-oro {
    background-color: #ffd700; /* dorado */
}
.gamipress-achievement .gamipress-achievement-image.bg-diamante {
    background-color: #b9f2ff; /* diamante (azul claro brillante) */
}

/* ===== LECCIONES ===== */

/* Lección pendiente */
.ld-accordion__item--topic:has(.ld-svgicon__lesson)::before {
  content: url("/wp-content/themes/hello-elementor-child/assets/images/pendiente.png");
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Lección completada */
.ld-accordion__item--topic:has(.ld-svgicon__lesson-complete)::before {
  content: url("/wp-content/themes/hello-elementor-child/assets/images/completo.png");
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}


/* ===== QUIZ ===== */

/* Quiz pendiente */
.ld-accordion__item--topic-quiz:has(.ld-svgicon__quiz)::before {
  content: url("/wp-content/themes/hello-elementor-child/assets/images/pendiente.png");
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

/* Quiz completado (si LearnDash usa otra clase aquí hay que ajustar) */
.ld-accordion__item--topic-quiz:has(.ld-svgicon__quiz-complete)::before {
  content: url("/wp-content/themes/hello-elementor-child/assets/images/completo.png");
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}


.ld-accordion__item--lesson-quiz:has(.ld-svgicon__quiz-complete)::before {
  content: url("/wp-content/themes/hello-elementor-child/assets/images/completo.png");
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  vertical-align: middle;
}

/* ==============================
   ESTILOS PERFIL PERSONALIZADO
   ============================== */
/*
.contenedor-mi-perfil .ld-profile-summary.custom-summary {
  background: #fcefdc;
  border-radius: 10px;
  padding: 100px 50px 50px 50px;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-family: "Helvetica", Arial, sans-serif;
}*/

/* ==============================
   PERFIL CUSTOM
   ============================== */
.contenedor-mi-perfil .ld-profile-summary.custom-summary {
  background: #fcefdc;
  border-radius: 12px;
  padding: 40px 30px;
  margin: 0 auto 40px;
  width: 100%;
  max-width: 1100px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  font-family: "Inter", "Helvetica", Arial, sans-serif;
}

.contenedor-mi-perfil .summary-col{
  width: 33%;
}

.contenedor-mi-perfil .bottom .summary-col.center{
  width: 70%;
}

.contenedor-mi-perfil .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) a:not(.button):not(.screen-reader-shortcut):not(.ld-item-name) {
    border-bottom: 1px solid !important;
}

/* Filas en columnas */
.contenedor-mi-perfil .summary-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  text-align: center;
}

.contenedor-mi-perfil .courses-level{
  display: flex;
  gap: 20px;
}

.contenedor-mi-perfil  .course{
  padding: 20px;
  border: 1px solid #B43C2D;
  border-radius: 16px
}

.contenedor-mi-perfil .rank-progress{
  display: flex;
  padding: 20px;
  border: 1px solid #B43C2D;
  border-radius: 16px;
  width: 99%;
}

.cont-general-nivel{
  justify-content: center;
  align-items: center;
  display: flex;
}

.contenedor-mi-perfil .nivel-img{
  background-color: #ffc34d;
  border: 2px solid #B43C2D;
  border-radius: 50px;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contenedor-mi-perfil .nivel-img span{
  color: #ffc34d;
  font-size: 50px !important;
  background-color: #B43C2D;
  border-radius: 50px;
  padding: 5px 26px;
}

.contenedor-mi-perfil .nivel-actual{
  font-size: 20px;
  font-weight: bold;
  color: #B43C2D;
}

.contenedor-mi-perfil .summary-row.top {
  padding-bottom: 30px;
  margin-bottom: 20px;
}

/* ---- Avatar + nombre ---- */
.contenedor-mi-perfil .user-info {
  text-align: center;
}

.contenedor-mi-perfil .user-avatar {
  border-radius: 50%;
  width: 120px;
  height: 120px;
  object-fit: cover;
  margin: 0 auto 15px;
  border: 3px solid #f0f0f0;
}

.contenedor-mi-perfil .user-name {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  color: #222;
}

.contenedor-mi-perfil .user-rank {
  font-size: 20px;
  font-weight: 700;
  margin-top: 5px;
  color: #B43C2D;
}

/* ---- Aura ---- */
.contenedor-mi-perfil .aura-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.contenedor-mi-perfil .aura-icon {
  width: 110px;
  height: 100px;
}

.contenedor-mi-perfil .gamipress-user-points-aura{
  padding: 2em 1em 1em 1em !important;
}

.contenedor-mi-perfil .aura-points span {
  display: block;
  font-size: 22px;
  font-weight: 700;
  color: #111;
}

.contenedor-mi-perfil .gamipress-user-points-amount{
  display: block;
  font-size: 50px !important;
  color: #ffd574 !important;
  -webkit-text-stroke: 2px #a33a11;
}

.contenedor-mi-perfil .btn-aura-store {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  background: #B43C2D;
  color: white;
  border: 1px solid #B43C2D;
  font-size: 20px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.contenedor-mi-perfil .btn-aura-store:hover {
  background: transparent;
  color: #B43C2D;
  border-bottom: 1px solid #B43C2D !important;
}

.ld-profile-summary.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) a:not(.button):not(.screen-reader-shortcut){
    border-bottom: 1px solid !important;
    border-radius: 8px;
}

/* ---- Motivación + stats ---- */
.contenedor-mi-perfil .motivacion {
  font-size: 19px;
  margin-bottom: 15px;
  line-height: 1.5;
  color: black;
}

.contenedor-mi-perfil .user-stats {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  justify-content: center;
  align-items: center;
}

.contenedor-mi-perfil .user-stats li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  margin-bottom: 8px;
  justify-content: center;
  max-width: 260px;
  width: 100%;
  border: 1px solid #B43C2D;
  border-radius: 16px;
  padding: 10px;
}

.contenedor-mi-perfil .user-stats img {
  width: 39px;
  height: 35px;
}

/* ---- Cursos y nivel ---- */
.contenedor-mi-perfil .courses-level {
  text-align: center;
}

.contenedor-mi-perfil .courses-level strong {
  font-size: 20px;
  font-weight: 700;
}


.contenedor-mi-perfil .next-level {
  font-size: 13px;
  color: #666;
}

.contenedor-mi-perfil .btn-invite {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  background: #B43C2D;
  color: white;
  border: 1px solid #B43C2D;
  font-size: 20px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.contenedor-mi-perfil .btn-invite:hover {
  background: transparent;
  color: #B43C2D;
  border-bottom: 1px solid #B43C2D !important;
}

/* === LearnDash curso SIN matrícula: usar ancho completo y meta en horizontal === */

/* Oculta sidebar y deja content a ancho completo */
.single-sfwd-courses .ld-layout__sidebar { 
  display: none !important; 
}
.single-sfwd-courses .ld-layout,
.single-sfwd-courses .ld-layout__content { 
  width: 100% !important; 
  max-width: 100% !important; 
}

/* Algunos temas usan grid/columns en .ld-layout; forzamos una sola columna */
.single-sfwd-courses .ld-layout {
  display: block !important;
}

/* Contenedor inline que añadimos bajo el título (lo crea tu JS) */
.single-sfwd-courses .ld-course-meta-inline {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  margin: 12px 0 20px 0;
}

/* Botones/acciones de enroll en línea */
.single-sfwd-courses .ld-course-meta-inline .ld-enrollment,
.single-sfwd-courses .ld-course-meta-inline .ld-details {
  margin: 0 !important;
  width: 30%;
}
.single-sfwd-courses .ld-course-meta-inline .ld-details {
  padding: 15px;
}

/* Por si el tema aplica anchuras fijas a .ld-details o .ld-enrollment */
.single-sfwd-courses .ld-course-meta-inline .ld-enrollment *,
.single-sfwd-courses .ld-course-meta-inline .ld-details * {
  max-width: 100%;
}

/* Ajustes visuales dentro de la caja de precio LD */
.ld-enrollment__pricing .ld-course-grid-price-from-woo { 
  margin: 6px 0 8px;
  font-size: 1.1em;
}
.ld-enrollment__pricing .ld-buy-btn-inline.moved-into-pricing .ld-button {
  background-color: #B43C2D !important;
  border-radius: 7px !important;
  display: inline-block;
  margin-top: 10px;
} 

.wp-block-separator{
    margin: 1.5em 0;
}

/* Ocultar campos de descuento duplicados, incluyendo el primero, mostrar cuando se quiera activar el cambio de Auras por cursos / dinero */
.gamipress-wc-partial-payments-form .discount-field:not(:first-of-type),
.gamipress-wc-partial-payments-form .coupon-field:not(:first-of-type),
.gamipress-wc-partial-payments-form [class*="discount"]:not(:first-of-type),
#gamipress-wc-partial-payments {
    /* display: none !important; */ 
}
.woocommerce-message,.gamipress-wc-partial-payments-points-type-field form-row form-row-last
{
    display: none !important;
}
.gamipress-wc-partial-payments-points-balance,.gamipress-wc-partial-payments-preview-points-type,.gamipress-wc-partial-payments-preview-points,.gamipress-wc-partial-payments-preview-money,
.woocommerce-Price-currencySymbol,.woocommerce-info{
    font-weight: bold;
}
/* Muestra siempre el formulario de cupón y oculta el aviso */
.woocommerce-form-coupon-toggle { display:none !important; }
form.checkout_coupon, .wc_coupon_form,.gamipress-wc-partial-payments-form { display:block !important; }



/* Responsive: en pantallas estrechas, que se apilen al 100% */
@media (max-width: 768px) {
  .single-sfwd-courses .ld-course-meta-inline .ld-enrollment,
  .single-sfwd-courses .ld-course-meta-inline .ld-details {
    width: 100%;
  }
}


/* ===================== */
/* 📱 Responsive perfil  */
/* ===================== */

/* Tablets y pantallas medianas */
@media (max-width: 1199px) {
  .contenedor-mi-perfil .summary-row {
    flex-direction: column;
    gap: 25px;
  }

  .contenedor-mi-perfil .summary-col,
  .contenedor-mi-perfil .bottom .summary-col.center {
    width: 100% !important;
  }

  .contenedor-mi-perfil .courses-level {
    flex-direction: column;
  }

  .contenedor-mi-perfil .rank-progress {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .woocommerce-MyAccount-navigation ul li {
    min-width: 145px !important;
    max-width: 145px !important;
    text-align: center;
  }
}


/* Móviles pequeños */
@media (max-width: 768px) {
  .contenedor-mi-perfil .ld-profile-summary.custom-summary {
    padding: 45px 15px;
  }

  .contenedor-mi-perfil .user-avatar {
    width: 90px;
    height: 90px;
  }

  .contenedor-mi-perfil .user-name {
    font-size: 20px;
  }

  .contenedor-mi-perfil .aura-icon {
    width: 80px;
    height: 75px;
  }

  .contenedor-mi-perfil .gamipress-user-points-amount {
    font-size: 36px !important;
  }

  .contenedor-mi-perfil .user-stats li {
    font-size: 15px;
    padding: 8px;
  }

  .contenedor-mi-perfil .btn-aura-store,
  .contenedor-mi-perfil .btn-invite {
    font-size: 16px;
    padding: 6px 12px;
  }

  .ld-course-list {
    max-width: 90%;
    margin: 50px auto !important;
  }

  .woocommerce-MyAccount-navigation ul {
    padding: 50px 20px;
    display: block !important; 
    justify-content: center;
    align-items: center;
    gap: 20px;
  }

  .woocommerce-MyAccount-navigation ul li{
    width: 100%;  
    max-width: 100% !important;
  }
}


/*TIENDA*/
.woocommerce nav.woocommerce-pagination ul {
    border: 1px solid #b43c2d;
}

.woocommerce nav.woocommerce-pagination ul li:not(:last-of-type) {
    border-right: 1px solid #b43c2d;
}

.woocommerce nav.woocommerce-pagination ul li:last-of-type {
    border-right: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #B43C2D;
    color: white;
}

.woocommerce nav.woocommerce-pagination ul li a:hover{
    background: #B43C2D;
    color: white;
}

.added_to_cart{
  width: 100%;
  margin-top: 10px;
}

.woocommerce-message {
    padding: 1em 2em 1em 3.5em;
    margin: 2em auto;
    position: relative;
    background-color: #f6f5f8;
    color: #515151;
    border-top: 3px solid #B43C2D;
    list-style: none outside;
    width: auto;
    word-wrap: break-word;
    width: 90%;
    border-top-color: #B43C2D;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button{
  background-color: #B43C2D;
  color: white;
  border: 1px solid #B43C2D;
}

:root :where(.wp-element-button, .wp-block-button__link) {
    background-color: #B43C2D;
    border: 1px solid #B43C2D;
    color: #fff;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;
}

:root :where(.wp-element-button, .wp-block-button__link):hover {
    background-color: white;
    color: #B43C2D;
}

.wp-block-woocommerce-cart .alignwide{
  margin-top: 20px;
}

a {
    background-color: transparent;
    color: #B43C2D;
    text-decoration: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover{
  background-color: white;
  color: #B43C2D;
}

.woocommerce-info::before {
    color: #B43C2D;
}

.woocommerce-message::before {
    content: "\e015";
    color: #B43C2D;
}

.woocommerce-info {
    border-top-color: #B43C2D;
}

.reset_variations{
  color: #B43C2D;
}

.woocommerce-Tabs-panel ul{
  list-style: none;
}

.posted_in a{
  color: #B43C2D;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: #B43C2D;
    color: white;
    z-index: 2;
    border-bottom-color: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 1px solid #cfc8d8;
    background-color: white;
    color: black;
}

.woocommerce-loop-product__title{
  color: #B43C2D !important;
  font-size: 20px !important;
}

.price{
  color: black !important;
  font-size: 20px !important;
}

.woocommerce-breadcrumb{
  margin-top: 50px !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    font-size: .92em;
    color: #B43C2D;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a {
    color: #B43C2D;
}

.woocommerce-product-attributes a {
  color: #B43C2D;
}

.woocommerce table.shop_attributes td p {
    margin: 0;
    padding: 8px 15px;
}

.products.columns-4{
  margin-bottom: 50px !important;
}

li.product a.button{
  background-color: #B43C2D !important;
  color: white !important;
  border: 1px solid #B43C2D;
}

li.product a.button:hover{
  background-color: white !important;
  color: #B43C2D !important;
}

.single_add_to_cart_button{
  background-color: #B43C2D !important;
  color: white !important;
  border: 1px solid #B43C2D !important;
}

.single_add_to_cart_button:hover{
  background-color: white !important;
  color: #B43C2D !important;
}

.onsale{
  background-color: #B43C2D !important;
}

.gpnl-container{
  display: none !important;
}

/*PRODUCTE*/

.single-product div.product .tcp-badge {
  display: block;
  margin: 8px 0 10px;
}

/* 1) Asegura que el <form class="cart"> admite saltos de línea */
.single-product div.product form.cart{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
}

/* 2) El badge ocupa la fila superior completa */
.single-product div.product form.cart .tcp-badge{
  order:1 !important;
  flex:0 0 100% !important;
  width:100% !important;
  margin:8px 0 10px !important;
  display:block !important;
}

/* 3) Variaciones (si existen) arriba, luego qty, luego botón */
.single-product div.product form.cart .variations{
  order:2 !important;
  flex:1 1 100% !important;
  width:100% !important;
}

.single-product div.product form.cart .quantity{
  order:3 !important;
  margin:0 10px 0 0 !important;
}

/* En muchos temas, qty+botón vienen envueltos aquí (variables) */
.single-product div.product form.cart .woocommerce-variation-add-to-cart{
  order:4 !important;
  flex:0 0 100% !important;
  width:100% !important;
}

/* 4) Botón SIEMPRE en una nueva línea (debajo del badge y del resto) */
.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart button.single_add_to_cart_button{
  order:5 !important;
  flex:0 0 100% !important;
  width:100% !important;
  display:block !important;
  margin-top:10px !important;
  clear:both !important;       /* por si el theme usa floats */
}

/* 5) Fallback “anti-tema rebelde”: si el wrapper del botón es flex-row, lo hacemos fila completa */
.single-product div.product form.cart .cart .button,
.single-product div.product form.cart .actions .button{
  flex:0 0 100% !important;
  width:100% !important;
}

/* 6) Si el theme mete el botón en contenedores inesperados, también dales fila completa */
.single-product div.product form.cart > *{
  max-width:100%;
}



/*CHECKOUT*/
/*
.gamipress-wc-partial-payments-form-toggle {
    display: none !important;
}
.gamipress-wc-partial-payments-form-toggle:first-of-type {
    display: block !important;
}*/

.wc-block-components-sidebar-layout {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 50px !important;
    position: relative;
}

@media (min-width: 768px) {
  .elementor-230 .elementor-element.elementor-element-3285122 {
      --width: 60%;
  }
}

/* PERFIL ALEX */
/* ==============================
   Sapere Aude – Estilos base
   ============================== */
   :root{
    --sa-bg:#F8EEDB;
    --sa-card:#FFF7EB;
    --sa-border:#B43C2D;          /* borde (rojo marca) */
    --sa-text:#1F2937;
    --sa-muted:#6B7280;           /* gris textos secundarios / números >5 */
    --sa-accent:#C34E34;          /* rojo acento (TOP 1–5, highlight) */
    --sa-accent-dark:#9F3F2B;
    --sa-gold:#F2C14E;
    --sa-silver:#C9D1D9;
    --sa-bronze:#D08C60;
    --sa-radius:14px;
  }
  
  /* Tarjetas utilitarias */
  .sa-card{
    background:var(--sa-card);
    border:1px solid var(--sa-border);
    border-radius:var(--sa-radius);
    padding:16px;
  }
  
  /* ==============================
     Shortcodes UI (Ranking)
     ============================== */
  
  .sa-list{ display:grid; gap:8px; }
  
  .sa-row{
    position:relative;
    display:flex; 
    align-items:center; 
    justify-content:space-between;
    padding:10px 12px;
    background:transparent !important;
    border:1px solid var(--sa-border);
    border-radius:12px;
  }
  
  /* Número (contenido) + icono (pseudo-elemento) */
  .sa-row .pos{
    display:inline-flex; 
    align-items:center;
    font-weight:800;
    min-width:2.25rem; 
    text-align:center;
    font-variant-numeric:tabular-nums;
    color: var(--sa-muted);               /* por defecto gris (>=6º) */
  }
  /* TOP 1–5: número en rojo marca */
  .sa-row .pos[data-rank="1"],
  .sa-row .pos[data-rank="2"],
  .sa-row .pos[data-rank="3"],
  .sa-row .pos[data-rank="4"],
  .sa-row .pos[data-rank="5"]{
    color: var(--sa-accent);
  }
  
  /* Icono junto al número (solo TOP 1–5) con mask (hereda currentColor) */
  .sa-row .pos::after{
    content:"";
    display:none;                         /* se activa abajo */
    width:18px; 
    height:18px;
    margin-left:8px;                      /* separación respecto al número */
    background-color: currentColor;
    -webkit-mask-size: contain; 
    mask-size: contain;
    -webkit-mask-repeat: no-repeat; 
    mask-repeat: no-repeat;
    -webkit-mask-position: center; 
    mask-position: center;
    /* Fallback mínimo si mask no existe: */
    background-size:contain; 
    background-repeat:no-repeat; 
    background-position:center;
  }
  
  /* 1º: corona (Lucide) */
  .sa-row .pos[data-rank="1"]::after{
    display:block;
    -webkit-mask-image: url("https://unpkg.com/lucide-static@latest/icons/crown.svg");
            mask-image: url("https://unpkg.com/lucide-static@latest/icons/crown.svg");
    background-image: url("https://unpkg.com/lucide-static@latest/icons/crown.svg");
  }
  /* 2º: trofeo (Lucide) */
  .sa-row .pos[data-rank="2"]::after{
    display:block;
    -webkit-mask-image: url("https://unpkg.com/lucide-static@latest/icons/trophy.svg");
            mask-image: url("https://unpkg.com/lucide-static@latest/icons/trophy.svg");
    background-image: url("https://unpkg.com/lucide-static@latest/icons/trophy.svg");
  }
  /* 3º: medalla (Lucide) */
  .sa-row .pos[data-rank="3"]::after{
    display:block;
    -webkit-mask-image: url("https://unpkg.com/lucide-static@latest/icons/medal.svg");
            mask-image: url("https://unpkg.com/lucide-static@latest/icons/medal.svg");
    background-image: url("https://unpkg.com/lucide-static@latest/icons/medal.svg");
  }
  /* 4º: laurel (Tabler) */
  .sa-row .pos[data-rank="4"]::after{
    display:block;
    -webkit-mask-image: url("https://unpkg.com/@tabler/icons@latest/icons/outline/laurel-wreath.svg");
            mask-image: url("https://unpkg.com/@tabler/icons@latest/icons/outline/laurel-wreath.svg");
    background-image: url("https://unpkg.com/@tabler/icons@latest/icons/outline/laurel-wreath.svg");
  }
  /* 5º: cinta/galardón (Lucide) */
  .sa-row .pos[data-rank="5"]::after{
    display:block;
    -webkit-mask-image: url("https://unpkg.com/lucide-static@latest/icons/ribbon.svg");
            mask-image: url("https://unpkg.com/lucide-static@latest/icons/ribbon.svg");
    background-image: url("https://unpkg.com/lucide-static@latest/icons/ribbon.svg");
  }
  
  /* Nombre y puntos */
  .sa-row .name{
    flex:1 1 auto; 
    margin:0 .5rem;
    white-space:nowrap; 
    overflow:hidden; 
    text-overflow:ellipsis;
    font-weight:700;
  }
  .sa-row .pts{
    min-width:3.75rem; 
    text-align:right; 
    font-variant-numeric:tabular-nums;
  }
  
  /* ==== Highlight SUPER visible para tu fila (.is-me) ==== */
  .sa-row.is-me{
    position:relative;
    border-color: var(--sa-accent) !important;
    border-width: 2px;
    background: linear-gradient(0deg, rgba(195,78,52,.06), rgba(195,78,52,.06)) !important;
    box-shadow:
      0 6px 20px rgba(195,78,52,.18),
      0 0 0 4px rgba(195,78,52,.22);
  }

  /* Banda lateral de color (marca) */
  .sa-row.is-me::before{
    content:"";
    position:absolute; 
    left:-1px; 
    top:-1px; 
    bottom:-1px;
    width:6px; 
    border-radius:12px 0 0 12px;
    background: var(--sa-accent);
    pointer-events:none;
  }

  /* Número: más grande y en rojo */
  .sa-row.is-me .pos{
    color: var(--sa-accent) !important;
    transform: scale(1.08);
  }

  /* Nombre: color de marca y peso alto */
  .sa-row.is-me .name{
    color: var(--sa-accent);
    font-weight: 800;
    letter-spacing: .2px;
  }

  /* Badge “tú” junto al nombre (puedes quitarlo si no lo quieres) */
  .sa-row.is-me .name::after{
    content: "tú";
    margin-left: 8px;
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--sa-accent);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
  }

  /* Puntos: un pelín más marcados */
  .sa-row.is-me .pts{ font-weight: 800; }

  /* Pulso suave de atención (respeta reduced-motion) */
  @media (prefers-reduced-motion: no-preference){
    @keyframes saPulse {
      0%   { box-shadow: 0 6px 20px rgba(195,78,52,.18), 0 0 0 0 rgba(195,78,52,.22); }
      70%  { box-shadow: 0 6px 20px rgba(195,78,52,.18), 0 0 0 10px rgba(195,78,52,0); }
      100% { box-shadow: 0 6px 20px rgba(195,78,52,.18), 0 0 0 0 rgba(195,78,52,0); }
    }
    .sa-row.is-me{ animation: saPulse 2.4s ease-out 2; }
  }
  
  /* ===============================
     Shortcode [sa_user_colegio]
     =============================== */
  .sa-user-colegio-label{ color:var(--sa-muted); margin-right:.35rem; }
  .sa-user-colegio a{ text-decoration:none; border-bottom:1px dashed var(--sa-border); }
  .sa-user-colegio a:hover{ border-color:var(--sa-accent); }
  
  /* ===============================
     Campo <select> del registro LD
     (inyectado en [ld_registration])
     =============================== */

  #wp-submit-register{
    border-color: #B43C2D !important;
    color: #B43C2D !important;
  }

  #wp-submit-register:hover{
    background-color: #B43C2D !important;
    color: white !important;
  }

  .ld-registration__login-link{
    color: #B43C2D !important;
  }
  
  .ld-registration .sa-field-colegio label{
    display:block; 
    margin-bottom:6px; 
    font-weight:600; 
    color:var(--sa-text);
  }
  .ld-registration .sa-field-colegio select{
    width:100%; 
    background:#fff; 
    color:var(--sa-text);
    border:1px solid var(--sa-border); 
    border-radius:12px;
    padding:.6rem .8rem; 
    appearance:none;
  }
  .ld-registration .sa-field-colegio select:focus{
    outline:0; 
    border-color:var(--sa-accent);
    box-shadow:0 0 0 3px rgba(195,78,52,.20);
  }
  
  /* Número grande (por si lo usas en KPIs) */
  .sa-aura-number{
    font-weight:800; 
    font-size:clamp(28px, 6vw, 60px); 
    line-height:1;
    color:var(--sa-accent);
  }
  
  /* Botón principal (opcional) */
  .sa-cta{
    display:inline-block; 
    padding:.8rem 1.1rem; 
    border-radius:12px;
    background:var(--sa-accent); 
    color:#fff !important; 
    text-decoration:none;
    border:1px solid var(--sa-accent-dark);
  }
  .sa-cta:hover{ background:var(--sa-accent-dark); }

  .related.products {
    width: 100%;
    float: none;
  }

  .related.products h2 {
    text-align: center;
  }
  .btn-invite{
    display:inline-block;
    border:none;
    padding:.7rem 1.1rem;
    border-radius:10px;
    background:#6b46c1; /* morado ejemplo */
    color:#fff;
    cursor:pointer;
    font-weight:600;
    text-decoration:none;
  }
  .btn-invite:hover{ filter:brightness(1.05); }
  .user-stats {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .user-stats li {
    display: flex;
    align-items: center; /* centra verticalmente */
    margin-bottom: 8px; /* espacio entre filas */
  }
  
  .user-stats li img {
    flex: 0 0 18%;      /* icono ocupa el 25% */
    max-width: 18%;     /* que no crezca más de su celda */
    height: auto;
  }
  
  .user-stats li span,
  .user-stats li br,
  .user-stats li {
    flex: 1;            /* el texto ocupa el resto (75%) */
  }
    
  /* Responsive fino */
  @media (max-width: 600px){
    .sa-row .pts{ min-width:3rem; }
  }

  .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 10px!important; 
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    float: left;
    width: 100%;
  }
  
  .woocommerce-account .woocommerce-MyAccount-content {
    float: right;
    width: 100%;
    margin-bottom: 50px;
  }
  
  .woocommerce-MyAccount-navigation ul{
    padding: 30px 20px 50px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }

  .woocommerce-MyAccount-navigation ul li{
    min-width: 210px;
    text-align: center;
  }


  .woocommerce-MyAccount-navigation ul a{
    width: 100%;
  }

  /*REGISTRO*/

  .ld-password-strength__hint {
    color: black;
    margin-block-start: 0;
    margin-bottom: var(--ld-spacer-4);
  }

  .ld-registration__form {
    margin-left: auto;
    margin-right: auto;
    max-width: 650px;
    padding-bottom: var(--ld-spacer-6);
    width: 100%;
    background-color: #fde8c2;
    padding: 50px;
    border-radius: 16px;
    margin-top: 20px;
    margin-bottom: 50px;
  }

  .ld-registration__form input{
    background-color: white !important;
    color: black !important;
  }

  .ld-registration__form .button-primary{
    background-color: white !important;
    color: #b43c2d !important;
  }

  .ld-registration__form .button-primary:hover{
    background-color: #b43c2d !important;
    color: white !important;
  }

  .ld-form .ld-form__field:active, .ld-form .ld-form__field:focus {
    border-color: #b43c2d !important;
    box-shadow: inset 0 0 0 2px #b43c2d !important;
    outline: 0;
  }

  .ld-login-modal-register .ld-button-reverse{
    background-color: white !important;
    color: #b43c2d !important;
    margin-top: 10px !important;
  }

  .ld-button--border {
    background-color: white !important;
    border-color: #b43c2d !important;
    color: #b43c2d !important;
    outline: none;
  }

  .ld-button--border:hover {
    background-color: #b43c2d !important;
    border-color: #b43c2d !important;
    color: white !important;
    outline: none;
  }

  .learndash-wrapper .ld-login-modal-register .ld-button:hover:not([disabled]):not(.ld-button-transparent):not(.ld--ignore-inline-css){
    background-color: white !important;
    color: #b43c2d !important;
    margin-top: 10px !important;
  }

  .ld-field{
    border-color: #b43c2d !important;
  }

  .ld-registration__register-submit-wrapper{
    margin-top: 20px;
  }

  [type="submit"], button {
  background-color: transparent;
  border: 1px solid #B43C2D;
  border-radius: 3px;
  color: #B43C2D;
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  padding: .5rem 1rem;
  text-align: center;
  transition: all .3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
}

[type="submit"]:hover, button:focus, button:hover {
  background-color: #B43C2D;
  color: #fff;
  text-decoration: none;
}

.ld-registration__forgot-password a{
  color: #B43C2D !important;
}

/*TODOS LOS CURSOS*/
.grid-cursos .entry-title {
    font-size: 22px;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    color: black;
}

.grid-cursos .btn-primary{
  margin-top: 20px;
}

.grid-cursos .ld-course-list-items .ld_course_grid .thumbnail .caption {
    padding: 20px;
}

.grid-cursos .ld-course-list-items .ld_course_grid .thumbnail.course .ribbon.enrolled {
    background: #b43c2d;
}

.grid-cursos .ld-course-list-items .ld_course_grid .thumbnail.course .ribbon.enrolled:before {
    border-top: 4px solid #b43c2d;
    border-right: 4px solid #b43c2d;
}

.grid-cursos .ld-course-list-items .ld_course_grid .thumbnail.course .ribbon {
  background: #b43c2d;
}

.grid-cursos .ld-course-list-items .ld_course_grid .thumbnail.course .ribbon::before {
  border-top: 4px solid #b43c2d;
  border-right: 4px solid #b43c2d;
}

.learndash-wrapper .ld-course-status.ld-course-status-enrolled{
  margin-bottom: 30px!important;
}

.bbp-forums{
  margin-bottom: 30px!important;
}


/*RESPONSIVE*/
 @media (max-width: 820px){

    .titulo-inicio br{
      display: none;
    }

    .texto-64, .texto-64 h1, .texto-64 h2, .texto-64 h3, .texto-64 h4, .texto-64 p, .texto-64 a, .texto-64 div, .texto-64 span{
        font-size: 43px;
    }

    .texto-50, .texto-50 h1, .texto-50 h2, .texto-50 h3, .texto-50 h4, .texto-50 p, .texto-50 a, .texto-50 div, .texto-50 span{
        font-size: 30px;
    }

    .texto-37, .texto-37 h1, .texto-37 h2, .texto-37 h3, .texto-37 h4, .texto-37 p, .texto-37 a, .texto-37 div, .texto-37 span{
        font-size: 27px;
    }

    .entry-title {
      font-size: 43px;
    }

    .contenedor-mi-perfil .btn-invite{
      margin-top: 30px;
    }
}


@media (max-width: 575px) {
    body:not([class*=elementor-page-]) .site-main {
        padding-inline-end: 20px;
        padding-inline-start: 20px;
    }
}

@media (min-width: 480px) {

}