/* ===== Bリーグ ファンクラブ比較ブログ 共通スタイル ===== */
:root{
  --primary:#0a2463; --accent:#e63946; --gold:#f4a261;
  --bg:#f0f4f8; --card-bg:#fff; --text:#1a1a2e; --muted:#6c757d; --border:#dee2e6;
  --old:#8a93a6; --new:#1f7a4d; --new-bg:#e8f6ee; --old-bg:#f1f3f6; --up:#c0392b; --down:#1f7a4d;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.7;}

/* header */
header{background:linear-gradient(135deg,#0a2463 0%,#1a3a7a 100%);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2);}
.header-inner{max-width:1080px;margin:0 auto;padding:20px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.logo{font-size:1.45rem;font-weight:900;letter-spacing:-.5px;text-decoration:none;color:#fff;}
.logo span{color:var(--gold);}
.logo-sub{font-size:.8rem;color:rgba(255,255,255,.7);margin-top:2px;}
.nav-links{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;}
.nav-links a{color:#fff;text-decoration:none;font-size:.85rem;font-weight:700;background:rgba(255,255,255,.14);padding:8px 15px;border-radius:20px;transition:background .2s;}
.nav-links a:hover{background:rgba(255,255,255,.28);}

/* wrap */
.wrap{max-width:1080px;margin:0 auto;padding:30px 22px 70px;}
.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:18px;}
.breadcrumb a{color:var(--primary);text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}

/* blog index */
.page-title{font-size:1.7rem;font-weight:900;color:var(--primary);margin-bottom:8px;}
.page-lead{color:var(--muted);margin-bottom:22px;font-size:.95rem;}

/* league tabs */
.league-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.league-tab{padding:10px 22px;border-radius:11px;border:1.5px solid var(--border);cursor:pointer;font-size:.95rem;font-weight:800;background:#fff;color:var(--muted);transition:all .15s;}
.league-tab .cnt{font-size:.72rem;font-weight:600;margin-left:6px;opacity:.7;}
.league-tab.active.b1{background:var(--primary);color:#fff;border-color:var(--primary);}
.league-tab.active.b2{background:#198754;color:#fff;border-color:#198754;}
.league-tab.active.b3{background:#d9480f;color:#fff;border-color:#d9480f;}
.empty-msg{background:#fff;border-radius:14px;padding:34px 20px;text-align:center;color:var(--muted);font-size:.92rem;box-shadow:0 2px 10px rgba(0,0,0,.05);}

/* soon (not yet published) card */
.post-card.soon{cursor:default;opacity:.92;border-top-color:#cdd4de;}
.post-card.soon:hover{transform:none;box-shadow:0 2px 10px rgba(0,0,0,.07);}
.pc-tag.soon-tag{background:var(--muted);}
.post-card.soon .pc-title{color:var(--muted);}
.pc-soon-label{margin-top:12px;font-size:.78rem;color:var(--muted);font-weight:700;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.post-card{background:var(--card-bg);border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.07);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;border-top:5px solid var(--team,#0a2463);}
.post-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.13);}
.post-card .pc-body{padding:18px 18px 20px;}
.pc-tag{display:inline-block;font-size:.7rem;font-weight:800;color:#fff;background:var(--accent);padding:3px 10px;border-radius:12px;margin-bottom:10px;}
.pc-title{font-size:1.12rem;font-weight:800;color:var(--primary);margin-bottom:8px;}
.pc-desc{font-size:.85rem;color:var(--muted);}
.pc-meta{margin-top:12px;font-size:.78rem;color:var(--new);font-weight:700;}

/* article */
.article-head{background:var(--card-bg);border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:26px 26px 22px;margin-bottom:22px;border-top:8px solid var(--team,#0a2463);}
.article-head h1{font-size:1.55rem;font-weight:900;color:var(--primary);margin-bottom:10px;}
.article-head .sub{color:var(--muted);font-size:.92rem;}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.tag{font-size:.72rem;font-weight:800;padding:4px 11px;border-radius:13px;}
.tag-season{background:#eef2fb;color:var(--primary);}
.tag-change{background:#fdecea;color:var(--accent);}

.section{background:var(--card-bg);border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:24px;margin-bottom:22px;}
.section h2{font-size:1.2rem;font-weight:900;color:var(--primary);margin-bottom:14px;padding-left:12px;border-left:5px solid var(--gold);}
.section p{margin-bottom:12px;font-size:.95rem;}

/* before/after columns */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ba-col{border-radius:12px;padding:16px;}
.ba-old{background:var(--old-bg);border:1.5px solid #d4dae3;}
.ba-new{background:var(--new-bg);border:1.5px solid #bfe3cd;}
.ba-col h3{font-size:.95rem;font-weight:900;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.ba-old h3{color:var(--old);}
.ba-new h3{color:var(--new);}
.ba-badge{font-size:.68rem;font-weight:800;padding:2px 9px;border-radius:10px;color:#fff;}
.ba-old .ba-badge{background:var(--old);}
.ba-new .ba-badge{background:var(--new);}
.tier-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 0;border-bottom:1px dashed #cdd4de;font-size:.9rem;}
.tier-row:last-child{border-bottom:none;}
.tier-name{font-weight:700;}
.tier-price{font-weight:900;white-space:nowrap;}
.ba-new .tier-price{color:var(--new);}

/* change list */
.change-list{list-style:none;}
.change-list li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--border);font-size:.93rem;}
.change-list li:last-child{border-bottom:none;}
.change-list li::before{content:"";position:absolute;left:6px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--gold);}
.chip{display:inline-block;font-size:.7rem;font-weight:800;padding:2px 8px;border-radius:9px;margin-right:6px;vertical-align:middle;}
.chip-up{background:#fdecea;color:var(--up);}
.chip-down{background:#e8f6ee;color:var(--down);}
.chip-new{background:#eef2fb;color:var(--primary);}
.chip-del{background:#f1f3f6;color:var(--muted);}

.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.cta a{text-decoration:none;font-weight:700;font-size:.9rem;padding:11px 20px;border-radius:10px;}
.cta-primary{background:var(--primary);color:#fff;}
.cta-ghost{background:transparent;color:var(--primary);border:1.5px solid var(--primary);}
.note{font-size:.8rem;color:var(--muted);margin-top:14px;}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:30px 20px;}
footer a{color:var(--primary);}

@media(max-width:680px){
  .ba-grid{grid-template-columns:1fr;}
  .article-head h1{font-size:1.3rem;}
}
