/* =============================================================================
   book-nagomi 業種テーマ機構 — 10 業種プリセット統合 CSS
   ---------------------------------------------------------------------------
   ・適用は <html data-industry="<key>"> 属性のみ(index.html の早期スクリプト /
     boot() の window.__ngApplyIndustry が付与)。属性が無い/未知の key のときは
     何も発火せず現行 Nagomi 既定デザインのまま = デグレ無し(§B 未知 type は無視)。
   ・各プリセットは既存トークン名(--bg/--card/--ink/--accent/--sage/--gold/--line/
     状態色 --avail-* / --full-* / --closed-* 等)を上書き + 業種固有トークンを追加する。
     セレクタ特異度 :root[data-industry="x"](0,0,2,0) は base の :root(0,0,1,0) と
     .card(0,0,1,0) に必ず勝つため、本ファイルは index.html のインライン <style> の
     後ろ(<link>)に置けば順序に依らず確実に反映される。
   ・ライト/ダーク両対応: @media(prefers-color-scheme) を既定シグナルにしつつ、
     ビューアのテーマトグル [data-theme="dark"|"light"] を両方向で勝たせる(base と同方式)。
   ・機能(予約フロー/占有/料金)は不変。本ファイルは見た目/レイアウト variant のみ。
   ============================================================================= */

/* ── 業種プリセット: salon（サロン/リラクゼーション/エステ）──
   既存トークンを上書き＋salon固有トークンを追加。ライト/ダーク両対応。
   予約フロー/占有/料金は不変・見た目のみ。素の:rootは変更しない=デグレ無し。 */
:root[data-industry="salon"]{
  /* 上書き: 低彩度・暖色ニュートラル（スパのタオルとアロマ）*/
  --bg:#F7F1EC; --card:#FFFDFB; --ink:#3B322D; --ink2:#7C6E64; --ink3:#A99B8E;
  --accent:#B98A7C; --accent2:#A2715F; --sage:#7BA189; --gold:#C6A667; --line:#EADFD6;
  --err:#B4564C; --ok:#5F9576;
  --shadow-sm:0 1px 2px rgba(59,50,45,.04);
  --shadow-md:0 14px 44px -22px rgba(120,90,78,.22);
  /* 追加: 柔らかい曲線・淡い影・余白・見出しセリフ */
  --radius:20px; --radius-sm:14px; --radius-input:14px; --radius-pill:999px;
  --shadow-soft:0 18px 50px -26px rgba(120,90,78,.28);
  --font-head:'Instrument Serif',serif;
  --space-card:24px; --space-section:28px;
}
/* dark: 間接照明のトリートメントルーム（深いモカ地・ローズ/セージを明るく）*/
@media(prefers-color-scheme:dark){
  :root[data-industry="salon"]:not([data-theme="light"]){
    --bg:#211A17; --card:#2B2320; --ink:#F1E7E0; --ink2:#BCA99D; --ink3:#8C7C70; --line:#463A33;
    --accent:#D4A395; --accent2:#E0B4A6; --sage:#8FBCA0; --gold:#DCC085;
    --err:#E09A90; --ok:#7FBE9A;
    --shadow-sm:0 1px 2px rgba(0,0,0,.25);
    --shadow-md:0 16px 46px -24px rgba(0,0,0,.5);
    --shadow-soft:0 20px 54px -28px rgba(0,0,0,.55);
  }
}
:root[data-industry="salon"][data-theme="dark"]{
  --bg:#211A17; --card:#2B2320; --ink:#F1E7E0; --ink2:#BCA99D; --ink3:#8C7C70; --line:#463A33;
  --accent:#D4A395; --accent2:#E0B4A6; --sage:#8FBCA0; --gold:#DCC085;
  --err:#E09A90; --ok:#7FBE9A;
  --shadow-sm:0 1px 2px rgba(0,0,0,.25);
  --shadow-md:0 16px 46px -24px rgba(0,0,0,.5);
  --shadow-soft:0 20px 54px -28px rgba(0,0,0,.55);
}
/* forced light（システムがdarkでもlight指定を優先）*/
:root[data-industry="salon"][data-theme="light"]{
  --bg:#F7F1EC; --card:#FFFDFB; --ink:#3B322D; --ink2:#7C6E64; --ink3:#A99B8E;
  --accent:#B98A7C; --accent2:#A2715F; --sage:#7BA189; --gold:#C6A667; --line:#EADFD6;
  --err:#B4564C; --ok:#5F9576;
  --shadow-md:0 14px 44px -22px rgba(120,90,78,.22);
  --shadow-soft:0 18px 50px -26px rgba(120,90,78,.28);
}
/* 新規トークンをコンポーネントへ配線（既定値フォールバック付き=他業種/未設定はデグレ無し）*/
:root[data-industry="salon"] .card{
  border-radius:var(--radius,14px); padding:var(--space-card,20px); box-shadow:var(--shadow-soft,var(--shadow-sm));
}
:root[data-industry="salon"] input,
:root[data-industry="salon"] select,
:root[data-industry="salon"] .intakeBox textarea{ border-radius:var(--radius-input,10px); }
:root[data-industry="salon"] .btn{ border-radius:var(--radius-pill,11px); letter-spacing:.02em; }
:root[data-industry="salon"] .site{ font-family:var(--font-head,'Instrument Serif',serif); }
:root[data-industry="salon"] h2{ font-family:var(--font-head,inherit); font-style:italic; font-size:18px; font-weight:400; }
:root[data-industry="salon"] .daycell,
:root[data-industry="salon"] .slot,
:root[data-industry="salon"] .wslot{ border-radius:var(--radius-sm,10px); }


/* ── 業種プリセット: フィットネス / ヨガ / スタジオ (key=fitness) ──
   book-nagomi の既存トークン名を活力配色で上書き＋ --radius/--font-head/--energy/--lift を追加。
   .btn は基盤で color:#fff 固定のため accent は白文字が載る濃さを厳守(AA大テキスト)。 */

