/* ═══════════════════════════════════════════════════════════════
   PriceStocker 予約・発売日カレンダー 本文部品（cal.css / v0.324・B-100 Phase 1）
   - グローバルchrome（ヘッダー/フッター/ドック）は sn.css 共通読込
   - デザイントークンは sn.css の --sn-*（body.flat スコープ）を参照
   - 月グリッド＋行区切り一覧＝oc.css/rn.css と同系統の様式
   ═══════════════════════════════════════════════════════════════ */

/* 月ナビゲーション */
.cal-nav{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap;}
.cal-month{font-size:15px;font-weight:600;color:var(--text);letter-spacing:.02em;min-width:96px;text-align:center;}
.cal-nav-btn{font-size:12px;color:var(--text2);text-decoration:none;border:1px solid var(--sn-line-2,rgba(255,255,255,.08));border-radius:7px;padding:5px 12px;background:var(--surface);}
.cal-nav-btn:hover{color:var(--text);border-color:rgba(255,255,255,.2);}
.cal-nav-today{color:var(--sn-gold,#c9a961);}

/* 月グリッド（横はみ出しはラッパー内スクロール） */
.cal-grid-wrap{overflow-x:auto;}
.cal-grid{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;}
.cal-grid th{font-size:11px;font-weight:500;color:var(--text3);padding:6px 4px;border-bottom:1px solid var(--sn-line-2,rgba(255,255,255,.08));}
.cal-grid th.cal-sun{color:var(--sn-claude,#d97757);}
.cal-grid th.cal-sat{color:#5b9bd5;}
.cal-grid td{vertical-align:top;height:78px;padding:4px 4px 6px;border:1px solid var(--sn-line-row,rgba(255,255,255,.055));}
.cal-grid td.cal-empty{background:rgba(255,255,255,.015);}
.cal-grid td.cal-today{background:var(--sn-badge-gold-bg,rgba(203,175,84,.10));}
.cal-d{font-size:11px;color:var(--text3);margin-bottom:3px;}
.cal-today .cal-d{color:var(--sn-gold,#c9a961);font-weight:600;}

/* イベントチップ（角R4=小型バッジ基準） */
.cal-chip{display:block;font-size:10px;line-height:1.45;border-radius:4px;padding:2px 5px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);}
.cal-chip b{font-weight:600;}
.cal-chip-link{text-decoration:none;display:block;}
.cal-chip-link:hover .cal-chip{filter:brightness(1.15);}
.cal-k-release{background:rgba(61,187,125,.13);}
.cal-k-release b{color:#3dbb7d;}
.cal-k-pre{background:rgba(217,119,87,.13);}
.cal-k-pre b{color:var(--sn-claude,#d97757);}
.cal-k-now{background:var(--sn-badge-gold-bg,rgba(203,175,84,.14));}
.cal-k-now b{color:var(--sn-badge-gold-tx,#cdb37c);}
.cal-more{display:block;font-size:9.5px;color:var(--text3);padding:1px 5px;}
/* PR表記（意匠は panels.css の .tips-pr と同系＝サイト内で統一） */
.cal-pr{display:inline-block;margin-left:6px;padding:0 5px;border:1px solid var(--sn-line-2,rgba(255,255,255,.08));border-radius:4px;color:var(--text3);font-size:10px;line-height:1.6;letter-spacing:.05em;white-space:nowrap;vertical-align:middle;font-weight:400;}

/* 月内一覧（行区切りのNotion調リスト） */
.cal-list{margin-top:26px;}
.cal-list-title{font-size:13px;font-weight:600;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--sn-line-2,rgba(255,255,255,.08));}
.cal-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:11px 2px;border-bottom:1px solid var(--sn-line-row,rgba(255,255,255,.055));}
.cal-row-date{font-size:11.5px;color:var(--text3);font-variant-numeric:tabular-nums;min-width:86px;}
.cal-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:600;letter-spacing:.02em;}
.cal-badge.cal-k-release{color:#3dbb7d;}
.cal-badge.cal-k-pre{color:var(--sn-claude,#d97757);}
.cal-badge.cal-k-now{color:var(--sn-badge-gold-tx,#cdb37c);}
.cal-row-title{font-size:12.5px;color:var(--text);}
.cal-row-title a{color:var(--sn-gold,#c9a961);text-decoration:none;}
.cal-row-title a:hover{text-decoration:underline;}
.cal-jan{font-size:10.5px;color:var(--text3);font-family:monospace;}
.cal-note{font-size:11px;color:var(--text3);width:100%;line-height:1.6;}
.cal-none{font-size:12.5px;color:var(--text3);padding:14px 2px;}

/* 注記 */
.cal-foot{font-size:11px;color:var(--text3);line-height:1.7;margin-top:22px;padding-top:12px;border-top:1px solid var(--sn-line-2,rgba(255,255,255,.08));}

@media(max-width:680px){
  .cal-grid{min-width:560px;}
  .cal-grid td{height:64px;}
  .cal-row-date{min-width:72px;}
}
