/**
Theme Name: Abella & Manganell
Author: Moio
Author URI: https://moio.io/
Description: Abella & Manganell
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: abella-manganell
Template: astra
*/

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

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

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

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/FiraSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/FiraSans-Italic.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
    font-style: italic;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/FiraSans-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/FiraSans-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
    font-style: italic;
}

:root {
    --font-titles: 'Outfit', sans-serif;
    --font-alternative: 'Raleway', sans-serif;
    --font-text: 'Fira Sans', sans-serif;


    --font-size--default: 16px;
    --font-size--larger: 18px;
    --font-size--titles: 30px;
    --font-size--titles-large: 40px;

    @media screen and (min-width: 768px) {
        --font-size--default: 18px;
        --font-size--larger: 20px;
        --font-size--titles: 40px;
        --font-size--titles-large: 50px;
    }

    @media screen and (min-width: 992px) {
        /* --font-size--default: 18px;
        --font-size--larger: 20px; */
        --font-size--titles: 50px;
        --font-size--titles-large: 60px;
    }


}

html,
body {
    font-family: var(--font-text);
    font-size: 18px;
}

.entry-content {
    h2 {
        font-weight: 700;
    }

    .elementor-widget-container {
        >p:last-child {
            margin-bottom: 0;
        }
    }
}


.elementor-template-full-width {
    .site-content > .ast-container {
        max-width: 100% !important;
    }
}


.ast-button,
.ast-custom-button,
.btn,
.elementor-widget-button:not(.elementor-button-info) .elementor-button-link,
.wp-element-button.wp-block-button__link {
    display: inline-block;
    text-transform: uppercase;
    /* font-weight: 700;
	line-height: 1.4em;
	padding: 0.4em 1.4em;
	letter-spacing: 1px; */
    /* border-radius: 15px; */

    position: relative;
    /* color: var( --ast-global-color-0 ); */
    z-index: 1;
    /* matters! */
    overflow: hidden;
}

/* .ast-button:hover,
.btn:hover,
.elementor-widget-button:not(.elementor-button-info) .elementor-button-link:hover { color: #fff;} */
.ast-button::before,
.ast-custom-button::before,
.btn::before,
.elementor-widget-button:not(.elementor-button-info) .elementor-button-link::before,
.wp-element-button.wp-block-button__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    /* width: 200%; */
    width: 300%;
    height: 500%;
    background-image: linear-gradient(100deg, var(--ast-global-color-0) 32%, var(--ast-global-color-1) 67%, var(--ast-global-color-0) 100%);
    transition: transform 0.4s;
    z-index: -1;
    transform: translate(-50%, -50%) rotate(0deg);
}

.ast-button:hover::before,
.ast-custom-button:hover::before,
.btn:hover::before,
.elementor-widget-button:not(.elementor-button-info) .elementor-button-link:hover::before,
.wp-element-button.wp-block-button__link:hover::before {
    transform: translate(-50%, -50%) rotate(180deg);
}

