[hidden] { display: none !important; }
#contact-page #main {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 20px 35px;
  min-height: 380px;
}
#contact-page .table01 {
  width: 100%;
  margin: 10px 0 20px;
}
#contact-page .table01 th { width: 170px; }
#contact-page .table01 td { padding: 10px; }
#contact-form input[type="text"], #contact-form input[type="email"], #contact-form textarea {
  box-sizing: border-box;
  max-width: 100%;
}
#contact-form textarea { width: 100%; }
.contact-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.contact-actions button, .contact-actions input {
  min-height: 44px;
  padding: 10px 24px;
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  font: inherit;
  cursor: pointer;
}
.contact-actions .contact-secondary { background: #fff; color: #444; }
.contact-actions .contact-secondary:hover { background: #f3f3f3; }
.contact-actions .contact-primary {
  border-color: #dc9200;
  background: #ffcc33;
  color: #422a00;
  font-weight: bold;
}
.contact-actions .contact-primary:hover { background: #ffbd1a; }
.contact-actions :focus-visible { outline: 2px solid #0554a4; outline-offset: 3px; }
.contact-actions :disabled { opacity: 0.55; cursor: wait; }
#contact-error { color: #a71919; font-weight: bold; }
#contact-confirm td { white-space: pre-wrap; overflow-wrap: anywhere; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#contact-complete:focus, #contact-confirm-title:focus { outline: none; }

.contact-verification { margin: 24px 0; text-align: center; }
#contact-turnstile { display: flex; justify-content: center; min-height: 65px; }
#contact-verification-status { margin: 8px 0; }
#contact-verification-retry { padding: 8px 16px; cursor: pointer; }
