/**
 * Témini — estilos de componentes y plantilla
 */

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

    @media only screen and (max-width: 1440px) {
        font-size: 15px;
    }

    @media only screen and (max-width: 767px) {
        font-size: 14px;
    }

    @media only screen and (max-width: 580px) {
        
    }
}

h1, #Subheader .title, .h1, .column_heading.h1 .title {
    font-family: var(--font-titles);
    font-size: var(--h1);
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase !important;
}

h2, .h2, .column_heading.h2 .title {
    font-family: var(--font-titles);
    font-size: var(--h2);
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase !important;
    letter-spacing: 1.1px !important;
}

h3, .h3, .column_heading.h3 .title {
    font-family: var(--font-titles);
    font-size: var(--h3);
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase !important;
}

h4, .h4, .column_heading.h4 .title {
    font-family: var(--font-titles);
    font-size: var(--h4);
    line-height: 1.2;
    font-weight: 600;
    text-transform: initial !important;
}

h5, .h5, .column_heading.h5 .title {
    font-family: var(--font-titles);
    font-size: var(--h5);
    line-height: 1.4;
    font-weight: 600;
}

h6, .h6, .column_heading.h6 .title {
    font-family: var(--font-titles);
    font-size: var(--h6);
    line-height: 1.4;
    font-weight: 600;
    text-transform: initial !important;
    letter-spacing: 0 !important;
}

body, p, .medium, .column_heading.medium .title {
    font-family: var(--font-text);
    font-size: var(--p-m);
    line-height: 1.4;
    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.4;
    font-weight: 400;
}

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

.featured, .featured p, .column_heading.featured .title {
    font-family: var(--font-text);
    font-size: var(--p-featured);
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase !important;
}

.small, .small p, .small a,.column_heading.small .title,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
    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-text);
    font-size: var(--a-nav);
    line-height: 1.4 !important;
    font-weight: 400;
}

/* Espaciados por defecto */
@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-mxxl.section,
.pad-mxxl > .mcb-wrap-inner,
.pad-mxxl > .mcb-column-inner { padding-top: var(--size-mxxl); padding-bottom: var(--size-mxxl); }
.pad-mxxl-top.section,
.pad-mxxl-top > .mcb-wrap-inner,
.pad-mxxl-top > .mcb-column-inner { padding-top: var(--size-mxxl); }
.pad-mxxl-bottom.section,
.pad-mxxl-bottom > .mcb-wrap-inner,
.pad-mxxl-bottom > .mcb-column-inner { padding-bottom: var(--size-mxxl); }
.mar-mxxl.section,
.mar-mxxl > .mcb-wrap-inner,
.mar-mxxl > .mcb-column-inner { margin-top: var(--size-mxxl); margin-bottom: var(--size-mxxl); }
.mar-mxxl-top.section,
.mar-mxxl-top > .mcb-wrap-inner,
.mar-mxxl-top > .mcb-column-inner { margin-top: var(--size-mxxl); }
.mar-mxxl-bottom.section,
.mar-mxxl-bottom > .mcb-wrap-inner,
.mar-mxxl-bottom > .mcb-column-inner { margin-bottom: var(--size-mxxl); }

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


.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); }
.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); }

.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); }

/* Botones */

.button, .wc-block-components-button:not(.is-link), 
.woocommerce a.added_to_cart, .wp-block-button__link, 
button, input[type=button], 
input[type=reset], input[type=submit] {
    font-size: var(--a-btn);
    line-height: 1.4;
    font-weight: 400;
    padding: .66em .70em .66em 1.333em;
    gap: .66em;
    border-width: 0;
    border-radius: var(--radius-button) !important;
    transition: all .2s ease;

    .button_icon {
        line-height: 0;

        i { 
            font-size: 1em;
            transition: all .2s ease;
            background-color: var(--black);
            color: var(--white) !important;
            border-radius: 3px;
            padding: 8px;
            
        }
    }
}


