/* Tarjetas uniformes de publicaciones. Alcance limitado a elementos marcados por cme-publication-cards.js. */
.cme-publication-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.cme-publication-grid>.cme-publication-card{
  display:flex!important;
  flex-direction:column;
  width:100%!important;
  max-width:none!important;
  min-width:0;
  height:auto!important;
  min-height:0;
  align-self:stretch!important;
  padding:16px!important;
  overflow:visible;
}
.cme-publication-grid>.cme-publication-card.cme-publication-card--commercial{
  height:auto!important;
  min-height:0;
}
.cme-publication-card__media,
.cme-publication-card>.publication-media-frame.cme-publication-card__media,
.cme-publication-card>.news-media-frame.cme-publication-card__media{
  position:relative;
  display:flex!important;
  flex:0 0 auto;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  max-height:none!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0;
  border-radius:13px;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  background:#f4f1e8;
}
.cme-publication-card__media img,
.cme-publication-card__media video{
  display:block;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  background:#f4f1e8;
}
.cme-publication-card__media-extra{display:none!important}
.cme-publication-card__media-count{
  position:absolute;
  right:9px;
  bottom:9px;
  z-index:2;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(16,40,32,.86);
  color:#fff;
  font:800 12px/1 Arial,sans-serif;
  pointer-events:none;
}
.cme-publication-card__placeholder{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:16/9;
  margin:0 0 14px;
  border-radius:13px;
  background:#f2f6f3;
  border:1px solid #e0e8e3;
  color:#17614f;
  font-size:34px;
}
.cme-publication-card__title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:2.5em;
  max-height:2.5em;
  line-height:1.25!important;
}
.cme-publication-card__summary{
  display:block;
  overflow:visible;
  min-height:0;
  max-height:none;
  margin-bottom:8px;
  line-height:1.45!important;
}
.cme-publication-card__summary-text{
  display:inline;
}
.cme-publication-card__more-inline{
  display:inline!important;
  min-height:0!important;
  margin:0 0 0 4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#17614f!important;
  font:800 13px/1.45 Arial,sans-serif!important;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  vertical-align:baseline;
}
.cme-publication-card__more-inline:hover,
.cme-publication-card__more-inline:focus-visible{
  background:transparent!important;
  text-decoration-thickness:2px;
  outline:2px solid transparent;
}
.cme-publication-card .publication-actions:empty,
.cme-publication-card .news-actions:empty{
  display:none!important;
}
.cme-publication-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 9px;
  margin-top:10px;
  color:#607069;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.cme-publication-card__meta span+span::before{
  content:"·";
  margin-right:8px;
  color:#9aa8a1;
}
.cme-publication-card .professional-profile-details{
  max-height:104px;
  overflow:hidden;
}
.cme-publication-card .housing-expiry{
  flex:0 0 auto;
}
.cme-publication-card .publication-actions,
.cme-publication-card .news-actions{
  margin-top:auto!important;
}
.cme-publication-card__readmore-row{
  display:flex;
  padding-top:12px;
  border-top:1px solid #e7ece9;
}
.cme-publication-card__more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 13px;
  border:1px solid #bfd2c9;
  border-radius:9px;
  background:#fff;
  color:#17614f;
  font:800 13px/1 Arial,sans-serif;
  cursor:pointer;
}
.cme-publication-card__more:hover,
.cme-publication-card__more:focus-visible{
  background:#edf6f2;
  outline:2px solid transparent;
}
.cme-publication-card .contact-button,
.cme-publication-card .social-actions{
  flex:0 0 auto;
}

.cme-publication-dialog{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(8,25,20,.72);
}
.cme-publication-dialog__box{
  position:relative;
  width:min(100%,780px);
  max-height:92vh;
  overflow:auto;
  padding:25px;
  border-radius:18px;
  background:#fff;
  color:#102820;
  box-shadow:0 28px 85px rgba(0,0,0,.36);
}
.cme-publication-dialog__close{
  position:sticky;
  top:0;
  float:right;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#edf4f0;
  color:#174f40;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.cme-publication-dialog__title{
  margin:2px 52px 8px 0;
  font-size:28px;
  line-height:1.2;
}
.cme-publication-dialog__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-bottom:15px;
  color:#60736a;
  font-size:13px;
  font-weight:800;
}
.cme-publication-dialog__media{
  display:grid;
  gap:12px;
  margin:15px 0;
}
.cme-publication-dialog__media img,
.cme-publication-dialog__media video{
  display:block;
  width:100%;
  max-height:540px;
  object-fit:contain;
  border-radius:13px;
  background:#f4f1e8;
}
.cme-publication-dialog__description{
  margin:16px 0;
  white-space:pre-wrap;
  line-height:1.65;
  color:#334d43;
}
.cme-publication-dialog__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
  margin:16px 0;
  padding:15px;
  border-radius:12px;
  background:#f7fbf9;
  font-size:14px;
}
.cme-publication-dialog__detail b{
  display:block;
  margin-bottom:2px;
  color:#174f40;
}
.cme-publication-dialog__detail a{
  color:#17614f;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cme-publication-dialog__actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid #e3ebe6;
}
.cme-publication-dialog__action{
  min-height:40px;
  padding:9px 13px;
  border:1px solid #c9d9d1;
  border-radius:9px;
  background:#fff;
  color:#17614f;
  font-weight:800;
  cursor:pointer;
}
.cme-publication-dialog__action--danger{
  border-color:#e3c6c8;
  background:#fff8f8;
  color:#8b2d35;
}

