/* Shared holiday-package card — used on the listing grid and "You Might Also
   Like" everywhere a package card is shown, so restyling only needs one file. */

.pkg-card {
  background: #fff; border-radius: 12px; box-shadow: 0 1px 8px rgba(0,0,0,0.07);
  overflow: hidden; transition: transform .25s, box-shadow .25s;
  height: 100%; display: flex; flex-direction: column;
}
.pkg-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); }

.pkg-card-img-wrap { position: relative; height: 180px; overflow: hidden; }
.pkg-card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.pkg-card:hover .pkg-card-img-wrap img { transform: scale(1.06); }

.pkg-card .duration-badge {
  position: absolute; top: 10px; right: 10px;
  background: rgba(0,0,0,0.7); color: #fff; font-size: 11px; font-weight: 700;
  padding: 4px 10px; border-radius: 6px;
}
.pkg-card .visa-badge {
  position: absolute; top: 10px; left: 10px;
  color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .02em;
  padding: 4px 10px; border-radius: 6px; display: flex; align-items: center; gap: 5px;
}
.pkg-card .visa-badge.visa-assistance { background: #16a34a; }
.pkg-card .visa-badge.visa-on-arrival { background: #005fcc; }

.pkg-card-tags {
  position: absolute; left: 10px; bottom: 10px;
  display: flex; gap: 6px; flex-wrap: wrap;
}
.pkg-card-tags .pkg-tag {
  color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .03em; padding: 4px 10px; border-radius: 20px;
}
.pkg-tag.best-seller  { background: #f47b20; }
.pkg-tag.beach         { background: #06b6d4; }
.pkg-tag.adventure     { background: #dc2626; }
.pkg-tag.honeymoon     { background: #ec4899; }
.pkg-tag.heritage      { background: #92400e; }
.pkg-tag.hill-station,
.pkg-tag.mountains     { background: #16a34a; }
.pkg-tag.international { background: #7c3aed; }
.pkg-tag.family        { background: #0d9488; }
.pkg-tag.luxury        { background: #ca8a04; }
.pkg-tag.mice          { background: #0891b2; }
.pkg-tag.default       { background: #005fcc; }

.pkg-card-body { padding: 16px; flex: 1; display: flex; flex-direction: column; }
.pkg-card-title { font-size: 15px; font-weight: 700; color: #111; margin-bottom: 4px; }
.pkg-card-dest { font-size: 12px; color: #888; margin-bottom: 10px; }
.pkg-card-dest i { color: #005fcc; }

.pkg-card-places { font-size: 12px; color: #888; margin-bottom: 10px; display: flex; align-items: center; gap: 4px; }
.pkg-card-places i { color: #005fcc; }

.pkg-card-includes { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.pkg-card-includes span { font-size: 11px; color: #555; display: flex; align-items: center; gap: 4px; }
.pkg-card-includes i { color: #005fcc; }

.pkg-card-rating { font-size: 12px; color: #f47b20; margin-bottom: 10px; display: flex; align-items: center; gap: 4px; }
.pkg-card-rating span { color: #555; font-size: 11px; }

.pkg-card-price-row { margin-top: auto; }
.pkg-card-price-row .from-label { font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: .5px; }
.pkg-card-price-row .orig-price { font-size: 12px; color: #aaa; text-decoration: line-through; }
.pkg-card-price-row .curr-price { font-size: 20px; font-weight: 800; color: #005fcc; }
.pkg-card-price-row .per-person { font-size: 11px; color: #888; font-weight: 400; }

.pkg-card-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 12px 16px; border-top: 1px solid #eee; background: #fafbfc;
}
.pkg-card-footer .btn-view {
  font-size: 12px; font-weight: 600; color: #005fcc; text-decoration: underline;
}
.pkg-card-footer .btn-book-now {
  background: #005fcc; color: #fff; border: none; border-radius: 8px;
  font-size: 12px; font-weight: 700; padding: 8px 16px; text-decoration: none;
  transition: background .2s;
}
.pkg-card-footer .btn-book-now:hover { background: #004bb5; color: #fff; }
