/*
Theme Name: JTS Redesign 2026 (JIN-R Child)
Template: jinr
Version: 1.1.0
Description: 事態対処委員会公式サイト 2026 リデザイン子テーマ。官公庁風硬質、白基調＋濃紺アクセント。
Author: 参謀本部
Text Domain: jts-redesign-2026
*/

/* ========================================
   1. デザイントークン（官公庁風に再調整）
   ======================================== */
:root {
  --jts-bg: #FAFAF7;
  --jts-bg-card: #FFFFFF;
  --jts-bg-section: #F0EFEA;
  --jts-bg-header: #FFFFFF;
  --jts-text: #14181F;
  --jts-text-sub: #4A4F58;
  --jts-text-muted: #7A7E86;
  --jts-rule: #C9C5BC;
  --jts-rule-strong: #8E8B82;
  --jts-accent: #16284A;
  --jts-accent-deep: #0E1B33;
  --jts-accent-light: #DDE2EC;
  --jts-gold: #8C7A4A;
  --jts-alert: #8C2E2E;
  --jts-font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --jts-font-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  --jts-font-en-display: "Cormorant Garamond", "Times New Roman", serif;
  --jts-font-en-ui: "Inter", "Helvetica Neue", Arial, sans-serif;
  --jts-container: 1180px;
  --jts-container-narrow: 760px;
  --jts-section-gap: clamp(80px, 10vw, 160px);
  --jts-radius-sm: 0;
  --jts-radius-md: 2px;
  --jts-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --jts-dur: 180ms;
}

/* ========================================
   2. 基本要素
   ======================================== */
html { scroll-behavior: auto; }
body, body.wp-theme-jinr {
  background: var(--jts-bg) !important;
  color: var(--jts-text) !important;
  font-family: var(--jts-font-sans) !important;
  font-feature-settings: "palt" 1;
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 768px) { body { font-size: 17px; } }
a { color: var(--jts-accent); text-decoration: none; transition: color var(--jts-dur) var(--jts-ease); }
a:hover { color: var(--jts-accent-deep); text-decoration: underline; text-decoration-color: var(--jts-gold); }
::selection { background: var(--jts-accent); color: #fff; }

/* ========================================
   3. タイポグラフィ
   ======================================== */
h1, h2, h3, h4, h5, h6, .entry-title, .wp-block-heading,
.a--h2rich-maincopy, .a--h2rich-subcopy {
  font-family: var(--jts-font-serif) !important;
  color: var(--jts-text) !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.45;
}
h1, .entry-title { font-size: clamp(28px, 4vw, 48px); letter-spacing: 0.06em; }
h2 { font-size: clamp(22px, 2.6vw, 32px); }
h3 { font-size: clamp(18px, 1.8vw, 22px); }
.a--h2rich-subcopy {
  font-family: var(--jts-font-en-display) !important;
  font-style: italic;
  font-size: 13px !important;
  letter-spacing: 0.3em !important;
  color: var(--jts-accent) !important;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.a--h2rich-maincopy {
  font-size: clamp(22px, 2.6vw, 30px) !important;
  border-bottom: 1px solid var(--jts-rule);
  padding-bottom: 14px;
  margin-bottom: 24px !important;
}
p, li { font-family: var(--jts-font-sans); color: var(--jts-text); }
p { margin: 0 0 1.5em; }

/* ========================================
   4. ヘッダー（最重要：視認性確保＋官公庁感）
   ======================================== */
#commonHeader,
.site-header,
header.site-header,
header#commonHeader {
  background: var(--jts-bg-header) !important;
  border-bottom: 3px double var(--jts-accent) !important;
  padding: 20px 0 !important;
  box-shadow: none !important;
  position: relative !important;
  background-image: none !important;
}
#commonHeader::before {
  content: "";
  display: block;
  height: 4px;
  background: var(--jts-accent);
  position: absolute;
  top: 0; left: 0; right: 0;
}
#commonHeaderInner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
#headerLogo, #headerLogo a, #headerLogoLink {
  color: var(--jts-text) !important;
  font-family: var(--jts-font-serif) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  letter-spacing: 0.12em !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-text-fill-color: var(--jts-text) !important;
  opacity: 1 !important;
}
#SiteSubCopy {
  color: var(--jts-text-sub) !important;
  font-family: var(--jts-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  margin-top: 4px !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
#globalMenu, #globalMenuList {
  background: transparent !important;
}
#globalMenuList li a, .menu-item a {
  color: var(--jts-text) !important;
  font-family: var(--jts-font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.16em !important;
  font-weight: 500 !important;
  padding: 10px 18px !important;
  background: transparent !important;
}
#globalMenuList li a:hover { color: var(--jts-accent) !important; }
#headerSearchIcon { color: var(--jts-text) !important; }

