/**
 * システム設定制御専用CSS
 * iPhoneの「拡大表示で文字を拡大」設定対策
 * 
 * このファイルは、iPhoneのシステム設定によるレイアウト崩れを防ぐために
 * フォントサイズを強制的に固定します。
 */

/* ===================================
   基本設定の強制
   =================================== */

/* 全ての要素のフォントサイズを強制設定 */
* {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* HTML要素のフォントサイズを強制設定 */
html {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* Body要素のフォントサイズを強制設定 */
body {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* ===================================
   重要な要素の完全固定
   =================================== */

/* メニューセクション */
.menu-section {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.menu-section h2 {
  font-size: 26px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.menu-section .section-subtitle {
  font-size: 14px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 支払いセクション */
.payment-section {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.payment-box, .change-box {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.payment-label, .change-label {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.payment-input {
  font-size: 32px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.change-amount {
  font-size: 28px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* ボタン類 */
.button, .btn, button {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.menu-btn {
  font-size: 15px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.quantity-btn {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.add-to-cart-btn {
  font-size: 15px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 入力フィールド */
input, select, textarea {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* モーダル */
.modal, .history-modal, .weekly-history-modal {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.modal h2, .modal h3 {
  font-size: 18px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* カード */
.card, .receipt-card-ios {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.card-content {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 商品情報 */
.product-name {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.product-price {
  font-size: 17px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.item-name {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.item-price {
  font-size: 18px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* 履歴表示 */
.history-item {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.history-date {
  font-size: 14px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.history-item-row {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* ヘッダー */
.mobile-header {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.logo {
  font-size: 20px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* ===================================
   レイアウト崩れ修正（v1.2.8対応）
   =================================== */

/* 1. z-index問題の解決 - バージョン表示の重なり修正 */
div[style*="position: fixed"][style*="bottom: 8px"] {
  z-index: 9999 !important;
}

/* 2. モーダルの高さとスクロール調整 */
.modal, .history-modal, .weekly-history-modal {
  max-height: calc(100vh - 40px) !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

/* 3. カードコンテンツのテキスト処理 */
.card-content, .modal-content {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

/* 4. 履歴カードの調整 */
.receipt-card-ios, .history-item {
  margin-bottom: 8px !important;
  box-sizing: border-box !important;
}

/* 5. 日次締め作業カードの調整 */
.daily-closing-card {
  min-height: auto !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

/* ===================================
   レスポンシブ対応の強化
   =================================== */

/* iPhone 13/14 専用の追加調整 */
@media (max-width: 390px) {
  * {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  
  html {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  
  body {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  
  .menu-section {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  
  .payment-section {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  
  .modal, .history-modal, .weekly-history-modal {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
}

/* ===================================
   iPhone13拡大モード専用の追加調整
   =================================== */

/* iPhone13拡大モード専用（390px以下かつ844px以下） */
@media (max-width: 390px) and (max-height: 844px) {
  /* モーダルの高さをさらに調整 */
  .modal, .history-modal, .weekly-history-modal {
    max-height: calc(100vh - 60px) !important;
    margin: 10px !important;
  }
  
  /* カード間の余白を調整 */
  .card, .receipt-card-ios {
    margin-bottom: 10px !important;
  }
  
  /* 履歴アイテムの余白調整 */
  .history-item {
    margin-bottom: 6px !important;
  }
  
  /* バージョン表示の位置調整 */
  div[style*="position: fixed"][style*="bottom: 8px"] {
    bottom: 12px !important;
    right: 12px !important;
  }
  
  /* 日次締め作業のカード高さ調整 */
  .daily-closing-card {
    padding: 15px !important;
  }
  
  /* テキストの切り詰め防止 */
  .card-content p, .modal-content p {
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
  }
}

/* iPhone13拡大モード + 横画面対応 */
@media (max-width: 390px) and (max-height: 844px) and (orientation: landscape) {
  .modal, .history-modal, .weekly-history-modal {
    max-height: calc(100vh - 20px) !important;
  }
}

/* ===================================
   警告モーダルのスタイル
   =================================== */

.system-override-warning {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.system-override-warning h3 {
  font-size: 18px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.system-override-warning p {
  font-size: 14px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.system-override-warning button {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
