@charset "UTF-8";
/* WordPress 無障礙樣式 - 完整版本 */
/* 1. 焦點可見性 - 符合WCAG 2.1 AA標準 */
*:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.keyboard-focus {
  outline: 3px solid #4d90fe !important;
  outline-offset: 2px !important;
}

/* 鍵盤導航時的焦點樣式 */
body.keyboard-navigation *:focus,
.keyboard-focus {
  outline: 2px solid #4d90fe !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(77, 144, 254, 0.3) !important;
}

/* 特定元素的焦點樣式 */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:not([tabindex="-1"]):focus {
  outline: 2px solid #4d90fe !important;
  outline-offset: 2px !important;
  transition: outline 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

/* 2. 跳過導航連結 */
.skip-to-content {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  text-decoration: none;
  border-radius: 0 0 4px 4px;
  z-index: 999999;
  font-size: 14px;
  font-weight: bold;
  transition: top 0.3s ease;
}

.skip-to-content:focus {
  top: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* 3. 文字對比度和可讀性 - 符合WCAG 2.1 AA (4.5:1) */
body {
  color: #212529 !important;
  line-height: 1.6;
}

/* 連結顏色對比度 */
a:hover,
a:focus {
  color: #004085 !important;
  text-decoration: underline;
}

/* 4. 表單無障礙樣式 */
input,
button,
select,
textarea {
  min-height: 44px;
  min-width: 44px;
  font-size: 16px;
  padding: 8px 12px;
  border: 2px solid #ccc;
  border-radius: 4px;
}

/* 表單標籤 */
label {
  display: block;
  margin-bottom: 0.5em;
  font-weight: 600;
  color: #212529;
}

/* 必填欄位標記 */
.required-mark {
  color: #dc3545;
  font-weight: bold;
}

/* 表單錯誤狀態 */
.form-error,
.error {
  color: #dc3545 !important;
  font-weight: 600;
  padding: 8px;
  border-left: 4px solid #dc3545;
  background-color: #f8d7da;
  margin: 8px 0;
}

input:invalid,
textarea:invalid,
select:invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.25);
}

/* 表單成功狀態 */
.form-success,
.success {
  color: #155724 !important;
  font-weight: 600;
  padding: 8px;
  border-left: 4px solid #28a745;
  background-color: #d4edda;
  margin: 8px 0;
}

/* 5. 按鈕樣式 */
button,
.button,
input[type=submit],
input[type=button] {
  background-color: #007cba;
  color: #fff;
  border: 2px solid #007cba;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

button:hover,
.button:hover,
input[type=submit]:hover,
input[type=button]:hover {
  background-color: #005a87;
  border-color: #005a87;
}

button:disabled,
.button:disabled,
input[type=submit]:disabled,
input[type=button]:disabled {
  background-color: #6c757d;
  border-color: #6c757d;
  cursor: not-allowed;
  opacity: 0.65;
}

/* 6. 響應式表格 */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1em 0;
}

.table-responsive table {
  min-width: 100%;
  border-collapse: collapse;
}

table {
  border: 1px solid #dee2e6;
}

th,
td {
  padding: 12px;
  border: 1px solid #dee2e6;
  text-align: left;
}

th {
  background-color: #f8f9fa;
  font-weight: 600;
  color: #212529;
}

/* 表格標題 */
caption {
  padding: 12px;
  color: #6c757d;
  text-align: left;
  caption-side: top;
  font-weight: 600;
}

/* 7. 螢幕閱讀器專用文字 */
.screen-reader-text,
.sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* 確保文字對比度達到WCAG 2.0 AA標準 (4.5:1) */
.high-contrast {
  color: #333 !important;
  background-color: #fff !important;
}

.high-contrast a {
  color: #0056b3 !important;
}

.high-contrast a:visited {
  color: #551A8B !important;
}

/* 調整後的標題樣式 */
.adjusted-heading {
  color: #333;
  margin: 1em 0 0.5em;
}/*# sourceMappingURL=accessibility.css.map */