/*
 *
 * CSS for your public-facing side
 *
 */

/* ============================================================
 * Service Termination Step1 — 即時驗證 / 字數計數
 * ============================================================ */

/* 橘色勾勾（有效輸入） */
.csp-valid-check {
  display: inline-block;
  color: #FF8300;
  font-size: 18px;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: middle;
}

/* 即時錯誤提示 */
.csp-live-error {
  color: #E34949;
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  margin-top: 4px;
}

/* 備註字數計數器（右下角） */
.csp-note-counter {
  text-align: right;
  color: #999;
  font-size: 12px;
  font-family: "Roboto", sans-serif;
  margin-top: 4px;
}

/* ===== csp-upload 共用上傳元件基礎樣式（卡片內部視覺；版面/尺寸各頁自管）===== */
.csp-upload-card { position: relative; border: 1px solid #eee; border-radius: 10px; background: #fff; text-align: center; padding: 20px; cursor: pointer; }
.csp-upload-card.has-error { border: 3px solid #E34949; }
.csp-upload-card.has-file { border: 3px solid #4CAF50; }
/* 提高特異度 (0,2,0) 壓過主題 [type="button"] reset(0,1,0)，否則刪除鍵變圓角方框 */
.csp-upload-card .csp-upload-delete { position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; min-width: 0; border-radius: 50%; border: none; background: #FF8300; color: #fff; font-size: 16px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; padding: 0; }
.csp-upload-card .csp-upload-delete:hover { opacity: 0.9; }
.csp-upload-input { display: none; }
.csp-upload-label { cursor: pointer; display: block; }
.csp-upload-preview { display: flex; flex-direction: column; align-items: center; gap: 12px; }
/* 只套提示文字的直接子 span，避免蓋掉巢狀 .gamania-color（市話/身分證 橘色高亮）*/
.csp-upload-preview > span { color: #727272; font-size: 18px; }
.csp-upload-preview img.preview-thumb { width: 100%; height: auto; object-fit: contain; border-radius: 8px; }
.csp-upload-icon { width: 90px; height: 91px; }
.csp-upload-error { color: #E34949; font-size: 12px; margin-top: 8px; }
.csp-upload-error:empty { display: none; }
