/*
Theme Name: Kadence Child - Zhiwei
Template: kadence
Version: 1.0.0
*/

:root {
    --zw-ink: #10202e;
    --zw-ink-soft: #1b3245;
    --zw-teal: #0d7c7b;
    --zw-teal-dark: #0a5f5e;
    --zw-gold: #b3893f;
    --zw-paper: #f5f6f3;
    --zw-line: #dfe3de;
    --zw-text: #33414e;
    --zw-muted: #5d6c78;
    --zw-white: #ffffff;
}

body {
    font-family: "Segoe UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif;
    color: var(--zw-text);
    background: var(--zw-white);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--zw-ink);
    letter-spacing: 0;
}

a {
    text-decoration: none;
}

.zw-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.zw-hero {
    position: relative;
    min-height: min(720px, 92vh);
    display: flex;
    align-items: center;
    color: #fff;
    overflow: hidden;
    background: #0b1824;
}

.zw-hero__bg {
    position: absolute;
    inset: 0;
    background-image: url("https://www.zivaywebbing.com/wp-content/uploads/2026/08/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20250316211820-1536x874.jpg");
    background-size: cover;
    background-position: center;
}

.zw-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(8, 20, 30, 0.9) 0%, rgba(8, 20, 30, 0.65) 46%, rgba(8, 20, 30, 0.28) 100%);
}

.zw-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 120px 24px;
}

.zw-hero__content {
    max-width: 780px;
}

.zw-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #c7e5e4;
    font-weight: 700;
    font-size: 14px;
    margin: 0;
}

.zw-hero__eyebrow::before {
    content: "";
    width: 36px;
    height: 2px;
    background: #2aa5a3;
    flex: none;
}

.zw-hero__title {
    color: #fff;
    font-size: clamp(2.3rem, 4.6vw, 3.7rem);
    line-height: 1.12;
    font-weight: 800;
    margin: 18px 0 20px;
}

.zw-hero__sub {
    color: #e8eef2;
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.85;
    max-width: 660px;
    margin: 0 0 34px;
}

.zw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 15px;
    border: 1px solid transparent;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.zw-btn--primary {
    background: var(--zw-teal);
    color: #fff;
}

.zw-btn--primary:hover {
    background: var(--zw-teal-dark);
    color: #fff;
}

.zw-btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.72);
}

.zw-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.zw-btn--sm {
    min-height: 40px;
    padding: 0 18px;
    font-size: 14px;
}

.zw-btn--outline {
    background: #fff;
    color: var(--zw-teal);
    border-color: var(--zw-teal);
}

.zw-btn--outline:hover {
    background: var(--zw-teal);
    color: #fff;
}

.zw-hero__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.zw-strip {
    background: #fff;
    border-bottom: 1px solid var(--zw-line);
}

.zw-strip__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.zw-strip__item {
    padding: 30px 24px;
    border-left: 1px solid var(--zw-line);
}

.zw-strip__item:first-child {
    border-left: 0;
}

.zw-strip__num {
    color: var(--zw-teal);
    font-weight: 800;
    font-size: 13px;
    margin: 0;
}

.zw-strip__label {
    margin: 8px 0 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--zw-ink);
}

.zw-strip__desc {
    margin: 6px 0 0;
    font-size: 14px;
    color: var(--zw-muted);
    line-height: 1.6;
}

.zw-section {
    padding: 92px 0;
}

.zw-section--tint {
    background: var(--zw-paper);
}

.zw-section__head {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.zw-section__eyebrow {
    color: var(--zw-teal);
    font-weight: 800;
    font-size: 13px;
    margin: 0;
}

.zw-section__title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.2;
    margin: 10px 0 14px;
}

.zw-section__lead {
    color: var(--zw-muted);
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.zw-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.zw-product-card {
    background: #fff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.zw-product-card__media {
    aspect-ratio: 1 / 1;
    background: #eef0ec;
    display: block;
}

.zw-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.zw-product-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.zw-product-card__title {
    font-size: 20px;
    line-height: 1.3;
    margin: 0 0 10px;
}

.zw-product-card__title a {
    color: var(--zw-ink);
}

.zw-product-card__excerpt {
    font-size: 14px;
    line-height: 1.7;
    color: var(--zw-muted);
    margin: 0 0 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.zw-product-card__actions {
    margin-top: auto;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.zw-more {
    text-align: center;
    margin-top: 44px;
}

.zw-more a {
    display: inline-block;
    color: var(--zw-teal);
    font-weight: 700;
    font-size: 15px;
    border-bottom: 2px solid var(--zw-teal);
    padding-bottom: 3px;
}

.zw-factory {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 64px;
    align-items: center;
}

.zw-factory__media {
    position: relative;
}

.zw-factory__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.zw-factory__badge {
    position: absolute;
    left: 18px;
    bottom: 18px;
    background: #fff;
    padding: 14px 20px;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(16, 32, 46, 0.18);
    font-size: 14px;
    font-weight: 700;
    color: var(--zw-ink);
}

.zw-factory__body .zw-section__eyebrow {
    text-align: left;
}

.zw-factory__body h2 {
    font-size: clamp(1.7rem, 2.8vw, 2.4rem);
    line-height: 1.25;
    margin: 10px 0 16px;
}

.zw-factory__body p {
    color: var(--zw-muted);
    line-height: 1.85;
    margin: 0 0 12px;
}

.zw-factory__list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 22px;
}

.zw-factory__list li {
    position: relative;
    padding-left: 28px;
    font-size: 15px;
    font-weight: 600;
    color: var(--zw-ink);
    line-height: 1.5;
}

.zw-factory__list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--zw-teal);
    font-weight: 800;
}

.zw-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.zw-chip {
    border: 1px solid var(--zw-line);
    background: #fff;
    color: #43525f;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 999px;
}

.zw-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.zw-process__item {
    background: #fff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 28px 24px;
}

