/* Integrated contact form only: preserve the public-site/GCS layout and 2px controls. */
.contact-dialog:has(.lead-capture) { width: min(640px, calc(100% - 32px)); max-height: min(90svh, 900px); padding-bottom: 32px; overflow-y: auto; }
/* Keep the title and close control reachable after a phone keyboard or form focus scrolls. */
.contact-dialog:has(.lead-capture) .contact-dialog__head { position: sticky; top: -32px; z-index: 2; background: white; padding: 12px 0; }
.contact-dialog:has(.lead-capture) .contact-dialog__row:has(.contact-dialog__pending) { display: none; }
.lead-capture input, .lead-capture select, .lead-capture textarea, .lead-capture button { scroll-margin-block: 90px 24px; }
.lead-capture { border-top: 1px solid #dce2e7; margin-top: 24px; padding-top: 24px; color: #101820; }
.lead-capture h3 { font-size: 22px; margin: 0 0 20px; }
.lead-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
.lead-full { grid-column: 1 / -1; }
.lead-form[hidden], .lead-capture [hidden] { display: none; }
.lead-field { display: flex; flex-direction: column; gap: 8px; font-size: 14px; min-width: 0; }
.lead-field input, .lead-field select, .lead-field textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #aab4bc; border-radius: 2px; background: white; color: #101820; font: inherit; font-size: 16px; }
.lead-field textarea { min-height: 88px; resize: vertical; }
.lead-field input:focus-visible, .lead-field select:focus-visible, .lead-field textarea:focus-visible { outline: 2px solid #101820; outline-offset: 2px; }
.lead-full { grid-column: 1 / -1; }
.lead-form summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 14px; }
.lead-form summary::before { content: '+'; margin-right: 12px; }
.lead-form details[open] summary::before { content: '−'; }
.lead-form details > .lead-form { padding-top: 12px; }
.lead-status { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.lead-status:empty { display: none; }
.lead-status.is-error { color: #a02222; }
/* 提交操作与选填内容分开，避免全局按钮行高和边距挤压此处表单。 */
.lead-form button { min-height: 48px; }
.lead-form > button[type="submit"] { margin: 0; padding: 14px 24px; width: 100%; line-height: 1.5; text-align: center; justify-content: center; align-items: center; }
.lead-form details { border-bottom: 1px solid #dce2e7; padding-bottom: 12px; }
@media (max-width: 480px) { .contact-dialog:has(.lead-capture) .contact-dialog__head { top: -22px; } .lead-form { grid-template-columns: minmax(0,1fr); gap: 20px; } }
@media (prefers-reduced-motion: reduce) { .lead-capture * { transition: none; } }