/* LIGHT (デフォルト) */
:root[data-industry="fitness"]{
  --bg:#F4F7F2; --card:#FFFFFF; --ink:#12211A; --ink2:#4A5A50; --ink3:#8A968E;
  --accent:#0B8A4E; --accent2:#097B43; --sage:#12A05B; --gold:#D9F24B; --line:#DCE6DD;
  --err:#C0392B; --ok:#0B8A4E;
  --shadow-sm:0 2px 6px rgba(14,45,30,.08);
  --shadow-md:0 14px 30px -14px rgba(11,90,60,.28);
  /* 空き=フレッシュグリーン / 満=控えめレッド / 休=ニュートラル */
  --avail-bg:#E4F5EA; --avail-ink:#0B7A43; --avail-line:#BFE7CC;
  --full-bg:#FBE9E7; --full-ink:#B23A2E; --full-line:#F1CFC9;
  --closed-bg:#EEF1EE; --closed-ink:#8A968E; --closed-line:#DDE6DD;
  --before-ink:#8A968E; --skel:#E6EEE7;
  /* 追加(業種の骨格) */
  --radius:12px; --radius-lg:16px; --radius-pill:999px;
  --font-head:'Space Grotesk','Zen Kaku Gothic New',system-ui,sans-serif;
  --energy:#D9F24B; --lift:translateY(-2px); --space-section:20px;
}
/* DARK (システム設定) */
@media(prefers-color-scheme:dark){
  :root[data-industry="fitness"]:not([data-theme="light"]){
    --bg:#0E1613; --card:#16211C; --ink:#EAF3EC; --ink2:#A9B8AD; --ink3:#76857A;
    --accent:#12A15B; --accent2:#0C8B4C; --sage:#33C27E; --gold:#D9F24B; --line:#2A3830;
    --err:#E39A90; --ok:#33C27E;
    --shadow-sm:0 2px 6px rgba(0,0,0,.3);
    --shadow-md:0 14px 28px -14px rgba(0,0,0,.5);
    --avail-bg:#16301F; --avail-ink:#5FD98C; --avail-line:#274A33;
    --full-bg:#301A17; --full-ink:#E89185; --full-line:#472823;
    --closed-bg:#1B241F; --closed-ink:#76857A; --closed-line:#2A3830;
    --before-ink:#6B7A6F; --skel:#1E2A23;
    --energy:#C6E43F;
  }
}
/* DARK (ユーザーのテーマトグルが media に勝つ) */
:root[data-industry="fitness"][data-theme="dark"]{
  --bg:#0E1613; --card:#16211C; --ink:#EAF3EC; --ink2:#A9B8AD; --ink3:#76857A;
  --accent:#12A15B; --accent2:#0C8B4C; --sage:#33C27E; --gold:#D9F24B; --line:#2A3830;
  --err:#E39A90; --ok:#33C27E;
  --shadow-sm:0 2px 6px rgba(0,0,0,.3);
  --shadow-md:0 14px 28px -14px rgba(0,0,0,.5);
  --avail-bg:#16301F; --avail-ink:#5FD98C; --avail-line:#274A33;
  --full-bg:#301A17; --full-ink:#E89185; --full-line:#472823;
  --closed-bg:#1B241F; --closed-ink:#76857A; --closed-line:#2A3830;
  --before-ink:#6B7A6F; --skel:#1E2A23;
  --energy:#C6E43F;
}
/* LIGHT (ユーザーのテーマトグルが media に勝つ) */
:root[data-industry="fitness"][data-theme="light"]{
  --bg:#F4F7F2; --card:#FFFFFF; --ink:#12211A; --ink2:#4A5A50; --ink3:#8A968E;
  --accent:#0B8A4E; --accent2:#097B43; --sage:#12A05B; --gold:#D9F24B; --line:#DCE6DD;
  --err:#C0392B; --ok:#0B8A4E;
  --shadow-sm:0 2px 6px rgba(14,45,30,.08);
  --shadow-md:0 14px 30px -14px rgba(11,90,60,.28);
  --avail-bg:#E4F5EA; --avail-ink:#0B7A43; --avail-line:#BFE7CC;
  --full-bg:#FBE9E7; --full-ink:#B23A2E; --full-line:#F1CFC9;
  --closed-bg:#EEF1EE; --closed-ink:#8A968E; --closed-line:#DDE6DD;
  --before-ink:#8A968E; --skel:#E6EEE7;
  --energy:#D9F24B;
}
/* 見出し/スタジオ名は --font-head(Space Grotesk 太字)。基盤の .site セリフ斜体を業種で上書き。 */
:root[data-industry="fitness"] .site{font-family:var(--font-head);font-style:normal;font-weight:700;letter-spacing:-.02em}
/* 主役=週スケジュールのクラスチップに躍動感(左accentバー＋ホバー浮上)。既存 .wslot を additive 装飾。 */
:root[data-industry="fitness"] .wslot{border-radius:var(--radius-lg);border-left:3px solid transparent;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}
:root[data-industry="fitness"] .wslot.available{border-left-color:var(--accent)}
:root[data-industry="fitness"] .wslot.available:hover{transform:var(--lift);box-shadow:var(--shadow-md)}
:root[data-industry="fitness"] .card,:root[data-industry="fitness"] .slot,:root[data-industry="fitness"] .daycell{border-radius:var(--radius)}
:root[data-industry="fitness"] .viewToggle{border-radius:var(--radius-pill)}


/* ===== 業種プリセット: スクール・教室・ワークショップ (key=school) =====
   キーカラー = はちみつ色 / チョークグリーン、角丸大きめ・影やわらか・丸ゴシック見出し。
   既存トークン名を上書き + 差別化用の新トークンを追加。 */

/* --- ライト(既定) --- */
:root[data-industry="school"]{
  /* サーフェス: 紙・クリームの温かさ */
  --bg:#FBF5E9;            /* 生成りの紙 */
  --card:#FFFDF8;          /* 少し温かい白 */
  --ink:#3A2E20;           /* 鉛筆のような温かい焦茶 */
  --ink2:#736450;
  --ink3:#A7997F;          /* 補助テキスト(温かいグレージュ) */
  --line:#EADFC9;          /* 温かい罫線 */

  /* アクセント: はちみつ・マーマレード(親しみやすく前向き) */
  --accent:#E08A38;        /* honey / marmalade */
  --accent2:#C9722A;       /* hover(やや濃い) */
  --accent-soft:#FBEAD3;   /* 淡いアクセント面(選択・バッジ地) */

  /* 進度・達成の色 = チョークグリーン(黒板を想起する落ち着いた緑) */
  --sage:#2F8F6B;
  --gold:#D9A441;          /* はちみつゴールド(体験・おすすめ強調) */
  --err:#C0503A; --ok:#3E8E5A;

  /* 角丸: 手づくり感の出る大きめ丸み */
  --radius-lg:20px;        /* カード・コースカード */
  --radius:14px;           /* 入力・ボタン */
  --radius-sm:10px;        /* チップ・小要素 */
  --radius-pill:999px;

  /* 影: ふんわり温かい(灰色でなく茶を含ませる) */
  --shadow-sm:0 1px 2px rgba(58,46,32,.06);
  --shadow-md:0 10px 28px -14px rgba(196,120,42,.22);
  --shadow-card:0 6px 20px -14px rgba(58,46,32,.18);

  /* タイポ: 見出しは丸ゴシック(親しみ)、本文も丸み、数字は等幅 */
  --font-head:'Zen Maru Gothic','Zen Kaku Gothic New',system-ui,sans-serif;
  --font-body:'Zen Kaku Gothic New',system-ui,sans-serif;
  --font-num:'Space Grotesk',ui-monospace,monospace;
  --head-weight:700;
  --head-italic:normal;    /* 既定spa系のserif italicを解除=堅苦しさを消す */

  /* 余白: ゆったり=受講のハードルを下げる呼吸感 */
  --space-card:22px;
  --space-section:20px;
  --wrap-max:640px;        /* コース一覧を主役にするため既定600pxよりやや広く */
}

/* 見出し・数字トークンを実際に適用(既存 .serif は品格serif固定なので上書き) */
:root[data-industry="school"] .serif{
  font-family:var(--font-head);
  font-style:var(--head-italic);
  font-weight:var(--head-weight);
  letter-spacing:.01em;
}
:root[data-industry="school"] body{font-family:var(--font-body)}
:root[data-industry="school"] .card{
  border-radius:var(--radius-lg);
  padding:var(--space-card);
  box-shadow:var(--shadow-card);
}
:root[data-industry="school"] .wrap{max-width:var(--wrap-max)}
:root[data-industry="school"] input,
:root[data-industry="school"] select,
:root[data-industry="school"] .btn,
:root[data-industry="school"] .btn-sm{border-radius:var(--radius)}

