/*
Theme Name: Kadence Child
Template: kadence
Version: 1.0.0
*/

/* =========================
   ✅ 基本フォント設定
========================= */
body,
h1, h2, h3, h4, h5, h6,
#masthead .site-title,
#masthead .site-title a,
#masthead .site-description,
#masthead .main-navigation a,
#masthead .main-navigation span,
#masthead .main-navigation li,
#masthead .menu a,
#masthead .menu-item > a{
  font-family: "Kiwi Maru", sans-serif !important;
}

/* =====================================================
   ✅ 変数
===================================================== */
:root{
  --wc-container: 1440px;
  --wc-pad-l: 40px;
  --wc-pad-r: 0px;
  --wc-gap: 56px;
  --wc-sidebar: 260px;

  --wc-card-gap: 40px;
  --wc-card-radius: 16px;
  --wc-card-pad: 26px;

  /* news-box 共通 */
  --news-bg: #fff7ee;
  --news-border: #f1dfc8;
  --news-inner-border: #f3e4cf;
  --news-row-border: #f6ead8;
  --news-hover: #fff3e2;
  --news-link: #2b5cab;
  --news-date: #7a7a7a;

  --badge-bg: #ff8fb1;
}

/* =====================================================
   🔔 トップページ：お知らせ(news-box)
===================================================== */
.news-box .elementor-widget-container{
  background: var(--news-bg);
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--news-border);
  max-width: 980px;
  margin: 0 auto;
}

.news-box h5{
  margin: 0 0 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.news-box ul{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid var(--news-inner-border);
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}

.news-box ul li{
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--news-row-border);
  display: flex;
  align-items: center;
  gap: 14px;
  transition: background 0.2s ease;
}

.news-box ul li:last-child{ border-bottom: none; }

.news-box .post-date,
.news-box .elementor-post-date{
  order: -1;
  font-size: 0.9em;
  color: var(--news-date);
  white-space: nowrap;
}

.news-box ul li a{
  color: var(--news-link);
  font-weight: 600;
  text-decoration: none;
}

.news-box ul li:hover{ background: var(--news-hover); }
.news-box ul li a:hover{ text-decoration: underline; }

.news-box .new-badge{
  display: inline-block;
  margin-left: 10px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75em;
  font-weight: 800;
  color: #fff;
  background: var(--badge-bg);
  line-height: 1.2;
}

/* =====================================================
   ✅ カテゴリ3ページ レイアウト固定
===================================================== */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results){

  .content-wrap{ display:block !important; }

  .content-container.site-container{
    max-width: var(--wc-container) !important;
    margin: 0 auto !important;
    padding-left: var(--wc-pad-l) !important;
    padding-right: var(--wc-pad-r) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--wc-gap) !important;
    position: relative;
  }

  .content-container.site-container::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--news-border);
    right: calc(var(--wc-sidebar) + (var(--wc-gap) / 2));
  }

  #main.site-main{
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  #secondary{
    flex: 0 0 var(--wc-sidebar) !important;
    width: var(--wc-sidebar) !important;
    max-width: var(--wc-sidebar) !important;
    margin-left: auto !important;
    padding-left: 24px;
  }

  #archive-container{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--wc-card-gap) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* =====================================================
   🎀 サイドバー：news-box と同じデザイン
   ＋ .widget::before で「カテゴリ」表示
===================================================== */

body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary .widget{
  background: var(--news-bg);
  border: 1px solid var(--news-border);
  border-radius: 16px;
  padding: 16px;
}

/* 見出しを疑似追加 */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary .widget::before{
  content: "カテゴリ";
  display: block;
  margin: 0 0 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #333;
}

/* 内側白カード */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid var(--news-inner-border);
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}

/* 各行 */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li{
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--news-row-border);
  transition: background 0.2s ease;
}
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li:last-child{
  border-bottom: none;
}

/* リンク */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li a{
  color: var(--news-link) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* ホバー */
body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li:hover{
  background: var(--news-hover);
}

/* =====================================================
   ✅ 選択中カテゴリに背景色を付ける
===================================================== */

body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li.current-cat{
  background: var(--news-hover) !important;
}

body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li.current-cat > a{
  font-weight: 800 !important;
  color: var(--news-link) !important;
}

/* 親カテゴリは強調しない */
body:is(.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li.current-cat-parent{
  background: transparent !important;
}
body:is(.category-upcoming_tournaments,.category-tournament_results)
#secondary ul li.current-cat-parent > a{
  font-weight: 600 !important;
}

/* =====================================================
   ✅ Responsive（スマホ〜タブレットで1カラム化を確実に）
===================================================== */
@media (max-width: 1024px){
  body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
  .content-container.site-container{
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
  .content-container.site-container::after{
    display: none !important;
  }

  body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
  #main.site-main{
    width: 100% !important;
  }

  body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
  #secondary{
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;   /* ← これが重要（260px制限を解除） */
    margin-left: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
  }

  body:is(.category-info,.category-upcoming_tournaments,.category-tournament_results)
  #archive-container{
    grid-template-columns: 1fr !important;
  }
}

/* 念のため：横はみ出しが残る場合の保険（必要なら） */
body.category-info,
body.category-upcoming_tournaments,
body.category-tournament_results{
  overflow-x: hidden;
}

#block-33{
    text-align: left;
}

.hojin-logos > div {
    border: 1px solid #ddd;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}