.vnstay-blog {
  width: 100%; min-width: 0; padding-block: 16px 64px; color: #343e44;
  font: 400 17px/1.5 Roboto, Arial, sans-serif; overflow-wrap: anywhere;
}
.vnstay-blog *, .vnstay-blog *::before, .vnstay-blog *::after { box-sizing: border-box; }
.vnstay-blog__heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 28px; }
.vnstay-site .vnstay-blog h2, .vnstay-blog h2 { margin: 0; font: 700 36px/1.2 Roboto, Arial, sans-serif; letter-spacing: -.035em; color: #343e44; }
.vnstay-blog__all { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; font-size: 16px; }
.vnstay-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; }
.vnstay-blog__card { min-width: 0; padding-top: 24px; border-top: 1px solid #d2d2d7; }
.vnstay-blog__image { overflow: hidden; margin-bottom: 20px; border-radius: 14px; aspect-ratio: 16 / 10; background: #f5f5f7; }
.vnstay-blog .vnstay-blog__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vnstay-blog time { display: block; margin-bottom: 10px; color: #5f5f5f; font-size: 14px; line-height: 20px; }
.vnstay-site .vnstay-blog h3, .vnstay-blog h3 { margin: 0; color: #343e44; font: 700 23px/1.3 Roboto, Arial, sans-serif; letter-spacing: -.02em; }
.vnstay-blog a, .vnstay-site .vnstay-blog a { color: #21417a; text-decoration: none; }
.vnstay-blog h3 a, .vnstay-site .vnstay-blog h3 a { color: #343e44; }
.vnstay-blog a:hover, .vnstay-site .vnstay-blog a:hover { color: #0a2250; text-decoration: underline; text-underline-offset: 4px; }
.vnstay-blog a:focus-visible { outline: 3px solid #21417a; outline-offset: 4px; }
.vnstay-blog .vnstay-blog__card p { margin: 12px 0 0; color: #5f5f5f; font-size: 16px; line-height: 25px; }
@media (max-width: 700px) {
  .vnstay-blog { padding-block: 8px 40px; }
  .vnstay-blog__heading { flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
  .vnstay-site .vnstay-blog h2, .vnstay-blog h2 { font-size: 28px; line-height: 36px; }
  .vnstay-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .vnstay-blog__card { padding-top: 20px; }
  .vnstay-blog__image { margin-bottom: 16px; }
}