/* --- ダーク(OS設定追従) --- */
@media(prefers-color-scheme:dark){
  :root[data-industry="school"]:not([data-theme="light"]){
    --bg:#211A11;          /* 夕方の教室のような温かい暗色 */
    --card:#2C2418;
    --ink:#F6EFE0;
    --ink2:#C9BAA0;
    --ink3:#948773;
    --line:#463A28;
    --accent:#F0A254;      /* 暗背景で映えるよう明るく */
    --accent2:#E08A38;
    --accent-soft:#3A2C18;
    --sage:#6FC79E;
    --gold:#E8C069;
    --shadow-sm:0 1px 2px rgba(0,0,0,.28);
    --shadow-md:0 10px 26px -14px rgba(0,0,0,.5);
    --shadow-card:0 6px 20px -14px rgba(0,0,0,.45);
  }
}

/* --- 明示トグル(ユーザーがヘッダで切替=OS設定より優先) --- */
:root[data-industry="school"][data-theme="dark"]{
  --bg:#211A11; --card:#2C2418; --ink:#F6EFE0; --ink2:#C9BAA0; --ink3:#948773;
  --line:#463A28; --accent:#F0A254; --accent2:#E08A38; --accent-soft:#3A2C18;
  --sage:#6FC79E; --gold:#E8C069;
  --shadow-sm:0 1px 2px rgba(0,0,0,.28);
  --shadow-md:0 10px 26px -14px rgba(0,0,0,.5);
  --shadow-card:0 6px 20px -14px rgba(0,0,0,.45);
}
:root[data-industry="school"][data-theme="light"]{
  --bg:#FBF5E9; --card:#FFFDF8; --ink:#3A2E20; --ink2:#736450; --ink3:#A7997F;
  --line:#EADFC9; --accent:#E08A38; --accent2:#C9722A; --accent-soft:#FBEAD3;
  --sage:#2F8F6B; --gold:#D9A441;
  --shadow-sm:0 1px 2px rgba(58,46,32,.06);
  --shadow-md:0 10px 28px -14px rgba(196,120,42,.22);
  --shadow-card:0 6px 20px -14px rgba(58,46,32,.18);
}

/* --- 業種専用UI: コースカード(主役)・進度バッジ・体験レッスンリボン --- */
:root[data-industry="school"] .courseGrid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:8px 0 4px;
}
@media(max-width:520px){:root[data-industry="school"] .courseGrid{grid-template-columns:1fr}}
:root[data-industry="school"] .courseCard{
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);
  box-shadow:var(--shadow-card);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .15s;
}
:root[data-industry="school"] .courseCard:hover{border-color:var(--accent);transform:translateY(-2px)}
:root[data-industry="school"] .courseCard.selected{
  outline:2px solid var(--accent);outline-offset:1px;border-color:transparent;
}
:root[data-industry="school"] .courseCard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* 進度チップ(全6回・初回体験ありなど) */
:root[data-industry="school"] .progressChip{
  display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-pill);
  padding:4px 11px;font-size:12px;font-weight:700;
  background:color-mix(in srgb,var(--sage) 14%,transparent);
  color:var(--sage);border:1px solid color-mix(in srgb,var(--sage) 32%,transparent);
}
/* 初心者歓迎バッジ */
:root[data-industry="school"] .welcomeBadge{
  display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-pill);
  padding:4px 11px;font-size:12px;font-weight:700;
  background:var(--accent-soft);color:var(--accent2);border:1px solid transparent;
}
/* 体験レッスン誘導リボン */
:root[data-industry="school"] .trialRibbon{
  display:flex;align-items:center;gap:8px;border-radius:var(--radius);
  padding:12px 14px;margin-bottom:14px;font-size:13.5px;
  background:color-mix(in srgb,var(--gold) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);color:var(--ink);
}
/* 進度ステップ(コース→日程→お申し込み の道筋を可視化) */
:root[data-industry="school"] .learnSteps{
  display:flex;align-items:center;gap:6px;margin:4px 0 16px;font-size:12px;color:var(--ink3);flex-wrap:wrap;
}
:root[data-industry="school"] .learnSteps .st{
  display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);
  border:1px solid var(--line);
}
:root[data-industry="school"] .learnSteps .st.on{
  background:var(--accent-soft);color:var(--accent2);border-color:transparent;font-weight:700;
}


/* ============================================================
   業種プリセット: clinic（クリニック / 治療院 / 整体）
   清潔・信頼・整然・装飾控えめ。暖色スパ調 → 寒色の医療調へ。
   既存トークン名を上書き + 追加トークン(--radius-* / --font-head / --pad-*)。
   ============================================================ */

/* ---- ライト（既定：OSライト or data-theme=light） ---- */
:root[data-industry="clinic"]{
  /* 面: 暖色クリームを寒色の清潔グレーへ */
  --bg:#F4F7F9;          /* cool off-white */
  --card:#FFFFFF;        /* 純白＝清潔 */
  --ink:#1B2A33;         /* cool slate near-black */
  --ink2:#566670;
  --ink3:#93A2AB;
  --line:#E1E8EC;        /* 寒色ヘアライン */

  /* 主色: 医療の信頼＝鎮静したティール/ブルー（オレンジを廃す） */
  --accent:#0E7C9B;
  --accent2:#0A6480;
  /* 補助: sage=清潔なグリーン(空き/OK), gold=豪華さを消し"スチール情報色"へ */
  --sage:#1E8E6A;
  --gold:#5B7A99;
  --err:#C43D34;
  --ok:#1E8E6A;

  /* 影: ほぼフラット＝装飾を削る */
  --shadow-sm:0 1px 1px rgba(16,42,54,.04);
  --shadow-md:0 4px 16px -10px rgba(16,42,54,.16);

  /* 追加: 角丸を控えめに＝整然・専門的 */
  --radius-card:10px;
  --radius-input:8px;
  --radius-btn:8px;
  --radius-chip:8px;      /* pill を角丸長方形へ＝端正 */

  /* 追加: 見出し書体を serif italic → clean gothic へ（clinicの肝） */
  --font-head:'Zen Kaku Gothic New',system-ui,sans-serif;
  --font-head-style:normal;
  --font-head-weight:700;

  /* 追加: 余白（整然・やや密） */
  --pad-card:18px;
  --gap-section:14px;

  /* カレンダー状態色（clinic用に鎮静化・清潔感） */
  --avail-bg:#E7F3F7; --avail-ink:#0A6480; --avail-line:#C6E2EB;
  --full-bg:#F3E9E7;  --full-ink:#9A4038;  --full-line:#E6CFCB;
  --closed-bg:#EEF1F3;--closed-ink:#8593A0;--closed-line:#DFE5E9;
  --before-ink:#93A2AB; --skel:#EAEFF2;
}

