.sojourn-website-directory-root {
  margin: 24px 0 0;
}

.sojourn-destination-page-root {
  display: block;
  width: 100%;
}

.sojourn-destination-page {
  --page-max-width: 1180px;
  --page-gutter: 20px;
  --ink: #31343a;
  color: var(--ink);
  background: #fff;
  font-family: "Open Sans", sans-serif;
}

.sojourn-destination-page *,
.sojourn-destination-page *::before,
.sojourn-destination-page *::after {
  box-sizing: border-box;
}

.sojourn-destination-page__hero {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
}

.sojourn-destination-page__hero-image {
  position: absolute;
  inset: 0;
}

.sojourn-destination-page__hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sojourn-destination-page__hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 40px;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.38) 0%,
    rgba(0, 0, 0, 0.12) 40%,
    transparent 70%
  );
}

.sojourn-destination-page__breadcrumb-slot {
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 0 var(--page-gutter);
}

.sojourn-destination-page__breadcrumbs {
  display: block;
  max-width: var(--page-max-width);
  margin: 0 auto;
}

.sojourn-destination-page__breadcrumbs .breadcrumb {
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.9);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.sojourn-destination-page__breadcrumbs .breadcrumb-item,
.sojourn-destination-page__breadcrumbs .breadcrumb-item.active,
.sojourn-destination-page__breadcrumbs .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.92);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45), 0 1px 3px rgba(0, 0, 0, 0.32);
}

.sojourn-destination-page__breadcrumbs .breadcrumb-item a:hover,
.sojourn-destination-page__breadcrumbs .breadcrumb-item a:focus {
  color: #fff;
  text-decoration: underline;
}

.sojourn-destination-page__breadcrumbs .breadcrumb > li + li::before {
  color: rgba(255, 255, 255, 0.72);
}

.sojourn-destination-page__hero-inner {
  padding: 0 var(--page-gutter);
  text-align: center;
}

.sojourn-destination-page__hero-title {
  margin: 0 0 12px;
  color: #fff;
  font-family: "Merriweather", serif;
  font-style: italic;
  font-size: clamp(34px, 5.5vw, 58px);
  font-weight: 400;
  line-height: 1.1;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5), 0 1px 4px rgba(0, 0, 0, 0.3);
}

body.sojourn-destination-overlay-active .vzt-dir > .container.padt20 {
  padding-top: 24px !important;
}

body.sojourn-destination-overlay-active .vzt-dir > .container.padt20 > nav[aria-label="breadcrumb"],
body.sojourn-destination-overlay-active .vzt-dir-hero-title,
body.sojourn-destination-overlay-active .vzt-dir-hero-subtitle,
body.sojourn-destination-overlay-active .vzt-dir-search-map-cell,
body.sojourn-destination-overlay-active .adv-dir-content-wrapper {
  display: none !important;
}

body.sojourn-destination-overlay-active .vzt-dir-search-wrapper {
  display: block !important;
  max-width: 860px;
  margin: 0 auto 44px !important;
}

body.sojourn-destination-overlay-active .vzt-dir-search-engine-cell {
  display: block !important;
  float: none !important;
  width: 100% !important;
}

body.sojourn-destination-overlay-active .vzt-dir-search-engine-cell > h2 {
  margin-top: 0;
}

body.sojourn-destination-overlay-active .vzt-dir-search-engine {
  width: 100%;
}

body.sojourn-destination-overlay-active .vzt-dir-search-wrapper::after {
  display: table;
  clear: both;
  content: "";
}

@media (min-width: 900px) {
  .sojourn-destination-page__hero {
    height: 400px;
  }
}

@media (max-width: 767px) {
  .sojourn-destination-page__breadcrumb-slot {
    top: auto;
    bottom: 22px;
  }

  body.sojourn-destination-page-active .wrapper {
    padding-top: 0 !important;
  }

  body.sojourn-destination-page-active .sojourn-site-header {
    background: transparent;
    backdrop-filter: none;
    border-bottom-color: transparent;
    box-shadow: none;
    transition: background 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
  }

  body.sojourn-destination-page-active .sojourn-site-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.34) 0%,
      rgba(0, 0, 0, 0.18) 68%,
      rgba(0, 0, 0, 0) 100%
    );
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.28s ease;
  }

  body.sojourn-destination-page-active .sojourn-site-header__inner {
    position: relative;
    z-index: 1;
  }

  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__action,
  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__action:hover,
  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__action:focus-visible,
  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__icon,
  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__label {
    color: #ffffff;
  }

  body.sojourn-destination-page-active:not(.sojourn-destination-page-header-scrolled) .sojourn-site-header__brand img {
    filter: brightness(0) invert(1);
  }

  body.sojourn-destination-page-active.sojourn-destination-page-header-scrolled .sojourn-site-header,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(49, 52, 58, 0.06);
    box-shadow: 0 3px 14px rgba(27, 35, 44, 0.08);
  }

  body.sojourn-destination-page-active.sojourn-destination-page-header-scrolled .sojourn-site-header::before,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header::before {
    opacity: 0;
  }

  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__action,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__action:hover,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__action:focus-visible,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__icon,
  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__label {
    color: #31343a !important;
  }

  body.sojourn-destination-page-active.sojourn-site-drawer-open .sojourn-site-header__brand img {
    filter: none;
  }
}