.zw-process__num {
    font-size: 13px;
    font-weight: 800;
    color: var(--zw-gold);
    margin: 0;
}

.zw-process__title {
    margin: 12px 0 8px;
    font-size: 18px;
    line-height: 1.3;
}

.zw-process__desc {
    font-size: 14px;
    color: var(--zw-muted);
    line-height: 1.7;
    margin: 0;
}

.zw-cta {
    background: var(--zw-ink);
    color: #fff;
    text-align: center;
    padding: 88px 24px;
}

.zw-cta__title {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.2;
    margin: 0 0 14px;
}

.zw-cta__sub {
    color: #c6d0d6;
    max-width: 640px;
    margin: 0 auto 32px;
    line-height: 1.8;
    font-size: 16px;
}

.zw-cta .zw-hero__actions {
    justify-content: center;
}

.zw-page-hero {
    background: var(--zw-ink-soft);
    color: #fff;
    padding: 96px 0 74px;
}

.zw-page-hero__title {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
    margin: 0 0 12px;
}

.zw-page-hero__sub {
    color: #c6d0d6;
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
    max-width: 680px;
}

.zw-split {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 56px;
    align-items: start;
}

.zw-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.zw-contact-list li {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid var(--zw-line);
}

.zw-contact-list strong {
    display: block;
    color: var(--zw-ink);
    font-size: 15px;
    margin-bottom: 4px;
}

.zw-contact-list span {
    color: var(--zw-muted);
    font-size: 14px;
    line-height: 1.6;
}

.zw-form-box {
    background: var(--zw-paper);
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 32px;
}

.naibabiji-b2b-product-card {
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.naibabiji-b2b-product-thumbnail img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}

.naibabiji-b2b-product-title {
    color: var(--zw-ink);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.naibabiji-b2b-product-excerpt {
    color: var(--zw-muted);
    line-height: 1.7;
}

.naib-b2b-btn {
    border-radius: 6px;
}

@media (max-width: 900px) {
    .zw-strip__inner {
        grid-template-columns: 1fr 1fr;
    }
    .zw-factory {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .zw-process {
        grid-template-columns: 1fr 1fr;
    }
    .zw-split {
        grid-template-columns: 1fr;
    }
    .zw-hero__inner {
        padding: 100px 24px;
    }
    .zw-section {
        padding: 70px 0;
    }
}

@media (max-width: 560px) {
    .zw-strip__inner {
        grid-template-columns: 1fr;
    }
    .zw-strip__item {
        border-left: 0;
        border-top: 1px solid var(--zw-line);
        padding: 24px 4px;
    }
    .zw-strip__item:first-child {
        border-top: 0;
    }
    .zw-process {
        grid-template-columns: 1fr;
    }
    .zw-section {
        padding: 60px 0;
    }
    .zw-factory__list {
        grid-template-columns: 1fr;
    }
}
.zw-band {
    padding: 92px 0;
}

.zw-band-white {
    background: #ffffff;
}

.zw-band-light {
    background: var(--zw-paper);
}

.zw-band-navy {
    background: var(--zw-ink);
    color: #ffffff;
}

.zw-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.zw-eyebrow {
    color: var(--zw-teal);
    font-weight: 800;
    font-size: 13px;
    letter-spacing: 0;
    margin: 0;
    text-transform: uppercase;
}

.zw-eyebrow-light {
    color: #9fd4d3;
}

.zw-band h1,
.zw-band h2 {
    color: var(--zw-ink);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.2;
    margin: 10px 0 14px;
}

.zw-band-navy h1,
.zw-band-navy h2,
.zw-band-navy p {
    color: #ffffff;
}

.zw-sub {
    color: var(--zw-muted);
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.zw-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 44px;
}

.zw-features-3 {
    grid-template-columns: repeat(3, 1fr);
}

.zw-feature {
    background: #ffffff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 28px 24px;
}

.zw-feature h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: var(--zw-ink);
}

.zw-feature p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--zw-muted);
}

.zw-block-title {
    margin: 0 0 10px;
    color: var(--zw-ink);
    font-size: 22px;
    line-height: 1.3;
}

.zw-hot-band {
    padding-top: 0;
}

.zw-cta-band {
    color: #ffffff;
}

.zw-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
}

.zw-cta-inner h2 {
    color: #ffffff;
    margin: 10px 0 8px;
}

.zw-cta-inner p {
    margin: 0;
    color: #c6d0d6;
    line-height: 1.8;
    max-width: 640px;
}

.zw-btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 6px;
    background: var(--zw-gold);
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
}

.zw-btn-gold:hover {
    background: #976f2c;
    color: #ffffff;
}

.zw-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 6px;
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.72);
    font-weight: 700;
    font-size: 15px;
}

.zw-hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 26px;
}

.zw-page-hero-short {
    padding: 76px 0 60px;
}

.zw-cols {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 56px;
    align-items: center;
}

.zw-col img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.zw-check-list {
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
}

.zw-check-list li {
    position: relative;
    padding-left: 28px;
    color: var(--zw-ink);
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 10px;
}

.zw-check-list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--zw-teal);
    font-weight: 800;
}

.zw-app-card {
    background: #ffffff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 28px 24px;
}

.zw-app-card h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: var(--zw-ink);
}

.zw-app-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--zw-muted);
}

.zw-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 40px;
}

.zw-step {
    background: #ffffff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 28px 24px;
}

.zw-step span {
    color: var(--zw-gold);
    font-weight: 800;
    font-size: 13px;
}

.zw-step h3 {
    margin: 12px 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: var(--zw-ink);
}

.zw-step p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--zw-muted);
}

.zw-cert-list {
    list-style: none;
    margin: 30px 0 0;
    padding: 0;
}

.zw-cert-list li {
    position: relative;
    padding-left: 28px;
    color: var(--zw-ink);
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 10px;
}

.zw-cert-list li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--zw-teal);
    font-weight: 800;
}

.zw-contact-block {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}

.zw-contact-block > div {
    background: #ffffff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 18px 20px;
}

