.inmocms-buscador {
    padding: 20px 48px 30px;

    background: #FFF;

    border-radius: 8px;

    margin: 0 auto;

    max-width: 54vw;

    box-shadow: 0 4px 30px 2px rgba(0, 0, 0, .25);

    * {
        box-sizing: border-box;
        outline: none !important;

        line-height: normal;
    }

    .title {
        color: #000;
        font-size: 20px;
        font-weight: 900;
        margin-bottom: 2px;
        margin-top: 0;
    }

    .subtitle {
        color: #464255;
        font-size: 14px;
        margin-bottom: 6px;
    }

    .tabs {
        margin-bottom: 16px;

        display: flex;

        .tab {
            flex: 1;

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

            height: 40px;

            border-bottom: solid 2px #EEE;

            font-size: 16px;
            font-weight: 500;

            cursor: pointer;

            &:hover {
                border-bottom-color: var(--base-light);
            }

            &.active {
                border-bottom-color: var(--base);
            }

            &:active {
                border-bottom-color: var(--base);
            }
        }
    }

    .fields {
        display: flex;

        margin: 0 -8px;

        .field {
            flex: 1;

            margin: 0 8px;

            display: flex;
            flex-direction: column;
            justify-content: flex-end;

            input,
            select,
            button {
                width: 100%;

                height: 48px;
            }

            .field-title {
                color: #000;
                font-size: 16px;
                font-weight: 600;

                margin-bottom: 2px;
            }
        }
    }

    @media only screen and (max-width: 768px) {
        max-width: 100%;

        padding: 26px 32px 30px;

        .fields {
            display: block;

            margin: 0;

            .field {
                display: block;

                width: 100%;

                margin: 0 0 8px;

                button {
                    margin-top: 16px;
                }
            }
        }
    }
}



