/*
Theme Name: Témini
Theme URI: https://themes.muffingroup.com/betheme
Author: Invbit Diseño y Desarrollo Web
Author URI: https://www.invbit.com/
Description: Témini is Invbit’s custom child theme for Betheme, designed to build custom web projects on a robust foundation, optimizing performance, maintenance, and future scalability.
Template: betheme
Version: 1.0.1
*/

:root {
    /* Colores */
    --primary: #b4a169;
    --secondary: #8bb8ea;

    --primary-light: #dec782;
    --primary-dark: #9b8b5a;
    --secondary-dark: #0b2240;

	--black: #444;
    --dark-grey: #777;
    --grey: #999;
    --light-grey: #d9d9d9;
    --background: #f7f7f7;
    --white: #fff;

    /* Tamaños de texto */
    --h1: 2.5rem;
    --h2: 2rem;
    --h3: 1.5rem;
    --h4: 1.17rem;
    --h5: 1rem;
    --h6: 0.92rem;

    --p-xl: 2rem;
    --p-l: 1.17rem;
    --p-m: 1rem;
    --p-s: 0.92rem;
    --p-xs: 0.8rem;

    --a-nav: 1rem;
    --a-btn: 0.92rem;
    --p-featured: 1.17rem;

    /* Fuentes*/
    --font-titles: 'Gloock', serif;
    --font-text: 'Montserrat', sans-serif;
    --font-decorative: 'Playfair Display', serif;

    /* Espaciados */
    --size-xs: 10px;
    --size-s: 16px;
    --size-m: 20px;
    --size-ml: 30px;
    --size-l: 40px;
    --size-xl: 60px;
    --size-xxl: 80px;

    --lateral-pad: 20px;
    --lateral-pad-mobile: 20px;
    --section-pad: 80px;
    --section-pad-s: 64px;

    /* Radius */
    --radius-s: 4px;
    --radius-m: 8px;
    --radius-l: 16px;

    /* Medidas útiles */
    --container-width: 1360px;
    --half-section: min(calc(var(--container-width) / 2), calc(50dvw - var(--lateral-pad)));
    --admin-bar-height: 32px;

    /* Otros */
    --cookie-button-size: 42px;
    --cookie-button-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
    --cookie-button-radius: 100px;

    /* Responsive */
    @media only screen and (max-width: 1239px) {  
        --container-width: 940px;
    }
    
    @media only screen and (max-width: 959px) {
        --container-width: 708px;
    }
    
    @media only screen and (max-width: 782px) {
        --admin-bar-height: 46px;
    }
    
    @media only screen and (max-width: 767px) {
        --container-width: 767px;

        --lateral-pad: 0;

        --cookie-button-size: 24px;
    }

    /* Scrollbar */
    scrollbar-color: var(--primary) var(--white);
    scrollbar-width: thin;
}

/* Fuentes por defecto */
html {
    font-size: 12px;
    scroll-behavior: smooth;
    height: auto;
}

h1, .h1, .column_heading.h1 .title {
    font-family: var(--font-titles);
    font-size: var(--h1);
    line-height: 1.3;
    font-weight: 400;
}

h2, .h2, .column_heading.h2 .title {
    font-family: var(--font-titles);
    font-size: var(--h2);
    line-height: 1.3;
    font-weight: 400;
}

h3, .h3, .column_heading.h3 .title {
    font-family: var(--font-titles);
    font-size: var(--h3);
    line-height: 1.3;
    font-weight: 500;
}

h4, .h4, .column_heading.h4 .title {
    font-family: var(--font-decorative);
    font-size: var(--h4);
    line-height: 1.3;
    font-weight: 500;
}

h5, .h5, .column_heading.h5 .title {
    font-family: var(--font-decorative);
    font-size: var(--h5);
    line-height: 1.3;
    font-weight: 500;
}

h6, .h6, .column_heading.h6 .title {
    font-family: var(--font-decorative);
    font-size: var(--h6);
    line-height: 1.3;
    font-weight: 500;
}

body, p, .medium, .column_heading.medium .title {
    font-family: var(--font-text);
    font-size: var(--p-m);
    line-height: 1.6;
    font-weight: 400;
}

.lead, .lead p, .big, .big p, .column_heading.big .title {
    font-family: var(--font-text);
    font-size: var(--p-l);
    line-height: 1.6;
    font-weight: 400;
}

