/*
 * CEMI Core · Design System v1.2.68
 * Objetivo: una sola línea visual para home, shortcodes, herramientas, CRM y single page.
 * Paleta: azul profundo + rosa CEMI, menos cajas, más aire y componentes consistentes.
 */
:root{
  --cemi-ds-ink:#0B0E14;
  --cemi-ds-ink-2:#0F172A;
  --cemi-ds-navy:#1A2231;
  --cemi-ds-surface:#161B26;
  --cemi-ds-surface-2:#1E2533;
  --cemi-ds-paper:#F7F8FB;
  --cemi-ds-text:#F4F5F7;
  --cemi-ds-text-dark:#111827;
  --cemi-ds-muted:rgba(244,245,247,.64);
  --cemi-ds-muted-dark:#64748B;
  --cemi-ds-line:rgba(255,255,255,.08);
  --cemi-ds-line-dark:#E5EAF2;
  --cemi-ds-pink:#D7266B;
  --cemi-ds-pink-2:#E33B7E;
  --cemi-ds-pink-soft:rgba(215,38,107,.12);
  --cemi-ds-ok:#25D366;
  --cemi-ds-radius-sm:10px;
  --cemi-ds-radius:16px;
  --cemi-ds-radius-lg:24px;
  --cemi-ds-radius-xl:32px;
  --cemi-ds-shadow:0 24px 70px rgba(15,23,42,.14);
  --cemi-ds-shadow-dark:0 30px 90px rgba(0,0,0,.34);
  --cemi-ds-max:1320px;
  --cemi-ds-max-wide:1520px;
  --cemi-ds-gutter:clamp(18px,4vw,48px);
}