/* ---- ダーク（OSダーク） ---- */
@media(prefers-color-scheme:dark){
  :root[data-industry="clinic"]:not([data-theme="light"]){
    --bg:#111A1F;
    --card:#18242B;
    --ink:#EAF1F4;
    --ink2:#A6B4BC;
    --ink3:#748690;
    --line:#293941;

    --accent:#35A9C9;
    --accent2:#2A93B0;
    --sage:#4FBF97;
    --gold:#8AA6C2;
    --err:#E3796F;
    --ok:#4FBF97;

    --shadow-sm:0 1px 1px rgba(0,0,0,.25);
    --shadow-md:0 4px 16px -10px rgba(0,0,0,.5);

    --avail-bg:#123039; --avail-ink:#7FD4E6; --avail-line:#1E4C58;
    --full-bg:#33211E;  --full-ink:#E39A90;  --full-line:#4A302B;
    --closed-bg:#1C282F;--closed-ink:#8593A0;--closed-line:#2A3A43;
    --before-ink:#6E808A; --skel:#1F2C33;
  }
}

/* ---- 明示トグル: ダーク（data-theme=dark が OS設定に勝つ） ---- */
:root[data-theme="dark"][data-industry="clinic"]{
  --bg:#111A1F; --card:#18242B; --ink:#EAF1F4; --ink2:#A6B4BC; --ink3:#748690; --line:#293941;
  --accent:#35A9C9; --accent2:#2A93B0; --sage:#4FBF97; --gold:#8AA6C2; --err:#E3796F; --ok:#4FBF97;
  --shadow-sm:0 1px 1px rgba(0,0,0,.25); --shadow-md:0 4px 16px -10px rgba(0,0,0,.5);
  --avail-bg:#123039; --avail-ink:#7FD4E6; --avail-line:#1E4C58;
  --full-bg:#33211E; --full-ink:#E39A90; --full-line:#4A302B;
  --closed-bg:#1C282F; --closed-ink:#8593A0; --closed-line:#2A3A43;
  --before-ink:#6E808A; --skel:#1F2C33;
}

/* ---- 明示トグル: ライト（data-theme=light が OSダークに勝つ） ---- */
:root[data-theme="light"][data-industry="clinic"]{
  --bg:#F4F7F9; --card:#FFFFFF; --ink:#1B2A33; --ink2:#566670; --ink3:#93A2AB; --line:#E1E8EC;
  --accent:#0E7C9B; --accent2:#0A6480; --sage:#1E8E6A; --gold:#5B7A99; --err:#C43D34; --ok:#1E8E6A;
  --shadow-sm:0 1px 1px rgba(16,42,54,.04); --shadow-md:0 4px 16px -10px rgba(16,42,54,.16);
  --avail-bg:#E7F3F7; --avail-ink:#0A6480; --avail-line:#C6E2EB;
  --full-bg:#F3E9E7; --full-ink:#9A4038; --full-line:#E6CFCB;
  --closed-bg:#EEF1F3; --closed-ink:#8593A0; --closed-line:#DFE5E9;
  --before-ink:#93A2AB; --skel:#EAEFF2;
}

/* ---- 追加トークンを base 要素へ適用する薄いブリッジ（見た目のみ・機能不変） ---- */
:root[data-industry="clinic"] .site{
  font-family:var(--font-head); font-style:var(--font-head-style); font-weight:var(--font-head-weight);
  font-size:clamp(24px,6vw,29px); letter-spacing:-.005em;
}
:root[data-industry="clinic"] .card{ border-radius:var(--radius-card); padding:var(--pad-card); }
:root[data-industry="clinic"] input,
:root[data-industry="clinic"] select,
:root[data-industry="clinic"] textarea{ border-radius:var(--radius-input); }
:root[data-industry="clinic"] .btn{ border-radius:var(--radius-btn); letter-spacing:.01em; }
:root[data-industry="clinic"] .trustChip{ border-radius:var(--radius-chip); }
/* 信頼バーを最初に読ませる＝医療の安心を先出し */
:root[data-industry="clinic"] .trustBar{ margin-top:0; margin-bottom:14px; }


/* ── 業種プリセット: 士業・専門相談 (professional) ──
   端正・信頼・落ち着いた濃紺。角丸小/浅く硬い影/明朝見出し で Nagomi 既定と差別化。
   ライト/ダーク両対応。 */
:root[data-industry="professional"]{
  /* 基調(ライト): クールオフホワイト＋濃紺 */
  --bg:#F4F6F9; --card:#FFFFFF;
  --ink:#182233; --ink2:#4A5568; --ink3:#8A94A6;
  --accent:#1E3A5F;      /* 塗り用ネイビー(白文字ボタンで AA) */
  --accent2:#152C48;     /* hover(より濃) */
  --accent-on:#1E3A5F;   /* 暗背景テキスト用(ライトでは同値) */
  --accent-soft:#E8EDF4; /* 選択地色/専門分野チップ地(ネイビー淡) */
  --sage:#2F6E52;        /* 確定/成功=抑制された深緑 */
  --gold:#9A7B33;        /* 資格・実績バッジ=真鍮 */
  --line:#E1E6ED; --err:#B23B34; --ok:#2F6E52;
  /* 士業向け新規トークン */
  --radius:8px; --radius-lg:10px; --radius-sm:6px;      /* きっちり精確(既定14pxより小) */
  --shadow-sm:0 1px 2px rgba(24,34,51,.06);
  --shadow-md:0 10px 30px -18px rgba(24,34,51,.22);     /* 浅く硬め=誇張なし */
  --font-head:'Shippori Mincho','Zen Old Mincho',serif; /* 明朝 upright=格式 */
  --font-body:'Zen Kaku Gothic New',system-ui,sans-serif;
  --font-num:'Space Grotesk',ui-monospace,monospace;
  --site-font-style:normal;                             /* 事務所名は italic でなく upright */
  /* カレンダー状態色(冷色系に再調律) */
  --avail-bg:#E9F1EA; --avail-ink:#2C6B45; --avail-line:#C6DCC9;
  --full-bg:#F3E7E5; --full-ink:#9A4038; --full-line:#E4CFCB;
  --closed-bg:#ECEFF3; --closed-ink:#7A8494; --closed-line:#DCE1E8;
  --before-ink:#8A94A6; --skel:#E7EBF1;
}
/* 事務所名/専門家名を明朝 upright に(既定 .site の Instrument Serif italic を上書き) */
:root[data-industry="professional"] .site{font-family:var(--font-head);font-style:var(--site-font-style);letter-spacing:0}

