/*
 * WordPress化で新しく必要になった部品だけを足す。
 * 承認済みの assets/styles.css は変更しない。
 */

/* ページ送り（カテゴリ別アーカイブ用） */
.navigation.pagination {
  margin-top: 28px;
}

.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus {
  border-color: var(--brand-soft);
  color: var(--brand-soft);
}

.navigation.pagination .page-numbers.current {
  background: var(--brand-soft);
  border-color: var(--brand-soft);
  color: #fff;
}

.navigation.pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  min-width: 24px;
}

/* 投稿本文（既存記事の見出し・リスト・表が素のまま出ないようにする） */
.article-main table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 18px;
}

.article-main th,
.article-main td {
  border: 1px solid var(--line);
  padding: 10px 12px;
  text-align: left;
}

.article-main img {
  max-width: 100%;
  height: auto;
}

.article-main ul,
.article-main ol {
  margin: 0 0 18px 1.4em;
}

.article-main li {
  margin-bottom: 6px;
}

/* お問い合わせフォーム（Contact Form 7 5.0.1 の既定マークアップに合わせる）
   フォーム本体は現行サイトのフォームID 393 をそのまま埋め込む（page-contact.php） */
.contact-form-panel {
  max-width: 760px;
  padding: 26px 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 44, 69, .05);
}

.contact-form-panel form > p {
  margin: 0 0 18px;
}

.contact-form-panel label {
  display: block;
  font-weight: 700;
  color: var(--ink);
}

.contact-form-panel input[type="text"],
.contact-form-panel input[type="email"],
.contact-form-panel input[type="tel"],
.contact-form-panel textarea {
  width: 100%;
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  font: inherit;
  font-weight: 400; /* labelの700を引き継がない（labelが入力欄を内包する構造のため） */
  color: var(--ink);
}

.contact-form-panel input:focus,
.contact-form-panel textarea:focus {
  outline: 2px solid var(--brand-soft);
  outline-offset: 1px;
  background: #fff;
}

.contact-form-panel textarea {
  min-height: 200px;
  resize: vertical;
}

.contact-form-panel .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 34px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--brand-soft);
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.contact-form-panel .wpcf7-submit:hover,
.contact-form-panel .wpcf7-submit:focus {
  background: var(--navy-dark);
}

/* 入力エラーの文言（CF7標準の .wpcf7-not-valid-tip） */
.contact-form-panel .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #b3261e;
  font-size: .9rem;
  font-weight: 600;
}

/* 送信結果の帯。CF7 5.0系は wpcf7-validation-errors / wpcf7-mail-sent-ok を使う */
.contact-form-panel .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border: 2px solid #ea580c;
  border-radius: var(--radius);
  background: #fff9ef;
}

.contact-form-panel .wpcf7-response-output.wpcf7-mail-sent-ok {
  border-color: var(--brand-soft);
  background: var(--surface-strong);
}

/* 送信失敗・スパム判定は入力エラー(橙)と区別して赤系にする */
.contact-form-panel .wpcf7-response-output.wpcf7-mail-sent-ng,
.contact-form-panel .wpcf7-response-output.wpcf7-aborted,
.contact-form-panel .wpcf7-response-output.wpcf7-spam-blocked {
  border-color: #b3261e;
  background: #fdf0ef;
}

@media (max-width: 720px) {
  .contact-form-panel {
    padding: 20px 16px;
  }
}

/* 保険: CF7本体のCSSが読み込まれない設定でも送信結果欄が空のまま見えないようにする */
.contact-form-panel .wpcf7-display-none {
  display: none;
}

.contact-form-panel .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ===== v3.2 追加 ===== */

/* 検索/アーカイブのカード見出し: 見出しレベルはh2に上げ、見た目は従来のh3と同じにする */
.news-row .news-row-title {
  margin-bottom: 0;
  font-family: inherit;
  font-weight: 700;
  font-size: 1.18rem;
  line-height: 1.45;
  letter-spacing: 0;
  word-break: auto-phrase;
}

/* パンくず: 長い記事タイトルにリンクが圧縮されて縦積みになるのを防ぐ。
   あわせてタップ領域を44pxへ拡大（負マージンで見た目の行高は不変） */
.breadcrumbs { flex-wrap: wrap; }
.breadcrumbs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: -10px 0;
  white-space: nowrap;
  flex-shrink: 0;
}
.breadcrumbs span { flex-shrink: 0; }
.breadcrumbs strong { min-width: 0; }

/* 記事本文内のリンク: a{color:inherit}のままだと本文と見分けが付かない。
   旧記事のインライン青(#0000ff)はそのまま尊重される（インラインが勝つ） */
.article-main a {
  color: var(--teal-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-main a:hover,
.article-main a:focus {
  color: var(--hero-green-2);
}

/* 印刷: 背景が剥落して白抜き文字が消えるのを防ぎ、ナビ・フッターの紙浪費を抑える */
@media print {
  .site-header, .site-footer, .menu-toggle, .skip-link { display: none !important; }
  .news-chip, .badge, span[class*="chip-"] {
    color: #000 !important;
    background: none !important;
    border: 1px solid #000;
  }
}

/* 動きを減らす設定のユーザーへの配慮 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .quick-card, .home-route, .button, .header-contact { transition: none; }
  .quick-card:hover { transform: none; }
}
