/**
Theme Name: IFIC
Author: Moio
Author URI: https://moio.io/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ific
Template: astra
*/

/* Typo */

@font-face {
    font-family: 'Karla';
    src: url('assets/fonts/Karla-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Libre Caslon';
    src: url('assets/fonts/LibreCaslonDisplay-Regular.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

/* Vars */
:root {
    --font-titles: 'Libre Caslon';
    --font-default: 'Karla';

    --color-green: #70AF44;
    --color-orange: #E25410;
    --color-blue: #39A5DD;
    --color-grey: #7E7E7E;

    --gradient: linear-gradient(to right, #29b6f6, #8bc34a, #fbc02d, #f57c00);
}

/* Admin Helpers */
/* Logged IN */
#wpadminbar {
    transform: translateY(-75%);
    transition: transform 0.2s ease-in;

    &:hover {
        transform: translateY(0);
    }
}

body:not(.logged-in) {
    .user-icon {
        svg {
            .st1 {
                fill: #fff !important;
            }
        }
    }
}

html:has(body.logged-in.admin-bar) {
    margin-top: 0 !important;
}

/* Elementor overrides */
body.elementor-template-full-width {
    .site-content {
        .ast-container {
            padding-inline: 0 !important;
            max-width: 100% !important;
        }
    }
}

.elementor-menu-cart--items-indicator-bubble .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] {
    background-color: var(--color-orange);
}

[class*="elementor-blockquote"] {
    blockquote[class*="elementor-blockquote"] {
        border: 0 none;

        padding: 0;

        font-family: var(--font-titles);
        line-height: 1.1;
        font-weight: 400;

        /* font-size: clamp(40px, 5vw, 60px); */

        .e-q-footer {
            font-family: var(--font-default);
            align-items: center;
            justify-content: end;
            position: relative;

            width: min(100%, var(--wp--custom--ast-container-width));

            cite {
                background: inherit;
                padding-inline: 1em;
                position: relative;
                z-index: 1;
                background-color: var(--ast-global-color-2);
            }

            &::before {
                content: '';
                position: absolute;
                top: 50%;
                left: 0;
                height: 2px;
                background-color: var(--ast-global-color-4);
                width: 100%;
                z-index: 0;
            }
        }
    }
}

body:not(.single-product) {
    [class*="elementor-blockquote"] {
        blockquote[class*="elementor-blockquote"] {
            font-size: clamp(40px, 5vw, 60px);
        }
    }
}

/* Helpers */

.font--title {
    font-family: var(--font-titles);
    line-height: 1.2;
}

.font--text {
    font-family: var(--font-default);
}

.font--text h2 {
    font-family: var(--font-default);
}

.color--green {
    color: var(--color-green);
}

.color--blue {
    color: var(--color-blue);
}

.color--orange {
    color: var(--color-orange);
}

.color--gradient {
    >span {
        background: var(--gradient);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

.pretitle {
    >span {
        text-transform: uppercase;
        font-weight: 600;
        font-size: 16px;
    }
}

[class*="btn--"] {
    font-weight: 600;
}


/* Base común para todos los subrayados */
[class*="underline--"] {
    background-repeat: no-repeat;
    background-position: 0 90%;
    background-size: 100% 3px;
    padding-bottom: 3px;
    text-decoration: none !important;
}

/* Variante con gradiente */
[class*="underline--gradient"] {
    background-image: var(--gradient);
}

[class*="underline--blue"] {
    background-image: linear-gradient(var(--color-blue), var(--color-blue));
}

[class*="underline--green"] {
    background-image: linear-gradient(var(--color-green), var(--color-green));
}

[class*="underline--orange"] {
    background-image: linear-gradient(var(--color-orange), var(--color-orange));
}

/*@supports (text-decoration-thickness: 3px) {
    [class*="underline--"] {
        text-decoration-thickness: 3px;
        text-underline-offset: 0.15em;
    }
    [class*="underline--gradient"] {
        text-decoration-color: var(--gradient);
    }

    [class*="underline--blue"] {
        text-decoration-color: var(--color-blue);
    }

    [class*="underline--green"] {
        text-decoration-color: var(--color-green);
        
    }
}
@supports not (text-decoration-thickness: 3px) {
    [class*="underline--"] {
        display: inline-block;
        position: relative;
        text-decoration: none !important;
        z-index: 0;

        &::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 3px;
            z-index: -1;
        }
    }

    [class*="underline--gradient"] {
        &::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0.1em;
            width: 100%;
            height: 3px;
            background: var(--gradient);
        }
    }

    [class*="underline--blue"] {
        &::after {
            background: var(--color-blue);
        }
    }

    [class*="underline--green"] {
        &::after {
            background: var(--color-green);
        }
    }
}*/


.inner__hero {
    h2 {
        text-align: center;
    }
}

/* Default */
html,
body {
    font-family: var(--font-default);
    font-size: 18px;

    h1,
    h2,
    h3 {
        font-family: var(--font-titles);
        font-weight: 400 !important;
    }
}

.homepage__hero {
    h2 {
        text-align: center;
    }
}

/* HEADER */
header {
    .main-header-bar.ast-sticky-active {
        background-color: var(--ast-global-color-3);

    }
}

/* FOOTER */
footer {
    padding: 24px 32px;
    background-color: var(--ast-global-color-3);

    display: grid;
    gap: 46px;

    border-top: 2px solid var(--color-white);

    --footer-size-small: 16px;

    .site-above-footer-wrap,
    .site-primary-footer-wrap,
    .site-below-footer-wrap {
        padding: 0;

        .widget,
        .site-footer-section {
            margin: 0 !important;
        }
    }

    .site-above-footer-inner-wrap.ast-builder-grid-row {
        gap: 30px;

        aside {
            display: grid !important;
            gap: 30px;
        }
    }

    .site-above-footer-wrap {}

    .site-primary-footer-wrap {}

    .site-below-footer-wrap {
        font-size: var(--footer-size-small);
    }


    address {
        font-style: normal;
        margin: 0;

        p {
            margin: 0;
        }
    }

    a {
        color: var(--ast-global-color-4);

        &:hover {
            color: var(--ast-global-color-0);
        }
    }

    color: var(--ast-global-color-4);

    /* por aqui flick*/
    p {
        color: var(--ast-global-color-4);
    }

    aside:has(#menu-rrss) {
        margin-top: auto;
    }

    #menu-rrss {
        display: flex;
        gap: 0.3rem;
        font-size: var(--footer-size-small);
        letter-spacing: 8%;
        text-transform: uppercase;



        >li {
            display: inline-flex;
            gap: 0.3rem;

            &:not(:last-child)::after {
                content: '|';
            }
        }

        /* a {
            color: var(--ast-global-color-4);

            &:hover {
                color: var(--ast-global-color-0);
            }
        } */
    }

    .newsletter_wrapper {

        width: min(100%, 520px);
        padding-top: 1rem;

        h2 {
            color: var(--color-white);
            font-size: 1.5rem;
            text-transform: uppercase;
            margin-bottom: ;
        }

        .newsletter_form {

            [class*="gform-theme--"] {
                .gform_fields {
                    row-gap: 20px;


                }
            }

            label {
                color: var(--color-white);
            }
        }
    }

    /* .site-footer-above-section-2 {
        display: flex;
        flex-flow: column;
        height: 100%;
        align-items: flex-end;
    } */

    @media screen and (width >=768px) {
        padding-block: 53px 32px;
        gap: 0;

        .site-primary-footer-wrap {
            padding-block-start: 6px;
        }

        .site-below-footer-wrap {
            padding-block-start: 32px;
        }

        .site-footer-above-section-2 {
            display: flex;
            flex-flow: column;
            height: 100%;
            align-items: flex-end !important;

            aside {
                justify-content: flex-end;

                address {
                    text-align: right;
                }
            }
        }
    }

}


/* Default WP Buttons */
.wp-block-button {
    position: relative;
    padding: 16px 40px;
    background: transparent;
    border: 2px solid;
    border-image: var(--gradient) 1;
    cursor: pointer;
    z-index: 1;

    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--gradient);
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
        z-index: -1;
    }

    .wp-block-button__link {
        padding: 0;
        text-transform: uppercase;
        font-weight: 600;

        background: var(--gradient);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        transition: -webkit-text-fill-color 0.3s ease-in-out;
        box-shadow: none;
    }

    &:hover {
        &::before {
            opacity: 1;
        }

        .wp-block-button__link {
            -webkit-text-fill-color: #1a1a1a;
        }
    }
}

.btn--outline {
    &.btn--gradient {

        position: relative;
        /* padding: 16px 40px; */
        padding: 10px 20px;
        background: transparent;
        border: 2px solid;
        border-image: var(--gradient) 1;
        cursor: pointer;
        z-index: 1;

        background: var(--gradient);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;

        &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--gradient);
            opacity: 0;
            transition: opacity 0.3s ease-in-out;
            z-index: -1;
        }

        &:hover {
            -webkit-text-fill-color: #1a1a1a;

            &::before {
                opacity: 1;
            }
        }
    }

    &:has(svg) {
        svg {
            position: relative;
            top: 2px;
        }
    }
}


