.travel-card{
  --tc-paper:#FAF8F5;
  --tc-ink:#211D1D;
  --tc-muted:#706966;
  --tc-red:#8E1212;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  color:var(--tc-ink);
  cursor:pointer;
  text-decoration:none;
  overflow:hidden;
  transition:transform .45s ease;
}
.travel-card:focus-visible{
  outline:2px solid #8E1212;
  outline-offset:3px;
}

.travel-card__media{
  position:relative;
  display:block;
  overflow:hidden;
  background:#F2EFEB;
}
.travel-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1);
  transition:transform .7s ease;
}

.travel-card__title{
  margin:0;
  line-height:1.15;
}

.travel-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 22px;
  align-items:start;
}
.travel-card-grid--voyages{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.travel-card-grid--tours{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 24px;
}

/* Voyages: portrait photo + overlay title */
.travel-card--voyage{
  aspect-ratio:2 / 3;
  background:#211D1D;
  border-radius:6px;
}
.travel-card--voyage:hover{transform:translateY(-3px)}
.travel-card--voyage:hover .travel-card__image{transform:scale(1.06)}
.travel-card--voyage .travel-card__media{
  position:absolute;
  inset:0;
  border-radius:inherit;
}
.travel-card--voyage .travel-card__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.travel-card--voyage .travel-card__media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(20,18,17,.04) 0%,
    rgba(20,18,17,.12) 48%,
    rgba(20,18,17,.62) 100%
  );
}
.travel-card--voyage .travel-card__title,
.page-pt a.travel-card--voyage .travel-card__title,
.page-pt .travel-card--voyage h3.travel-card__title{
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  margin:0;
  padding:18px 16px 16px;
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:600;
  line-height:1.25;
  letter-spacing:.01em;
  color:#fff;
  text-align:left;
  text-shadow:0 1px 10px rgba(0,0,0,.35);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

/* Tours: photo then stacked facts */
.travel-card--tour{
  overflow:visible;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.travel-card--tour:hover{transform:none}
.travel-card--tour:hover .travel-card__image{transform:scale(1.04)}
.travel-card--tour .travel-card__media{
  aspect-ratio:16 / 10;
  flex:none;
  border-radius:12px;
}
.travel-card--tour .travel-card__body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 2px 0;
  text-align:left;
  background:transparent;
}
.travel-card--tour .travel-card__title,
.page-pt a.travel-card--tour .travel-card__title,
.page-pt .travel-card--tour h3.travel-card__title{
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-size:20px;
  font-weight:700;
  line-height:1.28;
  letter-spacing:-.015em;
  color:#211D1D;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.travel-card__kicker{
  margin:0;
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#706966;
}
.travel-card__duration{
  margin:0;
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#211D1D;
}
.travel-card__price{
  margin:0;
  font-family:"Source Sans Pro",Arial,sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:1.35;
  color:#211D1D;
}
.travel-card__meta,
.travel-card__facts,
.travel-card__go{display:none}

@media(max-width:1099px){
  .travel-card-grid,
  .travel-card-grid--tours{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .travel-card-grid--voyages{grid-template-columns:repeat(3,minmax(0,1fr))}
  .travel-card--tour .travel-card__title,
  .page-pt a.travel-card--tour .travel-card__title{font-size:18px}
}
@media(max-width:699px){
  .travel-card-grid,
  .travel-card-grid--tours,
  .travel-card-grid--voyages{grid-template-columns:minmax(0,1fr);gap:22px}
  .travel-card--voyage{aspect-ratio:3 / 4;max-height:440px}
  .travel-card--voyage .travel-card__title,
  .page-pt a.travel-card--voyage .travel-card__title{font-size:16px}
  .travel-card--tour .travel-card__media{aspect-ratio:16 / 10}
}

@media(prefers-reduced-motion:reduce){
  .travel-card,
  .travel-card__image{transition:none}
  .travel-card:hover{transform:none}
  .travel-card:hover .travel-card__image{transform:none}
}