/* ========================================
   5. JIN-Rデモヒーロー強制非表示
   ======================================== */
.home .o--jinr-mainvisual,
.home .o--jinr-stillimage,
.home section.o--jinr-mainvisual,
.home .c--stillimage,
.home .a--stillimage-maincopy,
.home .a--stillimage-subcopy,
.home .a--stillimage-button,
.home .o--jinr-slider,
.home .wp-block-jinr-blocks-mainvisual,
.home div[class*="mainvisual"]:not(.jts-hero) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ========================================
   5b. カスタム官公庁風ヒーロー（functions.phpで挿入）
   ======================================== */
.jts-hero {
  position: relative;
  width: 100%;
  background:
    linear-gradient(180deg, rgba(22,40,74,0.97) 0%, rgba(14,27,51,0.99) 100%),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 18px);
  background-blend-mode: overlay;
  border-bottom: 6px solid var(--jts-gold);
  padding: clamp(80px, 10vw, 140px) 24px;
  color: #FAFAF7;
  margin-bottom: 0;
}
.jts-hero__inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
.jts-hero__rule {
  width: 60px;
  height: 1px;
  background: var(--jts-gold);
  margin: 0 auto 32px;
}
.jts-hero__eyebrow {
  font-family: var(--jts-font-en-display);
  font-style: italic;
  font-size: clamp(12px, 1.3vw, 14px);
  letter-spacing: 0.4em;
  color: var(--jts-gold);
  text-transform: uppercase;
  display: block;
  margin-bottom: 36px;
}
.jts-hero__title {
  font-family: var(--jts-font-serif) !important;
  font-size: clamp(24px, 3.4vw, 40px) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  color: #FAFAF7 !important;
  margin: 0 0 44px !important;
  border: none !important;
  padding: 0 !important;
}
.jts-hero__lead {
  font-family: var(--jts-font-sans);
  font-size: clamp(14px, 1.4vw, 16px);
  line-height: 2.1;
  color: rgba(250,250,247,0.82);
  max-width: 720px;
  margin: 0 auto 48px;
  letter-spacing: 0.04em;
}
.jts-hero__meta {
  font-family: var(--jts-font-en-ui);
  font-size: 12px;
  letter-spacing: 0.24em;
  color: rgba(250,250,247,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  text-transform: uppercase;
}
.jts-hero__meta-divider { opacity: 0.4; }
@media (max-width: 767px) {
  .jts-hero { padding: 70px 20px; }
  .jts-hero__title { font-size: 20px !important; line-height: 1.8 !important; letter-spacing: 0.06em !important; }
  .jts-hero__meta { flex-direction: column; gap: 6px; font-size: 11px; }
  .jts-hero__meta-divider { display: none; }
}

/* ========================================
   6. 共通セクション
   ======================================== */
.section, main .wp-block-group {
  padding: var(--jts-section-gap) 24px;
}
.wp-block-jinr-blocks-designtitle {
  background: transparent !important;
  padding: 60px 0 32px !important;
  margin-bottom: 0 !important;
  border-top: 1px solid var(--jts-rule);
}
.wp-block-jinr-blocks-designtitle .c--h2rich-contents {
  text-align: center;
}

/* ========================================
   7. 案件カード一覧（官公庁的リスト型に強制変更）
   ======================================== */
.wp-block-latest-posts__list,
.wp-block-query .wp-block-post-template,
.l-postlist,
.p-postList,
.archive .post-list {
  display: block !important;
  border-top: 2px solid var(--jts-accent) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 40px 0 !important;
}
.wp-block-latest-posts__list > li,
.wp-block-post,
.l-postlist__item,
.p-postList__item {
  display: block !important;
  border-bottom: 1px solid var(--jts-rule) !important;
  padding: 24px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transition: background var(--jts-dur);
}
.wp-block-latest-posts__list > li:hover,
.wp-block-post:hover {
  background: var(--jts-bg-section) !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.wp-block-post-title, .wp-block-latest-posts__post-title {
  margin: 0 !important;
}
.wp-block-post-title a, .wp-block-latest-posts__post-title {
  color: var(--jts-text) !important;
  font-family: var(--jts-font-serif) !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
}
.wp-block-post-date, .wp-block-latest-posts__post-date {
  font-family: var(--jts-font-en-ui) !important;
  font-size: 12px !important;
  color: var(--jts-text-muted) !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 6px !important;
  display: block;
}

/* JIN-R独自のカード型は強制リスト化 */
.p-postList--card .p-postList__item,
.is-style-card,
.p-cardLink,
.c-postCard {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--jts-rule) !important;
  border-radius: 0 !important;
  padding: 24px 0 !important;
  box-shadow: none !important;
}
.p-postCard__thumbnail, .c-postCard__thumb, .p-postList__thumbnail,
.wp-block-post-featured-image {
  display: none !important;
}

/* ========================================
   8. カテゴリラベル
   ======================================== */
.wp-block-post-terms a, .post-categories a, .cat-link {
  display: inline-block !important;
  padding: 3px 12px !important;
  font-family: var(--jts-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  font-weight: 500 !important;
  background: var(--jts-accent) !important;
  color: #fff !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  margin-right: 10px !important;
  border: none !important;
}
.cat-action, .post-categories a[href*="action"] { background: var(--jts-alert) !important; }
.cat-result, .post-categories a[href*="result"] { background: var(--jts-accent) !important; }

/* ========================================
   9. 単体記事
   ======================================== */
.single .entry-content, .single-post .entry-content, article.post .entry-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px 24px;
  font-size: 16px;
  line-height: 1.95;
  background: #fff;
}
.single .entry-title, .single-post .entry-title {
  text-align: left !important;
  border-bottom: 3px double var(--jts-accent) !important;
  padding-bottom: 24px !important;
  margin-bottom: 40px !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  line-height: 1.5 !important;
}
.single .entry-content p { margin-bottom: 1.8em; }

/* ========================================
  10. ボタン
   ======================================== */
.wp-block-button__link, .btn, button[type="submit"], input[type="submit"],
a.c--btn, a.is-style-jinr-button, a.wp-block-jinr-blocks-button {
  background: var(--jts-accent) !important;
  color: #fff !important;
  font-family: var(--jts-font-sans) !important;
  font-size: 14px !important;
  letter-spacing: 0.2em !important;
  padding: 16px 36px !important;
  border-radius: 0 !important;
  border: 1px solid var(--jts-accent) !important;
  font-weight: 500 !important;
  transition: background var(--jts-dur) !important;
  cursor: pointer;
  text-decoration: none !important;
}
.wp-block-button__link:hover, button[type="submit"]:hover { background: var(--jts-accent-deep) !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--jts-accent) !important;
}

