{"id":134,"date":"2026-04-24T09:32:08","date_gmt":"2026-04-24T01:32:08","guid":{"rendered":"https:\/\/template05.cxbweb.com\/quote-request\/"},"modified":"2026-04-24T18:02:42","modified_gmt":"2026-04-24T10:02:42","slug":"quote-request","status":"publish","type":"page","link":"https:\/\/template05.cxbweb.com\/zh\/quote-request\/","title":{"rendered":"\u62a5\u4ef7\u8bf7\u6c42"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"134\" class=\"elementor elementor-134\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65f3fe13 e-flex e-con-boxed e-con e-parent\" data-id=\"65f3fe13\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2666a783 elementor-widget elementor-widget-shortcode\" data-id=\"2666a783\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"cxb-b2b-page-background-wrapper\">\n\n<script>\n(function () {\n    try {\n        var search = window.location.search || '';\n        var hasInquiryParam = \/[?&](inquiry_nonce|inquiry_id|product_id|_cb|_cb_retry)=\/.test(search);\n        var cookies = document.cookie || '';\n        var hasSessionCookie = cookies.indexOf('cxb_b2b_session_') !== -1;\n        if (hasInquiryParam || hasSessionCookie) {\n            var r = document.documentElement;\n            if (r && r.classList) { r.classList.add('cxb-b2b-needs-verification'); }\n            else if (r) { r.className += ' cxb-b2b-needs-verification'; }\n        }\n    } catch (e) { \/* fail open \u2014 worst case, user sees the old flash *\/ }\n})();\n<\/script>\n<style>\n\/* v2.2.2 \u2014 Suppress the empty-state flash while quote.js reconciles.\n   Scoped to html.cxb-b2b-needs-verification so only visitors who might\n   have items (URL params \/ session cookie) see the spinner substitution.\n   Plain anonymous visitors don't match the selector and see the empty\n   message immediately. quote.js removes the class once it has rendered\n   the real state (or confirmed the basket is genuinely empty). *\/\nhtml.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty {\n    position: relative;\n    min-height: 120px;\n}\nhtml.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty > * {\n    visibility: hidden;\n}\nhtml.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty::after {\n    content: \"\";\n    position: absolute;\n    top: 50%; left: 50%;\n    margin: -16px 0 0 -16px;\n    width: 32px; height: 32px;\n    border: 3px solid #eee;\n    border-top-color: #666;\n    border-radius: 50%;\n    animation: cxb-b2b-quote-loading-spin 0.8s linear infinite;\n}\n\/* Keyframe duplicated here (also in the main <style> block below) so\n   the spinner substitution animation is guaranteed to run even if the\n   later <style> block hasn't been parsed by the time the browser paints\n   the empty-state div. CSS @keyframes with the same name and body are\n   safe to duplicate \u2014 the later declaration wins but they're identical. *\/\n@keyframes cxb-b2b-quote-loading-spin {\n    to { transform: rotate(360deg); }\n}\n@media (prefers-reduced-motion: reduce) {\n    html.cxb-b2b-needs-verification .cxb-b2b-quote-request-empty::after {\n        animation: none;\n    }\n}\n<\/style>\n\n<div id=\"cxb-b2b-quote-request-page\">\n    <div class=\"cxb-b2b-quote-request-container\">\n        <header class=\"cxb-b2b-quote-request-header\">\n            <h1>QUOTE REQUEST<\/h1>\n            <p>Please review your selected products and fill in your contact information<\/p>\n        <\/header>\n        \n                \n                \n                <div id=\"cxb-b2b-quote-data\" style=\"display: none;\" data-quote-json=\"[]\" data-consumed-inquiry=\"0\"><\/div>\n\n                                            <div class=\"cxb-b2b-quote-request-empty\">\n                <p>Your quote basket is empty.<\/p>\n                <a href=\"https:\/\/template05.cxbweb.com\/zh\/products\/\" class=\"cxb-b2b-button\">\n                    Browse Products                <\/a>\n            <\/div>\n            <\/div>\n<\/div>\n<style>\n    \/* System form error messages *\/\n    .cxb-b2b-form-errors {\n        margin-bottom: 20px;\n        padding: 15px;\n        border: 1px solid #f5c6cb;\n        border-radius: 4px;\n        background-color: #f8d7da;\n        color: #721c24;\n    }\n    \n    .cxb-b2b-form-errors ul {\n        margin: 10px 0 0 0;\n        padding-left: 20px;\n    }\n    \n    .cxb-b2b-form-errors li {\n        margin-bottom: 5px;\n    }\n    \n    .cxb-b2b-form-errors strong {\n        display: block;\n        margin-bottom: 5px;\n        font-weight: 600;\n    }\n    \n    \/* Loading state for submit button *\/\n    .cxb-b2b-button-icon {\n        display: inline-block;\n        margin-right: 8px;\n        animation: spin 1s linear infinite;\n    }\n    \n    @keyframes spin {\n        0% { transform: rotate(0deg); }\n        100% { transform: rotate(360deg); }\n    }\n    \n    \/* Disabled button state *\/\n    .cxb-b2b-button-primary:disabled,\n    .cxb-b2b-quote-request-form-actions button[type=\"submit\"]:disabled {\n        opacity: 0.7 !important;\n        cursor: not-allowed !important;\n    }\n    \n    \/* Edge\/IE browser compatibility *\/\n    .error-field {\n        border-color: #dc3545 !important;\n        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;\n    }\n\n    \/* -------------------------------------------------------------------\n     * v2.2.2 \u2014 Loading placeholder for Inquire Now arrivals.\n     *\n     * Shown briefly when PHP renders an empty basket but the URL suggests\n     * the user just clicked Inquire Now (inquiry_nonce \/ _cb \/ _cb_retry).\n     * Replaces the misleading \"Your quote basket is empty.\" flash while\n     * quote.js reconciles against the authoritative session.\n     *\n     * Kept inline in the template so the styles are available at first\n     * paint \u2014 avoids the FOUC that would occur if we relied on the main\n     * stylesheet to load before the placeholder rendered.\n     * ------------------------------------------------------------------- *\/\n    .cxb-b2b-quote-request-loading {\n        padding: 40px 20px;\n        text-align: center;\n        background: #fff;\n        border-radius: 8px;\n        min-height: 120px;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n    }\n    .cxb-b2b-quote-request-loading-spinner {\n        width: 32px;\n        height: 32px;\n        margin: 0 auto 16px;\n        border: 3px solid #eee;\n        border-top-color: #666;\n        border-radius: 50%;\n        animation: cxb-b2b-quote-loading-spin 0.8s linear infinite;\n    }\n    @keyframes cxb-b2b-quote-loading-spin {\n        to { transform: rotate(360deg); }\n    }\n    .cxb-b2b-quote-request-loading-text {\n        color: #666;\n        font-size: 14px;\n        margin: 0;\n    }\n    \/* Respect user motion preferences \u2014 static spinner for\n       prefers-reduced-motion: reduce. *\/\n    @media (prefers-reduced-motion: reduce) {\n        .cxb-b2b-quote-request-loading-spinner {\n            animation: none;\n        }\n    }\n<\/style>\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-134","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/pages\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":3,"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/pages\/134\/revisions"}],"predecessor-version":[{"id":353,"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/pages\/134\/revisions\/353"}],"wp:attachment":[{"href":"https:\/\/template05.cxbweb.com\/zh\/wp-json\/wp\/v2\/media?parent=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}