.zw-contact-block span {
    display: block;
    color: var(--zw-muted);
    font-size: 13px;
    margin-bottom: 4px;
}

.zw-contact-block strong {
    color: var(--zw-ink);
    font-size: 15px;
}

.zw-quote-wrap {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 48px;
    align-items: start;
}

.zw-quote-intro h2 {
    margin-top: 10px;
}

.zw-quote-note {
    background: #ffffff;
    border: 1px solid var(--zw-line);
    border-radius: 8px;
    padding: 20px;
    margin-top: 24px;
    display: grid;
    gap: 6px;
}

.zw-quote-note strong {
    color: var(--zw-ink);
    margin-bottom: 4px;
}

.zw-quote-note span {
    color: var(--zw-muted);
    font-size: 14px;
}

@media (max-width: 900px) {
    .zw-features,
    .zw-features-3,
    .zw-steps {
        grid-template-columns: 1fr 1fr;
    }
    .zw-cols,
    .zw-quote-wrap {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .zw-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .zw-band {
        padding: 70px 0;
    }
}

@media (max-width: 560px) {
    .zw-features,
    .zw-features-3,
    .zw-steps {
        grid-template-columns: 1fr;
    }
    .zw-band {
        padding: 60px 0;
    }
}

.naibabiji-b2b-products-grid,
.naibabiji-b2b-product-categories {
    display: grid;
    gap: 24px;
    margin-top: 36px;
}

.naibabiji-b2b-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.naibabiji-b2b-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.naibabiji-b2b-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.naibabiji-b2b-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.naibabiji-b2b-product-thumbnail img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.naibabiji-b2b-product-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    padding: 18px;
}

.naibabiji-b2b-category-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.naibabiji-b2b-category-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.naibabiji-b2b-category-info {
    padding: 18px;
}

@media (max-width: 900px) {
    .naibabiji-b2b-columns-4,
    .naibabiji-b2b-columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .naibabiji-b2b-columns-4,
    .naibabiji-b2b-columns-3,
    .naibabiji-b2b-columns-2 {
        grid-template-columns: 1fr;
    }
}

.naibabiji-b2b-products-grid,
.naibabiji-b2b-product-categories {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.naibabiji-b2b-products-grid.naibabiji-b2b-columns-4 {
    grid-template-columns: repeat(3, 1fr);
}

.zw-contact-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.zw-home__contact .zw-wrap {
    text-align: center;
}

.zw-home__contact .zw-contact-quick {
    justify-content: center;
}

/* Header background matches site body background */
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    background-color: var(--global-palette8) !important;
}

/* Content areas below header match site body background */
.entry-hero-container-inner,
.content-bg,
.entry.single-entry {
    background-color: var(--global-palette8) !important;
}

/* Header uses page-bottom grid texture */
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    background-color: #102B32 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1' opacity='0.06'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 56px 56px !important;
}

#masthead .site-branding .site-title,
#masthead .site-branding .site-description,
#masthead .main-navigation .menu-item > a,
#masthead .mobile-toggle-open-container .menu-toggle-open {
    color: #ffffff !important;
}

#masthead .main-navigation .menu-item > a:hover,
#masthead .mobile-toggle-open-container .menu-toggle-open:hover {
    color: #7FD1D4 !important;
}
/* Continue header grid through page hero */
.entry-hero-container-inner {
    background-color: #102B32 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1' opacity='0.06'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 56px 56px !important;
    background-position: 0 -80px !important;
}

.entry-hero .entry-header,
.entry-hero .entry-title,
.entry-hero .page-title,
.entry-hero .archive-title,
.entry-hero .search-title,
.entry-hero .taxonomy-title,
.entry-hero h1 {
    color: #ffffff !important;
}
/* Keep homepage hero band visible so header grid continues */
.home .entry-hero-container-inner,
.page-id-364 .entry-hero-container-inner {
    min-height: 200px !important;
}
/* Homepage: no extra hero band height, continue grid into first section */
.home .entry-hero-container-inner,
.page-id-364 .entry-hero-container-inner {
    min-height: 0 !important;
}

.home .content-area {
    margin-top: 0 !important;
}

.home .entry-content-wrap {
    padding: 0 !important;
}

