/*
 * waganeko テーマ v2 — 部品の CSS
 * tokens.css の後に読み込む。テーマ独自の部品は .wt-*、既存の mu-plugin の部品は .wgk-* (撮影データ・撮影機材) 。
 * WordPress のコア・Jetpack が出力するクラスにも、ここで見た目を合わせる。本文の HTML は書き換えない。
 */

/* ---------- 基本 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--wgk-bg);
  color: var(--wgk-text);
  font-family: var(--wgk-font);
  font-size: var(--wgk-fs-body);
  line-height: var(--wgk-lh-tight);
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 4px; }
:focus-visible { outline: var(--wgk-focus-width) solid currentColor; outline-offset: var(--wgk-focus-offset); }
.wt-wrap { max-width: calc(var(--wgk-w-wide) + var(--wgk-gutter) * 2); margin-inline: auto; padding-inline: var(--wgk-gutter); }
.wt-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wt-skip { position: absolute; left: 8px; top: -60px; padding: 10px 16px; background: var(--wgk-text); color: var(--wgk-bg); border-radius: var(--wgk-radius); z-index: 10; }
.wt-skip:focus { top: 8px; }

/* ---------- ヘッダー ---------- */
.wt-header { border-bottom: 1px solid var(--wgk-line); }
.wt-header__inner { display: flex; flex-direction: column; align-items: center; gap: 12px; padding-top: 40px; }
.wt-logo { display: block; line-height: 0; }
.wt-logo svg { display: block; width: 340px; height: auto; }
.wt-logo__dark { display: none; color: var(--wgk-text); }
@media (prefers-color-scheme: dark) {
  .wt-logo__light { display: none; }
  .wt-logo__dark { display: block; }
}
.wt-tagline { margin: 0; font-size: var(--wgk-fs-chip); letter-spacing: .12em; color: var(--wgk-sub); }
.wt-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 4px; margin-top: 12px; font-size: var(--wgk-fs-small); letter-spacing: .04em; }
.wt-nav a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 14px; color: var(--wgk-sub); border-bottom: 2px solid transparent; }
.wt-nav a:hover { color: var(--wgk-text); text-decoration: none; }
.wt-nav a[aria-current] { color: var(--wgk-text); border-bottom-color: var(--wgk-accent); }
.wt-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
@media (max-width: 599px) {
  .wt-header__inner { align-items: flex-start; gap: 4px; padding: 16px 0 0; }
  .wt-logo { padding-inline: var(--wgk-gutter); }
  .wt-logo svg { width: 240px; }
  .wt-tagline { display: none; }
  /* メニューは横にスクロール。検索ボタンは末尾に */
  .wt-nav { align-self: stretch; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0; padding: 0 8px; white-space: nowrap; }
  .wt-nav a { padding: 0 12px; }
}

/* ---------- セクションの見出し ---------- */
.wt-section { padding-top: var(--wgk-sp-8); }
.wt-section__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid var(--wgk-line); }
.wt-section__title { margin: 0; font-size: 22px; font-weight: var(--wgk-fw-medium); letter-spacing: .04em; }
.wt-section__note { font-size: var(--wgk-fs-chip); color: var(--wgk-sub); }

/* ---------- 写真の台紙 (切り抜かない) ---------- */
.wt-mat { aspect-ratio: 3 / 2; background: var(--wgk-mat); display: grid; place-items: center; overflow: hidden; }
.wt-mat img { width: var(--wgk-mat-fill); height: var(--wgk-mat-fill); object-fit: contain; }
.wt-mat--wide { aspect-ratio: 21 / 9; }
.wt-mat--wide img { width: 88%; height: 88%; }
.wt-mat--square { aspect-ratio: 1 / 1; }
@media (max-width: 599px) {
  .wt-grid .wt-mat { aspect-ratio: 1 / 1; }
  .wt-mat--wide { aspect-ratio: 4 / 3; }
}

