/* MuseumTickets.nl Culture Passport master presentation.
   Mirrors the refined .fr layout while preserving the existing NL engine. */
.mtcj-app,
.mtcp-wrap {
  --o: #f25727;
  --ink: #171514;
  --cream: #f8f5f1;
  --line: #e9e2dc;
}

.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;
}

.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;
}

.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;
  }
}
