/* =====================================================
   04_event.css
   イベント関連スタイル
   - ⑦ イベント詳細 (.khev-wrap, .khev-layout, .khev-status, .khev-cal)
   - ⑯ カレンダー凡例 (.khev-cal-legend)
   - ⑰ カレンダーバー (.khev-cal.has-bars, .khev-cal-bar)
   - ⑱ イベントアイキャッチ非表示 (single-event)
   - イベントまとめ (.khev-sum-*, .khev-tabs, details/summary)
===================================================== */
   /* =====================================================
         ⑦ イベント詳細ページ用CSS
         -----------------------------------------------------
         各イベント投稿のHTMLが参照。styleブロックは投稿側に書かない。
         ===================================================== */
   .khev-wrap {
     font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
       "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
     color: #222;
     margin: 1.6em 0 2.4em;
     line-height: 1.7;
   }
   .khev-layout {
     display: grid;
     grid-template-columns: 1fr;
     gap: 24px;
   }
   @media (min-width: 768px) {
     .khev-layout {
       grid-template-columns: minmax(260px, 42%) 1fr;
       gap: 36px;
       align-items: flex-start;
     }
   }
   .khev-poster {
     position: relative;
   }
   .khev-posterImg {
     width: 100%;
     height: auto;
     display: block;
     border-radius: 12px;
     border: 1px solid #e6e8ee;
     box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
     background: #f3f4f8;
   }
   .khev-info {
     display: flex;
     flex-direction: column;
     gap: 14px;
   }
   
   .khev-status {
     display: inline-block;
     align-self: flex-start;
     padding: 4px 12px;
     font-size: 0.82em;
     font-weight: 800;
     letter-spacing: 0.04em;
     border-radius: 99px;
     color: #fff;
     background: #888;
   }
   .khev-status.is-upcoming {
     background: #1f3373;
   }
   .khev-status.is-ongoing {
     background: #2e8c4a;
   }
   .khev-status.is-ended {
     background: #666;
   }
   .khev-status.is-canceled {
     background: #b03030;
   }
   
   .khev-meta {
     display: flex;
     gap: 14px;
     align-items: baseline;
     font-size: 0.95em;
     padding: 6px 0;
     border-bottom: 1px dashed #e0e3ec;
   }
   .khev-metaLabel {
     color: #888;
     font-size: 0.85em;
     font-weight: 700;
     min-width: 74px;
   }
   .khev-metaValue {
     font-weight: 700;
     color: #222;
   }
   
   /* カレンダー本体（ショートコード [khev_cal] が出すHTML）
         サイズ小さめ＋複数月で横並び（PC=4枚/行、タブレット=2枚/行、スマホ=1枚/行）
         word-spacing:-1ch でinline-block間の余白を消している */
   .khev-cal {
     display: inline-block;
     vertical-align: top;
     width: calc(50% - 12px);
     max-width: 420px;
     margin: 0 8px 12px 0;
     padding: 10px;
     background: #fff;
     border: 1px solid #e6e8ee;
     border-radius: 8px;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
     word-spacing: normal;
     letter-spacing: normal;
     font-size: 0.92em;
     vertical-align: top;
   }
   .khev-cal-month {
     text-align: center;
     font-weight: 800;
     font-size: 0.95em;
     color: #1f3373;
     margin-bottom: 6px;
     padding-bottom: 5px;
     border-bottom: 2px solid #f7d774;
   }
   .khev-cal-grid {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 2px;
   }
   .khev-cal-dow {
     text-align: center;
     font-size: 0.65em;
     font-weight: 800;
     color: #555;
     padding: 3px 0;
     background: #f3f4f8;
     border-radius: 3px;
   }
   .khev-cal-dow.khev-cal-sun {
     color: #c04040;
   }
   .khev-cal-dow.khev-cal-sat {
     color: #2c5e9e;
   }
   .khev-cal-day {
     aspect-ratio: 1/1;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.72em;
     font-weight: 700;
     color: #444;
     background: #fafbfd;
     border-radius: 3px;
     border: 1px solid transparent;
   }
   .khev-cal-day.is-sun {
     color: #c04040;
   }
   .khev-cal-day.is-sat {
     color: #2c5e9e;
   }
   .khev-cal-day.is-pad {
     background: transparent;
     color: transparent;
   }
   .khev-cal-day.is-event {
     background: #f7d774;
     color: #1f3373 !important;
     font-weight: 900;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
   }
   .khev-cal-day.is-today {
     border: 2px solid #c04040;
     outline: none;
   }
   .khev-cal-error {
     color: #c04040;
     background: #fee;
     padding: 8px 12px;
     border-radius: 6px;
     font-size: 0.85em;
   }
   /* 連続するカレンダー間の余白を消すための工夫 */
   .khev-cal + .khev-cal {
     margin-left: 0;
   }
   
   /* タブレット：2枚/行 */
   @media (max-width: 1024px) {
     .khev-cal {
       width: calc(50% - 6px);
     }
   }
   /* スマホ：1枚/行（フル幅） */
   @media (max-width: 600px) {
     .khev-cal {
       width: 100%;
       margin-right: 0;
     }
   }
   
   /* イベント説明 */
   .khev-desc {
     margin-top: 6px;
     padding: 14px 16px;
     background: #fafbfd;
     border-radius: 10px;
     border: 1px solid #ecedf3;
   }
   .khev-descTitle {
     font-size: 1em;
     font-weight: 800;
     color: #1f3373;
     margin: 0 0 0.5em;
     padding-bottom: 0.3em;
     border-bottom: 1px solid #e6e8ee;
   }
   .khev-desc p {
     margin: 0.4em 0;
     font-size: 0.95em;
   }
   .khev-descList {
     margin: 0.4em 0;
     padding-left: 1.3em;
     font-size: 0.92em;
   }
   .khev-descList li {
     margin: 0.15em 0;
   }
   
   /* 関連リンク */
   .khev-links {
     margin-top: 10px;
   }
   .khev-linksTitle {
     font-size: 1em;
     font-weight: 800;
     color: #1f3373;
     margin: 0 0 0.5em;
   }
   .khev-linkBtns {
     display: flex;
     flex-direction: column;
     gap: 10px;
   }
   .khev-linkBtn {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 12px 16px;
     font-size: 0.95em;
     font-weight: 800;
     color: #fff !important;
     text-decoration: none !important;
     border-radius: 10px;
     background: #444;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
     transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
     letter-spacing: 0.02em;
   }
   .khev-linkBtn:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
     filter: brightness(1.08);
   }
   .khev-linkBtnArrow {
     font-size: 1.4em;
     line-height: 1;
     opacity: 0.85;
     margin-left: 8px;
   }
   .khev-linkBtn--official {
     background: #1f3373;
   }
   .khev-linkBtn--ticket {
     background: #c04040;
   }
   

   /* =====================================================
         16 カレンダー：会場別色分けの凡例
         ===================================================== */
   .khev-cal-legend {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     justify-content: center;
     margin-top: 8px;
     padding-top: 6px;
     border-top: 1px dashed #e6e8ee;
     font-size: 0.7em;
     color: #444;
   }
   .khev-cal-legend-item {
     display: inline-flex;
     align-items: center;
     gap: 5px;
     white-space: nowrap;
   }
   .khev-cal-legend-color {
     display: inline-block;
     width: 11px;
     height: 11px;
     border-radius: 2px;
     vertical-align: middle;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
   }
   /* =====================================================
         17 カレンダー：会場別バー表示（venuesモード時のみ）
         -----------------------------------------------------
         .has-bars クラスが付いたカレンダーの日付セル下部に
         会場ごとのバーを縦に並べて表示
         ===================================================== */
   .khev-cal.has-bars .khev-cal-day {
     position: relative;
     padding-bottom: 14px;
     align-items: flex-start;
     padding-top: 5px;
   }
   .khev-cal-bars {
     position: absolute;
     left: 0;
     right: 0;
     bottom: 3px;
     display: flex;
     flex-direction: column;
     gap: 1.5px;
     padding: 0;
   }
   .khev-cal-bar {
     display: block;
     height: 3px;
     background: transparent;
     margin: 0;
   }
   /* 開催の左端（開始日） */
   .khev-cal-bar.is-start {
     border-top-left-radius: 2px;
     border-bottom-left-radius: 2px;
     margin-left: 2px;
   }
   /* 開催の右端（終了日） */
   .khev-cal-bar.is-end {
     border-top-right-radius: 2px;
     border-bottom-right-radius: 2px;
     margin-right: 2px;
   }
   /* venues モードでは「is-event」のセル全体着色を打ち消す */
   .khev-cal.has-bars .khev-cal-day.is-event {
     background: #fafbfd;
     color: #444 !important;
     font-weight: 700;
     box-shadow: none;
   }
   
   /* スマホ：バーを少し見やすく */
   @media (max-width: 600px) {
     .khev-cal.has-bars .khev-cal-day {
       padding-bottom: 12px;
     }
     .khev-cal-bar {
       height: 2.5px;
     }
   }
   
   /* =====================================================
         18 イベント詳細ページ：アイキャッチ画像を非表示
         -----------------------------------------------------
         イベント投稿は本文内のポスター画像（.khev-posterImg）で表示するため
         アイキャッチを完全非表示（PC・スマホ両方）
         ===================================================== */
   body.single-event .eye-catch,
   body.single-event .entry-thumb,
   body.single-event .post-thumb,
   body.single-event .article-thumb,
   body.single-event header.entry-header .eye-catch {
     display: none !important;
   }

   /* =========================================================
         イベントまとめ記事 (.khev-sum-*) ＋ タブUI (.khev-tabs)
         ========================================================= */
   
   .khev-sum-wrap {
     --khev-sum-navy: #0c1a3a;
     --khev-sum-ink: #1f3373;
     --khev-sum-gold: #d4af37;
     --khev-sum-gold-soft: #e8c252;
     --khev-sum-line: #e5e7ee;
     --khev-sum-bg: #fafbfd;
     --khev-sum-muted: #6a6a6a;
   }
   
   /* (1) ミニヒーロー */
   .khev-sum-hero {
     position: relative;
     margin: 0 0 32px;
     padding: 28px 24px;
     border-radius: 14px;
     text-align: center;
     background: radial-gradient(
         ellipse at 50% 0%,
         rgba(212, 175, 55, 0.18),
         transparent 65%
       ),
       linear-gradient(180deg, #0a1530, #1b2a4e);
     color: #fdf6dc;
     box-shadow: 0 14px 28px rgba(7, 17, 42, 0.18);
   }
   .khev-sum-eyebrow {
     display: inline-block;
     margin: 0 0 8px;
     padding: 3px 12px;
     font-size: 11px;
     font-weight: 800;
     letter-spacing: 0.18em;
     color: #0c1a3a;
     background: linear-gradient(90deg, #f7d774, #e8c252);
     border-radius: 999px;
   }
   .khev-sum-title {
     margin: 0 0 8px;
     font-size: clamp(20px, 4vw, 26px);
     letter-spacing: 0.04em;
     color: #fff;
   }
   .khev-sum-lead {
     margin: 0;
     font-size: 14px;
     color: #c8d1ea;
     line-height: 1.8;
   }
   
   /* (2) ブロック共通 */
   .khev-sum-block {
     margin: 36px 0;
   }
   .khev-sum-block-head {
     margin: 0 0 16px;
   }
  /* 修正: khev-sum-h3 帯スタイル KH風に変更 - 2025-05-27 */
.khev-sum-h3 {
  position: relative;
  margin: 0 0 6px;
  padding: 10px 16px 10px 20px;
  font-size: 17px;
  font-weight: 800;
  color: #fdf6dc;                          /* クリーム文字 */
  line-height: 1.5;
  letter-spacing: 0.05em;
  background: linear-gradient(
    90deg,
    #0c1a3a 0%,
    #1b2a4e 60%,
    rgba(27, 42, 78, 0.75) 100%
  );                                       /* 深藍グラデ帯 */
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(212, 175, 55, 0.15),
              0 2px 8px rgba(5, 10, 28, 0.3);
}

.khev-sum-h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #f7d774 0%, #d4af37 100%); /* 金グロー縦ライン */
  border-radius: 6px 0 0 6px;
  box-shadow: 0 0 8px rgba(212, 175, 55, 0.5);
}
   .khev-sum-note {
     margin: 0;
     font-size: 12px;
     color: var(--khev-sum-muted);
     line-height: 1.6;
   }
   
   /* (3) 開催中・今後の予定: 既存 khtop-card-grid / khtop-evt-grid を流用 */
   .khev-sum-feature {
     margin-top: 14px;
   }
   
   /* (4) タブUI */
   .khev-tabs {
     margin-top: 16px;
     background: #fff;
     border: 1px solid var(--khev-sum-line);
     border-radius: 12px;
     overflow: hidden;
   }
   .khev-tabs-nav {
     display: flex;
     flex-wrap: wrap;
     gap: 0;
     border-bottom: 1px solid var(--khev-sum-line);
     background: var(--khev-sum-bg);
   }
   .khev-tab {
     flex: 1 1 auto;
     min-width: 120px;
     padding: 12px 14px;
     border: none;
     background: transparent;
     font-size: 13px;
     font-weight: 700;
     color: var(--khev-sum-muted);
     cursor: pointer;
     position: relative;
     transition: color 0.15s ease, background 0.15s ease;
   }
   .khev-tab:hover {
     color: var(--khev-sum-ink);
     background: #fff;
   }
   .khev-tab.is-active {
     color: var(--khev-sum-ink);
     background: #fff;
   }
   .khev-tab.is-active::after {
     content: "";
     position: absolute;
     left: 12px;
     right: 12px;
     bottom: -1px;
     height: 3px;
     background: linear-gradient(
       90deg,
       var(--khev-sum-gold-soft),
       var(--khev-sum-gold)
     );
     border-radius: 2px 2px 0 0;
   }
   .khev-tab-panel {
     padding: 16px;
   }
   .khev-tab-panel[hidden] {
     display: none;
   }
   
   @media (max-width: 520px) {
     .khev-tab {
       min-width: 50%;
       font-size: 12px;
       padding: 10px 8px;
     }
   }
   
   /* (5) 過去イベントログ (年ごと details) */
   .khev-sum-archive {
     margin-top: 12px;
   }
   .khev-sum-arc-year {
     margin: 0 0 8px;
     background: #fff;
     border: 1px solid var(--khev-sum-line);
     border-radius: 10px;
     overflow: hidden;
   }
   .khev-sum-arc-summary {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 12px 16px;
     cursor: pointer;
     list-style: none;
     font-weight: 800;
     color: var(--khev-sum-ink);
     background: var(--khev-sum-bg);
     transition: background 0.15s ease;
   }
   .khev-sum-arc-summary::-webkit-details-marker {
     display: none;
   }
   .khev-sum-arc-summary::after {
     content: "▾";
     font-size: 12px;
     color: var(--khev-sum-gold);
     transition: transform 0.15s ease;
   }
   .khev-sum-arc-year[open] > .khev-sum-arc-summary::after {
     transform: rotate(180deg);
   }
   .khev-sum-arc-year[open] > .khev-sum-arc-summary {
     background: #fff;
     border-bottom: 1px solid var(--khev-sum-line);
   }
   .khev-sum-arc-summary:hover {
     background: #fff;
   }
   .khev-sum-arc-year-label {
     font-size: 15px;
     letter-spacing: 0.04em;
   }
   .khev-sum-arc-count {
     font-size: 11px;
     font-weight: 700;
     padding: 2px 10px;
     background: var(--khev-sum-ink);
     color: #fff;
     border-radius: 999px;
     margin-left: 8px;
   }
   .khev-sum-arc-list {
     list-style: none;
     margin: 0;
     padding: 4px 16px 12px;
   }
   .khev-sum-arc-row {
     display: grid;
     grid-template-columns: 92px 1fr;
     gap: 12px;
     align-items: baseline;
     padding: 8px 0;
     border-bottom: 1px dashed var(--khev-sum-line);
   }
   .khev-sum-arc-row:last-child {
     border-bottom: none;
   }
   .khev-sum-arc-date {
     font-size: 12px;
     font-weight: 700;
     color: var(--khev-sum-gold);
     letter-spacing: 0.04em;
   }
   .khev-sum-arc-link {
     font-size: 14px;
     font-weight: 600;
     color: var(--khev-sum-ink) !important;
     text-decoration: none !important;
     line-height: 1.55;
   }
   .khev-sum-arc-link:hover {
     text-decoration: underline !important;
   }
   
   @media (max-width: 520px) {
     .khev-sum-arc-row {
       grid-template-columns: 76px 1fr;
       gap: 10px;
     }
     .khev-sum-arc-link {
       font-size: 13px;
     }
   }
   
   /* (6) 更新履歴 */
   .khev-sum-history {
     margin: 36px 0 8px;
     padding: 14px 18px;
     background: var(--khev-sum-bg);
     border: 1px dashed var(--khev-sum-line);
     border-radius: 8px;
     font-size: 13px;
     color: var(--khev-sum-muted);
   }
   .khev-sum-history-title {
     font-weight: 700;
     color: var(--khev-sum-ink);
     margin: 0 0 0.5em;
   }
   .khev-sum-history ul {
     margin: 0;
     padding-left: 1.4em;
   }
   .khev-sum-history li {
     margin: 0.15em 0;
   }
   
   /* (7) prefers-reduced-motion 配慮 */
   @media (prefers-reduced-motion: reduce) {
     .khev-tab,
     .khev-sum-arc-summary::after {
       transition: none;
     }
   }
   
