/*
 * Fasto V3.8
 * Compact equal-height bike cards and reliable mobile filter drawer/accordions.
 * Normal cascade only; no forced-priority declarations.
 */

/* ==========================================================
   Bike cards: equal height without the oversized empty media gap
   ========================================================== */
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:1fr;
}

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;
  min-width:0;
  height:100%;
}

ul.articles.bikes > li.bike-model > article.fasto-v37-bike-card,
.ajax-bikes-holder ul.articles.bikes > li.bike-model > article.fasto-v37-bike-card,
.bikes-filter-data ul.articles.bikes > li.bike-model > article.fasto-v37-bike-card,
.fasto-v25-browse ul.articles.bikes > li.bike-model > article.fasto-v37-bike-card,
.fasto-v2-discovery-section ul.articles.bikes > li.bike-model > article.fasto-v37-bike-card{
  display:grid;
  grid-template-rows:260px 150px 96px;
  width:100%;
  height:506px;
  min-height:506px;
  padding:0;
  overflow:hidden;
}

.fasto-v37-bike-card .fasto-v37-card-media{
  display:block;
  width:100%;
  height:260px;
  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:260px;
  min-height:0;
  max-height:260px;
  aspect-ratio:auto;
  flex:none;
  margin:0;
  padding:18px;
  overflow:hidden;
  box-sizing:border-box;
  background:#fff;
}

.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;
  margin: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:224px;
  margin:0;
  object-fit:contain;
  object-position:center center;
  transform:none;
}

.fasto-v37-bike-card .fasto-v37-card-content{
  display:grid;
  grid-template-rows:38px minmax(0,1fr);
  min-width:0;
  min-height:0;
  padding:20px 20px 14px;
  box-sizing:border-box;
}

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

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

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

.fasto-v37-bike-card .fasto-v37-card-footer{
  display:grid;
  grid-template-rows:52px 22px;
  gap:6px;
  min-width:0;
  min-height:96px;
  padding:10px 20px 12px;
  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:52px;
  margin:0;
  padding:0;
  border:0;
}

.fasto-v37-bike-card .fasto-v37-card-footer .fasto-v2-admin-card-links{
  min-height:22px;
  margin:0;
  padding:0;
}

/* ==========================================================
   Filter toggle: desktop hidden, mobile only
   ========================================================== */
.fasto-v2-filter-toggle,
.fasto-v38-filter-drawer-head{
  display:none;
}

@media (max-width:1024px){
  .fasto-v2-filter-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-height:44px;
    margin:0 0 8px;
    padding:0 18px;
    border:1px solid #ff3434;
    border-radius:0;
    background:#ff3434;
    color:#fff;
    font:inherit;
    font-weight:700;
    text-transform:uppercase;
    cursor:pointer;
  }

  .bikes-filter-container .filters{
    position:fixed;
    inset:0 auto 0 0;
    width:min(400px, 92vw);
    max-width:92vw;
    height:100dvh;
    max-height:100dvh;
    display:block;
    padding:58px 14px 24px;
    margin:0;
    overflow-x:hidden;
    overflow-y:auto;
    border:0;
    border-right:1px solid #dfe4ea;
    border-radius:0;
    background:#fff;
    box-shadow:none;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:6000;
  }

  .bikes-filter-container .filters.fasto-v2-open,
  .bikes-filter-container .filters.fasto-v38-open{
    transform:translateX(0);
  }

  .fasto-v38-filter-drawer-head{
    position:absolute;
    top:0;
    left:0;
    right:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:0 12px 0 16px;
    border-bottom:1px solid #e2e6ec;
    background:#fff;
    z-index:4;
  }

  .fasto-v38-filter-drawer-head strong{
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .fasto-v38-filter-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#111318;
    font-size:28px;
    line-height:1;
    cursor:pointer;
  }

  .bikes-filter-container .filter-main-holder{
    position:relative;
    display:block;
    width:100%;
    margin:0;
    border-bottom:1px solid #e7eaee;
  }

  .bikes-filter-container .filter-main-btn{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:48px;
    padding:0 4px;
    border:0;
    border-radius:0;
    background:#fff;
    color:#111318;
    text-align:left;
  }

  .bikes-filter-container .filter-main-btn:after{
    content:'+';
    font-size:20px;
    font-weight:400;
  }

  .bikes-filter-container .filter-main-btn.opened:after{
    content:'−';
  }

  .bikes-filter-container .filter-holder-holder,
  .bikes-filter-container .filter-main-holder.pos-static .filter-holder-holder{
    position:static;
    display:none;
    width:100%;
    min-width:0;
    max-width:none;
    max-height:none;
    margin:0;
    padding:4px 0 18px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
    transform:none;
  }

  .bikes-filter-container .filter-holder-holder.opened{
    display:block;
  }

  .bikes-filter-container .filter-holder{
    display:block;
    width:100%;
    height:auto;
    min-height:0;
    margin:0 0 14px;
    padding:0;
    opacity:1;
    visibility:visible;
  }

  .bikes-filter-container .filter-title-holder{
    display:block;
    margin:8px 0;
    color:#667085;
  }

  .bikes-filter-container .filter-ul,
  .bikes-filter-container .filter-holder-holder .filter-ul{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    margin:0;
    padding:0;
    overflow:visible;
    opacity:1;
    visibility:visible;
  }

  .bikes-filter-container .filter-ul li{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:40px;
    padding:7px 2px;
    color:#111318;
  }

  .bikes-filter-container .filter-ul label{
    display:block;
    color:#111318;
  }

  .bikes-filter-container .filter-holder-holder .close-filter{
    display:none;
  }

  .bikes-filter-container .filter_submit{
    display:block;
    width:100%;
    margin-top:12px;
  }

  .bikes-filter-container .filter_submit .apply_filter,
  .bikes-filter-container .reset_filter{
    display:flex;
    justify-content:center;
    width:100%;
    min-height:44px;
    border-radius:0;
  }

  body.fasto-v38-filter-open{
    overflow:hidden;
  }
}

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

  .fasto-v37-bike-card .fasto-v37-card-media,
  .fasto-v37-bike-card .fasto-v37-card-media .post-thumb{
    height:240px;
    max-height:240px;
  }

  .fasto-v37-bike-card .fasto-v37-card-media .post-thumb img{
    max-height:204px;
  }
}
