/* Denamo Fitness Cards PRO – responsive + hover */
.dfc-grid{
  --cols: 3;
  display:grid;
  grid-template-columns:repeat(var(--cols), 1fr);
  gap:24px;
}
/* Desktop */
.dfc-grid.dfc-cols-2{ --cols:2; }
.dfc-grid.dfc-cols-3{ --cols:3; }
.dfc-grid.dfc-cols-4{ --cols:4; }
.dfc-grid.dfc-cols-5{ --cols:5; }
/* Tablet */
@media (max-width:1024px){
  .dfc-grid.dfc-cols-md-1{ --cols:1; }
  .dfc-grid.dfc-cols-md-2{ --cols:2; }
  .dfc-grid.dfc-cols-md-3{ --cols:3; }
}
/* Mobile */
@media (max-width:640px){
  .dfc-grid.dfc-cols-sm-1{ --cols:1; }
  .dfc-grid.dfc-cols-sm-2{ --cols:2; }
}

.dfc-card{
  position:relative;
  background:#111;
  border-radius:16px;
  padding:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:#fff;
  min-height:420px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition: transform .25s ease, box-shadow .25s ease;
}
.dfc-card:hover{ transform: translateY(-6px); box-shadow:0 16px 36px rgba(0,0,0,.25); }

.dfc-thumb{ display:block; width:100%; }
.dfc-thumb img{
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:12px;
  display:block;
  margin-bottom:12px;
  transition: transform .35s ease;
}
.dfc-card:hover .dfc-thumb img{ transform: scale(1.03); }

.dfc-title{
  margin:10px 0 6px;
  font-weight:700;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.6em;
}
.dfc-title a{ color:inherit; text-decoration:none; }

.dfc-meta{ margin-top:4px; }
.dfc-meta .price{ color:#ff3333; font-weight:700; }

/* Floating add-to-cart button */
.dfc-actions .button{
  position:absolute;
  left:50%; top:45%;
  transform:translate(-50%,-35%) scale(.9);
  opacity:0;
  transition:opacity .25s ease, transform .25s ease;
  border-radius:9999px;
  padding:10px 14px;
  background:#ffffff;
  color:#111 !important;
  border:0;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}
.dfc-card:hover .dfc-actions .button{ opacity:1; transform:translate(-50%,-50%) scale(1); }

/* Fallback no image */
.dfc-noimg{
  height:240px;
  border-radius:12px;
  background:#222;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Responsive fine-tuning */
@media (max-width:1024px){
  .dfc-thumb img{ height:220px; }
}
@media (max-width:640px){
  .dfc-card{ padding:14px; }
  .dfc-thumb img{ height:200px; }
}
