/* Reservation and enquiry paths, shared by English and German pages. */
.nav-container .jjj-nav-book {
  background: #183448;
  color: #fff;
  border-radius: 6px;
  padding: 10px 14px;
  line-height: 1.35;
}
.nav-container .jjj-nav-book:hover { background: #274b63; color: #fff; }
.nav-container .jjj-nav-book::after { display: none; }
.btn_contact a { display: flex; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #183448; font-size: clamp(14px, 1.5vw, 22px); font-weight: 600; }
.btn_contact a i { font-size: clamp(32px, 4vw, 58px); line-height: 1; }
.btn_contact a:focus-visible { outline: 3px solid #183448; outline-offset: -6px; border-radius: 50%; }
.heroSlideshow { height: min(44vh, 430px); min-height: 250px; }
.mv__caption { margin: 22px auto 32px; padding: 0 20px; }
.jjj-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 18px auto 10px; }
.jjj-primary, .jjj-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 22px; min-height: 48px; border: 2px solid #183448;
  border-radius: 6px; font-size: 16px; font-weight: 600; line-height: 1.35;
}
.jjj-primary { background: #183448; color: #fff; }
.jjj-primary:hover { background: #274b63; border-color: #274b63; }
.jjj-secondary { background: #fff; color: #183448; }
.jjj-secondary:hover { background: #f0f4f5; }
.mv__caption .jjj-hero-help { margin: 10px 0 0; color: #465560; }
.jjj-hero-help a { color: #183448; text-decoration: underline; text-underline-offset: 3px; }
.plan .jjj-plan-fit { font-weight: 600; margin: 16px 22px 8px; line-height: 1.4; }
.plan .jjj-plan-description { margin: 0 22px 20px; line-height: 1.65; text-align: left; }
.plan .btn-envelope { background: #183448; color: #fff; border-color: #183448; }
.plan .btn-envelope:hover { background: #274b63; color: #fff; }
.jjj-primary:focus-visible, .jjj-secondary:focus-visible, .jjj-nav-book:focus-visible { outline: 3px solid #b87500; outline-offset: 4px; }
#plans { scroll-margin-top: 90px; }
@media (min-width: 900px) {
  .nav-container { gap: .6em; }
  .nav-container a { margin-right: 5px; }
  .nav-container .jjj-nav-book { font-size: clamp(12px, 1.15vw, 16px); }
}
@media (max-width: 767px) {
  .heroSlideshow { height: 32vh; min-height: 220px; }
  .jjj-hero-actions { flex-direction: column; max-width: 340px; }
  .mv__caption { padding: 0 24px; }
  .plan .jjj-plan-description { font-size: 16px; }
}
