/* ReRoot city profile: premium light editorial layout with the original blue identity. */
body.city-detail-page,
body.city-editorial-active {
  background: #f4f7fb !important;
}

body.city-detail-page #city-main,
body.city-editorial-active #city-main,
body.city-detail-page .city-detail-shell,
body.city-editorial-active .city-detail-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f4f7fb !important;
}

body.city-detail-page .city-editorial-hero,
body.city-editorial-active .city-editorial-hero {
  display: grid !important;
  grid-template-columns: minmax(390px, 0.72fr) minmax(0, 1.38fr) !important;
  width: min(100% - 72px, 1500px) !important;
  min-height: 760px !important;
  margin: 48px auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fbfcfe !important;
  border: 1px solid #dce5ef !important;
  border-radius: 18px !important;
  box-shadow: 0 28px 80px rgba(31, 49, 70, 0.10) !important;
}

body.city-detail-page .city-editorial-hero__copy,
body.city-editorial-active .city-editorial-hero__copy {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-height: 760px !important;
  padding: clamp(52px, 5.5vw, 88px) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafe 100%) !important;
  color: #23384f !important;
}

body.city-detail-page .city-editorial-hero__copy::before,
body.city-editorial-active .city-editorial-hero__copy::before {
  content: "" !important;
  display: block !important;
  width: 46px !important;
  height: 2px !important;
  margin: 0 0 28px !important;
  background: #557da8 !important;
}

body.city-detail-page .city-editorial-hero__copy *,
body.city-editorial-active .city-editorial-hero__copy * {
  opacity: 1 !important;
}

body.city-detail-page .city-editorial-hero__country,
body.city-editorial-active .city-editorial-hero__country {
  margin: 0 0 20px !important;
  color: #557da8 !important;
  font-family: "DM Sans", Inter, sans-serif !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

body.city-detail-page .city-editorial-hero__title,
body.city-editorial-active .city-editorial-hero__title {
  max-width: 7ch !important;
  margin: 0 0 26px !important;
  color: #23384f !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(5.2rem, 7.8vw, 8.8rem) !important;
  font-weight: 500 !important;
  line-height: 0.84 !important;
  letter-spacing: -0.058em !important;
  text-shadow: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.city-detail-page .city-editorial-hero__lead,
body.city-editorial-active .city-editorial-hero__lead {
  max-width: 29rem !important;
  margin: 0 0 34px !important;
  color: #586b7f !important;
  font-family: "DM Sans", Inter, sans-serif !important;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem) !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  text-shadow: none !important;
}

body.city-detail-page .city-editorial-hero__actions,
body.city-editorial-active .city-editorial-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
}

