/* Future destinations inside the existing catalogue; local EN/DE drafts only. */
.home .upcoming-guides {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.upcoming-guide {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px;
  background: #fffaf0;
  border: 1px solid #dcd4ba;
  border-radius: 20px;
  box-shadow: 0 12px 22px -20px #253f3580;
}
.upcoming-guide figure { margin: 0; }
.upcoming-guide img {
  width: 100%;
  aspect-ratio: 1.42;
  object-fit: contain;
  background: #f7efdd;
  border-radius: 8px;
}
.upcoming-guide figcaption { font-size: 11px; line-height: 1.5; margin-top: 9px; text-align: left; color: #566359; }
.upcoming-guide-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px 4px 4px; flex: 1; }
.upcoming-guide .preparation-label { font-size: 11px; font-weight: 800; color: #1f4536; padding: 5px 12px; border-radius: 99px; background: #e7ebdf; }
.home .upcoming-guide h3 { font-size: 29px; margin: 0; }
.upcoming-guide-copy p { font-size: 15px; line-height: 1.5; color: #566359; }
.upcoming-guide .availability-note { font-size: 12px; margin-top: auto; padding-top: 8px; border-top: 1px dashed #d6d9cc; width: 100%; }
@media (max-width: 1000px) {
  .home .upcoming-guides { gap: 16px; }
  .upcoming-guide { padding: 12px; }
  .home .upcoming-guide h3 { font-size: 25px; }
}
@media (max-width: 700px) {
  .home .upcoming-guides { grid-template-columns: 1fr; gap: 22px; }
  .upcoming-guide { padding: 18px; }
  .home .upcoming-guide h3 { font-size: 29px; }
}
