/* Ocultar overflow X */
html,
body {
    overflow-x: hidden;
}

/* Variables */
:root {
    --m-con-desktop: 40px;
    --m-con-mobile: 16px;
    /* Grid: 1140px / Max: 124px - Min: 80px */
    --e-con-124: clamp(5rem, 3.9268rem + 5.3659vw, 7.75rem);
    /* Grid: 1140px / Max: 100px - Min: 80px */
    --e-con-100: clamp(5rem, 4.5122rem + 2.439vw, 6.25rem);
    /* Grid: 1140px / Max: 80px - Min: 64px */
    --e-con-80: clamp(4rem, 3.6098rem + 1.9512vw, 5rem);
    /* Grid: 1140px / Max: 64px - Min: 48px */
    --e-con-64: clamp(3rem, 2.6098rem + 1.9512vw, 4rem);
    /* Grid: 1140px / Max: 56px - Min: 40px */
    --e-con-56: clamp(2.5rem, 2.1098rem + 1.9512vw, 3.5rem);
    /* Grid: 1140px / Max: 48px - Min: 40px */
    --e-con-48: clamp(2.5rem, 2.3049rem + 0.9756vw, 3rem);
    /* Grid: 1140px / Max: 40px - Min: 24px */
    --e-con-40: clamp(1.5rem, 1.1098rem + 1.9512vw, 2.5rem);
    /* Grid: 1140px / Max: 32px - Min: 24px */
    --e-con-32: clamp(1.5rem, 1.3049rem + 0.9756vw, 2rem);
    /* Grid: 1140px / Max: 24px - Min: 16px */
    --e-con-24: clamp(1rem, 0.8049rem + 0.9756vw, 1.5rem);
    /* Grid: 1140px / Max: 16px - Min: 12px */
    --e-con-16: clamp(0.75rem, 0.6524rem + 0.4878vw, 1rem);
    --absolute-top-position: 50%;
    --absolute-left-position: 50%;
    --absolute-top-modifier: 80%;
    --absolute-left-modifier: 50%;
}

/* Colores Webpositer */
body {
    --e-color-n-50: var(--e-global-color-c815c13);
    --e-color-n-100: var(--e-global-color-df2d6a1);
    --e-color-n-200: var(--e-global-color-eaaaebf);
    --e-color-n-300: var(--e-global-color-aa41593);
    --e-color-n-400: var(--e-global-color-4c64d61);
    --e-color-n-500: var(--e-global-color-2d4c299);
    --e-color-n-600: var(--e-global-color-f6a99f2);
    --e-color-n-700: var(--e-global-color-87aa30b);
    --e-color-n-800: var(--e-global-color-ee21673);
    --e-color-n-900: var(--e-global-color-599cca6);
    --e-color-p-50: var(--e-global-color-0c87937);
    --e-color-p-100: var(--e-global-color-ca4cab3);
    --e-color-p-200: var(--e-global-color-a51fb4c);
    --e-color-p-300: var(--e-global-color-9a64b7e);
    --e-color-p-400: var(--e-global-color-e57c97b);
    --e-color-p-500: var(--e-global-color-df6da34);
    --e-color-p-600: var(--e-global-color-4a3498e);
    --e-color-p-700: var(--e-global-color-86bce82);
    --e-color-p-800: var(--e-global-color-523ecb3);
    --e-color-p-900: var(--e-global-color-726a474);
    --e-color-s-0: var(--e-global-color-745596a);
    --e-color-s-100: var(--e-global-color-8cb05d1);
    --e-color-transparente: var(--e-global-color-1104ded);
}

/* Padding para containers */
.e-con-m {
    padding-inline-end: var(--m-con-desktop) !important;
    padding-inline-start: var(--m-con-desktop) !important;
}

.e-con-m-l {
    padding-inline-start: var(--m-con-desktop) !important;
}

.e-con-m-r {
    padding-inline-end: var(--m-con-desktop) !important;
}

.e-con-124 {
    padding-top: var(--e-con-124);
    padding-bottom: var(--e-con-124);
}

.e-con-124-top {
    padding-top: var(--e-con-124);
}

.e-con-124-bottom {
    padding-bottom: var(--e-con-124);
}

.e-con-100 {
    padding-top: var(--e-con-100);
    padding-bottom: var(--e-con-100);
}

.e-con-100-top {
    padding-top: var(--e-con-100);
}

.e-con-100-bottom {
    padding-bottom: var(--e-con-100);
}

.e-con-80 {
    padding-top: var(--e-con-80);
    padding-bottom: var(--e-con-80);
}

.e-con-80-top {
    padding-top: var(--e-con-80);
}

.e-con-80-bottom {
    padding-bottom: var(--e-con-80);
}

.e-con-64 {
    padding-top: var(--e-con-64);
    padding-bottom: var(--e-con-64);
}

.e-con-64-top {
    padding-top: var(--e-con-64);
}

.e-con-64-bottom {
    padding-bottom: var(--e-con-64);
}

.e-con-56 {
    padding-top: var(--e-con-56);
    padding-bottom: var(--e-con-56);
}

.e-con-56-top {
    padding-top: var(--e-con-56);
}

