.travel-section {
  background: linear-gradient(160deg, #e8f4f3 0%, #d0eae8 40%, #e8f0f4 100%);
  padding: var(--space-xl) 0;
  position: relative;
  overflow: hidden;
}

.travel-section__inner {
  position: relative;
}

.travel__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-top: var(--space-lg);
}

.travel__card {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,252,251,0.98));
  border: 1px solid rgba(27, 111, 106, 0.2);
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 18px 36px rgba(15, 78, 84, 0.1);
}

.travel__card-body-wrap {
  padding: 1.35rem;
  flex: 1;
}

.travel__card-kicker {
  display: inline-block;
  margin-bottom: 0.75rem;
  color: var(--color-peacock);
  font-family: var(--font-body);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.travel__card-title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  color: var(--color-brown);
  margin-bottom: var(--space-sm);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid rgba(27, 111, 106, 0.18);
}

.travel__card-body {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.8;
  color: var(--color-charcoal);
  margin-bottom: var(--space-sm);
}

.travel__card-body + .travel__card-body {
  margin-top: var(--space-sm);
}

.travel__venue-item {
  display: grid;
  gap: 0.18rem;
  padding: 0.2rem 0 0.15rem;
}

.travel__venue-item + .travel__venue-item {
  margin-top: 0.35rem;
}

.travel__venue-event {
  color: var(--color-peacock);
  margin-bottom: 0.1rem;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.travel__venue-name,
.travel__venue-address {
  margin: 0;
}

.travel__venue-name {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  line-height: 1.25;
  color: var(--color-brown);
}

.travel__venue-address {
  font-family: var(--font-body);
  font-size: 0.96rem;
  line-height: 1.65;
  color: rgba(44,44,44,0.72);
}

.travel__directions-link {
  margin-bottom: var(--space-sm);
  background: var(--color-peacock);
  border-color: var(--color-peacock);
  color: var(--color-white) !important;
  box-shadow: 0 10px 20px rgba(15, 78, 84, 0.18);
  font-family: var(--font-body);
  font-size: 0.94rem;
  font-weight: 600;
}

.travel__directions-link:hover {
  background: var(--color-brown);
  border-color: var(--color-brown);
  color: var(--color-white) !important;
}

.travel__hotels {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.travel__hotels li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-body);
}

.travel__hotels a {
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--color-peacock);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.travel__hotels a:hover {
  border-bottom-color: var(--color-peacock);
}

.travel__hotel-dist {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  color: rgba(44,44,44,0.55);
  font-style: italic;
}

.travel__hotels--parking {
  margin-top: -0.2rem;
}

.travel__hotel-dist--parking {
  color: rgba(44,44,44,0.66);
}

.travel__parking-link {
  font-family: var(--font-body);
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--color-lotus);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.travel__parking-link:hover {
  border-bottom-color: var(--color-lotus);
}

@media (min-width: 768px) {
  .travel__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .travel__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .travel-section {
    padding: 4.25rem 0;
  }

  .travel__grid {
    gap: 0.95rem;
    margin-top: 1.4rem;
  }

  .travel__card {
    border-radius: 22px;
  }

  .travel__card-body-wrap {
    padding: 1rem;
  }
}