.button, .widget a.button, 
.wp-block-button__link, button, 
input[type=button], input[type=reset] {
    background: var(--white);
    color: var(--black);
    border-color: var(--white);

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

.button:hover, .widget a.button:hover, 
.wp-block-button__link:hover, button:hover, 
input[type=button]:hover, input[type=reset]:hover,
.button-animation-slide .button:before {
    background: var(--grey);
    color: var(--white);
    border-color: var(--grey);

    i { background-color: var(--white) !important;
        color: var(--secondary) !important;}
}

.button.button_theme, a.button.button_theme, input[type=submit] {
    background: var(--secondary);
    color: var(--white);
    border-color: var(--secondary);

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

.button.button_theme:hover, a.button.button_theme:hover, input[type=submit]:hover,
.button-animation-slide .button_theme:before {
    background: var(--primary);
    color: var(--white);
    border-color: var(--white);

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

.button.action_button, a.button.action_button {
    background: var(--white);
    color: var(--primary);
    border-color: var(--white);

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

.button.action_button:hover, a.button.action_button:hover,
.button-animation-slide .action_button:before {
    background: var(--primary);
    color: var(--white);
    border-color: var(--white);

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

/* Clases auxiliares */
.decorative { font-family: var(--font-decorative); }
.primary, .column_heading.primary .title { color: var(--primary); }
.secondary, .column_heading.secondary .title { color: var(--secondary); }
.complementary-1, .column_heading.complementary-1 .title { color: var(--complementary-1); }
.complementary-2, .column_heading.complementary-2 .title { color: var(--complementary-2); }
.black, .column_heading.black .title { color: var(--black); }
.white, .column_heading.white .title { color: var(--white); }
.hide-section{display: none !important;}
/* 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) ); }

/* Flecha «siguiente sección» (icon box con clase next-section) */
.column_icon_box_2.next-section {
    cursor: pointer;
}

.column_icon_box_2.next-section:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}

.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;
    }
}


/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--secondary);
    right: 8px !important;
    left: auto;
    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-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;
    }
    
    .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(--size-xl) 0;
    text-align: justify;

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

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

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


/*********************************\
             HEADER
\*********************************/
/* Subheader por defecto */
#Subheader { 
    overflow: visible; 
    padding: var(--size-l) 0;

    ul.breadcrumbs {
        display: flex; 
        flex-wrap: wrap; 
        align-items: center; 
        justify-content: center; 
        gap: 10px;

        li {
            display: flex; 
            align-items: center; 
            justify-content: flex-start; 
            color: var(--black); 
            text-decoration: none;
            width: fit-content; 
            gap: 10px;

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

            span {
                display: flex; 
                align-items: center; 
                justify-content: center;
                margin: 0; 
                opacity: 1; 

                i {
                    line-height: 0;

                    &::before { 
                        font-family: 'temini';
                        content: "\e90d";
                    }
                }
            }
        }
    }
}

/* Módulo BeBuilder breadcrumbs (column_breadcrumbs): solo Inicio + sección padre */
body.single .column_breadcrumbs ul.breadcrumbs,
body.archive .column_breadcrumbs ul.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;

    li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        color: var(--black);
        width: fit-content;
        gap: 10px;

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

        span {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0;
            opacity: 1;

            i {
                line-height: 0;

                &::before {
                    font-family: 'temini';
                    content: "\e90d";
                }
            }
        }
    }

    /* Solo Inicio + sección padre (p. ej. Proyectos) */
    li:nth-child(n+3) {
        display: none;
    }

    li:nth-child(2) .mfn-breadcrumbs-separator {
        display: none;
    }
}


/*********************************\
              FOOTER
\*********************************/
/* Back to top */
#back_to_top.sticky {
    bottom: calc( var(--cookie-button-size) + 16px );
    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(--secondary);
    border: 0;

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

    &:before { content: none; }
}

#back_to_top.sticky:hover i{background: transparent !important;color: var(--white) !important;}

