/* Top Africa Tours shared polish and card consistency */
.row.list__snippets,
ul.list__snippets {
  align-items: stretch;
}

.list__snippets > .col,
.list__snippets > li,
.product-list ul li {
  display: flex;
}

.list__snippets .list__item,
.product-box,
.card-box,
.da-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  border: 1px solid rgba(38, 64, 39, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 38, 28, 0.08);
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.list__snippets .list__item:hover,
.product-box:hover,
.card-box:hover,
.da-card:hover {
  transform: translateY(-3px);
  border-color: rgba(22, 163, 74, 0.28);
  box-shadow: 0 18px 42px rgba(18, 38, 28, 0.13);
}

.list__item--image__full,
.producct-img,
.product-img,
.card-img-top,
.da-card .da-card-photo {
  aspect-ratio: 16 / 10;
  background: #edf3ed;
  overflow: hidden;
}

.list__item--image__full img,
.list__picture img,
.operator-snippet__data img,
.producct-img img,
.product-img img,
.card-img-top,
.da-card .da-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.list__item--data.matchheight,
.product-caption,
.card-body,
.da-card .da-card-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 10px;
}

.list__item .desc,
.list__item .tour-description,
.product-caption p,
.card-text {
  color: #445047;
  line-height: 1.6;
}

.list__item .tour-description,
.product-caption p,
.card-text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.list__item center,
.product-caption .btn,
.card-body .btn,
.card-footer,
.da-card .btn {
  margin-top: auto;
}

.list__item #view,
.product-caption .btn,
.card-body .btn,
.da-card .btn,
a.btn--orange,
a.btn--green {
  min-height: 42px;
  border: 0;
  border-radius: 6px;
  background: #168a43;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: 0 8px 18px rgba(22, 138, 67, 0.2);
}

.list__item #view:hover,
.product-caption .btn:hover,
.card-body .btn:hover,
.da-card .btn:hover,
a.btn--orange:hover,
a.btn--green:hover {
  background: #0f6f35;
}

.price-badge {
  border: 1px solid rgba(22, 163, 74, 0.2);
}

form input,
form textarea,
form select {
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

form input:focus,
form textarea:focus,
form select:focus {
  border-color: #168a43;
  box-shadow: 0 0 0 3px rgba(22, 138, 67, 0.14);
  outline: none;
}

@media (max-width: 767px) {
  .list__snippets > .col,
  .list__snippets > li,
  .product-list ul li {
    width: 100%;
  }

  .list__item--image__full,
  .producct-img,
  .product-img,
  .card-img-top {
    aspect-ratio: 4 / 3;
  }
}
