/* MuseumTickets.fr Culture Passport master presentation
   Keeps the existing itinerary engine; only standardises its visual layer. */
.mtcj-app,
.mtcp-wrap {
  --o: #f25727;
  --ink: #171514;
  --cream: #f8f5f1;
  --line: #e9e2dc;
}

/* Replace the older dark promotional block with the lighter passport family. */
.mtcj-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
  gap: 48px !important;
  align-items: center !important;
  padding: clamp(34px, 5vw, 70px) !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: #fbf8f4 !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}
.mtcj-kicker {
  color: var(--o) !important;
}
.mtcj-hero h2 {
  max-width: 820px !important;
  margin: 14px 0 18px !important;
  color: var(--ink) !important;
  font-size: clamp(44px, 5vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -3px !important;
}
.mtcj-hero-copy > p {
  max-width: 780px !important;
  color: #625b56 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}
.mtcj-benefits span {
  border-color: #dfd6cf !important;
  background: #fff !important;
  color: #4c4540 !important;
}
.mtcj-passport-side {
  max-width: 390px !important;
  justify-self: end !important;
}
.mtcj-passport-image,
.mtcj-passport-fallback {
  border: 1px solid #e5ddd6 !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 60px rgba(39, 27, 19, .10) !important;
}
.mtcj-passport-actions {
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.mtcj-passport-actions a {
  border: 1px solid #dcd3cc !important;
  background: #fff !important;
  color: var(--ink) !important;
}
.mtcj-passport-actions a.dark {
  border-color: var(--o) !important;
  background: var(--o) !important;
  color: #fff !important;
}

/* Make the itinerary feel like part of the passport rather than a separate app. */
.mtcj-workspace {
  margin-top: 28px !important;
  border-radius: 28px !important;
  box-shadow: none !important;
}
.mtcj-stepper {
  background: #fbf8f4 !important;
}
.mtcj-panel h3 {
  color: var(--ink) !important;
}
.mtcj-step.active span,
.mtcj-location-btn,
.mtcj-show-museums,
.mtcj-to-day,
.mtcj-build,
.mtcj-save {
  border-radius: 999px !important;
}
.mtcj-museum-card,
.mtcj-stop-card,
.mtcj-route-block,
.mtcj-day-options button,
.mtcj-ai-note {
  border-color: var(--line) !important;
  box-shadow: none !important;
}
.mtcj-final-actions {
  padding-top: 10px !important;
}
.mtcj-final-actions > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

/* Passport dashboard: same radius / typography family as the journey builder. */
.mtcp-shell,
.mtcp-card,
.mtcp-panel,
.mtcp-hero {
  border-radius: 24px !important;
}
.mtcp-hero {
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  .mtcj-hero {
    grid-template-columns: 1fr !important;
  }
  .mtcj-passport-side {
    justify-self: start !important;
    max-width: 360px !important;
  }
}
@media (max-width: 700px) {
  .mtcj-hero {
    padding: 28px 20px !important;
    border-radius: 20px !important;
  }
  .mtcj-hero h2 {
    font-size: 43px !important;
    letter-spacing: -2px !important;
  }
  .mtcj-passport-side {
    width: 100% !important;
    max-width: none !important;
  }
  .mtcj-passport-image,
  .mtcj-passport-fallback {
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}
