/* ==============================================
   長月堂 Webサイト 共通スタイル（style.css）
   - ここを編集すると全ページの見た目がそろいます
   - 配色・余白・レイアウトはCSS変数で集中管理
   ============================================== */

/* ▼色や余白などの共通変数（カラーテーマを変えるときはここだけ変更） */
:root {
  --enji: #8E1728;                     /* 臙脂：メインアクセント */
  --enji-dark: #6e0f1e;                /* 濃い臙脂（ホバー等） */
  --enji-soft: rgba(142, 23, 40, .06); /* 見出し背景の淡い臙脂 */
  --ink: #222;                         /* 本文色 */
  --paper: #fff;                       /* 背景色 */
  --line: #e9e4e0;                     /* 罫線色（和紙風の淡い色） */
  --muted: #6b6b6b;                    /* 補助文字色 */
  --maxw: 1200px;                      /* ページ最大幅 */
  --gap: 20px;                         /* 基本余白 */
  --radius: 10px;                      /* 角丸 */
}

/* ▼ブラウザ初期値の軽いリセット＋共通指定 */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Noto Sans JP', system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.8;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--enji); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ===== ヘッダー ===== */
header.site-header {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(0deg, #fff, #fff),
    radial-gradient(1200px 400px at 50% -200px, rgba(142,23,40,0.06), transparent 60%);
}
.header-inner {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 12px var(--gap);           /* 高さを控えめに */
  display: grid;
  grid-template-columns: auto;        /* 連絡先を消したので1カラム固定 */
  gap: 12px;
  align-items: center;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-title {
  font-family: 'Shippori Mincho B1', serif;
  font-size: clamp(20px, 1.6vw + 12px, 28px);
  letter-spacing: .06em;
}
.brand-sub { color: var(--muted); font-size: 14px; letter-spacing: .06em; }

/* ===== レイアウト（2カラム） ===== */
.page-wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: var(--gap);
  display: grid;
  grid-template-columns: 280px 1fr;   /* 左ナビ + 右本文 */
  gap: var(--gap);
}

/* 左ナビ：外枠はなし。各項目はボタン風の内枠 */
nav.sidenav {
  border: none;                        /* 外枠を削除 */
  border-radius: var(--radius);
  padding: 14px;
  position: sticky; top: 16px; align-self: start;
  background: #fff;
}
.menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.menu a {
  display: block; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 8px; background: #fff; font-weight: 500;
}
.menu a[aria-current="page"] {
  border-color: var(--enji);
  background: var(--enji-soft);
  font-weight: 700;
}
.menu a:hover, .menu a:focus {
  outline: none; border-color: var(--enji);
  box-shadow: 0 0 0 3px rgba(142,23,40,.1); text-decoration: none;
}

/* 本文コンテナ */
main.content {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  overflow: hidden;
}

/* ===== トップ（ヒーロー）：画像＋文章は縦並び固定 ===== */
.hero {
  display: grid; grid-template-columns: 1fr; gap: 0;
  border-bottom: 1px solid var(--line);
}
.hero figure { margin: 0; }
.hero .copy { padding: clamp(16px, 2.5vw, 28px); display: grid; align-content: center; gap: 10px; }
.copy h1 {
  font-family: 'Shippori Mincho B1', serif; font-weight: 700;
  font-size: clamp(20px, 1.5vw + 16px, 30px);
  margin: 0; letter-spacing: .1em;
}
.copy .lead { margin: 0; color: #444; }

/* ===== セクション見出し：左線＋淡い背景 ===== */
section { padding: 22px clamp(16px, 2.4vw, 28px); }
section + section { border-top: 1px solid var(--line); }
section h2 {
  font-family: 'Shippori Mincho B1', serif;
  font-size: clamp(18px, 1.1vw + 14px, 24px);
  margin: 0 0 10px;
  display: block;
  padding: 8px 12px;
  border-left: 6px solid var(--enji);
  background: var(--enji-soft);
  border-radius: 6px;
}
section h2::after { content: none; }

/* ===== 住所などのリスト ===== */
.meta-list { list-style: none; padding: 0; margin: 0; }
.meta-list li { padding: 4px 0; }
.note { color: var(--muted); font-size: 14px; }

/* ===== カードUI（商品や写真表示に共通） =====
   - 要件どおり各ページとも基本は「縦1列」 */
.cards { display: grid; gap: 16px; grid-template-columns: 1fr; }
.card { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.card .txt { padding: 12px; }
.card h3 { margin: 0 0 6px; font-size: 18px; }
.price { color: var(--enji); font-weight: 700; }

/* 画像の見栄えを揃える（中央基準で切り抜き） */
#seasonal .card img,
#standard .card img,
#shop .card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: auto;
}

/* ===== フッター ===== */
.site-footer {
  border-top: 1px solid var(--line);
  margin-top: 30px;
  padding: 16px var(--gap);
  color: var(--muted);
  text-align: center;
  font-size: 14px;
}
.last-updated { margin-top: 6px; }

/* ===== レスポンシブ（スマホでは縦1カラムに） ===== */
@media (max-width: 1000px) {
  .page-wrap { grid-template-columns: 240px 1fr; }
}
@media (max-width: 760px) {
  .page-wrap { grid-template-columns: 1fr; }
  nav.sidenav { position: static; } /* スマホではメニューが上に来るよう固定解除 */
  .hero { grid-template-columns: 1fr; }
}