/* SPECIFIC STYLES */

/**********************/
/*    HEADER         */
/**********************/

header {

    svg {
        height: 30px !important;
        width: auto !important;
    }

    .hamburguer-menu__control {
        svg {
            height: 22px !important;
        }
    }

    nav[class*="elementor-nav-menu"] {
        .elementor-nav-menu {
            >li {
                a {
                    color: var(--color-white);
                }

                &:not([class*="item--"])>a:hover {
                    background: var(--gradient);
                    -webkit-background-clip: text;
                    background-clip: text;
                    -webkit-text-fill-color: transparent;

                }

                &.item--blue {
                    a {
                        background-color: var(--color-blue);
                    }
                }

                &.item--green {
                    a {
                        background-color: var(--color-green);
                    }
                }

                &.item--orange {
                    a {
                        background-color: var(--color-orange);
                    }
                }

                &.current-menu-item {
                    &:not([class*="item--"]) {
                        a {
                            background: var(--gradient);
                            -webkit-background-clip: text;
                            background-clip: text;
                            -webkit-text-fill-color: transparent;
                        }
                    }

                    &.item--blue {
                        a {
                            color: var(--color-blue) !important;
                            background-color: var(--color-white);
                        }
                    }

                    &.item--green {
                        a {
                            background-color: var(--color-white);
                            color: var(--color-green) !important;
                        }
                    }

                    &.item--orange {
                        a {
                            background-color: var(--color-white);
                            color: var(--color-orange) !important;
                        }
                    }
                }

                /* Submmenus */
                &.menu-item-has-children {
                    .sub-arrow {
                        display: none;

                        svg {
                            font-size: 0.8em;
                            width: 1em !important;
                            height: 1em !important;

                        }
                    }
                }
            }
        }
    }
}

.menu-mobile {
    .elementor-nav-menu__container {
        >ul {
            display: grid;
            gap: 1rem;

            &:not([class*="item--"])>a:hover {
                background: var(--gradient);
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: transparent;

            }
        }

        ul {

            >li {
                a {
                    color: var(--color-white);

                    svg * {
                        fill: currentColor;
                    }
                }



                &.item--blue {
                    a {
                        background-color: var(--color-blue);

                        &:hover {
                            background-color: var(--color-white);
                            color: var(--color-blue);

                            svg {
                                color: var(--color-blue);
                            }
                        }
                    }
                }

                &.item--green {
                    a {
                        background-color: var(--color-green);

                        &:hover {
                            background-color: var(--color-white);
                            color: var(--color-green);

                            svg {
                                color: var(--color-green);
                            }
                        }
                    }
                }

                &.item--orange {
                    a {
                        background-color: var(--color-orange);

                        &:hover {
                            background-color: var(--color-white) !important;
                            color: var(--color-orange) !important;

                            svg {
                                color: var(--color-orange) !important;
                            }
                        }
                    }
                }

                &.current-menu-item {
                    &:not([class*="item--"]) {
                        a {
                            background: var(--gradient);
                            -webkit-background-clip: text;
                            background-clip: text;
                            -webkit-text-fill-color: transparent;
                        }
                    }

                    &.item--blue {

                        a,
                        a:hover {
                            color: var(--color-blue) !important;
                            background-color: var(--color-white);

                            &.elementor-item-active {
                                color: var(--color-blue) !important;
                                background-color: var(--color-white);
                            }
                        }
                    }

                    &.item--green {

                        a,
                        a:hover {
                            color: var(--color-green) !important;
                            background-color: var(--color-white);

                            &.elementor-item-active {
                                color: var(--color-green) !important;
                                background-color: var(--color-white);
                            }
                        }
                    }

                    &.item--orange {

                        a,
                        a:hover {
                            color: var(--color-orange) !important;
                            background-color: var(--color-white);

                            &.elementor-item-active {
                                color: var(--color-orange) !important;
                                background-color: var(--color-white);
                            }
                        }
                    }
                }

                /* Submmenus */
                &.menu-item-has-children {
                    .sub-arrow {
                        /* display: none; */

                        svg {
                            font-size: 0.8em;
                            width: 1em !important;
                            height: 1em !important;

                        }
                    }
                }
            }

            .sub-menu {
                font-size: 1rem;
            }
        }
    }
}

