/* Components layer: shared section/title/link rules */
.hanamaru-latest-link,
.hanamaru-latest-link:visited,
.hanamaru-latest-link:hover,
.hanamaru-latest-link:active,
.hanamaru-latest-link:focus {
  color: #ef7a00 !important;
  text-decoration: none;
}

.news-title {
  text-align: center;
  color: #ef7a00;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.2em;
  letter-spacing: 0.1em;
}

.center-news {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.center-news .latest-news,
.center-news .news-link {
  width: 100%;
}

.center-news .latest-news li {
  text-align: center;
}

.news-link {
  text-align: right;
  margin-top: 0.5em;
}

/* Latest news list presentation shared by top-page news blocks */
.center-latest-news {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  list-style-position: inside;
}

.center-latest-news li {
  width: 100%;
  text-align: center;
  list-style-position: inside;
}

.latest-news {
  list-style: none;
  padding: 0;
  margin: 1.5em 0 1em;
  text-align: center;
}

.latest-news li {
  font-size: 1.08em;
  margin-bottom: 0.7em;
  border-bottom: 1px solid #ffe0b2;
  padding-bottom: 0.4em;
  text-align: center;
  display: block;
  list-style: none;
}

.latest-news li a:hover,
.news-link a:hover {
  text-decoration: underline;
}

.latest-news .date {
  color: #888;
  font-size: 0.98em;
  margin-left: 1.2em;
}

/* Shared section heading component for category/index blocks */
.section-heading {
  text-align: center;
}

.section-heading-label {
  display: block;
  color: #f57c00;
}

.section-heading-title {
  margin: 0;
  color: #222;
}

.text-alert {
  color: red;
}

/* Non-top pages: keep logo left, links right, and labels on one line */
.default-header .header-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

.default-header nav {
  margin-left: auto;
  min-width: 0;
}

.default-header .nav-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  white-space: nowrap;
}

.default-header .nav-menu li {
  flex: 0 0 auto;
}

.default-header .nav-menu li a {
  white-space: nowrap;
}