.main-title {

    h1,
    h2 {
        background: -webkit-linear-gradient(0deg, var(--ast-global-color-0), var(--ast-global-color-1) 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;

        /* width: max-content; */
        display: inline-flex;
        margin-inline: auto !important;

    }
}

.entry-content .custom-pretitle {
    font-family: var(--font-titles);
    font-weight: 400;

    * {
        color: var(--ast-global-color-0);
        font-size: var(--font-size--larger);
        font-weight: 400;
    }

    a {
        text-decoration: none;

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


}

.elementor-element.elementor-widget-heading {
    font-family: var(--font-titles);
    font-weight: 700;

    .elementor-heading-title.elementor-size-default {
        font-size: var(--font-size--titles);
        line-height: 1.1;
    }

    a {
        text-decoration: none;

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

    &.custom-pretitle {
        /* font-family: var(--font-titles); */
        font-weight: 500;

        .elementor-heading-title.elementor-size-default {
            color: var(--ast-global-color-0);
            font-size: var(--font-size--larger);

        }
    }
}

.elementor-element.elementor-widget-posts {
    .elementor-posts {
        .elementor-post__thumbnail {
            overflow: hidden;
            border-radius: 15px;
        }

        .elementor-post__text {
            display: flex;
            flex-flow: column-reverse;
        }

        .elementor-post__title {
            font-weight: 500;

            a {
                color: inherit;
                text-decoration: none;
            }
        }

        .elementor-post__meta-data {
            color: #7d7d7d;
            margin-bottom: 5px;
        }

    }
}

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



/*************************************/
/********       FOOTER       *********/
/*************************************/
footer {
    .site-primary-footer-wrap {
        padding-inline: 24px;

        .ast-builder-footer-grid-columns {

            >div:last-child {
                aside>section {
                    justify-items: center;
                }
            }
        }
    }

    .site-below-footer-wrap {
        padding-inline: 24px;
    }

    .menu-main-container ul {
        display: flex;
        flex-flow: column;
        gap: 1em;
        align-items: center;

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

    .footer_logo {
        width: 262px;
    }

    @media screen and (min-width: 545px) {

        /* .site-primary-footer-wrap.ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row {
                grid-template-columns: 1fr;
            }
        } */
        [data-section="section-fb-social-icons-1"] .footer-social-inner-wrap {
            text-align: left;
        }
    }

    @media screen and (min-width: 768px) {
        .site-primary-footer-wrap.ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row {
            grid-template-columns: repeat(2, 1fr);
        }

        .site-primary-footer-wrap {
            .ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row {
                grid-template-columns: repeat(2, 1fr);
            }

            .ast-builder-footer-grid-columns {
                >div:last-child {
                    aside>section {
                        display: flex;
                        justify-content: flex-end;
                    }
                }
            }
        }

        .menu-main-container ul {
            flex-flow: row;
        }
    }
}



.homepage--hero {
    .elementor-element.elementor-widget-heading.custom-pretitle .elementor-heading-title.elementor-size-default {
        color: #fff;

        &::before {
            content: '';
            display: block;
            height: 55px;
            width: 1px;
            background: #fff;
            margin-left: 50%;
            margin-bottom: 1em;
        }
    }

    .elementor-element.elementor-widget-heading:not(.custom-pretitle) .elementor-heading-title.elementor-size-default {
        font-size: var(--font-size--titles-large);
    }

    >.e-con-inner {
        max-width: 600px !important;
    }
}

.gform_wrapper.gform-theme {
    .gform_required_legend {
        display: none;
    }

    .gfield_required {
        color: var(--ast-global-color-0) !important;
    }

    .gfield {
        label {
            color: #fff;
            font-weight: 400;
            font-size: 1rem;

            a {
                color: var(--ast-global-color-1) !important;
            }
        }

        input,
        textarea {
            border-radius: 6px;
        }
    }

    input[type="submit"] {
        background: var(--ast-global-color-1) !important;
        background-image: linear-gradient(100deg, var(--ast-global-color-0), var(--ast-global-color-1) 100%) !important;
        line-height: 1 !important;
        color: var(--ast-global-color-2) !important;
        padding: 1em 2.5em !important;
        border-radius: 0.5em;
        text-transform: uppercase !important;
        transition: all 0.2s ease-in-out;

        &:hover {
            background-image: linear-gradient(40deg, var(--ast-global-color-0), var(--ast-global-color-1) 100%) !important;
        }
    }
}


.hero__default {
    position: relative;

    &::after {
        content: '';
        display: block;
        position: absolute;
        top: auto;
        left: 0;
        width: 100%;
        height: 8px;
        bottom: 0;

        background-image: linear-gradient(100deg, var(--ast-global-color-0), var(--ast-global-color-1) 100%);
    }
}

.entry-content {
    address {
        font-style: normal;
        display: grid;
        gap: 24px;

        span[class*="ico--"] {
            display: inline-block;
            width: 1.2em;
            height: 1.2em;
            background-size: contain;
            background-position: center center;
            background-repeat: no-repeat;
            position: relative;
            top: 0.2em;

            &.ico--envelope {
                background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.33317 16.6666C2.87484 16.6666 2.48248 16.5034 2.15609 16.177C1.8297 15.8506 1.6665 15.4583 1.6665 14.9999V4.99992C1.6665 4.54159 1.8297 4.14922 2.15609 3.82284C2.48248 3.49645 2.87484 3.33325 3.33317 3.33325H16.6665C17.1248 3.33325 17.5172 3.49645 17.8436 3.82284C18.17 4.14922 18.3332 4.54159 18.3332 4.99992V14.9999C18.3332 15.4583 18.17 15.8506 17.8436 16.177C17.5172 16.5034 17.1248 16.6666 16.6665 16.6666H3.33317ZM16.6665 6.66659L10.4373 10.5624C10.3679 10.6041 10.295 10.6353 10.2186 10.6562C10.1422 10.677 10.0693 10.6874 9.99984 10.6874C9.93039 10.6874 9.85748 10.677 9.78109 10.6562C9.7047 10.6353 9.63178 10.6041 9.56234 10.5624L3.33317 6.66659V14.9999H16.6665V6.66659ZM9.99984 9.16659L16.6665 4.99992H3.33317L9.99984 9.16659ZM3.33317 6.87492V5.64575V5.66659V5.65617V6.87492Z' fill='%23FCCD43'/%3E%3C/svg%3E%0A");
            }

            &.ico--map-marker {
                background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.0002 16.1248C11.6946 14.5693 12.9516 13.1561 13.771 11.8853C14.5904 10.6144 15.0002 9.48595 15.0002 8.49984C15.0002 6.98595 14.5175 5.74637 13.5522 4.78109C12.587 3.81581 11.4029 3.33317 10.0002 3.33317C8.59738 3.33317 7.41336 3.81581 6.44808 4.78109C5.4828 5.74637 5.00016 6.98595 5.00016 8.49984C5.00016 9.48595 5.40988 10.6144 6.22933 11.8853C7.04877 13.1561 8.30572 14.5693 10.0002 16.1248ZM10.0002 17.7707C9.80572 17.7707 9.61127 17.736 9.41683 17.6665C9.22238 17.5971 9.04877 17.4929 8.896 17.354C7.99322 16.5207 7.19461 15.7082 6.50016 14.9165C5.80572 14.1248 5.22586 13.3575 4.76058 12.6144C4.2953 11.8714 3.94113 11.1561 3.69808 10.4686C3.45502 9.78109 3.3335 9.12484 3.3335 8.49984C3.3335 6.4165 4.00363 4.75678 5.34391 3.52067C6.68419 2.28456 8.23627 1.6665 10.0002 1.6665C11.7641 1.6665 13.3161 2.28456 14.6564 3.52067C15.9967 4.75678 16.6668 6.4165 16.6668 8.49984C16.6668 9.12484 16.5453 9.78109 16.3022 10.4686C16.0592 11.1561 15.705 11.8714 15.2397 12.6144C14.7745 13.3575 14.1946 14.1248 13.5002 14.9165C12.8057 15.7082 12.0071 16.5207 11.1043 17.354C10.9516 17.4929 10.7779 17.5971 10.5835 17.6665C10.3891 17.736 10.1946 17.7707 10.0002 17.7707ZM10.0002 9.99984C10.4585 9.99984 10.8509 9.83664 11.1772 9.51025C11.5036 9.18387 11.6668 8.7915 11.6668 8.33317C11.6668 7.87484 11.5036 7.48248 11.1772 7.15609C10.8509 6.8297 10.4585 6.6665 10.0002 6.6665C9.54183 6.6665 9.14947 6.8297 8.82308 7.15609C8.49669 7.48248 8.3335 7.87484 8.3335 8.33317C8.3335 8.7915 8.49669 9.18387 8.82308 9.51025C9.14947 9.83664 9.54183 9.99984 10.0002 9.99984Z' fill='%23FFCF47'/%3E%3C/svg%3E%0A");
            }

            &.ico--clock {
                background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8332 9.6665V6.6665C10.8332 6.43039 10.7533 6.23248 10.5936 6.07275C10.4339 5.91303 10.2359 5.83317 9.99984 5.83317C9.76373 5.83317 9.56581 5.91303 9.40609 6.07275C9.24637 6.23248 9.1665 6.43039 9.1665 6.6665V9.979C9.1665 10.0901 9.18734 10.1978 9.229 10.3019C9.27067 10.4061 9.33317 10.4998 9.4165 10.5832L12.1665 13.3332C12.3193 13.4859 12.5137 13.5623 12.7498 13.5623C12.9859 13.5623 13.1804 13.4859 13.3332 13.3332C13.4859 13.1804 13.5623 12.9859 13.5623 12.7498C13.5623 12.5137 13.4859 12.3193 13.3332 12.1665L10.8332 9.6665ZM9.99984 18.3332C8.84706 18.3332 7.76373 18.1144 6.74984 17.6769C5.73595 17.2394 4.854 16.6457 4.104 15.8957C3.354 15.1457 2.76025 14.2637 2.32275 13.2498C1.88525 12.2359 1.6665 11.1526 1.6665 9.99984C1.6665 8.84706 1.88525 7.76373 2.32275 6.74984C2.76025 5.73595 3.354 4.854 4.104 4.104C4.854 3.354 5.73595 2.76025 6.74984 2.32275C7.76373 1.88525 8.84706 1.6665 9.99984 1.6665C11.1526 1.6665 12.2359 1.88525 13.2498 2.32275C14.2637 2.76025 15.1457 3.354 15.8957 4.104C16.6457 4.854 17.2394 5.73595 17.6769 6.74984C18.1144 7.76373 18.3332 8.84706 18.3332 9.99984C18.3332 11.1526 18.1144 12.2359 17.6769 13.2498C17.2394 14.2637 16.6457 15.1457 15.8957 15.8957C15.1457 16.6457 14.2637 17.2394 13.2498 17.6769C12.2359 18.1144 11.1526 18.3332 9.99984 18.3332ZM9.99984 16.6665C11.8471 16.6665 13.42 16.0172 14.7186 14.7186C16.0172 13.42 16.6665 11.8471 16.6665 9.99984C16.6665 8.15262 16.0172 6.5797 14.7186 5.28109C13.42 3.98248 11.8471 3.33317 9.99984 3.33317C8.15262 3.33317 6.5797 3.98248 5.28109 5.28109C3.98248 6.5797 3.33317 8.15262 3.33317 9.99984C3.33317 11.8471 3.98248 13.42 5.28109 14.7186C6.5797 16.0172 8.15262 16.6665 9.99984 16.6665Z' fill='%23FFCF47'/%3E%3C/svg%3E%0A");
            }

            &.ico--adapte {
                background-image: url("data:image/svg+xml,%3Csvg width='15' height='17' viewBox='0 0 15 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.68945 6.99902C2.0125 6.68762 2.53237 6.68671 2.85547 6.99805C3.18364 7.31477 3.18364 7.83269 2.85547 8.14941C2.08248 8.89561 1.65918 9.88539 1.65918 10.9365C1.65931 13.1032 3.48864 14.8808 5.75488 14.8809C6.85222 14.8809 7.88078 14.469 8.6543 13.7227L8.7168 13.668C9.04136 13.4121 9.51728 13.4304 9.82031 13.7227C10.1483 14.0392 10.1491 14.5563 9.82129 14.873C8.73405 15.9231 7.28804 16.5 5.75391 16.5C2.58974 16.4998 0.000256454 14.0132 0 10.9375C0 9.44893 0.601294 8.05003 1.68945 6.99902ZM5.58301 3.41113C6.0323 3.41127 6.41211 3.7658 6.41211 4.2207V5.69629H10.1514C10.6007 5.69629 10.9803 6.05006 10.9805 6.50488C10.9805 6.95987 10.6008 7.31445 10.1514 7.31445H6.41211V9.3252H10.457C10.802 9.3252 11.1167 9.53436 11.2373 9.85742L12.1973 12.4268H13.4209L13.6709 12.4258C14.1202 12.4259 14.5 12.7804 14.5 13.2354C14.5 13.6903 14.1202 14.0438 13.6709 14.0439H11.6162C11.2717 14.0439 10.9576 13.8361 10.8369 13.5117L9.87695 10.9424H5.58301C5.13372 10.9424 4.75411 10.5886 4.75391 10.1338V4.2207C4.75391 3.76572 5.1336 3.41113 5.58301 3.41113ZM5.60449 0C6.511 6.28232e-05 7.26168 0.71185 7.26172 1.60742C7.26172 2.42044 6.64484 3.07864 5.85449 3.19531V3.2168H5.60449C4.69787 3.2168 3.94735 2.50463 3.94727 1.6084C3.94727 0.712093 4.69781 0 5.60449 0Z' fill='%23FFCF47'/%3E%3C/svg%3E");
            }
        }



        a {
            color: inherit;
            text-decoration: none;
        }

        p {
            margin: 0;
        }
    }
}

.form-panel__wrapper {
    border-radius: 16px !important;
    padding: 40px 24px !important;

    position: relative;
    /*&::before {
        content: '';

    }*/

    .contact_grid--wrapper {
        row-gap: 60px !important;
    }

    >.e-con {
        gap: 116px;
    }

    address {
        color: #fff;
        font-style: normal;

        a {
            color: #fff;
        }

        p {
            margin: 0;
        }
    }

    position: relative;

    .img-deco {
        position: absolute;
        width: 30%;
        top: 0;
        left: auto;
        right: 0;
        transform: translate(24px, -40%);

        svg {
            width: 100%;
            height: auto;
        }
    }

    @media screen and (min-width: 768px) {
        padding: 60px 70px !important;
    }
}


.page-contact__box {
    .contact_grid--wrapper {
        grid-template-columns: 1fr !important;
    }

    .contact_grid--address {
        display: none;
    }

    @media screen and (min-width: 992px) {
        .gform_fields {

            >div:nth-child(1),
            >div:nth-child(2),
            >div:nth-child(3) {
                grid-column: span 4 !important;
            }

            /*> .field:nth-child(1) {}
            > .field:nth-child(2) {}
            > .field:nth-child(3) {}*/
        }
    }
}


.custom-grid--areas {
    > div {
        .elementor-widget-button:not(.elementor-button-info) .elementor-button-link {
            background: transparent;
            border: 1px solid var(--ast-global-color-0);
            color: var(--ast-global-color-0);
            &:hover {
                background: var(--ast-global-color-0);
                color: #fff;
            }
            &::before {
                display: none;
            }
        }
    }
}

.custom-grid--areas {
    >div {
        font-size: 20px;
        align-items: center;
        gap: 1.5rem;

        padding: 35px 53px;
        border-radius: 16px;

        >.elementor-widget.elementor-widget-icon {
            /* flex: 1 0 auto; */
            flex: 1 0 2.6em;
        }

        >.elementor-element.e-con-full {
            /* flex: 1 1 auto; */
            flex: 1 0 calc(100% - (2.6em + 1.5rem));
            gap: 0.3em;
        }

        &:has(.custom-grid__text) {
            flex-flow: wrap;
        }

        >.elementor-element.custom-grid__text {
            flex: 1 1 100%;

            p {
                font-size: 1rem;
            }
        }

        .elementor-icon {
            font-size: 1em;

            svg {
                width: auto;
                height: 2.7em;
            }
        }

        .elementor-element.elementor-widget-heading:not(.custom-pretitle) {
            .elementor-heading-title.elementor-size-default {
                font-size: 1em;
            }
        }

        .elementor-element.elementor-widget-heading.custom-pretitle {
            .elementor-heading-title.elementor-size-default {
                text-transform: uppercase;
                font-size: 0.7em;
            }
        }

        &:last-child {
            >.elementor-element.e-con-full {
                flex: 0 1 10ch;
            }
            >.elementor-widget.elementor-widget-icon {
                flex: 0 1 2.6em;
            }
        }
    }

    @media screen and (min-width: 768px) {
        grid-template-columns: repeat(2, 1fr) !important;

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

    @media screen and (min-width: 1200px) {
        grid-template-columns: repeat(3, 1fr) !important;

        >div:last-child {
            grid-column: 3;
            grid-row: 1 / span 4;
        }
    }
}

/*  Custom cols  */
.custom-col-w-icon {}

.custom-list-checks {
    ul {
        margin: 0;
        padding: 0;
        display: grid;
        gap: 1em;

        li {
            list-style-type: none;
            padding: 0 0 0 1.5em;
            position: relative;
            font-weight: 500;
            line-height: 1;
            color: var(--ast-global-color-2);

            &::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 1em;
                height: 1em;
                display: inline-block;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M10 0C4.48 0 0 4.48 0 10C0 15.52 4.48 20 10 20C15.52 20 20 15.52 20 10C20 4.48 15.52 0 10 0ZM7.29 14.29L3.7 10.7C3.31 10.31 3.31 9.68 3.7 9.29C4.09 8.9 4.72 8.9 5.11 9.29L8 12.17L14.88 5.29C15.27 4.9 15.9 4.9 16.29 5.29C16.68 5.68 16.68 6.31 16.29 6.7L8.7 14.29C8.32 14.68 7.68 14.68 7.29 14.29Z' fill='%23FFCF47'/%3E%3C/svg%3E");
                background-size: contain;
                background-position: center center;
                background-repeat: no-repeat;
            }
        }
    }
}

/* TITULO EN NARANJA PEQUEÑ0 */
.pre-title p {
    font-family: var(--font-face);
    color: var(--ast-global-color-0);
    font-weight: 500;
    font-style: normal;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* EL DESPACHO */
.eldespacho__wrapper,
.areas-actuacion__tabs,
.mediacion__container {
    p {
        margin-bottom: 0.75rem;
    }

    h2 {
        font-family: var(--font-face);
        font-weight: 700;
        font-style: normal;
        font-size: 50px;
        line-height: 1;
        letter-spacing: 0px;
    }

    .cols-w-icon {
        --padding-default: 84px;

        &.cols-w-icon {}
    }

    .left-img__container {
        padding: 0 var(--padding-default) 0 0 !important;
        position: relative;

        .img-background {
            height: 100%;
            border-radius: 16px;
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
        }

        .img-image {
            position: relative;

            .svg-icon--image {
                img {
                    width: calc(2 * var(--padding-default));
                    max-height: calc(2 * var(--padding-default));

                }

                .animated & {
                    right: calc(-0.85 * var(--padding-default));
                }
            }

        }

        .svg-icon {
            position: absolute;
            bottom: 0;
            right: var(--padding-default);
            transition: right 0.3s ease-in-out;

            .animated & {
                right: 0;
            }

            img {
                width: calc(2 * var(--padding-default));
                max-height: calc(2 * var(--padding-default));
            }
        }

        .right-text__container {
            flex: 1;
        }
    }

    @media (max-width: 1024px) {
        .cols-w-icon {
            padding-left: 24px;
            padding-right: 24px;
            gap: 40px;
        }
    }

    @media (max-width: 992px) {
        .cols-w-icon {
            flex-direction: column !important;
            padding-left: 24px;
            padding-right: 24px;
        }

        .left-img__container {
            order: 2;
            padding: 0 var(--padding-default) 0 0 !important;
            width: 100%;

            .img-background {
                min-height: 70vw;
                min-width: 70vw;
            }

            .svg-icon {
                right: var(--padding-default);
            }
        }

        .right-text__container {
            order: 1;
            padding-top: 24px !important;
        }


        .right-img__container {
            padding: 24px var(--padding-default) 0 var(--padding-default) !important;

            .img-background {
                .right-img img {
                    display: initial;
                    max-height: 80vw;
                    width: auto;
                }

                .svg-icon img {
                    display: block;
                }
            }
        }
    }

    @media (max-width: 425px) {
        .cols-w-icon {
            --padding-default: 60px;
            padding-left: 24px;
            padding-right: 24px;
        }

        .left-img__container {
            padding: 24px var(--padding-default) 0 0 !important;
            width: 100%;

            .img-background {
                min-height: 80vw;
            }

            .svg-icon {
                right: calc(var(--padding-default) / 2);
            }
        }

        .right-text__container {
            padding-top: 20px;
        }

    }

    .right-img__container {
        padding: 0 0 0 var(--padding-default);
        position: relative;

        display: flex;
        justify-content: center;
        align-items: center;

        .img-background {
            width: 100%;

            img {
                height: auto;
                display: block;
                border-radius: 16px;
                object-fit: contain;
            }

            .svg-icon {
                position: absolute;
                bottom: 0;
                left: 0;
                transition: left 0.3s ease-in-out;

                img {
                    width: calc(2 * var(--padding-default));
                    max-height: calc(2 * var(--padding-default));
                    object-fit: unset;
                    border-radius: 0;
                    display: block;
                    bottom: 0;
                    left: 0;
                }

                .animated & {
                    left: calc(-1 * var(--padding-default));
                }
            }
        }

        .right-text__container {
            flex: 1;
        }
    }
}

/* --- TARJETAS DE PERFIL (CONTENEDORES DE COLUMNA) --- */
.profile-card-column {
    position: relative;
    max-width: 400px;

    .elementor-image-box-img {
        text-align: left;

        img {
            border-radius: 15px;
            object-fit: cover;
        }

        &::after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--ast-global-color-0);
            opacity: 0;
            border-radius: 15px;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }

        &:hover::after {
            opacity: 0.5;
        }

    }

    .hover-icon {
        position: absolute;
        top: 42%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 50px;
        height: 50px;
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
        z-index: 2;

        .elementor-icon {
            color: #FFFFFF;
            font-size: 50px;
            line-height: 1;

            svg {
                fill: #FFFFFF;
                width: 100%;
                height: 100%;
            }
        }
    }

    &:hover {
        .elementor-image-box-img::after {
            opacity: 0.5;
        }

        .hover-icon {
            opacity: 1;
        }
    }

    .elementor-image-box-title,
    .elementor-image-box-description {
        text-align: left;
    }


    .elementor-image-box-title {
        font-family: var(--font-face);
        font-weight: 500;
        font-size: 24px;
        line-height: 1;
        color: var(--ast-global-color-2);

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

    .elementor-image-box-description {
        font-family: var(--font-face);
        font-weight: 400;
        font-size: 14px;
        color: var(--ast-global-color-8);
        line-height: 1.7em;
        margin-bottom: 20px;
    }
}

@media (max-width: 992px) {
    .profile-card-section {
        flex-direction: column !important;
    }
}

.e-n-accordion {

    details[open]>summary {
        order: 2;
    }

    details[open]>*:not(summary) {
        order: 1;
    }

    display: block;
    width: 100%;
    margin-top: 20px;
    text-align: left;

    #read-more__button.e-n-accordion-item {
        border: none;
        box-shadow: none;
        background-color: transparent;

        &:focus-within {
            outline: none;
        }

        .e-n-accordion-item-title {
            /* El <summary> que es el "LEER MÁS" */
            background-color: transparent !important;
            box-shadow: none !important;
            border: none !important;
            border-radius: 0 !important;
            cursor: pointer;
            padding: 0 !important;
            display: inline-flex;
            align-items: center;
            justify-content: flex-end;
            transition: color 0.3s ease, text-decoration 0.3s ease;
            width: auto;
            margin: 0;
            text-decoration: none;
            color: var(--ast-global-color-0);
            flex-direction: row-reverse !important;

            .e-n-accordion-item-title-header {
                display: flex;
                align-items: center;
            }

            .e-n-accordion-item-title-text {

                font-family: var(--font-face);
                font-size: 16px;
                text-transform: uppercase;
                line-height: 1;
                letter-spacing: 0.08em;
                padding: 0 !important;
                border-radius: 0 !important;
                text-decoration: none;
            }

            &::after {
                content: "LEER MÁS";
            }

            #read-more__button[open] &::after {
                content: "LEER MENOS";
            }

            .e-n-accordion-item-title-icon {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 24px;
                height: 24px;
                overflow: hidden;

                .e-opened,
                .e-closed {
                    display: flex;
                    width: 100%;
                    height: 100%;
                    align-items: center;
                    justify-content: center;
                }

                .e-opened {
                    display: none;
                }

                .e-closed {
                    display: block;
                }

                svg {
                    width: 100%;
                    height: 100%;
                }

                svg path {
                    fill: currentColor;
                    transition: fill 0.3s ease, transform 0.3s ease;
                }
            }
        }

        /* Estilos cuando el acordeón está ABIERTO */
        .e-n-accordion-item-title[aria-expanded="true"] {
            color: var(--ast-global-color-0) !important;
            text-decoration: underline !important;
            background-color: transparent !important;
            box-shadow: none !important;
            margin-top: 20px;
            margin-bottom: 20px;

            .e-n-accordion-item-title-text {
                color: var(--ast-global-color-0) !important;
            }

            .e-n-accordion-item-title-icon {
                .e-opened {
                    display: block;
                }

                .e-closed {
                    display: none;
                }

                svg path {
                    fill: var(--ast-global-color-0) !important;
                }
            }
        }

        /* Estilos al pasar el ratón por el "botón" (summary) */
        .e-n-accordion-item-title:hover {
            color: var(--ast-global-color-0) !important;
            text-decoration: underline !important;
            background-color: transparent !important;
            box-shadow: none !important;

            .e-n-accordion-item-title-text {
                color: var(--ast-global-color-0) !important;
            }

            .e-n-accordion-item-title-icon {
                svg path {
                    fill: var(--ast-global-color-0) !important;
                }
            }
        }
    }
}


/* CAROUSEL */

.ue-carousel-item {
    padding: 45px 30px important;

    .uc_classic_carousel_placeholder {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;

    }

    .uc_classic_carousel_content {
        font-family: var(--font-size--titles);
        font-weight: 500;
        font-style: normal;
        font-size: 20px;
        line-height: 100%;
        letter-spacing: 0;
        text-align: center;
        color: var(--ast-global-color-2) !important;
    }
}

/* Formulario */
.gform_heading {
    .gform_required_legend {
        color: var(--ast-global-color-7);
    }

}

.gform_confirmation_wrapper .gform_confirmation_message {
    color: var(--ast-global-color-7) !important;
}

/* Servicios */
.areas-actuacion__tabs {
    .e-n-tab-title {
        flex: 0 0 255px !important;
        width: 255px;
        min-height: 213px;

        padding-inline: 15px !important;
    }

    .e-n-tab-title-text {
        flex-direction: column;
        gap: 5px;

        .pre-text {
            font-size: 14px;
            text-transform: uppercase;
            font-family: var(--font-face);
            color: var(--ast-global-color-0);
            font-weight: 500;
            font-style: normal;
            line-height: 100%;
            letter-spacing: 0.08em;

        }

        .main-text {
            font-size: 20px;
            color: var(--ast-global-color-5);
            font-weight: bold;
            line-height: 1.2;
            text-transform: initial;
        }
    }

    .e-n-tab-title[aria-selected="true"] {
        .pre-text {
            color: #FFF;
        }

        .main-text {
            color: #FFF;
        }
    }


    .e-n-tab-title:hover {
        background: #FDF4ED !important;
        box-shadow: 0 0 10px 0 #ed740099;
        border: 1px solid var(--ast-global-color-0);

        .pre-text {
            font-size: 14px;
            text-transform: uppercase;
            font-family: var(--font-face);
            color: var(--ast-global-color-0);
            font-weight: 500;
            font-style: normal;
            line-height: 100%;
            letter-spacing: 0.08em;
        }

        .main-text {
            font-size: 20px;
            color: var(--ast-global-color-5);
            font-weight: bold;
            line-height: 1.2;
            text-transform: initial;
            text-decoration: none;

        }
    }
}

.tabs__container {
    padding-left: 24px !important;
    padding-right: 24px !important;

    .e-n-tabs-content .e-con-boxed {
        padding: 0 !important;

        .cols-w-icon,
        .cols-w-icon {
            padding: 0 !important;

        }
    }
}


/*
button#derecho-extranjeria,
button#derecho-laboral,
button#derecho-familia {
    display: none;
} 
*/

/*MEDIACIÇON*/

.grid-mediaccion__item {
    .elementor-widget-text-editor {
        border-radius: 16px;

        p {
            font-weight: 500;
            font-size: 20px;
            line-height: 100%;
            letter-spacing: 0;
            color: var(--ast-global-color-5);

        }
    }
}

.custom-timeline {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    margin-left: 30px;

    &::before {
        content: "";
        position: absolute;
        left: 24px;
        top: 0;
        bottom: 0;
        width: 4px;
        background-color: #FFCF47;
    }

    .step {
        display: flex;
        align-items: flex-start;
        position: relative;
        gap: 20px;

        .circle {
            font-size: 35px;
            ;
            min-width: 56px;
            height: 56px;
            border-radius: 50%;
            background-color: var(--ast-global-color-1);
            color: white;
            font-weight: 700;
            font-family: var(--font-titles);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .text {
            p {
                font-size: 16px;
                line-height: 1.5;
                margin: 0;
                color: #000;

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

@media (max-width: 963px) {
    .custom-timeline::before {
        top: 0;
        height: 89%;
        bottom: unset;
    }
}



@media (max-width: 767px) {
    .text-title__mediacion {
        min-height: auto !important;
        padding-bottom: 60px !important;
    }
}


@media (max-width: 992px) {
    .mediacion__container {
        .col-left__image {
            order: 1;
        }

        .col-right__text {
            order: 2;
        }

        .cols-w-icon {
            display: flex;
            flex-direction: column;
        }
    }

}

@media (max-width: 767px) {
    .mediacion__container {
        .elementor-widget-image {
            width: auto;
            max-width: 100%;
            text-align: center;

            .elementor-widget-container {
                display: flex;
                justify-content: center;
                align-items: center;

                img {
                    width: 80px;
                    height: auto;
                    display: block;
                }
            }
        }
    }
}

.wp-block-button__link {
    font-family: var(--font-text) !important;
    font-style: normal;
    letter-spacing: 0.08em;
}

/* BLOG */

.elementor-pagination {
    padding-top: 80px;
}

/* FOOTER */

.site-below-footer-wrap.ast-builder-grid-row-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.site-footer-below-section-1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;

    >.ast-footer-copyright,
    >.footer-widget-area {
        display: flex;
        align-items: center;
        flex: 0 1 auto;
        width: auto !important;
        max-width: 100%;
    }
}

.ast-footer-copyright p {
    color: white;
    margin-bottom: 0;
    line-height: 1.5;
}

.site-footer-below-section-1 .footer-widget-area {
    flex-shrink: 0;
}

#menu-textos-legales {
    list-style: none;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;

    li {
        flex-shrink: 0;

        a {
            color: white;
            text-decoration: none !important;
            white-space: nowrap;

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

        &:not(:last-child)::after {
            content: " - ";
            color: rgba(255, 255, 255, 0.7);
        }
    }
}

.site-footer-section>* {
    margin-bottom: 0 !important;
}


.footer-widget-area.footer-widget-area-inner[data-section="sidebar-widgets-footer-widget-3"]::before {
    content: " | ";
    color: white !important;
    margin-right: 20px;
}

@media (max-width: 921px) {
    .site-below-footer-wrap[data-section="section-below-footer-builder"] .footer-widget-area.footer-widget-area-inner[data-section="sidebar-widgets-footer-widget-3"]::before {
        content: none !important;
    }

     .site-below-footer-wrap[data-section="section-below-footer-builder"] #menu-textos-legales {
        padding-top: 20px;
        justify-content: center !important;
        align-items: center !important;
    }

}


body .areas-actuacion__tabs {
    .e-n-tab-title {
        flex: 0 0 255px !important;
        width: 255px !important;
    }
}


body.cmplz-document {
    h1 {
        margin: 1em 0 !important;
        padding-inline: 20px !important;
    }
}
#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
    max-width: 100%;
    padding: 30px 20px;
}