body.header-scrolled {
    header {
        >.elementor-element {
            background-color: var(--color-black);
        }
    }
}

/* 1. Anulamos el movimiento de arrastre horizontal del contenedor */
body .homepage__hero .e-n-carousel.swiper .swiper-wrapper {

    /*.swiper-slide {
        opacity: 1 !important;
        transition: opacity 0.8s ease-in-out !important;
        z-index: 1;

    }*/


    /*.swiper-slide-active,
    .swiper-slide-duplicate-active {
        opacity: 1 !important;
        z-index: 2;
    }


    .swiper-slide-next,
    .swiper-slide-duplicate-next,
    .swiper-slide-prev,
    .swiper-slide-duplicate-prev {
        opacity: 1 !important;
        z-index: 1;
    } */

    /* transform: translate3d(0px, 0, 0) !important;

    .swiper-slide {
        opacity: 0 !important;
        transition: opacity 0.8s ease-in-out !important;
        position: absolute !important;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        z-index: 1;
        pointer-events: none;

        &[class*="-prev"] {
            opacity: 1 !important;
        }

        &[class*="-active"] {
            opacity: 1 !important;
            z-index: 2;
        }


        iframe {
            height: 100% !important;
            min-width: 100% !important;
            aspect-ratio: 3 / 1;
            width: auto !important;
        }
    } */
}

/* .homepage__hero .swiper-wrapper {
    transform: translate3d(0px, 0, 0) !important;

    .swiper-slide {
        opacity: 0 !important;
        transition: opacity 0.8s ease-in-out !important;
        position: absolute !important;
        left: 0;
        top: 0;
        z-index: 1;
        pointer-events: none;

        &.swiper-slide-active {
            opacity: 1 !important;
            position: relative !important;
            z-index: 2;
            pointer-events: auto;
        }

        iframe {
            height: 100% !important;
            min-width: 100% !important;
            aspect-ratio: 3 / 1;
            width: auto !important;
        }
    }
} */


.custom-grid__hover {
    >div {
        min-height: 440px;
    }

    >div:has(.custom-grid__hover--bg) {
        color: var(--ast-global-color-4);

        .e-button-base {
            background-color: transparent;
            border: var(--ast-global-color-4);
            color: var(--ast-global-color-4);
            border: 1px solid var(--ast-global-color-4);
            z-index: 2;

            &:hover {
                background-color: var(--ast-global-color-4);
                color: var(--ast-global-color-3);
            }
        }

        .custom-grid__hover--bg {
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
            mix-blend-mode: multiply;
        }

        &:hover {
            .custom-grid__hover--bg {
                opacity: 0.4;
            }
        }
    }
}


/**********************/
/*    Product         */
/**********************/



.custom-attributes__wrapper {
    display: flex;
    gap: 1rem;
    /* .badge-attr {
        color: var(--ast-global-color-4);
        border: 1px solid currentColor;
        padding: 0.3em 1em;
    } */
}

.custom-categories__wrapper {
    display: flex;
    gap: 1rem;
}

.badge-attr,
.badge-cat-img {
    display: flex;
    gap: 1rem;
    align-items: center;
    color: var(--ast-global-color-4);
    border: 1px solid currentColor;
    padding: 0.4em 0.6em;
    line-height: 1;
}

.badge-cat-img {
    &[data-cat="produccion"] {
        background: var(--color-blue);
        border-color: var(--color-blue);
    }

    &[data-cat="pensamiento"] {
        background: var(--color-green);
        border-color: var(--color-green);
    }

    &[data-cat="creacion"] {
        background: var(--color-orange);
        border-color: var(--color-orange);
    }
}


/* Accordions info cursos */
.curso-tabs-wrapper {
    .curso-tabs-header {
        display: flex;
        gap: 15px;
        border-bottom: 2px solid var(--color-black);
        margin-bottom: 30px;
        overflow: auto;

        .tab-btn {
            background: transparent;
            border: none;
            color: var(--color-grey);
            /* color: #999999; */
            font-weight: 700;
            font-size: 14px;
            padding: 10px 15px;
            cursor: pointer;
            letter-spacing: 1px;
            transition: all 0.2s ease;
            /* border-bottom: 3px solid transparent; */
            /* margin-bottom: -2px; */
            border-radius: 0;
            white-space: nowrap;
            box-shadow: none;

            &.active {
                background: #1a1a1a;
                color: #ffffff;
                /* border-bottom: 3px solid #ffffff; */
            }
        }

        @media screen and (width <=767px) {
            position: sticky;
            top: 94px;
            background: #fff;
            border-bottom: 0 none;

            padding-bottom: 2px !important;

            &::-webkit-scrollbar {
                width: 1px;
                height: 3px;
                background-color: var(--color-white);
            }

            &::-webkit-scrollbar-thumb {
                background: var(--gradient);
                border-radius: 3px;
            }
        }
    }

    /* Contenido de pestañas */
    .tab-content {
        display: none;

        &.active {
            display: block;
        }

        h2 {
            font-family: var(--font-titles);
            /* font-size: 38px;
            margin-bottom: 25px; */
        }

        /* Fix old images markup */
        &[data-current="impartido-por"] {
            p:has(img:only-child) {
                display: inline;
                float: left;
                clear: both;
                margin-block-end: 1rem;
                margin-inline-end: 1rem;
            }

            h3 {
                clear: both;
                font-weight: 700 !important;
                margin-top: 1em;
                margin-bottom: 1em;
            }

            @media screen and (max-width: 767px) {
                p:has(img:only-child) {
                    float: none;
                    clear: none;
                    display: block;
                }

                .alignleft,
                .alignright {
                    float: none;
                    display: block;
                    margin: 0 auto 1em;
                    max-width: 100%;
                    height: auto;
                }

            }
        }
    }

    /* Tabla de Datos Generales */
    .tabla-datos-generales {
        width: 100%;
        border-collapse: collapse;
        border: 0 none;

        tr {
            &:not(:last-child) {
                border: 0 none;
                border-bottom: 1px solid #E5E5E5;
            }


            th {
                text-align: left;
                padding: 15px 0;
                width: 200px;
                /* font-size: 12px; */
                letter-spacing: 1px;
                /* color: var(--color-black); */
                text-transform: uppercase;
                border: 0 none;
            }

            td {
                padding: 15px 0;
                /* color: #cccccc; */
                /* font-size: 15px; */
                border: 0 none;
            }

            .nota-fecha-curso {
                display: block;
                color: var(--color-grey);
                font-size: 0.9em;
                margin-top: 4px;
            }
        }

        @media screen and (width <=767px) {
            display: grid;
            width: 100%;

            tr {
                display: grid;
                width: 100%;
            }
        }
    }

    .acordeon-modulos {
        details.item-acordeon {
            border: 1px solid #e0e0e0;
            border-left: 5px solid #709d31;
            /* Borde lateral verde */
            background-color: #ffffff;
            margin-bottom: 12px;
            border-radius: 2px;
            overflow: hidden;
            transition: all 0.2s ease;

            summary {
                padding: 18px 20px;
                /* font-size: 14px; */
                font-size: 1rem;
                font-weight: 700;
                color: #111111;
                letter-spacing: 0.5px;
                cursor: pointer;
                list-style: none;
                /* Oculta la flecha nativa del navegador */
                position: relative;
                display: flex;
                justify-content: space-between;
                align-items: center;

                &::-webkit-details-marker {
                    display: none;
                }

                &::after {
                    content: '+';
                    font-size: 20px;
                    font-weight: 300;
                    color: #709d31;
                    /* Color verde del icono */
                    line-height: 1;
                }

            }

            &[open] summary::after {
                content: '—';
                font-size: 18px;
            }
        }
    }

    /* Cuerpo con el texto desplegado */
    .acordeon-modulos details.item-acordeon .content-wrap,
    .acordeon-modulos details.item-acordeon>div {
        padding: 0 20px 20px 20px;
        /* font-size: 14px; */
        font-size: 1rem;
        line-height: 1.6;
        color: #444444;
    }
}

