/* ===============================================
   style.css（子テーマ｜丸ごと置換OK）
   ※必ず Template を親テーマのフォルダ名に合わせる
   例）親テーマフォルダが「cocoon」なら Template: cocoon
       親テーマフォルダが「cocoon-master」なら Template: cocoon-master
================================================= */
/*
 Theme Name:  K-POP JOURNAL Cocoon Child
 Theme URI:   https://www.kpopjournal.tokyo/
 Description: K-POP JOURNAL 用カスタム子テーマ
 Author:      K-POP JOURNAL
 Version:     1.0.0
 Template:    cocoon-master
 Text Domain: kpop-journal-child
*/
@charset "UTF-8";

/* ===== Base ===== */
:root{
  --c-text:#111;
  --c-sub:#555;
  --card:#fff;
  --shadow-s:0 3px 10px rgba(0,0,0,.05);
  --shadow-m:0 6px 16px rgba(0,0,0,.08);
  --accent:#f7a1c7;
}
*,
*::before,*::after{ box-sizing:border-box; }
body{ background:#faf6f9; color:var(--c-text); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; height:auto; display:block; }

/* 記事タイトルの色を黒統一 */
.entry-title,
.entry-title a,
.entry-card-title a,
.widget .entry-card-title a,
.widget_recent_entries a,
.widget_new_entries a{ color:var(--c-text) !important; }
.entry-title a:hover,
.entry-card-title a:hover,
.widget a:hover{ color:#000 !important; }

/* 本文の可読性 */
.entry-content{ font-size:16px; line-height:1.8; color:#222; }
.entry-content h2{ font-size:1.45rem; margin:1.2em 0 .6em; }

/* ===== Category Cards（4列グリッド） ===== */
.category-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:20px; max-width:1200px; margin:30px auto; padding:0 20px;
}
.category-card{
  display:block; text-align:center; color:#fff;
  background:linear-gradient(135deg,#b48dd3,#ff8db7);
  padding:16px 10px; border-radius:15px; font-size:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
  transition:transform .25s, box-shadow .25s;
}
.category-card i{ display:block; font-size:22px; margin-bottom:6px; color:#fff; }
.category-card:hover{ transform:translateY(-4px); box-shadow:0 10px 20px rgba(0,0,0,.26); }
@media (max-width:768px){
  .category-grid{ gap:12px; }
  .category-card{ padding:12px 8px; font-size:15px; }
  .category-card i{ font-size:20px; }
}

/* ===== Feature Section（説明文なしの軽量カード） ===== */
.feature-section{ text-align:center; }
.feature-section h2{
  display:inline-block; background:var(--accent); color:#fff;
  padding:6px 14px; line-height:1.2; border-radius:6px; margin:0 auto 12px !important;
}
.feature-section .feature-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px; max-width:1000px; margin:0 auto; padding:0 16px;
}
.feature-section .feature-card{
  display:flex; flex-direction:column; background:var(--card);
  border-radius:12px; overflow:hidden; padding:0; margin:0;
  box-shadow:none; transition:transform .2s ease;
}
.feature-section .feature-card:hover{ transform:translateY(-2px); }
.feature-section .card-image{ height:110px; overflow:hidden; margin:0 0 4px; }
.feature-section .card-image img{ width:100%; height:100%; object-fit:cover; }
.feature-section .card-title{
  display:inline-block; width:auto; margin:2px 6px 0; padding:3px 6px;
  line-height:1.2; font-size:.95rem; font-weight:700;
  border:2px solid var(--accent); border-radius:6px; background:transparent;
}
.feature-section .card-description{ display:none !important; margin:0; padding:0; }
@media (max-width:600px){
  .feature-section .feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .feature-section .card-image{ height:95px; }
}

/* ===== HOME：スライダーOFF＋新着をグリッド表示 ===== */
.home #main .swiper,
.home #main .swiper-container{ overflow:visible !important; }
.home #main .swiper-wrapper{ display:contents !important; transform:none !important; width:100% !important; }
.home #main .swiper-slide{ width:auto !important; height:auto !important; }

/* リストを3列グリッド化 */
.home #main .entry-card-wrap,
.home #main .new-entry-list,
.home #main .post-list,
.home #main .entries,
.home #main .loop-entries,
.home #main .article_list,
.home #main .list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  max-width:1200px; margin:0 auto;
}
.home #main .new-entry-list > li,
.home #main .post-list > li{ list-style:none; }

/* 先頭3枚：縦大カード */
.home #main .entry-card-wrap > *:nth-child(-n+3),
.home #main .new-entry-list > *:nth-child(-n+3),
.home #main .post-list > *:nth-child(-n+3),
.home #main .entries > *:nth-child(-n+3),
.home #main .loop-entries > *:nth-child(-n+3),
.home #main .article_list > *:nth-child(-n+3),
.home #main .list > *:nth-child(-n+3){
  background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-m);
}
.home #main .entry-card-wrap > *:nth-child(-n+3) img,
.home #main .new-entry-list > *:nth-child(-n+3) img,
.home #main .post-list > *:nth-child(-n+3) img,
.home #main .entries > *:nth-child(-n+3) img{
  width:100% !important; height:220px !important; object-fit:cover; display:block;
}
.home #main .entry-card-wrap > *:nth-child(-n+3) .entry-card-content,
.home #main .new-entry-list > *:nth-child(-n+3) .entry-card-content{ padding:12px 14px 14px !important; }