@media(max-width:980px){
  .cme-publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .cme-publication-grid{grid-template-columns:1fr!important}
  .cme-publication-grid>.cme-publication-card,
  .cme-publication-grid>.cme-publication-card.cme-publication-card--commercial{
    height:auto!important;
    min-height:0;
  }
  .cme-publication-card__title,
  .cme-publication-card__summary{
    min-height:0;
  }
  .cme-publication-card .publication-actions,
  .cme-publication-card .news-actions{
    margin-top:14px!important;
  }
  .cme-publication-dialog{
    padding:8px;
  }
  .cme-publication-dialog__box{
    width:100%;
    max-height:96vh;
    padding:19px;
    border-radius:15px;
  }
  .cme-publication-dialog__title{font-size:24px}
  .cme-publication-dialog__details{grid-template-columns:1fr}
  .cme-publication-dialog__action{flex:1 1 44%}
}

/* Leer más muestra solo la imagen principal; la galería completa se abre desde la foto. */
.cme-publication-dialog__media{
  display:block;
  margin:14px 0 16px;
}
.cme-publication-dialog__media-open{
  position:relative;
  display:flex;
  width:100%;
  height:min(38vh,360px);
  margin:0;
  padding:0;
  border:0;
  border-radius:13px;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  background:#f4f1e8;
  cursor:zoom-in;
}
.cme-publication-dialog__media-open img,
.cme-publication-dialog__media>video{
  display:block;
  width:100%;
  height:100%;
  max-height:360px;
  object-fit:contain;
  border-radius:13px;
  background:#f4f1e8;
}
.cme-publication-dialog__media-count{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(16,40,32,.88);
  color:#fff;
  font:800 12px/1 Arial,sans-serif;
  pointer-events:none;
}
@media(max-width:700px){
  .cme-publication-dialog__media-open{height:min(34vh,300px)}
  .cme-publication-dialog__media-open img,
  .cme-publication-dialog__media>video{max-height:300px}
}


/* ===== Ajuste final por tipo de sección (24-09-2026) =====
   Vivienda y Anuncios: visuales y equivalentes.
   Empleo: informativo y algo más compacto.
   Noticias: presentación editorial.
   Tienda y Profesionales: mantienen estructura comercial propia. */

/* Las cuatro secciones no comerciales comparten una base ordenada. */
body[data-section="Vivienda"] .cme-publication-grid,
body[data-section="Empleo"] .cme-publication-grid,
body[data-section="Anuncios"] .cme-publication-grid,
body[data-section="Noticias"] .cme-publication-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:18px!important;
}
body[data-section="Vivienda"] .cme-publication-card,
body[data-section="Empleo"] .cme-publication-card,
body[data-section="Anuncios"] .cme-publication-card,
body[data-section="Noticias"] .cme-publication-card{
  height:100%!important;
}

/* Vivienda + Anuncios: fotografía protagonista y estructura equivalente. */
.cme-publication-card--housing .cme-publication-card__media,
.cme-publication-card--ads .cme-publication-card__media{
  aspect-ratio:16/9!important;
}
.cme-publication-card--housing .listing-icon,
.cme-publication-card--ads .listing-icon{
  width:42px;
  height:42px;
  margin-top:0;
}

/* Empleo: la información manda; la foto, si existe, ocupa menos altura. */
.cme-publication-card--jobs .cme-publication-card__media{
  aspect-ratio:16/7!important;
  max-height:150px!important;
}
.cme-publication-card--jobs .listing-icon{
  width:40px;
  height:40px;
}
.cme-publication-card--jobs .cme-publication-card__title{
  font-size:20px!important;
}

