/* 改版履歴
 * - 2026-06-13 menu.php オーダーボタン下余白を 5rem に縮小（padding のみ・inner margin は廃止）。
 * - 2026-06-13 menu.php オーダーボタン下余白：Bootstrap py-3 の !important に負けていたため inner に margin も追加。
 * - 2026-06-13 menu.php 右下オーダーボタン下の余白を増やし最終行の数量入力が隠れないようにした。
 * - 2026-06-13 index.php を 151a 同型（オレンジ背景・サイトナビ）に変更。静的ページ用スタイルを追加。
 * - 2026-06-12 数量列ヘッダーは文言幅に合わせ、入力セルのみ 2 桁幅を維持。
 * - 2026-06-12 料理名セル：ユーザー言語（上）・メニュー原本（下・小・灰）の2行表示。
 * - 2026-06-12 スタッフ注文画面のお願い文スタイルを追加。
 * - 2026-06-12 料理名タップ（Gemini 解説モーダル）用スタイルを追加。
 * - 2026-06-12 スタッフ向け注文画面の見出しをヘッダー表示に変更。
 * - 2026-06-12 数量 input を数値専用（text＋numeric）に変更しスピナー CSS を整理。
 * - 2026-06-12 右下追従オーダーボタン・スタッフ向け注文一覧表示を追加。
 * - 2026-06-12 数量 input を列幅いっぱい（最大2桁）に表示するよう修正。
 * - 2026-06-12 数量 input の幅・余白を2桁用に調整。
 * - 2026-06-12 menu.php 数量列（最大2桁幅）を追加。
 * - 2026-06-12 menu.php テーブルヘッダー・アクティブタブの背景色を追加。
 * - 2026-06-12 index.php 読込履歴一覧用スタイルを追加。
 * - 2026-06-12 menu.php テーブル・OCR 進捗表示用スタイルを追加。

 * - 2026-06-12 メニュー写真サムネ一覧用スタイルを追加。

 * - 2026-06-12 ファイル選択をカメラアイコンボタン用スタイルを追加。

 * - 2026-06-12 固定フッター用スタイルを削除（読込はフォーム内）。

 * - 2026-06-12 index.php トップ（151a 同型・default 白黒）。

 * - 2026-06-12 初版（Meshi 固有スタイル用。151a_meshi ルートから読込）。

 */



/* ==========================================================================

   Meshi アプリ専用スタイル（151a 同型・オレンジ基調）

   ========================================================================== */



body.app-meshi-landing {

  background-color: #fff0e6;

  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  color: #333333;

}



.app-meshi-landing-header {

  background-color: #ffffff !important;

}



.app-meshi-landing-header .navbar-brand {

  font-weight: 700;

  color: #e59362 !important;

}



.app-meshi-landing-main {

  margin: 0 auto;

}



body.app-meshi-menu-page .app-meshi-landing-main {

  /* py-3 が padding-bottom に !important を付けるため上書き。ボタン高＋下1rem＋少し隙間 */

  padding-bottom: 5rem !important;

}



.app-meshi-form-panel {

  background-color: #ffffff;

  border: 1px solid #f0c9a8;

  box-shadow: 0 4px 20px rgba(229, 147, 98, 0.08);

}



.app-meshi-camera-btn {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 4.5rem;

  height: 4.5rem;

  margin: 0;

  border: 2px solid var(--bs-primary-border-subtle);

  border-radius: 50%;

  background-color: #ffffff;

  color: var(--bs-body-color);

  cursor: pointer;

}



.app-meshi-camera-btn:hover,

.app-meshi-camera-btn:focus {

  border-color: var(--bs-primary);

  color: var(--bs-body-color);

  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);

}



.app-meshi-thumb-list {

  display: flex;

  flex-wrap: wrap;

  gap: 0.5rem;

  justify-content: center;

  margin-top: 1rem;

}



.app-meshi-thumb-list:empty {

  display: none;

}



.app-meshi-thumb-item {

  position: relative;

  width: 5rem;

  height: 5rem;

}



.app-meshi-thumb-item img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  border-radius: 8px;

  border: 1px solid var(--bs-primary-border-subtle);

  background-color: #ffffff;

}



.app-meshi-thumb-remove {

  position: absolute;

  top: -0.35rem;

  right: -0.35rem;

  width: 1.5rem;

  height: 1.5rem;

  padding: 0;

  border: 1px solid var(--bs-primary-border-subtle);

  border-radius: 50%;

  background-color: #ffffff;

  color: var(--bs-body-color);

  line-height: 1;

  cursor: pointer;

}



.app-meshi-thumb-remove:hover,

.app-meshi-thumb-remove:focus {

  border-color: var(--bs-primary);

  box-shadow: 0 0 0 0.2rem var(--bs-focus-ring-color);

}



.app-meshi-submit-btn {

  font-weight: 700;

  padding: 0.8rem 1.5rem;

  border-radius: 30px !important;

  background-color: #e59362 !important;

  border-color: #e59362 !important;

  box-shadow: 0 4px 15px rgba(229, 147, 98, 0.4);

}

.app-meshi-submit-btn:hover,

