/* 手仕事フォーラム 共通CSS - ヘッダー/フッター/トークン */

:root {
  --ink:#1a1c1a;--ink-light:#4a4f4c;--ink-faint:#868d89;
  --washi:#f6f7f5;--washi-dark:#e7ebe8;--rust:#8a6d3a;
  --rust-light:#a89066;--border:#dde0dc;--white:#fcfdfc;
  --serif:'Noto Serif JP','ヒラギノ明朝 ProN',serif;
  --sans:'Noto Sans JP','ヒラギノ角ゴ ProN',sans-serif;
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--rust);}

/* ── 新ヘッダー ── */
.site-header { border-bottom: 1px solid var(--border); background: #ffffff; position: sticky; top: 0; z-index: 100; }
.site-header__inner { max-width: 1200px; margin: 0 auto; padding: .9rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-logo { display: flex; align-items: center; gap: .75rem; }
.site-logo__mark { width: 80px; height: 100px; flex-shrink: 0; object-fit: contain; display: block; }
.site-logo__name { font-family: var(--serif); font-size: 1.625rem; font-weight: 500; letter-spacing: .12em; white-space: nowrap; }
.site-logo__tagline { font-size: 12px; color: var(--ink-faint); letter-spacing: .1em; margin-top: .1rem; }
.site-nav { display: flex; align-items: center; gap: 1.8rem; }
.site-nav a { font-size: 14px; letter-spacing: .1em; color: var(--ink-light); white-space: nowrap; transition: color .15s; }
.site-nav a:hover { color: var(--rust); }
.site-nav__cta { border: 1px solid var(--rust); padding: .45rem .9rem; color: var(--rust) !important; letter-spacing: .12em; }
.site-nav__cta:hover { background: var(--rust); color: var(--washi) !important; }

/* ── ハンバーガーボタン ── */
.site-hamburger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 40px; height: 40px; padding: 8px; background: none; border: none; cursor: pointer; flex-shrink: 0; }
.site-hamburger span { display: block; width: 22px; height: 1.5px; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }
.site-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.site-hamburger.is-open span:nth-child(2) { opacity: 0; }
.site-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── 新フッター ── */
.site-footer { background: var(--ink); color: var(--washi); padding: 2rem 2rem; }
.site-footer__inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.site-footer__bottom { font-size: 10px; color: var(--ink-faint); }
.site-footer__social { display: flex; flex-direction: row; align-items: center; gap: 1.8rem; }
.site-footer__social-link { display: flex; flex-direction: row; align-items: center; gap: .5rem; color: rgba(245,240,232,.6); transition: color .15s; }
.site-footer__social-link:hover { color: var(--washi); }
.site-footer__social-link svg { width: 28px; height: 28px; flex-shrink: 0; }
.site-footer__social-label { font-size: 12px; letter-spacing: .1em; }

/* ── レスポンシブ（ヘッダー：768px）── */
@media (max-width: 768px) {
  .site-hamburger { display: flex; }
  .site-nav {
    display: none;
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: #ffffff;
    border-bottom: 1px solid var(--border);
    flex-direction: column;
    align-items: flex-start;
    padding: 1.2rem 2rem 1.8rem;
    gap: 1.2rem;
    z-index: 99;
    box-shadow: 0 4px 12px rgba(26,22,18,.08);
  }
  .site-nav.is-open { display: flex; }
  .site-nav__cta { border: none; padding: 0; color: var(--rust) !important; }
  .site-nav__cta:hover { background: none; }
}

/* ── レスポンシブ（ヘッダー・フッター縮小：560px）── */
@media (max-width: 560px) {
  .site-header__inner { padding: .8rem 1rem; gap: 1rem; }
  .site-logo__mark { width: 48px; height: 60px; }
  .site-logo__name { font-size: 1.2rem; }
  .site-logo__tagline { display: none; }
  .site-footer__inner { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
}

/* 英字装飾ラベルの全廃（AI感を外す・rev8）*/
.cat-card__label,
.allcard__label,
.archive-header__label,
.cat-header__label,
.page-header__label,
.silta-card__label { display: none; }
