/**
 * HIRAETH.Tokyo — The Events Calendar Dark Override
 * これを functions.php で enqueue する
 */

/* ── 全体リセット ── */
.tribe-events,
.tribe-events *,
.tribe-common,
.tribe-common * {
  font-family: var(--font-body) !important;
  box-sizing: border-box;
}

/* ── 背景・コンテナ ── */
.tribe-events,
.tribe-common,
.tribe-events .tribe-events-view,
.tribe-events .tribe-events-calendar,
.tribe-events-view--month,
.tribe-events-view--list,
.tribe-common-a11y-hidden,
.tribe-events .tribe-common-c-loader,
#tribe-events,
#tribe-events * { background: transparent !important; }

.tribe-events-header,
.tribe-events .tribe-events-header__top { background: rgba(0,245,255,.04) !important; }

/* ── カレンダーグリッド ── */
.tribe-events .tribe-events-calendar__day-cell,
.tribe-events .tribe-events-calendar__day-cell--past,
.tribe-events .tribe-events-calendar__day-cell--current-month {
  background: transparent !important;
  border-color: var(--c-border) !important;
}
.tribe-events .tribe-events-calendar__day-cell:hover {
  background: rgba(0,245,255,.03) !important;
}
.tribe-events-pro table.tribe-events-calendar th {
  background: rgba(0,245,255,.05) !important;
  border-color: var(--c-border) !important;
}

/* ── テキスト ── */
.tribe-events h1,
.tribe-events h2,
.tribe-events h3,
.tribe-events h4,
.tribe-events p,
.tribe-events span,
.tribe-events li,
.tribe-events td,
.tribe-events th,
.tribe-common-b1,
.tribe-common-b2,
.tribe-common-b3 {
  color: var(--c-text-muted) !important;
}

.tribe-events a,
.tribe-common a {
  color: var(--c-neon-cyan) !important;
  text-decoration: none !important;
}
.tribe-events a:hover,
.tribe-common a:hover {
  color: #fff !important;
}

/* ── ボタン ── */
.tribe-common .tribe-common-c-btn,
.tribe-common .tribe-common-c-btn-border,
.tribe-events .tribe-button,
.tribe-events .tribe-button--primary,
.tribe-events .tribe-button-primary,
.tribe-events .tribe-events-c-search__button {
  background: rgba(0,245,255,.1) !important;
  border: 1px solid rgba(0,245,255,.3) !important;
  color: var(--c-neon-cyan) !important;
  border-radius: 4px !important;
  font-family: var(--font-display) !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  transition: all .2s !important;
}
.tribe-common .tribe-common-c-btn:hover,
.tribe-events .tribe-button--primary:hover {
  background: rgba(0,245,255,.2) !important;
  box-shadow: 0 0 16px rgba(0,245,255,.2) !important;
}

/* ── イベントタイトル ── */
.tribe-events-calendar__day-grid-cell-events-link,
.tribe-events .tribe-events-calendar-month__calendar-event-title,
.tribe-events .tribe-events-calendar-month__calendar-event-title a {
  color: var(--c-text) !important;
  font-size: .78rem !important;
  line-height: 1.4 !important;
}

/* ── イベントドット・バー ── */
.tribe-events .tribe-events-calendar-month__calendar-event-bar {
  background: var(--c-neon-cyan) !important;
}

/* ── ナビゲーション矢印 ── */
.tribe-events .tribe-events-c-nav__prev-text,
.tribe-events .tribe-events-c-nav__next-text {
  color: var(--c-neon-cyan) !important;
}
.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next {
  border-color: var(--c-border) !important;
  border-radius: 4px !important;
}

/* ── Viewセレクタ ── */
.tribe-events .tribe-events-c-view-selector__list-item-button {
  background: transparent !important;
  color: var(--c-text-muted) !important;
  border-color: transparent !important;
}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-button {
  background: rgba(0,245,255,.1) !important;
  color: var(--c-neon-cyan) !important;
  border-color: rgba(0,245,255,.3) !important;
}

/* ── 月ヘッダー ── */
.tribe-events .tribe-events-calendar-month__header-column-title {
  color: var(--c-neon-purple) !important;
  font-family: var(--font-display) !important;
  font-size: .7rem !important;
  letter-spacing: .1em !important;
}

