/* Visor inmoCMS: ficha responsive y formulario global de Elementor. */

body.cgs-inmueble-responsive,
body.cgs-inmueble-responsive * {
    box-sizing: border-box;
}

body.cgs-inmueble-responsive {
    overflow-x: clip;
}

body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block {
    width: 100%;
    max-width: 1400px !important;
    margin: 32px auto;
    padding: 0 32px !important;
}

body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block .inmocms-inmueble-block {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 25%);
    align-items: start;
    gap: 24px;
    width: 100%;
    min-width: 0;
    padding: 32px 0 !important;
}

body.cgs-inmueble-responsive .inmocms-inmueble-block-left,
body.cgs-inmueble-responsive .inmocms-inmueble-block-right {
    min-width: 0 !important;
    max-width: 100%;
}

body.cgs-inmueble-responsive .inmocms-inmueble-block-left {
    width: auto !important;
    margin-right: 0 !important;
}

body.cgs-inmueble-responsive .inmocms-inmueble-block-right {
    width: auto !important;
    padding: 0 !important;
}

body.cgs-inmueble-responsive .inmocms-inmueble-block img,
body.cgs-inmueble-responsive .inmocms-inmueble-block video,
body.cgs-inmueble-responsive .inmocms-inmueble-block iframe,
body.cgs-inmueble-responsive .inmocms-inmueble-block canvas,
body.cgs-inmueble-responsive .inmocms-inmueble-block svg {
    max-width: 100%;
}

body.cgs-inmueble-responsive .inmocms-inmueble-video iframe,
body.cgs-inmueble-responsive .inmocms-inmueble-tour iframe,
body.cgs-inmueble-responsive .inmocms-inmueble-video video {
    display: block;
    width: 100% !important;
}

body.cgs-inmueble-responsive .inmocms-inmueble-mapa,
body.cgs-inmueble-responsive #map {
    width: 100% !important;
    max-width: 100%;
}

.cgs-inmocms-sidebar-column,
.cgs-inmocms-sidebar-column * {
    box-sizing: border-box;
}

.cgs-inmocms-sidebar-column .cgs-elementor-sidebar,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-section,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-container,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .e-con,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .e-con-inner,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-widget,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-widget-container {
    width: 100%;
    min-width: 0;
    max-width: 100% !important;
}

.cgs-inmocms-sidebar-column .cgs-elementor-sidebar {
    display: block;
    overflow-wrap: anywhere;
}

.cgs-inmocms-sidebar-column .cgs-elementor-sidebar input,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar select,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar textarea,
.cgs-inmocms-sidebar-column .cgs-elementor-sidebar button {
    max-width: 100%;
}

.cgs-inmocms-sidebar-column .inmocms-sticky.cgs-elementor-sidebar-no-sticky {
    position: static !important;
    top: auto !important;
}

