/* image-card.css: ported 1:1 from foodforjoe.es CSS modules (hash suffixes removed). */

/* ── ImageCard ── */
.ImageCard_imageCard {
  position:relative;
  border:2px solid var(--color-dark-beige);
  border-radius:10px;
  overflow:hidden;
  box-sizing:border-box;
  cursor:pointer;
  display:block;
}

.ImageCard_imageCard:hover {
  background:var(--color-white);
  box-shadow:0 3px 8px rgba(0,0,0,.1);
}

.ImageCard_imageCardSelected,
.ImageCard_imageCardSelected:hover {
  background:var(--color-white);
  border:2px solid var(--color-yellow);
}

.ImageCard_imageCardInactive {
  opacity:.3;
  background:transparent;
  border:2px solid transparent;
}

.ImageCard_imageWrapper {
  position:relative;
}

.ImageCard_image {
  width:100%;
  height:170px;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:50%;
}

.ImageCard_imageCardPadding .ImageCard_image {
  background-size:auto 90%;
  background-position:center 100%;
}

.ImageCard_content {
  width:100%;
  padding:26px 20px 10px;
}

.ImageCard_title {
  overflow:hidden;
  width:100%;
  display:flex;
  align-items:flex-start;
  margin-bottom:3px;
}

.ImageCard_titleLong {
  height:2.5em;
}

.ImageCard_price {
  margin-left:16px;
  color:var(--color-dark-yellow);
  font-family: var(--font-family-serif-medium); font-variation-settings: var(--gp-medium-axes);
}

.ImageCard_titleText {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.ImageCard_size {
  font-family:var(--font-family-serif-light);
  font-size:16px;
  font-style:normal;
  font-weight:400;
  line-height:22px;
  color:var(--color-green);
  margin-top:-3px;
  margin-bottom:5px;
}

.ImageCard_description {
  margin-bottom:10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%;
  height:2.5em;
  opacity:.8;
  font-size:15px;
}

.ImageCard_cta {
  display:inline-block;
}

.ImageCard_tags {
  display:flex;
  gap:5px;
}

.ImageCard_tag {
  width:-moz-fit-content;
  width:fit-content;
  display:block;
  padding:5px 10px;
  border-radius:5px;
  background:rgb(24 63 55/10%);
  color:var(--color-green);
  font-family: var(--font-family-serif-medium); font-variation-settings: var(--gp-medium-axes);
  font-weight:700;
  letter-spacing:.05em;
  font-size:12px;
  margin-bottom:5px;
}

@keyframes ImageCard_shine {
  0%,
  to {
    background-position-x:0;
  }
  50% {
    background-position-x:100%;
  }
}

.ImageCard_badge {
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
}

.ImageCard_imageCard:hover .ImageCard_badge {
  background-position-x:100%;
}

@media (min-width:960px) {
  .ImageCard_image {
    height:318px;
  }
}

@media (min-width:960px) {
  .ImageCard_description {
    font-size:16px;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal {
    display:flex;
    min-height:190px;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_image {
    height:190px;
    padding:0;
    flex:0 0 190px;
    overflow:hidden;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_description {
    -webkit-line-clamp:2;
    margin-bottom:0;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_title {
    margin-bottom:6px;
    justify-content:space-between;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_titleText {
    overflow:hidden;
    flex:1 1;
    margin-right:20px;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_price {
    flex:0 0 auto;
  }
}

@media (min-width:960px) {
  .ImageCard_imageCardHorizontal .ImageCard_content {
    padding:16px 27px;
  }
}