body.city-detail-page .city-editorial-hero__actions a,
body.city-detail-page .city-editorial-hero__actions button,
body.city-editorial-active .city-editorial-hero__actions a,
body.city-editorial-active .city-editorial-hero__actions button {
  min-height: 52px !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
  font-family: "DM Sans", Inter, sans-serif !important;
  font-size: 0.94rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-primary,
body.city-editorial-active .city-editorial-hero__actions .btn-primary {
  background: #426f9f !important;
  color: #ffffff !important;
  border: 1px solid #426f9f !important;
  box-shadow: 0 10px 24px rgba(66, 111, 159, 0.18) !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-primary *,
body.city-editorial-active .city-editorial-hero__actions .btn-primary * {
  color: #ffffff !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-secondary,
body.city-editorial-active .city-editorial-hero__actions .btn-secondary {
  background: #ffffff !important;
  color: #355f8b !important;
  border: 1px solid #88a7c7 !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-secondary *,
body.city-editorial-active .city-editorial-hero__actions .btn-secondary * {
  color: #355f8b !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-primary:hover,
body.city-detail-page .city-editorial-hero__actions .btn-primary:focus-visible,
body.city-editorial-active .city-editorial-hero__actions .btn-primary:hover,
body.city-editorial-active .city-editorial-hero__actions .btn-primary:focus-visible {
  background: #315a84 !important;
  border-color: #315a84 !important;
  transform: translateY(-1px) !important;
}

body.city-detail-page .city-editorial-hero__actions .btn-secondary:hover,
body.city-detail-page .city-editorial-hero__actions .btn-secondary:focus-visible,
body.city-editorial-active .city-editorial-hero__actions .btn-secondary:hover,
body.city-editorial-active .city-editorial-hero__actions .btn-secondary:focus-visible {
  background: #edf4fb !important;
  color: #23384f !important;
  border-color: #557da8 !important;
  transform: translateY(-1px) !important;
}

body.city-detail-page .city-editorial-hero__media,
body.city-editorial-active .city-editorial-hero__media {
  position: relative !important;
  min-height: 760px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #dce6f0 !important;
}

body.city-detail-page .city-editorial-hero__media::after,
body.city-editorial-active .city-editorial-hero__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(22, 42, 62, 0.08) 0%, rgba(22, 42, 62, 0) 24%) !important;
}

body.city-detail-page .city-editorial-hero__media img,
body.city-editorial-active .city-editorial-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 760px !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(0.94) contrast(1.02) !important;
}

body.city-detail-page .city-editorial-facts,
body.city-editorial-active .city-editorial-facts {
  width: min(100% - 112px, 1320px) !important;
  margin: -28px auto 64px !important;
  position: relative !important;
  z-index: 2 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #23384f !important;
  border: 1px solid #dce5ef !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(31, 49, 70, 0.08) !important;
}

body.city-detail-page .city-editorial-facts *,
body.city-editorial-active .city-editorial-facts * {
  color: inherit !important;
}

@media (max-width: 980px) {
  body.city-detail-page .city-editorial-hero,
  body.city-editorial-active .city-editorial-hero {
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important;
    margin-top: 24px !important;
    min-height: 0 !important;
    border-radius: 14px !important;
  }

  body.city-detail-page .city-editorial-hero__media,
  body.city-editorial-active .city-editorial-hero__media {
    order: 1 !important;
    min-height: 460px !important;
  }

  body.city-detail-page .city-editorial-hero__media img,
  body.city-editorial-active .city-editorial-hero__media img {
    min-height: 460px !important;
  }

  body.city-detail-page .city-editorial-hero__copy,
  body.city-editorial-active .city-editorial-hero__copy {
    order: 2 !important;
    min-height: auto !important;
    padding: 52px 36px !important;
  }

  body.city-detail-page .city-editorial-facts,
  body.city-editorial-active .city-editorial-facts {
    width: calc(100% - 56px) !important;
    margin-top: -20px !important;
  }
}

@media (max-width: 640px) {
  body.city-detail-page .city-editorial-hero,
  body.city-editorial-active .city-editorial-hero {
    width: calc(100% - 20px) !important;
    border-radius: 12px !important;
  }

  body.city-detail-page .city-editorial-facts,
  body.city-editorial-active .city-editorial-facts {
    width: calc(100% - 36px) !important;
    margin-bottom: 42px !important;
    border-radius: 12px !important;
  }

  body.city-detail-page .city-editorial-hero__media,
  body.city-editorial-active .city-editorial-hero__media,
  body.city-detail-page .city-editorial-hero__media img,
  body.city-editorial-active .city-editorial-hero__media img {
    min-height: 320px !important;
  }

  body.city-detail-page .city-editorial-hero__copy,
  body.city-editorial-active .city-editorial-hero__copy {
    padding: 40px 22px 44px !important;
  }

  body.city-detail-page .city-editorial-hero__copy::before,
  body.city-editorial-active .city-editorial-hero__copy::before {
    margin-bottom: 22px !important;
  }

  body.city-detail-page .city-editorial-hero__title,
  body.city-editorial-active .city-editorial-hero__title {
    max-width: 100% !important;
    font-size: clamp(4rem, 20vw, 6rem) !important;
    line-height: 0.9 !important;
  }

  body.city-detail-page .city-editorial-hero__lead,
  body.city-editorial-active .city-editorial-hero__lead {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  body.city-detail-page .city-editorial-hero__actions,
  body.city-editorial-active .city-editorial-hero__actions {
    flex-direction: column !important;
  }

  body.city-detail-page .city-editorial-hero__actions a,
  body.city-detail-page .city-editorial-hero__actions button,
  body.city-editorial-active .city-editorial-hero__actions a,
  body.city-editorial-active .city-editorial-hero__actions button {
    width: 100% !important;
  }
}