.extrabig, .extrabig p, .column_heading.extrabig .title {
    font-family: var(--font-text);
    font-size: var(--p-xl);
    line-height: 1.6;
    font-weight: 400;
}

.small, .small p, .column_heading.small .title {
    font-family: var(--font-text);
    font-size: var(--p-s);
    line-height: 1.6;
    font-weight: 400;
}

#menu > ul > li > a, #overlay-menu ul li a, .mfn-header-menu {
    font-family: var(--font-decorative);
    font-size: var(--a-nav);
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase;
}

/* Espaciados por defecto */
.section { 
    padding-top: var(--section-pad); 
    padding-bottom: var(--section-pad); 

    &.the_content, &.section-page-footer { 
        padding-top: 0; 
        padding-bottom: 0; 
    }
}

@media only screen and (max-width: 767px) {
    .content_wrapper .mcb-column-inner { margin: 0; }
}

.lateral-pad.section,
.lateral-pad > .mcb-wrap-inner,
.lateral.pad > .mcb-column-inner { 
    padding-left: var(--lateral-pad); 
    padding-right: var(--lateral-pad); 
}

.pad-xxl.section,
.pad-xxl > .mcb-wrap-inner,
.pad-xxl > .mcb-column-inner { padding-top: var(--size-xxl); padding-bottom: var(--size-xxl); }
.pad-xxl-top.section,
.pad-xxl-top > .mcb-wrap-inner,
.pad-xxl-top > .mcb-column-inner { padding-top: var(--size-xxl); }
.pad-xxl-bottom.section,
.pad-xxl-bottom > .mcb-wrap-inner,
.pad-xxl-bottom > .mcb-column-inner { padding-bottom: var(--size-xxl); }
.mar-xxl.section,
.mar-xxl > .mcb-wrap-inner,
.mar-xxl > .mcb-column-inner { margin-top: var(--size-xxl); margin-bottom: var(--size-xxl); }
.mar-xxl-top.section,
.mar-xxl-top > .mcb-wrap-inner,
.mar-xxl-top > .mcb-column-inner { margin-top: var(--size-xxl); }
.mar-xxl-bottom.section,
.mar-xxl-bottom > .mcb-wrap-inner,
.mar-xxl-bottom > .mcb-column-inner { margin-bottom: var(--size-xxl); }

.pad-xl.section,
.pad-xl > .mcb-wrap-inner,
.pad-xl > .mcb-column-inner { padding-top: var(--size-xl); padding-bottom: var(--size-xl); }
.pad-xl-top.section,
.pad-xl-top > .mcb-wrap-inner,
.pad-xl-top > .mcb-column-inner { padding-top: var(--size-xl); }
.pad-xl-bottom.section,
.pad-xl-bottom > .mcb-wrap-inner,
.pad-xl-bottom > .mcb-column-inner { padding-bottom: var(--size-xl); }
.mar-xl.section,
.mar-xl > .mcb-wrap-inner,
.mar-xl > .mcb-column-inner { margin-top: var(--size-xl); margin-bottom: var(--size-xl); }
.mar-xl-top.section,
.mar-xl-top > .mcb-wrap-inner,
.mar-xl-top > .mcb-column-inner { margin-top: var(--size-xl); }
.mar-xl-bottom.section,
.mar-xl-bottom > .mcb-wrap-inner,
.mar-xl-bottom > .mcb-column-inner { margin-bottom: var(--size-xl); }

.pad-l.section,
.pad-l > .mcb-wrap-inner,
.pad-l > .mcb-column-inner { padding-top: var(--size-l); padding-bottom: var(--size-l); }
.pad-l-top.section,
.pad-l-top > .mcb-wrap-inner,
.pad-l-top > .mcb-column-inner { padding-top: var(--size-l); }
.pad-l-bottom.section,
.pad-l-bottom > .mcb-wrap-inner,
.pad-l-bottom > .mcb-column-inner { padding-bottom: var(--size-l); }
.pad-l-lateral.section,
.pad-l-lateral > .mcb-wrap-inner,
.pad-l-lateral > .mcb-column-inner { padding-left: var(--size-l); padding-right: var(--size-l); }
.mar-l.section,
.mar-l > .mcb-wrap-inner,
.mar-l > .mcb-column-inner { margin-top: var(--size-l); margin-bottom: var(--size-l); }
.mar-l-top.section,
.mar-l-top > .mcb-wrap-inner,
.mar-l-top > .mcb-column-inner { margin-top: var(--size-l); }
.mar-l-bottom.section,
.mar-l-bottom > .mcb-wrap-inner,
.mar-l-bottom > .mcb-column-inner { margin-bottom: var(--size-l); }
.mar-l-lateral.section,
.mar-l-lateral > .mcb-wrap-inner,
.mar-l-lateral > .mcb-column-inner { margin-left: var(--size-l); margin-right: var(--size-l); }

