html,
body.xiniu-elementor-site {
    margin: 0;
    padding: 0;
}

body.xiniu-elementor-site .elementor-location-header,
body.xiniu-elementor-site .elementor-location-footer,
body.xiniu-elementor-site .elementor,
body.xiniu-elementor-site .elementor-widget-shortcode,
body.xiniu-elementor-site .elementor-widget-shortcode > .elementor-widget-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.xiniu-elementor-site .elementor-element.e-con {
    --container-max-width: 100%;
    --display: flex;
    --flex-direction: column;
    --gap: 0px;
}

body.xiniu-elementor-site .xiniu-native-container.e-con {
    --width: auto;
    --gap: 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --padding-top: 0px;
    --padding-right: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    max-width: none;
}

@media (min-width: 1025px) {
    body.xiniu-elementor-site .xiniu-flex-desktop-row.e-con { flex-direction: row; }
    body.xiniu-elementor-site .xiniu-flex-desktop-nowrap.e-con { flex-wrap: nowrap; }
    body.xiniu-elementor-site .xiniu-display-desktop-block.e-con { display: block; }
    body.xiniu-elementor-site .xiniu-display-desktop-inline.e-con { display: inline; }
    body.xiniu-elementor-site .xiniu-display-desktop-inline-block.e-con { display: inline-block; }
    body.xiniu-elementor-site .xiniu-display-desktop-list-item.e-con { display: list-item; }
    body.xiniu-elementor-site .xiniu-display-desktop-contents.e-con { display: contents; }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.xiniu-elementor-site .xiniu-flex-tablet-row.e-con { flex-direction: row; }
    body.xiniu-elementor-site .xiniu-flex-tablet-nowrap.e-con { flex-wrap: nowrap; }
    body.xiniu-elementor-site .xiniu-display-tablet-block.e-con { display: block; }
    body.xiniu-elementor-site .xiniu-display-tablet-inline.e-con { display: inline; }
    body.xiniu-elementor-site .xiniu-display-tablet-inline-block.e-con { display: inline-block; }
    body.xiniu-elementor-site .xiniu-display-tablet-list-item.e-con { display: list-item; }
    body.xiniu-elementor-site .xiniu-display-tablet-contents.e-con { display: contents; }
}

@media (max-width: 767px) {
    body.xiniu-elementor-site .xiniu-flex-mobile-row.e-con { flex-direction: row; }
    body.xiniu-elementor-site .xiniu-flex-mobile-nowrap.e-con { flex-wrap: nowrap; }
    body.xiniu-elementor-site .xiniu-display-mobile-block.e-con { display: block; }
    body.xiniu-elementor-site .xiniu-display-mobile-inline.e-con { display: inline; }
    body.xiniu-elementor-site .xiniu-display-mobile-inline-block.e-con { display: inline-block; }
    body.xiniu-elementor-site .xiniu-display-mobile-list-item.e-con { display: list-item; }
    body.xiniu-elementor-site .xiniu-display-mobile-contents.e-con { display: contents; }

}

body.xiniu-elementor-site .xiniu-native-leaf,
body.xiniu-elementor-site .xiniu-native-leaf > .elementor-widget-container {
    display: contents !important;
}

/*
 * Elementor 会给 Text Editor、Heading 和 Button 写入全局默认文字色，导致深色或
 * 品牌红容器内原本应为白色的文字变灰。这里恢复原生组件的颜色继承；选择器刻意
 * 保持低优先级，用户在 Elementor 的单组件颜色控件中设置的值仍可正常覆盖。
 */
.xiniu-elementor-site .xiniu-native-leaf:where(.elementor-widget-text-editor) {
    color: inherit;
}

.xiniu-elementor-site .xiniu-native-leaf:where(.elementor-widget-heading) .elementor-heading-title,
.xiniu-elementor-site .xiniu-native-leaf:where(.elementor-widget-heading) :where(h1, h2, h3, h4, h5, h6),
.xiniu-elementor-site .xiniu-native-leaf:where(.elementor-widget-button) .elementor-button {
    color: inherit;
}

.xiniu-elementor-site .xiniu-native-plain-link .elementor-button {
    background: transparent;
    box-shadow: none;
}

.xiniu-elementor-site .xiniu-native-transfer .elementor-button {
    background-color: inherit;
    fill: currentColor;
}