/* ── ダーク(prefers-color-scheme) ── */
@media(prefers-color-scheme:dark){
  :root[data-industry="professional"]:not([data-theme="light"]){
    --bg:#0F1620; --card:#161F2B;
    --ink:#E8EDF4; --ink2:#A9B4C4; --ink3:#6E7A8C;
    --accent:#2F5C8A;      /* 塗り用: 白文字ボタンが AA(≈7:1) */
    --accent2:#3E6FA8;     /* hover */
    --accent-on:#7FB0E6;   /* 暗背景テキスト用: .price/リンクはこちらを使用(≈6:1) */
    --accent-soft:#1B2A3D; /* 選択地色(ネイビー暗) */
    --sage:#5FB98B; --gold:#C9A65A;
    --line:#2A3543; --err:#E08B84; --ok:#5FB98B;
    --shadow-sm:0 1px 2px rgba(0,0,0,.28);
    --shadow-md:0 10px 30px -18px rgba(0,0,0,.5);
    --avail-bg:#17281E; --avail-ink:#8FD6A6; --avail-line:#2C4536;
    --full-bg:#2E1E1C; --full-ink:#E39A90; --full-line:#452B27;
    --closed-bg:#1A2430; --closed-ink:#6E7A8C; --closed-line:#2A3543;
    --before-ink:#6E7A8C; --skel:#1E2A38;
  }
}
/* テーマトグル(data-theme)を両方向で勝たせる */
:root[data-industry="professional"][data-theme="dark"]{
  --bg:#0F1620; --card:#161F2B; --ink:#E8EDF4; --ink2:#A9B4C4; --ink3:#6E7A8C;
  --accent:#2F5C8A; --accent2:#3E6FA8; --accent-on:#7FB0E6; --accent-soft:#1B2A3D;
  --sage:#5FB98B; --gold:#C9A65A; --line:#2A3543; --err:#E08B84; --ok:#5FB98B;
  --shadow-sm:0 1px 2px rgba(0,0,0,.28); --shadow-md:0 10px 30px -18px rgba(0,0,0,.5);
  --avail-bg:#17281E; --avail-ink:#8FD6A6; --avail-line:#2C4536;
  --full-bg:#2E1E1C; --full-ink:#E39A90; --full-line:#452B27;
  --closed-bg:#1A2430; --closed-ink:#6E7A8C; --closed-line:#2A3543;
  --before-ink:#6E7A8C; --skel:#1E2A38;
}
:root[data-industry="professional"][data-theme="light"]{
  --bg:#F4F6F9; --card:#FFFFFF; --ink:#182233; --ink2:#4A5568; --ink3:#8A94A6;
  --accent:#1E3A5F; --accent2:#152C48; --accent-on:#1E3A5F; --accent-soft:#E8EDF4;
  --sage:#2F6E52; --gold:#9A7B33; --line:#E1E6ED; --err:#B23B34; --ok:#2F6E52;
  --shadow-sm:0 1px 2px rgba(24,34,51,.06); --shadow-md:0 10px 30px -18px rgba(24,34,51,.22);
  --avail-bg:#E9F1EA; --avail-ink:#2C6B45; --avail-line:#C6DCC9;
  --full-bg:#F3E7E5; --full-ink:#9A4038; --full-line:#E4CFCB;
  --closed-bg:#ECEFF3; --closed-ink:#7A8494; --closed-line:#DCE1E8;
  --before-ink:#8A94A6; --skel:#E7EBF1;
}


/* ===== 美容/ネイル/まつげ/ヘア: data-industry="beauty" ===== */
/* ローズ×シャンパンゴールド。丸み大きめ・柔らかい拡散影で"サロンの華やぎ"を表現 */
:root[data-industry="beauty"]{
  /* --- 既存トークン名の上書き(色味を華やかローズ基調へ) --- */
  --bg:#FBF6F5;        /* 温かみのあるブラッシュ・オフホワイト */
  --card:#FFFFFF;
  --ink:#2C2126;       /* プラム寄りのニアブラック(温色) */
  --ink2:#6E5A62;
  --ink3:#A8949C;
  --accent:#B84A6E;    /* シックなローズ・プラム(主役色) */
  --accent2:#9C3557;   /* hover用の深いローズ(ライトでは濃く) */
  --sage:#3E9E7A;      /* 肯定/空き枠のセカンダリ(上品なエメラルド寄り) */
  --gold:#C9A24E;      /* シャンパンゴールド(あしらい/価格の格上げ) */
  --line:#F0E1E6;      /* ローズグレーの繊細な罫 */
  --err:#C0392B;
  --ok:#3E9E7A;
  --shadow-sm:0 1px 3px rgba(120,60,80,.06);
  --shadow-md:0 16px 46px -18px rgba(120,50,78,.22); /* 柔らかく広がる高級感のある影 */
  /* --- 追加トークン(業種差の骨格) --- */
  --shadow:var(--shadow-md);
  --radius-card:20px;   /* 丸み大=柔らかさ・女性的な優しさ */
  --radius-input:13px;
  --radius-btn:999px;   /* ピル型ボタンでファッション/コスメ感 */
  --radius-media:16px;  /* メニュー写真/ヒーロー画像の角丸 */
  --font-head:'Instrument Serif',serif; /* エディトリアルな見出し(セリフ・伊体) */
  --space-section:22px;
  --accent-soft:color-mix(in srgb,var(--accent) 8%,transparent);   /* 選択カードの淡い下地 */
  --gold-hair:color-mix(in srgb,var(--gold) 55%,transparent);      /* ゴールド細線あしらい */
  --hero-overlay:linear-gradient(180deg,rgba(44,33,38,0) 40%,rgba(44,33,38,.55) 100%);
}
/* OS ダーク(既存パターン踏襲) */
@media(prefers-color-scheme:dark){
  :root[data-industry="beauty"]:not([data-theme="light"]){
    --bg:#1A1418; --card:#241C21; --ink:#F5EBEF; --ink2:#C4B0B8; --ink3:#8E7C84; --line:#3E2F37;
    --accent:#E58DAC;   /* 暗背景で映えるよう明度up */
    --accent2:#EFA6C0;  /* dark時のhoverは"より明るく" */
    --sage:#5FC39C; --gold:#E4C878;
    --shadow-sm:0 1px 2px rgba(0,0,0,.28);
    --shadow-md:0 14px 42px -18px rgba(0,0,0,.55);
    --hero-overlay:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.62) 100%);
  }
}
/* テーマ手動トグル(root[data-theme]が最優先) */
:root[data-industry="beauty"][data-theme="dark"]{
  --bg:#1A1418; --card:#241C21; --ink:#F5EBEF; --ink2:#C4B0B8; --ink3:#8E7C84; --line:#3E2F37;
  --accent:#E58DAC; --accent2:#EFA6C0; --sage:#5FC39C; --gold:#E4C878;
  --shadow-sm:0 1px 2px rgba(0,0,0,.28); --shadow-md:0 14px 42px -18px rgba(0,0,0,.55);
  --hero-overlay:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.62) 100%);
}
:root[data-industry="beauty"][data-theme="light"]{
  --bg:#FBF6F5; --card:#FFFFFF; --ink:#2C2126; --ink2:#6E5A62; --ink3:#A8949C; --line:#F0E1E6;
  --accent:#B84A6E; --accent2:#9C3557; --sage:#3E9E7A; --gold:#C9A24E;
  --shadow-sm:0 1px 3px rgba(120,60,80,.06); --shadow-md:0 16px 46px -18px rgba(120,50,78,.22);
  --hero-overlay:linear-gradient(180deg,rgba(44,33,38,0) 40%,rgba(44,33,38,.55) 100%);
}
/* beauty: 追加トークンを base 要素へ配線(見た目のみ・機能不変) */
:root[data-industry="beauty"] .site{ font-family:var(--font-head,'Instrument Serif',serif); }
:root[data-industry="beauty"] .card{ border-radius:var(--radius-card,14px); }
:root[data-industry="beauty"] input,
:root[data-industry="beauty"] select,
:root[data-industry="beauty"] .intakeBox textarea{ border-radius:var(--radius-input,10px); }
:root[data-industry="beauty"] .btn{ border-radius:var(--radius-btn,11px); letter-spacing:.02em; }


