@charset "UTF-8";


:root {
    --xzk-ru-lh-tight: 1.45;    
    --xzk-ru-lh:       1.75;    
    --xzk-ru-lh-loose: 1.85;    

    --xzk-ru-fs-nav:      14px;   
    --xzk-ru-fs-nav-sub:  13.5px; 
    --xzk-ru-fs-btn:      13.5px; 
    --xzk-ru-fs-btn-main: 14.5px; 
    --xzk-ru-fs-label:    13.5px; 
    --xzk-ru-fs-input:    14px;   

    --xzk-ru-nav-maxw: 13ch;
}


body,
.xzk-pd-gutenberg,
.case-body,
.lp-content,
.xzk-news-single-article,
.xzk-case-content-inner,
.ru-page-prose {
    line-height: var(--xzk-ru-lh);
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

/* R16: 专用模板（关于我们 / 联系）内的后台正文区 */
.ru-page-prose {
    max-width: 920px;
}
.ru-page-prose > h2 {
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 800;
    color: var(--xzk-dark, #0F172A);
    margin: 34px 0 14px;
    line-height: 1.3;
}
.ru-page-prose > h2:first-child {
    margin-top: 0;
}
.ru-page-prose > h3 {
    font-size: clamp(18px, 1.8vw, 21px);
    font-weight: 700;
    color: var(--xzk-dark, #0F172A);
    margin: 26px 0 12px;
    line-height: 1.35;
}
.ru-page-prose > p {
    font-size: 16px;
    line-height: var(--xzk-ru-lh-loose);
    color: #334155;
    margin: 0 0 16px;
}
.ru-page-prose > ul,
.ru-page-prose > ol {
    margin: 0 0 18px 22px;
    padding: 0;
}
.ru-page-prose li {
    font-size: 16px;
    line-height: var(--xzk-ru-lh);
    color: #334155;
    margin-bottom: 8px;
}
@media (max-width: 768px) {
    .ru-page-prose > h2 { font-size: 21px; margin: 26px 0 12px; }
    .ru-page-prose > h3 { font-size: 18px; }
    .ru-page-prose > p,
    .ru-page-prose li { font-size: 15px; }
}

.xzk-pd-gutenberg p,
.lp-content p,
.xzk-news-single-article p {
    line-height: var(--xzk-ru-lh-loose);
}

.btn,
.cat-pill,
label,
.form-label,
.xzk-product-nav-list a,
.xzk-product-nav-quote,
.case-badge,
.section-tag,
.topbar-link {
    line-height: var(--xzk-ru-lh-tight);
}


.case-card,
.case-body,
.related-prod-card,
.related-prod-body,
.xzk-news-card,
.xzk-product-card,
.xzk-pd-tiles-grid > *,
.xzk-pd-tile,
.xzk-product-nav-name,
.xzk-specs-table-wrap,
.product-hero-grid > *,
.agent-intro-inner > *,
.home-about-grid > *,
.home-about-grid,
.contact-form-panel,
.rfq-wrapper > *,
.lp-metric,
.about-metric-num,
.about-metric-label,
.xzk-pd-gutenberg,
.lp-content,
.tds-table-responsive-wrapper {
    min-width: 0;
}


/* ==========================================================================
   R17 一级导航：整行显示，禁止断词
   --------------------------------------------------------------------------
   旧规则用 max-width: 13ch + hyphens: auto + white-space: normal，
   本意是防长俄语词撑破菜单，实际把每一项都压到 13 字符以内，
   浏览器只能加连字符断行 → «Продук-ция» / «Примене-ние»，
   EN 语言按钮被压成竖排 «E N»。这里彻底反转该策略。
   ========================================================================== */
.primary-nav-menu > li > a {
    font-size: var(--xzk-ru-fs-nav);
    white-space: nowrap;              /* 整行显示 */
    overflow-wrap: normal;
    word-break: keep-all;             /* 俄语不在词内断行 */
    hyphens: none;                    /* 禁止自动连字符 */
    max-width: none;                  /* 撤销 13ch 上限 */
    flex-shrink: 0;                   /* 不参与 flex 压缩 */
}

/* 下拉菜单：产品名很长，允许换行，但去掉宽度上限 */
.primary-nav-menu .sub-menu li a {
    font-size: var(--xzk-ru-fs-nav-sub);
    white-space: normal;
    overflow-wrap: break-word;
    hyphens: auto;
    max-width: none;
}

/* ==========================================================================
   R17 导航布局：防止 flex 压缩把文字挤成竖排
   ========================================================================== */
.site-navbar .navbar-inner {
    gap: 14px;
}

.site-branding {
    flex: 0 0 auto;
}

.desktop-menu-wrap {
    flex: 1 1 auto;
    min-width: 0;
    /* ★ 不要在这里写 display —— main.css 在 ≤991px 用 display:none 隐藏桌面菜单，
       本文件后加载，一旦写 display:flex 就会覆盖它，导致手机端菜单错乱。 */
}

.navbar-actions {
    flex: 0 0 auto;
    gap: 10px;
}

.primary-nav-menu {
    gap: clamp(10px, 1.05vw, 22px);   /* 窄屏自动收紧，宽屏舒展 */
    flex-wrap: nowrap;
    justify-content: center;
}

.primary-nav-menu > li {
    flex: 0 0 auto;
}

/* EN 语言切换：胶囊形，禁止压缩与换行 */
.xzk-lang-switch,
.xzk-lang-switch-li {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* 顶部询价按钮：一行显示 */
.btn-quote-header {
    white-space: nowrap;
    flex-shrink: 0;
}

/* 中等宽度（992–1199px）：字号与间距同步收紧，保证 9 个一级项不换行 */
@media (max-width: 1199px) and (min-width: 992px) {
    .primary-nav-menu {
        gap: 9px;
    }

    .primary-nav-menu > li > a {
        font-size: 13px;
    }

    .btn-quote-header {
        font-size: 13px;
        padding: 9px 14px;
    }
}

.primary-nav-menu .sub-menu {
    /* 俄语比英语长约 15–20%，原标题按英文宽度设定会把产品名折成 3–4 行 */
    min-width: 260px;
    max-width: 400px;
}

.xzk-product-nav-list a {
    font-size: var(--xzk-ru-fs-nav-sub);
    white-space: normal;
    overflow-wrap: break-word;
}

.xzk-product-nav-name {
    font-size: var(--xzk-ru-fs-nav);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;              
}

.cat-pill {
    font-size: var(--xzk-ru-fs-nav-sub);
    white-space: normal;
    overflow-wrap: break-word;
    hyphens: auto;
}

.xzk-catnav-name {
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: break-word;
    hyphens: auto;
}

.topbar-link {
    white-space: normal;
    overflow-wrap: break-word;
}


.btn,
button,
input[type="submit"],
.wpcf7-submit {
    font-size: var(--xzk-ru-fs-btn);
    line-height: var(--xzk-ru-lh-tight);
    white-space: normal;              
    overflow-wrap: break-word;
    hyphens: auto;
    max-width: 100%;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    height: auto;                     
    padding-top: 10px;
    padding-bottom: 10px;
}

.btn-quote-header,
.btn-cases-view-all,
.contact-form-panel .submit-btn,
.rfq-right .btn-primary,
.xzk-drawing-actions .btn-lg,
.app-consultation-section .consultation-action .btn,
.xzk-pd-specs-section .btn {
    font-size: var(--xzk-ru-fs-btn-main);
    min-height: 46px;
}

.btn-case-more,
.btn-app-detail,
.xzk-product-btn,
.related-prod-body .btn,
.xzk-search-bar button,
.about-cta-row .btn,
.xzk-case-intro-actions .btn {
    font-size: var(--xzk-ru-fs-btn);
    min-height: 38px;
}


/*
 * Product card action row.
 * The generic `.btn` rule above sets `white-space: normal` so long Russian
 * labels can wrap. Inside the two-button card footer that is undesirable:
 * the "Смотреть ТДС →" arrow drops onto a line of its own and every card in
 * the grid inherits the extra height. Keep each label on a single line and
 * let the two buttons share the row evenly instead.
 */
.xzk-product-actions {
    flex-wrap: nowrap;
    align-items: stretch;
}

.xzk-product-actions .xzk-product-btn {
    white-space: nowrap;
    overflow-wrap: normal;
    hyphens: manual;
    min-width: 0;
    padding-left: 8px;
    padding-right: 8px;
}

.xzk-product-actions .xzk-product-btn:first-child {
    flex: 1 1 auto;
}

.xzk-product-actions .xzk-product-btn:last-child {
    flex: 0 0 auto;
}


.form-group label,
label,
.form-label {
    font-size: var(--xzk-ru-fs-label);
    line-height: var(--xzk-ru-lh-tight);
    overflow-wrap: break-word;
    hyphens: auto;
    display: block;
    margin-bottom: 6px;
}

.form-group input,
.form-group select,
.form-group textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    font-size: var(--xzk-ru-fs-input);
    line-height: 1.5;
    max-width: 100%;
    box-sizing: border-box;
}

textarea {
    min-height: 110px;
    resize: vertical;
}

.form-trust-row,
.lp-form-note {
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: break-word;
}

.xzk-consent-row,
.consent-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12.5px;
    line-height: 1.55;
}

.xzk-consent-row input[type="checkbox"],
.consent-row input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 3px;
    width: 16px;
    height: 16px;
    min-width: 16px;
}

.xzk-consent-row label,
.consent-row label {
    font-size: 12.5px;                
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}


h1, .hero-title, .page-title, .xzk-cathero-h1,
h2, .section-title,
h3, .case-title,
h4, .related-prod-body h4 {
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.25;                
    margin-top: 0;
}

.case-title,
.related-prod-body h4,
.xzk-news-card h3,
.xzk-pd-tile h3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    hyphens: auto;
    overflow-wrap: break-word;
}