/*Kit digital*/
body #mfn-footer-template .financiacion {
    display: grid;
    grid-template-columns: 1fr 1fr 5fr;
    gap: var(--size-m);
    text-align: left;
    align-items: center;

    & > div {
        line-height: 0;

        img {
            max-height: 50px;
            width: auto;
        }

        p {
            font-size: var(--p-s);
            line-height: 1.2;
            margin-bottom: 0;
        }
    }

    @media only screen and (max-width: 959px) {
        grid-template-columns: 1fr 1fr;
        text-align: center;
        gap: 5px;

        & > div:last-child {
            grid-column: 1 / span 2;
        }
    }
}

/* Accesibilidad */
body #pojo-a11y-toolbar {
    top: auto !important;
    bottom: 10px;

    .pojo-a11y-toolbar-toggle a {
        font-size: calc(var(--cookie-button-size) * 0.6);
        padding: 8px;
        border-radius: 6px;
        box-shadow: var(--cookie-button-shadow);
    }

    .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
        line-height: 1.2;
    }

    &.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
        left: 190px;
        bottom: 0;
    }

    &.pojo-a11y-toolbar-right .pojo-a11y-toolbar-toggle {
        right: 190px;
        bottom: 0;
    }
}


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



/* Archive - Paginación */
.pager{ 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    gap: var(--size-m); 
    margin-top: var(--size-l); 

    .pages {
        margin: 0; 
        background-image: unset; 
        background-color: unset; 
        padding: 0; 
        display: flex; 
        justify-content: center; 
        align-items: center; 
        gap: 18px;

        a.page {
            --page-size: 36px;

            border-radius: 50%; 
            width: var(--page-size); 
            height: var(--page-size); 
            line-height: var(--page-size); 
            font-size: var(--a-nav); 
            border: 1px solid var(--black); 
            color: var(--black); 
            margin: 0; 
            font-weight: 400;

            &:hover, &.active {
                background-color: var(--primary); 
                color: var(--black); 
                border-color: var(--primary); 
            }

            &:before { content: none; }

            &.next_page, &.prev_page {
                font-size: 0; 
                color: transparent; 
                width: var(--page-size); 
                height: var(--page-size); 
                line-height: var(--page-size); 
                transition: all 1s ease; 
                position: relative;

                &:before {
                    font-family: 'temini';
                    font-size: calc(var(--page-size) * 0.8);
                    color: var(--black);
                }
            }

            &.next_page {
                &:before { content: "\e906"; }
                &:hover { transform: translateX(10px); }
            }

            &.prev_page {
                &:before { content: "\e90a"; }
                &:hover { transform: translateX(-10px); }
            }
        }
    }
}

/* Single - Tag cloud */
.column_tag_cloud .mfn-tag-cloud { 
    gap: 5px;
    
    &:before {
        content: "";
        font-family: 'temini';
        content: "\e910";
        font-size: var(--size-ml);
        line-height: 1;
        color: var(--white);
        width: var(--size-ml);
        height: var(--size-ml);
    }

    li a {
        background-color: transparent;
        color: var(--white);
        line-height: 1;
        padding: 0px 5px;
        transition: all .3s ease;
        border-radius: 0px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
    }

    li a:hover {
        color: var(--white);
        text-decoration: none;
    }
}

/* Single - Share */
.cont-share{ 
    border-top: 1px solid var(--black); 
    margin-top: var(--size-m); 
    padding-top: var(--size-m); 

    .mcb-wrap-inner{ align-items: center; 
        .one.column{ width: fit-content; }
    }

    .mfn-share-post .mfn-share-post-button{ 
        border: unset; 
        padding: 0; 
        border-radius: 0; 
        color: var(--black); 
        font-size: var(--a-nav); 
        transition: all .3s ease; 

        &:hover { transform: translateY(-5px); }
    }
}


/*********************************\
               404
\*********************************/
#error-404 {
    .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) ); }


/*********************************\
               BLOG
\*********************************/


.slider-proyectos .slick-list {
    overflow: visible;
}

.blog_slider.flat .blog_slider_header .slick-arrow{
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    background-color: #6b6b6bc2 !important;
    color: var(--white) !important;
    opacity: 0.8 !important;
    i{
        background-color: transparent !important;
    }
}
.blog_slider.flat .blog_slider_header .slick-arrow:hover{
   opacity: 1 !important;
    i{
        background-color: transparent !important;
    }
}

