/* ── Base ── */
.cemi-single-property{font-family:Montserrat,Arial,sans-serif;background:#f5f7fa;color:#1a2231}
.cemi-property-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;max-width:1280px;margin:0 auto;padding:28px 18px 48px}

/* ── Cards ── */
.cemi-card{background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.cemi-card h2{font-size:18px;font-weight:800;margin:0 0 14px;color:#1a2231}
.cemi-card h3{font-size:13px;font-weight:700;margin:0 0 10px;color:#1a2231;text-transform:uppercase;letter-spacing:.05em}

/* ── Slider ── */
.cemi-slider-outer{position:relative;margin-bottom:12px}
.cemi-slider-main{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#e2e8f0}
.cemi-slider-track{display:flex;height:100%;transition:transform .35s ease;will-change:transform}
.cemi-slide{min-width:100%;height:100%;flex-shrink:0}
.cemi-slide-img{width:100%;height:100%;object-fit:cover;display:block}
.cemi-badge-op{position:absolute;top:14px;left:14px;z-index:10;background:#dd3d7b;color:#fff;font-size:13px;font-weight:700;padding:6px 16px;border-radius:6px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}

/* ── Miniaturas ── */
.cemi-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.cemi-thumb{aspect-ratio:1/1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.6;transition:opacity .2s,border-color .2s}
.cemi-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cemi-thumb.is-active{opacity:1;border-color:#dd3d7b}
.cemi-thumb:hover{opacity:.85}

/* ══ PESTAÑAS DE PROPIEDAD ══ */
.cemi-tabs-wrap{background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 12px rgba(0,0,0,.04)}

.cemi-tabs-nav{display:flex;border-bottom:1px solid rgba(26,34,49,.09);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cemi-tabs-nav::-webkit-scrollbar{display:none}
.cemi-tab-btn{display:flex;align-items:center;gap:7px;padding:14px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:700;color:#64748b;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;margin-bottom:-1px;flex-shrink:0}
.cemi-tab-btn svg{opacity:.6;transition:opacity .2s}
.cemi-tab-btn:hover{color:#1a2231}
.cemi-tab-btn.is-active{color:#dd3d7b;border-bottom-color:#dd3d7b}
.cemi-tab-btn.is-active svg{opacity:1}

.cemi-tab-panel{display:none}
.cemi-tab-panel.is-active{display:block}
.cemi-tab-content{padding:22px;font-size:14px;line-height:1.75;color:#334155}
.cemi-tab-content p{margin-bottom:12px}
.cemi-tab-content iframe{border-radius:10px;width:100%;display:block}

/* ── Panel derecho sticky ── */
.cemi-prop-right{position:relative}
.cemi-sticky-panel{position:sticky;top:20px}

/* ── Título ── */
.cemi-card-title h1{font-size:22px;font-weight:800;line-height:1.2;margin:0 0 6px;color:#1a2231}
.cemi-location{display:flex;align-items:center;gap:5px;font-size:13px;color:#64748b;margin-top:4px}
.cemi-badges{display:flex;flex-wrap:wrap;gap:6px}
.cemi-badge{display:inline-flex;align-items:center;background:#eef2f7;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;color:#1a2231}

/* ── Precio ── */
.cemi-card-price{background:#dd3d7b;border-color:#dd3d7b}
.cemi-price-m2{font-size:12px;color:rgba(255,255,255,.8);margin-bottom:4px;font-weight:500}
.cemi-price-main{font-size:26px;font-weight:800;color:#fff;line-height:1;display:flex;align-items:baseline;gap:8px}
.cemi-price-period{font-size:14px;font-weight:500;color:rgba(255,255,255,.85)}
.cemi-price-monthly{font-size:13px;color:rgba(255,255,255,.8);margin-top:6px}

/* ── Ficha ── */
.cemi-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cemi-fact{background:#f8fafc;border-radius:10px;padding:12px;text-align:center}
.cemi-fact-num{display:block;font-size:20px;font-weight:800;color:#dd3d7b;line-height:1}
.cemi-fact-lbl{display:block;font-size:10px;color:#64748b;margin-top:3px;text-transform:uppercase;letter-spacing:.04em}
.cemi-card-m2 .cemi-facts-grid{grid-template-columns:repeat(2,1fr)}
.cemi-card-rooms .cemi-facts-grid{grid-template-columns:repeat(4,1fr)}

/* ── Cercanías ── */
.cemi-nearby-front{display:flex;flex-direction:column;gap:0}
.cemi-nearby-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f0f4f8}
.cemi-nearby-item:last-child{border-bottom:none}
.cemi-nearby-icon{width:30px;height:30px;border-radius:50%;background:#dd3d7b;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.cemi-nearby-text strong{display:block;font-size:13px;font-weight:700;color:#1a2231}
.cemi-nearby-text span{display:block;font-size:12px;color:#64748b;margin-top:1px}

/* ── Créditos ── */
.cemi-credits-wrap{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}
.cemi-credit-pill{display:inline-flex;align-items:center;background:#fde8f1;color:#9b1a4a;border:1px solid #dd3d7b;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700}

/* ── Renta ── */
.cemi-card-rent{border-left:4px solid #dd3d7b}
.cemi-rent-poliza{display:flex;align-items:center;gap:8px;background:#fde8f1;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:600;color:#9b1a4a;margin-bottom:10px}
.cemi-rent-rows{display:flex;flex-direction:column}
.cemi-rent-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #f4f4f4;font-size:13px}
.cemi-rent-row:last-child{border-bottom:none}
.cemi-rent-row span{color:#64748b}
.cemi-rent-row strong{color:#1a2231;font-weight:700}
.cemi-rent-notes{font-size:12px;color:#64748b;margin-top:10px;font-style:italic}

/* ── Botones ── */
.cemi-card-contact{display:flex;flex-direction:column;gap:8px}
.cemi-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;font-weight:700;text-decoration:none!important;font-size:14px;cursor:pointer;border:none;transition:opacity .2s}
.cemi-btn:hover{opacity:.88}
.cemi-btn-whatsapp{background:#25D366;color:#fff!important}
.cemi-btn-dark{background:#1a2231;color:#fff!important}
.cemi-btn-light{background:#eef2f7;color:#1a2231!important}

/* ── Mapa empty ── */
.cemi-map-empty{color:#94a3b8;font-size:13px;padding:20px 0;text-align:center}

/* ══ RESPONSIVE TABLET ══ */
@media(max-width:1024px){
  .cemi-property-wrap{grid-template-columns:1fr;padding:16px 14px 32px}
  .cemi-sticky-panel{position:static}
  .cemi-card-title h1{font-size:20px}
  .cemi-card-rooms .cemi-facts-grid{grid-template-columns:repeat(4,1fr)}
}

/* ══ RESPONSIVE MÓVIL ══ */
@media(max-width:640px){
  .cemi-property-wrap{
    display:flex;
    flex-direction:column;
    padding:10px 10px 28px;
  }

  /* Romper el panel derecho para reordenar */
  .cemi-prop-right{ display:contents; }
  .cemi-sticky-panel{ position:static; display:contents; }

  /* Orden en móvil */
  .cemi-card-title   { order:1; }
  .cemi-card-price   { order:2; }
  .cemi-card-rooms   { order:3; }
  .cemi-prop-left    { order:4; }
  .cemi-card-m2      { order:4; }

  /* Cercanías, créditos, renta y todo lo demás del panel derecho */
  .cemi-prop-right .cemi-card:not(.cemi-card-title):not(.cemi-card-price):not(.cemi-card-m2):not(.cemi-card-rooms):not(.cemi-card-contact){ order:6; }
  .cemi-card-contact { order:7; }

  /* Ajustes visuales */
  .cemi-card{ padding:14px; margin-bottom:12px; }
  .cemi-thumbs{ grid-template-columns:repeat(4,1fr); gap:6px; }
  .cemi-card-rooms .cemi-facts-grid{ grid-template-columns:repeat(2,1fr); }
  .cemi-card-m2 .cemi-facts-grid{ grid-template-columns:repeat(2,1fr); }
  .cemi-price-main{ font-size:22px; }
  .cemi-card-title h1{ font-size:18px; }
  .cemi-slider-main{ border-radius:10px; }
  .cemi-tab-btn{ padding:12px 14px; font-size:12px; gap:5px; }
  .cemi-tab-content{ padding:16px; }
}

/* ── Badge status en título ── */
.cemi-badge-status{display:inline-flex;align-items:center;background:#dd3d7b;color:#fff;border-radius:999px;padding:4px 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:8px}

/* ── Precio centrado, tipografía negra ── */
.cemi-card-price{background:#fff;border:2px solid #dd3d7b;text-align:center}
.cemi-card-price .cemi-price-m2{font-size:12px;color:#64748b;margin-bottom:4px;font-weight:500}
.cemi-card-price .cemi-price-main{font-size:32px;font-weight:800;color:#1a2231;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:8px}
.cemi-card-price .cemi-price-period{font-size:15px;font-weight:500;color:#64748b}
.cemi-card-price .cemi-price-monthly{font-size:13px;color:#64748b;margin-top:6px}

/* ── Equipamiento grid ── */
.cemi-equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cemi-equip-item{display:flex;align-items:center;gap:8px;background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:13px;color:#1a2231;font-weight:500}
.cemi-facility-notes{font-size:12px;color:#64748b;margin-top:12px;font-style:italic;line-height:1.6}

/* ── Servicios grid ── */
.cemi-services-grid{display:flex;flex-direction:column;gap:0}
.cemi-service-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #f0f4f8}
.cemi-service-item:last-child{border-bottom:none}
.cemi-service-item strong{display:block;font-size:13px;font-weight:700;color:#1a2231}
.cemi-service-item span{display:block;font-size:12px;color:#64748b;margin-top:1px}

/* ── Facts rooms ── */
.cemi-facts-grid-rooms{grid-template-columns:repeat(4,1fr)}

/* ── Responsive móvil ── */
@media(max-width:640px){
  .cemi-property-wrap{display:flex;flex-direction:column;padding:10px 10px 28px}
  .cemi-prop-right{display:contents}
  .cemi-sticky-panel{position:static;display:contents}
  .cemi-card-title{order:1}
  .cemi-card-price{order:2}
  .cemi-card-rooms{order:3}
  .cemi-prop-left{order:4}
  .cemi-card-m2{order:4}
  .cemi-prop-right .cemi-card:not(.cemi-card-title):not(.cemi-card-price):not(.cemi-card-m2):not(.cemi-card-rooms):not(.cemi-card-contact){order:6}
  .cemi-card-contact{order:7}
  .cemi-card{padding:14px;margin-bottom:12px}
  .cemi-thumbs{grid-template-columns:repeat(4,1fr);gap:6px}
  .cemi-facts-grid-rooms{grid-template-columns:repeat(2,1fr)}
  .cemi-card-price .cemi-price-main{font-size:26px}
  .cemi-card-title h1{font-size:18px}
  .cemi-equip-grid{grid-template-columns:1fr}
  .cemi-tab-btn{padding:12px 14px;font-size:12px;gap:5px}
  .cemi-tab-content{padding:16px}
}

@media(max-width:1024px){
  .cemi-property-wrap{grid-template-columns:1fr;padding:16px 14px 32px}
  .cemi-sticky-panel{position:static}
  .cemi-card-title h1{font-size:20px}
  .cemi-facts-grid-rooms{grid-template-columns:repeat(4,1fr)}
}

/* ══════════════════════════════════
   CEMI ARCHIVE — listado de propiedades
   ══════════════════════════════════ */
.cemi-archive-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px;max-width:1280px;margin:0 auto;padding:28px 18px 48px;font-family:Montserrat,Arial,sans-serif}

/* ── Filtros ── */
.cemi-archive-filters{align-self:start;position:sticky;top:20px;background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.cemi-filter-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:14px}
.cemi-filter-group{margin-bottom:14px}
.cemi-filter-label{display:block;font-size:11px;color:#64748b;margin-bottom:5px;font-weight:600}
.cemi-filter-select{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#1a2231;font-family:Montserrat,Arial,sans-serif}
.cemi-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cemi-filter-input{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#1a2231;font-family:Montserrat,Arial,sans-serif}
.cemi-filter-btn{display:block;width:100%;padding:10px;background:#dd3d7b;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;margin-top:6px;font-family:Montserrat,Arial,sans-serif}
.cemi-filter-btn:hover{opacity:.9}
.cemi-filter-clear{display:block;width:100%;padding:8px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;text-align:center;text-decoration:none;margin-top:6px}

/* ── Toolbar ── */
.cemi-archive-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cemi-result-count{font-size:13px;color:#64748b}
.cemi-view-btns{display:flex;gap:4px}
.cemi-view-btn{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}
.cemi-view-btn.is-active{background:#dd3d7b;border-color:#dd3d7b;color:#fff}

/* ── View panels ── */
.cemi-view-panel{display:none}
.cemi-view-panel.is-active{display:block}

/* ── Grid ── */
.cemi-prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cemi-prop-card{background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;overflow:hidden;text-decoration:none!important;color:#1a2231!important;display:block;transition:border-color .2s,box-shadow .2s}
.cemi-prop-card:hover{border-color:#dd3d7b;box-shadow:0 4px 20px rgba(221,61,123,.12)}

/* ── Imagen con barra de íconos ── */
.cemi-card-img-wrap,.cemi-list-img-wrap{position:relative;overflow:hidden}
.cemi-card-img-wrap{aspect-ratio:1/1}
.cemi-card-img,.cemi-list-img{width:100%;height:100%;object-fit:cover;display:block}
.cemi-card-img-empty,.cemi-list-img-empty{width:100%;height:100%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px}
.cemi-card-badge{position:absolute;top:10px;left:10px;background:#dd3d7b;color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:5px;letter-spacing:.07em;z-index:2}
.cemi-card-icons-bar{position:absolute;bottom:0;left:0;right:0;background:rgba(26,34,49,.78);display:flex;justify-content:space-around;align-items:center;padding:8px 6px;z-index:2}
.cemi-icon-item{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff}
.cemi-icon-num{font-size:14px;font-weight:700;line-height:1}
.cemi-icon-lbl{font-size:9px;opacity:.8;line-height:1;text-transform:uppercase;letter-spacing:.04em}
.cemi-icon-item svg{opacity:.75}

/* ── Card body ── */
.cemi-card-body{padding:12px 14px}
.cemi-card-price{font-size:16px;font-weight:700;color:#dd3d7b;margin-bottom:2px}
.cemi-card-period{font-size:12px;font-weight:400;color:#94a3b8}
.cemi-card-title{font-size:13px;font-weight:600;color:#1a2231;line-height:1.3;margin-bottom:4px}
.cemi-card-loc{font-size:11px;color:#64748b;display:flex;align-items:center;gap:3px}

/* ── Lista ── */
.cemi-prop-list{display:flex;flex-direction:column;gap:10px}
.cemi-list-card{display:flex;align-items:stretch;background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;overflow:hidden;text-decoration:none!important;color:#1a2231!important;transition:border-color .2s,box-shadow .2s}
.cemi-list-card:hover{border-color:#dd3d7b;box-shadow:0 4px 20px rgba(221,61,123,.12)}
.cemi-list-img-wrap{width:200px;flex-shrink:0;aspect-ratio:1/1}
.cemi-list-img{width:100%;height:100%;object-fit:cover;display:block}
.cemi-list-body{padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.cemi-list-price{font-size:20px;font-weight:700;color:#dd3d7b;margin-bottom:2px}
.cemi-list-period{font-size:13px;font-weight:400;color:#94a3b8}
.cemi-list-title{font-size:14px;font-weight:600;color:#1a2231;margin-bottom:3px;line-height:1.3}
.cemi-list-loc{font-size:12px;color:#64748b;margin-bottom:10px}
.cemi-list-m2s{display:flex;gap:8px}
.cemi-list-m2{background:#f8fafc;border-radius:8px;padding:8px 12px;text-align:center}
.cemi-list-m2-num{display:block;font-size:16px;font-weight:700;color:#dd3d7b;line-height:1}
.cemi-list-m2-lbl{display:block;font-size:10px;color:#64748b;margin-top:2px;text-transform:uppercase;letter-spacing:.04em}

/* ── Paginación ── */
.cemi-pagination{margin-top:24px;display:flex;justify-content:center}
.cemi-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#64748b;text-decoration:none;margin:0 2px;transition:all .2s}
.cemi-pagination .page-numbers.current{background:#dd3d7b;border-color:#dd3d7b;color:#fff}
.cemi-pagination .page-numbers:hover:not(.current){border-color:#dd3d7b;color:#dd3d7b}
.cemi-no-results{text-align:center;padding:40px 20px;color:#64748b}
.cemi-no-results p{margin-bottom:16px;font-size:15px}

/* ── Responsive ── */
@media(max-width:1024px){
  .cemi-prop-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .cemi-archive-wrap{grid-template-columns:1fr;padding:12px 12px 32px}
  .cemi-archive-filters{position:static}
  .cemi-prop-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cemi-list-card{grid-template-columns:140px 1fr}
}
@media(max-width:480px){
  .cemi-prop-grid{grid-template-columns:1fr}
  .cemi-list-card{grid-template-columns:120px 1fr}
  .cemi-list-price{font-size:17px}
}

/* ══════════════════════════════════
   CEMI SHORTCODE [cemi_propiedades]
   ══════════════════════════════════ */
.cemi-sc-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px;font-family:Montserrat,Arial,sans-serif;max-width:100%}

/* Filtros */
.cemi-sc-filters{background:#fff;border:1px solid rgba(26,34,49,.09);border-radius:14px;padding:20px;align-self:start;position:sticky;top:20px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.cemi-sc-filter-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:14px}
.cemi-sc-filter-group{margin-bottom:14px}
.cemi-sc-filter-label{display:block;font-size:11px;color:#64748b;margin-bottom:5px;font-weight:600}
.cemi-sc-select,.cemi-sc-input{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#1a2231;font-family:Montserrat,Arial,sans-serif}
.cemi-sc-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cemi-sc-btn-search{display:block;width:100%;padding:10px;background:#dd3d7b;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;margin-top:6px;font-family:Montserrat,Arial,sans-serif}
.cemi-sc-btn-search:hover{opacity:.9}
.cemi-sc-btn-clear{display:block;width:100%;padding:8px;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;cursor:pointer;margin-top:6px;font-family:Montserrat,Arial,sans-serif}

/* Toolbar */
.cemi-sc-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cemi-sc-count{font-size:13px;color:#64748b}
.cemi-sc-view-btns{display:flex;gap:4px}
.cemi-sc-view-btn{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}
.cemi-sc-view-btn.is-active{background:#dd3d7b;border-color:#dd3d7b;color:#fff}

/* Loader */
.cemi-sc-loader{display:flex;justify-content:center;padding:40px 0}
.cemi-sc-spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#dd3d7b;border-radius:50%;animation:cemi-spin .7s linear infinite}
@keyframes cemi-spin{to{transform:rotate(360deg)}}

/* Paginación shortcode */
.cemi-sc-pagination-inner{display:flex;gap:5px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.cemi-sc-page-btn{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s;font-family:Montserrat,Arial,sans-serif}
.cemi-sc-page-btn.is-active{background:#dd3d7b;border-color:#dd3d7b;color:#fff}
.cemi-sc-page-btn:hover:not(.is-active){border-color:#dd3d7b;color:#dd3d7b}

/* Responsive shortcode */
@media(max-width:768px){
  .cemi-sc-wrap{grid-template-columns:1fr}
  .cemi-sc-filters{position:static}
}

/* ══════════════════════════════════
   CEMI BUSCADOR [cemi_buscador]
   ══════════════════════════════════ */
.cemi-bus-wrap{font-family:Montserrat,Arial,sans-serif;width:100%}

/* Caja del buscador */
.cemi-bus-box{background:#1a2231;border-radius:16px;padding:28px 32px;margin-bottom:32px}
.cemi-bus-titulo{font-size:22px;font-weight:700;color:#fff;margin-bottom:20px;text-align:center}

/* Formulario horizontal */
.cemi-bus-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:nowrap}
.cemi-bus-field{display:flex;flex-direction:column;gap:5px;flex:1}
.cemi-bus-label{font-size:11px;font-weight:600;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.05em}
.cemi-bus-select{width:100%;padding:11px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:14px;background:rgba(255,255,255,.08);color:#fff;font-family:Montserrat,Arial,sans-serif;appearance:none;cursor:pointer}
.cemi-bus-select option{background:#1a2231;color:#fff}
.cemi-bus-select:focus{outline:none;border-color:#dd3d7b}

/* Botón buscar */
.cemi-bus-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 28px;background:#dd3d7b;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:Montserrat,Arial,sans-serif;transition:opacity .2s}
.cemi-bus-btn:hover{opacity:.88}

/* Toolbar resultados */
.cemi-bus-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.cemi-bus-count{font-size:14px;color:#64748b;font-weight:500}
.cemi-bus-limpiar{background:none;border:none;color:#dd3d7b;font-size:13px;cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-weight:600;padding:0}
.cemi-bus-limpiar:hover{text-decoration:underline}

/* Paginación buscador */
.cemi-bus-pag-inner{display:flex;gap:5px;justify-content:center;margin-top:24px;flex-wrap:wrap}

/* ── Responsive buscador ── */
@media(max-width:768px){
    .cemi-bus-box{padding:20px 16px}
    .cemi-bus-titulo{font-size:18px;margin-bottom:16px}
    .cemi-bus-form{flex-direction:column;gap:10px}
    .cemi-bus-field{width:100%}
    .cemi-bus-btn{width:100%;justify-content:center;padding:13px}
}

/* ══════════════════════════════════
   SLIDER DE PROPIEDADES CERCANAS
   ══════════════════════════════════ */
.cemi-nearby-card{ overflow:hidden; padding:18px!important; }
.cemi-nearby-card h2{ margin:0; }
.cemi-nearby-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.cemi-nearby-head span{font-size:12px;color:#64748b;font-weight:500}

.cemi-nearby-slider-wrap{
    position:relative;
    overflow:hidden;
}
.cemi-nearby-track{
    display:flex;
    transition:transform .35s ease;
    will-change:transform;
}
.cemi-nearby-slide{
    min-width:calc(100% / 3);
    flex-shrink:0;
    padding:0 6px;
    box-sizing:border-box;
    text-decoration:none!important;
    color:#1a2231!important;
    display:block;
}
.cemi-nearby-img-wrap{
    position:relative;
    aspect-ratio:1/1;
    border-radius:10px;
    overflow:hidden;
    background:#e2e8f0;
    margin-bottom:8px;
}
.cemi-nearby-img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .3s ease;
}
.cemi-nearby-slide:hover .cemi-nearby-img{
    transform:scale(1.03);
}
.cemi-nearby-img-empty{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:12px;
}
.cemi-nearby-info{ padding:0 2px; }
.cemi-nearby-price{
    font-size:15px;
    font-weight:700;
    color:#dd3d7b;
    margin-bottom:2px;
}
.cemi-nearby-period{
    font-size:11px;
    font-weight:400;
    color:#94a3b8;
}
.cemi-nearby-title{
    font-size:13px;
    font-weight:600;
    color:#1a2231;
    line-height:1.3;
    margin-bottom:3px;
}
.cemi-nearby-loc{
    font-size:11px;
    color:#64748b;
    margin-bottom:5px;
}
.cemi-nearby-facts{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.cemi-nearby-facts span{
    font-size:11px;
    color:#64748b;
    background:#f8fafc;
    border-radius:4px;
    padding:2px 7px;
}

/* Botones del slider */
.cemi-nearby-prev,
.cemi-nearby-next{
    position:absolute;
    top:30%;
    transform:translateY(-50%);
    z-index:10;
    background:#1a2231;
    color:#fff;
    border:none;
    border-radius:50%;
    width:34px;
    height:34px;
    font-size:16px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s, opacity .2s;
}
.cemi-nearby-prev:hover,
.cemi-nearby-next:hover{ background:#dd3d7b; }
.cemi-nearby-prev{ left:0; }
.cemi-nearby-next{ right:0; }

/* Responsive */
@media(max-width:1024px){
    .cemi-nearby-slide{ min-width:calc(100% / 2); }
    .cemi-nearby-prev{ left:0; }
    .cemi-nearby-next{ right:0; }
}
@media(max-width:640px){
    .cemi-nearby-slide{ min-width:100%; }
}

/* ══════════════════════════════════
   CEMI v0.5.2 — Ajustes single property
   ══════════════════════════════════ */

/* Municipio visible en la tarjeta de título, sin badge de venta/renta */
.cemi-municipio-front{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:7px;
  padding:5px 10px;
  border-radius:999px;
  background:#f8fafc;
  color:#1a2231;
  font-size:12px;
  font-weight:700;
}
.cemi-municipio-front span{color:#64748b;font-weight:600}
.cemi-badge-status{display:none!important}

/* Servicios en el panel fijo: 4 en horizontal */
.cemi-card-services .cemi-services-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.cemi-card-services .cemi-service-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:6px;
  padding:10px 6px;
  border-bottom:0!important;
  border-radius:10px;
  background:#f8fafc;
  min-width:0;
}
.cemi-card-services .cemi-service-item svg{flex:0 0 auto}
.cemi-card-services .cemi-service-item strong{font-size:11px;line-height:1.1}
.cemi-card-services .cemi-service-item span{font-size:10px;line-height:1.25;word-break:break-word;overflow-wrap:anywhere}

/* Tabs del single en móvil: verticales para lectura */
@media(max-width:640px){
  .cemi-single-property .cemi-tabs-nav{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
    border-bottom:0!important;
    gap:7px;
    padding:10px;
  }
  .cemi-single-property .cemi-tab-btn{
    width:100%!important;
    justify-content:flex-start!important;
    border:1px solid #eef2f7!important;
    border-radius:10px!important;
    margin:0!important;
    white-space:normal!important;
    text-align:left!important;
    background:#fff;
  }
  .cemi-single-property .cemi-tab-btn.is-active{
    background:#fde8f1!important;
    border-color:#dd3d7b!important;
  }

  /* Orden móvil: título, precio, m², servicios, galería, rooms, demás */

  .cemi-card-services .cemi-services-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
  }
  .cemi-card-services .cemi-service-item{
    padding:8px 4px;
  }
  .cemi-card-services .cemi-service-item strong{font-size:10px}
  .cemi-card-services .cemi-service-item span{font-size:9px}
}

/* v0.5.3 - M² dinámicos: si solo hay un dato, se centra; si hay dos, usa dos recuadros */
.cemi-card-m2.is-single-m2 .cemi-facts-grid{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center;
}
.cemi-card-m2.is-single-m2 .cemi-fact{
  width:100%;
  max-width:220px;
}
.cemi-card-m2.is-double-m2 .cemi-facts-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:767px){
  .cemi-card-m2.is-single-m2 .cemi-fact{max-width:260px;}
}

/* =========================================================
   CEMI GALERÍA v0.5.4 — móvil real estable
   Reemplaza visualmente el slider anterior sin depender del theme.
========================================================= */
.cemi-gallery{
  position:relative;
  margin-bottom:12px;
  touch-action:pan-y;
}
.cemi-gallery-main{
  position:relative;
  width:100%;
  border-radius:14px;
  overflow:hidden;
  background:#e2e8f0;
  -webkit-user-select:none;
  user-select:none;
}
.cemi-gallery-main::before{
  content:"";
  display:block;
  padding-top:100%;
}
.cemi-gallery-track{
  display:flex;
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  height:100%;
  transform:translate3d(0,0,0);
  will-change:transform;
  -webkit-overflow-scrolling:touch;
}
.cemi-gallery-track.is-animating{
  transition:transform .32s ease;
}
.cemi-gallery-slide{
  height:100%;
  flex:0 0 auto;
  overflow:hidden;
}
.cemi-gallery-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
  -webkit-user-drag:none;
}
.cemi-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:rgba(26,34,49,.72);
  color:#fff;
  font-size:28px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.cemi-gallery-prev{left:12px}
.cemi-gallery-next{right:12px}
.cemi-gallery-counter{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:4;
  background:rgba(26,34,49,.72);
  color:#fff;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
}
.cemi-gallery-thumbs{
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  gap:8px;
  margin-top:8px;
  padding-bottom:6px;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.cemi-gallery-thumbs::-webkit-scrollbar{
  height:7px;
}
.cemi-gallery-thumbs::-webkit-scrollbar-thumb{
  background:rgba(26,34,49,.22);
  border-radius:999px;
}
.cemi-gallery-thumb{
  width:86px;
  min-width:86px;
  flex:0 0 86px;
  aspect-ratio:1/1;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  opacity:.62;
  transition:opacity .2s,border-color .2s;
  padding:0;
  background:transparent;
  scroll-snap-align:start;
}
.cemi-gallery-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cemi-gallery-thumb.is-active{
  opacity:1;
  border-color:#dd3d7b;
}
.cemi-gallery-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#64748b;
  font-weight:700;
}
@media(max-width:767px){
  .cemi-gallery-main{border-radius:10px;}
  .cemi-gallery-thumbs{
    gap:6px;
    padding-bottom:4px;
  }
  .cemi-gallery-thumb{
    width:64px;
    min-width:64px;
    flex-basis:64px;
  }
  .cemi-gallery-arrow{
    width:34px;
    height:34px;
    font-size:24px;
    background:rgba(26,34,49,.58);
  }
}

/* =========================================================
   CEMI v0.5.6 — Orden móvil: galería debajo del precio
   Objetivo móvil:
   1 Título
   2 Precio
   3 Galería
   4 m²
   5 Servicios
   6 Contenido principal restante
   7 Datos de habitaciones/baños/cochera
   8 Bloques laterales restantes
   9 Contacto
========================================================= */
@media(max-width:640px){
  .cemi-property-wrap{
    display:flex!important;
    flex-direction:column!important;
  }

  /* Permitimos ordenar la galería separada del resto del contenido izquierdo */
  .cemi-prop-left{
  }


  /* Lo demás que viene en la columna izquierda queda después de m²/servicios */

}

/* =========================================================
   CEMI v0.5.7 — Orden móvil corregido
   Objetivo móvil:
   1 Título
   2 Precio
   3 Galería
   4 m² terreno / construcción
   5 Habitaciones / baños / regaderas / cochera
   6 Servicios
   7 Contenido principal restante
   8 Bloques laterales restantes
   9 Contacto
========================================================= */
@media(max-width:640px){
  .cemi-property-wrap{
    display:flex!important;
    flex-direction:column!important;
  }

  /* Permite ordenar la galería y los bloques internos sin mover PHP */
  .cemi-prop-left{
  }


  /* Después de servicios queda el contenido principal: descripción, mapa, video, equipamiento, cercanas, amenidades */

}


/* CEMI v0.6.3 - badges de destacada */
.cemi-badge-featured{position:absolute;top:50px;left:14px;z-index:11;background:#1A2231;color:#fff;font-size:12px;font-weight:800;padding:6px 14px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.18);pointer-events:none}
.cemi-card-featured{position:absolute;top:46px;left:10px;z-index:5;background:#1A2231;color:#fff;font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 8px 18px rgba(0,0,0,.16)}
@media(max-width:767px){.cemi-badge-featured{top:48px;left:12px;font-size:11px;padding:5px 12px}.cemi-card-featured{font-size:10px}}

/* ══════════════════════════════════
   CEMI v0.6.6 — Ajuste propiedades misma zona
   - Corrige carrusel escritorio incompleto
   - Reduce espacio vertical
   - Datos rápidos dentro de imagen
   ══════════════════════════════════ */
.cemi-nearby-card{
    padding:14px!important;
    margin-bottom:18px!important;
}
.cemi-nearby-head{
    margin-bottom:10px!important;
}
.cemi-nearby-head h2{
    font-size:20px!important;
    line-height:1.15!important;
}
.cemi-nearby-slider-wrap{
    overflow:hidden!important;
    padding:0 2px 4px!important;
}
.cemi-nearby-track{
    align-items:stretch;
}
.cemi-nearby-slide{
    min-width:33.333333%!important;
    flex:0 0 33.333333%!important;
    padding:0 5px!important;
}
.cemi-nearby-img-wrap{
    margin-bottom:6px!important;
    border-radius:9px!important;
}
.cemi-nearby-info{
    padding:0 1px!important;
}
.cemi-nearby-price{
    font-size:14px!important;
    line-height:1.15!important;
    margin-bottom:2px!important;
}
.cemi-nearby-title{
    font-size:12.5px!important;
    line-height:1.2!important;
    margin-bottom:2px!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.cemi-nearby-loc{
    font-size:10.5px!important;
    line-height:1.2!important;
    margin-bottom:0!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.cemi-nearby-img-facts{
    position:absolute;
    left:7px;
    right:7px;
    bottom:7px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    z-index:4;
}
.cemi-nearby-img-facts span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:4px 3px;
    border-radius:7px;
    background:rgba(26,34,49,.82);
    color:#fff;
    font-size:10px;
    line-height:1;
    font-weight:700;
    backdrop-filter:blur(4px);
    white-space:nowrap;
}
.cemi-nearby-prev,
.cemi-nearby-next{
    top:42%!important;
    width:30px!important;
    height:30px!important;
    font-size:14px!important;
}
@media(max-width:1024px){
    .cemi-nearby-slide{
        min-width:50%!important;
        flex-basis:50%!important;
    }
}
@media(max-width:640px){
    .cemi-nearby-card{padding:18px!important;}
    .cemi-nearby-slide{
        min-width:100%!important;
        flex-basis:100%!important;
        padding:0 6px!important;
    }
    .cemi-nearby-img-facts span{font-size:11px;padding:6px 4px;}
}


/* ══════════════════════════════════
   CEMI v0.6.8 — M² en una sola línea
   - En single property, terreno y construcción siempre se leen como:
     120 m² terreno / 95 m² constr.
   - La referencia de m² queda en rosa junto al número.
   - Solo afecta el bloque de m², no habitaciones/baños/cochera.
   ══════════════════════════════════ */
.cemi-card-m2 .cemi-fact{
    display:flex!important;
    align-items:baseline!important;
    justify-content:center!important;
    gap:5px!important;
    flex-wrap:wrap!important;
    min-height:54px;
}
.cemi-card-m2 .cemi-fact-num{
    display:inline!important;
    color:#dd3d7b!important;
    line-height:1!important;
    margin:0!important;
}
.cemi-card-m2 .cemi-fact-lbl{
    display:inline!important;
    color:#dd3d7b!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1!important;
    margin:0!important;
    text-transform:none!important;
    letter-spacing:0!important;
}
@media(max-width:767px){
    .cemi-card-m2 .cemi-fact{
        min-height:50px;
        gap:4px!important;
    }
    .cemi-card-m2 .cemi-fact-num{
        font-size:21px!important;
    }
    .cemi-card-m2 .cemi-fact-lbl{
        font-size:13px!important;
    }
}

/* ═════════════════════════════════════════════════════
   CEMI v0.7.0 — Ajustes single property
   - m²: número + unidad arriba en rosa; terreno/construcción abajo en blanco.
   - Métodos de pago: en móvil va justo debajo del precio.
   - Datos relevantes: recámaras/baños/regaderas/cochera en un solo renglón móvil.
   - Equipamiento: recuadros con icono, notas más legibles e incluye servicios.
═════════════════════════════════════════════════════ */

/* M² terreno / construcción */
.cemi-card-m2 .cemi-fact{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:68px!important;
  padding:14px 10px!important;
  background:#1A2231!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
  text-align:center!important;
}
.cemi-card-m2 .cemi-fact-num{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:4px!important;
  color:#dd3d7b!important;
  font-weight:900!important;
  line-height:1!important;
  margin:0!important;
}
.cemi-card-m2 .cemi-fact-unit{
  color:#dd3d7b!important;
  font-size:.72em!important;
  font-weight:900!important;
  line-height:1!important;
}
.cemi-card-m2 .cemi-fact-lbl{
  display:block!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.15!important;
  margin:0!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
  text-align:center!important;
}

/* Datos relevantes: mantener recuadros claros y legibles */
.cemi-card-rooms .cemi-fact{
  border:1px solid #eef2f7;
  box-shadow:0 1px 0 rgba(26,34,49,.03);
}

/* Equipamiento con iconos */
.cemi-equip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.cemi-equip-item{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#f8fafc;
  border:1px solid #eef2f7;
  border-radius:12px;
  padding:12px 13px!important;
  color:#1A2231;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.cemi-equip-icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fde8f1;
  color:#dd3d7b;
}
.cemi-equip-text{
  display:block;
  min-width:0;
}
.cemi-tab-content .cemi-facility-notes,
.cemi-tab-content .cemi-service-notes-tab{
  margin:12px 0 0!important;
  font-size:13px!important;
  line-height:1.65!important;
  color:#475569!important;
  font-style:normal!important;
}
.cemi-equip-services{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #eef2f7;
}
.cemi-equip-services h4{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  color:#1A2231;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cemi-services-grid-tab{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.cemi-services-grid-tab .cemi-service-item{
  display:flex!important;
  align-items:center!important;
  text-align:left!important;
  flex-direction:row!important;
  justify-content:flex-start!important;
  background:#f8fafc!important;
  border:1px solid #eef2f7!important;
  border-radius:12px!important;
  padding:12px!important;
  gap:10px!important;
}
.cemi-services-grid-tab .cemi-service-item strong{
  display:block;
  font-size:12px!important;
  color:#1A2231;
  line-height:1.2;
}
.cemi-services-grid-tab .cemi-service-item span{
  display:block;
  font-size:12px!important;
  color:#64748b;
  line-height:1.35;
  margin-top:2px;
}

@media(max-width:640px){
  /* Orden móvil final */

  /* Métodos de pago más compactos bajo precio */
  .cemi-card-payment-methods{
    margin-top:-6px!important;
    padding:14px!important;
  }
  .cemi-card-payment-methods h3{
    margin-bottom:8px!important;
  }

  /* M² en móvil */
  .cemi-card-m2 .cemi-fact{
    min-height:62px!important;
    padding:12px 8px!important;
  }
  .cemi-card-m2 .cemi-fact-num{
    font-size:21px!important;
  }
  .cemi-card-m2 .cemi-fact-lbl{
    font-size:10px!important;
  }

  /* Recámaras / baños / regaderas / cochera en un solo renglón */
  .cemi-card-rooms .cemi-facts-grid,
  .cemi-card-rooms .cemi-facts-grid-rooms{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .cemi-card-rooms .cemi-fact{
    padding:9px 4px!important;
    min-width:0!important;
    border-radius:10px!important;
  }
  .cemi-card-rooms .cemi-fact-num{
    font-size:18px!important;
    line-height:1!important;
  }
  .cemi-card-rooms .cemi-fact-lbl{
    font-size:8.5px!important;
    line-height:1.1!important;
    letter-spacing:0!important;
    margin-top:4px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Equipamiento móvil */
  .cemi-equip-grid,
  .cemi-services-grid-tab{
    grid-template-columns:1fr!important;
  }
  .cemi-equip-item{
    padding:11px 12px!important;
    font-size:13px!important;
  }
}


/* =========================================================
   CEMI v0.7.1 — Ajuste móvil: métodos de pago debajo del precio
   y botón subir sin afectar el enfoque de la página.
========================================================= */
@media(max-width:640px){
  .cemi-property-wrap{
    display:flex!important;
    flex-direction:column!important;
  }
  .cemi-prop-left,
  .cemi-prop-right,
  .cemi-sticky-panel{
  }

  .cemi-card-payment-methods{
    margin-top:-6px!important;
    margin-bottom:12px!important;
    padding:14px!important;
  }
  .cemi-card-payment-methods h3{
    margin-bottom:8px!important;
  }
}

.cemi-backtop{
  position:fixed;
  right:18px;
  bottom:18px;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:#dd3d7b;
  color:#fff;
  z-index:9998;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.cemi-backtop.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.cemi-backtop:hover{background:#c81768;}
.cemi-backtop:focus{outline:2px solid rgba(221,61,123,.35);outline-offset:3px;}
@media(max-width:640px){
  .cemi-backtop{
    right:14px;
    bottom:16px;
    width:46px;
    height:46px;
    font-size:22px;
  }
}

/* =========================================================
   CEMI v0.7.2 — Métodos de pago móviles dentro del bloque precio
   Motivo: en algunos celulares el reordenamiento por display:contents
   no respeta bien el card separado. Este bloque queda físicamente
   dentro de .cemi-card-price, por eso SIEMPRE aparece debajo del precio.
========================================================= */
.cemi-payment-methods-mobile-inline{
  display:none;
}
@media(max-width:640px){
  /* Ocultamos la tarjeta normal en móvil para evitar duplicados */
  .cemi-card-payment-methods{
    display:none!important;
  }
  .cemi-payment-methods-mobile-inline{
    display:block!important;
    margin-top:14px!important;
    padding:12px!important;
    border-radius:12px!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.22)!important;
    box-shadow:0 10px 20px rgba(0,0,0,.08)!important;
  }
  .cemi-payment-mobile-title{
    margin:0 0 8px!important;
    color:#1A2231!important;
    font-size:12px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.05em!important;
    line-height:1.2!important;
  }
  .cemi-payment-mobile-pills{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
  }
  .cemi-payment-methods-mobile-inline .cemi-credit-pill{
    background:#fde8f1!important;
    color:#9b1a4a!important;
    border:1px solid rgba(221,61,123,.35)!important;
    padding:6px 10px!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.1!important;
  }
}

/* ── Distribución tab ── */
.cemi-dist-notes{font-size:15px;line-height:1.8;color:#374151;white-space:pre-line}
.cemi-no-dist{font-size:14px;color:#9ca3af;font-style:italic}

/* ── Cercano a dentro del panel mapa ── */
.cemi-nearby-tab{margin-top:20px;padding-top:18px;border-top:1px solid #e5e7eb}
.cemi-nearby-tab h4{font-size:14px;font-weight:700;color:#1a2231;margin:0 0 12px}

/* ── Servicios en pestaña equipamiento (escritorio) ── */
.cemi-equip-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cemi-equip-services-grid .cemi-service-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}
.cemi-equip-services-grid .cemi-service-item strong{display:block;font-size:13px;color:#1a2231;margin-bottom:2px}
.cemi-equip-services-grid .cemi-service-item span{font-size:12px;color:#6b7280}
@media(max-width:640px){.cemi-equip-services-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════
   MODO OSCURO / CLARO
   ══════════════════════════════════ */

/* Variables modo claro (default) */
:root {
    --cemi-bg:           #f8f9fb;
    --cemi-bg-card:      #ffffff;
    --cemi-bg-card2:     #f3f4f6;
    --cemi-text:         #1a2231;
    --cemi-text-muted:   #6b7280;
    --cemi-border:       rgba(26,34,49,.09);
    --cemi-border-strong:rgba(26,34,49,.16);
    --cemi-fact-bg:      #f3f4f6;
    --cemi-tab-nav:      #f3f4f6;
    --cemi-tab-active:   #ffffff;
    --cemi-shadow:       0 2px 12px rgba(0,0,0,.06);
    --cemi-nearby-bg:    #f9fafb;
    --cemi-input-bg:     #ffffff;
    --cemi-pill-bg:      #e5e7eb;
    --cemi-pill-text:    #374151;
}

/* Variables modo oscuro */
html.cemi-dark {
    --cemi-bg:           #0f1623;
    --cemi-bg-card:      #1a2231;
    --cemi-bg-card2:     #232f42;
    --cemi-text:         #e2e8f0;
    --cemi-text-muted:   #94a3b8;
    --cemi-border:       rgba(255,255,255,.07);
    --cemi-border-strong:rgba(255,255,255,.14);
    --cemi-fact-bg:      #232f42;
    --cemi-tab-nav:      #232f42;
    --cemi-tab-active:   #1a2231;
    --cemi-shadow:       0 2px 16px rgba(0,0,0,.35);
    --cemi-nearby-bg:    #232f42;
    --cemi-input-bg:     #232f42;
    --cemi-pill-bg:      #2d3a50;
    --cemi-pill-text:    #cbd5e1;
}

/* Aplicar variables al body */
body {
    background-color: var(--cemi-bg);
    color: var(--cemi-text);
    transition: background-color .3s ease, color .3s ease;
}

/* Cards */
.cemi-card {
    background: var(--cemi-bg-card) !important;
    border-color: var(--cemi-border) !important;
    box-shadow: var(--cemi-shadow) !important;
    color: var(--cemi-text) !important;
}
.cemi-card h1,.cemi-card h2,.cemi-card h3,.cemi-card h4 {
    color: var(--cemi-text) !important;
}
.cemi-location,.cemi-municipio-front,.cemi-price-label {
    color: var(--cemi-text-muted) !important;
}

/* Facts grid */
.cemi-fact {
    background: var(--cemi-fact-bg) !important;
    color: var(--cemi-text) !important;
}
.cemi-fact-lbl { color: var(--cemi-text-muted) !important; }
.cemi-fact-num { color: var(--cemi-text) !important; }

/* Tabs */
.cemi-tabs-nav {
    background: var(--cemi-tab-nav) !important;
}
.cemi-tab-btn {
    color: var(--cemi-text-muted) !important;
}
.cemi-tab-btn.is-active {
    background: var(--cemi-tab-active) !important;
    color: var(--cemi-text) !important;
}
.cemi-tab-panel {
    background: var(--cemi-bg-card) !important;
    color: var(--cemi-text) !important;
}
.cemi-dist-notes { color: var(--cemi-text) !important; }

/* Equipamiento */
.cemi-equip-item {
    background: var(--cemi-bg-card2) !important;
    color: var(--cemi-text) !important;
    border-color: var(--cemi-border) !important;
}
.cemi-equip-text { color: var(--cemi-text) !important; }
.cemi-dist-section {
    border-color: var(--cemi-border) !important;
}
.cemi-dist-section h4 { color: var(--cemi-text) !important; }

/* Cercanías */
.cemi-nearby-item {
    background: var(--cemi-nearby-bg) !important;
    border-color: var(--cemi-border) !important;
}
.cemi-nearby-text strong { color: var(--cemi-text) !important; }
.cemi-nearby-tab { border-color: var(--cemi-border) !important; }
.cemi-nearby-tab h4 { color: var(--cemi-text) !important; }

/* Rent rows */
.cemi-rent-row {
    border-color: var(--cemi-border) !important;
    color: var(--cemi-text) !important;
}
.cemi-rent-row span { color: var(--cemi-text-muted) !important; }

/* Pills / créditos */
.cemi-credit-pill {
    background: var(--cemi-pill-bg) !important;
    color: var(--cemi-pill-text) !important;
}

/* Galería */
.cemi-gallery-thumbs { background: var(--cemi-bg-card2) !important; }
.cemi-gallery-thumb { border-color: var(--cemi-border) !important; }

/* Propiedades cercanas (slider) */
.cemi-nearby-card { background: var(--cemi-bg-card) !important; }
.cemi-nearby-title { color: var(--cemi-text) !important; }
.cemi-nearby-loc { color: var(--cemi-text-muted) !important; }
.cemi-nearby-facts span {
    background: var(--cemi-bg-card2) !important;
    color: var(--cemi-text-muted) !important;
}

/* ── Botón toggle ── */
.cemi-theme-toggle {
    position: fixed;
    bottom: 76px;
    right: 20px;
    z-index: 999;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--cemi-bg-card);
    border: 1px solid var(--cemi-border-strong);
    box-shadow: 0 2px 12px rgba(0,0,0,.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cemi-text);
    transition: background .2s, transform .2s, box-shadow .2s;
}
.cemi-theme-toggle:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
}

/* Mostrar/ocultar íconos según modo */
html:not(.cemi-dark) .cemi-theme-icon-dark { display: none; }
html.cemi-dark       .cemi-theme-icon-light { display: none; }

/* Single property layout en dark */
html.cemi-dark .cemi-single-property { background: var(--cemi-bg); }
html.cemi-dark .cemi-prop-left,
html.cemi-dark .cemi-prop-right { background: transparent; }

/* ── Transición suave en todos los elementos ── */
.cemi-card,.cemi-fact,.cemi-tab-btn,.cemi-tab-panel,
.cemi-equip-item,.cemi-nearby-item,.cemi-rent-row,
.cemi-credit-pill,.cemi-theme-toggle {
    transition: background .3s ease, border-color .3s ease, color .3s ease;
}

/* Sección distribución en equipamiento */
.cemi-dist-section {
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--cemi-border);
}
.cemi-dist-section h4 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--cemi-text-muted);
    margin: 0 0 10px;
}

/* ── Grid m² con frente y fondo ── */
.cemi-facts-grid-m2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
@media(max-width:480px){
    .cemi-facts-grid-m2 { grid-template-columns: repeat(2, 1fr); }
}

/* ── Slider cercanas en ancho completo ── */
.cemi-nearby-full-wrap {
    /* Mismo ancho y padding que .cemi-property-wrap */
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 18px 48px;
}
.cemi-nearby-full-wrap .cemi-card.cemi-nearby-card {
    border-radius: 16px;
    padding: 24px 28px;
    margin-top: 0;
}
/* Anular el margen negativo de las flechas para que no salgan del card */
.cemi-nearby-full-wrap .cemi-nearby-prev { left: 0; }
.cemi-nearby-full-wrap .cemi-nearby-next { right: 0; }

/* 3 slides en escritorio */
.cemi-nearby-full-wrap .cemi-nearby-slide {
    min-width: calc(100% / 3);
}
@media(max-width:1024px){
    .cemi-nearby-full-wrap .cemi-nearby-slide { min-width: calc(100% / 2); }
}
@media(max-width:640px){
    .cemi-nearby-full-wrap { padding: 0 14px 32px; }
    .cemi-nearby-full-wrap .cemi-nearby-slide { min-width: 85%; }
    .cemi-nearby-full-wrap .cemi-card.cemi-nearby-card { padding: 18px 16px; }
}

/* Dark mode nearby full */
html.cemi-dark .cemi-nearby-full-wrap .cemi-nearby-card {
    background: var(--cemi-bg-card) !important;
}
html.cemi-dark .cemi-nearby-full-wrap h2 {
    color: var(--cemi-text) !important;
}

/* ── Diferenciación visual cards de facts ── */
/* Rooms: rosa — dato principal de búsqueda */
.cemi-card-rooms .cemi-fact { background: #fde8f1; border: 1px solid rgba(221,61,123,.15); }
.cemi-card-rooms .cemi-fact-num { color: #dd3d7b; }
.cemi-card-rooms .cemi-fact-lbl { color: #9b1a4a; }

/* M²: navy — medidas técnicas */
.cemi-card-m2 .cemi-fact { background: #eef2f7; border: 1px solid rgba(26,34,49,.1); }
.cemi-card-m2 .cemi-fact-num { color: #1a2231; font-size: 17px; }
.cemi-card-m2 .cemi-fact-unit { font-size: 11px; font-weight: 600; color: #64748b; margin-left: 2px; }
.cemi-card-m2 .cemi-fact-lbl { color: #64748b; }

/* Dark mode ajuste */
html.cemi-dark .cemi-card-rooms .cemi-fact { background: rgba(221,61,123,.12); border-color: rgba(221,61,123,.2); }
html.cemi-dark .cemi-card-m2 .cemi-fact { background: var(--cemi-bg-card2); border-color: var(--cemi-border); }
html.cemi-dark .cemi-card-m2 .cemi-fact-num { color: var(--cemi-text); }
html.cemi-dark .cemi-card-m2 .cemi-fact-lbl { color: var(--cemi-text-muted); }
html.cemi-dark .cemi-card-rooms .cemi-fact-lbl { color: rgba(221,61,123,.8); }

/* ══ ORDEN MÓVIL — AUTORITATIVO (sobreescribe versiones anteriores) ══ */
@media(max-width:768px){
  .cemi-prop-right{ display:contents; }

  /* Orden definitivo en móvil */
  /* Todo lo demás en el medio */
}




/* ══════════════════════════════════
   ORDEN MÓVIL — ÚNICA FUENTE DE VERDAD
   ══════════════════════════════════ */
@media(max-width:768px){
}

/* ══════════════════════════════════
   ORDEN MÓVIL — ÚNICA FUENTE DE VERDAD
   ══════════════════════════════════ */
@media(max-width:768px){
  .cemi-prop-right                { display:contents !important; }
  .cemi-card-title                { order:1  !important; }
  .cemi-card-price                { order:2  !important; }
  .cemi-gallery                   { order:3  !important; }
  .cemi-card-rooms                { order:4  !important; }
  .cemi-card-m2                   { order:5  !important; }
  .cemi-tabs-wrap                 { order:6  !important; }
  .cemi-card-payment-methods      { order:7  !important; }
  .cemi-card-rent                 { order:8  !important; }
  .cemi-prop-left > .cemi-card   { order:9  !important; }
  .cemi-prop-left > section      { order:9  !important; }
  .cemi-prop-right .cemi-card:not(.cemi-card-title):not(.cemi-card-price):not(.cemi-card-rooms):not(.cemi-card-m2):not(.cemi-card-payment-methods):not(.cemi-card-rent):not(.cemi-card-contact) { order:9 !important; }
  .cemi-card-contact              { order:99 !important; }
  .cemi-nearby-full-wrap          { order:100 !important; }
}

/* =========================================================
   CEMI v0.7.6 — Limpieza visual front + orden móvil final
   Orden móvil solicitado:
   1 Título / Municipio, Estado
   2 Precio
   3 Métodos de pago
   4 Galería
   5 Recámaras / baños / regaderas / cochera
   6 m² terreno / construcción
   7 Servicios
   8 Resto del contenido
========================================================= */

/* Servicios fuera de Equipamiento */
.cemi-card-services .cemi-services-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.cemi-card-services .cemi-service-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  padding:12px 8px;
  background:#f8fafc;
  border:1px solid rgba(26,34,49,.08);
  border-radius:12px;
  min-height:82px;
}
.cemi-card-services .cemi-service-icon{
  width:30px;
  height:30px;
  border-radius:999px;
  background:#fde8f1;
  color:#dd3d7b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
}
.cemi-card-services .cemi-service-item strong{
  display:block;
  font-size:11px;
  font-weight:800;
  color:#1a2231;
  line-height:1.15;
}
.cemi-card-services .cemi-service-item small{
  display:block;
  margin-top:2px;
  font-size:10px;
  line-height:1.2;
  color:#64748b;
  font-weight:500;
}
.cemi-services-notes{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.5;
  color:#64748b;
}

/* Tarjetas más parejas y limpias */
.cemi-card-rooms .cemi-facts-grid,
.cemi-card-rooms .cemi-facts-grid-rooms{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px;
}
.cemi-card-rooms .cemi-fact,
.cemi-card-m2 .cemi-fact{
  min-height:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.cemi-card-m2 .cemi-fact-num{
  display:block;
  line-height:1.1;
  text-align:center;
}
.cemi-card-m2 .cemi-fact-lbl{
  display:block;
  text-align:center;
  margin-top:5px;
}

@media(max-width:768px){
  .cemi-property-wrap{
    display:flex!important;
    flex-direction:column!important;
  }
  .cemi-prop-left,
  .cemi-prop-right,
  .cemi-sticky-panel{
    display:contents!important;
  }

  /* orden móvil: definido en front-single.css */

  .cemi-card{ padding:14px!important; margin-bottom:12px!important; }

  .cemi-card-rooms .cemi-facts-grid,
  .cemi-card-rooms .cemi-facts-grid-rooms{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .cemi-card-rooms .cemi-fact{
    min-height:58px!important;
    padding:8px 4px!important;
    border-radius:10px!important;
  }
  .cemi-card-rooms .cemi-fact-num{ font-size:18px!important; }
  .cemi-card-rooms .cemi-fact-lbl{ font-size:9px!important; letter-spacing:.02em!important; }

  .cemi-card-m2 .cemi-facts-grid,
  .cemi-card-m2 .cemi-facts-grid-m2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .cemi-card-services .cemi-services-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .cemi-card-services .cemi-service-item{
    min-height:60px!important;
    padding:8px 4px!important;
    gap:4px!important;
  }
  .cemi-card-services .cemi-service-icon{
    width:24px!important;
    height:24px!important;
    font-size:12px!important;
  }
  .cemi-card-services .cemi-service-item strong{font-size:9px!important;}
  .cemi-card-services .cemi-service-item small{font-size:8px!important;}
}


/* =========================================================
   v0.7.7 SHORTCODES - Iconografía minimalista unificada
   - Misma línea visual para recámaras, baños, regaderas y cochera.
   - m² terreno/construcción como badge superior derecho en cards.
========================================================= */
.cemi-card-icons-bar{
    background:linear-gradient(180deg,rgba(26,34,49,.10),rgba(26,34,49,.84)) !important;
    padding:8px 7px !important;
    gap:6px;
}
.cemi-icon-item{
    color:#fff !important;
    gap:2px !important;
    min-width:0;
}
.cemi-icon-item svg{
    opacity:1 !important;
    stroke:#fff;
    display:block;
    margin-bottom:1px;
}
.cemi-icon-num{
    font-size:13px !important;
    font-weight:800 !important;
}
.cemi-icon-lbl{
    font-size:8px !important;
    font-weight:700;
    opacity:.86 !important;
    letter-spacing:.03em !important;
}

/* Badge de m² para shortcodes */
.cemi-card-area-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    gap:5px;
    background:rgba(26,34,49,.86);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    padding:6px 9px;
    font-size:11px;
    font-weight:800;
    line-height:1;
    backdrop-filter:blur(8px);
    box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.cemi-card-area-badge svg{
    stroke:#D7266B;
    flex:0 0 auto;
}
.cemi-list-img-wrap .cemi-card-area-badge{
    top:8px;
    right:8px;
    font-size:10px;
    padding:5px 8px;
}

/* Destacadas: sustituye emojis por línea minimalista */
.cemi-featured-facts{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
    padding:9px 10px !important;
    background:#fff !important;
    border-bottom:1px solid rgba(26,34,49,.08) !important;
}
.cemi-featured-fact{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    min-height:30px !important;
    border-radius:999px !important;
    background:#f6f7fa !important;
    color:#1A2231 !important;
    font-size:12px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}
.cemi-featured-fact svg{
    stroke:#D7266B;
    flex:0 0 auto;
}
.cemi-featured-area-badge{
    display:inline-flex !important;
    align-items:center;
    gap:5px;
}
@media(max-width:600px){
    .cemi-featured-facts{gap:4px !important}
    .cemi-featured-fact{font-size:11px !important;padding:0 4px}
    .cemi-card-area-badge{font-size:10px;padding:5px 8px}
}

/* CEMI v0.7.9 - Shortcodes: municipio + m² terreno/construcción visibles juntos */
.cemi-card-municipio,
.cemi-list-municipio,
.cemi-featured-municipio{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:5px;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}
.cemi-card-municipio svg,
.cemi-list-municipio svg,
.cemi-featured-municipio svg{
  color:#D7266B;
  flex:0 0 auto;
}
.cemi-card-areas,
.cemi-list-areas,
.cemi-featured-areas{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.cemi-area-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#f6f7fa;
  border:1px solid rgba(26,34,49,.08);
  color:#1A2231;
  line-height:1;
  white-space:nowrap;
}
.cemi-area-pill svg{
  color:#D7266B;
  flex:0 0 auto;
}
.cemi-area-pill strong{
  font-size:12px;
  font-weight:900;
  color:#1A2231;
}
.cemi-area-pill em{
  font-style:normal;
  font-size:10px;
  font-weight:800;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.cemi-list-areas{justify-content:flex-end;align-content:flex-start;margin-top:0;}
.cemi-featured-areas{margin-top:10px;}
@media(max-width:600px){
  .cemi-card-areas,.cemi-featured-areas{gap:5px;}
  .cemi-area-pill{padding:5px 8px;}
  .cemi-area-pill strong{font-size:11px;}
  .cemi-area-pill em{font-size:9px;}
}



/* v0.8.1 — Shortcodes: m² sobre imagen y municipio abajo */
.cemi-card-img-wrap,
.cemi-list-img-wrap,
.cemi-featured-img-wrap{
    position:relative;
    overflow:hidden;
}
.cemi-card-area-stack,
.cemi-list-area-stack{
    position:absolute;
    top:12px;
    right:12px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
    z-index:2;
}
.cemi-area-overlay-chip{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:94px;
    padding:8px 10px;
    border-radius:12px;
    background:rgba(26,34,49,.86);
    color:#fff;
    backdrop-filter:blur(8px);
    box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.cemi-area-overlay-chip strong{
    font-size:13px;
    line-height:1;
    font-weight:800;
    color:#fff;
}
.cemi-area-overlay-chip em{
    font-size:10px;
    line-height:1.2;
    font-style:normal;
    color:#fff;
    margin-top:4px;
    opacity:.95;
}
.cemi-card-municipio-overlay,
.cemi-list-municipio-overlay{
    position:absolute;
    left:50%;
    bottom:12px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:calc(100% - 24px);
    padding:8px 14px;
    border-radius:999px;
    background:#D7266B;
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    box-shadow:0 6px 18px rgba(215,38,107,.35);
    z-index:2;
}
.cemi-card-body .cemi-card-areas,
.cemi-card-body .cemi-card-municipio,
.cemi-list-body .cemi-list-areas,
.cemi-list-body .cemi-list-municipio{
    display:none !important;
}
@media(max-width:640px){
    .cemi-area-overlay-chip{
        min-width:86px;
        padding:7px 9px;
    }
    .cemi-area-overlay-chip strong{
        font-size:12px;
    }
    .cemi-area-overlay-chip em{
        font-size:9px;
    }
    .cemi-card-municipio-overlay,
    .cemi-list-municipio-overlay{
        font-size:11px;
        padding:7px 12px;
        bottom:10px;
    }
}



/* ═════════════════════════════════════════════════════
   CEMI v0.8.2 — Unificar shortcodes y misma zona con línea Destacadas
   - Tarjetas 1:1, bordes redondeados, sombra suave
   - m² y municipio sobre imagen
   - Datos rápidos con iconos minimalistas bajo imagen
═════════════════════════════════════════════════════ */

/* Cards de shortcodes generales */
.cemi-prop-card{
    display:block!important;
    background:#fff!important;
    border:1px solid rgba(26,34,49,.08)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    text-decoration:none!important;
    box-shadow:0 10px 26px rgba(0,0,0,.08)!important;
    color:#1A2231!important;
    transition:transform .2s ease, box-shadow .2s ease!important;
}
.cemi-prop-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(0,0,0,.12)!important;
}
.cemi-card-img-wrap{
    position:relative!important;
    aspect-ratio:1/1!important;
    background:#f3f5f8!important;
    overflow:hidden!important;
}
.cemi-card-img,
.cemi-card-img-wrap img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
.cemi-card-img-empty{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#6b7280;
    font-weight:700;
}
.cemi-card-badge{
    position:absolute!important;
    left:12px!important;
    top:12px!important;
    background:#D7266B!important;
    color:#fff!important;
    border-radius:999px!important;
    padding:7px 12px!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    z-index:4!important;
}
.cemi-card-featured{
    position:absolute!important;
    left:12px!important;
    top:50px!important;
    background:#1A2231!important;
    color:#fff!important;
    border-radius:999px!important;
    padding:6px 11px!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    z-index:4!important;
}
.cemi-card-icons-bar{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:9px 10px!important;
    background:#fff!important;
    border-bottom:1px solid rgba(26,34,49,.08)!important;
}
.cemi-card-icons-bar .cemi-icon-item{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-height:30px!important;
    border-radius:999px!important;
    background:#f6f7fa!important;
    color:#1A2231!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
.cemi-card-icons-bar svg{
    width:13px!important;
    height:13px!important;
    color:#D7266B!important;
    stroke:currentColor!important;
}
.cemi-card-icons-bar .cemi-icon-lbl{
    display:none!important;
}
.cemi-card-body{
    padding:14px 15px 16px!important;
}
.cemi-card-body .cemi-card-price{
    background:transparent!important;
    border:0!important;
    padding:0!important;
    box-shadow:none!important;
    text-align:left!important;
    color:#D7266B!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.15!important;
    margin:0 0 7px!important;
}
.cemi-card-body .cemi-card-price .cemi-card-period{
    font-size:12px!important;
    color:#6b7280!important;
    font-weight:700!important;
}
.cemi-card-title{
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.25!important;
    margin:0 0 8px!important;
    color:#1A2231!important;
}
.cemi-card-loc{
    font-size:13px!important;
    color:#6b7280!important;
    line-height:1.3!important;
}
.cemi-card-loc svg{
    color:#D7266B!important;
    margin-right:4px!important;
}

/* Overlays m² y municipio para shortcodes */
.cemi-card-area-stack,
.cemi-list-area-stack,
.cemi-nearby-area-stack{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:6px!important;
    z-index:3!important;
}
.cemi-area-overlay-chip{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:94px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    background:rgba(26,34,49,.86)!important;
    color:#fff!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:0 6px 20px rgba(0,0,0,.18)!important;
}
.cemi-area-overlay-chip strong{
    font-size:13px!important;
    line-height:1!important;
    font-weight:800!important;
    color:#fff!important;
}
.cemi-area-overlay-chip em{
    font-size:10px!important;
    line-height:1.2!important;
    font-style:normal!important;
    color:#fff!important;
    margin-top:4px!important;
    opacity:.95!important;
}
.cemi-card-municipio-overlay,
.cemi-list-municipio-overlay,
.cemi-nearby-municipio-overlay{
    position:absolute!important;
    left:50%!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    max-width:calc(100% - 24px)!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    background:#D7266B!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    box-shadow:0 6px 18px rgba(215,38,107,.35)!important;
    z-index:3!important;
}

/* Quitar datos repetidos abajo */
.cemi-card-body .cemi-card-areas,
.cemi-card-body .cemi-card-municipio,
.cemi-list-body .cemi-list-areas,
.cemi-list-body .cemi-list-municipio{
    display:none!important;
}

/* Búsqueda/listado list también más alineado */
.cemi-list-card{
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid rgba(26,34,49,.08)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.06)!important;
}
.cemi-list-img-wrap{
    position:relative!important;
    overflow:hidden!important;
}
.cemi-list-img-wrap img{
    object-fit:cover!important;
}

/* Propiedades en la misma zona estilo Destacadas */
.cemi-nearby-card{
    padding:18px!important;
    border-radius:18px!important;
}
.cemi-nearby-head{
    margin-bottom:14px!important;
}
.cemi-nearby-head h2{
    font-size:24px!important;
    font-weight:800!important;
    color:#1A2231!important;
}
.cemi-nearby-head span{
    color:#6b7280!important;
    font-size:13px!important;
}
.cemi-nearby-slide{
    display:block!important;
    background:#fff!important;
    border:1px solid rgba(26,34,49,.08)!important;
    border-radius:18px!important;
    overflow:hidden!important;
    text-decoration:none!important;
    box-shadow:0 10px 26px rgba(0,0,0,.08)!important;
    transition:transform .2s ease, box-shadow .2s ease!important;
}
.cemi-nearby-slide:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 34px rgba(0,0,0,.12)!important;
}
.cemi-nearby-img-wrap{
    position:relative!important;
    aspect-ratio:1/1!important;
    background:#f3f5f8!important;
    overflow:hidden!important;
    border-radius:0!important;
    margin:0!important;
}
.cemi-nearby-img,
.cemi-nearby-img-wrap img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}
.cemi-nearby-img-empty{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#6b7280;
    font-weight:700;
}
.cemi-nearby-facts{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:9px 10px!important;
    background:#fff!important;
    border-bottom:1px solid rgba(26,34,49,.08)!important;
}
.cemi-nearby-fact{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-height:30px!important;
    border-radius:999px!important;
    background:#f6f7fa!important;
    color:#1A2231!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
}
.cemi-nearby-fact svg{
    width:13px!important;
    height:13px!important;
    color:#D7266B!important;
    stroke:currentColor!important;
}
.cemi-nearby-info{
    padding:14px 15px 16px!important;
}
.cemi-nearby-price{
    font-size:18px!important;
    color:#D7266B!important;
    font-weight:800!important;
    margin-bottom:7px!important;
    line-height:1.15!important;
}
.cemi-nearby-period{
    color:#6b7280!important;
    font-size:12px!important;
    font-weight:700!important;
}
.cemi-nearby-title{
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.25!important;
    margin-bottom:8px!important;
    color:#1A2231!important;
}
.cemi-nearby-loc{
    font-size:13px!important;
    color:#6b7280!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.cemi-nearby-prev,
.cemi-nearby-next{
    background:#fff!important;
    color:#1A2231!important;
    border:1px solid rgba(26,34,49,.12)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.12)!important;
}

@media(max-width:640px){
    .cemi-card-area-stack,
    .cemi-list-area-stack,
    .cemi-nearby-area-stack{
        top:10px!important;
        right:10px!important;
    }
    .cemi-area-overlay-chip{
        min-width:86px!important;
        padding:7px 9px!important;
    }
    .cemi-area-overlay-chip strong{
        font-size:12px!important;
    }
    .cemi-area-overlay-chip em{
        font-size:9px!important;
    }
    .cemi-card-municipio-overlay,
    .cemi-list-municipio-overlay,
    .cemi-nearby-municipio-overlay{
        font-size:11px!important;
        padding:7px 12px!important;
        bottom:10px!important;
    }
    .cemi-card-icons-bar,
    .cemi-nearby-facts{
        gap:4px!important;
    }
    .cemi-card-icons-bar .cemi-icon-item,
    .cemi-nearby-fact{
        font-size:11px!important;
        padding:0 4px!important;
    }
}


/* CEMI v0.8.3 — municipio siempre sobre la imagen, centrado abajo */
.cemi-card-img-wrap,
.cemi-list-img-wrap,
.cemi-nearby-img-wrap,
.cemi-featured-img-wrap{position:relative!important;overflow:hidden!important}
.cemi-card-municipio-overlay,
.cemi-list-municipio-overlay,
.cemi-nearby-municipio-overlay,
.cemi-featured-municipio-overlay{
    position:absolute!important;
    left:50%!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:calc(100% - 24px)!important;
    min-height:32px!important;
    padding:8px 16px!important;
    border-radius:999px!important;
    background:#D7266B!important;
    color:#FFFFFF!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    z-index:5!important;
    box-shadow:0 6px 18px rgba(215,38,107,.35)!important;
}
.cemi-card-municipio-overlay span,
.cemi-list-municipio-overlay span,
.cemi-nearby-municipio-overlay span,
.cemi-featured-municipio-overlay span{
    display:block!important;
    width:100%!important;
    color:#FFFFFF!important;
}
@media(max-width:640px){
  .cemi-card-municipio-overlay,
  .cemi-list-municipio-overlay,
  .cemi-nearby-municipio-overlay,
  .cemi-featured-municipio-overlay{
      bottom:10px!important;
      font-size:11px!important;
      padding:7px 12px!important;
      max-width:calc(100% - 20px)!important;
  }
}


/* CEMI v0.8.4 — municipio overlay también forzado en móvil */
@media(max-width:640px){
  .cemi-prop-card,
  .cemi-list-card,
  .cemi-nearby-slide,
  .cemi-featured-item{
      overflow:hidden!important;
  }
  .cemi-card-img-wrap,
  .cemi-list-img-wrap,
  .cemi-nearby-img-wrap,
  .cemi-featured-img-wrap{
      position:relative!important;
      overflow:hidden!important;
      isolation:isolate!important;
  }
  .cemi-card-municipio-overlay,
  .cemi-list-municipio-overlay,
  .cemi-nearby-municipio-overlay,
  .cemi-featured-municipio-overlay{
      position:absolute!important;
      left:50%!important;
      right:auto!important;
      top:auto!important;
      bottom:10px!important;
      transform:translateX(-50%)!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      width:auto!important;
      max-width:calc(100% - 20px)!important;
      min-width:0!important;
      padding:7px 12px!important;
      border-radius:999px!important;
      background:#D7266B!important;
      color:#FFFFFF!important;
      font-size:11px!important;
      font-weight:800!important;
      line-height:1.05!important;
      text-align:center!important;
      white-space:nowrap!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
      z-index:8!important;
      box-shadow:0 6px 18px rgba(215,38,107,.35)!important;
      pointer-events:none!important;
  }
  .cemi-card-municipio-overlay span,
  .cemi-list-municipio-overlay span,
  .cemi-nearby-municipio-overlay span,
  .cemi-featured-municipio-overlay span{
      display:block!important;
      width:100%!important;
      color:#FFFFFF!important;
      white-space:nowrap!important;
      overflow:hidden!important;
      text-overflow:ellipsis!important;
  }
}



/* CEMI v0.8.5 — shortcodes igual a Destacadas: facts debajo de imagen, municipio dentro de imagen */
.cemi-prop-card > .cemi-card-icons-bar,
.cemi-list-card > .cemi-card-icons-bar{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:9px 10px!important;
    background:#fff!important;
    border-bottom:1px solid rgba(26,34,49,.08)!important;
}
.cemi-card-img-wrap .cemi-card-icons-bar,
.cemi-list-img-wrap .cemi-card-icons-bar{
    display:none!important;
}
.cemi-prop-card .cemi-card-img-wrap,
.cemi-list-card .cemi-list-img-wrap{
    position:relative!important;
    overflow:hidden!important;
}
.cemi-prop-card .cemi-card-municipio-overlay,
.cemi-list-card .cemi-list-municipio-overlay{
    position:absolute!important;
    left:50%!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    display:inline-flex!important;
    z-index:10!important;
    background:#D7266B!important;
    color:#fff!important;
    padding:8px 16px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    max-width:calc(100% - 24px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
@media(max-width:640px){
    .cemi-prop-card .cemi-card-municipio-overlay,
    .cemi-list-card .cemi-list-municipio-overlay{
        bottom:10px!important;
        padding:7px 12px!important;
        font-size:11px!important;
        max-width:calc(100% - 20px)!important;
    }
}



/* CEMI v0.8.8 — Lotes / Unidades en single property */
.cemi-card-units{
    border-left:4px solid #D7266B;
}
.cemi-units-front-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
}
.cemi-units-front-head h3{
    margin:0;
    font-size:18px;
    font-weight:800;
    color:#1A2231;
}
.cemi-units-front-head span{
    display:inline-flex;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}
.cemi-units-summary{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}
.cemi-units-summary span{
    margin:0;
    padding:5px 9px;
    border-radius:999px;
    background:#f6f7fa;
    color:#1A2231;
    font-size:11px;
    font-weight:800;
}
.cemi-units-front-note{
    margin:0 0 12px;
    font-size:13px;
    line-height:1.55;
    color:#64748b;
}
.cemi-units-front-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.cemi-unit-front-card{
    border:1px solid rgba(26,34,49,.08);
    border-radius:14px;
    background:#fff;
    padding:12px;
    box-shadow:0 8px 18px rgba(0,0,0,.04);
}
.cemi-unit-front-card.is-vendido,
.cemi-unit-front-card.is-no_disponible{
    opacity:.68;
    background:#f8fafc;
}
.cemi-unit-front-top{
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    margin-bottom:8px;
}
.cemi-unit-front-top strong{
    font-size:14px;
    line-height:1.2;
    color:#1A2231;
    font-weight:800;
}
.cemi-unit-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    padding:5px 8px;
    border-radius:999px;
    background:#eafaf0;
    color:#0f8f45;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.cemi-unit-front-card.is-apartado .cemi-unit-status{
    background:#fff7df;
    color:#9a6a00;
}
.cemi-unit-front-card.is-vendido .cemi-unit-status{
    background:#eef2f7;
    color:#64748b;
}
.cemi-unit-front-card.is-no_disponible .cemi-unit-status{
    background:#f1f5f9;
    color:#64748b;
}
.cemi-unit-front-data{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.cemi-unit-front-data span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:5px 8px;
    border-radius:999px;
    background:#f6f7fa;
    color:#1A2231;
    font-size:12px;
    font-weight:700;
}
.cemi-unit-front-data b{
    color:#D7266B;
    font-weight:800;
    margin-right:3px;
}
.cemi-unit-front-data .cemi-unit-price{
    background:#fde8f1;
    color:#9b1a4a;
    border:1px solid rgba(215,38,107,.18);
}
.cemi-unit-services,
.cemi-unit-notes{
    margin-top:8px;
    font-size:12px;
    line-height:1.45;
    color:#64748b;
}
.cemi-unit-services{
    font-weight:700;
    color:#334155;
}
@media(max-width:640px){
    .cemi-units-front-head{
        flex-direction:column;
    }
    .cemi-units-summary{
        justify-content:flex-start;
    }
    .cemi-units-front-list{
        grid-template-columns:1fr;
    }
}

/* CEMI v0.8.8 — datos rápidos siempre entre imagen y precio */
.cemi-prop-card > .cemi-card-icons-bar,
.cemi-list-card > .cemi-card-icons-bar{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:9px 10px!important;
    background:#ffffff!important;
    border-bottom:1px solid rgba(26,34,49,.08)!important;
    z-index:1!important;
}
.cemi-card-img-wrap .cemi-card-icons-bar,
.cemi-list-img-wrap .cemi-card-icons-bar{
    display:none!important;
}

/* CEMI v0.8.8 — Tipografía global Montserrat para todo el plugin */
:root{--cemi-font-main:'Montserrat', Arial, sans-serif;}
.cemi-single-property,
.cemi-single-property *,
.cemi-property-wrap,
.cemi-property-wrap *,
.cemi-prop-card,
.cemi-prop-card *,
.cemi-list-card,
.cemi-list-card *,
.cemi-sc-wrap,
.cemi-sc-wrap *,
.cemi-bus-wrap,
.cemi-bus-wrap *,
.cemi-featured-section,
.cemi-featured-section *,
.cemi-nearby-card,
.cemi-nearby-card *,
.cemi-archive-wrap,
.cemi-archive-wrap *,
.cemi-card,
.cemi-card *{
    font-family:var(--cemi-font-main)!important;
}



/* ═════════════════════════════════════════════════════
   CEMI v0.8.9 — Propiedades con lotes/unidades
   Orden: Colonia → Lotes → Métodos de pago → Galería → resto
═════════════════════════════════════════════════════ */

/* Desktop: cuando hay lotes, primero va la información y a la derecha la galería */
@media(min-width:1025px){
  .cemi-property-wrap.cemi-has-units{
    grid-template-columns:minmax(360px,.92fr) minmax(0,1.25fr)!important;
    align-items:start!important;
  }
  .cemi-property-wrap.cemi-has-units .cemi-prop-right{
    grid-column:1!important;
    grid-row:1!important;
  }
  .cemi-property-wrap.cemi-has-units .cemi-prop-left{
    grid-column:2!important;
    grid-row:1!important;
  }
  .cemi-property-wrap.cemi-has-units .cemi-sticky-panel{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .cemi-property-wrap.cemi-has-units .cemi-card-title{order:1!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-units{order:2!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-price{order:3!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-payment-methods{order:4!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-rooms{order:5!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-m2{order:6!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-services{order:7!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-rent{order:8!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-contact{order:99!important}
}

/* Mobile: prioridad para terrenos/lotes */
@media(max-width:640px){
  .cemi-property-wrap.cemi-has-units .cemi-prop-right{display:contents!important}
  .cemi-property-wrap.cemi-has-units .cemi-sticky-panel{display:contents!important;position:static!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-title{order:1!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-units{order:2!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-price{order:3!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-payment-methods{order:4!important}
  .cemi-property-wrap.cemi-has-units .cemi-prop-left{order:5!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-rooms{order:6!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-m2{order:7!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-services{order:8!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-rent{order:9!important}
  .cemi-property-wrap.cemi-has-units .cemi-card-contact{order:99!important}
}

/* Diseño mejorado de lotes */
.cemi-card-units{
  border:1px solid rgba(215,38,107,.16)!important;
  border-left:0!important;
  background:linear-gradient(180deg,#fff 0%,#fff7fb 100%)!important;
  box-shadow:0 12px 28px rgba(26,34,49,.08)!important;
}
.cemi-units-front-head{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:14px!important;
  align-items:start!important;
  padding-bottom:12px!important;
  margin-bottom:12px!important;
  border-bottom:1px solid rgba(26,34,49,.08)!important;
}
.cemi-units-front-head h3{
  font-size:20px!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:#1A2231!important;
  margin:0!important;
}
.cemi-units-front-head span{
  display:block!important;
  margin-top:4px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
}
.cemi-units-front-head small{
  display:inline-flex!important;
  margin-top:8px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#1A2231!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.cemi-units-summary{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  min-width:170px!important;
}
.cemi-units-summary span{
  margin:0!important;
  padding:8px 9px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid rgba(26,34,49,.08)!important;
  color:#1A2231!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-align:center!important;
  box-shadow:0 6px 14px rgba(26,34,49,.04)!important;
}
.cemi-units-front-note{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.cemi-units-front-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.cemi-unit-front-card{
  position:relative!important;
  padding:13px!important;
  border:1px solid rgba(26,34,49,.08)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(26,34,49,.05)!important;
  overflow:hidden!important;
}
.cemi-unit-front-card:before{
  content:''!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:4px!important;
  background:#D7266B!important;
}
.cemi-unit-front-card.is-apartado:before{background:#d99a00!important}
.cemi-unit-front-card.is-vendido:before,
.cemi-unit-front-card.is-no_disponible:before{background:#94a3b8!important}
.cemi-unit-front-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.cemi-unit-front-top strong{
  color:#1A2231!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:800!important;
}
.cemi-unit-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#eafaf0!important;
  color:#0f8f45!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
}
.cemi-unit-front-card.is-apartado .cemi-unit-status{background:#fff7df!important;color:#9a6a00!important}
.cemi-unit-front-card.is-vendido .cemi-unit-status,
.cemi-unit-front-card.is-no_disponible .cemi-unit-status{background:#eef2f7!important;color:#64748b!important}
.cemi-unit-front-data{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
.cemi-unit-front-data span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:12px!important;
  background:#f6f7fa!important;
  color:#1A2231!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:800!important;
  text-align:center!important;
}
.cemi-unit-front-data b{
  color:#1A2231!important;
  font-weight:800!important;
  margin-right:3px!important;
}
.cemi-unit-front-data .cemi-unit-price{
  grid-column:1 / -1!important;
  background:#D7266B!important;
  color:#fff!important;
  border:0!important;
  font-size:14px!important;
}
.cemi-unit-services,
.cemi-unit-notes{
  margin-top:9px!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:#64748b!important;
}
.cemi-unit-services{
  font-weight:800!important;
  color:#334155!important;
}
@media(max-width:640px){
  .cemi-units-front-head{
    grid-template-columns:1fr!important;
  }
  .cemi-units-summary{
    min-width:0!important;
    width:100%!important;
  }
  .cemi-unit-front-data{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* El label Desde en precio derivado de lotes */
.cemi-price-label{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  margin-bottom:6px!important;
}



/* ═════════════════════════════════════════════════════
   CEMI v0.9.0 — Modo propiedad cerrada: rentada/vendida/apartada
═════════════════════════════════════════════════════ */
.cemi-closed-notice{
  grid-column:1 / -1;
  display:flex;
  gap:14px;
  align-items:center;
  padding:16px;
  margin:0 0 14px;
  border:1px solid rgba(215,38,107,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,#fff1f7 100%);
  box-shadow:0 12px 28px rgba(26,34,49,.08);
}
.cemi-closed-stamp{
  flex:0 0 auto;
  min-width:112px;
  text-align:center;
  padding:12px 16px;
  border-radius:14px;
  background:#D7266B;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
.cemi-closed-notice strong{
  display:block;
  color:#1A2231;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
}
.cemi-closed-notice p{
  margin:5px 0 8px;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
}
.cemi-closed-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:#1A2231;
  color:#fff!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none!important;
}
.cemi-gallery-closed .cemi-gallery-slide{
  position:relative;
}
.cemi-gallery-closed .cemi-gallery-slide[data-closed-label]:after{
  content:attr(data-closed-label);
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-14deg);
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:14px 22px;
  border:3px solid #fff;
  border-radius:16px;
  background:rgba(215,38,107,.88);
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  box-shadow:0 16px 34px rgba(0,0,0,.28);
  pointer-events:none;
}
.cemi-gallery-closed .cemi-gallery-slide[data-closed-label=""]:after{
  display:none;
}
.cemi-gallery-closed .cemi-gallery-img{
  filter:saturate(.82) brightness(.82);
}
@media(max-width:640px){
  .cemi-closed-notice{
    flex-direction:column;
    align-items:flex-start;
    padding:14px;
  }
  .cemi-closed-stamp{
    min-width:0;
    width:100%;
  }
  .cemi-gallery-closed .cemi-gallery-slide[data-closed-label]:after{
    min-width:170px;
    font-size:20px;
    padding:12px 18px;
  }
}
.cemi-val-year{
  display:inline-flex;
  margin:0 0 12px;
  padding:6px 10px;
  border-radius:999px;
  background:#fde8f1;
  color:#9b1a4a;
  font-size:12px;
  font-weight:800;
}