.inmocms-slider {
    padding: 20px 0 30px;

    * {
        box-sizing: border-box;
        outline: none !important;

        line-height: normal;
    }

    .title {
        color: #000;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 0;
        margin-top: 0;
        text-align: center;
    }

    .subtitle {
        color: var(--base);
        font-size: 34px;
        font-weight: 500;
        margin-bottom: 32px;
        text-align: center;
    }

    .inmocms-carrusel-hook {
        display: flex;
        align-items: center;

        .inmocms-carrusel-arrow {
            display: flex;
            min-width: 80px;
            width: 80px;

            .inmocms-carrusel-arrow-elem {
                width: 45px;
                min-width: 45px;
                height: 45px;

                border-radius: 50%;

                background-color: var(--base);

                cursor: pointer;

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

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

                &:active {
                    background-color: var(--base);
                }

                svg,
                path {
                    color: #FFF;

                    font-size: 36px;
                }
            }

            &.inmocms-carrusel-arrow-left {
                margin-right: 24px;
            }

            &.inmocms-carrusel-arrow-right {
                margin-left: 24px;

                .inmocms-carrusel-arrow-elem {
                    margin-left: auto;
                    svg {
                        transform: rotateZ(180deg);
                    }
                }
            }
        }

        .inmocms-carrusel {
            display: flex;

            overflow: auto;

            flex-grow: 1;

            margin: 0 -12px 6px;

            padding-bottom: 20px;

            scroll-behavior: smooth;
            scroll-snap-type: x mandatory;

            [data-overlayscrollbars-viewport] {
                display: flex !important;
                scroll-behavior: smooth;
                scroll-snap-type: x mandatory;
            }

            .inmocms-carrusel-item {
                width: calc(100% / 3 - 24px);
                min-width: calc(100% / 3 - 24px);

                margin: 0 12px;

                scroll-snap-align: start;

                text-decoration: none;

                @media only screen and (max-width: 768px) {
                    width: calc(100% / 2 - 24px);
                    min-width: calc(100% / 2 - 24px);
                }

                @media only screen and (max-width: 600px) {
                    width: calc(100% / 1 - 24px);
                    min-width: calc(100% / 1 - 24px);
                }

                .inmocms-card {
                    background: #fff;
                    border-radius: 8px;
                    box-shadow: 0 4px 6px rgba(62, 73, 84, .15);
                    cursor: pointer;
                    display: block;
                    display: flex;
                    flex-direction: column;
                    height: 100%;
                    overflow: hidden;
                    text-decoration: none;

                    .inmocms-card-media {
                        width: 100%;
                        aspect-ratio: 14/9;

                        background-color: #EEE;
                        background-position: 50%;
                        background-size: cover;
                        background-repeat: no-repeat;

                        position: relative;

                        .inmocms-card-media-tooltip {
                            border-radius: 4px;
                            color: #fff;
                            font-size: 12px;
                            font-weight: 600;
                            line-height: 15px;
                            height: 24px;
                            left: 14px;
                            letter-spacing: .3px;
                            max-width: calc(100% - 28px);
                            overflow: hidden;
                            padding: 5px 16px;
                            position: absolute;
                            text-overflow: ellipsis;
                            top: 12px;
                            white-space: nowrap;
                        }
                    }

                    .inmocms-card-content {
                        padding: 20px 24px 24px;

                        flex: 1;

                        display: flex;
                        flex-direction: column;

                        .inmocms-card-title {
                            color: #000;
                            font-size: 18px;
                            font-weight: 600;
                            margin: 0;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            white-space: nowrap;
                        }

                        .inmocms-card-location {
                            color: #909090;
                            font-size: 12px;
                            letter-spacing: .2px;
                            line-height: 18px;
                            margin-bottom: 16px;
                            text-transform: capitalize;
                        }

                        .inmocms-card-personas {
                            opacity: .6;

                            color: #000;
                            font-size: 18px;

                            margin-bottom: 12px;
                        }

                        .inmocms-card-view {
                            display: flex;
                            align-items: center;

                            svg {
                                margin-left: 8px;
                            }
                        }

                        .inmocms-card-data {
                            display: flex;
                            align-items: flex-end;

                            flex: 1;

                            @media only screen and (max-width: 768px) {
                                display: block;
                            }

                            .inmocms-card-price {
                                flex-grow: 1;

                                .inmocms-card-price-title {
                                    color: #000;
                                    font-size: 12px;
                                    font-weight: 500;
                                    margin-bottom: 4px;
                                    white-space: nowrap;
                                }

                                .inmocms-card-price-value {
                                    color: var(--base);
                                    font-size: 22px;
                                    font-weight: 500;
                                }
                            }

                            button {
                                height: 28px;

                                padding: 0 18px;

                                font-size: 14px;

                                text-transform: none;

                                @media only screen and (max-width: 768px) {
                                    width: 100%;

                                    margin-top: 6px;
                                }
                            }
                        }
                    }
                }
            }

            &.inmocms-carrusel-simple {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 24px;
                overflow: visible !important;

                margin: 0;

                @media only screen and (max-width: 600px) {
                    grid-template-columns: repeat(1, minmax(0, 1fr));
                }
            }
        }



        .inmocms-carrusel-simple {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 24px;
            overflow: visible !important;

            margin: 0;

            flex-grow: 1;

            padding-bottom: 20px;

            @media only screen and (max-width: 600px) {
                grid-template-columns: repeat(1, minmax(0, 1fr));
            }

            .inmocms-carrusel-item {
                width: calc(100% / 3 - 24px);
                min-width: calc(100% / 3 - 24px);

                margin: 0 12px;

                scroll-snap-align: start;

                text-decoration: none;

                @media only screen and (max-width: 768px) {
                    width: calc(100% / 2 - 24px);
                    min-width: calc(100% / 2 - 24px);
                }

                @media only screen and (max-width: 600px) {
                    width: calc(100% / 1 - 24px);
                    min-width: calc(100% / 1 - 24px);
                }

                .inmocms-card {
                    background: #fff;
                    border-radius: 8px;
                    box-shadow: 0 4px 6px rgba(62, 73, 84, .15);
                    cursor: pointer;
                    display: block;
                    display: flex;
                    flex-direction: column;
                    height: 100%;
                    overflow: hidden;
                    text-decoration: none;

                    .inmocms-card-media {
                        width: 100%;
                        aspect-ratio: 14/9;

                        background-color: #EEE;
                        background-position: 50%;
                        background-size: cover;
                        background-repeat: no-repeat;

                        position: relative;

                        .inmocms-card-media-tooltip {
                            border-radius: 4px;
                            color: #fff;
                            font-size: 12px;
                            font-weight: 600;
                            line-height: 15px;
                            height: 24px;
                            left: 14px;
                            letter-spacing: .3px;
                            max-width: calc(100% - 28px);
                            overflow: hidden;
                            padding: 5px 16px;
                            position: absolute;
                            text-overflow: ellipsis;
                            top: 12px;
                            white-space: nowrap;
                        }
                    }

                    .inmocms-card-content {
                        padding: 20px 24px 24px;

                        flex: 1;

                        display: flex;
                        flex-direction: column;

                        .inmocms-card-title {
                            color: #000;
                            font-size: 18px;
                            font-weight: 600;
                            margin: 0;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            white-space: nowrap;
                        }

                        .inmocms-card-location {
                            color: #909090;
                            font-size: 12px;
                            letter-spacing: .2px;
                            line-height: 18px;
                            margin-bottom: 16px;
                            text-transform: capitalize;
                        }

                        .inmocms-card-personas {
                            opacity: .6;

                            color: #000;
                            font-size: 18px;

                            margin-bottom: 12px;
                        }

                        .inmocms-card-view {
                            display: flex;
                            align-items: center;

                            svg {
                                margin-left: 8px;
                            }
                        }

                        .inmocms-card-data {
                            display: flex;
                            align-items: flex-end;

                            flex: 1;

                            @media only screen and (max-width: 768px) {
                                display: block;
                            }

                            .inmocms-card-price {
                                flex-grow: 1;

                                .inmocms-card-price-title {
                                    color: #000;
                                    font-size: 12px;
                                    font-weight: 500;
                                    margin-bottom: 4px;
                                    white-space: nowrap;
                                }

                                .inmocms-card-price-value {
                                    color: var(--base);
                                    font-size: 22px;
                                    font-weight: 500;
                                }
                            }

                            button {
                                height: 28px;

                                padding: 0 18px;

                                font-size: 14px;

                                text-transform: none;

                                @media only screen and (max-width: 768px) {
                                    width: 100%;

                                    margin-top: 6px;
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    .inmocms-carrusel-dots {
        display: flex;
        justify-content: center;

        .inmocms-carrusel-dot {
            cursor: pointer;
            height: 20px;
            position: relative;
            width: 30px;
            min-width: 30px;

            &:after {
                background: #d8d8d8;
                border-radius: 50%;
                content: "";
                height: 8px;
                left: calc(50% - 4px);
                position: absolute;
                top: calc(50% - 4px);
                width: 8px;
            }

            &.active {

                &:after {
                    background-color: var(--base);
                }
            }
        }
    }
}



.inmocms-formulario {
    padding: 20px 0 30px;

    * {
        box-sizing: border-box;
        outline: none !important;

        line-height: normal;
    }

    .title {
        color: #000;
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 0;
        margin-top: 0;
        text-align: center;
    }

    .subtitle {
        color: var(--base);
        font-size: 34px;
        font-weight: 500;
        margin-bottom: 32px;
        text-align: center;
    }


}