.cemi-ui-system-1268 :where(.cemi-home,.ch2,.cemi-sc-wrap,.cemi-featured-wrap,.cemi-favorites-wrap,.cemi-compare-wrap,.cemi-contacto,.cemi-valuador,.cemi-calculadora-terrenos,.cemi-mapa-propiedades,.cemi-advisor-portal,.cemi-executive-dashboard,.cemi-single-property){
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.cemi-ui-system-1268 :where(.cemi-home,.ch2,.cemi-sc-wrap,.cemi-featured-wrap,.cemi-favorites-wrap,.cemi-compare-wrap,.cemi-contacto,.cemi-valuador,.cemi-calculadora-terrenos,.cemi-mapa-propiedades,.cemi-advisor-portal,.cemi-executive-dashboard,.cemi-single-property) *{
  box-sizing:border-box;
}

/* Ancho sano para Gutenberg / Astra / themes con contenedor angosto */
.cemi-ui-system-1268 :where(.entry-content,.wp-block-post-content) > :where(.cemi-home,.ch2,.cemi-sc-wrap,.cemi-featured-wrap,.cemi-favorites-wrap,.cemi-compare-wrap,.cemi-contacto,.cemi-valuador,.cemi-calculadora-terrenos,.cemi-mapa-propiedades,.cemi-advisor-portal,.cemi-executive-dashboard){
  width:min(var(--cemi-ds-max-wide),calc(100vw - 36px));
  max-width:none;
  margin-left:calc(50% - min(var(--cemi-ds-max-wide),calc(100vw - 36px))/2);
  margin-right:auto;
}

.cemi-ui-system-1268 .cemi-ui-shell,
.cemi-ui-system-1268 .cemi-ds-shell{
  width:min(var(--cemi-ds-max),calc(100% - var(--cemi-ds-gutter)*2));
  margin-inline:auto;
}

/* Botones: mismos pesos y radios en módulos nuevos */
.cemi-ui-system-1268 :where(.cemi-btn,.cemi-home-btn,.cemi-home-search-submit,.cemi-sc-btn-search,.cemi-contacto-submit,.cemi-valuador button[type="submit"],.cemi-calculadora-submit,.cemi-lead-submit,.cemi-compare-btn,.cemi-fav-link,.cemi-dashboard-btn){
  border-radius:var(--cemi-ds-radius-sm);
  font-weight:800;
  letter-spacing:-.01em;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.cemi-ui-system-1268 :where(.cemi-btn:hover,.cemi-home-btn:hover,.cemi-home-search-submit:hover,.cemi-sc-btn-search:hover,.cemi-contacto-submit:hover,.cemi-valuador button[type="submit"]:hover,.cemi-calculadora-submit:hover,.cemi-lead-submit:hover,.cemi-compare-btn:hover,.cemi-dashboard-btn:hover){
  transform:translateY(-1px);
}

.cemi-ui-system-1268 .cemi-btn-primary,
.cemi-ui-system-1268 :where(.cemi-home-btn-primary,.cemi-home-search-submit,.cemi-sc-btn-search,.cemi-contacto-submit,.cemi-lead-submit){
  background:var(--cemi-ds-pink)!important;
  color:#fff!important;
  border-color:var(--cemi-ds-pink)!important;
}

.cemi-ui-system-1268 :where(input,select,textarea){
  accent-color:var(--cemi-ds-pink);
}

.cemi-ui-system-1268 :where(.cemi-sc-input,.cemi-sc-select,.cemi-contacto input,.cemi-contacto select,.cemi-contacto textarea,.cemi-valuador input,.cemi-valuador select,.cemi-valuador textarea,.cemi-calculadora-terrenos input,.cemi-calculadora-terrenos select,.cemi-calculadora-terrenos textarea,.cemi-lead-form input,.cemi-lead-form select,.cemi-lead-form textarea){
  border-radius:13px;
  outline:none;
}
.cemi-ui-system-1268 :where(.cemi-sc-input,.cemi-sc-select,.cemi-contacto input,.cemi-contacto select,.cemi-contacto textarea,.cemi-valuador input,.cemi-valuador select,.cemi-valuador textarea,.cemi-calculadora-terrenos input,.cemi-calculadora-terrenos select,.cemi-calculadora-terrenos textarea,.cemi-lead-form input,.cemi-lead-form select,.cemi-lead-form textarea):focus{
  border-color:var(--cemi-ds-pink)!important;
  box-shadow:0 0 0 3px rgba(215,38,107,.12)!important;
}

/* Cards inmobiliarias: menos ornamento, misma lectura */
.cemi-ui-system-1268 :where(.cemi-property-card,.cemi-featured-card,.cemi-home-property-card,.cemi-fav-card,.cemi-compare-card,.cemi-similar-card){
  border-radius:20px!important;
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.cemi-ui-system-1268 :where(.cemi-property-card,.cemi-featured-card,.cemi-home-property-card,.cemi-fav-card,.cemi-compare-card,.cemi-similar-card):hover{
  transform:translateY(-3px);
}
.cemi-ui-system-1268 :where(.cemi-card-price,.cemi-home-card-price,.cemi-featured-price,.cemi-price-amount){
  color:var(--cemi-ds-pink)!important;
  letter-spacing:-.03em;
}

/* Herramientas y paneles */
.cemi-ui-system-1268 :where(.cemi-valuador,.cemi-calculadora-terrenos,.cemi-contacto,.cemi-advisor-portal,.cemi-executive-dashboard){
  border-radius:var(--cemi-ds-radius-xl);
}
.cemi-ui-system-1268 :where(.cemi-valuador-card,.cemi-calc-card,.cemi-contacto-card,.cemi-advisor-card,.cemi-exec-card,.cemi-metric-card){
  border-radius:var(--cemi-ds-radius-lg);
  border:1px solid var(--cemi-ds-line);
}

/* Tablas del CRM / métricas */
.cemi-ui-system-1268 :where(.cemi-advisor-portal table,.cemi-executive-dashboard table,.cemi-compare-wrap table){
  border-collapse:separate;
  border-spacing:0;
  width:100%;
}
.cemi-ui-system-1268 :where(.cemi-advisor-portal th,.cemi-executive-dashboard th,.cemi-compare-wrap th){
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
}
.cemi-ui-system-1268 :where(.cemi-advisor-portal tr,.cemi-executive-dashboard tr,.cemi-compare-wrap tr){
  transition:background .15s ease;
}

/* Single property: contención, no correrse a la derecha */
.cemi-ui-single-property .cemi-single-property{
  width:min(1480px,calc(100vw - 32px));
  margin-inline:auto!important;
}
@media (min-width:1600px){
  .cemi-ui-single-property .cemi-single-property{
    width:min(1560px,calc(100vw - 60px));
  }
}

@media (max-width:780px){
  .cemi-ui-system-1268 :where(.entry-content,.wp-block-post-content) > :where(.cemi-home,.ch2,.cemi-sc-wrap,.cemi-featured-wrap,.cemi-favorites-wrap,.cemi-compare-wrap,.cemi-contacto,.cemi-valuador,.cemi-calculadora-terrenos,.cemi-mapa-propiedades,.cemi-advisor-portal,.cemi-executive-dashboard){
    width:100%;
    margin-left:0;
    margin-right:0;
  }
  .cemi-ui-single-property .cemi-single-property{
    width:100%;
  }
}
