.top-banner {
  height: auto !important;
  min-height: 0 !important;
  background: #fff;
}

.top-banner-link {
  display: block;
  width: 100%;
}

.top-banner-static,
.top-banner-static img {
  display: block;
  width: 100%;
}

.top-banner-static img {
  height: auto !important;
  object-fit: cover;
}

.home-gateway-section {
  width: min(var(--wrap, 1350px), calc(100% - 32px));
  margin: 26px auto;
  padding: 18px;
  border: 2px solid #7b0f0a;
  border-radius: 14px;
  background: #fff;
}

.home-gateway-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.home-gateway-card {
  position: relative;
  display: block;
  min-height: 220px;
  overflow: hidden;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  background: #111827;
}

.home-gateway-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  transition: transform .22s ease;
}

.home-gateway-card:hover img {
  transform: scale(1.04);
}

.home-gateway-card.is-disabled {
  cursor: default;
}

.home-gateway-card.is-disabled:hover img {
  transform: none;
}

.blogs-grid a.blog-card,
.blogs-grid .blog-card {
  color: inherit;
  text-decoration: none;
}

.blogs-grid a.blog-card {
  display: block;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.blogs-grid a.blog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(180, 9, 2, .22);
  box-shadow: 0 18px 38px rgba(16, 24, 40, .1);
}

.blog-read-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: var(--primary, #b40902);
  font-size: 13px;
  font-weight: 900;
}

.blogs-grid a.blog-card:hover .blog-photo img {
  transform: scale(1.04);
}

.blogs-grid .blog-photo img {
  transition: transform .22s ease;
}

.month-pagination {
  display: none;
}

@media (min-width: 981px) {
  .month-track.is-compact {
    justify-content: center;
  }

  .month-slider-wrap.is-compact .month-nav {
    display: none;
  }

  .difficulty-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 18px;
  }

  .difficulty-grid .difficulty-card {
    flex: 0 0 calc((100% - 54px) / 4);
    max-width: calc((100% - 54px) / 4);
  }
}

@media (max-width: 860px) {
  .home-gateway-section {
    width: min(var(--wrap, 1350px), calc(100% - 20px));
    margin: 18px auto;
    padding: 12px;
    border-radius: 12px;
  }

  .home-gateway-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .home-gateway-card,
  .home-gateway-card img {
    min-height: 160px;
  }

  .month-track {
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
    scroll-snap-type: x mandatory !important;
  }

  .month-tour-item {
    flex: 0 0 calc((100% - 10px) / 2) !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    gap: 8px !important;
    scroll-snap-align: start !important;
  }

  .month-tour {
    flex: 0 0 auto !important;
    aspect-ratio: 5 / 8.5 !important;
  }

  .month-name {
    display: -webkit-box !important;
    max-height: 2.28em !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
  }

  .month-next-date {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 5px !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 7px !important;
    overflow: hidden !important;
  }

  .month-next-date i {
    width: 26px !important;
    height: 26px !important;
    font-size: 11px !important;
  }

  .month-date-list {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
  }

  .month-date-list.is-short {
    justify-content: flex-end !important;
  }

  .month-date-pill {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 28px !important;
    padding: 0 7px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .month-date-more {
    min-width: 50px !important;
    padding: 0 6px !important;
    font-size: 8px !important;
  }

  @media (max-width: 380px) {
    .month-date-list {
      gap: 4px !important;
    }

    .month-date-pill {
      min-width: 28px !important;
      padding: 0 6px !important;
      font-size: 8px !important;
    }

    .month-date-more {
      min-width: 32px !important;
      padding: 0 5px !important;
      font-size: 8px !important;
    }
  }

  .month-slider-wrap .month-nav {
    display: none !important;
  }

  .month-pagination {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
    margin-bottom: 30px;
  }

  .month-pagination-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(16, 24, 40, 0.2);
    transition: all .22s ease;
  }

  .month-pagination-dot.is-active {
    width: 22px;
    background: var(--primary, #b40902);
  }

}

@media (max-width: 640px) {
  .blogs-grid .blog-card p {
    display: -webkit-box;
    margin-bottom: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .blogs-grid .blog-points {
    margin-top: 10px;
  }
}
