/*
 * CEMI Core v1.2.72
 * Single Property Redesign — página de conversión.
 * Objetivo: hero emocional, layout amplio, lectura clara y mejor aprovechamiento en escritorio.
 */

body.single-cemi_property,
body.single-opalestate_property{
  background:#f3f5f8;
}

.cemi-single-property{
  --cemi-single-page:#f3f5f8;
  --cemi-single-ink:#101827;
  --cemi-single-muted:#667085;
  --cemi-single-dark:#101722;
  --cemi-single-blue:#1A2231;
  --cemi-single-pink:#D7266B;
  --cemi-single-card:#fff;
  --cemi-single-line:rgba(16,24,39,.09);
  background:
    radial-gradient(circle at 14% 0%,rgba(215,38,107,.08),transparent 30vw),
    linear-gradient(180deg,#f6f7fa 0%,#eef1f5 100%);
  color:var(--cemi-single-ink);
  overflow-x:hidden;
}

/* Hero full bleed */
.cemi-single-hero{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  min-height:clamp(420px,58vh,700px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 76% 18%,rgba(215,38,107,.22),transparent 30%),
    linear-gradient(135deg,#0c111b 0%,#151d2b 45%,#1A2231 100%);
}
.cemi-single-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.02);
  transform:scale(1.01);
  z-index:-2;
}
.cemi-single-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,10,16,.92) 0%,rgba(10,14,22,.78) 34%,rgba(10,14,22,.30) 72%,rgba(10,14,22,.82) 100%),
    linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.76) 100%);
  z-index:-1;
}
.cemi-single-hero-inner{
  width:min(100%,1680px);
  margin:0 auto;
  padding:clamp(44px,6vw,92px) clamp(18px,5vw,72px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  align-items:end;
  gap:clamp(22px,4vw,54px);
}
.cemi-single-hero-copy{max-width:980px}
.cemi-single-hero-kickers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.cemi-single-hero-badge,
.cemi-single-hero-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cemi-single-hero-badge{background:var(--cemi-single-pink);color:#fff;box-shadow:0 14px 38px rgba(215,38,107,.25)}
.cemi-single-hero-chip{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}
.cemi-single-hero h1{
  margin:0;
  max-width:920px;
  color:#fff;
  font-size:clamp(38px,5.4vw,84px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:900;
  text-wrap:balance;
}
.cemi-single-hero-location{
  margin:18px 0 0;
  color:rgba(255,255,255,.78);
  font-size:clamp(15px,1.4vw,20px);
  line-height:1.5;
  font-weight:600;
  max-width:760px;
}
.cemi-single-hero-specs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.cemi-single-hero-specs span{
  display:grid;
  gap:3px;
  min-width:112px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(16px);
  color:#fff;
}
.cemi-single-hero-specs strong{font-size:21px;line-height:1;font-weight:900;letter-spacing:-.03em}
.cemi-single-hero-specs small{font-size:11px;color:rgba(255,255,255,.72);font-weight:800;text-transform:uppercase;letter-spacing:.06em}

.cemi-single-hero-panel{
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:22px;
  background:rgba(16,23,34,.72);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(22px);
  color:#fff;
}
.cemi-single-hero-price-label{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cemi-single-hero-price{
  display:block;
  color:#fff;
  font-size:clamp(30px,3vw,44px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.055em;
}
.cemi-single-hero-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  margin-top:18px;
  border-radius:16px;
  background:var(--cemi-single-pink);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:950;
  box-shadow:0 18px 44px rgba(215,38,107,.28);
}
.cemi-single-hero-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.cemi-single-hero-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:13px;
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.82)!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:900;
}
.cemi-single-hero-panel .cemi-fav-btn,
.cemi-single-hero-panel .cemi-favorite-btn{
  width:100%;
  margin-top:10px;
  border-radius:14px!important;
  justify-content:center;
}

/* Layout principal más amplio */
.cemi-property-wrap{
  max-width:1680px!important;
  padding:clamp(26px,3vw,48px) clamp(18px,4vw,68px) 72px!important;
  grid-template-columns:minmax(0,1.48fr) minmax(360px,.52fr)!important;
  gap:clamp(22px,3vw,44px)!important;
}
.cemi-sticky-panel{top:92px!important}

/* El hero ya resuelve título/ubicación/favorito; se oculta el recuadro duplicado */
.cemi-single-property .cemi-card-title{display:none!important}

.cemi-single-property .cemi-card{
  border:1px solid var(--cemi-single-line)!important;
  border-radius:24px!important;
  box-shadow:0 12px 40px rgba(16,24,39,.06)!important;
  padding:clamp(18px,1.6vw,26px)!important;
}
.cemi-single-property .cemi-card h2,
.cemi-single-property .cemi-card h3{
  letter-spacing:-.035em;
}

/* Galería como pieza protagonista */
.cemi-gallery{margin-bottom:clamp(18px,2vw,28px)!important}
.cemi-gallery-main{
  border-radius:30px!important;
  box-shadow:0 22px 70px rgba(16,24,39,.13)!important;
}
.cemi-gallery-img{aspect-ratio:16/9!important;min-height:clamp(420px,38vw,680px);object-fit:cover!important}
.cemi-gallery-thumbs{
  margin-top:12px!important;
  padding:4px 2px 10px!important;
}
.cemi-gallery-thumb{
  border-radius:16px!important;
  overflow:hidden!important;
  border:2px solid transparent!important;
}
.cemi-gallery-thumb.is-active{border-color:var(--cemi-single-pink)!important}
.cemi-gallery-download{
  border-radius:999px!important;
  background:rgba(16,23,34,.72)!important;
  backdrop-filter:blur(14px)!important;
}

/* Precio / contacto más limpios */
.cemi-card-price{
  border:0!important;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 100%)!important;
}
.cemi-price-main{font-size:clamp(34px,3.2vw,48px)!important;letter-spacing:-.055em!important;color:var(--cemi-single-ink)!important}
.cemi-card-contact{
  background:linear-gradient(160deg,#111827 0%,#1A2231 100%)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.09)!important;
}
.cemi-card-contact .cemi-asesor-name,
.cemi-card-contact .cemi-asesor-role,
.cemi-card-contact label,
.cemi-card-contact h3,
.cemi-card-contact p{color:#fff!important}
.cemi-card-contact input,
.cemi-card-contact textarea,
.cemi-card-contact select{
  background:rgba(255,255,255,.95)!important;
  color:#101827!important;
}
.cemi-card-contact .cemi-btn-whatsapp{background:var(--cemi-single-pink)!important;color:#fff!important;border:0!important}
.cemi-card-contact .cemi-btn-dark{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important}

/* Características: más aire y menos widget */
.cemi-characteristics-chips,
.cemi-services-grid,
.cemi-equipment-grid,
.cemi-amenidades-chips{
  gap:12px!important;
}
.cemi-characteristic-chip{
  border-radius:18px!important;
  background:#f7f8fb!important;
}

/* Related / similares aprovecha más ancho */
.cemi-related,
.cemi-nearby-slider,
.cemi-nearby-track{
  gap:16px!important;
}

@media (min-width:1600px){
  .cemi-property-wrap{grid-template-columns:minmax(0,1.58fr) minmax(390px,.42fr)!important}
  .cemi-single-hero-inner{width:min(100%,1780px)}
}

@media (max-width:1024px){
  .cemi-single-hero{min-height:auto;align-items:stretch}
  .cemi-single-hero-inner{
    grid-template-columns:1fr;
    padding:92px 18px 28px;
    gap:18px;
  }
  .cemi-single-hero h1{font-size:clamp(34px,10vw,54px)}
  .cemi-single-hero-panel{border-radius:22px;padding:16px}
  .cemi-property-wrap{
    grid-template-columns:1fr!important;
    padding:18px 14px 54px!important;
  }
  .cemi-sticky-panel{position:static!important}
  .cemi-gallery-img{min-height:0;aspect-ratio:4/3!important}
}

@media (max-width:640px){
  .cemi-single-hero-inner{padding-top:78px}
  .cemi-single-hero-kickers{margin-bottom:12px}
  .cemi-single-hero-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
  .cemi-single-hero-specs span{min-width:0;padding:11px 12px;border-radius:15px}
  .cemi-single-hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cemi-single-hero-price{font-size:30px}
  .cemi-single-property .cemi-card{border-radius:20px!important;padding:16px!important}
}

/* ============================================================
   CEMI Core v1.2.72 — Corrección hero responsive y línea visual
   ============================================================ */
.cemi-single-hero{
  min-height:clamp(520px,68vh,820px);
  align-items:stretch;
}
.cemi-single-hero-inner{
  width:min(100%,1760px);
  min-height:inherit;
  align-items:end;
  padding-top:clamp(96px,10vh,150px);
  padding-bottom:clamp(34px,5vw,80px);
}
.cemi-single-hero-copy{
  min-width:0;
  padding-right:clamp(0px,2vw,24px);
}
.cemi-single-hero h1{
  max-width:980px;
  font-size:clamp(40px,5vw,78px);
  line-height:.96;
}
.cemi-single-hero-location{max-width:860px}
.cemi-single-hero-panel{
  position:relative;
  align-self:end;
  max-width:430px;
  width:100%;
}
.cemi-single-hero-panel .cemi-fav-btn,
.cemi-single-hero-panel .cemi-favorite-btn{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  width:100%!important;
  min-height:44px;
  margin-top:10px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
  transform:none!important;
  backdrop-filter:blur(12px);
}
.cemi-single-hero-panel .cemi-fav-btn.is-active,
.cemi-single-hero-panel .cemi-favorite-btn.is-active{
  background:var(--cemi-single-pink)!important;
  border-color:var(--cemi-single-pink)!important;
}
.cemi-single-hero-panel .cemi-fav-text{display:inline!important}
.cemi-single-hero-specs{
  max-width:980px;
}
.cemi-single-hero-specs span{
  min-width:130px;
  border-radius:20px;
  background:rgba(255,255,255,.095);
}
.cemi-single-hero-specs small{
  line-height:1.15;
}
.cemi-single-land-lots .cemi-single-hero-specs span:first-child{
  background:rgba(215,38,107,.82);
  border-color:rgba(215,38,107,.9);
}

/* Recuadros alineados con el lenguaje del hero */
.cemi-single-property .cemi-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)!important;
}
.cemi-single-property .cemi-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--cemi-single-pink),rgba(215,38,107,0));
  opacity:.9;
}
.cemi-single-property .cemi-card-land-lots-detail,
.cemi-single-property .cemi-card-contact{
  background:linear-gradient(160deg,#111827 0%,#1A2231 100%)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.09)!important;
}
.cemi-single-property .cemi-card-land-lots-detail::before,
.cemi-single-property .cemi-card-contact::before{
  background:linear-gradient(90deg,var(--cemi-single-pink),rgba(215,38,107,.1));
}
.cemi-single-property .cemi-card-land-lots-detail h2,
.cemi-single-property .cemi-card-land-lots-detail h3,
.cemi-single-property .cemi-card-land-lots-detail p,
.cemi-single-property .cemi-card-land-lots-detail span,
.cemi-single-property .cemi-card-land-lots-detail small,
.cemi-single-property .cemi-card-land-lots-detail strong{color:#fff}

@media (min-width:1280px) and (max-width:1550px){
  .cemi-single-hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(300px,390px);
    gap:30px;
  }
  .cemi-single-hero h1{font-size:clamp(38px,4.55vw,68px)}
  .cemi-single-hero-specs span{min-width:118px;padding:12px 13px}
}

@media (max-width:1024px){
  .cemi-single-hero{
    min-height:auto;
    display:block;
  }
  .cemi-single-hero-inner{
    min-height:auto;
    display:grid;
    grid-template-columns:1fr;
    padding:88px 18px 26px;
  }
  .cemi-single-hero-copy{padding-right:0}
  .cemi-single-hero-panel{
    max-width:none;
    border-radius:22px;
  }
  .cemi-single-hero h1{
    font-size:clamp(34px,8vw,58px);
    line-height:1;
  }
  .cemi-single-hero-overlay{
    background:
      linear-gradient(180deg,rgba(7,10,16,.76) 0%,rgba(7,10,16,.86) 48%,rgba(7,10,16,.96) 100%),
      linear-gradient(90deg,rgba(7,10,16,.76),rgba(7,10,16,.35));
  }
}

@media (max-width:640px){
  .cemi-single-hero{
    width:100%;
    margin-left:0;
  }
  .cemi-single-hero-inner{
    padding:74px 14px 18px;
    gap:14px;
  }
  .cemi-single-hero-kickers{
    gap:6px;
  }
  .cemi-single-hero-badge,
  .cemi-single-hero-chip{
    min-height:28px;
    padding:7px 9px;
    font-size:10px;
  }
  .cemi-single-hero h1{
    font-size:clamp(30px,10vw,42px);
    letter-spacing:-.045em;
  }
  .cemi-single-hero-location{
    margin-top:10px;
    font-size:13px;
    line-height:1.45;
  }
  .cemi-single-hero-specs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cemi-single-hero-specs span{
    min-width:0;
    padding:10px;
    border-radius:14px;
  }
  .cemi-single-hero-specs strong{font-size:17px}
  .cemi-single-hero-specs small{font-size:9.5px}
  .cemi-single-hero-panel{
    padding:14px;
  }
  .cemi-single-hero-price{font-size:27px!important}
  .cemi-single-hero-actions{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .cemi-single-hero-actions a{min-height:34px;font-size:11px}
  .cemi-single-hero-panel .cemi-fav-btn{min-height:40px!important}
}
