/* What's inside, on the single product page */
.sfc-contents { margin: 1.2em 0; padding: 1em 1.2em; border: 1px dashed #d8d8d8; border-radius: 10px; background: #fdfaf3; }
.sfc-contents__title { margin: 0 0 .5em; font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; }
.sfc-contents__list { list-style: none; margin: 0; padding: 0; }
.sfc-contents__list li { padding: .25em 0; }
.sfc-contents .sfc-qty { display: inline-block; min-width: 1.8em; font-weight: 700; }
.sfc-saving { margin: .8em 0 0; font-weight: 600; color: #1f7a34; }

/* [sofresh_combos] grid */
.sfc-grid { display: grid; gap: 14px; }
.sfc-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sfc-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sfc-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sfc-card { display: flex; gap: 16px; align-items: center; padding: 14px; border: 1px dashed #e3c98d; border-radius: 14px; background: #fdf0d5; }
.sfc-card--sold-out { opacity: .6; }
.sfc-card__media { flex: 0 0 110px; }
.sfc-card__media img { width: 110px; height: auto; border-radius: 8px; }
.sfc-card__body { flex: 1 1 auto; }
.sfc-card__title { margin: 0 0 .3em; font-size: 1.15rem; line-height: 1.25; }
.sfc-card__title a { text-decoration: none; color: inherit; }
.sfc-card__contents, .sfc-card__desc { margin: .2em 0; font-size: .9rem; color: #4a4a4a; }
.sfc-card__aside { flex: 0 0 auto; text-align: right; }
.sfc-card__price { font-size: 1.05rem; margin-bottom: .5em; }
.sfc-card__price del { color: #c0392b; opacity: 1; }
.sfc-card__price ins { text-decoration: none; font-weight: 700; }
.sfc-card__soldout { display: inline-block; padding: .4em .9em; border-radius: 8px; background: #ddd; font-size: .85rem; }

@media (max-width: 600px) {
  .sfc-card { flex-wrap: wrap; }
  .sfc-card__aside { text-align: left; width: 100%; }
  .sfc-grid--cols-2, .sfc-grid--cols-3, .sfc-grid--cols-4 { grid-template-columns: 1fr; }
}
