html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--brand-primary);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* ManTingEats 後台樣式 */
:root {
  --brand-primary: #d97706;
  --brand-primary-rgb: 217, 119, 6;
  --brand-primary-dark: #b45309;
  --brand-primary-darker: #92400e;
  --brand-primary-light: #fef3e2;
  --surface-radius: 0.75rem;
  --surface-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);
  --surface-shadow-md: 0 10px 24px rgba(0, 0, 0, .08);

  /* 覆寫 Bootstrap 主色，讓 badge/連結/focus-ring/nav-pills 等元件連動換色 */
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: var(--brand-primary-rgb);
  --bs-link-color: var(--brand-primary);
  --bs-link-color-rgb: var(--brand-primary-rgb);
  --bs-link-hover-color: var(--brand-primary-dark);
}

.btn-primary {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary-dark);
  --bs-btn-hover-border-color: var(--brand-primary-dark);
  --bs-btn-active-bg: var(--brand-primary-darker);
  --bs-btn-active-border-color: var(--brand-primary-darker);
  --bs-btn-focus-shadow-rgb: var(--brand-primary-rgb);
  --bs-btn-disabled-bg: var(--brand-primary);
  --bs-btn-disabled-border-color: var(--brand-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary);
  --bs-btn-hover-border-color: var(--brand-primary);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
  --bs-btn-focus-shadow-rgb: var(--brand-primary-rgb);
}

.nav-pills {
  --bs-nav-pills-link-active-bg: var(--brand-primary);
}

.page-header {
  margin-bottom: 1.5rem;
}

.page-header h1 {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.table > :not(caption) > * > * {
  vertical-align: middle;
}

/* Navbar */
.navbar {
  box-shadow: var(--surface-shadow-sm);
}

.navbar-brand {
  font-weight: 700;
  color: var(--brand-primary-darker) !important;
  display: flex;
  align-items: center;
  gap: .4rem;
}

.navbar-nav .nav-link {
  position: relative;
  font-weight: 500;
}

.navbar-nav .nav-link.active {
  font-weight: 600;
  color: var(--brand-primary-darker) !important;
}

.navbar-nav .nav-link.active::after {
  content: "";
  position: absolute;
  left: .75rem;
  right: .75rem;
  bottom: 0;
  height: 2px;
  background: var(--brand-primary);
  border-radius: 2px;
}

.user-chip {
  background: var(--brand-primary-light);
  color: var(--brand-primary-darker);
  border-radius: 999px;
  padding: .3rem .9rem;
  font-size: .875rem;
  font-weight: 600;
}

/* Dashboard 卡片 */
.dashboard-card {
  border: 1px solid #eee;
  border-radius: var(--surface-radius);
  box-shadow: var(--surface-shadow-sm);
  transition: transform .15s ease, box-shadow .15s ease;
}

/* 說明文字行數不同時，按鈕仍固定貼齊卡片底部，讓同一列按鈕對齊 */
.dashboard-card .card-body {
  display: flex;
  flex-direction: column;
}

.dashboard-card .card-body > .btn {
  margin-top: auto;
  align-self: flex-start;
}

/* 隱私權政策等長文頁面：章節標題與段落間距 */
.privacy-content h2 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-top: 1.75rem;
  margin-bottom: .75rem;
  color: var(--brand-primary-darker);
}

.privacy-content p,
.privacy-content li {
  line-height: 1.8;
}

.dashboard-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--surface-shadow-md);
}

/* 整張卡片可點擊（stretched-link）：iPad 沒有滑鼠移過的效果，以按下時微縮給觸控回饋 */
.dashboard-card:active {
  transform: translateY(-1px) scale(.99);
}

.dashboard-card .card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--brand-primary-light);
  color: var(--brand-primary-darker);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: .75rem;
}

.dashboard-card.card-highlight {
  border-color: var(--brand-primary);
  background: linear-gradient(180deg, var(--brand-primary-light) 0%, #fff 140px);
}

/* 點餐頁品項卡片 / 數量步進器 */
.menu-item-card {
  border-width: 2px;
  border-radius: var(--surface-radius);
  min-height: 92px;
  transition: transform .1s ease, box-shadow .15s ease, border-color .15s ease;
}

.menu-item-card:hover {
  box-shadow: var(--surface-shadow-sm);
}

.menu-item-card:active {
  transform: scale(0.97);
}

.qty-stepper {
  display: flex;
  align-items: stretch;
  gap: .5rem;
}

.qty-stepper .qty-btn {
  width: 48px;
  font-size: 1.25rem;
  font-weight: 700;
  flex: 0 0 auto;
}

.qty-stepper input {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
}

/* Soft badge 狀態樣式 */
.badge-soft-warning { background: #fef3c7; color: #92400e; font-weight: 600; }
.badge-soft-success { background: #dcfce7; color: #166534; font-weight: 600; }
.badge-soft-secondary { background: #f1f5f9; color: #475569; font-weight: 600; }
.badge-soft-primary { background: var(--brand-primary-light); color: var(--brand-primary-darker); font-weight: 600; }
.badge-soft-info { background: #e0f2fe; color: #075985; font-weight: 600; }

.card.border-danger {
  background: #fff5f5;
}

.text-brand {
  color: var(--brand-primary-darker);
}

/* 客製化點餐：辣度選擇按鈕列 */
.spice-btn-group .spice-btn {
  flex: 1;
  min-height: 44px;
  font-weight: 600;
}

.spice-btn-group .btn-check:checked + .spice-btn {
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff;
}

/* 客製化點餐：加料勾選列（選中時整列變色，比單靠 checkbox 更易辨識） */
.addon-row {
  border-radius: var(--surface-radius);
  padding: .6rem .75rem;
  margin-bottom: .25rem;
  transition: background-color .15s ease;
}

.addon-row.addon-row-selected {
  background: var(--brand-primary-light);
}

.addon-row .stretched-label {
  cursor: pointer;
}

/* 客製化點餐：小計＋加點按鈕固定於 Offcanvas 底部 */
.offcanvas-sticky-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: .75rem 0 0;
  border-top: 1px solid #eee;
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* 加料管理：卡片樣式，比照 dashboard-card 質感 */
.addon-card {
  border: 1px solid #eee;
  border-radius: var(--surface-radius);
  box-shadow: var(--surface-shadow-sm);
  padding: 1rem;
  height: 100%;
}

/* 品項客製化設定：開關卡片 */
.customization-card {
  background: var(--brand-primary-light);
  border-radius: var(--surface-radius);
  padding: 1rem 1.25rem;
}

.customization-card .form-check-input:checked {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}