.section-tag,
.case-badge,
.about-pill,
.hero-sub {
    font-size: 12px;
    letter-spacing: .02em;            
    white-space: normal;
    overflow-wrap: break-word;
}


.case-spec-line,
.case-kpi-highlight {
    font-size: 13.5px;
    line-height: 1.5;
    overflow-wrap: break-word;
    hyphens: auto;
}

.xzk-breadcrumbs,
.xzk-breadcrumbs a {
    font-size: 12.5px;
    overflow-wrap: break-word;
    line-height: 1.5;
}

a[href^="mailto:"],
a[href^="tel:"],
a[href^="https://"],
.contact-channel-item a,
.footer-contact-item a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.footer-contact-item .label {
    font-size: 12px;
    white-space: normal;
}

.footer-contact-item a,
.footer-contact-item span,
.footer-contact-items li {
    overflow-wrap: anywhere;
    line-height: 1.5;
}

.contact-channel-item {
    min-width: 0;
    overflow-wrap: break-word;
}


.xzk-pd-specs-table th,
.xzk-specs-html table th,
.xzk-pd-specs-table td,
.xzk-specs-html table td {
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.45;
}

.xzk-pd-specs-table th,
.xzk-specs-html table th {
    font-size: 12.5px;                
    white-space: normal;              
    vertical-align: bottom;
}