.pad-ml.section,
.pad-ml > .mcb-wrap-inner,
.pad-ml > .mcb-column-inner { padding-top: var(--size-ml); padding-bottom: var(--size-ml); }
.pad-ml-top.section,
.pad-ml-top > .mcb-wrap-inner,
.pad-ml-top > .mcb-column-inner { padding-top: var(--size-ml); }
.pad-ml-bottom.section,
.pad-ml-bottom > .mcb-wrap-inner,
.pad-ml-bottom > .mcb-column-inner { padding-bottom: var(--size-ml); }
.pad-ml-lateral.section,
.pad-ml-lateral > .mcb-wrap-inner,
.pad-ml-lateral > .mcb-column-inner { padding-left: var(--size-ml); padding-right: var(--size-ml); }
.mar-ml.section,
.mar-ml > .mcb-wrap-inner,
.mar-ml > .mcb-column-inner { margin-top: var(--size-ml); margin-bottom: var(--size-ml); }
.mar-ml-top.section,
.mar-ml-top > .mcb-wrap-inner,
.mar-ml-top > .mcb-column-inner { margin-top: var(--size-ml); }
.mar-ml-bottom.section,
.mar-ml-bottom > .mcb-wrap-inner,
.mar-ml-bottom > .mcb-column-inner { margin-bottom: var(--size-ml); }

.pad-m.section,
.pad-m > .mcb-wrap-inner,
.pad-m > .mcb-column-inner { padding-top: var(--size-m); padding-bottom: var(--size-m); }
.pad-m-top.section,
.pad-m-top > .mcb-wrap-inner,
.pad-m-top > .mcb-column-inner { padding-top: var(--size-m); }
.pad-m-bottom.section,
.pad-m-bottom > .mcb-wrap-inner,
.pad-m-bottom > .mcb-column-inner { padding-bottom: var(--size-m); }
.mar-m.section,
.mar-m > .mcb-wrap-inner,
.mar-m > .mcb-column-inner { margin-top: var(--size-m); margin-bottom: var(--size-m); }
.mar-m-top.section,
.mar-m-top > .mcb-wrap-inner,
.mar-m-top > .mcb-column-inner { margin-top: var(--size-m); }
.mar-m-bottom.section,
.mar-m-bottom > .mcb-wrap-inner,
.mar-m-bottom > .mcb-column-inner { margin-bottom: var(--size-m); }
.mar-m-lateral.section,
.mar-m-lateral > .mcb-wrap-inner,
.mar-m-lateral > .mcb-column-inner { margin-left: var(--size-s); margin-right: var(--size-s); }

.pad-s.section,
.pad-s > .mcb-wrap-inner,
.pad-s > .mcb-column-inner { padding-top: var(--size-s); padding-bottom: var(--size-s); }
.pad-s-top.section,
.pad-s-top > .mcb-wrap-inner,
.pad-s-top > .mcb-column-inner { padding-top: var(--size-s); }
.pad-s-bottom.section,
.pad-s-bottom > .mcb-wrap-inner,
.pad-s-bottom > .mcb-column-inner { padding-bottom: var(--size-s); }
.mar-s.section,
.mar-s > .mcb-wrap-inner,
.mar-s > .mcb-column-inner { margin-top: var(--size-s); margin-bottom: var(--size-s); }
.mar-s-top.section,
.mar-s-top > .mcb-wrap-inner,
.mar-s-top > .mcb-column-inner { margin-top: var(--size-s); }
.mar-s-bottom.section,
.mar-s-bottom > .mcb-wrap-inner,
.mar-s-bottom > .mcb-column-inner { margin-bottom: var(--size-s); }

