/* 共通ヘッダー/フッターは main.css。ここはページ固有スタイルのみ */
  main .wrap { max-width:960px; }
  main { padding:48px 0 72px; }
  h1 { font-family:var(--font-display); font-size:28px; color:var(--rose-ink); margin-bottom:8px; }
  .lead { color:var(--ink-soft); font-size:14px; margin-bottom:28px; }

  .cats { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
  .cats .chip { appearance:none; font-family:var(--font-body); cursor:pointer; font-size:13px; font-weight:500; color:var(--rose-ink); background:#fff; border:1px solid var(--line); padding:6px 14px; border-radius:999px; transition:background .15s,color .15s,border-color .15s; }
  .cats .chip:hover { border-color:var(--blush); }
  .cats .chip.active { background:var(--blush-deep); color:#fff; border-color:var(--blush-deep); }
  .no-results { background:#fff; border:1px dashed var(--line); border-radius:12px; padding:22px; text-align:center; color:var(--ink-soft); font-size:14px; margin-top:4px; }

  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; }
  .card { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-card); transition:transform .15s, box-shadow .15s; display:flex; flex-direction:column; }
  .card:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(140,74,90,.14); }
  .thumb { height:132px; display:flex; align-items:center; justify-content:center; font-size:44px; }
  .t1 { background:linear-gradient(135deg,#FCE4EA,#FBF0E4); }
  .t2 { background:linear-gradient(135deg,#EEF6EC,#F4ECE6); }
  .t3 { background:linear-gradient(135deg,#E8EEF7,#FBF7F4); }
  .card .body { padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; }
  .card .cat { font-size:11px; font-weight:700; color:var(--blush-deep); }
  .card h3 { font-family:var(--font-display); font-size:16px; color:var(--ink); margin:6px 0 8px; line-height:1.5; }
  .card p { font-size:13px; color:var(--ink-soft); flex:1; }
  .card .date { font-family:var(--font-num); font-size:12px; color:var(--ink-soft); margin-top:12px; }

  .note { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:13px; color:var(--ink-soft); margin-top:30px; line-height:1.9; }