/* Selector de Modalidad (Presencial / Online) */
.tarjetas-precios-wrapper {
    .modalidad-selector {
        display: flex;
        gap: 8px;
        margin-bottom: 16px;

        .modalidad-btn {
            flex: 1;
            background: transparent;
            border: 1px solid #e0e0e0;
            border-radius: 4px;
            color: var(--color-grey);
            font-weight: 700;
            font-size: 13px;
            letter-spacing: 0.5px;
            padding: 12px 16px;
            cursor: pointer;
            box-shadow: none;
            transition: all 0.2s ease;

            &.active {
                background: #1a1a1a;
                border-color: #1a1a1a;
                color: #ffffff;
            }

            &:not(.active):hover {
                border-color: #1a1a1a;
                color: #1a1a1a;
            }
        }
    }
}

/* Ocultar precios para los finalizados */
.single-product {
    .pa_estado-finalizado {

        .custom-curso__grid {
            grid-template-columns: 1fr !important;
        }

        .tarjetas-precios-wrapper {
            display: none;
        }
    }
}


/* Aside Add to cart */
.variations-accordion-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;

    .variation-card-accordion {
        border: 1px solid #e0e0e0;
        border-radius: 4px;
        padding: 18px 20px;
        background-color: #ffffff;
        cursor: pointer;
        transition: border-color 0.2s ease;

        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .card-title {
            font-size: 13px;
            font-weight: 700;
            color: #111111;
            letter-spacing: 0.5px;
        }

        .card-price .amount {
            font-size: 22px;
            font-weight: 700;
            color: #111111;
        }

        &.active {
            border-color: #111111;
        }
    }

    .radio-custom-ui input[type="radio"] {
        accent-color: #111111;
        width: 20px;
        height: 20px;
    }

    /* OCULTAR Y MOSTRAR LOS BOTONES SEGÚN EL ESTADO ACTIVE */
    .card-body-actions {
        display: none;
        margin-top: 15px;
        padding-top: 15px;
    }

    .variation-card-accordion.active .card-body-actions {
        display: block;
        /* Solo se despliega en la tarjeta activa */
    }

    .custom-add-to-cart-form {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .btn-card {
        width: 100%;
        padding: 12px 20px;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 1px;
        cursor: pointer;
        border-radius: 2px;
        text-align: center;
        transition: all 0.2s ease;
    }

    .btn-add-cart {
        background-color: transparent;
        border: 1px solid #709d31;
        color: #709d31;

        &:hover {
            background-color: #f4f8ee;
        }
    }

    .btn-buy-now {
        background-color: #709d31;
        border: 1px solid #709d31;
        color: #ffffff;

        &:hover {
            background-color: #5d8328;
        }
    }

}

/* Logos gallery */
.galeria-logos__wrapper {
    display: flex;
    padding: 60px 0;
    margin-top: 60px;
    border-top: 1px solid #E5E5E5;
    align-items: center;
    gap: 60px;

    img {
        box-shadow: none !important;
        max-height: 125px;
        max-width: 140px;
    }
}


.products-grid {
    .e-collection-loop-layout-base {

        >div,
        .elementor-widget-shortcode {
            width: 100%;
            padding-inline: 0;
        }
    }
}

.product-card__wrapper {

    display: grid;
    gap: 12px;

    a {
        text-decoration: none !important;
    }

    .card-badge-cat-icon {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 45px;
        height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;

        &[data-cat="produccion"] {
            background: var(--color-blue);
        }

        &[data-cat="pensamiento"] {
            background: var(--color-green);
        }

        &[data-cat="creacion"] {
            background: var(--color-orange);
        }
    }


    .product-card__image {
        aspect-ratio: 433 / 327;
        min-height: 327px;
        overflow: hidden;

        position: relative;
        width: 100%;

        /* display: flex; */
        a {
            /* display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            inset: 0; */

            >img {
                position: absolute;
                width: 100%;
                height: 100%;
                inset: 0;
                object-fit: cover;

                box-shadow: none;
                z-index: 0;

                &.default-placeholder {
                    margin-inline: auto;
                    width: min(100%, 220px);
                    object-fit: contain;
                }
            }
        }


    }

    .product-card__badges {
        display: flex;
        gap: 12px;

        width: 100%;
        max-width: 100%;
        flex-flow: wrap;

        span {
            background: var(--color-black);
            color: var(--color-white);
            padding: 4px 8px;
            font-size: 16px;
            font-weight: 400;

        }
    }

    .product-card__title {
        font-family: var(--font-default);
        margin: 0;
        /* font-size: 26px; */
        font-size: 26px;
        font-weight: 600 !important;

        a {
            color: var(--color-black);
        }
    }

    .fechas__wrapper {
        color: var(--color-grey);
        line-height: 1;
        text-transform: uppercase;

    }

    /* .product-card__date {
    } */

    .product-card__price-row {
        .price-main {
            font-size: 35px;

            .badge-preinscripcion {
                font-size: 20px;
                font-weight: 600;
                text-transform: uppercase;
                /*color: var(--color-orange);*/
            }
        }

        .discount-text {
            font-style: italic;
            font-size: 16px;
        }
    }

    .btn-card {
        display: inline-flex;
        align-items: center;
        gap: 0.5em;
        text-transform: uppercase;
        color: var(--color-black);
        font-weight: 600;

        padding: 0.3em 1em;
        border: 1px solid var(--color-black);

        svg {
            * {
                fill: currentColor;
            }
        }

        &:hover {
            color: var(--color-white);
            background-color: var(--color-black);
        }
    }

}


