/* CEMI Core v1.2.142 — Mobile independiente real
   - Desktop y tablet quedan intactos.
   - Solo <= 767px se crea un stack móvil propio.
   - Servicios se vuelven chips compactos en un solo renglón.
*/

@media (max-width: 767px){
  .cemi-single-property.cemi-mobile-layout-active .cemi-property-wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 14px 28px!important;
    margin:0 auto!important;
    overflow:visible!important;
  }

  .cemi-single-property.cemi-mobile-layout-active .cemi-mobile-single-stack{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    gap:18px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }

  .cemi-single-property.cemi-mobile-layout-active .cemi-mobile-single-stack > [data-cemi-mobile-block]{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    translate:none!important;
    float:none!important;
    clear:both!important;
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* Evita que los contenedores originales vacíos creen huecos o empujen la galería. */
  .cemi-single-property.cemi-mobile-layout-active .cemi-property-wrap > .cemi-prop-left,
  .cemi-single-property.cemi-mobile-layout-active .cemi-property-wrap > .cemi-prop-right{
    display:none!important;
  }

  /* Galería en móvil: nunca al fondo, siempre primer bloque del stack. */
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="gallery"]{
    order:10!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="summary"]{
    order:30!important;
    padding:18px!important;
    border-radius:22px!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"]{
    order:20!important;
    padding:12px!important;
    border-radius:18px!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="media"]{
    order:40!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"]{
    order:50!important;
  }

  /* Cuando mapa y cercanías viven dentro de media-sections, se separan entre sí. */
  .cemi-single-property.cemi-mobile-layout-active .cemi-media-sections[data-cemi-mobile-block="media"],
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="media"].cemi-media-sections{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="media"] > *{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* SERVICIOS MÓVIL: chips en una sola línea visual. */
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] h3{
    margin:0 0 9px!important;
    font-size:17px!important;
    line-height:1.15!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-grid::-webkit-scrollbar{display:none!important;}

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item{
    flex:1 0 72px!important;
    width:auto!important;
    min-width:72px!important;
    max-width:100px!important;
    min-height:50px!important;
    height:50px!important;
    max-height:50px!important;
    padding:6px 5px!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    text-align:center!important;
    border-radius:14px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-icon{
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item > span:not(.cemi-service-icon){
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    color:inherit!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item strong{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item small,
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-notes{
    display:none!important;
  }

  /* Características conserva lectura amplia, pero sin estiramientos heredados. */
  .cemi-single-property.cemi-mobile-layout-active .cemi-property-summary-sections,
  .cemi-single-property.cemi-mobile-layout-active .cemi-property-summary-grid{
    height:auto!important;
    min-height:0!important;
    grid-auto-rows:auto!important;
    align-items:stretch!important;
  }

  .cemi-single-property.cemi-mobile-layout-active .cemi-property-summary-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  /* Contacto sin centrarse ni moverse al hover. */
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"],
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"]:hover,
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"]:focus-within{
    transform:none!important;
    translate:none!important;
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

@media (max-width: 390px){
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-grid{
    gap:6px!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item{
    flex-basis:66px!important;
    min-width:66px!important;
    height:48px!important;
    max-height:48px!important;
    padding:5px 4px!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-icon{font-size:14px!important;}
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item strong{font-size:9.8px!important;}
}


@media (max-width: 767px){
  /* v1.2.142: Servicios justo debajo de galería y en una sola fila compacta */
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"]{
    order:20!important;
    padding:10px 10px 11px!important;
    margin:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="summary"]{
    order:30!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-grid{
    display:grid!important;
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    grid-auto-rows:auto!important;
    gap:7px!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding:6px 4px!important;
    flex:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    overflow:hidden!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item small{display:none!important;}
}

@media (max-width: 360px){
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-services-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    gap:5px!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="services"] .cemi-service-item{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
}


/* CEMI Core v1.2.150 — Fix contacto móvil/ancla */
html{scroll-behavior:smooth;}
@media (max-width:767px){
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"],
  .cemi-single-property.cemi-mobile-layout-active .cemi-mobile-single-stack > .cemi-single-contact-side-wrap[data-cemi-mobile-block="contact"]{
    display:block!important;
    order:50!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    position:relative!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"] #cemi-contacto,
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"].cemi-card-contact,
  .cemi-single-property.cemi-mobile-layout-active [data-cemi-mobile-block="contact"] .cemi-card-contact{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
    position:relative!important;
    transform:none!important;
  }
  #cemi-contacto{scroll-margin-top:92px;}
}