body.xiniu-elementor-site .xiniu-native-container.e-con > a.button,
body.xiniu-elementor-site .xiniu-native-container.e-con > a.text-link {
    align-self: flex-start;
}

body.xiniu-elementor-site .xiniu-native-tag-li {
    display: contents;
}

body.xiniu-elementor-site .xiniu-native-html > .elementor-widget-container {
    display: contents;
}

/* 恢复 Elementor 原生图片组件在专利拼贴中的逐张定位。 */
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(1) img { left: 6%; top: 33%; transform: rotate(-11deg); }
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(2) img { left: 26%; top: 13%; transform: rotate(7deg); }
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(3) img { left: 44%; top: 38%; transform: rotate(-5deg); }
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(4) img { left: 59%; top: 7%; transform: rotate(9deg); }
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(5) img { left: 73%; top: 42%; transform: rotate(-8deg); }
body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(6) img { left: 88%; top: 17%; transform: rotate(5deg); }

/* 每个荣誉页保持占满视口，不被 Elementor 容器的默认 flex 值压缩。 */
body.xiniu-elementor-site .honor-track > .honor-grid.e-con {
    width: 100%;
    min-width: 100%;
    flex: 0 0 100%;
}

@media (max-width: 767px) {
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(1) img { left: -2%; top: 26%; }
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(2) img { left: 17%; top: 2%; }
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(3) img { left: 33%; top: 35%; }
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(4) img { left: 48%; top: 4%; }
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(5) img { left: 64%; top: 33%; }
    body.xiniu-elementor-site .patent-collage > .elementor-widget-image:nth-child(6) img { left: 79%; top: 10%; }
}

body.xiniu-elementor-site .entry-content,
body.xiniu-elementor-site .site-content,
body.xiniu-elementor-site #primary {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Elementor 预览 iframe 不依赖页面滚动来触发入场动画，避免编辑时出现“空白板块”。 */
body.xiniu-elementor-editing .reveal,
body.xiniu-elementor-editing .about-reveal,
body.xiniu-elementor-editing .credentials-section .credential {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
}

body.xiniu-elementor-editing .manifesto__image,
body.xiniu-elementor-editing .image-statement img {
    transform: none !important;
}

body.xiniu-elementor-editing [data-xiniu-edit-group] {
    min-width: 0;
}

.xiniu-wpforms .wpforms-container-full {
    margin: 0;
}

.xiniu-wpforms .wpforms-form {
    display: block;
}

.xiniu-wpforms .wpforms-field-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 0;
}

.xiniu-wpforms .wpforms-field {
    min-width: 0;
    padding: 6px 0 9px;
}

.xiniu-wpforms .wpforms-field-radio,
.xiniu-wpforms .wpforms-field-textarea,
.xiniu-wpforms .wpforms-field-checkbox,
.xiniu-wpforms .wpforms-submit-container,
.xiniu-wpforms .wpforms-confirmation-container-full {
    grid-column: 1 / -1;
}

.xiniu-wpforms .wpforms-field-label {
    display: block;
    margin: 0 0 4px;
    color: #26272a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.xiniu-wpforms input[type="text"],
.xiniu-wpforms input[type="tel"],
.xiniu-wpforms textarea {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 7px 0 8px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(26, 27, 29, 0.28) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1b1b1b !important;
    font: inherit !important;
    box-shadow: none !important;
}

.xiniu-wpforms textarea {
    min-height: 68px;
    resize: vertical;
}

.xiniu-wpforms input:focus,
.xiniu-wpforms textarea:focus {
    border-bottom-color: #bc1721 !important;
    outline: 0 !important;
    box-shadow: 0 1px 0 #bc1721 !important;
}

.xiniu-wpforms .wpforms-field-radio ul,
.xiniu-wpforms .wpforms-field-checkbox ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 0 !important;
    padding: 0 !important;
}

.xiniu-wpforms .wpforms-field-radio li,
.xiniu-wpforms .wpforms-field-checkbox li {
    margin: 0 !important;
}

.xiniu-wpforms .wpforms-field-radio label,
.xiniu-wpforms .wpforms-field-checkbox label {
    color: #4f5155;
    font-size: 12px;
}

.xiniu-wpforms .wpforms-field-checkbox legend.wpforms-field-label {
    display: none;
}

.xiniu-wpforms .wpforms-field-radio input,
.xiniu-wpforms .wpforms-field-checkbox input {
    accent-color: #bc1721;
}

