/* DigiFaster · parche visual catálogo V5 · 2026-10-13
   Ámbito: exclusivamente tarjetas de index.php, dentro de .df-catalog-clean.
   Se carga DESPUÉS de app.css y marketplace-cart.css.
   No altera tarjetas de otras páginas, scripts ni lógica comercial. */

/* Tres columnas en escritorio, dos en tablet y una en móvil. */
.df-catalog-clean .df-resources-grid-clean{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  gap:22px!important;
}

/* Altura homogénea incluso cuando un recurso tiene un título largo. */
.df-catalog-clean .df-resources-grid-clean > .df-resource-card,
.df-catalog-clean .df-resources-grid-clean > .df-card.df-premium-card.df-resource-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
  height:640px!important;
  min-height:640px!important;
  max-height:640px!important;
  min-width:0!important;
  overflow:hidden!important;
}

.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-image-wrap{
  height:206px!important;
  min-height:206px!important;
  max-height:206px!important;
  flex:0 0 206px!important;
  overflow:hidden!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-cover{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-body{
  display:flex!important;
  flex:1 1 0%!important;
  min-height:0!important;
  height:auto!important;
  flex-direction:column!important;
  gap:11px!important;
  padding:19px 20px 0!important;
  overflow:hidden!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-tag-chips{
  flex:0 0 auto!important;
  max-height:60px!important;
  overflow:hidden!important;
  align-content:flex-start!important;
  gap:6px!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-badge{
  font-size:11px!important;
  padding:7px 9px!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-title{
  display:-webkit-box!important;
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:77px!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  font-size:22px!important;
  line-height:1.17!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-desc{
  display:-webkit-box!important;
  flex:0 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:88px!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  line-clamp:4!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  font-size:13.5px!important;
  line-height:1.55!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-foot{
  display:flex!important;
  flex:0 0 auto!important;
  margin:auto -20px 0!important;
  padding:14px 20px!important;
  min-height:78px!important;
  gap:10px!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-price{
  font-size:clamp(20px,1.7vw,29px)!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-btn-primary{
  min-width:105px!important;
  min-height:42px!important;
  padding:9px 13px!important;
  font-size:12px!important;
  white-space:normal!important;
  line-height:1.25!important;
  text-align:center!important;
}
/* Los recursos de pago conservan su acción añadir al carrito. */
.df-catalog-clean .df-resources-grid-clean .df-market-inline-add{
  flex:0 0 auto!important;
  margin:8px 0 10px!important;
}
.df-catalog-clean .df-resources-grid-clean .df-market-add-card{
  min-height:37px!important;
  padding:8px 10px!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-share-row{
  display:flex!important;
  flex:0 0 52px!important;
  min-height:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
}
.df-catalog-clean .df-resources-grid-clean .df-resource-card .df-share-one{
  min-height:52px!important;
  height:52px!important;
  font-size:13px!important;
}

/* Paginación semántica, accesible, compatible con filtros GET existentes. */
.df-catalog-clean .df-catalog-page-summary{
  margin:25px 0 0;
  text-align:center;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  color:#64748b;
}
.df-catalog-clean .df-catalog-page-summary strong{color:#242c44;font-weight:850}
.df-catalog-clean .df-catalog-page-summary-dot{margin:0 6px;color:#9ca3af}
.df-catalog-clean .df-catalog-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:16px auto 38px;
}
.df-catalog-clean .df-catalog-page-control{
  display:inline-flex;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding:9px 13px;
  border:1px solid #dce1ef;
  border-radius:13px;
  color:#353b55;
  background:#fff;
  box-shadow:0 4px 16px rgba(12,19,44,.045);
  text-decoration:none;
  font:inherit;
  font-size:14px;
  font-weight:800;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.df-catalog-clean a.df-catalog-page-control:hover{
  border-color:#7161f7;
  color:#4f46e5;
  background:#f3f1ff;
  transform:translateY(-1px);
}
.df-catalog-clean .df-catalog-page-control.is-current{
  border-color:#6252e8;
  background:linear-gradient(135deg,#6f5cf3,#4f46e5);
  color:#fff;
  box-shadow:0 8px 20px rgba(88,75,235,.20);
}
.df-catalog-clean .df-catalog-page-control.is-disabled{
  opacity:.42;
  cursor:default;
}
.df-catalog-clean .df-catalog-page-arrow{gap:7px;min-width:105px}
.df-catalog-clean .df-catalog-page-ellipsis{
  color:#64748b;
  min-width:22px;
  text-align:center;
  user-select:none;
}
.df-catalog-clean .df-catalog-page-control:focus-visible{
  outline:3px solid #818cf8;
  outline-offset:3px;
}
@media (max-width:1180px){
  .df-catalog-clean .df-resources-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:700px){
  .df-catalog-clean .df-resources-grid-clean{grid-template-columns:1fr!important;gap:17px!important}
  .df-catalog-clean .df-resources-grid-clean > .df-resource-card,
  .df-catalog-clean .df-resources-grid-clean > .df-card.df-premium-card.df-resource-card{
    height:610px!important;
    min-height:610px!important;
    max-height:610px!important;
  }
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-image-wrap{
    height:194px!important;min-height:194px!important;max-height:194px!important;flex-basis:194px!important;
  }
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-title{font-size:20px!important;max-height:71px!important}
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-desc{font-size:13px!important;max-height:82px!important}
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-foot{
    flex-direction:row!important;display:flex!important;gap:8px!important;
  }
  .df-catalog-clean .df-catalog-pages{gap:5px;margin-bottom:26px}
  .df-catalog-clean .df-catalog-page-control{min-width:38px;min-height:40px;padding:7px 9px;font-size:13px}
  .df-catalog-clean .df-catalog-page-arrow{min-width:40px}
  .df-catalog-clean .df-catalog-page-arrow span{display:none}
}
@media (max-width:370px){
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-title{font-size:19px!important}
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-body{padding:14px 16px 0!important}
  .df-catalog-clean .df-resources-grid-clean .df-resource-card .df-card-foot{margin-left:-16px!important;margin-right:-16px!important;padding:12px 16px!important}
}