@media (max-width: 1024px) {
    body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block {
        max-width: 100% !important;
        margin: 24px auto;
        padding: 0 24px !important;
    }

    body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block .inmocms-inmueble-block {
        display: block !important;
        padding: 24px 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-inmueble-block-left,
    body.cgs-inmueble-responsive .inmocms-inmueble-block-right,
    body.cgs-inmueble-responsive .cgs-inmocms-sidebar-column {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-inmueble-block-right,
    body.cgs-inmueble-responsive .cgs-inmocms-sidebar-column {
        margin-top: 32px !important;
        padding: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-sticky,
    body.cgs-inmueble-responsive .cgs-inmocms-sidebar-column .inmocms-sticky {
        position: static !important;
        top: auto !important;
        width: 100%;
    }
}

@media (max-width: 767px) {
    body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block {
        width: 100%;
        max-width: 100% !important;
        margin: 0 auto 32px;
        padding: 20px !important;
    }

    body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block .inmocms-inmueble-block {
        width: 100%;
        padding: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-poster {
        width: 100%;
        min-height: 0;
        border-radius: 6px !important;
        overflow: hidden;
        aspect-ratio: 4 / 3;
    }

    body.cgs-inmueble-responsive .inmocms-poster-info-hook {
        left: 16px !important;
        bottom: 16px !important;
        max-width: calc(100% - 80px);
        flex-wrap: wrap;
        gap: 8px;
    }

    body.cgs-inmueble-responsive .inmocms-poster-info-extra-hook {
        right: 16px !important;
        bottom: 16px !important;
    }

    body.cgs-inmueble-responsive .inmocms-poster-btn {
        min-width: 40px;
        height: 40px;
        padding: 0 12px;
    }

    body.cgs-inmueble-responsive .inmueble-contenido {
        width: 100%;
        padding: 20px 0 0 !important;
    }

    body.cgs-inmueble-responsive .inmueble-datos,
    body.cgs-inmueble-responsive .inmueble-datos-extra {
        display: block !important;
        width: 100%;
        min-width: 0;
    }

    body.cgs-inmueble-responsive .inmueble-datos-title {
        width: 100% !important;
        margin: 0 0 16px !important;
        padding: 0 0 16px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, .12);
    }

    body.cgs-inmueble-responsive .inmueble-datos-price,
    body.cgs-inmueble-responsive .inmueble-datos-options {
        width: 100% !important;
        min-width: 0;
    }

    body.cgs-inmueble-responsive .inmueble-datos-options {
        justify-content: flex-start !important;
        margin-top: 12px;
        gap: 20px;
    }

    body.cgs-inmueble-responsive .inmueble-datos-options-item {
        margin: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-list-items {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
        margin: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-list-item {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-titulo {
        overflow-wrap: anywhere;
    }

    body.cgs-inmueble-responsive .inmocms-inmueble-mapa,
    body.cgs-inmueble-responsive #map {
        height: 280px !important;
        border-radius: 6px;
    }

    body.cgs-inmueble-responsive .inmocms-certificado {
        width: 100%;
        margin: 0 !important;
        overflow: hidden;
    }

    body.cgs-inmueble-responsive .inmocms-certificado .row {
        display: grid !important;
        grid-template-columns: minmax(90px, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
        width: 100%;
        margin: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-certificado .col-3 {
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        padding: 4px !important;
        overflow-wrap: anywhere;
    }

    body.cgs-inmueble-responsive .inmocms-certificado .cert-title {
        font-size: 9px !important;
        line-height: 1.2;
    }

    body.cgs-inmueble-responsive .inmocms-certificado .cal-label {
        width: calc(100% - 12px) !important;
        max-width: calc(100% - 12px);
        min-width: 0;
        font-size: 13px;
    }

    body.cgs-inmueble-responsive .cgs-inmocms-sidebar-column {
        margin-top: 24px !important;
        padding: 0 0 24px !important;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .e-con,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .e-con-inner,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-container,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-row {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-field-group,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar [class*="elementor-col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-form-fields-wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar input,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar select,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar textarea,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar button,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-button {
        width: 100%;
        max-width: 100%;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar label,
    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar .elementor-field-option {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .cgs-inmocms-sidebar-column .cgs-elementor-sidebar iframe {
        max-width: 100%;
    }

    body.cgs-inmueble-responsive .inmocms-modal {
        padding: 16px !important;
    }

    body.cgs-inmueble-responsive .inmocms-modal-box {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 32px);
        overflow-y: auto;
    }
}

@media (max-width: 420px) {
    body.cgs-inmueble-responsive .content.inmocms-inmueble-content-block {
        padding: 20px !important;
    }

    body.cgs-inmueble-responsive .inmueble-contenido,
    body.cgs-inmueble-responsive .cgs-inmocms-sidebar-column {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.cgs-inmueble-responsive .inmocms-price {
        font-size: 20px !important;
    }

    body.cgs-inmueble-responsive .inmocms-poster-btn {
        font-size: 13px;
        padding: 0 10px;
    }
}