/* ---------- 記事カードと一覧 ---------- */
.wt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
@media (max-width: 959px) { .wt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .wt-grid { gap: 28px 12px; } }
.wt-grid--few { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* 1〜3 記事のアーカイブ */
.wt-card { display: flex; flex-direction: column; gap: 12px; }
.wt-card:hover { text-decoration: none; }
.wt-card:hover .wt-card__title { text-decoration: underline; text-underline-offset: 4px; }
.wt-card__meta { display: flex; gap: 14px; font-size: var(--wgk-fs-meta); color: var(--wgk-sub); }
.wt-card__title { margin: -2px 0 0; font-size: var(--wgk-fs-card); font-weight: var(--wgk-fw-medium); line-height: var(--wgk-lh-tight); }
.wt-card--feature .wt-card__title { font-size: var(--wgk-fs-feature); line-height: var(--wgk-lh-heading); letter-spacing: .03em; }
.wt-card--more { justify-content: center; gap: 10px; aspect-ratio: 3 / 2; padding: 32px; border: 1px solid var(--wgk-line); }

/* ---------- ページ送り ---------- */
.wt-pager { display: flex; justify-content: center; align-items: center; gap: 4px; padding-top: 72px; font-size: var(--wgk-fs-small); }
.wt-pager a, .wt-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: var(--wgk-radius); }
.wt-pager [aria-current] { background: var(--wgk-text); color: var(--wgk-bg); }
.wt-pager .dots, .wt-pager .is-disabled { color: var(--wgk-sub); }
.wt-pager a, .wt-pager span { white-space: nowrap; }
@media (max-width: 599px) {
  /* スマートフォンでは番号を現在のページだけにする */
  .wt-pager { justify-content: space-between; }
  .wt-pager .wt-pager__num:not([aria-current]), .wt-pager .dots { display: none; }
}

/* ---------- チップ ---------- */
.wt-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.wt-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border-radius: var(--wgk-radius); background: var(--wgk-chip); color: var(--wgk-text); font-size: var(--wgk-fs-chip); line-height: 1.6; }
a.wt-chip:hover { background: var(--wgk-chip-hover); color: var(--wgk-chip-hover-text); text-decoration: none; }
.wt-chip .wt-count, .wt-count { font-size: var(--wgk-fs-meta); color: var(--wgk-sub); font-variant-numeric: tabular-nums; }
a.wt-chip:hover .wt-count { color: inherit; opacity: .75; }

