/* Inquiry fields reuse the site's typography, colors, focus treatment and button. */
.contact-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 64px; align-items: start; }
.contact-form { max-width: 600px; }
.contact-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.contact-form label { display: block; font-size: 16px; font-weight: 600; margin: 24px 0 10px; }
.contact-form input, .contact-form textarea { display: block; width: 100%; min-height: 48px; padding: 12px; border: 1px solid #8e9c9f; border-radius: var(--site-radius); background: var(--site-paper); color: var(--site-ink); font: 16px/1.5 Arial, sans-serif; }
.contact-form textarea { min-height: 172px; resize: vertical; }
.contact-form [aria-invalid="true"] { border-color: #973c34; }
.contact-form .field-error { color: #973c34; font-size: 14px; margin: 8px 0 0; }
.contact-form .field-error:empty { display: none; }
.contact-form .contact-help, .contact-form .contact-privacy { color: var(--site-muted); font-size: 14px; line-height: 1.6; margin: 10px 0; }
.contact-form button { cursor: pointer; font: 600 16px/1.5 Arial, sans-serif; min-height: 48px; }
.contact-form button:disabled { cursor: wait; opacity: .7; }
.inquiry-message { font-size: 16px; line-height: 1.6; margin: 16px 0; color: #973c34; }
.inquiry-message:empty { display: none; }
.contact-aside { padding: 24px; background: var(--site-surface); border: 1px solid var(--site-line); border-radius: var(--site-radius); margin-top: 24px; }
.contact-aside h2 { margin: 0 0 16px; padding: 0; border: 0; font-size: 26px; }
.contact-page main .contact-aside p { font-size: 16px; }
.contact-aside a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 0; text-decoration: none; }
.contact-aside a:hover { text-decoration: underline; }
.contact-phone { font-size: 22px; font-weight: 600; }
.contact-schedule { font-size: 16px; font-weight: 600; margin-top: 8px; border-top: 1px solid var(--site-line); }
.contact-page [hidden] { display: none !important; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-success { max-width: 620px; padding: 24px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-surface); overflow-wrap: anywhere; }
.contact-success h2 { margin-top: 0; padding-top: 0; border: 0; }
.contact-layout.is-inquiry-unavailable { grid-template-columns: minmax(0, 720px); gap: 0; }
.is-inquiry-unavailable .contact-aside { margin-top: 8px; }
.is-inquiry-unavailable .contact-aside > p { display: none; }
.is-inquiry-unavailable .contact-aside a { gap: 8px; padding: 14px 12px; border: 1px solid var(--site-accent); border-radius: var(--site-radius); }
.is-inquiry-unavailable .contact-schedule { background: var(--site-accent); color: #fff; }
@media (max-width: 820px) { .contact-layout { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 360px) { .is-inquiry-unavailable .contact-phone { font-size: 18px; white-space: nowrap; } }
