/* CEMI Core v1.2.129 — Servicios compacto + Características debajo
   Corrección real: servicios no debe estirarse a la altura de la galería ni tapar características. */

/* apagar guías/labels de diagnósticos previos si quedaron cargadas */
.cemi-single-property .cemi-property-wrap::before,
.cemi-single-property .cemi-property-wrap::after,
.cemi-single-property .cemi-prop-left::before,
.cemi-single-property .cemi-prop-left::after,
.cemi-single-property .cemi-prop-right::before,
.cemi-single-property .cemi-prop-right::after,
.cemi-single-property .cemi-sticky-panel::before,
.cemi-single-property .cemi-sticky-panel::after,
.cemi-single-property .cemi-card-services::before,
.cemi-single-property .cemi-card-services::after,
.cemi-single-property .cemi-card-property-summary::before,
.cemi-single-property .cemi-card-property-summary::after{
  content:none!important;
  display:none!important;
}

.cemi-single-property .cemi-card-services,
.cemi-single-property .cemi-card-property-summary,
.cemi-single-property .cemi-prop-right,
.cemi-single-property .cemi-sticky-panel{
  outline:none!important;
}

@media (min-width:1180px){
  .cemi-single-property .cemi-property-wrap{
    width:min(1440px, calc(100vw - 72px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:grid!important;
    grid-template-columns:minmax(620px, 1fr) minmax(360px, 430px)!important;
    gap:36px!important;
    align-items:start!important;
  }

  .cemi-single-property .cemi-prop-left{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  .cemi-single-property .cemi-prop-right{
    width:100%!important;
    max-width:430px!important;
    min-width:0!important;
    align-self:start!important;
    justify-self:start!important;
    display:block!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }

  .cemi-single-property .cemi-sticky-panel{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:100%!important;
    max-width:430px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    box-shadow:none!important;
    align-items:stretch!important;
  }

  /* Servicios: card compacto, solo alto del contenido */
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left){
    order:1!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px 22px 24px!important;
    margin:0!important;
    align-self:stretch!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) h3{
    margin:0 0 14px!important;
    font-size:clamp(24px,1.4vw,30px)!important;
    line-height:1.05!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-services-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-service-item{
    min-height:58px!important;
    height:auto!important;
    max-height:none!important;
    padding:11px 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-service-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    font-size:17px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-service-item strong{
    font-size:clamp(16px,.9vw,19px)!important;
    line-height:1.05!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-service-item small{
    font-size:12px!important;
    line-height:1.15!important;
  }

  /* Características: siempre debajo de servicios, nunca encima ni tapado */
  .cemi-single-property .cemi-card-property-summary{
    order:2!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px!important;
    margin:0!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
    clear:both!important;
  }

  .cemi-single-property .cemi-card-property-summary h3{
    font-size:clamp(24px,1.4vw,30px)!important;
    line-height:1.05!important;
    margin:0 0 14px!important;
  }

  .cemi-single-property .cemi-card-property-summary .cemi-property-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .cemi-single-property .cemi-card-property-summary .cemi-property-summary-item{
    min-height:58px!important;
    height:auto!important;
    max-height:none!important;
    padding:12px!important;
    overflow:visible!important;
  }

  /* contacto solo abajo en su sección; no dentro del lateral */
  .cemi-single-property .cemi-prop-right .cemi-card-contact,
  .cemi-single-property .cemi-sticky-panel > .cemi-card-contact{
    display:none!important;
  }
}

@media (min-width:1500px){
  .cemi-single-property .cemi-property-wrap{
    width:min(1540px, calc(100vw - 96px))!important;
    grid-template-columns:minmax(760px, 1fr) minmax(390px, 450px)!important;
    gap:42px!important;
  }
  .cemi-single-property .cemi-prop-right,
  .cemi-single-property .cemi-sticky-panel{
    max-width:450px!important;
  }
}

@media (max-width:1179px){
  .cemi-single-property .cemi-property-wrap{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:min(1040px, calc(100vw - 28px))!important;
    margin:0 auto!important;
  }
  .cemi-single-property .cemi-prop-right,
  .cemi-single-property .cemi-sticky-panel{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left),
  .cemi-single-property .cemi-card-property-summary{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    position:relative!important;
  }
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left){order:1!important; padding:22px!important;}
  .cemi-single-property .cemi-card-property-summary{order:2!important; padding:22px!important;}
}

@media (max-width:640px){
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-services-grid,
  .cemi-single-property .cemi-card-property-summary .cemi-property-summary-grid{
    grid-template-columns:1fr!important;
  }
}