.xiniu-wpforms .wpforms-submit-container {
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

.xiniu-wpforms button[type="submit"] {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #1b1b1b !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    box-shadow: none !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.xiniu-wpforms button[type="submit"]:hover {
    background: #bc1721 !important;
}

.xiniu-wpforms button[type="submit"]:active {
    transform: translateY(1px);
}

.xiniu-wpforms .wpforms-error,
.xiniu-wpforms em.wpforms-error {
    color: #bc1721 !important;
    font-size: 11px !important;
}

.xiniu-wpforms .wpforms-confirmation-container-full {
    margin: 10px 0 0;
    border: 1px solid rgba(188, 23, 33, 0.28);
    background: rgba(188, 23, 33, 0.06);
    color: #641016;
}

@media (max-width: 767px) {
    .xiniu-wpforms .wpforms-field-container {
        grid-template-columns: 1fr;
        column-gap: 0;
    }

    .xiniu-wpforms .wpforms-field,
    .xiniu-wpforms .wpforms-submit-container {
        grid-column: 1;
    }
}

/* 联系我们：保持 Elementor 原生容器可编辑，同时校正 WPForms Lite 的实际 DOM 层级并收紧版面。 */
body.xiniu-elementor-site .contact-section {
    min-height: 0;
    padding: 74px 0;
}

body.xiniu-elementor-site .contact-section__stage {
    min-height: 610px;
}

body.xiniu-elementor-site .contact-section__stage::before {
    inset: 30px 4%;
}

body.xiniu-elementor-site .contact-composition {
    min-height: 0;
}

body.xiniu-elementor-site .contact-form-panel {
    padding: 32px 42px 28px;
}

body.xiniu-elementor-site .contact-form__intro .section-kicker {
    margin-bottom: 9px;
}

body.xiniu-elementor-site .contact-form__intro h2 {
    font-size: clamp(34px, 3vw, 44px);
}

body.xiniu-elementor-site .contact-form__intro > p:last-child {
    margin-top: 10px;
    line-height: 1.6;
}

body.xiniu-elementor-site .contact-form {
    margin-top: 20px;
}

body.xiniu-elementor-site .contact-section__mark {
    padding: 30px 30px 24px;
}

body.xiniu-elementor-site .contact-section__endpoint {
    top: 42px;
}

body.xiniu-elementor-site .contact-section__mark > strong {
    font-size: clamp(96px, 9vw, 132px);
}

body.xiniu-elementor-site .contact-section__mark strong[aria-hidden="true"] {
    position: relative;
    z-index: 1;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #f8f7f4;
    font-family: var(--font-serif);
    font-size: clamp(96px, 9vw, 132px);
    font-weight: 700;
    line-height: 0.78;
    letter-spacing: -0.12em;
}

body.xiniu-elementor-site .contact-section__mark strong[aria-hidden="true"] span:last-child {
    margin-left: 0.2em;
}

body.xiniu-elementor-site .contact-direct {
    gap: 10px 16px;
    padding-top: 16px;
}

@media (max-width: 767px) {
    body.xiniu-elementor-site .contact-section {
        padding: 46px 0;
    }

    body.xiniu-elementor-site .contact-section__stage {
        min-height: 0;
    }

    body.xiniu-elementor-site .contact-section__stage::before {
        inset: 18px 0;
    }

    body.xiniu-elementor-site .contact-form-panel {
        padding: 27px 22px 23px;
    }

    body.xiniu-elementor-site .contact-form__intro h2 {
        font-size: 31px;
    }

    body.xiniu-elementor-site .contact-form {
        margin-top: 15px;
    }

    body.xiniu-elementor-site .contact-section__mark {
        min-height: 292px;
        padding: 24px 22px 21px;
    }

    body.xiniu-elementor-site .contact-section__mark > strong {
        margin: 24px auto;
        font-size: 76px;
    }

    body.xiniu-elementor-site .contact-section__mark strong[aria-hidden="true"] {
        flex-direction: row;
        margin: 24px auto;
        font-size: 76px;
        line-height: 0.9;
        letter-spacing: -0.08em;
    }

    body.xiniu-elementor-site .contact-section__mark strong[aria-hidden="true"] span:last-child {
        margin-left: 0;
    }

    body.xiniu-elementor-site .contact-direct {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px 14px;
        padding-top: 13px;
    }

    body.xiniu-elementor-site .contact-direct > div {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .xiniu-wpforms button[type="submit"] {
        transition: none !important;
    }
}