/* ── 今日 ── */
.tribe-events .tribe-events-calendar__day-cell--today {
  background: rgba(0,245,255,.06) !important;
  border-color: rgba(0,245,255,.3) !important;
}
.tribe-events .tribe-events-calendar-month__calendar-event--featured {
  background: rgba(191,95,255,.12) !important;
}

/* ── 検索ボックス ── */
.tribe-events .tribe-events-c-search__input-control {
  background: rgba(6,18,50,.6) !important;
  border-color: var(--c-border) !important;
  color: var(--c-text) !important;
  border-radius: 4px !important;
}

/* ── スクロールバー ── */
.tribe-events ::-webkit-scrollbar { width: 4px; background: transparent; }
.tribe-events ::-webkit-scrollbar-thumb { background: rgba(0,245,255,.2); border-radius: 2px; }

/* ── LIST VIEW ── */
.tribe-events-view--list .tribe-events-list-widget,
.tribe-events-view--list .tribe-event-list-widget { background: transparent !important; }
.tribe-events-calendar-list__event-row--featured { border-left: 2px solid var(--c-neon-cyan) !important; }
.tribe-events-calendar-list__event-datetime { color: var(--c-neon-purple) !important; font-family: var(--font-display) !important; }

/* ── イベント名の視認性修正 ── */
.tribe-events .tribe-events-calendar__day-cell--current-month .tribe-events-calendar__day-cell__events-link,
.tribe-events .tribe-events-calendar__day-cell .tribe-event-url,
.tribe-events .tribe-events-month__calendar-event-title,
.tribe-events .tribe-events-month__calendar-event-title a,
.tribe-events-month .tribe-events-calendar td .tribe-events-month__calendar-event a,
.tribe-common .tribe-events-calendar-month__calendar-event-title,
.tribe-common .tribe-events-calendar-month__calendar-event-title a {
  color: #e8f4ff !important;
  font-size: .75rem !important;
}

/* イベントバーの背景色 */
.tribe-events-calendar-month__calendar-event,
.tribe-events .tribe-events-calendar-month__calendar-event {
  background: rgba(0,245,255,.18) !important;
  border-radius: 3px !important;
}
.tribe-events-calendar-month__calendar-event:hover,
.tribe-events .tribe-events-calendar-month__calendar-event:hover {
  background: rgba(0,245,255,.32) !important;
}

/* 日付数字 */
.tribe-events .tribe-events-calendar-month__calendar-event-datetime,
.tribe-events-calendar-month__day-cell--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day-date {
  color: var(--c-text-muted) !important;
}
.tribe-events .tribe-events-calendar-month__day-date--current-month.tribe-events-calendar-month__day-date--past,
.tribe-events-calendar-month__day-date {
  color: rgba(200,220,255,.5) !important;
}

/* 今日の日付ハイライト */
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
  color: var(--c-neon-cyan) !important;
}

/* グリッド線 */
.tribe-events .tribe-events-calendar-month__body,
.tribe-events .tribe-events-calendar-month__day-cell {
  border-color: rgba(0,245,255,.08) !important;
}

/* ヘッダー曜日行 */
.tribe-events .tribe-events-calendar-month__header-column-title {
  color: var(--c-neon-cyan) !important;
  font-family: var(--font-display) !important;
  font-size: .68rem !important;
  letter-spacing: .15em !important;
}

/* 検索バー・ボタン */
.tribe-events .tribe-events-header__top,
.tribe-events .tribe-events-c-search__input-control {
  background: rgba(6,18,50,.6) !important;
  border-color: var(--c-border) !important;
  color: var(--c-text) !important;
}
.tribe-events .tribe-events-c-search__input-control input {
  color: var(--c-text) !important;
  background: transparent !important;
}
.tribe-events .tribe-events-c-search__submit {
  background: var(--c-neon-cyan) !important;
  color: #000 !important;
}
.tribe-events .tribe-button-primary,
.tribe-events .tribe-events-c-view-selector__button {
  background: rgba(0,245,255,.1) !important;
  border-color: rgba(0,245,255,.3) !important;
  color: var(--c-neon-cyan) !important;
}