.pad-xs.section,
.pad-xs > .mcb-wrap-inner,
.pad-xs > .mcb-column-inner { padding-top: var(--size-xs); padding-bottom: var(--size-xs); }
.pad-xs-top.section,
.pad-xs-top > .mcb-wrap-inner,
.pad-xs-top > .mcb-column-inner { padding-top: var(--size-xs); }
.pad-xs-bottom.section,
.pad-xs-bottom > .mcb-wrap-inner,
.pad-xs-bottom > .mcb-column-inner { padding-bottom: var(--size-xs); }
.mar-xs.section,
.mar-xs > .mcb-wrap-inner,
.mar-xs > .mcb-column-inner { margin-top: var(--size-xs); margin-bottom: var(--size-xs); }
.mar-xs-top.section,
.mar-xs-top > .mcb-wrap-inner,
.mar-xs-top > .mcb-column-inner { margin-top: var(--size-xs); }
.mar-xs-bottom.section,
.mar-xs-bottom > .mcb-wrap-inner,
.mar-xs-bottom > .mcb-column-inner { margin-bottom: var(--size-xs); }
.mar-xs-lateral.section,
.mar-xs-lateral > .mcb-wrap-inner,
.mar-xs-lateral > .mcb-column-inner { margin-left: var(--size-xs); margin-right: var(--size-xs); }

.no-pad.section,
.no-pad > .mcb-wrap-inner,
.no-pad > .mcb-column-inner { padding-top: 0; padding-bottom: 0; }
.no-pad-top.section,
.no-pad-top > .mcb-wrap-inner,
.no-pad-top > .mcb-column-inner { padding-top: 0; }
.no-pad-bottom.section,
.no-pad-bottom > .mcb-wrap-inner,
.no-pad-bottom > .mcb-column-inner { padding-bottom: 0; }

@media only screen and (max-width: 767px) {
    .lateral-pad-mobile.section,
    .lateral-pad-mobile > .mcb-wrap-inner,
    .lateral-pad-mobile > .mcb-column-inner { padding-left: var(--lateral-pad-mobile); padding-right: var(--lateral-pad-mobile); }
}

/* Clases auxiliares */
.decorative { font-family: var(--font-decorative); }
.primary, .column_heading.primary .title { color: var(--primary); }
.secondary, .column_heading.secondary .title { color: var(--secondary); }
.black, .column_heading.black .title { color: var(--black); }
.white, .column_heading.white .title { color: var(--white); }

/* Navegación entre páginas fluida */
@view-transition { navigation: auto; }
.container { view-transition-name: page; }
::view-transition-old(page) { animation: fade 0.2s linear forwards;  }
::view-transition-new(page) { animation: fade 0.3s linear reverse; }
    
/* FIX: Slick slider */
.slick-list { width: 100%; } 
.slick-track { display: flex; }

/* FIX: Hotspot */
.mfn-image-hotspot .hotspot-point { transform: translate(-50%, -50%); }

/* Otros estilos generales */
.validate_email_against_bot, .screen-reader-text { display: none; }

.mobile-side-slide { overflow-x: clip !important; }

p:empty { 
    margin: 0; 
    display: none; 
    visibility: hidden; 
    opacity: 0; 
}

a { 
    transition: all .3s ease;

    &:hover { 
        text-decoration: none; 
    }
}

.admin-bar .full-screen .section_wrapper { min-height: calc( 100dvh - var(--admin-bar-height) ); }

.style-simple, .style-simple .mfn-header-tmpl { 
    --mfn-column-gap-bottom: 0; 
    --mfn-column-gap-top: 0; 
    --mfn-column-gap-right: 0; 
    --mfn-column-gap-left: 0; 
}

.the_content_wrapper { 
    width: 100%; 
    margin: 0; 
}

.has_content .the_content_wrapper { margin-bottom: 0; }

.section_wrapper, .container, 
.four.columns .widget-area, .mfn-header-tmpl .section_wrapper,
.mfn-footer-tmpl .mcb-section .section_wrapper {
    max-width: var(--container-width) !important;
    padding-left: var(--lateral-pad) !important;
    padding-right: var(--lateral-pad) !important;
}

@media only screen and (max-width: 767px) {
    .mfn-footer-tmpl .mcb-section:not(.full-width) {
        padding-left: 0;
        padding-right: 0;
    }
}

.button { text-transform: uppercase; }

p { margin: 0; }


/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--primary);
    right: auto !important;
    left: 10px;
    font-size: 0;
    line-height: 0;
    color: var(--white);
    bottom: 10px !important;
    padding: 0;
    width: var(--cookie-button-size);
    height: var(--cookie-button-size);
    border-radius: var(--cookie-button-radius);
    min-width: 0px;
    box-shadow: var(--cookie-button-shadow);

    &:before {
        content: "\e901";
        font-family: 'temini';
        font-size: calc(var(--cookie-button-size) * 0.6);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    &:hover:before { transform: translate(-50%, -50%); }
}