/* Noticias: tarjeta editorial. Se conserva el formulario de propuesta sin cambios. */
.cme-publication-card--news{
  padding:0 0 16px!important;
  overflow:hidden!important;
}
.cme-publication-card--news .cme-publication-card__media{
  aspect-ratio:3/2!important;
  margin:0 0 14px!important;
  border-radius:16px 16px 0 0!important;
  background:#f4f1e8;
}
.cme-publication-card--news>.icon,
.cme-publication-card--news>.label,
.cme-publication-card--news>.cme-publication-card__title,
.cme-publication-card--news>.cme-publication-card__summary,
.cme-publication-card--news>.cme-publication-card__meta,
.cme-publication-card--news>.status,
.cme-publication-card--news>.news-actions{
  margin-left:18px!important;
  margin-right:18px!important;
}
.cme-publication-card--news>.icon{
  width:38px;
  height:38px;
  margin-top:2px;
  border-radius:10px;
  font-size:18px;
}
.cme-publication-card--news>.label{
  margin-top:10px!important;
  letter-spacing:.04em;
}
.cme-publication-card--news .cme-publication-card__title{
  min-height:0;
  margin-top:6px!important;
  font-size:21px!important;
  line-height:1.25!important;
}
.cme-publication-card--news .cme-publication-card__summary{
  margin-top:4px!important;
}
.cme-publication-card--news .cme-publication-card__meta{
  order:20;
  margin-top:10px!important;
  padding-top:10px;
  border-top:1px solid #edf0ee;
}
.cme-publication-card--news .news-actions{
  order:30;
}

/* Tienda y Profesionales: no convertirlos en las tarjetas normales.
   Conservan la composición comercial y los distintivos/planes existentes. */
body[data-section="Tienda"] .cme-publication-grid,
body[data-section="Profesionales"] .cme-publication-grid{
  grid-template-columns:repeat(auto-fill,minmax(280px,360px))!important;
  justify-content:start!important;
  align-items:start!important;
  gap:20px!important;
}
body[data-section="Tienda"] .cme-publication-grid>.cme-publication-card,
body[data-section="Profesionales"] .cme-publication-grid>.cme-publication-card{
  display:block!important;
  width:100%!important;
  max-width:360px!important;
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
  padding:20px!important;
}
.cme-publication-card--shop .cme-publication-card__media,
.cme-publication-card--professionals .cme-publication-card__media{
  aspect-ratio:3/2!important;
  height:auto!important;
  max-height:none!important;
  margin-bottom:12px!important;
}
.cme-publication-card--shop .cme-publication-card__title,
.cme-publication-card--professionals .cme-publication-card__title{
  min-height:0;
  max-height:2.5em;
  font-size:20px!important;
}
.cme-publication-card--professionals .professional-plan-badge{
  align-self:flex-start;
}
.cme-publication-card--professionals .professional-profile-details{
  max-height:104px;
}

/* La acción de lectura/información queda inmediatamente después del resumen. */
.cme-publication-card__summary .cme-publication-card__more-inline{
  white-space:nowrap;
}

@media(max-width:980px){
  body[data-section="Vivienda"] .cme-publication-grid,
  body[data-section="Empleo"] .cme-publication-grid,
  body[data-section="Anuncios"] .cme-publication-grid,
  body[data-section="Noticias"] .cme-publication-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  body[data-section="Vivienda"] .cme-publication-grid,
  body[data-section="Empleo"] .cme-publication-grid,
  body[data-section="Anuncios"] .cme-publication-grid,
  body[data-section="Noticias"] .cme-publication-grid,
  body[data-section="Tienda"] .cme-publication-grid,
  body[data-section="Profesionales"] .cme-publication-grid{
    grid-template-columns:1fr!important;
  }
  body[data-section="Tienda"] .cme-publication-grid>.cme-publication-card,
  body[data-section="Profesionales"] .cme-publication-grid>.cme-publication-card{
    max-width:none!important;
  }
  .cme-publication-card--jobs .cme-publication-card__media{
    max-height:none!important;
  }
}

/* ===== Anuncios profesionales · descripción interior fija (29-09-2026) =====
   Solo afecta a Profesionales. La tarjeta exterior conserva su comportamiento actual.
   La descripción reserva siempre el mismo espacio: texto corto no sube lo de abajo
   y texto largo se recorta visualmente; "Ver información" queda disponible. */
body[data-section="Profesionales"] .cme-publication-card--professionals .cme-publication-card__summary{
  display:block!important;
  height:6.15em!important;
  min-height:6.15em!important;
  max-height:6.15em!important;
  margin-bottom:8px!important;
  overflow:hidden!important;
  line-height:1.45!important;
}
body[data-section="Profesionales"] .cme-publication-card--professionals .cme-publication-card__summary-text{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden!important;
  max-height:4.35em!important;
  line-height:1.45!important;
}
body[data-section="Profesionales"] .cme-publication-card--professionals .cme-publication-card__more-inline{
  display:inline-block!important;
  margin:2px 0 0!important;
}
