/* Local-preview contact entry. No provider SDK or external requests. */
.public-site:has(.wechat-contact) { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
.wechat-contact { position: fixed; right: 24px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 90; font-family: inherit; color: #1e2228; }
.wechat-contact > summary { list-style: none; cursor: pointer; background: #3264d8; color: #fff; border-radius: 12px; padding: 14px 22px; font-size: 16px; font-weight: 650; min-height: 48px; box-shadow: 0 4px 16px #1e22281a; }
.wechat-contact > summary::-webkit-details-marker { display: none; }
.wechat-contact-panel { position: absolute; right: 0; bottom: calc(100% + 12px); width: min(364px, calc(100vw - 32px)); max-height: calc(100dvh - 120px - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; padding: 24px; background: #fffefa; border: 1px solid #dedcd5; border-radius: 16px; box-shadow: 0 12px 36px #1e222822; }
.wechat-contact-panel, .wechat-contact-panel * { box-sizing: border-box; }
.wechat-contact-panel h2 { font-size: 21px; line-height: 1.4; margin: 0 28px 10px 0; letter-spacing: 0; }
.wechat-contact-panel p { margin: 8px 0; font-size: 14px; line-height: 1.65; color: #62666d; }
.wechat-qr-link { display: block; width: min(200px, 100%); margin: 12px auto; }
.wechat-qr-link img { display: block; width: 100%; height: auto; border-radius: 8px; }
.wechat-contact-panel label { display: block; font-size: 14px; margin-bottom: 6px; }
.wechat-account-row { display: flex; gap: 8px; }
.wechat-account-row input { min-width: 0; width: 100%; border: 1px solid #dedcd5; border-radius: 8px; background: #f7f5ef; padding: 10px; font-size: 16px; color: #1e2228; user-select: text; }
.wechat-copy { flex-shrink: 0; border: 0; border-radius: 8px; background: #3264d8; color: white; padding: 10px; min-height: 44px; cursor: pointer; font: inherit; font-size: 14px; }
.wechat-close { position: sticky; top: 0; float: right; margin: -16px -16px -28px 0; width: 44px; height: 44px; border: 0; border-radius: 8px; background: #fffefa; color: #1e2228; font-size: 28px; cursor: pointer; z-index: 1; }
.wechat-fallback { display: inline-block; padding: 8px 0; color: #2852b5; font-size: 13px; text-decoration: underline; }
.wechat-contact :focus-visible { outline: 3px solid #3264d8; outline-offset: 3px; }
.wechat-contact > summary:focus-visible { outline-color: #1e2228; }
.wechat-copy:hover, .wechat-contact > summary:hover { background: #2852b5; }
.wechat-copy:active, .wechat-contact > summary:active { background: #214698; }
@media (max-width: 600px) {
  .wechat-contact { right: 16px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
  .wechat-contact-panel { padding: 20px; }
  .wechat-qr-link { width: 164px; }
}
@media print { .wechat-contact { display: none; } }

.consultation-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 40px; align-items: start; padding-bottom: 72px; }
.consultation-step { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; padding: 28px 0; border-top: 1px solid #dedcd5; }
.consultation-number { font-size: 26px; font-weight: 700; color: #3264d8; }
.consultation-step h2, .consultation-contact h2 { margin: 0 0 16px; font-size: clamp(22px, 2vw, 28px); line-height: 1.45; letter-spacing: 0; }
.consultation-step p { margin: 12px 0 0; font-size: 17px; line-height: 1.85; color: #484d55; overflow-wrap: anywhere; }
.consultation-step .consultation-category, .consultation-contact .consultation-category { margin: 0 0 10px; font-size: 13px; color: #3264d8; font-weight: 650; }
.consultation-trade { background: #edf2fc; padding: 28px 24px; border: 0; border-radius: 16px; margin-top: 12px; }
.consultation-contact { padding: 28px; background: #fffefa; border: 1px solid #dedcd5; border-radius: 16px; }
.consultation-contact .wechat-qr-link { width: min(240px, 100%); }
.consultation-contact label { display: block; margin-bottom: 8px; font-size: 14px; }
.consultation-contact .wechat-copy-status, .consultation-contact-note { font-size: 14px; line-height: 1.7; color: #62666d; }
.consultation-contact :focus-visible { outline: 3px solid #3264d8; outline-offset: 3px; }
@media (max-width: 760px) {
  .consultation-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 48px; }
  .consultation-contact { order: -1; padding: 24px; }
  .consultation-contact .wechat-qr-link { width: 200px; }
  .consultation-step { gap: 12px; grid-template-columns: 32px minmax(0, 1fr); }
  .consultation-step p { font-size: 16px; }
  .consultation-trade { padding: 24px 16px; }
}