/* ---------- 記事 ---------- */
.wt-entry-head { max-width: 760px; margin: 0 auto; padding: 72px var(--wgk-gutter) 48px; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.wt-entry-head .wt-chips { justify-content: center; }
.wt-entry-title { margin: 0; font-size: var(--wgk-fs-title); font-weight: var(--wgk-fw-medium); line-height: var(--wgk-lh-heading); letter-spacing: .04em; }
.wt-entry-date { font-size: var(--wgk-fs-small); color: var(--wgk-sub); letter-spacing: .04em; }
.wt-entry-head--text { align-items: flex-start; text-align: left; max-width: calc(var(--wgk-w-text) + var(--wgk-gutter) * 2); border-bottom: 1px solid var(--wgk-line); margin-bottom: 32px; padding-bottom: 32px; }

/* 本文: 文字は 680px、写真は 1024px (古い写真の等倍) または 1200px (幅広) */
.wt-entry { font-size: var(--wgk-fs-body); line-height: var(--wgk-lh-body); letter-spacing: var(--wgk-ls-body); }
.wt-entry > * { max-width: var(--wgk-w-text); margin-inline: auto; padding-inline: var(--wgk-gutter); box-sizing: content-box; }
.wt-entry > p, .wt-entry > ul, .wt-entry > ol, .wt-entry > blockquote, .wt-entry > pre, .wt-entry > table { margin-block: 0 1.6em; }
.wt-entry > h2 { margin-block: 2.4em 1em; font-size: var(--wgk-fs-h2); font-weight: var(--wgk-fw-medium); line-height: var(--wgk-lh-tight); padding-bottom: 6px; border-bottom: 1px solid var(--wgk-line); }
.wt-entry > h3 { margin-block: 2em .8em; font-size: 17px; font-weight: var(--wgk-fw-medium); }
.wt-entry a:not(.wgk-chip):not(:has(img)) { color: var(--wgk-accent); text-decoration: underline; text-underline-offset: 4px; }
.wt-entry blockquote { border-left: 3px solid var(--wgk-line); padding: 4px 0 4px 20px; color: var(--wgk-sub); }
.wt-entry pre, .wt-entry code { font-family: var(--wgk-font-mono); font-size: 13px; }
.wt-entry pre { padding: 16px; background: var(--wgk-chip); border-radius: var(--wgk-radius); overflow-x: auto; line-height: 1.7; }
.wt-entry table { border-collapse: collapse; font-size: var(--wgk-fs-small); display: block; overflow-x: auto; }
.wt-entry th, .wt-entry td { padding: 8px 12px; border-bottom: 1px solid var(--wgk-line); text-align: left; }

/* 写真を含む要素は 1024px まで広げる (古い記事の <p><a><img></a></p> も) */
.wt-entry > figure,
.wt-entry > .wp-caption,
.wt-entry > .wp-block-gallery,
.wt-entry > .gallery,
.wt-entry > .tiled-gallery,
.wt-entry > p:has(> img),
.wt-entry > p:has(> a > img) { max-width: var(--wgk-w-photo); margin-block: 40px; text-align: center; }
.wt-entry > p:has(> img) img,
.wt-entry > p:has(> a > img) img { display: block; margin-inline: auto; }
/* 大きな新しい写真 (画像ブロックの "幅広") は 1200px まで */
.wt-entry > .alignwide, .wt-entry > figure.alignfull { max-width: var(--wgk-w-wide); }
.wt-entry figure { margin-inline: auto; }
.wt-entry figure img, .wt-entry .wp-caption img { display: block; margin-inline: auto; }
/* 旧エディタのキャプション (style="width: 1034px" がインラインで付く) */
.wt-entry .wp-caption { width: auto !important; }
.wt-entry figcaption, .wt-entry .wp-caption-text, .wt-entry .gallery-caption {
  margin: 4px auto 0; max-width: var(--wgk-w-photo); font-size: var(--wgk-fs-chip); line-height: 1.7; color: var(--wgk-sub); text-align: left; letter-spacing: .02em;
}
/* ギャラリー (コアのブロック・旧ショートコード・Jetpack のタイル) */
.wt-entry .wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(var(--wt-cols, 2), minmax(0, 1fr)); gap: 12px; }
.wt-entry .wp-block-gallery.columns-3 { --wt-cols: 3; }
.wt-entry .wp-block-gallery.columns-4 { --wt-cols: 4; }
.wt-entry .wp-block-gallery figure.wp-block-image { margin: 0; }
.wt-entry .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; } /* ギャラリーの中だけは枠に合わせる (コアと同じ挙動) */
.wt-entry .wp-block-gallery > figcaption { grid-column: 1 / -1; }
.wt-entry .gallery { display: grid; grid-template-columns: repeat(var(--wt-cols, 2), minmax(0, 1fr)); gap: 12px; }
.wt-entry .gallery-columns-3 { --wt-cols: 3; }
.wt-entry .gallery-columns-4 { --wt-cols: 4; }
.wt-entry .gallery-item { margin: 0; }
.wt-entry .tiled-gallery { margin-inline: auto; }
.wt-entry .alignleft { float: none; margin-inline: auto; }
.wt-entry .alignright { float: none; margin-inline: auto; }
@media (max-width: 599px) {
  /* スマートフォンでは写真を画面の端まで */
  .wt-entry > figure, .wt-entry > .wp-caption, .wt-entry > p:has(> img), .wt-entry > p:has(> a > img), .wt-entry > .wp-block-gallery, .wt-entry > .gallery { padding-inline: 0; }
  .wt-entry figcaption, .wt-entry .wp-caption-text, .wt-entry .wgk-exif { padding-inline: var(--wgk-gutter); }
  .wt-entry .gallery { --wt-cols: 2; }
}

