/* Unified title visibility and wrapping fix (v95) */

/* One canonical heading shared by every category page. */
.category-v95-head {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: min(92%, 980px) !important;
  margin: 18px auto 14px !important;
  padding: 15px 8px 13px !important;
  position: relative !important;
  text-align: center !important;
  overflow: visible !important;
}

.category-v95-head::before,
.category-v95-head::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, rgba(172, 185, 145, .65), transparent) !important;
}

.category-v95-head::before {
  top: 0 !important;
  width: 72% !important;
}

.category-v95-head::after {
  bottom: 0 !important;
  width: 42% !important;
}

.category-v95-head .en {
  display: block !important;
  margin-bottom: 7px !important;
  color: #879276 !important;
  font: 8px/1 Georgia, "Times New Roman", serif !important;
  letter-spacing: .28em !important;
}

.category-v95-head h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  color: #f2eee4 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif !important;
  font-size: clamp(23px, 6.3vw, 35px) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
  white-space: normal !important;
  overflow: visible !important;
  text-align: center !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .48) !important;
}

/* Card titles: keep every railway/category title above the thumbnail shade. */
.category-record-list .record {
  position: relative !important;
  overflow: hidden !important;
}

.category-record-list .record-copy {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  z-index: 20 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  min-height: 82px !important;
  padding: 34px 12px 12px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: linear-gradient(to top, rgba(2, 3, 2, .97), rgba(2, 3, 2, .72) 58%, transparent 100%) !important;
  transform: none !important;
}

.category-record-list .record-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 21 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 3px !important;
  box-sizing: border-box !important;
  color: #f2ede2 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif !important;
  font-size: clamp(14px, 3.8vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .015em !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  text-align: center !important;
  text-shadow: 0 2px 9px #000, 0 1px 2px #000 !important;
  transform: none !important;
}

/* Article headings: normalize both title templates used by the site. */
.article-screen .detail-head,
.article-screen .article-head {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 10 !important;
  width: min(100%, 980px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 20px !important;
  padding: 15px 10px 17px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  text-align: center !important;
  transform: none !important;
}

.article-screen .detail-head > h3,
.article-screen .article-head > h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 11 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 3px !important;
  box-sizing: border-box !important;
  color: #f2eee5 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif !important;
  font-size: clamp(20px, 5.4vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .045em !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  text-align: center !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
}

.article-screen .article-head > .kicker,
.article-screen .detail-head > .kicker {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-bottom: 8px !important;
}

@media (max-width: 480px) {
  .category-record-list .record-copy {
    min-height: 76px !important;
    padding: 30px 9px 10px !important;
  }

  .category-record-list .record-title {
    font-size: clamp(13px, 3.75vw, 17px) !important;
    line-height: 1.48 !important;
  }

  .article-screen .detail-head > h3,
  .article-screen .article-head > h3 {
    font-size: clamp(19px, 5.4vw, 25px) !important;
    line-height: 1.55 !important;
    letter-spacing: .025em !important;
  }
}