.blog_slider_header .slider_navigation .slick-arrow{
    top: calc(50% - 20px);
}
.blog_slider_header .slider_navigation .slick-arrow i:before {
    content: "\e906";
    font-family: 'temini' !important;
}
.blog_slider_header .slider_navigation .slider_prev i {
    display: inline-block;
    transform: rotate(180deg);
   
}

/* Slider proyectos */

.column_blog_slider.slider-proyectos {
    .blog_slider_li .item_wrapper {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        column-gap: var(--size-xs);
    }

    .blog_slider_li .image_frame,
    .blog_slider_li .image_wrapper,
    .blog_slider_li .image_wrapper > a {
        display: block;
        width: 100%;
        aspect-ratio: 93 / 101;
        overflow: hidden;
        grid-column: 1 / -1;
    }

    .blog_slider_li .image_wrapper > a > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        transition: transform 0.4s ease;
    }

    .blog_slider_li:hover .image_wrapper > a > img {
        transform: scale(1.05);
    }

    .blog_slider_li .temini-post-permalink {
        margin-bottom: var(--size-s);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5em;
        grid-column: 2;
        grid-row: 2;
        justify-self: end;

    }

    .blog_slider .blog_slider_ul .blog_slider_li .item_wrapper a.button{
        margin-left: 0px;
        margin-bottom: 0;
        padding: 0;
        width: 30px;
        height: 30px;
    }
    
    .blog_slider_li .temini-post-permalink .button_label {
        display: none;
    }

    .blog_slider_li .temini-post-permalink .temini-arrow-right:before {
        content: "\e905";
        font-family: 'temini' !important;
        font-style: normal;
    }

    .blog_slider_li .temini-post-permalink i {
        color: var(--black) !important;
        background-color:white !important;
        transition: all .2s ease;
    }
    .blog_slider_li .temini-post-permalink:hover i{
        background-color:var(--grey) !important ;
        color:white !important;
    }
   

    .blog_slider_li .date_label {
        grid-column: 1;
        grid-row: 2;
        justify-self: start;
        margin-top: var(--size-xs);
        margin-bottom: var(--size-s) !important;
        position: static !important;
        display: inline-flex;
        align-items: center;
    }

    .blog_slider_li .desc {
        grid-column: 1 / -1;
    }
}

.blog_slider .blog_slider_ul .blog_slider_li .item_wrapper .date_label{
    color:var(--white) !important;
    margin-bottom: var(--size-s) !important;
    font-size: var(--p-m) !important;
    font-weight: 300;
    line-height: 1.6; 
}

.blog_slider .blog_slider_ul .blog_slider_li h4{ 
    font-size:var(--p-xl) !important ;
}

/* Filtros proyectos */
#Filters {
    .filters_buttons li,
    .filters_wrapper ul li {
        transition: opacity 0.2s ease;

        &:hover {
            opacity: 0.5;
        }
    }

    .filters_wrapper {
        text-align: left;

        ul.categories {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            text-align: left;

            li {
                padding-left: 0px;
                padding-right: 24px;

                a {
                    font-size: var(--size-ml);
                    padding-left: 8px;
                    &:after{
                        background-color: var(--white) !important;
                    }
                }
            }
        }
    }
}

/*Archive Blog*/

.blog_wrapper .post-item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: var(--size-xs);
}

.blog_wrapper .post-item .image_frame,
.blog_wrapper .post-item .image_wrapper,
.blog_wrapper .post-item .image_wrapper > a {
    display: block;
    width: 100%;
    aspect-ratio: 93 / 101;
    overflow: hidden;
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom:15px !important;
}

.blog_wrapper .post-item .image_wrapper > a > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

.blog_wrapper .post-item:hover .image_wrapper > a > img {
    transform: scale(1.05);
}




.blog_wrapper .post-item .temini-post-permalink {
    margin-bottom: var(--size-s);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
}

.blog_wrapper .post-item a.button.temini-post-permalink {
    margin-left: 0;
    margin-bottom: 0;
    padding: 0;
    width: 30px;
    height: 30px;
}

