/* 里民小幫手 Design System：通報表單（report）
   由平台核心同步到各里 assets/，請勿在各里手改；要調整請改 village-platform-core。
   規則：正文／欄位／主要操作 16px、輔助說明 14px、可點控制項至少 44px、可見的鍵盤焦點與清楚的狀態。
   只改元件規則；各里品牌色仍由頁面自己的 :root token 決定（這裡不寫死品牌色）。
   載入順序在頁面內嵌樣式之後，同權重時以這裡為準。 */
:root {
  --ds-font-body: 16px;
  --ds-font-meta: 14px;
  --ds-tap: 44px;
  --ds-focus: #1d4ed8;
  --ds-danger: #b91c1c;
  --ds-danger-soft: #fef2f2;
  --ds-warn: #b45309;
  --ds-warn-soft: #fffbeb;
}

/* ── 欄位 ── */
.field-label, .field-label .required { font-size: var(--ds-font-body); }
input[type="text"], input[type="tel"], input[type="url"], textarea, select {
  font-size: var(--ds-font-body);
  min-height: var(--ds-tap);
}
input::placeholder, textarea::placeholder { font-size: var(--ds-font-body); }
textarea { min-height: 120px; }
.field-hint, .field-hint.hint-box { font-size: var(--ds-font-meta); }

/* ── 驗證：不只紅框，還有文字與符號 ── */
.invalid, input.invalid, textarea.invalid, select.invalid {
  border-color: var(--ds-danger) !important;
  border-width: 2px !important;
  background-color: var(--ds-danger-soft) !important;
}
.error-text {
  font-size: var(--ds-font-meta);
  font-weight: 700;
  color: var(--ds-danger);
  margin-top: 6px;
}
.error-text::before { content: "⚠ "; }

/* ── 主要操作 ── */
.locate-btn, .photo-add-btn, .success-msg button {
  min-height: 48px;
  font-size: var(--ds-font-body);
}
.submit-btn {
  min-height: 56px;
  font-size: 18px;
}
.submit-btn:disabled, .locate-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* ── 照片：刪除鈕放大到可點、提示文字可讀 ── */
.photo-preview-item .item-remove {
  min-width: var(--ds-tap);
  min-height: var(--ds-tap);
  width: var(--ds-tap);
  height: var(--ds-tap);
  font-size: 20px;
}
.photo-preview-item .drag-hint { font-size: var(--ds-font-meta); }

/* ── 提示、進度、成功 ── */
.toast-error { font-size: var(--ds-font-body); }
.submit-progress-desc, .submit-progress-note, .submit-progress-step { font-size: var(--ds-font-meta); }
.submit-progress-title { font-size: 20px; }
.success-msg p { font-size: var(--ds-font-body); }
.footer { font-size: var(--ds-font-meta); }

/* 「案件可能已送出」等結果不確定的提醒（由 shared/report.js 產生）：與表單卡片一致的圓角與留白 */
#submitNotice {
  font-size: var(--ds-font-body) !important;
  line-height: 1.7 !important;
  border-radius: 14px !important;
  border-width: 2px !important;
  padding: 16px 18px !important;
}
#submitNotice a { min-height: var(--ds-tap); }

/* ── 鍵盤焦點 ── */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [role="button"]:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--ds-focus);
  outline-offset: 2px;
}

/* 送出前的隱私說明（目前舊社里使用；其他里沒有這個元素時不影響） */
.privacy-note { font-size: var(--ds-font-meta) !important; }
.privacy-note a { display: inline-flex; align-items: center; min-height: var(--ds-tap); }

/* 「新增照片」是真正的 button（鍵盤可 Tab、Enter／Space 啟動）：維持原本虛線卡片外觀 */
button.photo-add-btn { width: 100%; font-family: inherit; cursor: pointer; }
