.xg-single-post {
  background: #fff;
  color: #3f4146;
  font-family: "Be Vietnam Pro", sans-serif;
  padding: 24px 0 72px;
}

.xg-single-post__container {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 48px);
}

.xg-single-breadcrumb {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 15px;
  gap: 5px;
  line-height: 1.6;
  margin-bottom: 27px;
  padding-bottom: 26px;
  position: relative;
}

.xg-single-breadcrumb::after {
  border-bottom: 1px dashed #e4e4e4;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  width: calc(100% - 300px);
}

.xg-single-breadcrumb,
.xg-single-breadcrumb a {
  color: #143b75;
  text-decoration: none;
}

.xg-single-breadcrumb a:hover {
  color: #2d5dcc;
}

.xg-single-layout {
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr) 270px;
}

.xg-single-main {
  min-width: 0;
}

.xg-single-header {
  margin-bottom: 38px;
}

.xg-single-header h1 {
  color: #46494f;
  font-size: clamp(27px, 3vw, 35px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.35;
  margin: 0 0 14px;
  text-transform: none;
}

.xg-single-header__line {
  background: #dfe1e5;
  display: block;
  height: 3px;
  margin-bottom: 17px;
  width: 30px;
}

.xg-single-meta {
  align-items: center;
  color: #a2a6ad;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  gap: 7px 13px;
}

.xg-single-meta a,
.xg-single-meta span,
.xg-single-meta time {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: 4px;
  text-decoration: none;
}

.xg-single-meta a:hover {
  color: #2d5dcc;
}

.xg-single-meta svg {
  fill: none;
  height: 15px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  width: 15px;
}

.xg-single-content {
  color: #3d3f44;
  font-size: 16px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.xg-single-content > *:first-child {
  margin-top: 0;
}

.xg-single-content p {
  margin: 0 0 18px;
}

.xg-single-content a {
  color: #2d5dcc;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.xg-single-content strong,
.xg-single-content b {
  color: #303238;
  font-weight: 700;
}

.xg-single-content h2,
.xg-single-content h3,
.xg-single-content h4,
.xg-single-content h5,
.xg-single-content h6 {
  color: #4a4d53;
  font-weight: 700;
  line-height: 1.35;
  margin: 30px 0 14px;
  text-transform: none;
}

.xg-single-content h2 {
  font-size: 26px;
}

.xg-single-content h3 {
  font-size: 22px;
}

.xg-single-content h4 {
  font-size: 19px;
}

.xg-single-content ul,
.xg-single-content ol {
  margin: 0 0 22px;
  padding-left: 22px;
}

.xg-single-content li {
  margin-bottom: 8px;
}

.xg-single-content blockquote {
  border-left: 2px solid #e1a72d;
  color: #25272c;
  font-size: 18px;
  font-style: italic;
  line-height: 1.7;
  margin: 28px 0;
  padding: 0 0 0 36px;
}

.xg-single-content blockquote p:last-child {
  margin-bottom: 0;
}

.xg-single-content img {
  height: auto;
  max-width: 100%;
}

.xg-single-content figure {
  margin-bottom: 24px;
}

.xg-single-content figcaption {
  color: #858991;
  font-size: 13px;
  margin-top: 7px;
  text-align: center;
}

.xg-single-content iframe,
.xg-single-content video {
  max-width: 100%;
}

.xg-table-scroll {
  margin: 24px 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.xg-single-content .xg-table-scroll table {
  border-collapse: collapse;
  color: #555960;
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
  min-width: 680px;
  width: 100%;
}

.xg-single-content .xg-table-scroll th,
.xg-single-content .xg-table-scroll td {
  border: 1px solid #777b80;
  padding: 7px 8px;
  text-align: left;
  vertical-align: middle;
}

.xg-single-content .xg-table-scroll th {
  background: #e0a72c;
  color: #fff;
  font-weight: 700;
}

.xg-single-content .xg-table-scroll th strong,
.xg-single-content .xg-table-scroll th b,
.xg-single-content .xg-table-scroll th a {
  color: inherit;
}

.xg-single-content .xg-table-scroll tbody tr:nth-child(even) td {
  background: #fafafa;
}

.xg-single-page-links {
  margin: 32px 0;
}

.xg-single-sidebar {
  border-left: 1px solid #e5e5e5;
  min-width: 0;
  padding-left: 29px;
}

.xg-single-sidebar__inner {
  position: sticky;
  top: 24px;
}

.xg-sidebar-widget,
.xg-latest-posts {
  color: #393b40;
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 34px;
}

.xg-sidebar-widget p {
  margin-bottom: 18px;
}

.xg-sidebar-widget ul:not(.xg-latest-posts__list) {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xg-sidebar-widget__title {
  color: #34363b;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 25px;
  padding-bottom: 14px;
  position: relative;
  text-transform: uppercase;
}

.xg-sidebar-widget__title::after {
  background: #d7d7d7;
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 30px;
}

.xg-latest-posts__list {
  margin: 0;
}

.xg-latest-posts__item {
  align-items: center;
  border-bottom: 1px solid #e4e4e4;
  display: grid;
  gap: 12px;
  grid-template-columns: 48px minmax(0, 1fr);
  margin: 0;
  padding: 10px 0;
}

.xg-latest-posts__item:first-child {
  padding-top: 0;
}

.xg-latest-posts__image {
  background: #edf1f7;
  display: block;
  height: 45px;
  overflow: hidden;
  width: 48px;
}

.xg-latest-posts__image img,
.xg-latest-posts__placeholder {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.xg-latest-posts__placeholder {
  background: linear-gradient(135deg, #eef3fb, #d9e3f6);
}

.xg-latest-posts__item h3 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  margin: 0;
}

.xg-latest-posts__item h3 a {
  color: #273142;
  display: -webkit-box;
  overflow: hidden;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.xg-latest-posts__item h3 a:hover {
  color: #2d5dcc;
}

@media (max-width: 849px) {
  .xg-single-layout {
    gap: 40px;
    grid-template-columns: minmax(0, 1fr);
  }

  .xg-single-breadcrumb::after {
    width: 100%;
  }

  .xg-single-sidebar {
    border-left: 0;
    border-top: 1px solid #e5e5e5;
    padding-left: 0;
    padding-top: 32px;
  }

  .xg-single-sidebar__inner {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: static;
  }

  .xg-sidebar-widget,
  .xg-latest-posts {
    margin-bottom: 0;
  }
}

@media (max-width: 549px) {
  .xg-single-post {
    padding: 16px 0 48px;
  }

  .xg-single-post__container {
    width: calc(100% - 30px);
  }

  .xg-single-breadcrumb {
    font-size: 13px;
    margin-bottom: 22px;
    padding-bottom: 18px;
  }

  .xg-single-header {
    margin-bottom: 28px;
  }

  .xg-single-header h1 {
    font-size: 27px;
  }

  .xg-single-content {
    font-size: 15px;
    line-height: 1.7;
  }

  .xg-single-content h2 {
    font-size: 23px;
  }

  .xg-single-content h3 {
    font-size: 20px;
  }

  .xg-single-content blockquote {
    font-size: 16px;
    margin: 24px 0;
    padding-left: 20px;
  }

  .xg-table-scroll {
    width: 100%;
  }

  .xg-single-sidebar__inner {
    grid-template-columns: 1fr;
  }
}
