/* ============================================================
   gamefi.town 全ページ共通フッター — 案A2「くすんだ淡色・クリプトメディア型」
   2026-06-10 確定。方式2: functions.php の wp_footer で .gft-footer を描画し、
   旧 AFFINGER フッター(#footer)は下記で非表示にする(既存描画経路は無改変)。
   背景は ブランド #3d8b84 を薄く明るくした淡いセージティール(案A)。
   ============================================================ */

:root {
  --gft-ft-bg:        #dce8e6;   /* ブランド寄り淡いセージティール(案A) */
  --gft-ft-bg2:       #cfe0db;
  --gft-ft-head:      #1c2b2a;   /* 見出し/濃色テキスト */
  --gft-ft-text:      #4a5e5c;   /* 通常リンク */
  --gft-ft-muted:     #7e918c;   /* 補助テキスト */
  --gft-ft-accent:    #3d8b84;   /* ブランドアクセント */
  --gft-ft-line:      #c2d6d0;   /* 区切り線 */
  /* クリプトメディア署名: muted カテゴリ色 */
  --gft-c1:#5c7a87; --gft-c2:#6b8a8e; --gft-c3:#6b8f7b;
  --gft-c4:#7a8668; --gft-c5:#a0796a; --gft-c6:#8a6b8e;
}

/* === 旧 AFFINGER サイトフッターのみ非表示 ===
   新フッターは <div class="gft-footer">。旧サイトフッターは「クラス無しの <footer>」。
   記事/コメント等の <footer class="..."> は :not([class]) で除外して巻き込まない。
   :has 非対応ブラウザでも確実に消えるよう :not([class]) を主・:has を補とする。 */
footer:not([class]) { display: none !important; }   /* 主: クラス無しの旧サイトfooter(=白い線の正体) */
footer:has(> #footer) { display: none !important; } /* 補: :has対応ブラウザ */
#footer { display: none !important; }               /* 内側も明示的に非表示 */

/* === 新フッター本体 === */
.gft-footer {
  display: block;          /* AFFINGER/既存の footer{display:grid} を打ち消す(div化＋防御) */
  background: var(--gft-ft-bg);
  color: var(--gft-ft-text);
  margin-top: 0;           /* 上部の白い余白(枠)を解消 */
  position: relative;
  border-top: none;        /* 既存の白い上ボーダーを出さない。区切りは下の署名ラインのみ */
  padding: 0;
  font-size: 14px;
  line-height: 1.6;
}
.gft-footer::before {   /* 上辺のクリプトメディア署名ライン */
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg,
    var(--gft-c1), var(--gft-c2), var(--gft-c3),
    var(--gft-c4), var(--gft-c5), var(--gft-c6));
}
.gft-footer a { color: var(--gft-ft-text); text-decoration: none; transition: color .15s ease; }
.gft-footer a:hover { color: var(--gft-ft-accent); }

/* --- カラム配置 --- */
.gft-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 52px 24px 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 34px 44px;
  text-align: left;
}
.gft-footer .gft-fcol { flex: 1 1 150px; min-width: 140px; }
.gft-footer .gft-fbrand { flex: 1.2 1 230px; min-width: 210px; text-align: center; }

/* --- ブランド列 --- */
.gft-footer .gft-flogo-link { display: inline-block; }
.gft-footer .gft-flogo { width: 122px; height: auto; max-width: 100%; display: block; margin: 0 auto; }
.gft-footer .gft-ftagline { color: var(--gft-ft-muted); font-size: 12.5px; line-height: 1.7; margin: 14px 0 12px; }
.gft-footer .gft-fsocial a { font-size: 17px; margin: 0 7px; color: var(--gft-ft-text); }
.gft-footer .gft-fsocial a:hover { color: var(--gft-ft-accent); }

/* --- カラム見出し(左にブランドのアクセントバー) --- */
.gft-footer .gft-fhead {
  display: block;
  color: var(--gft-ft-head);
  font-family: "DM Sans","Noto Sans JP",sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 0 8px;
  padding-left: 10px;
  border-left: 3px solid var(--gft-ft-accent);
  line-height: 1.2;
}

/* --- リンク(縦リスト・点なし) --- */
.gft-footer .gft-flinks { list-style: none; margin: 0; padding: 0; }
.gft-footer .gft-flinks li { margin: 0 0 9px; }
.gft-footer .gft-flinks a { font-size: 13px; line-height: 1.6; }

/* --- 参考・監修機関の横帯(信頼ゾーン) --- */
.gft-footer .gft-ftrust {
  border-top: 1px solid var(--gft-ft-line);
  padding: 13px 24px;
  text-align: center;
  font-size: 12px;
  line-height: 1.9;
  color: var(--gft-ft-muted);
}
.gft-footer .gft-ftrust .lbl { color: var(--gft-ft-head); font-weight: 700; margin-right: 8px; }
.gft-footer .gft-ftrust a { margin: 0 3px; }

/* --- コピーライト(背景はフッター地と統一) --- */
.gft-footer .gft-fcopyr {
  color: var(--gft-ft-muted);
  font-size: 12px;
  text-align: center;
  padding: 16px 24px;
  margin: 0;
  background: transparent;
}

/* --- レスポンシブ --- */
@media (max-width: 880px) {
  .gft-footer-inner { gap: 30px 30px; }
}
@media (max-width: 680px) {
  .gft-footer-inner { gap: 24px 18px; padding: 36px 18px 18px; }
  .gft-footer .gft-fbrand { flex: 0 0 100%; margin-bottom: 6px; }
  .gft-footer .gft-fcol { flex: 0 0 calc(50% - 9px); min-width: 0; }   /* 2×2グリッド */
  .gft-footer .gft-ftrust { font-size: 11.5px; line-height: 2; padding: 12px 16px; }
  .gft-footer .gft-fcopyr { padding: 14px 16px; }
}
@media (max-width: 430px) {
  .gft-footer .gft-fcol { flex: 0 0 100%; }   /* 極小は1列 */
}