.app-meshi-submit-btn:focus {

  background-color: #d67f4b !important;

  border-color: #d67f4b !important;

  box-shadow: 0 2px 6px rgba(229, 147, 98, 0.2);

}

.app-meshi-history-list .list-group-item {

  background-color: transparent;

  border-color: #f0c9a8;

}

.app-meshi-history-link {

  color: #2c4e44;

}

.app-meshi-history-link:hover,

.app-meshi-history-link:focus {

  color: #e59362;

  opacity: 1;

}

/* トップ末尾・静的ページ共通のサイトリンク（プライバシー・X） */

.app-meshi-site-nav {

  border-top: 1px solid #f0c9a8;

  padding-top: 1rem;

  margin-top: 0.5rem;

}

.app-meshi-site-nav .app-meshi-site-nav-list {

  display: flex;

  flex-wrap: nowrap;

  align-items: center;

  justify-content: space-between;

  gap: 0.5rem;

  list-style: none;

  margin: 0;

  padding: 0;

  font-size: 0.8rem;

}

.app-meshi-site-nav .app-meshi-site-nav-list > li {

  flex: 1;

  text-align: center;

}

.app-meshi-site-nav a {

  color: #2c4e44;

  text-decoration: none;

}

.app-meshi-site-nav a:hover {

  color: #e59362;

  text-decoration: underline;

}

.app-meshi-site-nav a.app-meshi-site-nav-x {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 1.625rem;

  height: 1.625rem;

  background-color: #000000;

  color: #ffffff;

  border-radius: 0.25rem;

  font-size: 0.85rem;

  line-height: 1;

  text-decoration: none;

  vertical-align: middle;

}

.app-meshi-site-nav a.app-meshi-site-nav-x:hover {

  background-color: #1a1a1a;

  color: #ffffff;

  text-decoration: none;

}

/* 静的ページ（プライバシーポリシー） */

body.app-meshi-static {

  background-color: #fff0e6;

  color: #333333;

  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

}

.app-meshi-static-main {

  margin: 0 auto;

  padding: 1.5rem 0.75rem 2.5rem;

}

.app-meshi-static-container {

  background-color: #ffffff;

  border-radius: 16px;

  box-shadow: 0 4px 20px rgba(229, 147, 98, 0.1);

  border: 1px solid #f0c9a8;

  padding: 1.5rem;

}

@media (min-width: 768px) {

  .app-meshi-static-container {

    padding: 2.5rem;

  }

}

.app-meshi-static-highlight {

  background-color: #fff9e6;

  border: 1px solid #ffe699;

  border-radius: 8px;

  padding: 1rem;

  margin: 1rem 0;

}

.app-meshi-landing-inner > .nav-tabs .nav-link.active {

  background-color: var(--bs-secondary-bg);

}



.app-meshi-dish-name {

  cursor: pointer;

}



.app-meshi-dish-name-main {

  display: block;

}



.app-meshi-dish-name-menu {

  display: block;

  font-size: 0.75rem;

  color: var(--bs-secondary-color);

  line-height: 1.25;

  margin-top: 0.125rem;

}



.app-meshi-menu-table th {

  font-weight: 600;

  background-color: var(--bs-secondary-bg);

}



.app-meshi-menu-table td {

  background-color: #ffffff;

}



.app-meshi-col-page {

  width: 4rem;

  white-space: nowrap;

}



.app-meshi-col-price {

  width: 5rem;

  white-space: nowrap;

}



.app-meshi-menu-table th.app-meshi-col-qty {

  width: auto;

  max-width: none;

  white-space: nowrap;

  vertical-align: middle;

}



.app-meshi-menu-table td.app-meshi-col-qty {

  width: 3rem;

  max-width: 3rem;

  padding-left: 0.125rem;

  padding-right: 0.125rem;

  white-space: nowrap;

  vertical-align: middle;

}



.app-meshi-menu-table .app-meshi-qty-input {

  display: block;

  width: 100%;

  max-width: 100%;

  min-width: 0;

  padding-left: 0.125rem;

  padding-right: 0.125rem;

  text-align: right;

  box-sizing: border-box;

}



.app-meshi-order-btn {

  position: fixed;

  right: 1rem;

  bottom: 1rem;

  z-index: 1030;

  border-radius: 30px !important;

  padding-left: 1.25rem;

  padding-right: 1.25rem;

}



.app-meshi-staff-order {

  position: fixed;

  inset: 0;

  z-index: 1040;

  display: flex;

  flex-direction: column;

  background-color: #ffffff;

}



.app-meshi-staff-order-header {

  flex-shrink: 0;

}



.app-meshi-staff-order-main {

  flex: 1;

  overflow-y: auto;

}



.app-meshi-staff-order-request {

  font-size: 1.125rem;

  font-weight: 600;

  text-align: center;

}



.app-meshi-staff-order-item {

  font-size: 1.75rem;

  font-weight: 700;

  line-height: 1.4;

  margin-bottom: 1rem;

  word-break: break-word;

}



.app-meshi-staff-order-empty {

  font-size: 1.125rem;

  text-align: center;

  color: var(--bs-secondary-color);

}



body.app-meshi-staff-order-open {

  overflow: hidden;

}

