/* 所有样式严格限制在 .yzcf-card 内，不修改网站主题其他元素。 */
.yzcf-card {
    box-sizing: border-box;
    width: min(100%, 720px);
    margin: 28px auto 60px;
    padding: 33px 36px 54px;
    background: #fff;
    color: #0e1829;
    border: 1px solid #e2e6ec;
    border-radius: 16px;
    box-shadow: 0 14px 40px rgba(30, 42, 62, .075);
    font-family: -apple-system, BlinkMacSystemFont, 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', sans-serif;
    text-align: left;
}
.yzcf-card *, .yzcf-card *::before, .yzcf-card *::after { box-sizing: border-box; }
.yzcf-card .yzcf-heading { padding: 0 0 20px; margin-bottom: 25px; border-bottom: 1px solid #dde3ec; }
.yzcf-card .yzcf-heading h2 { margin: 0 0 13px; padding: 0; font-size: 23px; font-weight: 750; line-height: 1.5; letter-spacing: 0; color: #0d1728; }
.yzcf-card .yzcf-heading p { margin: 0; color: #7d8997; font-size: 12px; line-height: 1.8; }
.yzcf-card .yzcf-field { margin-bottom: 24px; }
.yzcf-card .yzcf-field > label:first-child { display: block; margin-bottom: 9px; font-size: 12px; line-height: 1.7; font-weight: 700; color: #071221; }
.yzcf-card .yzcf-required { color: #e02020; }
.yzcf-card input[type='text'], .yzcf-card input[type='tel'], .yzcf-card input[type='email'] {
    display: block;
    width: 100%;
    height: 43px;
    padding: 9px 13px;
    border: 1px solid #cbd3df;
    border-radius: 9px;
    background: #fff;
    color: #142033;
    box-shadow: none;
    font-size: 14px;
    outline: none;
}
.yzcf-card input:focus { border-color: #748ea9; box-shadow: 0 0 0 3px rgba(116,142,169,.14); }
.yzcf-card .yzcf-description { margin-bottom: 21px; }
.yzcf-card .wp-editor-wrap { width: 100%; }
.yzcf-card .wp-editor-container { border: 1px solid #d0d5de; border-radius: 0; }
.yzcf-card .wp-editor-tools .wp-media-buttons { display: none; }
.yzcf-card .mce-toolbar-grp, .yzcf-card .mce-top-part::before { box-shadow: none; }
.yzcf-card .wp-editor-container textarea.wp-editor-area {
    display: block; width: 100%; min-height: 430px; border: 0; border-radius: 0;
    padding: 13px; background: #fff; color: #172033; font-size: 14px;
}
.yzcf-card .yzcf-hint { font-size: 11px; color: #96a1af; line-height: 1.6; font-style: italic; margin: 6px 0 0; }
.yzcf-card .yzcf-consent-field { margin-bottom: 22px; }
.yzcf-card .yzcf-consent-row { display: flex !important; gap: 6px; align-items: flex-start; margin: 0 !important; cursor: pointer; font-size: 12px !important; font-weight: 650 !important; line-height: 1.85 !important; color: #0c1827 !important; }
.yzcf-card .yzcf-consent-row input[type='checkbox'] { flex: 0 0 14px; width: 14px; height: 14px; margin: 3px 0 0; accent-color: #101010; }
.yzcf-card .yzcf-consent-row span { flex: 1; min-width: 0; }
.yzcf-card .yzcf-consent-row a { color: #102c58; text-decoration: underline; text-underline-offset: 2px; }
.yzcf-card .yzcf-consent-row a:hover { color: #336aa1; }
.yzcf-card .yzcf-submit {
    display: inline-flex; align-items: center; justify-content: center;
    width: 120px; min-height: 40px; border: 0; border-radius: 22px;
    background: #0d0d0f; color: white; cursor: pointer; font: 600 13px/1.2 Arial, sans-serif;
    transition: opacity .2s ease;
}
.yzcf-card .yzcf-submit:hover { background: #303036; color: #fff; }
.yzcf-card .yzcf-submit:disabled { opacity: .6; cursor: wait; }
.yzcf-card .yzcf-trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; left: -9999px !important; }
.yzcf-card .yzcf-feedback, .yzcf-card .yzcf-message { padding: 12px 14px; margin: 0 0 18px; border: 1px solid #d0dae5; border-radius: 7px; font-size: 13px; line-height: 1.6; }
.yzcf-card .yzcf-feedback[hidden] { display: none !important; }
.yzcf-card .yzcf-message-success, .yzcf-card .yzcf-feedback.is-success { background: #ecf8ee; border-color: #9ed3a8; color: #27683a; }
.yzcf-card .yzcf-message-error, .yzcf-card .yzcf-feedback.is-error { background: #fff0ef; border-color: #e8afa9; color: #a23b35; }
.yzcf-admin-action { display: inline-block; margin: 0 8px 0 0; }
@media(max-width: 680px) {
    .yzcf-card { width: 100%; margin: 14px auto 32px; padding: 24px 18px 32px; border-radius: 13px; }
    .yzcf-card .yzcf-heading h2 { font-size: 21px; }
    .yzcf-card .yzcf-field { margin-bottom: 19px; }
    .yzcf-card .yzcf-heading p { font-size: 12px; }
    .yzcf-card .yzcf-consent-row { font-size: 12px !important; }
    .yzcf-card .yzcf-submit { min-height: 42px; }
}
