/* Shared course category placement for cart, checkout, Fly Cart and thank-you. */
.ffehbo-course-category {
  display: inline;
  margin-top: 3px;
  color: #667394;
  font-family: var(--ffehbo-font-family);
  font-size: var(--ffehbo-font-size-label);
  font-weight: 400;
  line-height: 1.35;
}

.ffehbo-course-category::before {
  content: "";
  display: block;
}

.ffehbo-course-category::after {
  content: " · ";
}

.ffehbo-course-category + :is(.ffehbo-checkout-product__quantity, .ffehbo-fly-cart-participants, small) {
  margin-top: 0;
}

/* Shared course-detail icon language for the checkout and WPC Fly Cart. */
.woofc-item.ffehbo-course-fly-cart-item .woofc-item-data.ffehbo-fly-cart-meta {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  color: #526184;
  font-size: var(--ffehbo-font-size-meta);
  line-height: 1.45 !important;
}

.woofc-item.ffehbo-course-fly-cart-item {
  position: relative;
}

.woofc-item.ffehbo-course-fly-cart-item .woofc-item-title {
  padding-right: 92px;
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row {
  position: relative;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  margin: 0 !important;
  padding-left: 28px;
  line-height: 1.45 !important;
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row--type {
  display: none;
}

.woofc-item.ffehbo-course-fly-cart-item :is(
  .ffehbo-fly-cart-meta__row--date,
  .ffehbo-fly-cart-meta__row--time,
  .ffehbo-fly-cart-meta__row--location
)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 19px;
  height: 19px;
  background: #59698f;
  opacity: 0.5;
  -webkit-mask: var(--ffehbo-detail-icon) center / contain no-repeat;
  mask: var(--ffehbo-detail-icon) center / contain no-repeat;
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row--date {
  --ffehbo-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row--time {
  --ffehbo-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row--location {
  --ffehbo-detail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__label {
  color: #190d39;
  font-weight: 700;
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-participants {
  display: inline;
  margin-top: 0;
  color: #667394;
  font-size: var(--ffehbo-font-size-meta);
  font-weight: 400;
}

.woofc-item.ffehbo-course-fly-cart-item .ffehbo-course-category {
  font-size: var(--ffehbo-font-size-meta);
}

.woofc-item.ffehbo-fly-cart-reservation-item .ffehbo-fly-cart-reservation-badge {
  position: absolute;
  top: 5px;
  right: 12px;
  width: auto;
  min-height: 24px;
  padding: 4px 11px;
  border-radius: 999px;
  background: #ffd88a;
  color: #190d39;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .woofc-item.ffehbo-course-fly-cart-item .ffehbo-fly-cart-meta__row {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-left: 25px;
  }

  .woofc-item.ffehbo-course-fly-cart-item .woofc-item-title {
    padding-right: 82px;
  }

  .woofc-item.ffehbo-fly-cart-reservation-item .ffehbo-fly-cart-reservation-badge {
    right: 8px;
    padding-inline: 9px;
  }
}