.product-card__actions {
    a.btn-card {
        font-size: 16px !important;

        svg {
            top: unset !important;
        }
    }
}

/* CURSO: ESTADO PRÓXIMAMENTE */
.product-card__wrapper--proximamente {
    .btn-card--disabled {
        cursor: default;
        opacity: 0.5;
        pointer-events: none;
    }
}

/* Galería de imágenes del producto (ficha de curso) */
/*.galeria-producto-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;

    .galeria-producto-item {
        display: block;
        aspect-ratio: 4 / 3;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            box-shadow: none;
        }
    }
}*/

.galeria-producto-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;

    .galeria-producto-item {
        display: block;
        max-width: 100%;

        img {
            display: block;
            max-width: 100%;
            height: auto;
        }
    }
}

/* Filters */
/*.wpc-filter-header {
    cursor: pointer;
    position: relative;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;

    border-bottom: 1px solid var(--color-black);

    .wpc-filter-title {
        margin: 0 !important;
        font-size: 16px;
        text-transform: uppercase;
        font-weight: 600;
    }

    &::after {
        content: "-";
        font-size: 1.1em;
        font-weight: 300;
        margin-left: auto;
        transition: transform 0.3s ease;
        line-height: 0.5;
    }

    &[aria-expanded="false"]::after {
        content: "+";
    }
}*/

/*body .wpc-filters-main-wrap input.wpc-label-input:checked+label {
    span.wpc-filter-label-wrapper {
        background: transparent !important;
    }
}

.inner__accordion {
    details {
        border: 0;
    }

    summary {
        order: 10;
        padding: 0;
        border: 0 none !important;

        &+div {
            border: 0 none !important;
        }
    }
}*/
body .wpc-filters-main-wrap input.wpc-label-input:checked+label span.wpc-filter-label-wrapper {
    background: transparent !important;
}

body .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input:checked+label a {
    color: var(--color-black) !important;
    text-decoration: underline;
}

body .wpc-filters-main-wrap input.wpc-label-input+label:hover span.wpc-filter-label-wrapper {
    background: transparent !important;
    color: inherit !important;
}

.wpc-filters-section {
    margin-bottom: 20px !important;

    &.wpc-opened .wpc-filter-selected-values {
        display: none;
    }

    .wpc-filter-pa_estado {
        input:checked {
            pointer-events: none;

            +label {
                pointer-events: none;
            }
        }
    }
}

.wpc-filters-widget-wrapper {
    .wpc-clear-all-wrapper {
        padding-bottom: 1rem;

        &[data-active-count="0"] {
            display: none;
        }

        button {
            padding: 0.6em 0.8em;
            font-size: 0.8rem;
            border: 2px solid var(--color-orange);
            background: transparent;
            color: var(--color-orange);
            transition: all 0.2s ease-in-out;

            &:hover {
                background: var(--color-orange);
                color: var(--color-white);
            }
        }
    }
}

.wpc-filter-content {


    .wpc-filter-title {

        .wpc-filter-selected-values {
            color: var(--color-grey) !important;
            visibility: visible !important;
            opacity: 1 !important;
        }
    }

    .wpc-term-item-content-wrapper {
        label {
            a {
                color: var(--color-black) !important;
            }
        }

        input:checked+label a {
            font-weight: bolder;
        }
    }

    .wpc-term-count-value {
        display: none !important;
    }

    .wpc-filters-section[data-filter-e-name="product_cat"] & {

        .wpc-filters-ul-list.wpc-filters-labels,
        .wpc-filters-ul-list.wpc-filters-radio {

            display: grid !important;
            gap: 1em;
            grid-template-columns: 1fr;

            li {

                display: flex;
                align-items: center;
                gap: 1rem;
                margin: 0 !important;

                a {
                    color: var(--color-black) !important;
                }

                label {
                    border: 0 none !important;

                    .wpc-filter-label-wrapper {
                        padding: 0 !important;
                    }

                    &:hover {
                        background-color: transparent !important;
                    }
                }

                &::before {
                    content: '';
                    display: inline-flex;
                    height: 30px;
                    width: 30px;
                    background-repeat: no-repeat;
                    background-position: center center;
                    background-size: 15px 15px;
                    background-color: var(--current-color);
                }

                &.wpc-term-id-165 {
                    --current-color: var(--color-green);

                    &::before {
                        background-image: url("data:image/svg+xml,%3Csvg width='11' height='15' viewBox='0 0 11 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.4375 15C5.1125 15 4.81875 14.9219 4.55625 14.7656C4.29375 14.6094 4.0875 14.4 3.9375 14.1375C3.525 14.1375 3.17188 13.9906 2.87813 13.6969C2.58438 13.4031 2.4375 13.05 2.4375 12.6375V9.975C1.7 9.4875 1.10938 8.84375 0.665625 8.04375C0.221875 7.24375 0 6.375 0 5.4375C0 3.925 0.528125 2.64062 1.58438 1.58438C2.64062 0.528125 3.925 0 5.4375 0C6.95 0 8.23438 0.528125 9.29063 1.58438C10.3469 2.64062 10.875 3.925 10.875 5.4375C10.875 6.4 10.6531 7.275 10.2094 8.0625C9.76562 8.85 9.175 9.4875 8.4375 9.975V12.6375C8.4375 13.05 8.29063 13.4031 7.99688 13.6969C7.70313 13.9906 7.35 14.1375 6.9375 14.1375C6.7875 14.4 6.58125 14.6094 6.31875 14.7656C6.05625 14.9219 5.7625 15 5.4375 15ZM3.9375 12.6375H6.9375V11.9625H3.9375V12.6375ZM3.9375 11.2125H6.9375V10.5H3.9375V11.2125ZM3.7875 9H4.875V6.975L3.225 5.325L4.0125 4.5375L5.4375 5.9625L6.8625 4.5375L7.65 5.325L6 6.975V9H7.0875C7.7625 8.675 8.3125 8.19688 8.7375 7.56563C9.1625 6.93438 9.375 6.225 9.375 5.4375C9.375 4.3375 8.99375 3.40625 8.23125 2.64375C7.46875 1.88125 6.5375 1.5 5.4375 1.5C4.3375 1.5 3.40625 1.88125 2.64375 2.64375C1.88125 3.40625 1.5 4.3375 1.5 5.4375C1.5 6.225 1.7125 6.93438 2.1375 7.56563C2.5625 8.19688 3.1125 8.675 3.7875 9Z' fill='white'/%3E%3C/svg%3E%0A");
                    }
                }

                &.wpc-term-id-166 {
                    --current-color: var(--color-blue);

                    &::before {
                        background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 0L3 3H5.25L3.75 0H5.25L6.75 3H9L7.5 0H9L10.5 3H12.75L11.25 0H13.5C13.9125 0 14.2656 0.146875 14.5594 0.440625C14.8531 0.734375 15 1.0875 15 1.5V10.5C15 10.9125 14.8531 11.2656 14.5594 11.5594C14.2656 11.8531 13.9125 12 13.5 12H1.5C1.0875 12 0.734375 11.8531 0.440625 11.5594C0.146875 11.2656 0 10.9125 0 10.5V1.5C0 1.0875 0.146875 0.734375 0.440625 0.440625C0.734375 0.146875 1.0875 0 1.5 0ZM1.5 4.5V10.5H13.5V4.5H1.5Z' fill='white'/%3E%3C/svg%3E%0A");
                    }
                }

                &.wpc-term-id-167 {
                    --current-color: var(--color-orange);

                    &::before {
                        background-image: url("data:image/svg+xml,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 12C1.0875 12 0.734375 11.8531 0.440625 11.5594C0.146875 11.2656 0 10.9125 0 10.5V1.5C0 1.0875 0.146875 0.734375 0.440625 0.440625C0.734375 0.146875 1.0875 0 1.5 0H10.5C10.9125 0 11.2656 0.146875 11.5594 0.440625C11.8531 0.734375 12 1.0875 12 1.5V4.875L15 1.875V10.125L12 7.125V10.5C12 10.9125 11.8531 11.2656 11.5594 11.5594C11.2656 11.8531 10.9125 12 10.5 12H1.5ZM1.5 10.5H10.5V1.5H1.5V10.5Z' fill='white'/%3E%3C/svg%3E%0A");
                    }
                }

                input {
                    display: none !important;
                }

                &.wpc-label-item.wpc-term-item.wpc-term-count-0,
                &.wpc-radio-item.wpc-term-item.wpc-term-count-0 {

                    /* display: none; */
                    &:not(.wpc-has-not-empty-children) label {
                        opacity: 1 !important;

                        span.wpc-filter-label-wrapper {
                            opacity: 1 !important;
                            /* color: red !important; */

                            a {
                                opacity: 1 !important;
                                color: var(--color-black) !important;
                            }
                        }
                    }
                }

                &.wpc-term-selected {
                    .wpc-term-item-content-wrapper {
                        a {
                            text-decoration: underline !important;
                            font-weight: bolder;
                        }
                    }
                }

                /* Ocultar sin categoria */
                &#wpc-term-taxonomy-product_cat-164 {
                    display: none;
                }
            }
        }
    }

    .wpc-filters-section[data-filter-e-name="pa_estado"] & {
        .wpc-clear-section-btn {
            display: none !important;
        }
    }

    .wpc-clear-section-btn {
        font-size: 11px;
        padding: 0;
        background: unset;
        appearance: none;
        box-shadow: none;
        font-size: 16px;
        /* background-color: #f0f0f0;
        border: 1px solid #dcdcdc; */


        color: var(--color-black);
        cursor: pointer;
        display: block;

        text-decoration: underline;

        transition: all 0.2s ease;
        margin-bottom: 12px;



        &:hover {
            background-color: #e4e4e4;
            color: #000;
        }

        &.is-active {
            display: inline-block;
            /* Se muestra cuando tiene esta clase */
        }
    }

    &:has(input[type="radio"]:checked),
    &:has(input[type="checkbox"]:checked) {
        .wpc-clear-section-btn {
            text-decoration: none;
        }
    }

}

