/* Compacta únicamente secciones sin contenido real o con un único control auxiliar. */

/* Portadas de listados que quedaron solo con el buscador. */
.listing-hero:has(.listing-helper:not(:has(.listing-pills))) .container{
  padding-top:clamp(34px,5vw,58px)!important;
  padding-bottom:clamp(30px,4.5vw,52px)!important;
}

.listing-helper:not(:has(.listing-pills)){
  margin-top:18px!important;
  gap:0!important;
}

.listing-helper:not(:has(.listing-pills)) .home-search{
  width:min(520px,100%)!important;
}

/* Estados vacíos: menos altura, menos aire y una lectura más directa. */
.section-block:has(.story-grid > .empty-state:only-child),
.section-block:has(.story-grid > .coming-soon:only-child),
.section-block:has(.listing-grid > .empty-state:only-child){
  padding-top:clamp(28px,4vw,46px)!important;
  padding-bottom:clamp(30px,4vw,50px)!important;
}

.story-grid:has(> .empty-state:only-child),
.story-grid:has(> .coming-soon:only-child),
.listing-grid:has(> .empty-state:only-child){
  display:block!important;
  min-height:0!important;
}

.empty-state,
.coming-soon{
  max-width:680px;
  min-height:0!important;
  margin:0!important;
  padding:18px 20px!important;
  border-radius:16px!important;
  line-height:1.5;
}

.coming-soon strong{
  margin-bottom:4px;
}

.coming-soon p,
.empty-state p{
  margin-bottom:0;
}

/* Evita cabeceras excesivamente separadas cuando debajo no hay tarjetas. */
.section-block:has(.story-grid > .empty-state:only-child) .section-head,
.section-block:has(.story-grid > .coming-soon:only-child) .section-head,
.section-block:has(.listing-grid > .empty-state:only-child) .section-head{
  margin-bottom:16px!important;
}

@media(max-width:650px){
  .listing-hero:has(.listing-helper:not(:has(.listing-pills))) .container{
    padding-top:30px!important;
    padding-bottom:34px!important;
  }

  .listing-helper:not(:has(.listing-pills)){
    margin-top:14px!important;
  }

  .section-block:has(.story-grid > .empty-state:only-child),
  .section-block:has(.story-grid > .coming-soon:only-child),
  .section-block:has(.listing-grid > .empty-state:only-child){
    padding-top:24px!important;
    padding-bottom:30px!important;
  }

  .empty-state,
  .coming-soon{
    padding:15px 16px!important;
    border-radius:14px!important;
  }
}
