/* ==========================================================================
    Component: Page Title & Section Titles
    ========================================================================== */

.page-title {
    position: relative;
    font-size: 2.2rem;
    color: white;
    line-height: 1.1;
    margin-bottom: 0.5rem;
    z-index: 1;
}

.article-head .article-deco {
    position: absolute;
    top: 20px;
    right: 0;
    font-size: 6em;
    color: rgba(255,255,255,0.4);
    font-weight: 300;
    letter-spacing: 0.1em;
    pointer-events: none;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    width: auto;
    text-align: right;
    font-family: "Hiragino Mincho ProN", "Noto Serif CJK JP", serif;
}

.article-head .page-title-jp {
    font-size: 0.8rem;
    color: white;
    letter-spacing: 0.8em;
    margin-bottom: 30px;
    font-family: "Hiragino Mincho ProN", "Noto Serif CJK JP", serif;
    background: var(--theme-color);
    padding: 0 1em;
}

.page-lead {
    font-weight: 700;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.page-desc {
    margin-bottom: 2rem;
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.page-desc h2 {
    font-size: 1.5rem;
    color: white;
    border-left: 4px solid var(--theme-color);
    padding-left: 0.5em;
    margin-top: 1rem;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.page-desc h3,
.page-tips h3,
.page-links h3 {
    font-size: 1.25rem;
    color: white;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.page-desc h3::before,
.page-tips h3::before,
.page-links h3::before {
    content: "#";
    color: var(--theme-color);
    margin-right: 0.5rem;
}

.page-desc p {
    margin-bottom: 0.6rem;
}

.page-desc ul {
    list-style-type: disc;
    margin-left: 1em;
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
}

.page-desc li {
    margin-bottom: 0.5rem;
}  

.page-desc li::marker {
    color: var(--theme-color);
}

.page-desc strong {
    font-weight: 700;
    color: var(--theme-color);
}
    

.panel.article-head {
    height: 60vh;
    margin-top: 0;
}

.panel.article-head .panel-content {
    background: linear-gradient(transparent, rgba(0, 0, 0, 1));
    padding-bottom: 0;
}


.article-bottom-margin {
    height: 30px;
}

.detail-overlay .news-article .article-head {
    height: 50vh;
}

.detail-overlay .news-article .page-title {
    font-size: 2rem;
}

.page-links .links-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-links .link-button .material-symbols-outlined {
  color: var(--theme-color);
}

.station-number {
  display: inline-block;
  padding: 0px 4px;
  border-radius: 2px;
  margin: 2px;
  font-size: 0.85em;
  color: white;
  letter-spacing: 0.08em;
}

/* 路線別の色 */
.jr-line {
  background-color: #0066cc; /* JR: JR */
}

.kh-line {
  background-color: #00a960; /* KH: 京阪 */
}

.hk-line {
  background-color: #8b0000; /* HK: 阪急 */
}

.rd-line {
  background-color: #800080; /* A/B(1桁): 嵐電 */
}

.e-line {
  background-color: #006400; /* E: 叡電 */
}

.b-line {
  background-color: #8b0000; /* Bxx(2桁): 近鉄 */
}

.k-line {
  background-color: #39c167; /* K: 烏丸線 */
}

.t-line {
  background-color: #ff0000; /* T: 東西線 */
} 

.support-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.detail-overlay .live-info-note {
  font-size: 0.75rem;
  margin: 2rem 0;
  padding: 0.5rem;
  background: #333;
  color: #aaa;
  border-radius: 6px;
}

.detail-overlay .live-info-note ul {
  margin: 0;
  padding-left: 18px;
}

.detail-overlay .live-info-note li {
  margin-bottom: 4px;
  list-style-type: disc;
}

.detail-overlay .panel-table .table-section-title {
  color: #aaa;
  background: #333;
  font-size: 0.625rem;
  font-weight: 300;
  text-align: left;
  letter-spacing: 0.2em;
  padding: 6px 10px;
  border: none;
}

.table-value.live-message {
  padding: 0.5rem;
}

/* スライドショー */
.slideshow-container {
    position: relative;
    width: 100%;
    height: 300px;
    margin: 2rem 0;
    border-radius: 6px;
    overflow: hidden;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 1.5s ease-in-out;
    z-index: 1;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 動画コンテナ */
.detail-video-container {
    margin: 2rem 0;
}

.detail-video-container .video-container {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.detail-video-container .video-container youtube-panel,
.detail-video-container .video-container vimeo-panel {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.detail-video-container .video-container iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    position: static !important;
    aspect-ratio: 16/9;
    background: #000;
    border: none;
}

/* 詳細ページ用 動画プレーヤー */
.detail-video-container .detail-video-container {
    width: 100%;
    margin: 2rem 0;
    border-radius: 6px;
    overflow: hidden;
    background: #000;
    position: relative;
    display: block;
}
.detail-video-container youtube-panel,
.detail-video-container vimeo-panel {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.detail-video-container iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    position: static !important;
    background: #000;
    border: none;
}