/****************************/
/*          WOO             */
/****************************/

.woocommerce-page {

    --headerplaceholder-height: 150px;

    &.woocommerce-checkout,
    &.woocommerce-cart,
    &.woocommerce-account {
        .site-content#content {
            display: block;
            position: relative;
            padding-top: var(--headerplaceholder-height) !important;
            padding-bottom: 200px;

            &::before {
                content: '';
                position: absolute;
                height: calc(var(--headerplaceholder-height) - 50px) !important;
                width: 100%;
                top: 0;
                left: 0;
                background-color: var(--color-black);

                opacity: 1;
                visibility: visible;
            }

            a:not(.woocommerce-button) {
                color: var(--color-black);
                text-decoration: underline;
                font-style: italic;
            }


            /* Aside */
            .woocommerce-MyAccount-navigation {
                ul {
                    li {
                        font-family: var(--font-titles);
                        font-weight: 600;

                        a {
                            text-decoration: none;
                            font-style: normal;
                        }

                        &.is-active,
                        &:hover {

                            a {
                                background: var(--color-black);
                                color: var(--color-white)
                            }
                        }
                    }
                }
            }

            .woocommerce-Address-title {
                h2 {
                    font-size: 30px;
                    font-weight: 600 !important;
                }
            }
        }
    }
}


.courses-list-and-filters {
    >.e-con-inner {}
}

.custom_carousel--vertical {

    display: block !important;

    .swiper-wrapper {
        /* justify-content: center; */
        aspect-ratio: 1 / 1;
        padding-right: 30px;

    }

    .swiper-pagination.swiper-pagination-horizontal {
        width: 30px;
        left: auto;
        right: -30px;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-flow: column;
        gap: 0.5rem;

        .swiper-pagination-bullet {
            height: 18px;
            border-radius: 2px;
            width: 3px;

            transition: all 0.2s ease-in-out;

            &.swiper-pagination-bullet-active {
                background-color: var(--color-orange);
                height: 36px;
            }
        }
    }

    .swiper-slide {
        height: 100% !important;
        /* display: flex;
        justify-content: center;
        align-items: center; */

        figure {
            width: 100%;
            position: relative;
            aspect-ratio: 1 / 1;
            background: red;

            img {
                width: 100%;
                height: 100%;
                position: absolute;
                inset: 0;
                object-fit: cover;
            }
        }

    }

    .swiper {
        padding: 0 !important;
        height: 400px !important;
    }
}

.custom_carousel--news {
    img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    time {
        border: 1px solid currentColor !important;
        padding: 0.2em 1em;
        display: inline-flex;
    }

    h2 {
        a {
            text-decoration: none !important;
        }
    }

    .btn--outline {
        display: inline-flex;
        width: auto;
        align-self: flex-start;
    }

    .swiper-pagination-bullets {
        .swiper-pagination-bullet {
            background: var(--color-white);
            opacity: 1;
            width: 18px;
            height: 3px;
            border-radius: 2px;
            transition: all 0.2s ease-in-out;

            &.swiper-pagination-bullet-active {
                background: var(--gradient);
                width: 32px;
            }
        }
    }
}

