/* 飲食編の見た目（base.css の上に重ねる）。body に theme-izakaya / theme-curry / theme-ramen のどれかを付ける
   居酒屋＝夜の店（暗い店内・木のカウンター・琥珀の灯り）／カレー屋＝深い赤×黄色×青緑の柄／ラーメン屋＝白い和紙×黒い筆文字×えんじ */

/* ── 居酒屋 ── */
body.theme-izakaya {
  --bg: #13110f; --surface: #1f1b17; --surface-2: #2a241e; --line: #3b332a;
  --text: #f2e7d6; --muted: #a8998a; --accent: #d9a25a; --accent-ink: #1a140e; --accent-soft: rgba(217, 162, 90, .14);
  --ok: #8fc27a; --warn: #e3b25a; --danger: #e0784a;
  --radius: 12px; --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 30px -14px rgba(0, 0, 0, .75);
  --font-head: "Shippori Mincho", serif; --font-latin: "Shippori Mincho", serif;
  background: radial-gradient(40% 50% at 100% 20%, rgba(90, 140, 70, .14), transparent 70%), radial-gradient(50% 30% at 50% 0%, rgba(255, 200, 120, .1), transparent 70%), var(--bg);
  background-attachment: fixed;
}
.theme-izakaya .app-header { color: #2b1c0f; padding-bottom: 6px;
  background: radial-gradient(30% 120% at 20% 0%, rgba(255, 226, 170, .55), transparent 70%), radial-gradient(30% 120% at 75% 0%, rgba(255, 226, 170, .45), transparent 70%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='200'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.004 0.12' numOctaves='4' seed='5'/><feColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.2  0 0 0 0 0.08  0 0 0 1 -0.25'/></filter><rect width='900' height='200' fill='%23b07a45'/><rect width='900' height='200' filter='url(%23g)'/></svg>") 0 0 / 900px 200px;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .9); border-radius: 0 0 22px 22px; }
.theme-izakaya .brand-name { font-weight: 700; }
.theme-izakaya .tab { color: #2b1c0f; border-radius: 99px; border-bottom: 0; padding: 8px 16px; }
.theme-izakaya .tab[aria-selected="true"] { background: #1a140e; color: #f2e7d6; }
.theme-izakaya .btn { background: var(--surface-2); }
.theme-izakaya .btn.primary { background: linear-gradient(180deg, #e8b977, #c98a4b); border-color: #c98a4b; color: #1a140e; box-shadow: 0 0 20px -6px rgba(232, 185, 119, .6); }
.theme-izakaya .input { background: var(--surface-2); }
.theme-izakaya .toast { background: var(--accent); color: #1a140e; }
.theme-izakaya .callout { background: rgba(227, 178, 90, .1); }
.theme-izakaya .badge.ok { background: rgba(143, 194, 122, .16); }
.theme-izakaya .badge.warn { background: rgba(227, 178, 90, .16); }
.theme-izakaya .badge.danger { background: rgba(224, 120, 74, .18); }

/* ── カレー屋 ── */
body.theme-curry {
  --bg: #fdf6e8; --surface: #ffffff; --surface-2: #fbf0dc; --line: #f0dfc4;
  --text: #2b1a14; --muted: #8a7363; --accent: #b8281c; --accent-ink: #fff6e3; --accent-soft: #fde9d7;
  --ok: #2a8a5c; --warn: #d9781e; --danger: #b8281c;
  --radius: 14px; --shadow: 0 1px 2px rgba(120, 40, 20, .06), 0 14px 28px -16px rgba(120, 40, 20, .35);
  --font-head: "Dela Gothic One", sans-serif; --font-latin: "Dela Gothic One", sans-serif;
  background: radial-gradient(circle at 50% 50%, rgba(184, 40, 28, .07) 0 3px, transparent 3.5px) 0 0 / 34px 34px, linear-gradient(180deg, #fff9ee, #fbefd7);
  background-attachment: fixed;
}
.theme-curry h2.sec, .theme-curry h3 { font-weight: 400; }
.theme-curry .app-header { color: #fff3dc; padding-bottom: 18px;
  background: linear-gradient(135deg, #f2b51d 25%, transparent 25%) 0 100% / 16px 14px repeat-x, linear-gradient(225deg, #f2b51d 25%, transparent 25%) 0 100% / 16px 14px repeat-x,
    radial-gradient(circle, rgba(242, 181, 29, .45) 0 2px, transparent 2.5px) 0 0 / 26px 26px, linear-gradient(160deg, #a51e18, #7a1510);
  box-shadow: 0 16px 30px -18px rgba(120, 20, 10, .7); }
.theme-curry .brand-name { font-weight: 400; letter-spacing: .06em; }
.theme-curry .tab { color: #fff3dc; border-radius: 99px; border-bottom: 0; padding: 8px 16px; }
.theme-curry .tab[aria-selected="true"] { background: #f2b51d; color: #5c1410; }
.theme-curry .btn.primary { background: linear-gradient(180deg, #c8321f, #9c1f16); border-color: #9c1f16; box-shadow: 0 8px 18px -8px rgba(160, 30, 20, .6); }
.theme-curry .card { border-color: #f3e2c6; }

/* ── ラーメン屋 ── */
body.theme-ramen {
  --bg: #faf8f4; --surface: #ffffff; --surface-2: #f5f2ec; --line: #e6e0d6;
  --text: #161412; --muted: #7d766d; --accent: #9e1b1b; --accent-ink: #ffffff; --accent-soft: #fbf1ef;
  --ok: #2f7a4f; --warn: #b5701c; --danger: #9e1b1b;
  --radius: 6px; --shadow: 4px 4px 0 #161412;
  --font-head: "Noto Sans JP", sans-serif; --font-latin: "Noto Sans JP", sans-serif;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='w'><feTurbulence type='fractalNoise' baseFrequency='0.35 0.06' numOctaves='3' seed='3'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.5  0 0 0 0 0.45  0 0 0 0.35 -0.1'/></filter><rect width='400' height='400' fill='%23fbfaf6'/><rect width='400' height='400' filter='url(%23w)'/></svg>") 0 0 / 400px 400px;
  background-attachment: fixed;
}
.theme-ramen .app-header { border-bottom: 8px solid #9e1b1b; padding-bottom: 0; }
.theme-ramen .brand-name { font-family: "Yuji Syuku", serif; font-size: 34px; letter-spacing: .1em; }
.theme-ramen h2.sec { font-family: "Yuji Syuku", serif; font-weight: 400; font-size: 24px; }
.theme-ramen .tab { border-bottom-width: 4px; }
.theme-ramen .tab[aria-selected="true"] { border-bottom-color: #9e1b1b; color: #9e1b1b; }
.theme-ramen .card { border: 1.5px solid #161412; }
.theme-ramen .btn { border: 1.5px solid #161412; box-shadow: 3px 3px 0 #161412; border-radius: 4px; }
.theme-ramen .btn:hover { transform: translate(-1px, -1px); }
.theme-ramen .btn.primary { background: #9e1b1b; border-color: #161412; }
.theme-ramen .kpi-tile .value { font-weight: 900; }