/* Cookies banner */
#cmplz-cookiebanner-container {
    .cmplz-body { scrollbar-width: none; }

    .cmplz-cookiebanner {
        grid-row-gap: 5px;
        padding: var(--size-s);

        .cmplz-message, .cmplz-categories .cmplz-category .cmplz-description {
            font-size: var(--p-s);
            line-height: 1.4;
            font-weight: 400;
        }
    }

    .cmplz-header, .cmplz-divider-header { display: none; }   

    p {
        margin: 0;
        font-size: var(--p-s);
    }   
    
    .cmplz-buttons .cmplz-btn {
        letter-spacing: 0;
        font-size: var(--p-s) !important;
        line-height: 1.2 !important;
        text-transform: uppercase;
        justify-content: center;
        height: auto;

        &:hover {
            background: var(--primary);
            color: var(--white);
        }
    }
    
    .cmplz-categories .cmplz-category {
        &:not(:last-child) { margin-bottom: 5px; }

        .cmplz-category-header .cmplz-category-title { 
            font-size: var(--p-s);
            line-height: 1; 
            font-weight: 500;
        }

        .cmplz-category-header .cmplz-always-active {
            font-size: calc(var(--p-s) * 0.8);
            line-height: 1;
        }
    }
}

/* Complianz documents */
#cmplz-document {
    max-width: 100%;
    padding: var(--section-pad) var(--size-l);
    background: var(--white);
    text-align: justify;

    p, li, td {
        font-size: var(--p-m);
        line-height: 1.4;
        font-weight: 400;
    }

    p {
        margin-bottom: var(--size-xs);
    }

    h2, h3, h4 {
        font-weight: 500;
        border: 0;
        padding: 0;
        margin: 0 0 var(--size-m);
        line-height: 1.2;
        font-family: var(--font-decorative);
    }

    h2 {
        font-size: var(--h2);
        margin-top: var(--size-m);
    
        &:first-child { margin-top: 0; }
    }
    
    h3 { 
        font-size: var(--h3);
        margin-top: var(--size-s); 
    }
    
    h4 {
        font-size: var(--h4);
        font-weight: 700;
    }
}


/*********************************\
             HEADER
\*********************************/
/* Subheader por defecto */
#Subheader { 
    overflow: visible; 
    padding: 0;
}

#Subheader .column,
.column.sec-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--size-ml) 0 var(--size-m);

    .title {
        font-family: var(--font-decorative);
        font-size: var(--p-m);
        line-height: 1.2;
        font-weight: 400;
        text-transform: uppercase;
        margin: 0 0 var(--size-xs);
        color: var(--dark-grey);
    }

    &:after {
        content: "\e90e";
        font-family: 'temini';
        font-size: var(--p-l);
        line-height: 1;
        margin: -.3em 0;
    }
}

/* Selector de idiomas */
.wpml-ls-legacy-dropdown {
    width: auto;

    a {
        background: var(--background);
        color: var(--black);
        font-size: var(--a-nav);
        line-height: 1;
        font-weight: 500;
        font-family: var(--font-decorative);
        text-transform: uppercase;
        border: 0;
        border-radius: var(--radius-s);
        padding: var(--size-s) var(--size-m);
        display: flex;
        align-items: center;
        gap: var(--size-xs);

        &.wpml-ls-item-toggle { 
            padding-right: var(--size-m); 

            &:after {
                content: "\e866";
                font-family: mfn-icons;
                position: static;
                border: 0;
            }

            &:hover { border-radius: var(--radius-s) var(--radius-s) 0 0; }
        }

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

    .wpml-ls-current-language:hover > a {
        background: var(--background);
        color: var(--black);
    }

    .wpml-ls-sub-menu {
        border: 0;

        & > li {
            a { 
                border-radius: 0; 
                padding: calc(var(--size-s) * 0.2) calc(var(--size-m) * 0.2);

                span {
                    width: 100%;
                    padding: calc(var(--size-s) * 0.5) calc(var(--size-m) * 0.8);
                    border-radius: var(--radius-s);
                    transition: all 0.3s ease;
                }

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

            &:last-child a { border-radius: 0 0 var(--radius-s) var(--radius-s); }
        }
    }
}


/*********************************\
              FOOTER
\*********************************/
/* Back to top */
#back_to_top.sticky {
    bottom: 10px;
    right: 8px !important;
    width: var(--cookie-button-size);
    height: var(--cookie-button-size);
    font-size: calc(var(--cookie-button-size) * 0.6) !important;
    line-height: 1;
    padding: 0;
    border-radius: var(--cookie-button-radius);
    box-shadow: var(--cookie-button-shadow);
    background: var(--primary);
    border: 0;

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

    &:before { content: none; }
}

/* Redes sociales */
ul.social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--size-xs);

    li a {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        width: 2em;
        aspect-ratio: 1/1;
        border-radius: 100px;
        background: var(--secondary-dark);
        color: var(--white);

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

        &:hover { background: var(--secondary); }
    }
}

