/* ===== OmiseAI Blog Styles — extends common.css ===== */

/* 日本語見出しの改行崩れ防止：文節を .nb で包むと、その単位で折り返す（語尾・記号の孤立を防ぐ） */
.nb{display:inline-block}

/* Breadcrumb */
.breadcrumb{max-width:760px;margin:0 auto;padding:18px 24px 0;font-size:.78rem;color:var(--text-muted)}
.breadcrumb a{color:var(--text-secondary);transition:color .2s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span{margin:0 8px;opacity:.5}

/* ---- Blog index (list) ---- */
.blog-grid{max-width:1040px;margin:8px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.blog-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.03);transition:all .3s}
.blog-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:0 12px 40px rgba(0,0,0,.07)}
.blog-card-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--bg-card-alt)}
.blog-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-card-thumb img{transform:scale(1.04)}
.blog-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.blog-cat{display:inline-block;align-self:flex-start;font-size:.66rem;font-weight:700;color:var(--accent);background:var(--accent-bg);padding:5px 11px;border-radius:999px;letter-spacing:.04em;margin-bottom:14px}
.blog-card-body h2{font-size:1.12rem;font-weight:800;line-height:1.55;letter-spacing:-.01em;color:var(--text-primary);margin-bottom:12px}
.blog-card-body p{font-size:.85rem;color:var(--text-secondary);line-height:1.85;flex:1}
.blog-card-meta{margin-top:18px;font-size:.74rem;color:var(--text-muted);display:flex;gap:14px;align-items:center}
.blog-card-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.6}

/* ---- Article ---- */
.article-hero{padding:130px 0 0;text-align:center}
.article-hero .container{max-width:760px}
.article-cat{display:inline-block;font-size:.7rem;font-weight:700;color:var(--accent);background:var(--accent-bg);padding:6px 14px;border-radius:999px;letter-spacing:.06em;margin-bottom:20px}
.article-hero h1{font-size:2rem;font-weight:800;line-height:1.5;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:20px}
.article-meta{font-size:.8rem;color:var(--text-muted);display:flex;gap:14px;justify-content:center;align-items:center;margin-bottom:8px}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);opacity:.6}

