/* CEMI Core v1.2.130 — Corrección real desktop/tablet de Servicios + Características
   Entendimiento: el usuario busca que Servicios y Características sean DOS recuadros independientes,
   uno arriba del otro, dentro de una columna derecha legible; NO flotantes, NO sobrepuestos,
   NO estirados a la altura de la galería. Contacto queda abajo vía ancla, no en sidebar. */

/* Apagar guías y pseudo-etiquetas de versiones de diagnóstico anteriores */
.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;
}

/* Evita que estilos heredados de debug o has-units conviertan texto en vertical */
.cemi-single-property .cemi-prop-right,
.cemi-single-property .cemi-prop-right *,
.cemi-single-property .cemi-card-services,
.cemi-single-property .cemi-card-services *,
.cemi-single-property .cemi-card-property-summary,
.cemi-single-property .cemi-card-property-summary *{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  transform:none!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}

@media (min-width:1180px){
  /* IMPORTANTE: override específico para propiedades con unidades/lotes, que estaban volteando columnas */
  .cemi-single-property .cemi-property-wrap,
  .cemi-single-property .cemi-property-wrap.cemi-has-units,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots{
    width:min(1500px, calc(100vw - 96px))!important;
    max-width:1500px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:56px 0 64px!important;
    display:grid!important;
    grid-template-columns:minmax(680px, 1fr) minmax(360px, 420px)!important;
    gap:38px!important;
    align-items:start!important;
    justify-content:center!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .cemi-single-property .cemi-property-wrap .cemi-prop-left,
  .cemi-single-property .cemi-property-wrap.cemi-has-units .cemi-prop-left,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots .cemi-prop-left{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    display:block!important;
    overflow:visible!important;
  }

  .cemi-single-property .cemi-property-wrap .cemi-prop-right,
  .cemi-single-property .cemi-property-wrap.cemi-has-units .cemi-prop-right,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots .cemi-prop-right{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:420px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    display:block!important;
    align-self:start!important;
    justify-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    background:transparent!important;
    float:none!important;
  }

  .cemi-single-property .cemi-sticky-panel,
  .cemi-single-property .cemi-property-wrap.cemi-has-units .cemi-sticky-panel,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots .cemi-sticky-panel{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:18px!important;
    width:100%!important;
    max-width:420px!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;
    contain:none!important;
  }

  /* Ocultar duplicados viejos de la columna derecha: el hero ya trae estos datos y contacto baja al final */
  .cemi-single-property .cemi-prop-right .cemi-card-title,
  .cemi-single-property .cemi-prop-right .cemi-card-price,
  .cemi-single-property .cemi-prop-right .cemi-card-land-summary,
  .cemi-single-property .cemi-prop-right .cemi-card-m2,
  .cemi-single-property .cemi-prop-right .cemi-card-rooms,
  .cemi-single-property .cemi-prop-right .cemi-card-contact,
  .cemi-single-property .cemi-prop-right .cemi-card-payment-methods{
    display:none!important;
  }

  /* SERVICIOS: recuadro compacto, solo alto necesario */
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left),
  .cemi-single-property .cemi-property-wrap.cemi-has-units .cemi-card-services:not(.cemi-card-services-land-left),
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots .cemi-card-services:not(.cemi-card-services-land-left){
    order:1!important;
    position:relative!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:block!important;
    flex:0 0 auto!important;
    align-self:start!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:unset!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px!important;
    margin:0!important;
    box-sizing:border-box!important;
    aspect-ratio:auto!important;
    contain:none!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) h3{
    margin:0 0 14px!important;
    font-size:26px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!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;
    align-items:start!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left) .cemi-service-item{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:56px!important;
    height:auto!important;
    max-height:none!important;
    padding:10px 12px!important;
    overflow:visible!important;
    box-sizing:border-box!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;
    flex:0 0 30px!important;
    font-size:16px!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{
    display:block!important;
    font-size:17px!important;
    line-height:1.05!important;
    font-weight:900!important;
  }

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

  /* CARACTERÍSTICAS: siempre debajo de Servicios, visible completo */
  .cemi-single-property .cemi-card-property-summary,
  .cemi-single-property .cemi-property-wrap.cemi-has-units .cemi-card-property-summary,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots .cemi-card-property-summary{
    order:2!important;
    position:relative!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:block!important;
    flex:0 0 auto!important;
    align-self:start!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:unset!important;
    max-height:none!important;
    overflow:visible!important;
    padding:22px!important;
    margin:0!important;
    box-sizing:border-box!important;
    aspect-ratio:auto!important;
    contain:none!important;
    clear:both!important;
  }

  .cemi-single-property .cemi-card-property-summary h3{
    margin:0 0 16px!important;
    font-size:26px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }

  .cemi-single-property .cemi-property-summary-section h4{
    margin:16px 0 10px!important;
    font-size:14px!important;
    line-height:1.1!important;
    letter-spacing:.02em!important;
  }
  .cemi-single-property .cemi-property-summary-section:first-child h4{margin-top:0!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;
    width:100%!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 13px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  .cemi-single-property .cemi-card-property-summary .cemi-property-summary-item strong{
    font-size:18px!important;
    line-height:1.05!important;
  }

  .cemi-single-property .cemi-card-property-summary .cemi-summary-mark{
    font-size:25px!important;
    line-height:1!important;
    color:#D7266B!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}

@media (min-width:1500px){
  .cemi-single-property .cemi-property-wrap,
  .cemi-single-property .cemi-property-wrap.cemi-has-units,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots{
    grid-template-columns:minmax(780px, 1fr) minmax(390px, 450px)!important;
    max-width:1580px!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,
  .cemi-single-property .cemi-property-wrap.cemi-has-units,
  .cemi-single-property .cemi-property-wrap.cemi-has-land-lots{
    display:flex!important;
    flex-direction:column!important;
    width:min(1040px, calc(100vw - 28px))!important;
    margin:0 auto!important;
    gap:18px!important;
  }
  .cemi-single-property .cemi-prop-left,
  .cemi-single-property .cemi-prop-right,
  .cemi-single-property .cemi-sticky-panel{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    position:relative!important;
    gap:16px!important;
  }
  .cemi-single-property .cemi-card-title,
  .cemi-single-property .cemi-card-price,
  .cemi-single-property .cemi-card-land-summary,
  .cemi-single-property .cemi-card-m2,
  .cemi-single-property .cemi-card-rooms,
  .cemi-single-property .cemi-card-contact,
  .cemi-single-property .cemi-card-payment-methods{
    display:none!important;
  }
  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left){order:1!important; height:auto!important; min-height:unset!important; padding:22px!important; margin:0!important;}
  .cemi-single-property .cemi-card-property-summary{order:2!important; height:auto!important; min-height:unset!important; padding:22px!important; margin:0!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;
  }
}