@media (min-width: 992px) {
    .xzk-pd-specs-table,
    .xzk-specs-html table {
        table-layout: fixed;
        width: 100%;
    }
    .xzk-pd-specs-table th:first-child,
    .xzk-specs-html table th:first-child,
    .xzk-pd-specs-table td:first-child,
    .xzk-specs-html table td:first-child {
        width: 30%;                   
    }
}

@media (max-width: 991px) {
    .xzk-specs-table-wrap,
    .xzk-specs-html,
    .tds-table-responsive-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .xzk-pd-specs-table,
    .xzk-specs-html table {
        min-width: 560px;             
    }
    .xzk-pd-specs-table th,
    .xzk-specs-html table th {
        white-space: normal;
    }
}



@media (max-width: 991px) {
    body { line-height: 1.7; }

    .primary-nav-menu > li > a { font-size: 13.5px; }
    .primary-nav-menu .sub-menu li a { font-size: 13px; }
    .btn { font-size: 13px; min-height: 40px; }
    .btn-quote-header,
    .btn-cases-view-all,
    .contact-form-panel .submit-btn { font-size: 14px; min-height: 44px; }
    h1, .hero-title, .page-title { font-size: 32px; }
    h2, .section-title { font-size: 26px; }
    h3, .case-title { font-size: 19px; }
    .xzk-product-nav-name { font-size: 13.5px; }
}

