/* CEMI Core v1.2.126 — Contacto abajo + layout limpio sin flotante
   Objetivo: dejar de pelear con el grid lateral. El botón Contacto del hero ancla al formulario
   ubicado antes de Propiedades similares. Servicios y Características quedan legibles y completos. */

body.single-cemi_property::after,
body.single-opalestate_property::after{
  display:none!important;
  content:none!important;
}

body.single-cemi_property .site-content,
body.single-opalestate_property .site-content,
body.single-cemi_property .content-area,
body.single-opalestate_property .content-area,
body.single-cemi_property .ast-container,
body.single-opalestate_property .ast-container,
body.single-cemi_property .container,
body.single-opalestate_property .container{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.cemi-single-property .cemi-single-hero,
.cemi-single-property .cemi-single-hero-inner,
.cemi-single-property .cemi-property-wrap,
.cemi-single-property .cemi-prop-left,
.cemi-single-property .cemi-card-services,
.cemi-single-property .cemi-card-property-summary,
.cemi-single-property .cemi-card-contact{
  outline:none!important;
  outline-offset:0!important;
}
.cemi-single-property .cemi-single-hero::before,
.cemi-single-property .cemi-single-hero-inner::before,
.cemi-single-property .cemi-property-wrap::before,
.cemi-single-property .cemi-prop-left::before,
.cemi-single-property .cemi-card-services::before,
.cemi-single-property .cemi-card-property-summary::before,
.cemi-single-property .cemi-card-contact::before{
  content:none!important;
  display:none!important;
}

.cemi-single-property{
  width:100%!important;
  max-width:none!important;
  overflow-x:hidden!important;
}

.cemi-single-property .cemi-single-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* El formulario vive abajo; nunca flotante, nunca pegado al panel derecho. */
.cemi-single-property .cemi-single-contact-bottom-wrap{
  width:min(1120px, calc(100vw - 48px))!important;
  max-width:none!important;
  margin:44px auto 54px!important;
  padding:0!important;
  clear:both!important;
  position:relative!important;
  z-index:2!important;
}
.cemi-single-property .cemi-single-contact-bottom-wrap .cemi-card-contact{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  border-radius:28px!important;
}
.cemi-single-property .cemi-single-contact-bottom-wrap .cemi-card-contact .cemi-asesor-card{
  justify-content:center!important;
}
.cemi-single-property .cemi-single-contact-bottom-wrap .cemi-btn{
  width:min(360px, 100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media (min-width:1180px){
  .cemi-single-property .cemi-property-wrap{
    width:min(1480px, calc(100vw - 72px))!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:70px 0 40px!important;
    display:grid!important;
    grid-template-columns:minmax(650px, 1.45fr) minmax(420px, .85fr)!important;
    gap:36px!important;
    align-items:start!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }

  .cemi-single-property .cemi-prop-left,
  .cemi-single-property .cemi-prop-right{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    position:relative!important;
    transform:none!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    background:transparent!important;
    box-sizing:border-box!important;
  }

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

  .cemi-single-property .cemi-card-title,
  .cemi-single-property .cemi-card-price,
  .cemi-single-property .cemi-card-land-summary{
    display:none!important;
  }

  .cemi-single-property .cemi-card-services:not(.cemi-card-services-land-left){
    order:1!important;
  }
  .cemi-single-property .cemi-card-property-summary{
    order:2!important;
  }
  .cemi-single-property .cemi-card-rent-requirements,
  .cemi-single-property .cemi-card-credit-commercial,
  .cemi-single-property .cemi-card-units{
    order:3!important;
  }

  .cemi-single-property .cemi-card-services,
  .cemi-single-property .cemi-card-property-summary{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    position:relative!important;
    transform:none!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    box-sizing:border-box!important;
  }

  .cemi-single-property .cemi-card-services *,
  .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;
  }

  .cemi-single-property .cemi-services-grid,
  .cemi-single-property .cemi-property-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .cemi-single-property .cemi-service-item,
  .cemi-single-property .cemi-property-summary-item{
    min-width:0!important;
    min-height:74px!important;
    width:100%!important;
    padding:16px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }

  .cemi-single-property .cemi-service-item strong,
  .cemi-single-property .cemi-property-summary-item strong{
    font-size:clamp(18px,1.12vw,24px)!important;
    line-height:1.05!important;
    letter-spacing:-.03em!important;
  }

  .cemi-single-property .cemi-card-contact{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

@media (min-width:1600px){
  .cemi-single-property .cemi-property-wrap{
    width:min(1640px, calc(100vw - 96px))!important;
    grid-template-columns:minmax(760px, 1.55fr) minmax(500px, .9fr)!important;
    gap:44px!important;
  }
}

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

@media (max-width:760px){
  .cemi-single-property .cemi-property-wrap{
    width:100%!important;
    padding:28px 14px 30px!important;
  }
  .cemi-single-property .cemi-single-contact-bottom-wrap{
    width:100%!important;
    padding:0 14px!important;
    margin:24px auto 36px!important;
    box-sizing:border-box!important;
  }
  .cemi-single-property .cemi-services-grid,
  .cemi-single-property .cemi-property-summary-grid{
    grid-template-columns:1fr!important;
  }
}
