/*
 * Fasto V3.7
 * Deterministic equal-height card structure.
 * Uses normal cascade rules only.
 */

/* Let every grid row size from the fixed card structure, not percentage heights. */
ul.articles.bikes,
.ajax-bikes-holder ul.articles.bikes,
.bikes-filter-data ul.articles.bikes,
.fasto-v25-browse ul.articles.bikes,
.fasto-v2-discovery-section ul.articles.bikes{
  align-items:stretch;
  grid-auto-rows:auto;
}

ul.articles.bikes > li.bike-model,
.ajax-bikes-holder ul.articles.bikes > li.bike-model,
.bikes-filter-data ul.articles.bikes > li.bike-model,
.fasto-v25-browse ul.articles.bikes > li.bike-model,
.fasto-v2-discovery-section ul.articles.bikes > li.bike-model{
  display:flex;
  align-self:stretch;
  min-width:0;
  height:auto;
}

ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
.ajax-bikes-holder ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
.bikes-filter-data ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
.fasto-v25-browse ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
.fasto-v2-discovery-section ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card{
  display:grid;
  grid-template-rows:270px minmax(170px,1fr) 104px;
  width:100%;
  padding:0;
  overflow:hidden;
}

/* Media occupies one exact row on every card. */
.fasto-v37-bike-card .fasto-v37-card-media{
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.fasto-v37-bike-card .fasto-v37-card-media .post-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:270px;
  min-height:270px;
  margin:0;
  padding:22px;
  box-sizing:border-box;
}

.fasto-v37-bike-card .fasto-v37-card-media .post-thumb > a,
.fasto-v37-bike-card .fasto-v37-card-media .post-thumb .image,
.fasto-v37-bike-card .fasto-v37-card-media .post-thumb picture{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:0;
}

.fasto-v37-bike-card .fasto-v37-card-media .post-thumb img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

/* Content has its own predictable area. */
.fasto-v37-bike-card .fasto-v37-card-content{
  display:grid;
  grid-template-rows:42px minmax(0,1fr);
  min-width:0;
  min-height:0;
  padding:24px 20px 18px;
  box-sizing:border-box;
}

.fasto-v37-bike-card .fasto-v37-card-content .bike-categories-wrapper{
  display:flex;
  align-items:flex-start;
  min-height:42px;
  margin:0;
  padding:0;
  overflow:hidden;
}

.fasto-v37-bike-card .fasto-v37-card-content .post-details{
  display:block;
  min-width:0;
  min-height:0;
  margin:0;
  padding:10px 0 0;
}

.fasto-v37-bike-card .fasto-v37-card-content .post-title{
  display:-webkit-box;
  width:100%;
  min-height:78px;
  max-height:78px;
  margin:0;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

/* Price, brand and admin controls live in one fixed footer row. */
.fasto-v37-bike-card .fasto-v37-card-footer{
  display:grid;
  grid-template-rows:minmax(48px,1fr) 24px;
  gap:8px;
  min-width:0;
  min-height:104px;
  padding:14px 20px 16px;
  border-top:1px solid #e2e6ec;
  box-sizing:border-box;
}

.fasto-v37-bike-card .fasto-v37-card-footer .brand-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:0;
  border-top:0;
}

.fasto-v37-bike-card .fasto-v37-card-footer .bike-price,
.fasto-v37-bike-card .fasto-v37-card-footer .brand-price > .price{
  min-width:0;
  margin:0;
}

.fasto-v37-bike-card .fasto-v37-card-footer .brand-price ul{
  min-width:0;
  margin:0;
  padding:0;
}

.fasto-v37-bike-card .fasto-v37-card-footer .fasto-v2-admin-card-links{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:24px;
  margin:0;
  padding:0;
}

/* Keep overlays independent from the card grid rows. */
.fasto-v37-bike-card .bike-year,
.fasto-v37-bike-card .compare-holder-main{
  z-index:4;
}

@media (max-width:1180px){
  ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .ajax-bikes-holder ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .bikes-filter-data ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .fasto-v25-browse ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .fasto-v2-discovery-section ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card{
    grid-template-rows:235px minmax(170px,1fr) 104px;
    height:585px;
    min-height:585px;
  }

  .fasto-v37-bike-card .fasto-v37-card-media .post-thumb{
    height:235px;
    min-height:235px;
  }
}

@media (max-width:680px){
  ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .ajax-bikes-holder ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .bikes-filter-data ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .fasto-v25-browse ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card,
  .fasto-v2-discovery-section ul.articles.bikes > li.bike-model > article.fasto-v2-bike-card.fasto-v37-bike-card{
    grid-template-rows:260px auto 104px;
    height:auto;
    min-height:560px;
  }

  .fasto-v37-bike-card .fasto-v37-card-media .post-thumb{
    height:260px;
    min-height:260px;
  }
}