.custom-products__carousel {
    .swiper-pagination-bullets {
        .swiper-pagination-bullet {
            background: var(--color-black);
            opacity: 1;
            width: 18px;
            height: 3px;
            border-radius: 2px;
            transition: all 0.2s ease-in-out;

            &.swiper-pagination-bullet-active {
                background: var(--gradient);
                width: 32px;
            }
        }
    }
}

.custom__grid-gelleries {}

body.woocommerce-page.woocommerce-checkout,
body.woocommerce.woocommerce-checkout {

    .woocommerce-order {

        h2.woocommerce-column__title,
        h2.woocommerce-order-details__title {
            background-color: var(--color-black);
            color: var(--color-white);
        }

        a {
            color: var(--color-black);
            font-style: italic;
        }

    }
}

body.woocommerce,
.woocommerce-page {
    form {
        .form-row .input-text {
            border: 0 none;
            border-bottom: 1px solid var(--color-black);
        }

        .select2-container .select2-selection--single {
            border: 0 none;
            border-bottom: 1px solid var(--color-black);
            border-radius: 0;
        }
    }
}

/* .woocommerce .select2-container .select2-selection--single, .woocommerce select, .woocommerce-page .select2-container .select2-selection--single, .woocommerce-page select */


.elementor-menu-cart__main {

    width: 500px;

    .elementor-menu-cart__product {
        a {
            color: var(--color-black);
        }

        .elementor-menu-cart__product-price {
            color: var(--color-black);
        }
    }

    .elementor-menu-cart__subtotal {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;

        font-weight: 400;

        strong {
            font-weight: 400;
        }

        .woocommerce-Price-amount {
            font-size: 1.4em;
        }
    }

    .elementor-menu-cart__footer-buttons {
        display: grid;

        a {
            &.elementor-button {
                color: var(--color-black);
                background-color: transparent;
                border: 1px solid currentColor;

                &:hover {
                    background-color: var(--color-black);
                    color: var(--color-white);
                }
            }

            &.elementor-button--view-cart {}

            &.elementor-button--checkout {
                color: var(--color-white);
                background-color: var(--color-green);

                &:hover {
                    color: var(--color-green);
                    background-color: var(--color-white);
                }
            }
        }
    }
}


/* Avisos WOO */

/* Convierte los avisos de WooCommerce en notificaciones flotantes */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    position: fixed !important;
    top: 150px !important;
    left: 20px !important;
    z-index: 999999 !important;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2) !important;
    border-radius: 0 !important;
    animation: slideIn 0.5s ease-out forwards, slideOut 0.5s ease-in 5s forwards !important;
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(-100%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}

/* Aviso de preinscripción (cursos a 0€) — carrito, checkout y email.
   No usa las clases .woocommerce-message/.woocommerce-info a propósito,
   para que NO herede la animación slideIn/slideOut de arriba (ese aviso
   tiene que quedarse fijo en la página, no desaparecer a los 5s). */
.aviso-preinscripcion-item {
    display: block;
    color: var(--color-orange);
    font-weight: 600;
    font-size: 0.85em;
    margin-top: 4px;
    margin-bottom: 10px;
}


/* Pago en 2 plazos */
.pago-fraccionado-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin: 10px 0;
    cursor: pointer;
    accent-color: #111111;
}

/****************************/
/* Woo  User Custom Fields */
/****************************/

