/*
 * Production-specific styles
 * style.css のトークンに依存。追加スタイルや細かい調整をここに置く。
 */

/* ステータスバッジ */
.s25-status {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 2px;
  letter-spacing: 0.05em;
}
.s25-status--onstage  { background: #1a6b1a; color: #fff; }
.s25-status--upcoming { background: #5a4a2e; color: #fff; }
.s25-status--closed   { background: #8a8a8a; color: #fff; }

/* タグ */
.s25-tag {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  border: 1px solid var(--s25-border);
  color: var(--s25-text-sub);
  background: #faf9f8;
  letter-spacing: 0.03em;
}

/* プロダクションカード hover */
.s25-prod-card:hover { border-color: var(--s25-burgundy); }
.s25-prod-card a { transition: color .15s; }
.s25-prod-card a:hover { color: var(--s25-burgundy); }

/* グリッドレイアウト */
.s25-prod-grid { }

/* キャストWダブルラベル */
.s25-double-label {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  background: #f8e8e8;
  color: var(--s25-burgundy);
  border: 1px solid #e8c8c8;
  margin-right: 4px;
  border-radius: 2px;
  vertical-align: middle;
}

/* 上演スケジュールテーブル */
.s25-perf-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.s25-perf-table th { background: #faf9f8; font-weight: 500; color: var(--s25-text-muted); padding: 8px 10px; border-bottom: 1px solid var(--s25-border); text-align: left; }
.s25-perf-table td { padding: 8px 10px; border-bottom: 1px solid var(--s25-border-soft2); }
.s25-perf-table tr:last-child td { border-bottom: none; }

/* フィルターサイドバー */
.s25-filter-group + .s25-filter-group { border-top: 1px solid var(--s25-border-soft2); padding-top: 16px; }
.s25-filter-title { text-transform: uppercase; }

/* ページネーション */
.page-numbers {
  display: inline-block;
  padding: 6px 12px;
  margin: 2px;
  border: 1px solid var(--s25-border);
  color: var(--s25-dark-2);
  text-decoration: none;
  font-size: 13px;
}
.page-numbers.current { background: var(--s25-burgundy); color: #fff; border-color: var(--s25-burgundy); }
.page-numbers:hover:not(.current) { border-color: var(--s25-burgundy); color: var(--s25-burgundy); }

/* フロントページ カードホバー */
.s25-page article[style*="border"]:hover { border-color: var(--s25-burgundy) !important; }

/* 印刷スタイル */
@media print {
  .s25-top-bar,
  .s25-header-nav,
  .s25-sidebar,
  .s25-footer {
    display: none !important;
  }
  .s25-main { display: block; padding: 0; }
  body { background: #fff; color: #000; font-size: 11pt; }
}