/* ═══ 業種プリセット: rental(レンタル/機材) ═══
   base を「クール utility-blue + 在庫ボード」に上書き。
   ライト/ダーク両対応。@media と [data-theme] の二段掛け。 */

/* ── LIGHT(基底) ── */
:root[data-industry="rental"]{
  --bg:#F2F5F9; --card:#FFFFFF;
  --ink:#182533; --ink2:#4B5B6B; --ink3:#8797A6;
  --accent:#1F6FEB; --accent2:#1657C4;      /* 信頼・在庫管理の utility blue */
  --sage:#12764A; --gold:#C9821E;            /* success=在庫グリーン / express=当日レンタル琥珀 */
  --line:#DBE3EC; --err:#C0392B; --ok:#12764A;
  --shadow-sm:0 1px 2px rgba(24,37,51,.06);
  --shadow-md:0 8px 22px -12px rgba(24,37,51,.18);
  /* 追加トークン(統合側でレイアウトが参照) */
  --font-head:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --font-head-style:normal; --font-head-weight:700; --font-head-tracking:-.01em;
  --radius:10px; --radius-lg:14px; --radius-pill:999px;  /* spa より角を締めた実務感 */
  --space-card:18px; --focus:var(--accent);
  /* 在庫カレンダー状態色(このプリセットの主役) */
  --avail-bg:#E4F5EC; --avail-ink:#12764A; --avail-line:#A9E0C1; /* 在庫あり=はっきりした緑 */
  --full-bg:#FBECD9;  --full-ink:#9A5B14;  --full-line:#F0CE9C;  /* 貸出中=琥珀 */
  --closed-bg:#EAEEF3; --closed-ink:#6E7E8E; --closed-line:#D3DCE5; /* 受付外=クールグレー */
  --before-ink:#8797A6; --skel:#E4E9EF;
}
/* 見出しを実用 sans に(base の .site は Instrument Serif italic をハードコードしているため上書き) */
:root[data-industry="rental"] .site{
  font-family:var(--font-head); font-style:var(--font-head-style);
  font-weight:var(--font-head-weight); letter-spacing:var(--font-head-tracking);
}
:root[data-industry="rental"] .serif{ /* serif ユーティリティも技術見出しへ寄せる */
  font-family:var(--font-head); font-style:normal; font-weight:700;
}

/* ── DARK(OS 設定・data-theme 未指定時) ── */
@media(prefers-color-scheme:dark){
  :root[data-industry="rental"]:not([data-theme="light"]){
    --bg:#0F1620; --card:#18222E;
    --ink:#E7EEF5; --ink2:#A7B6C4; --ink3:#71828F;
    --accent:#4C97FF; --accent2:#3B82E6;
    --sage:#4FC98A; --gold:#E0A94E; --line:#2A3846; --ok:#4FC98A;
    --shadow-sm:0 1px 2px rgba(0,0,0,.25);
    --shadow-md:0 6px 18px -12px rgba(0,0,0,.45);
    --avail-bg:#12291F; --avail-ink:#63D69B; --avail-line:#245038;
    --full-bg:#2E2211;  --full-ink:#E3AC5E; --full-line:#4A3820;
    --closed-bg:#1C2732; --closed-ink:#8797A6; --closed-line:#2E3B48;
    --before-ink:#71828F; --skel:#212D3A;
  }
}
/* ── DARK(ビューアが明示トグル) ── */
:root[data-industry="rental"][data-theme="dark"]{
  --bg:#0F1620; --card:#18222E; --ink:#E7EEF5; --ink2:#A7B6C4; --ink3:#71828F;
  --accent:#4C97FF; --accent2:#3B82E6; --sage:#4FC98A; --gold:#E0A94E; --line:#2A3846; --ok:#4FC98A;
  --shadow-sm:0 1px 2px rgba(0,0,0,.25); --shadow-md:0 6px 18px -12px rgba(0,0,0,.45);
  --avail-bg:#12291F; --avail-ink:#63D69B; --avail-line:#245038;
  --full-bg:#2E2211; --full-ink:#E3AC5E; --full-line:#4A3820;
  --closed-bg:#1C2732; --closed-ink:#8797A6; --closed-line:#2E3B48;
  --before-ink:#71828F; --skel:#212D3A;
}
/* ── LIGHT(ビューアが明示トグル→OS dark を打ち消す) ── */
:root[data-industry="rental"][data-theme="light"]{
  --bg:#F2F5F9; --card:#FFFFFF; --ink:#182533; --ink2:#4B5B6B; --ink3:#8797A6;
  --accent:#1F6FEB; --accent2:#1657C4; --sage:#12764A; --gold:#C9821E; --line:#DBE3EC; --ok:#12764A;
  --shadow-sm:0 1px 2px rgba(24,37,51,.06); --shadow-md:0 8px 22px -12px rgba(24,37,51,.18);
  --avail-bg:#E4F5EC; --avail-ink:#12764A; --avail-line:#A9E0C1;
  --full-bg:#FBECD9; --full-ink:#9A5B14; --full-line:#F0CE9C;
  --closed-bg:#EAEEF3; --closed-ink:#6E7E8E; --closed-line:#D3DCE5;
  --before-ink:#8797A6; --skel:#E4E9EF;
}


/* ============================================================
   業種プリセット: facility(施設・スペース・会議室)
   クールなブルー×スレート/小さめ角丸/幾何学grotesk見出し。
   既存トークン名を上書き + 新規追加。ライト/ダーク両対応。
   ============================================================ */

/* --- ベース(ライト + 共通の新規トークン) --- */
:root[data-industry="facility"]{
  --bg:#EEF2F7; --card:#FFFFFF;
  --ink:#182230; --ink2:#5A6472; --ink3:#8A94A3;
  --accent:#2563EB; --accent2:#1D4FD0;
  --sage:#0E9F6E; --ok:#059669;
  --gold:#B7791F;
  --line:#DCE3EC; --err:#DC2626;
  --shadow-sm:0 1px 2px rgba(24,34,48,.07);
  --shadow-md:0 10px 28px -14px rgba(24,34,48,.20);

  /* 空き枠カレンダー = 主役。状態色をクール系に再調律 */
  --avail-bg:#E3F2EC; --avail-ink:#0B7A54; --avail-line:#B9E2D2;
  --full-bg:#FCE9E7;  --full-ink:#B23A30;  --full-line:#F3D0CC;
  --closed-bg:#EAEEF3; --closed-ink:#7A8494; --closed-line:#D8DFE8;
  --before-ink:#8A94A3; --skel:#E4EAF1;

  /* 新規: 角丸は"きっちり"寄せ */
  --radius:9px; --radius-sm:7px; --radius-lg:12px; --radius-pill:999px;
  /* 新規: 見出し書体 = 幾何学grotesk(既ロードのSpace Grotesk) */
  --font-head:'Space Grotesk',system-ui,sans-serif;
  --font-num:'Space Grotesk',ui-monospace,monospace;
  /* 新規: 余白リズム */
  --space-unit:4px; --gap-grid:8px; --card-pad:18px;
  /* 新規: フォーカスリング */
  --focus-ring:2px solid var(--accent);
}