/* ========================================
  11. フォーム
   ======================================== */
input[type="text"], input[type="email"], input[type="tel"], textarea {
  background: #fff !important;
  border: 1px solid var(--jts-rule) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--jts-font-sans) !important;
  font-size: 16px !important;
  color: var(--jts-text) !important;
}
input:focus, textarea:focus { outline: none !important; border-color: var(--jts-accent) !important; }

/* ========================================
  12. フッター
   ======================================== */
.site-footer, footer.site-footer, #commonFooter, footer#commonFooter {
  background: var(--jts-accent) !important;
  color: #C9CFDC !important;
  padding: 80px 24px 40px !important;
  margin-top: 100px;
  border-top: 6px solid var(--jts-gold) !important;
}
.site-footer a, footer a, #commonFooter a { color: #C9CFDC !important; }
.site-footer a:hover, footer a:hover { color: #fff !important; }
.site-footer h2, .site-footer h3, #commonFooter h2, #commonFooter h3 {
  color: #fff !important;
  font-family: var(--jts-font-serif) !important;
  border: none !important;
}
.copyright, .site-info, #footerCopyright {
  font-family: var(--jts-font-en-ui) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  color: #8B92A0 !important;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  text-align: center;
}

/* ========================================
  13. アニメ抑制
   ======================================== */
*, *::before, *::after {
  animation-duration: 0ms !important;
  animation-delay: 0ms !important;
}
.js--scr-animation, [data-aos], .scroll-fade, .fade-in, .animate__animated {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* ========================================
  14. レスポンシブ
   ======================================== */
@media (max-width: 767px) {
  body { font-size: 15px; line-height: 1.8; }
  h1 { font-size: 24px; letter-spacing: 0.04em; }
  .home .entry-content::after {
    font-size: 16px !important;
    line-height: 1.95 !important;
    padding: 60px 20px !important;
    top: 40px !important;
  }
  .home .entry-content::before { height: 480px !important; }
  #commonHeaderInner { flex-direction: column; gap: 12px; padding: 12px 16px !important; }
  #globalMenuList { display: flex; flex-wrap: wrap; gap: 4px; }
}