.blog_wrapper .post-item .temini-post-permalink .button_label {
    display: none;
}

.blog_wrapper .post-item .temini-post-permalink .temini-arrow-right:before {
    content: "\e905";
    font-family: 'temini' !important;
    font-style: normal;
}

.blog_wrapper .post.post-item .temini-post-permalink i {
    color: var(--black) !important;
    background-color: white !important;
    transition: all .2s ease;
}

.blog_wrapper .post-item .temini-post-permalink:hover i {
    background-color: var(--grey) !important;
    color: white !important;
}

.blog_wrapper .post-item > .date_label {
    display: none !important;
}

.blog_wrapper .post-item .post-desc-wrapper,
.blog_wrapper .post-item .post-desc {
    display: contents;
}

.blog_wrapper .post-item .post-desc .post-head {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    margin-top: var(--size-xs);
    margin-bottom: var(--size-s);
    width: 100%;
}

.blog_wrapper .post-item .post-desc .post-title {
    grid-column: 1 / -1;
    grid-row: 3;
}

.blog_wrapper .post-item .post-desc-wrapper {
    width: 100%;
    float: none;
}

.post-item .post-desc .post-head .author-date{
    display:none !important;
}
.post-item .post-desc .post-head  .post-meta{margin-bottom: 0px !important;}
.post-item .post-desc .post-head  .post-meta .category{
    float: left !important;
}
.post-item .post-desc .post-head  .post-meta .category .cat-wrapper{
    display: flex !important;
    position: static !important;
}
.post-item .post-desc .post-head  .post-meta .category .cat-wrapper ul{
    padding: 0px !important;
    min-width: auto !important;
    background: transparent !important;
    li a{
    padding: 0px !important;
    color: white;
    font-size: var(--p-m);
        &:hover{
            background: transparent !important;
        }
    }
}

body.archive .post-item .post-desc .post-head .post-meta .category .cat-wrapper ul li a {
    font-size: var(--p-l);
    transition: opacity 0.2s ease;

    &:hover {
        opacity: 0.7;
        background: transparent !important;
    }
}
.post-item .post-desc {
    padding: 20px 0px 0 !important;
}

.blog_wrapper .post-item .post-desc {
    padding: 0 !important;
}

.blog_wrapper .post-item .post-desc .post-title {
    padding-top: 0;
}

.blog_wrapper .post-item .post-desc .post-title .entry-title,
.blog_wrapper .post-item .post-desc .post-title .entry-title a {
    font-family: var(--font-titles);
    font-size: var(--h4);
    line-height: 1.2;
    font-weight: 600;
    text-transform: initial !important;
}

@media only screen and (max-width: 1239px) {
    .blog_wrapper .posts_group .post-item {
        width: 47.99% !important;
        margin: 0 1% 20px !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
    }

    .blog_wrapper .posts_group .post-item:nth-child(2n+1) {
        clear: both;
    }
}

@media only screen and (max-width: 767px) {
    .blog_wrapper .posts_group .post-item {
        width: 100% !important;
        margin: 0 0 20px !important;
        clear: both;
    }
}

.pager_load_more {
padding: 10px 20px !important;

    .button_icon{
    display: none !important;
    }
}
/*Media carrousel clientes*/

 .mfn-media-carousel .mfn-grid-item .mfn-grid-item-image img{ 
    object-fit: contain !important; 
}

  .swiper{
    overflow: visible !important;
}

/* Sección servicios — hover título → descripción + fondo */
.section.servicios {
    position: relative;
    overflow: hidden;
}