.home .entry-content .hero {
    background-color: #102B32 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1' opacity='0.06'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 56px 56px !important;
    background-position: 0 -80px !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.home .entry-content .hero h1,
.home .entry-content .hero .lead,
.home .entry-content .hero .hero-trust .ttl {
    color: #ffffff !important;
}

.home .entry-content .hero .eyebrow {
    color: #7FD1D4 !important;
}
/* Hide old dark weave overlay in homepage hero so header grid stays continuous */
.home .entry-content .hero .weave-bg {
    display: none !important;
}
/* Homepage second block returns to original paper gray */
.home .entry-content .strip {
    background-color: var(--paper) !important;
    color: var(--text) !important;
    border-bottom-color: var(--line) !important;
}

.home .entry-content .strip .num {
    color: var(--teal) !important;
}

.home .entry-content .strip .label {
    color: var(--ink) !important;
}

.home .entry-content .strip .desc {
    color: var(--muted) !important;
}
/* Second content block uses original paper gray everywhere */
.content-area,
.content-wrap,
.entry-content-wrap,
.content-bg,
.entry.single-entry {
    background-color: #F7F5EF !important;
}
/* Lock grid tiles to viewport so header and first section stay perfectly aligned */
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
.entry-hero-container-inner,
.home .entry-content .hero {
    background-attachment: fixed !important;
    background-position: 0 0 !important;
}
/* Homepage hero text block returns to original paper gray with dark weave */
.home .entry-content .hero {
    background-color: #F7F5EF !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23102B32' stroke-width='1' opacity='0.5'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 56px 56px !important;
    background-position: 0 0 !important;
    background-attachment: fixed !important;
    border-bottom-color: var(--line) !important;
}

.home .entry-content .hero h1 {
    color: var(--ink) !important;
}

.home .entry-content .hero .lead {
    color: var(--text) !important;
}

.home .entry-content .hero .hero-trust .ttl {
    color: var(--muted) !important;
}

.home .entry-content .hero .eyebrow {
    color: var(--teal-deep) !important;
}/* Certificate pages: reuse site navigation */
.zw-certificate-menu {
    margin: 0.75rem 0 0;
    justify-content: center;
}

.zw-certificate-menu .menu {
    gap: 0.2rem;
}

.zw-certificate-menu .menu > li > a {
    white-space: nowrap;
}

.zw-certificate-menu .menu .lang-switch select {
    margin-left: 0.5rem;
}

@media (max-width: 767px) {
    .zw-certificate-menu {
        overflow-x: auto;
        justify-content: flex-start;
    }
    .zw-certificate-menu .menu {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
}/* Certificate header aligned with homepage */
.zw-certificate-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.zw-certificate-header > .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1290px;
    margin: 0 auto;
    min-height: 80px;
    padding: 0 24px;
}

.zw-certificate-brand {
    flex: 0 0 auto;
}

.zw-certificate-brand > .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.zw-certificate-brand .wp-block-site-title,
.zw-certificate-brand .wp-block-site-tagline {
    margin: 0;
}

.zw-certificate-brand .wp-block-site-logo img {
    width: 120px;
    height: auto;
}

.zw-certificate-header .zw-certificate-menu {
    margin: 0 0 0 auto;
    justify-content: flex-end;
}

@media (max-width: 1024px) {
    .zw-certificate-header > .wp-block-group__inner-container {
        flex-wrap: wrap;
        padding: 12px 16px;
    }
    .zw-certificate-header .zw-certificate-menu {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .zw-certificate-brand .wp-block-site-tagline {
        display: none;
    }
    .zw-certificate-header .zw-certificate-menu {
        overflow-x: auto;
    }
    .zw-certificate-header .zw-certificate-menu .menu {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
}/* Certificate brand: logo left, title/tagline stacked like homepage */
.zw-certificate-brand > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 12px;
}

.zw-certificate-brand .wp-block-site-logo {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.zw-certificate-brand .wp-block-site-title {
    grid-column: 2;
    grid-row: 1;
    font-size: 26px;
    line-height: 1.2;
    margin: 0;
}

.zw-certificate-brand .wp-block-site-tagline {
    grid-column: 2;
    grid-row: 2;
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
}/* Certificate header dark background matches homepage */
.zw-certificate-header {
    background-color: #102B32 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1' opacity='0.06'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
    background-size: 56px 56px !important;
    border-bottom: 0 !important;
}

.zw-certificate-header .wp-block-site-title a,
.zw-certificate-header .wp-block-site-tagline,
.zw-certificate-header .zw-certificate-menu .menu-item > a,
.zw-certificate-header .zw-certificate-menu .menu-item .nav-drop-title-wrap,
.zw-certificate-header .zw-certificate-menu .dropdown-nav-toggle {
    color: #ffffff !important;
}

.zw-certificate-header .zw-certificate-menu .menu-item > a:hover,
.zw-certificate-header .zw-certificate-menu .menu-item > a:focus {
    color: #7FD1D4 !important;
}/* Product grid wide alignment on fullwidth pages */
.content-width-fullwidth .entry-content .wp-block-naibabiji-b2b-product-grid.alignwide {
    width: 100%;
    max-width: var(--global-content-wide-width, 1520px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--global-content-edge-padding, 1.5rem);
    padding-right: var(--global-content-edge-padding, 1.5rem);
}
/* Category tabs products wide alignment */
.wp-block-naibabiji-b2b-category-tabs-products.alignwide {
    width: min(100vw, var(--global-content-wide-width, 1520px));
    max-width: 100vw;
    margin-left: calc(50% - min(50vw, calc(var(--global-content-wide-width, 1520px) / 2)));
    margin-right: calc(50% - min(50vw, calc(var(--global-content-wide-width, 1520px) / 2)));
}
/* Force category tabs products to use theme wide width */
body .wp-site-blocks .content-container .wp-block-naibabiji-b2b-category-tabs-products.alignwide {
    width: min(100vw, var(--global-content-wide-width, 1520px));
    max-width: 100vw;
    margin-left: calc(50% - min(50vw, calc(var(--global-content-wide-width, 1520px) / 2)));
    margin-right: calc(50% - min(50vw, calc(var(--global-content-wide-width, 1520px) / 2)));
}

/* ==========================================================================
   MOBILE FIX PACK — 2026-09-13 (v2)
   手机端布局修复（390px 实测）：
     1. 产品网格手机端改【双列】（列表页/分类页 3 列网格 + 详情页相关产品 4 列网格）
     2. 卡片只保留【图片 + 标题 + View Details】，隐藏简短描述与分类
     3. 列表页去掉双重内缩，图片满宽
     4. 卡片标题 14px / 最多 3 行（原来 13px 截断成 1 行）
     5. 分类筛选芯片点击区 ≥44px + 选中态白字（原对比度 ≈1.4:1）
     6. 联系页表单铺满（输入框 236px → 332px）
     7. 首页首屏改为文字在前、CTA 进入首屏（原来 CTA 在 y943，首屏只有 844px）
     8. 主色 teal 填充上的白字对比度 3.91:1 → 4.79:1
     9. 触控目标补到 ≥44px
   说明：以上均为 ≤560/900px 的移动端规则，桌面端（3 列 + 描述 + 分类）保持不变。
   回滚：删除本文件末尾 "MOBILE FIX PACK" 起始到文件结尾的内容，
        并把 functions.php 里的版本号改回 1.4.9。
   ========================================================================== */

/* 1) 产品网格：手机端双列 */
@media (max-width: 560px) {
  .naibabiji-b2b-products-grid,
  .naibabiji-b2b-product-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* 2) 列表页/相关产品：去掉双重内缩 */
@media (max-width: 560px) {
  .naibabiji-b2b-products-archive-container,
  .naibabiji-b2b-products-taxonomy-container {
    padding: 16px;
    margin: 20px 0;
  }

  .naibabiji-b2b-products-grid,
  .naibabiji-b2b-product-categories {
    padding-left: 0;
    padding-right: 0;
  }

  .naibabiji-b2b-related-products {
    padding: 16px 4px;
  }
}

/* 3) 卡片精简：只留 图片 + 标题 + 按钮（隐藏简短描述与分类/标签） */
@media (max-width: 560px) {
  .naibabiji-b2b-product-card .naibabiji-b2b-product-excerpt,
  .naibabiji-b2b-product-card .naibabiji-b2b-product-meta,
  .naibabiji-b2b-product-card .naibabiji-b2b-product-categories,
  .naibabiji-b2b-product-card .naibabiji-b2b-product-category,
  .naibabiji-b2b-product-card .naibabiji-b2b-product-tags {
    display: none !important;
  }

  .naibabiji-b2b-product-card {
    padding: 10px;
  }

  /* 让图片满宽（抵消卡片内边距） */
  .naibabiji-b2b-product-card .naibabiji-b2b-product-thumbnail {
    margin: -10px -10px 8px -10px;
  }

  .naibabiji-b2b-product-card .naibabiji-b2b-product-info {
    padding: 0;
  }

  .naibabiji-b2b-product-card .naibabiji-b2b-product-title,
  h6.naibabiji-b2b-product-title {
    font-size: 14px;
    line-height: 1.35;
    -webkit-line-clamp: 3;
    margin-bottom: 10px;
  }

  .naibabiji-b2b-view-details-button,
  .naibabiji-b2b-inquiry-button {
    font-size: 13px;
    padding: 10px 8px;
    min-height: 44px;
    width: 100%;
  }
}

/* 4) 分类筛选芯片：点击区 + 选中态对比度 */
@media (max-width: 560px) {
  .naibabiji-b2b-category-button {
    padding: 10px 16px;
    font-size: 14px;
    min-height: 44px;
  }
}

.naibabiji-b2b-category-button.active {
  color: #fff !important;
}

/* 5) 联系页询盘表单：减少嵌套内边距，输入框铺满
   （2026-09-29：外圈 .entry-content-wrap 在窄屏给的那 12px 内边距已经取消，
   改由这里承担，表单卡片的左右边距和输入框宽度与改动前完全一致。
   2026-09-30：这条补偿只属于英文联系页 409 —— 中文联系页 40 当初没有那条
   12px 覆盖，卡片边距本来就是 24px，所以这里必须按页面 ID 限定，否则中文页
   的卡片会被挤到 12px。） */
@media (max-width: 560px) {
  body.page-id-409 .zwc-form .zwc-form__inner {
    padding-inline: 12px;
  }

  .zwc-form .zwc-form__body {
    padding: 20px 16px;
  }
}

/* 6) 首页首屏：文字在前、副标题与 CTA 进入首屏 */
@media (max-width: 560px) {
  section.zwb-hero {
    padding-block: 40px;
  }

  .zwb-hero .zwb-hero__inner {
    gap: 26px;
  }

  .zwb-hero .zwb-hero__figure {
    order: 0;
  }

  .zwb-hero .zwb-hero__title {
    font-size: 30px;
    margin-bottom: 14px;
  }

  .zwb-hero .zwb-hero__sub {
    font-size: 16px;
    margin-bottom: 22px;
  }

  .zwb-hero .zwb-hero__actions {
    gap: 10px;
    margin-bottom: 24px;
  }

  .zwb-hero .zwb-hero__actions .zwb-btn {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* 7) 对比度：teal #0E8F94 上的白字只有 3.91:1，加深到 #0C7F84 = 4.79:1 */
.zwb-hero .zwb-btn.zwb-btn--primary,
.zwc-hero a.zwc-btn--primary,
.zwc-map a.zwc-map__link {
  background: #0C7F84;
  border-color: #0C7F84;
}

.zwb-hero .zwb-btn.zwb-btn--primary:hover,
.zwc-hero a.zwc-btn--primary:hover {
  background: #0A6F73;
  border-color: #0A6F73;
}

/* 表单提交按钮：原本是深色字压 teal（3.29:1），改回白字并加深底色 */
.naibabiji-b2b-contact-submit-button {
  background: #0C7F84 !important;
  border-color: #0C7F84 !important;
  color: #fff !important;
}

/* 8) 触控目标补到 ≥44px + 悬浮 AI 按钮不再压住内容 */
@media (max-width: 900px) {
  #mobile-toggle {
    min-width: 44px;
    min-height: 44px;
  }

  .naibabiji-b2b-gallery-nav {
    width: 44px;
    height: 44px;
  }

  /* 首页产品网格卡片的询价按钮高度补到 44px */
  .naibb2pr-product-card .naibb2pr-button {
    min-height: 44px;
  }

  .naibabiji-b2b-products-archive-container .page-numbers,
  .naibabiji-b2b-products-taxonomy-container .page-numbers {
    min-width: 44px;
    min-height: 44px;
    line-height: 44px;
    display: inline-block;
  }

  .naibabiji-b2b-breadcrumbs a {
    display: inline-block;
    padding: 6px 0;
  }

  .naib-ai-chat-launcher--float {
    width: 52px;
    height: 52px;
    font-size: 24px;
    bottom: 18px;
    right: 16px;
  }
}

/* ======================= MOBILE FIX PACK END ============================== */

/* ==========================================================================
   「满幅色带」页面：检测证书 / 联系 / 工厂展示（中英各一份）
     · page-id-605  /test-certificate/      · page-id-347  /zh/jiancezhengshu/
     · page-id-409  /contact/               · page-id-40   /zh/contact/
     · page-id-823  /factory-showcase/      · page-id-34   /zh/factory/

   这六个页面的板块都是按「满幅色带」排版的：每块自带背景色、自带上下留白，
   正文由各自的 __inner 负责 1180px 居中 + 左右各 24px 内边距。

   但 Kadence 的 content-style-boxed 会给 .entry-content-wrap 补一圈内边距
   （桌面 32px、手机 24px），于是开头区域的织纹网格四周多出一圈没有网格的
   纸色留白：顶边一条、左右各一条，看起来像网格被裁掉了一块。

   这里只针对这六个页面去掉那圈内边距，让网格一直铺到页面上边缘和左右两边。
   桌面端因为 __inner 是居中定宽的，去掉这圈对称内边距后正文位置分毫未动；
   手机端的正文留白则由原来的 48px（24+24）回到设计稿的 24px，与首页一致。
   ========================================================================== */
.page-id-605 .entry-content-wrap,
.page-id-409 .entry-content-wrap,
.page-id-823 .entry-content-wrap,
.page-id-347 .entry-content-wrap,
.page-id-40 .entry-content-wrap,
.page-id-34 .entry-content-wrap {
    padding: 0 !important;
}

/* 网格贴图锁定到视口原点，和页眉上那张 56px 网格对齐（做法与首页 hero 一致），
   这样页眉与开头区接缝处的网格线是连续的。 */
.page-id-605 .zwt-hero__weave,
.page-id-409 .zwc-hero__weave,
.page-id-823 .zwf-hero__weave,
.page-id-347 .zwt-hero__weave,
.page-id-40 .zwc-hero__weave,
.page-id-34 .zwf-hero__weave {
    background-attachment: fixed !important;
    background-position: 0 0 !important;
}

/* ==========================================================================
   FAQ 组件（站内共享）— 2026-09-30 为 GEO 新增
   使用位置：/faq/、/zh/changjianwenti/、联系页（内联同款），以及产品页
   （产品页用紧凑变体 .zwc-faq--product，此处提供样式，页面里只放结构）。
   结构化数据由 mu-plugin zw-geo.php 自动从 <details>/<summary> 提取。
   ========================================================================== */
.zwc-faq{
    --ink:#102B32; --ink-soft:#1C3A42; --teal:#0E8F94; --teal-deep:#0A6F73;
    --teal-wash:#E7F3F2; --paper:#F7F5EF; --line:#E1DDD1; --line-strong:#C9C4B4;
    --text:#26343A; --muted:#5C6B70; --shadow:0 18px 40px -24px rgba(16,43,50,.35); --radius:10px;
    --display:'Libre Franklin','Noto Sans SC','Segoe UI',system-ui,-apple-system,sans-serif;
    --body:'Source Sans 3','Noto Sans SC',system-ui,-apple-system,'Segoe UI',sans-serif;
    position:relative; overflow:hidden; background:#fff;
    border-bottom:1px solid var(--line);
    padding-block:clamp(72px,9vw,120px);
    font-family:var(--body); color:var(--text); line-height:1.7; font-size:17px; -webkit-font-smoothing:antialiased;
}
.zwc-faq *, .zwc-faq *::before, .zwc-faq *::after{box-sizing:border-box;margin:0;padding:0}
.zwc-faq h1,.zwc-faq h2{font-family:var(--display);color:var(--ink);font-weight:800}
/* 正文里的链接用深青色；CTA 按钮除外（按钮的规则见下方 a.zwc-faq__button） */
.zwc-faq a:not(.zwc-faq__button){color:var(--teal-deep)}
.zwc-faq__inner{position:relative;max-width:860px;margin-inline:auto;padding-inline:24px}
.zwc-faq__head{margin-bottom:clamp(30px,4vw,44px);text-align:center}
.zwc-faq__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-deep);margin-bottom:18px}
.zwc-faq__title{font-size:clamp(30px,3.6vw,42px);letter-spacing:-.4px;margin-bottom:12px}
.zwc-faq__lead{color:var(--muted);font-size:17px}
.zwc-faq__facts{margin:0 0 clamp(28px,4vw,40px)}
.zwc-faq__facts table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.zwc-faq__facts th,.zwc-faq__facts td{padding:12px 16px;text-align:left;font-size:15px;border-bottom:1px solid var(--line);vertical-align:top}
.zwc-faq__facts tr:last-child th,.zwc-faq__facts tr:last-child td{border-bottom:0}
.zwc-faq__facts th{width:38%;font-family:var(--display);font-weight:700;color:var(--ink);white-space:nowrap}
.zwc-faq__facts td{color:var(--muted)}
.zwc-faq__group{font-size:20px;letter-spacing:-.2px;margin:clamp(28px,4vw,40px) 0 16px}
.zwc-faq__list{display:grid;gap:14px}
.zwc-faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s ease}
.zwc-faq details[open]{box-shadow:var(--shadow)}
.zwc-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-family:var(--display);font-weight:700;font-size:16.5px;color:var(--ink);position:relative}
.zwc-faq summary::-webkit-details-marker{display:none}
.zwc-faq summary .plus{width:26px;height:26px;flex:none;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-deep);background:#fff;transition:transform .2s ease}
.zwc-faq summary .plus svg{width:14px;height:14px}
.zwc-faq details[open] summary .plus{transform:rotate(45deg);background:var(--teal);border-color:var(--teal);color:#fff}
.zwc-faq .ans{padding:16px 22px 20px;font-size:15px;color:var(--muted);border-top:1px dashed var(--line);margin:0 22px}

/* 底部 CTA 按钮：白字 + 深青底。
   2026-09-30 修复：按钮曾被 .zwc-faq a{color:var(--teal-deep)} 覆盖，深青字压深青底导致文字看不见。
   现在链接规则用 :not(.zwc-faq__button) 排除按钮，按钮自身用 .zwc-faq a.zwc-faq__button（权重 0-2-1）
   并显式声明 visited / hover / focus / active，防止任何一条通用 a 规则再次把字改成与底色同色。 */
.zwc-faq__cta{margin-top:clamp(30px,4vw,44px);padding:26px 24px;background:var(--teal-wash);border:1px solid #CFE4E2;border-radius:var(--radius);text-align:center}
.zwc-faq__cta p{font-family:var(--display);font-weight:700;color:var(--ink);font-size:17px;margin-bottom:14px}
.zwc-faq a.zwc-faq__button,
.zwc-faq a.zwc-faq__button:visited,
.zwc-faq a.zwc-faq__button:hover,
.zwc-faq a.zwc-faq__button:focus,
.zwc-faq a.zwc-faq__button:active{
    display:inline-block;padding:12px 26px;background:var(--teal-deep);color:#fff;
    border:0;border-radius:999px;font-family:var(--display);font-weight:700;font-size:15px;
    text-decoration:none;line-height:1.4;
}
.zwc-faq a.zwc-faq__button:hover{background:var(--teal)}

@media (max-width:600px){
    .zwc-faq__facts th{width:auto;display:block;border-bottom:0;padding-bottom:2px}
    .zwc-faq__facts td{display:block;padding-top:0}
}

/* 产品页紧凑变体 */
.zwc-faq--product{padding-block:clamp(40px,6vw,64px);border-bottom:0;background:transparent}
.zwc-faq--product .zwc-faq__inner{max-width:100%;padding-inline:0}
.zwc-faq--product .zwc-faq__head{text-align:left;margin-bottom:20px}
.zwc-faq--product .zwc-faq__title{font-size:clamp(22px,2.4vw,30px);margin-bottom:0}
.zwc-faq--product summary{font-size:16px;padding:16px 20px}
.zwc-faq--product .ans{margin:0 20px;padding:14px 20px 18px}

/* ==========================================================================
   数据条组件（zwf-stats）— 2026-09-30 从工厂页提取到主题，供 About 页复用
   工厂页仍带着自己的内联副本（规则完全相同，不冲突）。
   ========================================================================== */
.zwf-stats{
    --display:'Libre Franklin','Noto Sans SC','Segoe UI',system-ui,-apple-system,sans-serif;
    --body:'Source Sans 3','Noto Sans SC',system-ui,-apple-system,'Segoe UI',sans-serif;
    background:#102B32; color:#DCE6E6;
    padding-block:clamp(28px,4vw,44px);
    border-bottom:1px solid rgba(255,255,255,.08);
    font-family:var(--body); line-height:1.7; font-size:16px; -webkit-font-smoothing:antialiased;
}
.zwf-stats *, .zwf-stats *::before, .zwf-stats *::after{box-sizing:border-box;margin:0;padding:0}
.zwf-stats__inner{max-width:1180px;margin-inline:auto;padding-inline:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.zwf-stats__item{padding:8px 12px;border-left:2px solid rgba(127,154,158,.35);text-align:center}
.zwf-stats__num{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,36px);color:#7FD1D4;line-height:1.1;margin-bottom:4px}
.zwf-stats__num span{font-size:.55em;color:#7FD1D4;font-weight:700}
.zwf-stats__label{font-family:var(--display);font-weight:700;font-size:16px;color:#EAF2F2;margin-bottom:4px;letter-spacing:1px}
.zwf-stats__desc{font-size:13.5px;color:#9FB4B8;line-height:1.6}
@media (max-width:960px){.zwf-stats__inner{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.zwf-stats__inner{grid-template-columns:1fr}}

/* About 页的工厂实景三图 */
.zw-about-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.zw-about-photos figure{margin:0}
.zw-about-photos img{display:block;width:100%;height:220px;object-fit:cover;border-radius:10px}
.zw-about-photos figcaption{margin-top:8px;font-size:13.5px;color:#5C6B70;line-height:1.6}
@media (max-width:860px){.zw-about-photos{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.zw-about-photos{grid-template-columns:1fr}}

/* ==========================================================================
   MOBILE STICKY HEADER — 2026-10-02 (v1.5.12)
   手机端页头固定在视口顶部：向下滚动时页头（Logo + 菜单按钮）一直停在顶部，
   随时可以点开菜单。桌面端（≥1025px）页头行为不变，仍是随页面滚走的普通页头。

   主机制用的是 Kadence 自带的「粘性页头」：
     外观 → 自定义 → 页头 → 粘性页头 → Enable Sticky for Mobile? =
     "Yes - Only Main Row"（theme mod `mobile_header_sticky` = main）
   主题的 navigation.min.js 负责加 .item-is-fixed / .item-is-stuck 类、
   给父容器补占位高度、处理锚点跳转偏移，本段 CSS 不重复这些。

   本段只补两处 Kadence 没覆盖到的地方：
     1. Kadence 只在 .item-is-fixed:not(.item-at-start) 这一种状态下给粘性行
        上背景色；正好停在临界点（item-at-start）的那一帧会露出透明。这里把
        所有固定状态都补成与站内页头完全一致的深青底 + 56px 织纹网格。
     2. 网格锁视口（background-attachment: fixed），与静态页头用同一张网格，
        固定前/固定后接缝处的网格线不会错位。

   回滚：删掉本段，并把 mobile_header_sticky 改回 no
        （或 自定义 → 页头 → 粘性页头 → 手机端选 No），再清两层缓存。
   ========================================================================== */
@media (max-width: 1024px) {
    #masthead #mobile-header .site-main-header-wrap.kadence-sticky-header.item-is-fixed,
    #masthead #mobile-header .site-main-header-wrap.kadence-sticky-header.item-is-fixed > .site-header-row-container-inner {
        background-color: #102B32 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-width='1' opacity='0.06'%3E%3Cpath d='M0 0 L28 28 M28 0 L0 28 M28 28 L56 56 M56 28 L28 56'/%3E%3C/g%3E%3C/svg%3E") !important;
        background-size: 56px 56px !important;
        background-attachment: fixed !important;
        background-position: 0 0 !important;
    }
}

/* =================== MOBILE STICKY HEADER END ============================ */

/* ==========================================================================
   MOBILE TYPOGRAPHY PACK — 2026-10-13 (v1.5.13)
   手机端可读性：字阶统一、字号达标、行高收紧，减少"文字墙"占屏。
   范围：≤768px（FAQ 与首页卡片 ≤560px 另有规则）；桌面端不受影响。
   本段只改样式，不动文案、不动结构、不动插件。
   回滚：删掉本段（至 MOBILE TYPOGRAPHY PACK END），functions.php 版本号改回 1.5.12，
        清两层缓存并 reload nginx + php8.1-fpm。
   ========================================================================== */

@media (max-width: 768px) {

    /* 1) 首页正文：17–18px 的字号配 1.7 行高太松，收紧到 1.5，视觉更紧凑更好读 */
    .zwb-hero__sub {
        font-size: 16px;
        line-height: 1.5;
    }

    .zwb-process__lead,
    .zwb-cta__sub {
        font-size: 17px;
        line-height: 1.5;
    }

    .zwb-process__desc {
        font-size: 15px;
        line-height: 1.5;
    }

    /* 2) 产品页描述：插件在 ≤768px 把字号降到 15px、行高仍是 1.8
          （25 屏里最重的一块）。这里回到 16px / 1.55，并把 28px 的大节标题
          收到 20px 并补出上边距，让 5 个小节有清楚的分段边界。 */
    .naibabiji-b2b-product-description {
        font-size: 16px;
        line-height: 1.55;
    }

    .naibabiji-b2b-product-description .wp-block-paragraph,
    .naibabiji-b2b-product-description p {
        font-size: 16px;
        line-height: 1.55;
        margin: 0 0 1em;
    }

    .naibabiji-b2b-product-description .wp-block-heading {
        font-size: 22px;
        line-height: 1.3;
        margin: 26px 0 10px;
    }

    .naibabiji-b2b-product-description > .wp-block-heading:first-child {
        margin-top: 0;
    }

    /* GEO 结论段（p.zw-product-answer）与正文同档 */
    .zw-product-answer {
        font-size: 16px;
        line-height: 1.55;
    }

    /* 3) FAQ：答案原本被 margin 20/22px + padding 20/22px 双重内缩压到 208px 宽
          （27 字/行）；去掉外层 margin，列宽回到 244px 左右。
          问题行 18px 上下内边距收到 14px，每行 120px → 约 100px。 */
    .zwc-faq summary {
        padding: 14px 18px;
        font-size: 16px;
        line-height: 1.4;
    }

    .zwc-faq .ans {
        margin: 0;
        padding: 13px 18px 18px;
        font-size: 15.5px;
        line-height: 1.55;
    }

    .zwc-faq__facts th,
    .zwc-faq__facts td {
        line-height: 1.5;
    }

    .zwc-faq__group {
        margin: 24px 0 10px;
    }

    /* 4) 中文联系页：说明文字统一 1.5 行高 */
    .zwc-hero__sub {
        font-size: 16px;
        line-height: 1.5;
    }

    .zwc-cta__sub {
        font-size: 17px;
        line-height: 1.5;
    }

    .zwc-form .lead,
    .zwc-map .lead {
        font-size: 14.5px;
        line-height: 1.5;
    }
}

/* 5) 首页产品卡描述：与列表页保持一致，最多 2 行（列表页是直接隐藏），
      每张卡省约 64px，6 张卡省约 0.45 屏 */
@media (max-width: 560px) {
    .naibb2pr-product-card__excerpt {
        font-size: 15px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* ===================== MOBILE TYPOGRAPHY PACK END ======================== */

/* ==========================================================================
   HOME STRIP 2×2 — 2026-10-13 (v1.5.14)
   首页四格（R&D Customization / Certified Materials / Quality Control /
   Cooperation Model）：手机端由「1 列 4 行」改为「2 行 2 列」，
   并把每格左侧那条竖线换成等高圆角卡片（原竖线在 2 列布局里长短不齐、显得突兀）。

   为什么必须带 !important：这四格的样式写在页面 HTML 块内部（body 内、
   文档顺序在主题 CSS 之后），同权重时区块自带规则必胜。实测不带 !important
   时 grid 仍是 1 列、眉标仍会在词中间断开。

   范围：360–800px。≤359px（320 宽老机型）2 列会把 "OEKOTEX 100" 断成
   "OEKOTE / X 100"，所以回落原来的 1 列。801–960px 的两列、≥961px 的
   四列（含左侧竖线）完全不变。

   回滚：删掉本段，functions.php 版本号改回 1.5.13，
        清两层缓存并 reload nginx + php8.1-fpm。
   ========================================================================== */
@media (min-width: 360px) and (max-width: 800px) {
    .zwb-strip {
        padding-block: 18px !important;
    }

    .zwb-strip__inner {
        grid-template-columns: 1fr 1fr !important;
        gap: 9px !important;
        padding-inline: 16px !important;
    }

    /* 卡片取代左侧竖线：一行 shorthand 即可盖掉区块的 border-left:2px */
    .zwb-strip__item {
        padding: 9px 10px !important;
        background: rgba(255, 255, 255, .05);
        border: 1px solid rgba(255, 255, 255, .10) !important;
        border-radius: 9px;
    }

    .zwb-strip__num {
        letter-spacing: 1.2px !important;
    }

    .zwb-strip__label {
        font-size: 18px !important;
        margin-bottom: 5px !important;
    }

    .zwb-strip__desc {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}

/* 窄屏（iPhone SE / 小屏安卓）：眉标 12px + 2px 字距会在 2 列里断词，
   收到 11px + 0.8px 字距；标签同步收一档 */
@media (min-width: 360px) and (max-width: 430px) {
    .zwb-strip__num {
        font-size: 11px !important;
        letter-spacing: .8px !important;
    }

    .zwb-strip__label {
        font-size: 17px !important;
    }
}

/* ======================= HOME STRIP 2×2 END ============================== */