/* Menú textos legales */
.mfn-footer-menu li { 
    border-left: 1px solid var(--grey);

    &:first-child { border-left: 0; }
}

/* Mapa */
.gmp-marker-with-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.gmp-marker-label {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    color: #1a2b3c;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    padding: 8px 14px;
    white-space: nowrap;
}


/*********************************\
              CONTENT
\*********************************/
/* Línea divisora de secciones */
.column_divider_2.section-line-divider .mfn-divider {
    justify-content: center;

    .mfn-divider-inner {
        --mfn-divider-gap-top: 0px;
        --mfn-divider-gap-bottom: 0px;
        width: 200px;
    
        &:before { 
            border-top: 2px solid var(--light-grey); 
        }
    }
} 

/* Sección full */
.sec-full-image > .mcb-column-inner { height: 500px; }

.sec-full-content > .mcb-wrap-inner {
    background: var(--white);
    padding: var(--size-xxl) var(--size-l);
}

/* Título con borde azul */
.blue-line-title {
    .title {
        font-family: var(--a-btn);
        font-size: var(--p-s);
        line-height: 1.2;
        font-weight: 400;
        color: var(--grey);
        margin: 0 auto var(--size-ml);
        width: fit-content;
        text-transform: uppercase;
        padding-bottom: var(--size-xs);
        border-bottom: 2px solid var(--secondary);
    }

    &.small-mar .title {
        margin-bottom: var(--size-s);
    }
}

/* Wrap info contacto */
.wrap-contact-info > .mcb-wrap-inner {
    flex-direction: column;
}

/* Grid - Qué hacemos */
.grid-que-hacemos > .section_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--size-l);
    align-items: stretch;

    .column_image {
        height: 100%;

        .mcb-column-inner, .image_frame, .image_wrapper, img { height: 100%; }
    }

    .blue-line-title .title {
        margin-bottom: var(--size-s);
    }

    &:after { content: none; }

    @media only screen and (min-width: 768px) {
        .wrap .wrap { height: 100%; }
    }

    @media only screen and (max-width: 959px) { grid-template-columns: 1fr; }
}