.section.servicios > .mcb-background-overlay {
    position: absolute;
    inset: 0;
    z-index: 1 !important;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.section.servicios:has(.row-service:hover) > .mcb-background-overlay {
    opacity: 0.65 !important;
}

/* Los wraps compiten en el mismo contexto que el overlay */
.section.servicios .section_wrapper {
    display: contents;
}

.section.servicios .section_wrapper > .wrap:not(.fondos) {
    position: relative;
    z-index: 2;
}

/* Fondo a tamaño completo de la section — detrás del overlay */
.section.servicios .wrap.fondos {
    position: absolute;
    inset: 0;
    z-index: 0 !important;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

.section.servicios .wrap.fondos .mcb-wrap-inner {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

.section.servicios .wrap.fondos .column_image {
    position: absolute;
    inset: 0;
    z-index: 0 !important;
    width: 100% !important;
    max-width: none;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.section.servicios .wrap.fondos .column_image .mcb-column-inner,
.section.servicios .wrap.fondos .column_image .image_frame,
.section.servicios .wrap.fondos .column_image .image_wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.section.servicios .wrap.fondos .column_image .image_wrapper > a,
.section.servicios .wrap.fondos .column_image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
}

.section.servicios .row-service.demoliciones:hover ~ .wrap.fondos .column_image.demoliciones,
.section.servicios .row-service.reformas:hover ~ .wrap.fondos .column_image.reformas,
.section.servicios .row-service.albañileria:hover ~ .wrap.fondos .column_image.albañileria,
.section.servicios .row-service.construccion:hover ~ .wrap.fondos .column_image.construccion,
.section.servicios .row-service.passivhaus:hover ~ .wrap.fondos .column_image.passivhaus {
    opacity: 1;
    visibility: visible;
}

.section.servicios .desc-service {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, max-height 0.35s ease;
}

.section.servicios .row-service:hover .desc-service {
    opacity: 1;
    visibility: visible;
    max-height: 12rem;
}

.section.servicios .title-service {
    cursor: pointer;
}

@media only screen and (max-width: 1238px) {
    .section.servicios .desc-service {
        opacity: 1;
        visibility: visible;
        max-height: none;
        overflow: visible;
    }
}

/*********************************\
   SINGLE POST — GALERÍA MASONRY
\*********************************/
body.single-post .wp-block-gallery.has-nested-images {
    display: block !important;
    flex-wrap: unset !important;
    gap: 0;
    columns: 2;
    column-gap: var(--size-s);
}

body.single-post .wp-block-gallery.has-nested-images.columns-1 {
    columns: 1;
}

@media only screen and (min-width: 600px) {
    body.single-post .wp-block-gallery.has-nested-images.columns-3 {
        columns: 3;
    }

    body.single-post .wp-block-gallery.has-nested-images.columns-4 {
        columns: 4;
    }

    body.single-post .wp-block-gallery.has-nested-images.columns-5 {
        columns: 5;
    }

    body.single-post .wp-block-gallery.has-nested-images.columns-6 {
        columns: 6;
    }

    body.single-post .wp-block-gallery.has-nested-images.columns-7 {
        columns: 7;
    }

    body.single-post .wp-block-gallery.has-nested-images.columns-8 {
        columns: 8;
    }
}

body.single-post .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100% !important;
    max-width: 100%;
    display: block !important;
    flex-grow: unset !important;
    align-self: auto !important;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 var(--size-s) !important;
}

body.single-post .wp-block-gallery.has-nested-images figure.wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    flex: none !important;
    display: block;
}

body.single-post .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image > a,
body.single-post .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image > div:not(.components-drop-zone) {
    display: block !important;
    height: auto !important;
    flex: none !important;
}

body.single-post #Content .wp-block-gallery.is-cropped img {
    height: auto !important;
}

@media only screen and (max-width: 767px) {
    body.single-post .wp-block-gallery.has-nested-images {
        columns: 1 !important;
    }
}

/*********************************\
            RESPONSIVE
\*********************************/

@media only screen and (max-width: 1239px) {
    /*Footer*/

#mfn-footer-template .fondo-footer .mcb-background-overlay{
    opacity: 0.2 !important;
}
}

@media only screen and (max-width: 1024px) {}

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

    /* FIX: Ocultar botón de accesibilidad al abrir el menú lateral */
    html.mfn-header-tmpl-burger-sidebar-opened #pojo-a11y-toolbar { display: none; }
}

@media only screen and (max-width: 767px) {}

@media only screen and (max-width: 480px) {}

@media only screen and (max-width: 320px) {}