.sojourn-website-directory-root.is-loading {
  min-height: 220px;
}

.sojourn-website-loading,
.sojourn-website-error {
  padding: 24px;
  border: 1px solid #d7e0e5;
  border-radius: 18px;
  background: linear-gradient(180deg, #f6f8f9 0%, #eef3f5 100%);
}

.sojourn-website-eyebrow {
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5d7a86;
}

.sojourn-website-title {
  margin: 0 0 8px;
}

.sojourn-website-text {
  margin: 0 0 20px;
  color: #4f6169;
}

.sojourn-website-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.sojourn-website-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  padding: 16px;
  border-radius: 14px;
  background: #fff;
  color: #20333b;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(38, 62, 73, 0.08);
}

.sojourn-website-card small {
  color: #6b7d84;
  font-size: 12px;
}

.sojourn-website-empty {
  padding: 18px;
  border-radius: 14px;
  background: #fff;
  color: #4f6169;
}

.sojourn-website-card:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.sojourn-website-loading,
.sojourn-website-error {
  color: #20333b;
}

.sojourn-website-error {
  border-color: #e1c6c6;
  background: linear-gradient(180deg, #fff7f7 0%, #fbeeee 100%);
}

.sojourn-website-country-index {
  padding-top: 24px;
  padding-bottom: 28px;
}

.sojourn-website-index-layout {
  display: block;
}

.sojourn-website-index-groups {
  columns: 5 180px;
  column-gap: 56px;
}

.sojourn-website-index-group {
  break-inside: avoid;
  margin: 0 0 34px;
}

.sojourn-website-index-heading {
  margin: 0 0 10px;
  color: #45413f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  scroll-margin-top: 120px;
}

.sojourn-website-index-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sojourn-website-index-item {
  margin: 0 0 6px;
}

.sojourn-website-index-link {
  color: #3f7fd3;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
}

.sojourn-website-index-link:hover,
.sojourn-website-index-link:focus {
  color: #2e67b2;
  text-decoration: underline;
}

.sojourn-website-index-rail {
  display: none;
}

.sojourn-website-index-letter {
  display: block;
  color: #5f7a74;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
}

.sojourn-website-index-letter:hover,
.sojourn-website-index-letter:focus {
  color: #355f56;
  text-decoration: none;
}

@media (max-width: 1199px) {
  .sojourn-website-index-groups {
    columns: 4 170px;
    column-gap: 40px;
  }
}

@media (max-width: 991px) {
  .sojourn-website-index-groups {
    columns: 3 170px;
    column-gap: 32px;
  }
}

@media (max-width: 767px) {
  .sojourn-website-country-index {
    padding-top: 8px;
    padding-bottom: 0;
    padding-right: 6px;
  }

  .sojourn-website-index-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 18px;
    align-items: start;
  }

  .sojourn-website-index-groups {
    columns: 1;
  }

  .sojourn-website-index-group {
    margin-bottom: 28px;
  }

  .sojourn-website-index-heading {
    margin-bottom: 12px;
    font-size: 32px;
  }

  .sojourn-website-index-item {
    margin-bottom: 10px;
  }

  .sojourn-website-index-link {
    font-size: 19px;
    line-height: 1.45;
  }

  .sojourn-website-index-rail {
    display: block;
    position: sticky;
    top: 110px;
  }

  .sojourn-website-index-rail .sojourn-website-index-letter,
  .sojourn-website-index-rail .sojourn-website-index-letter:visited,
  .sojourn-website-index-rail .sojourn-website-index-letter:hover,
  .sojourn-website-index-rail .sojourn-website-index-letter:focus,
  .sojourn-website-index-rail .sojourn-website-index-letter:active {
    color: #5f7a74 !important;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
  }
}
