@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* --- Force Modern Design Injection --- */
/* ヘッダーのモダン化（ダークネイビー＆サイバーブルー） */
.header { background-color: #0f172a !important; color: #f8fafc !important; border-bottom: 3px solid #38bdf8; }
.site-name-text { font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 800; letter-spacing: 1.5px; color: #f8fafc !important; }
.site-name-text::after { content: '.'; color: #38bdf8; }
.tagline { color: #94a3b8 !important; }

/* グローバルナビ（メニュー）の調整 */
.navi-in a { color: #f8fafc !important; font-weight: bold; transition: 0.3s; }
.navi-in a:hover { color: #38bdf8 !important; background-color: #1e293b !important; }

/* 記事カードのホバーエフェクト（浮き上がり） */
.entry-card-wrap { border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e2e8f0; transition: transform 0.2s, box-shadow 0.2s; }
.entry-card-wrap:hover { transform: translateY(-4px); box-shadow: 0 10px 15px rgba(0,0,0,0.1); }

/* Navigation Visibility Fix */
#navi, .navi, .navi-in { background-color: #0f172a !important; }
#navi .navi-in a, .navi .navi-in a { color: #f8fafc !important; }

/* --- Forceful Visibility & Contrast Fixes --- */
/* Global Navigation Fix */
#navi, .navi, .navi-in, #navi-in { background-color: #0f172a !important; color: #f8fafc !important; }
.navi-in a, #navi-in a { color: #f8fafc !important; visibility: visible !important; opacity: 1 !important; display: block; }
.navi-in a:hover, #navi-in a:hover { background-color: #1e293b !important; color: #38bdf8 !important; }

/* Active Menu Item Fix */
.current-menu-item a, .current-cat-item a { background-color: #1e293b !important; color: #38bdf8 !important; }

/* Footer Logo/Text Visibility Fix */
.footer, .footer-in { background-color: #121212 !important; color: #e0e0e0 !important; }
.footer .site-name-text, .footer .site-name-text-link { color: #38bdf8 !important; font-weight: bold !important; opacity: 1 !important; }

/* Breadcrumbs & Pagination Visibility */
.breadcrumb a, .page-numbers, .pagination a { color: #1e293b !important; text-decoration: underline !important; }

/* Search Box Visibility */
.wp-block-search__input { border: 1px solid #cbd5e1 !important; background-color: #fff !important; color: #333 !important; }

/* Mobile Header Button Fix */
.mobile-menu-buttons, .menu-button, .search-button, .header-search-button, .header-menu-button { color: #f8fafc !important; background-color: transparent !important; opacity: 1 !important; visibility: visible !important; }

/* --- Forceful Visibility & Contrast Fixes (Phase 5) --- */
#navi, .navi, .navi-in, #navi-in { background-color: #0f172a !important; color: #f8fafc !important; }
.navi-in a, #navi-in a { color: #f8fafc !important; visibility: visible !important; opacity: 1 !important; display: block !important; }
.navi-in a:hover, #navi-in a:hover { background-color: #1e293b !important; color: #38bdf8 !important; }

/* Active Menu Item Fix */
.current-menu-item a, .current-cat-item a { background-color: #1e293b !important; color: #38bdf8 !important; }

/* Footer Logo/Text Visibility Fix */
.footer, .footer-in { background-color: #121212 !important; color: #e0e0e0 !important; }
.footer .site-name-text, .footer .site-name-text-link { color: #38bdf8 !important; font-weight: bold !important; opacity: 1 !important; }

/* Breadcrumbs & Pagination Visibility */
.breadcrumb a, .page-numbers, .pagination a { color: #1e293b !important; text-decoration: underline !important; }

/* Search Box Visibility */
.wp-block-search__input { border: 1px solid #cbd5e1 !important; background-color: #fff !important; color: #333 !important; }

/* Mobile Header Button Fix */
.mobile-menu-buttons, .menu-button, .search-button, .header-search-button, .header-menu-button { color: #f8fafc !important; background-color: transparent !important; opacity: 1 !important; visibility: visible !important; }

/* ====== 5つのデザイン改善 (Phase 6) ====== */
/* 1. フォントのモダン化と行間の最適化 */
body {
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif !important;
  line-height: 1.8;
  color: #334155;
}

/* 2. アクセントカラーの統一（見出し・リンク） */
.article h2 {
  background: transparent !important;
  border-left: 5px solid #2563eb !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 10px 15px !important;
  margin-top: 2.5em;
}
.article h3 {
  border-bottom: 2px dashed #e2e8f0 !important;
}
a { color: #2563eb; transition: 0.2s; }
a:hover { color: #1d4ed8; text-decoration: underline; }

/* 3. カテゴリーバッジのスタイリッシュ化 */
.entry-card-wrap .cat-label {
  background-color: #2563eb !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-size: 0.8em !important;
  font-weight: bold;
  border: none !important;
  box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);
}

/* 4. フッターのダーク化（引き締め効果） */
.footer {
  background-color: #0f172a !important;
  color: #94a3b8 !important;
  border-top: none !important;
}
.footer a { color: #f8fafc !important; }
.footer-bottom { background-color: #020617 !important; }

/* 5. 不要なクレジットの非表示 */
.credit { display: none !important; }
/* =============================== */

/* ====== ヘッダーメニューの「かっこいい」刷新 (Phase 7) ====== */
/* 1. ナビゲーションボタンの基本スタイル（スクエア型・グラスモフィズム） */
#navi .navi-in a {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 2px !important;      /* 四角形（ごくわずかな丸みで高級感を維持） */
  margin: 0 4px !important;           /* 上下マージンを排除して枠に収める */
  padding: 0 24px !important;
  height: 60px !important;            /* ナビゲーションバーの高さに固定 */
  display: flex !important;           /* 文字の垂直中央揃えを有効化 */
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 2. ホバー時のエフェクト（ネオンブルー） */
#navi .navi-in a:hover {
  background: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 0 20px rgba(37, 99, 235, 0.6) !important;
  border-color: #60a5fa !important;
}

/* 3. アクティブ（現在地）のスタイル */
.current-menu-item a, .current-cat-item a {
  background: rgba(37, 99, 235, 0.2) !important;
  border: 1px solid #2563eb !important;
  color: #60a5fa !important;
  box-shadow: inset 0 0 10px rgba(37, 99, 235, 0.2);
}

/* 4. メニュー全体のコンテナ調整 */
#navi-in, .navi-in {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* 5. モバイル表示での調整 */
@media screen and (max-width: 1023px) {
  #navi .navi-in a {
    margin: 0 2px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    height: 44px !important; /* モバイルバーの高さに合わせる */
  }
}
/* ============================================== */

/* --- StackHub Layout Fix: 空のリンクカード（変な枠）を強制非表示にする --- */
/* ボーダー設定があるのに中身が空、または改行だけの<a>タグを消去 */
a[style*="border"][href]:empty,
a[style*="border"][href]:has(> p:empty),
a[style*="border"][href]:has(> br) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* 万が一 WordPress が P タグで囲んで空リンクを作った場合の対応 */
p:has(> a[href]:empty) {
    display: none !important;
}
