/* ===== クロスタ ブログ専用CSS ===== */
/* 共通: shared/base.css + shared/components.css */

/* Main */
.blog-main{
  min-height:80vh;
  padding:3rem 1.5rem;
  padding-top:5rem;
}
.blog-container{
  max-width:720px;
  margin:0 auto;
}

/* List */
.blog-page-title{
  font-size:1.8rem;font-weight:900;
  margin-bottom:0.4rem;
}
.blog-page-desc{
  font-size:0.9rem;
  color:var(--text-sub);
  margin-bottom:2.5rem;
}
#blog-cards{
  display:flex;flex-direction:column;gap:1rem;
}
.blog-card{
  display:block;
  background:var(--white);
  border:1px solid var(--card-border);
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
  color:var(--text);
  transition:all 0.25s;
}
.blog-card-thumb{
  width:100%;
  height:auto;
  display:block;
}
.blog-card-body{
  padding:1.5rem 1.8rem;
}
.blog-card:hover{
  border-color:var(--blue-light);
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(0,0,0,0.06);
}
.blog-card-date{
  font-family:'DM Sans',sans-serif;
  font-size:0.75rem;font-weight:600;
  color:var(--text-light);
  margin-bottom:0.5rem;
}
.blog-card-title{
  font-size:1.15rem;font-weight:900;
  line-height:1.6;
  margin-bottom:0.5rem;
}
.blog-card-desc{
  font-size:0.85rem;
  color:var(--text-sub);
  line-height:1.7;
  margin-bottom:0.8rem;
}
.blog-card-read{
  font-size:0.8rem;font-weight:700;
  color:var(--blue);
}

/* Post hero thumb */
.blog-hero-img{
  width:100%;
  height:auto;
  border-radius:16px;
  margin-bottom:1.5rem;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
}

/* Post */
.blog-back{
  display:inline-block;
  font-size:0.85rem;font-weight:700;
  color:var(--blue);
  text-decoration:none;
  margin-bottom:2rem;
  transition:color 0.2s;
}
.blog-back:hover{color:var(--blue-deep)}

#blog-content h1{
  font-size:clamp(1.4rem,4vw,1.9rem);
  font-weight:900;
  line-height:1.6;
  margin-bottom:2rem;
  padding-bottom:1rem;
  border-bottom:2px solid var(--card-border);
}
#blog-content h2{
  font-size:1.25rem;font-weight:900;
  margin-top:3rem;margin-bottom:1rem;
}
#blog-content h3{
  font-size:1.05rem;font-weight:700;
  margin-top:2rem;margin-bottom:0.8rem;
}
#blog-content p{
  font-size:0.95rem;
  color:var(--text-sub);
  margin-bottom:1.5rem;
  line-height:2.1;
}
#blog-content strong{color:var(--text)}
#blog-content a{
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}
#blog-content a:hover{color:var(--blue-deep)}
#blog-content hr{
  border:none;
  border-top:1px solid var(--card-border);
  margin:2.5rem 0;
}
#blog-content ul,#blog-content ol{
  margin-bottom:1.5rem;
  padding-left:1.5rem;
}
#blog-content li{
  font-size:0.92rem;
  color:var(--text-sub);
  line-height:2;
  margin-bottom:0.3rem;
}
#blog-content blockquote{
  border-left:4px solid var(--blue-light);
  padding:1rem 1.2rem;
  margin:1.5rem 0;
  background:rgba(74,127,229,0.04);
  border-radius:0 12px 12px 0;
}
#blog-content blockquote p{
  margin-bottom:0;
  color:var(--text-sub);
  font-size:0.9rem;
}
#blog-content em{
  font-style:normal;
  color:var(--text-light);
  font-size:0.88rem;
}

/* Post footer CTA — uses shared .x-cta-box */
.blog-post-footer{margin-top:3rem}

/* Post navigation (next/prev) */
.blog-post-nav{
  display:flex;flex-direction:column;gap:0.8rem;
  margin:2.5rem 0;
  padding-top:2rem;
  border-top:1px solid var(--card-border);
}
.blog-next-link,.blog-prev-link{
  display:block;
  background:var(--white);
  border:1px solid var(--card-border);
  border-radius:14px;
  padding:1.2rem 1.5rem;
  text-decoration:none;
  color:var(--text);
  transition:all 0.25s;
}
.blog-next-link:hover,.blog-prev-link:hover{
  border-color:var(--blue-light);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
}
.blog-next-link{
  border-left:4px solid var(--blue);
}
.blog-prev-link{
  border-left:4px solid var(--text-light);
}
.blog-next-label,.blog-prev-label{
  display:block;
  font-size:0.72rem;font-weight:700;
  color:var(--blue);
  margin-bottom:0.3rem;
}
.blog-prev-label{color:var(--text-light)}
.blog-next-title,.blog-prev-title{
  font-size:0.95rem;font-weight:700;
  line-height:1.5;
}

/* Footer uses shared/base.css (.site-footer) */

@media(max-width:560px){
  .blog-main{padding:2rem 1rem;padding-top:4.5rem}
  .blog-card{padding:1.3rem}
}