@media (max-width: 767px) {
    body,
    .xzk-pd-gutenberg,
    .case-body { line-height: 1.7; }

    .mobile-menu-list a,
    .mobile-menu-list li a { font-size: 15px; line-height: 1.5; }
    .mobile-menu-list .sub-menu a { font-size: 14px; }

    .btn { font-size: 13px; min-height: 40px; }
    .btn-quote-header,
    .btn-cases-view-all,
    .contact-form-panel .submit-btn,
    .rfq-right .btn-primary { font-size: 14px; min-height: 44px; }
    .btn-case-more,
    .btn-app-detail,
    .xzk-product-btn { font-size: 12.5px; min-height: 36px; }

    h1, .hero-title, .page-title { font-size: 27px; line-height: 1.22; }
    h2, .section-title { font-size: 22px; }
    h3, .case-title { font-size: 17px; }
    h4 { font-size: 15.5px; }

    .form-group input,
    .form-group select,
    .form-group textarea,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
        font-size: 16px;
        letter-spacing: -0.01em;
        padding: 11px 13px;
    }

    label, .form-label { font-size: 13px; }

    .case-title,
    .related-prod-body h4,
    .xzk-news-card h3 {
        -webkit-line-clamp: 4;
    }

    .xzk-pd-specs-table,
    .xzk-specs-html table { min-width: 520px; }
    .xzk-pd-specs-table th,
    .xzk-specs-html table th { font-size: 12px; }
}

@media (max-width: 575px) {
    h1, .hero-title, .page-title { font-size: 24px; }
    h2, .section-title { font-size: 20px; }
    h3, .case-title { font-size: 16.5px; }
    h4 { font-size: 15px; }

    .btn { font-size: 12.5px; min-height: 38px; padding-left: 14px; padding-right: 14px; }
    .btn-quote-header,
    .btn-cases-view-all,
    .contact-form-panel .submit-btn { font-size: 13.5px; min-height: 42px; }

    body { font-size: 14.5px; }
    .xzk-pd-gutenberg,
    .case-body,
    .xzk-news-single-article { font-size: 14.5px; line-height: 1.7; }

    .section-tag, .case-badge { font-size: 11.5px; }
    .xzk-breadcrumbs, .xzk-breadcrumbs a { font-size: 12px; }

    .hero-buttons .btn,
    .xzk-drawing-actions .btn-lg { width: 100%; }
}

@media (max-width: 414px) {
    h1, .hero-title, .page-title { font-size: 22px; }
    h2, .section-title { font-size: 19px; }
    h3, .case-title { font-size: 16px; }
    h4 { font-size: 14.5px; }

    body { font-size: 14px; }
    .xzk-pd-gutenberg,
    .case-body,
    .xzk-news-single-article { font-size: 14px; }

    .btn { font-size: 12.5px; }
    label, .form-label { font-size: 12.5px; }
    .xzk-consent-row label, .consent-row label { font-size: 12px; }

    .case-spec-line, .case-kpi-highlight { font-size: 13px; }

    .container { padding-left: 14px; padding-right: 14px; }
}

@media (max-width: 360px) {
    h1, .hero-title, .page-title { font-size: 20px; }
    h2, .section-title { font-size: 18px; }
    h3, .case-title { font-size: 15.5px; }
    h4 { font-size: 14px; }

    body { font-size: 13.5px; }
    .xzk-pd-gutenberg,
    .case-body { font-size: 13.5px; }

    .btn { font-size: 12px; min-height: 36px; }
    .container { padding-left: 12px; padding-right: 12px; }

    .xzk-pd-specs-table,
    .xzk-specs-html table { min-width: 480px; }
}

@media (max-width: 320px) {
    h1, .hero-title, .page-title { font-size: 19px; }
    h2, .section-title { font-size: 17px; }
    h3, .case-title { font-size: 15px; }

    body { font-size: 13px; }

    .btn { font-size: 11.5px; min-height: 34px; padding-left: 11px; padding-right: 11px; }

    .xzk-pd-specs-table,
    .xzk-specs-html table { min-width: 440px; }
    .xzk-pd-specs-table th,
    .xzk-specs-html table th { font-size: 11.5px; }
}


@media print {
    .btn,
    .xzk-product-nav,
    .xzk-drawing-cta,
    .about-cta-row,
    .primary-nav-menu,
    .mobile-menu-list,
    .xzk-search-bar,
    .xzk-breadcrumbs { display: none !important; }

    details > summary { list-style: none; }
    details > .faq-answer { display: block !important; }

    table {
        display: table !important;
        white-space: normal !important;
        table-layout: auto !important;
        min-width: 0 !important;
    }
    .xzk-specs-table-wrap,
    .tds-table-responsive-wrapper { overflow: visible !important; }

    body { font-size: 11pt; line-height: 1.5; }
    h1 { font-size: 18pt; }
    h2 { font-size: 14pt; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}



@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

@supports not (hyphens: auto) {
    body, .case-body, .xzk-pd-gutenberg { word-break: break-word; }
}