/* ---------- 撮影データ (mu-plugin waganeko-exif) ---------- */
/* mu-plugin の既定の CSS より後に読み込んで上書きする */
.wgk-exif {
  display: block; max-width: var(--wgk-w-photo); margin: 10px auto 0;
  font: var(--wgk-fs-meta)/1.5 var(--wgk-font-mono); font-variant-numeric: tabular-nums;
  color: var(--wgk-sub); text-align: left; letter-spacing: 0; word-break: break-word;
}
.wt-entry figure .wgk-exif + figcaption { margin-top: 2px; }

/* ---------- 撮影機材のまとめ (mu-plugin waganeko-exif) ---------- */
.wgk-gear { clear: both; width: min(var(--wgk-w-text), 100% - var(--wgk-gutter) * 2); max-width: none !important; margin: 48px auto 0 !important; padding: 18px 0 0 !important; border-top: 1px solid var(--wgk-line); box-sizing: border-box !important; }
.wgk-gear-title { margin: 0 0 10px; font-size: var(--wgk-fs-chip); line-height: 1.4; letter-spacing: .08em; color: var(--wgk-sub); }
.wgk-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.wgk-chip {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px;
  border-radius: var(--wgk-radius); background: var(--wgk-chip); color: var(--wgk-text);
  font: var(--wgk-fs-chip)/1.6 var(--wgk-font); text-decoration: none; transition: background-color .15s, color .15s;
}
a.wgk-chip:hover, a.wgk-chip:focus-visible { background: var(--wgk-chip-hover); color: var(--wgk-chip-hover-text); text-decoration: none; }
.wgk-chip .wgk-count { font-size: var(--wgk-fs-meta); color: var(--wgk-sub); font-variant-numeric: tabular-nums; }
a.wgk-chip:hover .wgk-count, a.wgk-chip:focus-visible .wgk-count { color: inherit; opacity: .75; }
.wgk-chip svg { flex: none; }

/* ---------- いいね・共有 (Jetpack) ---------- */
/* いいねは iframe の中なので枠だけ整える。共有ボタンは "公式ボタン" ではなく "テキストのみ" の表示を前提にする */
#jp-post-flair { max-width: var(--wgk-w-text); margin: 32px auto 0; padding-inline: var(--wgk-gutter); box-sizing: content-box; }
.sharedaddy .sd-title { font-size: var(--wgk-fs-chip) !important; font-weight: var(--wgk-fw-regular) !important; color: var(--wgk-sub); letter-spacing: .08em; }
.sharedaddy .sd-title::before { display: none !important; }
.sd-social-text .sd-content ul li a.sd-button,
.sd-content ul li a.sd-button {
  display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 12px !important;
  border: 1px solid var(--wgk-line) !important; border-radius: var(--wgk-radius) !important;
  background: transparent !important; box-shadow: none !important; color: var(--wgk-text) !important;
  font: var(--wgk-fs-chip) var(--wgk-font) !important; text-shadow: none !important;
}
.sd-content ul li a.sd-button:hover { background: var(--wgk-chip) !important; }

/* ---------- 前後の記事 ---------- */
.wt-adjacent { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: var(--wgk-sp-8); }
@media (max-width: 599px) { .wt-adjacent { grid-template-columns: 1fr; gap: 0; } }
.wt-adjacent a { display: flex; gap: 20px; align-items: center; padding: 16px; border: 1px solid var(--wgk-line); }
.wt-adjacent a:hover { text-decoration: none; background: var(--wgk-mat); }
.wt-adjacent .wt-mat { flex: 0 0 112px; }
.wt-adjacent__label { display: block; font-size: var(--wgk-fs-meta); color: var(--wgk-sub); }
.wt-adjacent__title { display: block; font-size: 15px; font-weight: var(--wgk-fw-medium); }
.wt-adjacent__next { justify-content: flex-end; text-align: right; }
.wt-adjacent__none { display: flex; align-items: center; justify-content: flex-end; padding: 16px; border: 1px dashed var(--wgk-line); font-size: var(--wgk-fs-chip); color: var(--wgk-sub); }