.e-con-56-bottom {
    padding-bottom: var(--e-con-56);
}

.e-con-48 {
    padding-top: var(--e-con-48);
    padding-bottom: var(--e-con-48);
}

.e-con-48-top {
    padding-top: var(--e-con-48);
}

.e-con-48-bottom {
    padding-bottom: var(--e-con-48);
}

.e-con-40 {
    padding-top: var(--e-con-40);
    padding-bottom: var(--e-con-40);
}

.e-con-40-top {
    padding-top: var(--e-con-40);
}

.e-con-40-bottom {
    padding-bottom: var(--e-con-40);
}

.e-con-32 {
    padding-top: var(--e-con-32);
    padding-bottom: var(--e-con-32);
}

.e-con-32-top {
    padding-top: var(--e-con-32);
}

.e-con-32-bottom {
    padding-bottom: var(--e-con-32);
}

.e-con-24 {
    padding-top: var(--e-con-24);
    padding-bottom: var(--e-con-24);
}

.e-con-24-top {
    padding-top: var(--e-con-24);
}

.e-con-24-bottom {
    padding-bottom: var(--e-con-24);
}

.e-con-16 {
    padding-top: var(--e-con-16);
    padding-bottom: var(--e-con-16);
}

.e-con-16-top {
    padding-top: var(--e-con-16);
}

.e-con-16-bottom {
    padding-bottom: var(--e-con-16);
}

/* Eliminar espacio extra text widget */
.elementor-widget-text-editor p:first-child {
    margin-block-start: 0;
}

.elementor-widget-text-editor p:last-child {
    margin-block-end: 0;
}

.elementor-widget-container p:first-child {
    margin-block-start: 0;
}

.elementor-widget-container p:last-child {
    margin-block-end: 0;
}

/* Truncar contenido */
.truncate {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Numero de lineas a mostrar */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Texto en mayusculas */
.uppercase {
    text-transform: uppercase;
}

/* Centrar logo o imagen */
.absolute-center {
    position: absolute;
    top: var(--absolute-top-position);
    left: var(--absolute-left-position);
    transform: translate(-50%, -50%);
}

/* Bajar checkbox privacidad formulario elementor */
.elementor-form__gpdr .elementor-field-type-acceptance {
    order: 1;
}

/* Estilo texto checkbox privacidad formulario elementor */
.elementor-form__gpdr .elementor-field-option > label {
    font-size: 1rem !important;
}

.elementor-form__gpdr .elementor-field-option a {
    color: var(--e-global-color-text) !important;
    font-weight: 700 !important;
}

/* Modifier texto checkbox privacidad formulario elementor  */
.form-elementor__gpdr--modifier .elementor-field-subgroup label {
    font-size: 0.875rem !important;
}

.form-elementor__gpdr--modifier .elementor-field-subgroup a {
    color: var(--e-global-color-text) !important;
    font-weight: 700 !important;
}

/* Ocultar label checkbox privacidad formulario elementor */
.elementor-form__label .elementor-field-type-acceptance .elementor-field-label {
    display: none;
}

/* Estilo checkbox formulario newsletter */
.elementor-form__checkbox .elementor-field-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.elementor-form__checkbox input[type='checkbox'] {
    display: grid !important;
    place-content: center;
    appearance: none;
    background-color: #fff;
    margin: 0;
    font: inherit;
    color: var(--e-global-color-text);
    width: 1.1em;
    height: 1.1em;
    border: 0.1em solid var(--e-global-color-text);
    border-radius: 3px !important;
    transform: translateY(-0.5em);
    padding: 0 !important;
}

.elementor-form__checkbox input[type='checkbox']::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--e-global-color-text);
    border-radius: 1px;
    
}

.elementor-form__checkbox input[type='checkbox']:checked::before {
    transform: scale(1);
}

/* Estilos responsive solo desktop */
@media (min-width: 1025px) {
    /* Centrar logo o imagen */
    .absolute-center-desktop {
        position: absolute;
        top: var(--absolute-top-position);
        left: var(--absolute-left-position);
        transform: translate(-50%, -50%);
    }

    .absolute-center--modifier {
        top: var(--absolute-top-modifier) !important;
        left: var(--absolute-left-modifier) !important;
    }

    .e-con-expand-r {
        padding-inline-end: calc(
            (100vw - (var(--container-max-width) + 16px)) / 2
        );
    }

    .e-con-expand-l {
        padding-inline-start: calc(
            (100vw - (var(--container-max-width) + 16px)) / 2
        );
    }
}

/* Estilos responsive Tablet */
@media (max-width: 1024px) {
    /* Padding para containers */
    .e-con-m {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }
    
    .e-con-m-l {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }
    
    .e-con-m-r {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }

    .e-con-m-l-mobile {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: 0 !important;
    }

    .e-con-m-r-mobile {
        padding-inline-start: 0 !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }

    .e-con-expand-r {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }

    .e-con-expand-l {
        padding-inline-start: var(--m-con-mobile) !important;
        padding-inline-end: var(--m-con-mobile) !important;
    }
}

/* Estilos responsive Mobile */
@media (max-width: 767px) {
}