.article-body{max-width:720px;margin:0 auto;padding:48px 24px 0}
.article-body .lead{font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.95;margin-bottom:36px;padding-bottom:32px;border-bottom:1px solid var(--border)}
.article-body h2{font-size:1.4rem;font-weight:800;color:var(--text-primary);line-height:1.55;letter-spacing:-.01em;margin:52px 0 20px;padding-top:8px}
.article-body h2 .accent{color:var(--accent)}
.article-body h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.6;margin:36px 0 14px}
.article-body p{font-size:.95rem;color:#333;line-height:2.05;margin-bottom:20px}
.article-body strong{font-weight:700;color:var(--text-primary)}
.article-body a:not(.cta-btn){color:var(--accent);font-weight:600;border-bottom:1px solid rgba(232,100,44,.3);transition:border-color .2s}
.article-body a:not(.cta-btn):hover{border-color:var(--accent)}
.article-body ul,.article-body ol{margin:0 0 24px;padding-left:4px;list-style:none}
.article-body ul li{position:relative;padding-left:26px;margin-bottom:13px;font-size:.95rem;color:#333;line-height:1.95}
.article-body ul li::before{content:'';position:absolute;left:4px;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.7}
.article-body ol{counter-reset:li;padding-left:0}
.article-body ol li{position:relative;padding-left:38px;margin-bottom:14px;font-size:.95rem;color:#333;line-height:1.95;counter-increment:li}
.article-body ol li::before{content:counter(li);position:absolute;left:0;top:.1em;width:24px;height:24px;border-radius:50%;background:var(--accent-bg);color:var(--accent);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}

/* Pull quote / callout */
.article-body blockquote{margin:32px 0;padding:24px 28px;background:var(--bg-card-alt);border-left:4px solid var(--accent);border-radius:0 14px 14px 0}
.article-body blockquote p{font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.85;margin:0}
.article-body blockquote cite{display:block;margin-top:10px;font-size:.78rem;color:var(--text-muted);font-style:normal}

/* Highlight box (key takeaway) */
.callout{margin:32px 0;padding:26px 28px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.03)}
.callout-label{font-size:.66rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}
.callout p:last-child{margin-bottom:0}

/* Figure */
.article-fig{margin:36px 0;text-align:center}
.article-fig img{max-width:100%;max-height:520px;width:auto;border-radius:16px;border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.05)}
.article-fig figcaption{font-size:.76rem;color:var(--text-muted);text-align:center;margin-top:12px}

/* In-article CTA */
.article-cta{max-width:720px;margin:60px auto 0;padding:0 24px}
.article-cta-inner{background:linear-gradient(150deg,#1a1a1a 0%,#241a12 100%);border-radius:24px;padding:48px 40px;text-align:center;position:relative;overflow:hidden}
.article-cta-inner::before{content:'';position:absolute;width:400px;height:400px;top:-150px;right:-120px;border-radius:50%;background:radial-gradient(circle,rgba(232,100,44,.18),transparent 70%);pointer-events:none}
.article-cta-inner .ac-label{font-size:.66rem;font-weight:700;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;position:relative}
.article-cta-inner h3{font-size:1.4rem;font-weight:800;color:#fff;line-height:1.55;margin-bottom:14px;position:relative}
.article-cta-inner p{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.9;margin-bottom:26px;position:relative}
.article-cta-inner .cta-sub{font-size:.76rem;color:rgba(255,255,255,.45);margin-top:14px}

/* Stat block (real evidence figures) */
.stat-block{margin:36px 0}
.stat-block-label{font-size:.66rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px 22px;box-shadow:0 4px 24px rgba(0,0,0,.03)}
.stat-num{font-family:'Inter',sans-serif;font-size:2.8rem;font-weight:900;line-height:1;letter-spacing:-.02em;color:var(--accent);margin-bottom:10px}
.stat-num small{font-size:1.1rem;font-weight:700;color:var(--text-sub,#888);margin-left:2px}
.stat-label{font-size:.82rem;line-height:1.6;color:var(--text-sub,#555)}
.stat-label strong{color:var(--text,#1a1a1a)}
.stat-source{font-size:.72rem;color:var(--text-muted);margin-top:14px}

/* Related articles (circulation) */
.article-related{max-width:880px;margin:64px auto 0;padding:0 24px}
.article-related-label{font-size:.66rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px;text-align:center}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-card{display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.03);transition:all .3s}
.related-card:hover{transform:translateY(-3px);border-color:var(--border-hover);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.related-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--bg-card-alt)}
.related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.related-card:hover .related-thumb img{transform:scale(1.04)}
.related-body{padding:14px 16px 18px;display:flex;flex-direction:column;flex:1}
.related-cat{display:inline-block;align-self:flex-start;font-size:.6rem;font-weight:700;color:var(--accent);background:var(--accent-bg);padding:4px 9px;border-radius:999px;letter-spacing:.04em;margin-bottom:10px}
.related-card h3{font-size:.92rem;font-weight:700;line-height:1.6;letter-spacing:-.01em;color:var(--text-primary);margin:0}

/* Related / back */
.article-foot{max-width:720px;margin:48px auto 0;padding:0 24px}
.article-back{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--accent)}
.article-back:hover{opacity:.7}

@media(max-width:768px){
  .blog-grid{grid-template-columns:1fr;gap:22px}
  .article-hero{padding:104px 0 0}
  .article-hero h1{font-size:1.45rem;line-height:1.55}
  .article-body{padding:36px 22px 0}
  .article-body .lead{font-size:.98rem}
  .article-body h2{font-size:1.2rem;margin:42px 0 16px}
  .article-cta-inner{padding:38px 26px}
  .article-cta-inner h3{font-size:1.2rem}
  .stat-grid{grid-template-columns:1fr;gap:12px}
  .stat-card{padding:20px 20px}
  .stat-num{font-size:2.4rem}
  .related-grid{grid-template-columns:1fr;gap:14px}
}