/* ---------- 関連する記事 (Jetpack Related Posts) ---------- */
#jp-relatedposts { max-width: calc(var(--wgk-w-wide) + var(--wgk-gutter) * 2); margin: 0 auto !important; padding: var(--wgk-sp-8) var(--wgk-gutter) 0 !important; }
#jp-relatedposts h3.jp-relatedposts-headline { float: none; margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--wgk-line); font: var(--wgk-fw-medium) var(--wgk-fs-h2) var(--wgk-font) !important; letter-spacing: .04em; }
#jp-relatedposts h3.jp-relatedposts-headline em { font-style: normal; font-weight: inherit; }
#jp-relatedposts h3.jp-relatedposts-headline em::before { display: none; }
#jp-relatedposts .jp-relatedposts-items-visual { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; }
@media (max-width: 599px) { #jp-relatedposts .jp-relatedposts-items-visual { grid-template-columns: repeat(3, 200px); overflow-x: auto; gap: 12px; } }
#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post { width: auto !important; padding: 0 !important; opacity: 1 !important; float: none; }
#jp-relatedposts .jp-relatedposts-post-a { display: grid; place-items: center; aspect-ratio: 3 / 2; overflow: hidden; background: var(--wgk-mat); }
#jp-relatedposts .jp-relatedposts-post-img { width: var(--wgk-mat-fill) !important; height: var(--wgk-mat-fill) !important; max-width: none !important; object-fit: contain; }
#jp-relatedposts .jp-relatedposts-post-title { margin: 10px 0 0 !important; font: var(--wgk-fw-medium) 15px/1.6 var(--wgk-font) !important; }
#jp-relatedposts .jp-relatedposts-post-title a { color: var(--wgk-text) !important; }
#jp-relatedposts .jp-relatedposts-post-date, #jp-relatedposts .jp-relatedposts-post-context { font-size: var(--wgk-fs-meta) !important; color: var(--wgk-sub) !important; opacity: 1 !important; }

/* ---------- コメント (WordPress コア) ---------- */
/* 一覧はコアの wp_list_comments() の出力。投稿フォームは Jetpack の iframe になるため、外枠と見出しだけ整える */
.wt-comments { max-width: var(--wgk-w-text); margin: 0 auto; padding: var(--wgk-sp-8) var(--wgk-gutter) 0; box-sizing: content-box; }
.wt-comments__title { margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--wgk-line); font-size: var(--wgk-fs-h2); font-weight: var(--wgk-fw-medium); letter-spacing: .04em; }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list .children { margin-left: 54px; }
.comment-list .comment { margin-top: 28px; }
.comment-body { position: relative; padding-left: 54px; }
.comment-author .avatar { position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--wgk-chip); }
.comment-author { font-size: var(--wgk-fs-small); font-weight: var(--wgk-fw-medium); }
.comment-author .says { display: none; }
.comment-metadata, .comment-meta { font-size: var(--wgk-fs-meta); color: var(--wgk-sub); }
.comment-content { font-size: 15px; line-height: 1.9; }
.comment-content p { margin: 6px 0 0; }
.reply a { font-size: var(--wgk-fs-meta); color: var(--wgk-sub); }
#respond { margin-top: 40px; }
#respond .comment-reply-title { font-size: var(--wgk-fs-small); font-weight: var(--wgk-fw-medium); }
#jetpack_remote_comment { width: 100%; }