/* --- ダーク(OS設定) --- */
@media(prefers-color-scheme:dark){
  :root[data-industry="facility"]:not([data-theme="light"]){
    --bg:#0F141B; --card:#18202B;
    --ink:#E8EDF3; --ink2:#A6B0BE; --ink3:#6E7887;
    --accent:#4F86F7; --accent2:#3B6FE0;
    --sage:#34D399; --ok:#34D399; --gold:#E0B057;
    --line:#2A3341;
    --shadow-sm:0 1px 2px rgba(0,0,0,.35);
    --shadow-md:0 10px 30px -14px rgba(0,0,0,.55);
    --avail-bg:#122A22; --avail-ink:#4FD9A3; --avail-line:#20402F;
    --full-bg:#2E1A18;  --full-ink:#F0938A;  --full-line:#4A2A26;
    --closed-bg:#1B222C; --closed-ink:#7A8494; --closed-line:#2C3542;
    --before-ink:#6E7887; --skel:#1E2732;
  }
}

/* --- ダーク(アプリ内トグル data-theme=dark を最優先) --- */
:root[data-industry="facility"][data-theme="dark"]{
  --bg:#0F141B; --card:#18202B;
  --ink:#E8EDF3; --ink2:#A6B0BE; --ink3:#6E7887;
  --accent:#4F86F7; --accent2:#3B6FE0;
  --sage:#34D399; --ok:#34D399; --gold:#E0B057;
  --line:#2A3341;
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --shadow-md:0 10px 30px -14px rgba(0,0,0,.55);
  --avail-bg:#122A22; --avail-ink:#4FD9A3; --avail-line:#20402F;
  --full-bg:#2E1A18;  --full-ink:#F0938A;  --full-line:#4A2A26;
  --closed-bg:#1B222C; --closed-ink:#7A8494; --closed-line:#2C3542;
  --before-ink:#6E7887; --skel:#1E2732;
}

/* --- ライト(アプリ内トグル data-theme=light を最優先で戻す) --- */
:root[data-industry="facility"][data-theme="light"]{
  --bg:#EEF2F7; --card:#FFFFFF;
  --ink:#182230; --ink2:#5A6472; --ink3:#8A94A3;
  --accent:#2563EB; --accent2:#1D4FD0;
  --sage:#0E9F6E; --ok:#059669; --gold:#B7791F;
  --line:#DCE3EC;
  --shadow-sm:0 1px 2px rgba(24,34,48,.07);
  --shadow-md:0 10px 28px -14px rgba(24,34,48,.20);
  --avail-bg:#E3F2EC; --avail-ink:#0B7A54; --avail-line:#B9E2D2;
  --full-bg:#FCE9E7;  --full-ink:#B23A30;  --full-line:#F3D0CC;
  --closed-bg:#EAEEF3; --closed-ink:#7A8494; --closed-line:#D8DFE8;
  --before-ink:#8A94A3; --skel:#E4EAF1;
}

