.elementor-kit-11{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-11 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ---------- BASE ---------- */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}


/* Contenedor maestro */

.mm-shell {
    width: min(1216px, calc(100% - 64px)) !important;
    max-width: 1216px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* Evitar que textos largos rompan columnas */

.mm-shell,
.mm-card,
.mm-hero-copy,
.mm-hero-visual {
    min-width: 0;
}


/* ---------- TIPOGRAFÍA FLUIDA ---------- */

.mm-hero-copy h1 {
    font-size: clamp(40px, 4.7vw, 60px);
    line-height: 1;
}

.mm-section-title h2 {
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.15;
}

.mm-cta-card h2 {
    font-size: clamp(30px, 3.8vw, 48px);
    line-height: 1.1;
}


/* ---------- BOTONES ---------- */

.mm-button-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}


/* ---------- CARDS ---------- */

.mm-grid-3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
}

.mm-grid-3 > .e-con,
.mm-grid-3 > .elementor-element {
    min-width: 0;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .mm-shell {
        width: calc(100% - 48px) !important;
    }


    /* ---------- HEADER ---------- */

    .mm-header-inner {
        gap: 18px !important;
    }

    .mm-nav {
        gap: 14px !important;
    }

    .mm-header-actions {
        gap: 8px !important;
    }


    /* ---------- HERO ---------- */

    .mm-hero-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 42px !important;
    }

    .mm-hero-copy,
    .mm-hero-visual {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
    }

    .mm-hero-copy {
        align-items: flex-start !important;
    }

    .mm-hero-visual img {
        width: 100% !important;
        object-fit: cover !important;
    }


    /* ---------- ESTADÍSTICAS ---------- */

    .mm-stats {
        width: 100% !important;
        justify-content: space-between !important;
    }


    /* ---------- BUSCADOR ---------- */

    .mm-property-search .elementor-form-fields-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .mm-property-search .elementor-field-group {
        width: 100% !important;
    }


    /* ---------- TARJETAS ---------- */

    .mm-grid-3 {
        flex-wrap: wrap !important;
    }

    .mm-grid-3 > .e-con,
    .mm-grid-3 > .elementor-element {
        width: calc(50% - 12px) !important;
        flex: 0 0 calc(50% - 12px) !important;
    }


    /* ---------- CTA ---------- */

    .mm-cta-card {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 42px !important;
        padding-right: 42px !important;
    }


    /* ---------- FOOTER ---------- */

    .mm-footer-grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 36px !important;
    }

    .mm-footer-grid > .e-con {
        width: calc(50% - 18px) !important;
        flex-basis: calc(50% - 18px) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .mm-shell {
        width: calc(100% - 32px) !important;
    }


    /* ---------- ESPACIADOS GENERALES ---------- */

    section,
    .mm-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* ---------- HEADER ---------- */

    .mm-header-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .mm-nav {
        display: none !important;
    }

    .mm-header-actions {
        width: 100% !important;
        display: flex !important;
        gap: 8px !important;
    }

    .mm-header-actions > * {
        flex: 1 1 0 !important;
    }

    .mm-header-actions .elementor-button {
        width: 100% !important;
    }


    /* ---------- HERO ---------- */

    .mm-hero-grid {
        gap: 30px !important;
    }

    .mm-hero-copy {
        width: 100% !important;
    }

    .mm-hero-copy h1 {
        font-size: clamp(36px, 11vw, 44px) !important;
        line-height: 1.05 !important;
    }

    .mm-hero-copy p {
        font-size: 15px !important;
        line-height: 24px !important;
    }

    .mm-hero-visual {
        width: 100% !important;
    }

    .mm-hero-visual img {
        min-height: 360px !important;
        height: 360px !important;
        object-fit: cover !important;
        object-position: center !important;
    }


    /* ---------- BOTONES ---------- */

    .mm-button-row {
        flex-direction: column !important;
        width: 100% !important;
    }

    .mm-button-row > * {
        width: 100% !important;
    }

    .mm-button-row .elementor-button {
        width: 100% !important;
        justify-content: center !important;
    }


    /* ---------- ESTADÍSTICAS ---------- */

    .mm-stats {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .mm-stats h3 {
        font-size: 22px !important;
        line-height: 28px !important;
    }

    .mm-stats p {
        font-size: 8px !important;
        line-height: 12px !important;
    }


    /* ---------- BUSCADOR ---------- */

    .mm-property-search {
        padding: 18px !important;
    }

    .mm-property-search .elementor-form-fields-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .mm-property-search .elementor-field-group,
    .mm-property-search .elementor-field-type-submit {
        width: 100% !important;
    }

    .mm-property-search .elementor-button {
        width: 100% !important;
    }


    /* ---------- TARJETAS ---------- */

    .mm-grid-3 {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .mm-grid-3 > .e-con,
    .mm-grid-3 > .elementor-element {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .mm-card {
        width: 100% !important;
    }


    /* ---------- IMÁGENES DE PROPIEDADES ---------- */

    .mm-card img {
        width: 100% !important;
        object-fit: cover !important;
    }


    /* ---------- CTA ---------- */

    .mm-cta-card {
        width: 100% !important;
        padding: 34px 20px !important;
        border-radius: 18px !important;
    }

    .mm-cta-card br {
        display: none;
    }

    .mm-cta-card .mm-button-row {
        width: 100% !important;
    }


    /* ---------- FOOTER ---------- */

    .mm-footer-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
    }

    .mm-footer-grid > .e-con {
        width: 100% !important;
        flex-basis: 100% !important;
    }

    .mm-footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

}/* End custom CSS */