/* 4枚目以降：横サムネカード */
.home #main .entry-card-wrap > *:nth-child(n+4),
.home #main .new-entry-list > *:nth-child(n+4),
.home #main .post-list > *:nth-child(n+4),
.home #main .entries > *:nth-child(n+4),
.home #main .loop-entries > *:nth-child(n+4),
.home #main .article_list > *:nth-child(n+4),
.home #main .list > *:nth-child(n+4){
  display:grid !important; grid-template-columns:140px 1fr !important;
  gap:12px !important; padding:10px !important;
  background:#fff; border-radius:10px; box-shadow:var(--shadow-s); overflow:hidden;
}
.home #main .entry-card-wrap > *:nth-child(n+4) img,
.home #main .new-entry-list > *:nth-child(n+4) img,
.home #main .post-list > *:nth-child(n+4) img,
.home #main .entries > *:nth-child(n+4) img{
  width:100% !important; height:90px !important; object-fit:cover; display:block; border-radius:8px;
}
.home #main .entry-card-wrap > *:nth-child(n+4) .entry-card-content,
.home #main .new-entry-list > *:nth-child(n+4) .entry-card-content{ padding:0 !important; }

/* タイトル2行省略 */
.home #main .entry-card-title,
.home #main .new-entry-card-title,
.home #main .entry-title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; line-height:1.35; font-size:.95rem; margin:0 0 6px !important; color:#111 !important;
}

/* レスポンシブ */
@media (max-width:1024px){
  .home #main .entry-card-wrap,
  .home #main .new-entry-list,
  .home #main .post-list,
  .home #main .entries,
  .home #main .loop-entries,
  .home #main .article_list,
  .home #main .list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .home #main .entry-card-wrap > *:nth-child(-n+3) img,
  .home #main .new-entry-list > *:nth-child(-n+3) img{ height:180px !important; }
}
@media (max-width:640px){
  .home #main .entry-card-wrap,
  .home #main .new-entry-list,
  .home #main .post-list,
  .home #main .entries,
  .home #main .loop-entries,
  .home #main .article_list,
  .home #main .list{
    grid-template-columns:1fr !important; gap:14px !important;
  }
  .home #main .entry-card-wrap > *:nth-child(n+4),
  .home #main .new-entry-list > *:nth-child(n+4),
  .home #main .post-list > *:nth-child(n+4),
  .home #main .entries > *:nth-child(n+4){
    grid-template-columns:120px 1fr !important;
  }
}

/* ===== アフィリエイト類の一括非表示（審査時のみ） ===== */
.affiliate-link, .affiliate-box, .affiliate-button, .affi-box, .ad-link,
a[href*="a8.net"], img[src*="a8.net"], script[src*="a8.net"], iframe[src*="a8.net"]{
  display:none !important; visibility:hidden !important; width:0 !important; height:0 !important; opacity:0 !important;
}

/* サイドバー固定（任意） */
@media (min-width:1025px){ #sidebar{ position:sticky; top:84px; } }