/* --- 見出しを grotesk 化(施術者名の serif italic を業種で上書き)。 --- */
:root[data-industry="facility"] .site{
  font-family:var(--font-head); font-style:normal; font-weight:700;
  letter-spacing:-.02em;
}
/* express(直前割)枠のアンバーもクール面に馴染ませる(任意の微調整) */
:root[data-industry="facility"] .slot.express,
:root[data-industry="facility"] .wslot.express{
  background:#FEF3E2; border-color:#F0CE8E;
}
:root[data-industry="facility"] .slot.express .stime,
:root[data-industry="facility"] .wslot.express .wstime,
:root[data-industry="facility"] .slot.express .slab{ color:#9A6A18; }
:root[data-industry="facility"][data-theme="dark"] .slot.express,
:root[data-industry="facility"][data-theme="dark"] .wslot.express{
  background:#2C2410; border-color:#574518;
}


/* ── 業種プリセット: dining（飲食店/レストラン/カフェ）──
   既存トークンを上書き＋dining固有トークンを追加。ライト/ダーク両対応。
   食欲をそそる暖色・座席/人数選択が主役。予約フロー/占有/料金は不変・見た目のみ。 */
:root[data-industry="dining"]{
  /* --- 上書き: 食欲をそそる暖色・高めの彩度（シズル感）--- */
  --bg:#FBF5EC; --card:#FFFCF6; --ink:#2E211A; --ink2:#6E5A4E; --ink3:#9C8877;
  --accent:#BE3A2B; --accent2:#9E2C20; --sage:#5E8C4F; --gold:#D69A2D; --line:#ECDFCE;
  --err:#B4322A; --ok:#5E8C4F;
  --shadow-sm:0 1px 2px rgba(46,33,26,.05);
  --shadow-md:0 12px 32px -16px rgba(120,60,40,.22);
  /* --- 追加: 中庸の角丸・暖色の影・詰めた余白・見出しセリフ・座席カード地 --- */
  --radius:16px; --radius-sm:12px; --radius-input:12px; --radius-pill:999px;
  --shadow-warm:0 14px 40px -20px rgba(150,70,45,.30);
  --font-head:'Instrument Serif',serif;
  --space-card:20px; --space-section:22px;
  --seat-bg:#FBEFD6; --seat-line:#EBC98A;
}
/* dark: 夜の賑わうビストロ（深い炭色地・レッド/アンバーを発光）*/
@media(prefers-color-scheme:dark){
  :root[data-industry="dining"]:not([data-theme="light"]){
    --bg:#1E1613; --card:#281E19; --ink:#F5EBE1; --ink2:#C2AB9C; --ink3:#8E7A6C; --line:#453730;
    --accent:#E06A54; --accent2:#EC8570; --sage:#8DBD79; --gold:#E8B44F;
    --err:#E68C7E; --ok:#8DBD79;
    --shadow-sm:0 1px 2px rgba(0,0,0,.28);
    --shadow-md:0 14px 38px -18px rgba(0,0,0,.55);
    --shadow-warm:0 16px 44px -22px rgba(0,0,0,.6);
    --seat-bg:#33261A; --seat-line:#6A4E24;
  }
}
:root[data-industry="dining"][data-theme="dark"]{
  --bg:#1E1613; --card:#281E19; --ink:#F5EBE1; --ink2:#C2AB9C; --ink3:#8E7A6C; --line:#453730;
  --accent:#E06A54; --accent2:#EC8570; --sage:#8DBD79; --gold:#E8B44F;
  --err:#E68C7E; --ok:#8DBD79;
  --shadow-sm:0 1px 2px rgba(0,0,0,.28);
  --shadow-md:0 14px 38px -18px rgba(0,0,0,.55);
  --shadow-warm:0 16px 44px -22px rgba(0,0,0,.6);
  --seat-bg:#33261A; --seat-line:#6A4E24;
}
/* forced light（システムが dark でも light 指定を優先）*/
:root[data-industry="dining"][data-theme="light"]{
  --bg:#FBF5EC; --card:#FFFCF6; --ink:#2E211A; --ink2:#6E5A4E; --ink3:#9C8877;
  --accent:#BE3A2B; --accent2:#9E2C20; --sage:#5E8C4F; --gold:#D69A2D; --line:#ECDFCE;
  --err:#B4322A; --ok:#5E8C4F;
  --shadow-md:0 12px 32px -16px rgba(120,60,40,.22);
  --shadow-warm:0 14px 40px -20px rgba(150,70,45,.30);
  --seat-bg:#FBEFD6; --seat-line:#EBC98A;
}
/* dining: 新規トークンをコンポーネントへ配線（既定値フォールバック付き＝他業種/未設定はデグレ無し）*/
:root[data-industry="dining"] .card{
  border-radius:var(--radius,14px); padding:var(--space-card,20px); box-shadow:var(--shadow-warm,var(--shadow-sm));
}
:root[data-industry="dining"] input,
:root[data-industry="dining"] select,
:root[data-industry="dining"] .intakeBox textarea{ border-radius:var(--radius-input,10px); }
:root[data-industry="dining"] .btn{ border-radius:var(--radius-pill,11px); letter-spacing:.03em; }
:root[data-industry="dining"] .site{ font-family:var(--font-head,'Instrument Serif',serif); }
:root[data-industry="dining"] h2{ font-family:var(--font-head,inherit); font-style:italic; font-size:18px; font-weight:400; }
:root[data-industry="dining"] .daycell,
:root[data-industry="dining"] .slot,
:root[data-industry="dining"] .wslot{ border-radius:var(--radius-sm,10px); }
/* 座席/人数選択を主役に格上げ（表示ON/OFFの機能は不変・見た目のみ）。 */
:root[data-industry="dining"] .seatsRow{
  padding:14px 16px; border:1px solid var(--seat-line,var(--line));
  background:var(--seat-bg,var(--card)); border-radius:var(--radius,14px);
}
:root[data-industry="dining"] .seatsRow .stepper button{
  border-color:var(--seat-line,var(--line)); font-size:22px;
}
:root[data-industry="dining"] .seatsRow .stepper button:hover{ border-color:var(--accent); }
:root[data-industry="dining"] .seatsRow .stepper input{ font-size:18px; color:var(--accent2); }


/* ── 業種プリセット: spiritual（占い/スピリチュアル/カウンセリング）──
   既存トークンを上書き＋spiritual固有トークンを追加。ライト/ダーク両対応。
   予約フロー/占有/料金は不変・見た目のみ。空き枠/満席の意味色(--avail-* / --full-*)は不変。 */
:root[data-industry="spiritual"]{
  /* --- 上書き: 薄暮のアメジスト×蝋燭アンバー×月光ニュートラル --- */
  --bg:#F4F1F6; --card:#FCFAFD; --ink:#2E2833; --ink2:#6B6274; --ink3:#9A92A4;
  --accent:#7A5EA0; --accent2:#63488A; --sage:#5E9A86; --gold:#C29A44; --line:#E7DFEC;
  --err:#B4564C; --ok:#5F9576;
  --shadow-sm:0 1px 2px rgba(46,40,51,.05);
  --shadow-md:0 16px 46px -24px rgba(90,66,130,.24);
  /* --- 追加: 柔らかい曲線・にじむオーラ影・余白・見出しセリフ・薄暮グラデ --- */
  --radius:16px; --radius-sm:12px; --radius-input:12px; --radius-pill:999px;
  --shadow-aura:0 20px 60px -28px rgba(122,94,160,.34);
  --font-head:'Instrument Serif',serif;
  --space-card:22px; --space-section:26px;
  --aura:linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,transparent),
    color-mix(in srgb,var(--gold) 22%,transparent));
}
/* dark: 星空・月光・灯したキャンドル（深いインディゴ/プラム地・アメジスト/アンバーを灯す）*/
@media(prefers-color-scheme:dark){
  :root[data-industry="spiritual"]:not([data-theme="light"]){
    --bg:#181320; --card:#211A2B; --ink:#EFE9F3; --ink2:#B6ABC2; --ink3:#847A93; --line:#3A3147;
    --accent:#B49BDB; --accent2:#C7B2E6; --sage:#79BFA3; --gold:#E0C066;
    --err:#E09A90; --ok:#7FBE9A;
    --shadow-sm:0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 18px 50px -26px rgba(0,0,0,.55);
    --shadow-aura:0 22px 64px -30px rgba(150,120,210,.5);
    --aura:linear-gradient(135deg,color-mix(in srgb,var(--accent) 34%,transparent),
      color-mix(in srgb,var(--gold) 24%,transparent));
  }
}
:root[data-industry="spiritual"][data-theme="dark"]{
  --bg:#181320; --card:#211A2B; --ink:#EFE9F3; --ink2:#B6ABC2; --ink3:#847A93; --line:#3A3147;
  --accent:#B49BDB; --accent2:#C7B2E6; --sage:#79BFA3; --gold:#E0C066;
  --err:#E09A90; --ok:#7FBE9A;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 18px 50px -26px rgba(0,0,0,.55);
  --shadow-aura:0 22px 64px -30px rgba(0,0,0,.55);
  --aura:linear-gradient(135deg,color-mix(in srgb,var(--accent) 34%,transparent),
    color-mix(in srgb,var(--gold) 24%,transparent));
}
/* forced light（システムが dark でも light 指定を優先）*/
:root[data-industry="spiritual"][data-theme="light"]{
  --bg:#F4F1F6; --card:#FCFAFD; --ink:#2E2833; --ink2:#6B6274; --ink3:#9A92A4;
  --accent:#7A5EA0; --accent2:#63488A; --sage:#5E9A86; --gold:#C29A44; --line:#E7DFEC;
  --err:#B4564C; --ok:#5F9576;
  --shadow-md:0 16px 46px -24px rgba(90,66,130,.24);
  --shadow-aura:0 20px 60px -28px rgba(122,94,160,.34);
  --aura:linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,transparent),
    color-mix(in srgb,var(--gold) 22%,transparent));
}
/* spiritual: 新規トークンをコンポーネントへ配線（既定値フォールバック付き＝他業種/未設定はデグレ無し）*/
:root[data-industry="spiritual"] .card{
  border-radius:var(--radius,14px); padding:var(--space-card,20px); box-shadow:var(--shadow-aura,var(--shadow-sm));
}
:root[data-industry="spiritual"] input,
:root[data-industry="spiritual"] select,
:root[data-industry="spiritual"] .intakeBox textarea{ border-radius:var(--radius-input,10px); }
:root[data-industry="spiritual"] .btn{ border-radius:var(--radius-pill,11px); letter-spacing:.03em; }
:root[data-industry="spiritual"] .site{ font-family:var(--font-head,'Instrument Serif',serif); }
:root[data-industry="spiritual"] h2{ font-family:var(--font-head,inherit); font-style:italic; font-size:18px; font-weight:400; }
:root[data-industry="spiritual"] .daycell,
:root[data-industry="spiritual"] .slot,
:root[data-industry="spiritual"] .wslot{ border-radius:var(--radius-sm,10px); }
/* ヒーロー/選択サマリの薄暮グラデ地（写真未設定でも神秘的に成立させるフォールバック）*/
:root[data-industry="spiritual"] .selSummary{ background:var(--aura); border-color:transparent; }