/* Formulario de registro */
.woocommerce-form-register,
.woocommerce-EditAccountForm {

    h3 {
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .form-row.cls-pd {
        padding: 20px !important;
    }

    .ific-fieldset {
        border: none;
        border-radius: 0px;
        padding: 20px !important;
        margin: 20px 0 20px !important;
        min-width: 0;

        legend {
            float: none;
            width: 100%;
            padding: 0;
            font-weight: 700;
            font-size: 1rem;
            line-height: 1.4;
            color: var(--color-black);
            margin-bottom: 14px;
            font-family: var(--font-default);
        }
    }

    .ific-radio-label,
    .ific-checkbox-label {
        display: flex;
        align-items: center;
        gap: 10px;
        cursor: pointer;

        &:not(:last-child) {
            margin-bottom: 12px;
        }

        input[type="radio"],
        input[type="checkbox"] {
            accent-color: #111111;
            width: 20px;
            height: 20px;
            flex-shrink: 0;
        }
    }
}

/****************************/
/* END Woo  User Custom Fields */
/****************************/

/****************************/
/*          NEWS             */
/****************************/
.news-grid {
    a {
        text-decoration: none !important;
    }

    img {
        aspect-ratio: 660 / 392;
        object-fit: cover;
    }

    time {
        padding: 0.2em 0.4em;
        border: 1px solid currentColor;
    }
}

body.single-post {
    &.ast-separate-container .ast-article-single:not(.ast-related-post) {
        padding: 0;
    }

    .elementor-post-info__item.elementor-post-info__item--type-terms {
        .elementor-post-info__item-prefix {
            display: block;
            font-weight: 600;
        }

        .elementor-post-info__terms-list {
            a {
                color: var(--color-black);
            }
        }
    }

    .elementor-widget-share-buttons {
        .elementor-grid {
            >.elementor-grid-item:not(:last-child) {

                .elementor-share-btn__title {
                    position: relative;
                    margin-right: 10px;
                    padding-right: 10px;
                    line-height: 1;


                    &::after {
                        position: absolute;
                        content: '';
                        top: 0;
                        right: 0;
                        height: 100%;
                        width: 1px;
                        background-color: var(--color-black);
                        display: inline-flex;
                    }
                }
            }
        }
    }

    .elementor-share-btn__text {
        padding-inline: 0;
    }


    .elementor-element.e-collection-loop-layout-base {
        time {
            background-color: var(--color-black);
        }

        h2 {
            margin: 0;
        }
    }

}

.elementor-widget-theme-post-content {
    a {
        color: var(--color-black);
    }
}


body.category {
    time {
        background-color: var(--color-black);
    }
}

.newsletter__wrapper {
    .gform_wrapper[class*='gform-theme'] {
        form {
            label {
                color: var(--color-white);
            }

            input {
                background: transparent;
                border: 0 none;
                border-bottom: 1px solid var(--color-white);
                border-radius: 0;
                color: var(--color-white);

                &::placeholder {
                    color: var(--color-white);
                }
            }

            input[type="checkbox"] {
                border: 1px solid var(--color-white);
            }

            .gform-footer {

                .gform_button[type="submit"] {
                    position: relative;
                    background: transparent;
                    border: 0 !important;
                    border-radius: 4px;
                    padding: 14px 40px;
                    font-weight: 500;
                    letter-spacing: 1px;
                    background-image: var(--gradient);
                    -webkit-background-clip: text;
                    background-clip: text;
                    color: transparent;
                    text-transform: uppercase;
                    font-size: 20px;
                    transition: 0.3s all ease-in-out;
                    margin-top: 30px;



                    &::after {
                        content: "";
                        position: absolute;
                        inset: 2px;
                        z-index: -1;
                    }

                    &::before {
                        content: "";
                        position: absolute;
                        inset: 0;
                        border-radius: 4px;
                        padding: 2px;
                        background: var(--gradient);
                        -webkit-mask:
                            linear-gradient(#fff 0 0) content-box,
                            linear-gradient(#fff 0 0);
                        -webkit-mask-composite: xor;
                        mask-composite: exclude;
                        z-index: 0;
                    }

                    &:hover {
                        background: var(--gradient);
                        color: #000;

                        /* -webkit-background-clip: initial;
                    background-clip: initial; */
                        &::before {
                            opacity: 0;
                        }
                    }
                }
            }

        }
    }
}

.team__wrapper {
    [data-element_type="e-grid"] {
        >div {
            button {
                text-transform: uppercase;
                appearance: none;
                box-shadow: none;
            }
        }
    }
}


/* parallel styles */

body:has(.header-bg-active) {
    header>div {
        background: var(--color-black) !important;
    }
}

[class*="underline--orange"] {

    &::after {

        background: var(--color-orange);

    }

}



.ref-del-futuro--custom-slider {

    .elementor-image-carousel-wrapper {
        width: 90%;
        overflow: visible;

        .elementor-image-carousel {
            /* gap: 22px; */

            .swiper-slide {
                img {
                    aspect-ratio: 1 / 1;
                    object-fit: cover;
                    width: 100%;
                    height: auto;
                }
            }
        }
    }

}


/***************************************************************
                Creacion - Referentes
***************************************************************/

#referentes_container {

    border-bottom: 2px solid black;

    position: relative;


    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 100px;


    .creacion-referentes {
        /* overflow: hidden; */
        border-radius: 50%;
        text-decoration: none !important;
        position: relative;
        justify-self: center;

        /* position: absolute; */
        /* @media screen and (width < 1000px){
            position: absolute;
            bottom: 0 !important;
        } */

        &::before {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            width: 1px;
            /* height: 20px; */
            border-left: 3px dotted #1D1D1B;
            z-index: 0;
        }

        &::after {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            transition: opacity 0.4s ease;
            z-index: 1;
        }

        &:hover {

            &::after {
                opacity: 0.4;
            }

            p {
                color: white;
            }
        }

        p {
            position: relative;
            z-index: 2;
            margin: 0;
            color: #1D1D1B;
            font-weight: 700;
            text-transform: uppercase;
            transition: 0.3s all ease-in-out;
        }

        &#creacion-referentes--pasado {
            /* bottom: 75px;
            left: 0; */
            margin-top: 150px;

            &::after {
                background: linear-gradient(90deg, #3DACD4 0%, #59AE84 100%);
            }

            &::before {
                height: 100px;
            }
        }

        &#creacion-referentes--presente {
            /* bottom: 150px;
            left: 50%;
            transform: translateX(-50%); */
            margin-top: 75px;

            &::after {
                background: linear-gradient(90deg, #6CAF50 0%, #B98F0F 100%);
            }

            &::before {
                height: 175px;
            }
        }



        &#creacion-referentes--futuro {
            /* bottom: 225px;
            right: 0; */
            margin-top: 0px;

            &::after {

                background: linear-gradient(90deg, #BC8D0C 0%, #E25410 100%);
            }

            &::before {
                height: 250px;
            }
        }
    }
}


@media (max-width: 1000px) {
    #referentes_container {
        grid-template-columns: repeat(2, 1fr);
        padding-bottom: 60px;
        border-bottom: 0;
        border-left: 2px solid black;
        overflow: hidden;

        .creacion-referentes {
            margin-top: 0 !important;

            &::before {
                top: 50%;
                left: auto;
                right: 100%;
                transform: translateY(-50%);
                width: 200% !important;
                height: 1px !important;
                border-left: 0;
                border-top: 3px dotted #1D1D1B;
            }

            &#creacion-referentes--pasado {
                grid-column: 2;
                grid-row: 1;

            }

            &#creacion-referentes--presente {
                grid-column: 2;
                grid-row: 2;

            }

            &#creacion-referentes--futuro {
                grid-column: 2;
                grid-row: 3;

            }
        }
    }
}



/***************************************************************
                Formulario de Contacto
***************************************************************/


#gform_wrapper_1 {

    .gform_heading {
        display: none;
    }

    #gform_1 {

        .gform-body {

            input[id*="input_1_"]:not([type="checkbox"]),
            textarea[id*="input_1_"] {

                border: 0;
                border-bottom: 2px solid var(--ast-global-color-3);
                box-shadow: none;
                border-radius: 0px;
                outline: none;
                font-size: 16px;
                padding-left: 0;

                &::placeholder {
                    opacity: 1;
                    color: var(--ast-global-color-3);
                    font-weight: 400;
                    font-size: 16px;
                }
            }

            .gfield--type-consent .ginput_container_consent {
                input[type="checkbox"] {
                    outline: none;
                    border-color: var(--ast-global-color-3);

                    &::before {
                        color: black;
                    }

                    &:focus {
                        border-color: var(--ast-global-color-3);
                        ;
                    }
                }

                label {
                    font-size: 16px;
                }
            }



        }

        .gform-footer {

            #gform_submit_button_1 {
                position: relative;
                background: transparent;
                border: 0 !important;
                border-radius: 4px;
                padding: 14px 40px;
                font-weight: 500;
                letter-spacing: 1px;
                background-image: var(--gradient);
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
                text-transform: uppercase;
                font-size: 20px;
                transition: 0.3s all ease-in-out;
                margin-top: 30px;

                &::before {
                    content: "";
                    position: absolute;
                    inset: 0;
                    border-radius: 4px;
                    padding: 2px;
                    background: var(--gradient);
                    -webkit-mask:
                        linear-gradient(#fff 0 0) content-box,
                        linear-gradient(#fff 0 0);
                    -webkit-mask-composite: xor;
                    mask-composite: exclude;
                    z-index: -1;
                }

                &:hover {
                    background: var(--gradient);
                    color: #000;

                    /* -webkit-background-clip: initial;
                    background-clip: initial; */
                    &::before {
                        opacity: 0;
                    }
                }
            }


        }

    }



}


/* Complianz fixes */
body.page-id-4745 {
    .site-content {
        position: relative;

        padding-top: 150px;

        &::before {
            content: "" !important;
            visibility: visible !important;
            opacity: 1 !important;
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100px;
            background: var(--color-black);
        }

        #cmplz-document {
            max-width: 100%;
            padding-block-end: 200px;

            h2 {
                font-size: 2rem;
                font-weight: 400;
            }

            h3 {
                font-size: 1.3rem;
            }
        }
    }
}