/* One inquiry form for topic, product, certification, contact and message pages. */
.inquiry-form { min-width: 0; width: 100%; }
.inquiry-form .af-field { display: flex; flex-direction: column; gap: 7px; margin: 0 0 17px; min-width: 0; }
.inquiry-form .af-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.inquiry-form .af-field label { color: #26352e; font-size: 14px; line-height: 1.5; font-weight: 500; }
.inquiry-form .af-field label i { color: #d33d35; font-style: normal; }
.inquiry-form .af-field input,.inquiry-form .af-field textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #dce3df; border-radius: 6px; background: #fff; padding: 11px 12px; color: #26352e; font-family: inherit; font-size: 14px; line-height: 1.6; }
.inquiry-form .af-field textarea { height: auto; resize: vertical; }
.inquiry-form .af-field .inquiry-source { background: #f5f7f6; color: #59655f; font-size: 12px; overflow-wrap: anywhere; word-break: break-all; }
.inquiry-form .af-field small { font-size: 12px; line-height: 1.5; color: #718078; }
.inquiry-form .af-field input:focus,.inquiry-form .af-field textarea:focus { outline: 2px solid rgba(55,143,77,.22); outline-offset: 1px; border-color: #498e55; }
.inquiry-form .af-captcha-in { display: flex; align-items: center; gap: 14px; }
.inquiry-form .af-captcha-in input { flex: 1; }
.inquiry-form .captcha-img { flex: 0 0 108px; width: 108px; height: 38px; object-fit: contain; cursor: pointer; }
.inquiry-form .af-error { min-height: 20px; color: #c13730; font-size: 13px; line-height: 1.5; margin: 0 0 10px; }
.inquiry-form .af-submit { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 13px 18px; border: 0; border-radius: 6px; background: var(--green,#498e55); color: white; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.inquiry-form .af-submit:disabled { opacity: .65; cursor: wait; }
@media (max-width: 480px) { .inquiry-form .af-row { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 768px) {
  .inquiry-form .af-field input, .inquiry-form .af-field textarea { font-size: 16px; }
}

/* 留言弹窗：复用同一表单，短屏时只滚动表单内容。 */
.inquiry-dialog { width: min(680px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: 18px; background: #fff; color: #26352e; box-shadow: 0 24px 80px rgba(0,0,0,.24); overflow: hidden; }
.inquiry-dialog[open] { display: flex; flex-direction: column; }
.inquiry-dialog::backdrop { background: rgba(14,32,23,.5); backdrop-filter: blur(3px); }
.inquiry-dialog-head { position: relative; flex-shrink: 0; padding: 26px 28px 18px; }
.inquiry-dialog-head h2 { margin: 0 44px 10px 0; font-size: 24px; line-height: 1.4; font-weight: 700; }
.inquiry-dialog-head h2::before { content: ''; display: inline-block; width: 8px; height: 22px; margin-right: 12px; border-radius: 2px; background: var(--green); vertical-align: -2px; }
.inquiry-dialog-head p { margin: 0; font-size: 14px; line-height: 1.6; color: #718078; }
.inquiry-dialog-close { position: absolute; top: 20px; right: 22px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #f0f5f2; color: #53635a; font: inherit; font-size: 26px; line-height: 1; cursor: pointer; }
.inquiry-dialog-close:hover { background: #e2eee6; color: var(--green); }
.inquiry-dialog-close:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.inquiry-dialog-body { min-height: 0; padding: 0 28px 28px; overflow-y: auto; overscroll-behavior: contain; }
.inquiry-dialog .inquiry-form { margin: 0; }
@media (max-width: 480px) {
  .inquiry-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .inquiry-dialog-head { padding: 22px 20px 16px; }
  .inquiry-dialog-head h2 { font-size: 22px; }
  .inquiry-dialog-body { padding: 0 20px 22px; }
  .inquiry-dialog-close { top: 16px; right: 16px; }
}
