/* 
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
*/


/*------------------------------------------------*/
/*---------------- [GENERAL] -----------------*/
/*------------------------------------------------*/
.elementor-widget-button .elementor-button-content-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.elementor-widget-button .elementor-button-icon svg {
    width: 20px;
}

/*------------------------------------------------*/
/*---------------- [TIPOGRAFÍAS] -----------------*/
/*------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
}

b,
strong {
    font-weight: 600;
}

.subrayado {
    background: -o-linear-gradient(transparent calc(100% - 0.35em), var(--e-global-color-accent) 0) no-repeat;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0, var(--e-global-color-accent))) no-repeat;
    background: linear-gradient(transparent calc(100% - 0.35em), var(--e-global-color-accent) 0) no-repeat;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding-bottom: 0.05em;
}

/*------------------------------------------------*/
/*------------------ [HEADER] --------------------*/
/*------------------------------------------------*/
.sec-header.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded.elementor-sticky.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside {
    background-color: rgb(0, 0, 0, 0.75);
    -webkit-box-shadow: 0 0 20px rgb(0, 0, 0, 0.15);
    box-shadow: 0 0 20px rgb(0, 0, 0, 0.15);
}

@media (min-width:881px) {
    .sec-header.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded.elementor-sticky.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside .elementor-widget-image img {
        max-width: 100px;
    }
}

.sec-header .elementor-menu-cart--items-indicator-plain .elementor-menu-cart__toggle .elementor-button-icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 8px;
}

/*------------------------------------------------*/
/*------------------ [FOOTER] --------------------*/
/*------------------------------------------------*/
footer .elementor-nav-menu--layout-vertical > ul > li > a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

@media (max-width:767px) {
    footer .elementor-nav-menu--layout-vertical > ul > li > a {
        text-align: center;
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
        margin: auto;
    }
}

/*------------------------------------------------*/
/*---------------- [FORMULARIOS] -----------------*/
/*------------------------------------------------*/
/*--- Estructura ---*/
.row_inputs {
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem;
}

.col_inputs {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
    padding: 0;
    border: unset;
}

.col_inputs.big-colum {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
}

.col_inputs > label {
    display: block
}

/*--- Campos ---*/
.wpcf7-form span.etiqueta {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
}

.wpcf7-acceptance .wpcf7-list-item {
    display: inline-block;
    margin: 0;
}

.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
    font-size: 0.75rem;
}

.wpcf7-spinner {
    position: absolute;
    left: 0;
}

.wpcf7-not-valid-tip {
    font-size: 0.85rem;
}

.wpcf7-not-valid-tip {
    background-color: #fff;
    padding: 5px 10px;
    margin-top: 5px;
    font-size: 0.85rem !important;
    line-height: 140%;
    border-radius: 4px;
}

.wpcf7 input[type="file"] {
    display: block;
    width: 100%;
}

footer .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
    color: #fff;
}

footer .wpcf7 .wpcf7-submit {
    width: 100%;
    height: 100%;
}

/*------------------------------------------------*/
/*---------------- [COOKIES] -----------------*/
/*------------------------------------------------*/
#cmplz-manage-consent .cmplz-manage-consent {
    font-weight: bold;
    font-size: 1rem;
}

#cmplz-document {
    max-width: 100%;
}

#cmplz-document p,
#cmplz-document li,
#cmplz-document td {
    font-size: 1rem;
}



/*------------------------------------------------*/
/*------------------[LEGALES]---------------------*/
/*------------------------------------------------*/
.legal h2 {
    font-size: 1.5rem !important;
    margin-bottom: 8px;
    margin-top: 16px;
}

/*------------------------------------------------*/
/*--------------------[HOME]----------------------*/
/*------------------------------------------------*/
.home .elementor-cta--layout-image-above .elementor-cta__bg-wrapper,
.home .elementor-cta--layout-image-below .elementor-cta__bg-wrapper {
    aspect-ratio: 1/1;
}

/*------------------------------------------------*/
/*--------------[CARRITO]-------------------*/
/*------------------------------------------------*/
@media (max-width: 768px) {

    .woocommerce-page table.cart .product-thumbnail,
    .woocommerce table.shop_table_responsive tbody th,
    .woocommerce-page table.shop_table_responsive tbody th {
        display: block !important;
    }

    .woocommerce-page table.cart .product-thumbnail:before {
        display: none;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.cart td {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .elementor-widget-woocommerce-cart .woocommerce table.cart tr {
        padding: 8px !important;
    }

}

.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    text-transform: var(--e-global-typography-accent-text-transform);
    line-height: var(--e-global-typography-accent-line-height);
    color: var(--e-global-color-text);
    border-style: solid;
    border-width: 2px 2px 2px 2px;
    border-color: var(--e-global-color-text);
    border-radius: 10px 10px 10px 10px;
    padding: 15px 25px 15px 25px;
}

.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce-page .woocommerce-error .button:hover,
.woocommerce-page .woocommerce-info .button:hover,
.woocommerce-page .woocommerce-message .button:hover {
    color: var(--e-global-color-dd52fc0) !important;
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
}

.woocommerce-button.button.e-apply-coupon {
    width: 100% !important;
}

/*------------------------------------------------*/
/*--------------[CUENTA]-------------------*/
/*------------------------------------------------*/
.e-my-account-tabs-horizontal .e-wc-account-tabs-nav .woocommerce-MyAccount-navigation ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
}
.mis-cursos h2.nivel-titulo {
        border: 1px solid var(--e-global-color-406349b);
            padding: 16px;
            border-radius: 10px;
    font-size: 28px !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
}

