/* ============================================================
   CEMI Core v1.2.73 — Consolidación visual integral
   Objetivo: aplicar una misma línea visual a Home, Single Property,
   herramientas, CRM, cards y formularios sin tocar lógica.
   ============================================================ */

:root{
  --cemi-73-bg:#f4f6fa;
  --cemi-73-ink:#101827;
  --cemi-73-muted:#667085;
  --cemi-73-dark:#0f1724;
  --cemi-73-blue:#1A2231;
  --cemi-73-pink:#D7266B;
  --cemi-73-pink-2:#C81768;
  --cemi-73-line:rgba(16,24,39,.10);
  --cemi-73-soft:#ffffff;
  --cemi-73-radius:24px;
  --cemi-73-shadow:0 18px 50px rgba(16,24,39,.08);
  --cemi-73-shadow-dark:0 30px 90px rgba(0,0,0,.32);
  --cemi-73-max:1680px;
  --cemi-73-pad:clamp(18px,4vw,72px);
}

body.cemi-ui-polish-1273{
  background:var(--cemi-73-bg);
  color:var(--cemi-73-ink);
}
body.cemi-ui-polish-1273 *{box-sizing:border-box}

/* ---------- Contenedores full bleed / Gutenberg ---------- */
.cemi-ui-polish-1273 .cemi-fullbleed,
.cemi-ui-polish-1273 #cemi-home-v2,
.cemi-ui-polish-1273 .ch2,
.cemi-ui-polish-1273 .cemi-single-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
body.cemi-home-template .site,
body.cemi-home-template .site-content,
body.cemi-home-template #content,
body.cemi-home-template #primary,
body.cemi-home-template .content-area,
body.cemi-home-template .site-main,
body.cemi-home-template .entry-content,
body.cemi-home-template article,
body.cemi-home-template .ast-container,
body.cemi-home-template .wp-site-blocks,
body.cemi-home-template .is-layout-constrained,
body.cemi-home-template .is-layout-flow{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.cemi-home-template .entry-header,
body.cemi-home-template .page-header,
body.cemi-home-template .entry-title,
body.cemi-home-template .page-title{display:none!important}

/* ---------- Sistema base de secciones ---------- */
.cemi-ui-polish-1273 .ch2-section,
.cemi-ui-polish-1273 .ch2-why,
.cemi-ui-polish-1273 .ch2-cta,
.cemi-ui-polish-1273 .cemi-property-wrap,
.cemi-ui-polish-1273 .cemi-archive-wrap,
.cemi-ui-polish-1273 .cemi-favorites-wrap,
.cemi-ui-polish-1273 .cemi-compare-wrap,
.cemi-ui-polish-1273 .cemi-valuador-wrap,
.cemi-ui-polish-1273 .cemi-contacto-wrap{
  max-width:var(--cemi-73-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--cemi-73-pad)!important;
  padding-right:var(--cemi-73-pad)!important;
}
.cemi-ui-polish-1273 .ch2-section{padding-top:clamp(44px,6vw,90px)!important;padding-bottom:clamp(44px,6vw,90px)!important}

/* ---------- HOME: menos rectángulo, más página ---------- */
.cemi-ui-polish-1273 #cemi-home-v2.ch2{
  background:
    radial-gradient(circle at 8% 8%,rgba(215,38,107,.10),transparent 32vw),
    linear-gradient(180deg,#0b0f17 0,#111827 22%,#f4f6fa 22.1%,#f4f6fa 100%)!important;
  overflow:hidden;
}
.cemi-ui-polish-1273 .ch2-hero{
  width:100vw!important;
  min-height:clamp(660px,84vh,920px)!important;
  margin:0!important;
  border-radius:0!important;
  display:flex!important;
  align-items:flex-end!important;
  padding:0!important;
  isolation:isolate;
}
.cemi-ui-polish-1273 .ch2-hero-inner{
  width:min(100%,var(--cemi-73-max))!important;
  margin:0 auto!important;
  padding:clamp(110px,14vh,170px) var(--cemi-73-pad) clamp(42px,7vw,90px)!important;
}
.cemi-ui-polish-1273 .ch2-hero h1{
  max-width:980px!important;
  font-size:clamp(48px,7.2vw,118px)!important;
  line-height:.88!important;
  letter-spacing:-.075em!important;
  text-wrap:balance;
}
.cemi-ui-polish-1273 .ch2-hero-sub{max-width:720px!important;font-size:clamp(16px,1.45vw,22px)!important}
.cemi-ui-polish-1273 .ch2-search{
  max-width:1180px!important;
  margin-top:clamp(26px,4vw,46px)!important;
  border-radius:26px!important;
  padding:10px!important;
  box-shadow:0 26px 80px rgba(0,0,0,.32)!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.cemi-ui-polish-1273 .ch2-chips{
  width:min(100%,var(--cemi-73-max))!important;
  margin:0 auto!important;
  transform:translateY(-28px);
  padding-left:var(--cemi-73-pad)!important;
  padding-right:var(--cemi-73-pad)!important;
}
.cemi-ui-polish-1273 .ch2-section-head{align-items:flex-end!important;margin-bottom:26px!important}
.cemi-ui-polish-1273 .ch2-lead h2,
.cemi-ui-polish-1273 .ch2-why-copy h2,
.cemi-ui-polish-1273 .ch2-cta h2{
  font-size:clamp(34px,4.2vw,72px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  color:var(--cemi-73-ink);
}
.cemi-ui-polish-1273 .ch2-tools-wrap{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  background:linear-gradient(180deg,#111827 0%,#1A2231 100%)!important;
}
.cemi-ui-polish-1273 .ch2-tools-wrap .ch2-lead h2,
.cemi-ui-polish-1273 .ch2-tools-wrap .ch2-eyebrow{color:#fff!important}
.cemi-ui-polish-1273 .ch2-tool,
.cemi-ui-polish-1273 .ch2-prop,
.cemi-ui-polish-1273 .ch2-zona{
  border-radius:28px!important;
  box-shadow:var(--cemi-73-shadow)!important;
  border:1px solid rgba(16,24,39,.08)!important;
}
.cemi-ui-polish-1273 .ch2-zonas{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.cemi-ui-polish-1273 .ch2-zona{min-height:260px!important;overflow:hidden!important}
.cemi-ui-polish-1273 .ch2-zona::after{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.78) 100%)!important}

/* ---------- SINGLE PROPERTY: hero real y responsive ---------- */
body.cemi-ui-single-property.cemi-ui-polish-1273{background:var(--cemi-73-bg)!important}
.cemi-ui-polish-1273 .cemi-single-property{
  background:
    radial-gradient(circle at 10% -4%,rgba(215,38,107,.10),transparent 34vw),
    linear-gradient(180deg,#f7f8fb 0%,#eef1f6 100%)!important;
}
.cemi-ui-polish-1273 .cemi-single-hero{
  min-height:clamp(620px,78vh,920px)!important;
  display:flex!important;
  align-items:flex-end!important;
  background:linear-gradient(135deg,#070b12 0%,#121827 45%,#1A2231 100%)!important;
  overflow:hidden!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-bg{object-fit:cover!important;object-position:center center!important;filter:saturate(1.03) contrast(1.03)!important}
.cemi-ui-polish-1273 .cemi-single-hero-overlay{
  background:
    linear-gradient(90deg,rgba(6,10,18,.94) 0%,rgba(10,15,25,.80) 34%,rgba(10,15,25,.36) 70%,rgba(10,15,25,.88) 100%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.78) 100%)!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-inner{
  width:min(100%,var(--cemi-73-max))!important;
  margin:0 auto!important;
  min-height:inherit!important;
  padding:clamp(120px,14vh,175px) var(--cemi-73-pad) clamp(34px,6vw,82px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,460px)!important;
  gap:clamp(24px,4vw,58px)!important;
  align-items:end!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-copy{min-width:0!important;max-width:100%!important;padding:0!important}
.cemi-ui-polish-1273 .cemi-single-hero h1{
  max-width:980px!important;
  font-size:clamp(42px,5.5vw,88px)!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
  color:#fff!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-location{max-width:860px!important;color:rgba(255,255,255,.78)!important}
.cemi-ui-polish-1273 .cemi-single-hero-specs{
  max-width:1000px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-specs span{
  min-width:124px!important;
  border-radius:19px!important;
  padding:13px 15px!important;
  background:rgba(255,255,255,.105)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  backdrop-filter:blur(16px)!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-panel{
  position:relative!important;
  width:100%!important;
  max-width:460px!important;
  margin:0!important;
  align-self:end!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(13,19,30,.78)!important;
  box-shadow:var(--cemi-73-shadow-dark)!important;
  backdrop-filter:blur(22px)!important;
  padding:22px!important;
  z-index:3!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-panel .cemi-fav-btn,
.cemi-ui-polish-1273 .cemi-single-hero-panel .cemi-favorite-btn,
.cemi-ui-polish-1273 .cemi-single-hero-panel [class*="fav"]{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  width:100%!important;
  min-height:44px!important;
  margin:10px 0 0!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
.cemi-ui-polish-1273 .cemi-single-hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}

/* Single cards: misma línea del hero */
.cemi-ui-polish-1273 .cemi-single-property .cemi-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
  border:1px solid var(--cemi-73-line)!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)!important;
  box-shadow:var(--cemi-73-shadow)!important;
}
.cemi-ui-polish-1273 .cemi-single-property .cemi-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--cemi-73-pink),rgba(215,38,107,0));
  z-index:1;
}
.cemi-ui-polish-1273 .cemi-single-property .cemi-card h2,
.cemi-ui-polish-1273 .cemi-single-property .cemi-card h3{
  color:var(--cemi-73-ink)!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
}
.cemi-ui-polish-1273 .cemi-card-contact,
.cemi-ui-polish-1273 .cemi-card-land-lots-detail{
  background:linear-gradient(160deg,#101827 0%,#1A2231 100%)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
}
.cemi-ui-polish-1273 .cemi-card-contact h2,
.cemi-ui-polish-1273 .cemi-card-contact h3,
.cemi-ui-polish-1273 .cemi-card-contact p,
.cemi-ui-polish-1273 .cemi-card-contact label,
.cemi-ui-polish-1273 .cemi-card-contact strong,
.cemi-ui-polish-1273 .cemi-card-land-lots-detail h2,
.cemi-ui-polish-1273 .cemi-card-land-lots-detail h3,
.cemi-ui-polish-1273 .cemi-card-land-lots-detail p,
.cemi-ui-polish-1273 .cemi-card-land-lots-detail strong{color:#fff!important}
.cemi-ui-polish-1273 .cemi-gallery-main{border-radius:30px!important;box-shadow:0 22px 70px rgba(16,24,39,.13)!important}
.cemi-ui-polish-1273 .cemi-gallery-img{min-height:clamp(420px,38vw,680px)!important;aspect-ratio:16/9!important;object-fit:cover!important}

/* ---------- Cards / archive / favoritos / comparador ---------- */
.cemi-ui-polish-1273 .cemi-property-card,
.cemi-ui-polish-1273 .cemi-featured-card,
.cemi-ui-polish-1273 .cemi-favorite-card,
.cemi-ui-polish-1273 .cemi-compare-card,
.cemi-ui-polish-1273 .cemi-related-item{
  border-radius:24px!important;
  border:1px solid rgba(16,24,39,.09)!important;
  box-shadow:0 14px 40px rgba(16,24,39,.07)!important;
  overflow:hidden!important;
  background:#fff!important;
}
.cemi-ui-polish-1273 .cemi-property-card img,
.cemi-ui-polish-1273 .cemi-featured-card img,
.cemi-ui-polish-1273 .cemi-favorite-card img{border-radius:inherit}
.cemi-ui-polish-1273 .cemi-btn,
.cemi-ui-polish-1273 .cemi-btn-primary,
.cemi-ui-polish-1273 .cemi-submit,
.cemi-ui-polish-1273 button[type="submit"]{
  border-radius:999px!important;
  font-weight:900!important;
}

/* ---------- Herramientas / valuador / contacto / CRM ---------- */
.cemi-ui-polish-1273 .cemi-valuador,
.cemi-ui-polish-1273 .cemi-contacto,
.cemi-ui-polish-1273 .cemi-advisor-panel,
.cemi-ui-polish-1273 .cemi-exec-dashboard,
.cemi-ui-polish-1273 .cemi-calculadora-terrenos,
.cemi-ui-polish-1273 .cemi-compare{
  border-radius:28px!important;
  border:1px solid rgba(16,24,39,.09)!important;
  box-shadow:var(--cemi-73-shadow)!important;
}
.cemi-ui-polish-1273 input,
.cemi-ui-polish-1273 select,
.cemi-ui-polish-1273 textarea{
  border-radius:16px!important;
  border-color:rgba(16,24,39,.12)!important;
}
.cemi-ui-polish-1273 input:focus,
.cemi-ui-polish-1273 select:focus,
.cemi-ui-polish-1273 textarea:focus{
  outline:0!important;
  border-color:rgba(215,38,107,.55)!important;
  box-shadow:0 0 0 4px rgba(215,38,107,.10)!important;
}

/* ---------- Responsive ---------- */
@media (min-width:1800px){
  :root{--cemi-73-max:1780px;--cemi-73-pad:clamp(32px,5vw,96px)}
  .cemi-ui-polish-1273 .cemi-single-hero-inner{grid-template-columns:minmax(0,1fr) minmax(390px,480px)!important}
}
@media (max-width:1180px){
  .cemi-ui-polish-1273 .cemi-single-hero-inner{grid-template-columns:1fr!important;gap:18px!important;align-items:start!important}
  .cemi-ui-polish-1273 .cemi-single-hero-panel{max-width:none!important}
  .cemi-ui-polish-1273 .ch2-zonas{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .cemi-ui-polish-1273 .ch2,
  .cemi-ui-polish-1273 #cemi-home-v2,
  .cemi-ui-polish-1273 .cemi-single-hero{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .cemi-ui-polish-1273 .ch2-hero{min-height:auto!important;display:block!important}
  .cemi-ui-polish-1273 .ch2-hero-inner{padding:96px 14px 34px!important}
  .cemi-ui-polish-1273 .ch2-hero h1{font-size:clamp(38px,12vw,58px)!important;line-height:.94!important}
  .cemi-ui-polish-1273 .ch2-search{display:grid!important;grid-template-columns:1fr!important;border-radius:22px!important}
  .cemi-ui-polish-1273 .ch2-chips{transform:none!important;padding:12px 14px!important;overflow-x:auto!important}
  .cemi-ui-polish-1273 .ch2-zonas{grid-template-columns:1fr!important}
  .cemi-ui-polish-1273 .ch2-section,
  .cemi-ui-polish-1273 .ch2-why,
  .cemi-ui-polish-1273 .ch2-cta,
  .cemi-ui-polish-1273 .cemi-property-wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .cemi-ui-polish-1273 .cemi-single-hero{min-height:auto!important;display:block!important}
  .cemi-ui-polish-1273 .cemi-single-hero-inner{display:grid!important;grid-template-columns:1fr!important;padding:78px 14px 18px!important;min-height:auto!important}
  .cemi-ui-polish-1273 .cemi-single-hero h1{font-size:clamp(30px,10.5vw,44px)!important;line-height:1!important}
  .cemi-ui-polish-1273 .cemi-single-hero-specs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .cemi-ui-polish-1273 .cemi-single-hero-specs span{min-width:0!important;padding:10px!important;border-radius:14px!important}
  .cemi-ui-polish-1273 .cemi-single-hero-actions{grid-template-columns:1fr 1fr 1fr!important}
  .cemi-ui-polish-1273 .cemi-gallery-img{min-height:0!important;aspect-ratio:4/3!important}
}

/* v1.2.76 — búsqueda inteligente por código postal */
.cemi-search-smart-notice{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(215,38,107,.28);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(215,38,107,.10),rgba(26,34,49,.06));
  color:#1A2231;
  display:flex;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
.cemi-search-smart-notice strong{
  color:#D7266B;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:800;
}
.cemi-search-smart-notice span{
  color:#344054;
  font-size:14px;
  line-height:1.45;
}
@media (max-width:768px){
  .cemi-search-smart-notice{border-radius:14px;padding:12px;margin-bottom:14px}
  .cemi-search-smart-notice strong,.cemi-search-smart-notice span{width:100%}
}
