/*
 Theme Name:   GeneratePress Child - 公衆衛生リンク
 Theme URI:    https://public-health-link.net
 Description:  GeneratePress Child Theme for public-health-link.net
 Author:       公衆衛生リンク運営事務局
 Author URI:   https://public-health-link.net
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/

/* =============================================
   カラー変数定義
   ============================================= */
:root {
  --color-primary:       #1F8A80;   /* メインティール */
  --color-primary-dark:  #176E66;   /* ホバー時ティール */
  --color-primary-light: #DDF1EC;   /* 薄いティール背景 */
  --color-secondary:     #123B4A;   /* ダークネイビー */
  --color-bg:            #F3FAF8;   /* サイト全体背景 */
  --color-bg-white:      #FFFFFF;
  --color-text:          #2C3E50;   /* 本文テキスト */
  --color-text-muted:    #516B75;   /* サブテキスト */
  --color-border:        #D0E8E4;   /* ボーダー */
  --font-main: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN',
               'Yu Gothic', 'Meiryo', sans-serif;
}

/* =============================================
   基本設定
   ============================================= */
body {
  font-family: var(--font-main);
  color: var(--color-text);
  background-color: var(--color-bg);
  font-size: 15px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}

/* =============================================
   リンク
   ============================================= */
a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--color-primary-dark);
  text-decoration: underline;
}

/* =============================================
   見出し
   ============================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-main);
  color: var(--color-secondary);
  font-weight: 700;
  line-height: 1.4;
}

h1 { font-size: 1.8em; }
h2 { font-size: 1.5em; }
h3 { font-size: 1.25em; }

/* =============================================
   ヘッダー
   ============================================= */
.site-header {
  background-color: var(--color-bg-white);
  border-bottom: 3px solid var(--color-primary);
  box-shadow: 0 2px 8px rgba(31, 138, 128, 0.08);
}

.site-title a {
  color: var(--color-secondary) !important;
  font-weight: 700;
}
.site-title a:hover {
  color: var(--color-primary) !important;
  text-decoration: none;
}

.site-description {
  color: var(--color-text-muted);
  font-size: 0.85em;
}

/* =============================================
   ナビゲーション
   ============================================= */
.main-navigation {
  background-color: var(--color-secondary);
}

.main-navigation a {
  color: #FFFFFF !important;
  font-size: 0.9em;
  font-weight: 500;
  padding: 0 18px;
  transition: background-color 0.2s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a {
  background-color: var(--color-primary) !important;
  color: #FFFFFF !important;
  text-decoration: none;
}

/* ドロップダウン */
.main-navigation ul ul {
  background-color: var(--color-secondary);
  border-top: 2px solid var(--color-primary);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.main-navigation ul ul a {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* =============================================
   ヒーロー・ページヘッダー
   ============================================= */
.inside-page-hero {
  background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
  color: #FFFFFF;
}
.inside-page-hero .entry-title {
  color: #FFFFFF;
}

/* =============================================
   ボタン
   ============================================= */
.button,
button,
input[type="submit"],
input[type="button"],
.wp-block-button__link {
  background-color: var(--color-primary);
  color: #FFFFFF !important;
  border: none;
  border-radius: 4px;
  padding: 10px 24px;
  font-family: var(--font-main);
  font-weight: 700;
  font-size: 0.9em;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  display: inline-block;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
  background-color: var(--color-primary-dark);
  color: #FFFFFF !important;
  text-decoration: none;
  transform: translateY(-1px);
}

/* =============================================
   カード・投稿リスト
   ============================================= */
.post-card,
article.post,
article.type-recruit,
article.type-seminar,
article.type-topics,
article.type-bbs,
article.type-regulation,
article.type-school {
  background-color: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

article:hover {
  box-shadow: 0 4px 16px rgba(31, 138, 128, 0.12);
  transform: translateY(-2px);
}

/* =============================================
   投稿タイプ別バッジカラー
   ============================================= */
/* 求人 */
.post-type-badge-recruit {
  background-color: #E8F5F2;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

/* セミナー */
.post-type-badge-seminar {
  background-color: #EBF3FA;
  color: #1A6FA3;
  border: 1px solid #1A6FA3;
}

/* 法規・制度 */
.post-type-badge-regulation {
  background-color: #F5ECE8;
  color: #A0522D;
  border: 1px solid #A0522D;
}

/* 掲示板 */
.post-type-badge-bbs {
  background-color: #F0EBF5;
  color: #6B4FA0;
  border: 1px solid #6B4FA0;
}

/* 学校・教育 */
.post-type-badge-school {
  background-color: #FBF4E8;
  color: #A07B1A;
  border: 1px solid #A07B1A;
}

/* 汎用バッジスタイル */
.post-type-badge {
  display: inline-block;
  font-size: 0.75em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* =============================================
   掲載プランバッジ
   ============================================= */
.plan-badge-featured {
  background-color: #FFF3CD;
  color: #856404;
  border: 1px solid #FFC107;
  display: inline-block;
  font-size: 0.75em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 4px;
}
.plan-badge-paid {
  background-color: #E8F5F2;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  display: inline-block;
  font-size: 0.75em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 4px;
}

/* =============================================
   サイドバー
   ============================================= */
.widget-area .widget {
  background-color: var(--color-bg-white);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}

.widget-title {
  color: var(--color-secondary);
  font-size: 1em;
  font-weight: 700;
  border-left: 4px solid var(--color-primary);
  padding-left: 10px;
  margin-bottom: 16px;
}

/* =============================================
   フッター
   ============================================= */
.site-footer {
  background-color: var(--color-secondary);
  color: rgba(255,255,255,0.85);
  font-size: 0.875em;
}

.site-footer a {
  color: rgba(255,255,255,0.7);
}
.site-footer a:hover {
  color: #FFFFFF;
  text-decoration: none;
}

.footer-widget-title,
.site-footer .widget-title {
  color: #FFFFFF;
  border-left-color: var(--color-primary);
}

.footer-bar {
  background-color: #0C2530;
  color: rgba(255,255,255,0.5);
  font-size: 0.8em;
  text-align: center;
  padding: 12px 0;
}

/* =============================================
   フォーム（Contact Form 7等）
   ============================================= */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="date"],
textarea,
select {
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 8px 12px;
  font-family: var(--font-main);
  font-size: 0.95em;
  color: var(--color-text);
  transition: border-color 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(31, 138, 128, 0.12);
}

/* =============================================
   掲示板（BBS）専用スタイル
   ============================================= */
.bbs-status-open {
  background-color: #E8F5F2;
  color: var(--color-primary);
  font-size: 0.75em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  display: inline-block;
}
.bbs-status-resolved {
  background-color: #F2F2F2;
  color: #595959;
  font-size: 0.75em;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  display: inline-block;
}

/* =============================================
   レスポンシブ対応
   ============================================= */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
  h1 { font-size: 1.5em; }
  h2 { font-size: 1.25em; }

  .main-navigation a {
    padding: 12px 16px;
  }
}

/* =============================================
   Noto Sans JP フォント読み込み
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
