/* CONTACT only. !important is limited to overrides of legacy CF7 Additional CSS. */
.hamuya-home .hamuya-contact-messenger { margin: -12px 0 28px; }
.hamuya-home .hamuya-contact-messenger a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; color: #60584F; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.hamuya-home .hamuya-contact-messenger a:hover { color: #C8392A; }
.hamuya-home .hamuya-contact-messenger a:focus-visible { outline: 2px solid #C8392A; outline-offset: 4px; }
.hamuya-home .hamuya-contact-recaptcha { margin: 20px 0 0; color: #60584F; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.hamuya-home .hamuya-contact { background: #F4EFE6; color: #34312D; scroll-margin-top: var(--hamuya-anchor-offset, 120px); }
.hamuya-home .hamuya-contact-inner { width: 100%; max-width: 720px; margin: 0 auto; min-width: 0; }
.hamuya-home .hamuya-contact-intro { margin: 24px 0 32px; font-size: 16px; line-height: 1.9; }
.hamuya-home .hamuya-contact-unavailable { margin-top: 28px; padding: 20px; border: 1px solid #D7CEC1; line-height: 1.9; }
.hamuya-home .hamuya-contact .wpcf7 { width: 100% !important; max-width: 100% !important; }
.hamuya-home .hamuya-contact .wpcf7 form { font-family: var(--sans) !important; font-size: 16px; line-height: 1.8; color: #34312D; }
.hamuya-home .hamuya-contact .wpcf7 form p { margin: 0 0 24px; }
.hamuya-home .hamuya-contact .wpcf7 form p:last-of-type { margin-bottom: 24px !important; }
.hamuya-home .hamuya-contact .wpcf7 label { font-size: 16px; line-height: 1.8; }
.hamuya-home .hamuya-contact .wpcf7 .wpcf7-form-control-wrap { display: block; min-width: 0; }
.hamuya-home .hamuya-contact .wpcf7 :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select) {
  box-sizing: border-box; width: 100% !important; max-width: 100% !important; min-height: var(--hamuya-control-height, 48px); padding: 12px; margin: 8px 0;
  font: inherit !important; font-size: 16px !important; line-height: 1.5; color: #34312D; background: #FFFCF7; border: 1px solid #8B8278; border-radius: 3px;
}
.hamuya-home .hamuya-contact .wpcf7 textarea { --hamuya-control-height: 180px; resize: vertical; }
.hamuya-home .hamuya-contact .wpcf7 input:is([type="checkbox"],[type="radio"]) {
  width: auto !important; max-width: none !important; min-width: 20px; min-height: 20px; margin: 0 8px 0 0; padding: 0; vertical-align: middle; accent-color: #C8392A;
}
.hamuya-home .hamuya-contact .wpcf7 .wpcf7-list-item { margin: 8px 16px 8px 0; }
.hamuya-home .hamuya-contact .wpcf7 .wpcf7-list-item label { display: inline-flex; align-items: center; min-height: 44px; }
/* Confirmed Chinese CF7 markup: a plain label with the required confirmation input. */
#body_wrap.hamuya-top-zh .hamuya-home .hamuya-contact .wpcf7 label:has(> input[type="checkbox"][name="confirmation"]) {
  display: flex; align-items: center; column-gap: 8px; min-height: 44px;
}
#body_wrap.hamuya-top-zh .hamuya-home .hamuya-contact .wpcf7 label > input[type="checkbox"][name="confirmation"] {
  flex: 0 0 20px; margin: 0;
}
.hamuya-home .hamuya-contact .wpcf7 form input[type="submit"] {
  box-sizing: border-box !important; display: block !important; width: 100% !important; max-width: 320px !important; min-height: 48px !important;
  padding: 14px 24px !important; margin: 24px auto 0 !important; font-family: var(--sans) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.6 !important;
  color: #FFF !important; background: #C8392A !important; border: 1px solid #C8392A !important; border-radius: 3px !important; box-shadow: none !important; text-align: center !important;
  transform: none !important; transition: background-color .18s ease !important; cursor: pointer !important;
}
.hamuya-home .hamuya-contact .wpcf7 form input[type="submit"]:hover { background: #AB2F23 !important; transform: none !important; box-shadow: none !important; }
.hamuya-home .hamuya-contact .wpcf7 form input[type="submit"]:disabled { opacity: .6 !important; cursor: not-allowed !important; }
.hamuya-home .hamuya-contact .wpcf7 :is(input,textarea,select,button):focus-visible { outline: 3px solid #C8392A !important; outline-offset: 3px !important; }
.hamuya-home .hamuya-contact .wpcf7 .wpcf7-not-valid-tip { color: #A62E23; font-size: 14px; }
.hamuya-home .hamuya-contact .wpcf7 .wpcf7-response-output { margin: 24px 0; padding: 16px; overflow-wrap: anywhere; }
@media (max-width: 760px) { .hamuya-home .hamuya-contact-intro { font-size: 15px; margin: 20px 0 28px; } }
@media (prefers-reduced-motion: reduce) { .hamuya-home .hamuya-contact .wpcf7 form input[type="submit"] { transition: none !important; } }