.mis-cursos .curso h3 {
    font-size: 20px !important;
}

/*------------------------------------------------*/
/*--------------[PRODUCTOS]-------------------*/
/*------------------------------------------------*/
.elementor-products-grid ul.products.elementor-grid li.product .onsale {
    min-height: auto !important;
    padding: 8px 0;
    font-weight: 800 !important;
}

/*------------------------------------------------*/
/*----------------[CURSOS]----------------------*/
/*------------------------------------------------*/
.curso-template-default .button.add_to_cart_button.ajax_add_to_cart {
  font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
  font-size: var( --e-global-typography-accent-font-size );
  font-weight: var( --e-global-typography-accent-font-weight );
  text-transform: var( --e-global-typography-accent-text-transform );
  line-height: var( --e-global-typography-accent-line-height );
  color: var( --e-global-color-dd52fc0 );
  background-color: var( --e-global-color-primary );
  border-style: solid;
  border-width: 2px 2px 2px 2px;
  border-color: var( --e-global-color-accent );
  border-radius: 10px 10px 10px 10px;
  padding: 15px 25px 15px 25px;
  display: inline-block;
}
.curso-template-default  .button.add_to_cart_button.ajax_add_to_cart:hover {
color: var( --e-global-color-dd52fc0 );
  background-color: var( --e-global-color-secondary );
  border-color: var( --e-global-color-secondary );
}
.curso-template-default .added_to_cart.wc-forward {
	padding: 16px;
	display: inline-block;
}
.curso-template-default  .curso-content h1,
.curso-template-default  .curso-content h2,
.curso-template-default  .curso-content h3,
.curso-template-default  .curso-content h4,
.curso-template-default  .curso-content h5,
.curso-template-default  .curso-content h6{
	margin-top:12px;
	margin-bottom:6px;
}
.curso-template-default  .curso-content h1 {
    font-size: 1.5rem;
}
.curso-template-default  .curso-content h2 {
      font-size: 1.5rem;
}
.curso-template-default  .curso-content h3 {
    font-size: 1.25rem;
}
.curso-template-default  .curso-content h4 {
    font-size: 1.25rem;
}
.curso-template-default  .curso-content h5 {
    font-size: 1.1rem;
}
.curso-template-default  .curso-content h6 {
    font-size: 1rem;
}
.curso-template-default  .curso-content  hr {
	background-color: var( --e-global-color-169ddcc );
	height: 1px;
	border: none;
	margin: 40px auto;
	display: block;
}
.curso-template-default .curso-content ul {
  margin-top: 12px;
  margin-bottom: 6px;
}
.curso-template-default .curso-content ul li {
  margin-bottom: 6px;
}
.curso-template-default .curso-content ul li::marker {
	color: var(--e-global-color-primary);
}







/* Contenedor flotante */
.popup-floating {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
  background: rgba(20, 20, 20, 0.95); /* fondo oscuro semitransparente */
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(0,0,0,0.4);
  max-width: 320px;
  width: 90%;
  padding: 1.2em 1.5em;
  animation: fadeInUp 0.5s ease;
  color: #fff; /* texto blanco */
  font-family: 'Poppins', sans-serif;
}

/* Contenido interno */
.popup-floating .popup-content {
  position: relative;
}

/* Botón de cierre (X) */
#closePopup {
  position: absolute;
  top: 6px;
  right: 10px;
  cursor: pointer;
  font-size: 1.2em;
  color: #aaa;
  transition: color 0.2s;
}
#closePopup:hover {
  color: #fff;
}

/* Título */
.popup-floating h3 {
  font-size: 1.2rem; /* más pequeño */
  font-weight: 600;
  margin-bottom: 0.8em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}

/* Ajustes de los campos de Contact Form 7 */
.popup-floating input[type="email"],
.popup-floating input[type="text"],
.popup-floating textarea {
  width: 100%;
  border: none;
  border-radius: 6px;
  padding: 10px;
  margin-bottom: 10px;
  font-size: 0.9rem;
  background: #333;
  color: #fff;
}

.popup-floating input::placeholder {
  color: #bbb;
}

/* Botón de enviar */
.popup-floating input[type="submit"] {
  background: #e0006c;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 10px;
  width: 100%;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}

.popup-floating input[type="submit"]:hover {
  background: #ff007f;
}

/* Texto legal o enlaces debajo */
.popup-floating .wpcf7-form p {
  font-size: 0.8rem;
  color: #ccc;
  margin-bottom: 0.5em;
}

/* Animación de entrada */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.popup-floating a {
  color: #ff79c6 !important;
}

/* Ocultar recaptcha */
.grecaptcha-badge {
    visibility: hidden !important;
}