/* Slider pasos */
.slider-pasos {
    .mcb-background-overlay { display: none; }
    
    .column_image:not(.icono-pasos) {
        height: 100%;
        z-index: 1;

        .mcb-column-inner, .image_frame, .image_wrapper, img { height: 100%; }
    }

    .icono-pasos {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }

    .blue-line-title .title {
        margin-bottom: var(--size-s);
    }

    & > .section_wrapper:after { content: none; }

    @media only screen and (min-width: 768px) {
        & > .section_wrapper {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: var(--size-l);
            align-items: stretch;
        }

        .wrap .wrap { height: 100%; }
    }

    @media only screen and (max-width: 959px) { & > .section_wrapper {grid-template-columns: 1fr; } }

    .slick-list {
        max-width: 530px;
        margin: 0 auto;
    }

    .slick-arrow {
        position: absolute;
        top: 365px;
        font-size: 20px;
        width: 2em;
        height: 2em;
        border-radius: 100px;
        border: solid 1px var(--grey);
        color: var(--grey);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 10;

        &.arrow-prev {
            left: calc( 50% - 65px );
        }

        &.arrow-next {
            right: calc( 50% - 65px );
        }

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

    .slide-counter {
        position: absolute;
        top: 376px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;

        .current {
            color: var(--primary);
        }
    }

    @media only screen and (max-width: 767px) {
        .pad-xl > .mcb-wrap-inner {
            padding-top: var(--size-xxl);
        }
    }
}

/* Listas en elemento de texto */
.column_column ul {
    list-style-position: inside;
    margin: 0;

    li {
        margin: 0;
        
        &::marker {
            font-size: .8em;
        }
    }
}

/* Slider galería */
@media only screen and (max-width: 1239px) { 
    .otros-servicios-wrap .wrap.one-second { 
        width: 100%; 

        &:last-child .mcb-wrap-inner {
            padding-top: var(--size-xxl);
            padding-bottom: var(--size-xxl);
        }
    }
}

.gallery-slider .mcb-item-image_gallery-inner {
    overflow: visible !important;

    .gallery {
        position: relative;

        .gallery-item img {
            width: 100%;
            aspect-ratio: 68 / 53;
            object-fit: cover;
        }

        .slide-counter {
            position: absolute;
            bottom: 20px;
            left: 50%;
            width: 80px;
            height: 40px;
            text-align: center;
            color: var(--white);
            transform: translateX(-50%);
            z-index: 8;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 3px;

            .current {
                color: var(--primary);
            }

            @media only screen and (max-width: 1239px) {
                bottom: -50px;
                color: var(--dark-grey);
            }
        }

        .slick-arrow {
            position: absolute;
            font-size: 20px;
            width: 2em;
            height: 2em;
            border-radius: 100px;
            color: var(--white);
            border: solid 1px var(--white);
            z-index: 10;
            bottom: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease-in-out;

            &.arrow-prev {
                left: calc( 50% - 80px );
            }

            &.arrow-next {
                right: calc( 50% - 80px );
            }

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

            @media only screen and (max-width: 1239px) {
                bottom: -50px;
                color: var(--grey);
                border-color: var(--grey);

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

/* Acordeones */
.style-simple .accordion {
    .question {
        border: 0;
    
        & > .title {
            padding: 0 var(--size-l);
            font-family: var(--font-decorative);
            font-weight: 500;
            text-transform: uppercase;
    
            & > .acc-icon-minus, & > .acc-icon-plus { 
                width: auto; 
                height: auto;
                aspect-ratio: 1/1;
            }
        }
    
        &.active:after { content: none; }
    }

    .answer {
        .close-accordion {
            position: absolute;
            top: 0;
            right: 0;
            font-size: 1.67rem;
            color: var(--primary-dark);
            cursor: pointer;
        }

        .title { padding: 0; }

        .section_wrapper { padding-left: 0 !important; padding-right: 0 !important; }
    }
}

/* Leyenda de imágenes */
.gallery.img_caption_overlay .gallery-caption,
.wp-caption-text {
    position: absolute;
    width: auto;
    bottom: var(--size-xs);
    right: var(--size-xs);
    left: auto;
    top: auto;
    background: var(--white);
    color: var(--dark-grey);
    font-family: var(--font-decorative);
    font-style: italic;
    font-size: var(--p-m);
    line-height: 1.2;
    padding: var(--size-xs) !important;
}


/*********************************\
           FLUENT FORMS
\*********************************/
.fluentform {
    .ff-el-group.politicas {
        margin: 0;
    
        p { 
            font-size: var(--p-xs); 
            line-height: 1.4; 
            opacity: .6;
            color: var(--black); 
        }
    }

    &.ff-default .ff-el-form-control {
        font-family: var(--font-text);
    }

    &.ff-default select.ff-el-form-control {
        background: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
    }

    .aceptance-wrap {
        .ff-t-column-1 {
            flex-basis: 1 1 100% !important;
        }

        .ff-t-column-2 {
            flex: 0 0 225px !important;
        }
    }

    .ff-el-form-check label.ff-el-form-check-label {
        display: flex;
        align-items: center;

        .ff_tc_checkbox {
            padding: 0;

            input {
                margin: 0;
            }
        }
    }

    @media (min-width: 768px) {
        .frm-fluent-form .ff-t-container {
            gap: var(--size-l);
        }
    }
}


/*********************************\
               404
\*********************************/
#error-404 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    .back-404 {
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: -1;
    
        .title { color: var(--light-grey); }
    }
}

.admin-bar #error-404 .section_wrapper > .wrap > .mcb-wrap-inner { min-height: calc( 100dvh - var(--admin-bar-height) ); }


/*********************************\
            RESPONSIVE
\*********************************/
@media only screen and (max-width: 959px) {
    /* FIX: Desactivar delay de animaciones */
    body .animate { animation-delay: 0ms !important; }
}