/* ---------- 写真を探す (サイドバーの代わり) ---------- */
.wt-index { padding-block: var(--wgk-sp-8); }
.wt-index__lead { margin: 0 0 32px; font-size: var(--wgk-fs-small); color: var(--wgk-sub); }
.wt-index__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 48px; }
@media (max-width: 959px) { .wt-index__cols { grid-template-columns: 1fr; } }
.wt-index__group { display: flex; flex-direction: column; gap: 20px; }
.wt-index__label { margin: 0; padding-bottom: 10px; border-bottom: 1px solid var(--wgk-line); font-size: var(--wgk-fs-chip); font-weight: var(--wgk-fw-medium); letter-spacing: .08em; color: var(--wgk-sub); }
.wt-index__parent { font-size: 15px; font-weight: var(--wgk-fw-medium); }
.wt-index__parent .wt-count { margin-left: 6px; font-weight: var(--wgk-fw-regular); }
.wt-index__item { display: flex; flex-direction: column; gap: 8px; }
.wt-lens-list { margin: 0; padding: 0; list-style: none; }
.wt-lens-list a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 40px; font-size: var(--wgk-fs-small); border-bottom: 1px solid var(--wgk-line); }
.wt-years .wt-chip { min-width: 56px; justify-content: center; }
.wt-search { display: flex; flex-direction: column; gap: 8px; }
.wt-search__row { display: flex; gap: 8px; }
.wt-input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--wgk-line); border-radius: var(--wgk-radius); background: var(--wgk-bg); color: var(--wgk-text); font: var(--wgk-fs-small) var(--wgk-font); }
.wt-button { height: 44px; padding: 0 18px; border: 0; border-radius: var(--wgk-radius); background: var(--wgk-text); color: var(--wgk-bg); font: var(--wgk-fw-medium) var(--wgk-fs-small) var(--wgk-font); cursor: pointer; }
.wt-button--outline { background: transparent; color: var(--wgk-text); border: 1px solid var(--wgk-line); }

/* ---------- アーカイブの見出し ---------- */
.wt-archive-head { display: flex; flex-direction: column; gap: 12px; padding: 64px 0 28px; border-bottom: 1px solid var(--wgk-line); margin-bottom: 40px; }
.wt-crumbs { font-size: var(--wgk-fs-chip); color: var(--wgk-sub); }
.wt-archive-title { margin: 0; font-size: var(--wgk-fs-page); font-weight: var(--wgk-fw-medium); letter-spacing: .04em; }
.wt-archive-desc { margin: 0; font-size: var(--wgk-fs-small); color: var(--wgk-sub); }
.wt-nearby { margin-top: 64px; padding: 32px; background: var(--wgk-mat); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.wt-nearby .wt-chip { background: var(--wgk-bg); }

/* ---------- フッター ---------- */
.wt-footer { margin-top: 120px; border-top: 1px solid var(--wgk-line); }
.wt-footer__cols { display: flex; flex-wrap: wrap; gap: 40px 64px; padding-block: 64px 40px; }
.wt-footer__about { flex: 1 1 260px; display: flex; flex-direction: column; gap: 14px; }
.wt-footer__about svg { width: 160px; height: auto; color: var(--wgk-text); }
.wt-footer__nav { flex: 1 1 200px; }
.wt-footer__label { margin: 0 0 12px; font-size: var(--wgk-fs-chip); font-weight: var(--wgk-fw-medium); letter-spacing: .08em; color: var(--wgk-sub); }
.wt-footer__nav ul { margin: 0; padding: 0; list-style: none; font-size: var(--wgk-fs-small); }
.wt-footer__nav a { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.wt-footer__sns { display: flex; gap: 4px; font-size: var(--wgk-fs-small); }
.wt-footer__sns a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; }
.wt-footer__sns a:first-child { padding-left: 0; }
.wt-footer__copy { padding-bottom: 32px; font-size: var(--wgk-fs-meta); color: var(--wgk-sub); }
@media (max-width: 599px) { .wt-footer__cols { padding-block: 40px 32px; } }

/* ---------- 404 ---------- */
.wt-notfound { max-width: calc(var(--wgk-w-text) + var(--wgk-gutter) * 2); margin: 0 auto; padding: 96px var(--wgk-gutter) 0; display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.wt-notfound svg { width: 96px; height: 96px; color: var(--wgk-sub); }

/* ---------- 動きを減らす設定 ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
