@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Urbanist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("./fonts/urbanist-latin-variable.woff2") format("woff2");
}

html {
  overflow-x: clip;
}

.xmai-svg-icon-host {
  font-family: inherit;
}

.xmai-svg-icon-host::before,
.xmai-svg-icon-host::after {
  content: none;
}

.xmai-inline-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  overflow: visible;
  fill: currentColor;
  vertical-align: -0.125em;
}

.pxl-menu-toggle::before,
.pxl-select .pxl-select-higthlight::before,
.ct-menu-sidebar.caseicon-angle-arrow-down::before {
  content: "";
  font-family: inherit;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMDAgMzAwIj48cGF0aCBkPSJNMjk3IDgxIDI4MiA2NlEyNzkgNjMgMjc1LjAgNjMuMFEyNzEgNjMgMjY4IDY2TDE1MCAxODRMMzIgNjZRMjkgNjMgMjUuMCA2My4wUTIxIDYzIDE4IDY2TDMgODFRMCA4NCAwLjAgODcuNVEwIDkxIDMgOTRMMTQzIDIzNFExNDYgMjM3IDE1MC4wIDIzNy4wUTE1NCAyMzcgMTU3IDIzNEwyOTcgOTRRMzAwIDkxIDMwMC4wIDg3LjVRMzAwIDg0IDI5NyA4MVoiLz48L3N2Zz4=") center / 10px 10px no-repeat;
  mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMDAgMzAwIj48cGF0aCBkPSJNMjk3IDgxIDI4MiA2NlEyNzkgNjMgMjc1LjAgNjMuMFEyNzEgNjMgMjY4IDY2TDE1MCAxODRMMzIgNjZRMjkgNjMgMjUuMCA2My4wUTIxIDYzIDE4IDY2TDMgODFRMCA4NCAwLjAgODcuNVEwIDkxIDMgOTRMMTQzIDIzNFExNDYgMjM3IDE1MC4wIDIzNy4wUTE1NCAyMzcgMTU3IDIzNEwyOTcgOTRRMzAwIDkxIDMwMC4wIDg3LjVRMzAwIDg0IDI5NyA4MVoiLz48L3N2Zz4=") center / 10px 10px no-repeat;
}

.pxl-menu-toggle::before {
  display: block;
  width: 100%;
  height: 100%;
}

.ct-menu-sidebar.caseicon-angle-arrow-down::before {
  display: inline-block;
  width: 1em;
  height: 1em;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
}

button, input, select, textarea {
  max-width: 100%;
}

button, [role="button"], input[type="submit"], .btn, .pxl-button, .elementor-button {
  min-height: 44px;
}

.table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  max-width: 100%;
}

.xmai-status-page {
  min-height: 65vh;
  display: grid;
  place-items: center;
  padding: clamp(4rem, 10vw, 8rem) 1.25rem;
  text-align: center;
}

.xmai-status-page__inner {
  width: min(700px, 100%);
}

.xmai-status-page h1 {
  font-size: clamp(2.25rem, 7vw, 4.5rem);
  margin: 0 0 1rem;
}

.xmai-status-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2rem;
}

.xmai-status-page__actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.75rem 1.25rem;
  border-radius: 0.35rem;
  background: #0f3d2e;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 767px) {
  body {
    overflow-wrap: anywhere;
  }

  .elementor-container, .elementor-row, .elementor-column, .elementor-widget-wrap {
    min-width: 0;
  }
}

.how-it-works-video-wrapper {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: inherit;
  aspect-ratio: 16 / 9;
  background: #eef1f5;
}

.how-it-works-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  pointer-events: none;
}

.elementor-16 .elementor-element.elementor-element-3fd1b275 {
  overflow: hidden;
  position: relative;
}

.elementor-16 .elementor-element.elementor-element-3fd1b275:not(.elementor-motion-effects-element-type-background) {
  background-image: none !important;
}

.xmai-hero-picture {
  display: block;
  height: 100%;
  inset: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
}

.xmai-hero-picture img {
  display: block;
  height: auto;
  left: -115px;
  max-width: none;
  position: absolute;
  top: -48px;
  width: 821px;
}

.elementor-16 .elementor-element.elementor-element-3a954821 .wow,
.elementor-16 .elementor-element.elementor-element-31ae35da,
.elementor-16 .elementor-element.elementor-element-31ae35da.xmai-no-entrance-animation {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

@media (max-width: 1024px) {
  .xmai-hero-picture img {
    left: 0;
    top: 0;
  }
}

@media (max-width: 767px) {
  .xmai-hero-picture img {
    left: -66px;
    top: -28px;
    width: 431px;
  }
}

.xmai-advantage-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-size: inherit;
  line-height: 1;
}

.pxl-image-single .pxl-item--bg > .xmai-factory-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.elementor-element-2a1cad93 .pxl-icon-list > span {
  color: #fec42c;
}

.pxl-scroll-top {
  padding: 0;
  border: 0;
  cursor: pointer;
}

/*
 * Semantic heading corrections on the homepage.
 * These values mirror the pre-change computed typography so changing the HTML
 * outline cannot alter the design at desktop or mobile breakpoints.
 */
.home .xmai-trust-item-title,
.home .xmai-advantage-title {
  display: block;
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
}

.home .xmai-how-step-title {
  display: block;
  margin: 0;
  font: inherit;
  line-height: inherit;
}

.home .xmai-case-title {
  display: block;
  margin: 0;
  font-family: inherit;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
}

.home .xmai-faq-title {
  display: flex;
  margin: 0;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 32.3px;
}

.home .xmai-testimonial-summary {
  display: block;
  margin: 0 0 24px;
  font-family: inherit;
  font-size: 23px;
  font-weight: 600;
  line-height: 34.5px;
}

.home .xmai-quote-form-title {
  display: block;
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 26px;
  font-weight: 600;
  line-height: 39px;
}

.xmai-footer-heading,
.xmai-panel-heading {
  display: block;
  margin: 0;
  padding: 0;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 28.8px;
  letter-spacing: normal;
}

.page-id-160 .xmai-faq-category-title {
  display: inline;
  margin: 0;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* FAQ tabs 移动端横向排版 */
@media (max-width: 767px) {
  .page-id-160 .pxl-tabs1.style-1 .pxl-tabs--inner .pxl-tabs--title {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    padding-bottom: 0.8rem;
    margin-bottom: 25px;
  }
  .page-id-160 .pxl-tabs1.style-1 .pxl-tabs--inner .pxl-tabs--title .pxl-tab--title {
    font-size: 13px;
    white-space: nowrap;
  }
}

.page-id-160 .xmai-faq-page-question {
  display: flex;
  margin: 0;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 32.3px;
  letter-spacing: normal;
}

.blog #pxl-content-main article .pxl-content > .pxl-item--title {
  display: -webkit-box;
  margin: 0 0 15px;
  padding: 0;
  color: #10244b;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 39px;
  letter-spacing: normal;
}

.blog #pxl-sidebar-area .widget_pxl_recent_posts .pxl-item--title {
  display: flow-root;
  margin: 0;
  padding: 0;
  color: #10244b;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: normal;
}

.home .xmai-footer-heading {
  display: block;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 28.8px;
}

@media (max-width: 767px) {
  .home .xmai-case-title {
    font-size: 18px;
    line-height: 28.8px;
  }
}

/*
 * Products-page semantic elements retain the exact typography and spacing of
 * the theme widgets whose original heading/div tags they replace.
 */
.page-id-3443 .xmai-product-title-link {
  color: inherit;
  text-decoration: none;
}

.page-id-3443 .xmai-product-title-link:hover,
.page-id-3443 .xmai-product-title-link:focus-visible {
  color: inherit;
  text-decoration: underline;
}

.page-id-3443 .xmai-product-features {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #4d4d4d;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

.page-id-3443 .xmai-product-features li {
  position: relative;
  margin: 0 0 6px;
  padding-left: 16px;
}

.page-id-3443 .xmai-product-features li:last-child {
  margin-bottom: 0;
}

.page-id-3443 .xmai-product-features li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
}

.page-id-3443 .xmai-product-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  line-height: 1;
}

.page-id-3443 .xmai-product-stars {
  color: #fec42c;
}

.page-id-3443 .xmai-product-rating-text {
  color: #111;
}

.page-id-3443 .xmai-product-price {
  display: block;
  margin: 0;
  font-family: inherit;
}

.page-id-3443 .xmai-product-price .pxl-item--subtext {
  font-size: 18px;
  font-weight: 700;
  line-height: 27px;
}

.page-id-3443 .xmai-product-price-note {
  display: block;
  margin: 0;
  color: #000a5b;
  font-family: inherit;
  font-size: 13px;
  font-style: italic;
  font-weight: 100;
  line-height: 19.5px;
}

.page-id-3443 .xmai-faq-title {
  display: flex;
  margin: 0;
  font-family: inherit;
  font-size: 17px;
  font-weight: 600;
  line-height: 32.3px;
}

.page-id-3443 .xmai-request-quote-title {
  display: block;
  margin: 0 0 10px;
  font-family: inherit;
  font-size: 26px;
  font-weight: 600;
  line-height: 39px;
}

.page-id-3443 .xmai-footer-heading,
.page-id-3443 .xmai-panel-heading {
  display: block;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  line-height: 28.8px;
}

.page-id-3443 .xmai-contact-link {
  color: inherit;
  text-decoration: none;
}

.page-id-3443 .xmai-contact-link:hover,
.page-id-3443 .xmai-contact-link:focus-visible {
  text-decoration: underline;
}

.pxl-hidden-panel-button,
.pxl-item--overlay,
.pxl-item--close,
.page-id-3443 .pxl-menu-close,
.page-id-3443 .pxl-nav-mobile-button {
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

/* Keep the compact menu glyph while providing a reliable 44px hit area. */
.pxl-hidden-panel-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 10px;
}

.pxl-hidden-panel-button > .pxl-button-sidebar {
  width: 24px;
  height: 12px;
  flex: 0 0 24px;
  align-self: center;
}

.pxl-hidden-panel-button:focus-visible,
.pxl-item--overlay:focus-visible,
.pxl-item--close:focus-visible,
.page-id-3443 :is(
  .pxl-menu-close,
  .pxl-nav-mobile-button,
  .xmai-faq-title,
  .xmai-product-title-link,
  .xmai-contact-link,
  .pxl-icon-list a
):focus-visible {
  outline: 3px solid #fec42c;
  outline-offset: 3px;
}

/* Keep the three About Us shopping steps aligned from the image edge. */
.page-id-156 .elementor-element.elementor-element-50b645c {
  --align-items: start;
  align-items: start;
}

/* Preserve the six Core 425 benefit titles after changing h4 to p. */
.elementor-3916 .elementor-element:is(
  .elementor-element-704fd35,
  .elementor-element-5d861894,
  .elementor-element-352eb586,
  .elementor-element-2d37b0e8,
  .elementor-element-2c8f0781,
  .elementor-element-2e989f49
) .pxl-item-title {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: normal;
}

/* Keep the shared How It Works title visually identical after h3 -> h2
   on the product pages that use the semantic override. */
.page-id-3916 .elementor-5303 .elementor-element.elementor-element-c1092e8
    .pxl-item--title,
.page-id-3921 .elementor-5303 .elementor-element.elementor-element-c1092e8
    .pxl-item--title,
.page-id-3926 .elementor-5303 .elementor-element.elementor-element-c1092e8
    .pxl-item--title,
.page-id-3931 .elementor-5303 .elementor-element.elementor-element-c1092e8
    .pxl-item--title {
  line-height: 1.5;
  letter-spacing: normal;
}

/* Preserve the six Ultra Max 1500 benefit titles after changing h4 to p. */
.elementor-3931 .elementor-element:is(
  .elementor-element-400c44c,
  .elementor-element-230dfc5,
  .elementor-element-7617d8c,
  .elementor-element-d3ef17b,
  .elementor-element-578a3a5,
  .elementor-element-64d02ee
) .pxl-item-title {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: #000a5b;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: normal;
}

/* Preserve the six Ultra 1100 benefit titles after changing h4 to p. */
.elementor-3926 .elementor-element:is(
  .elementor-element-1e2969c,
  .elementor-element-783e4b2,
  .elementor-element-3a75a16,
  .elementor-element-06af755,
  .elementor-element-5096e79,
  .elementor-element-00e7903
) .pxl-item-title {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: #000a5b;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: normal;
}

/* Preserve the six Max 680 benefit titles after changing h4 to p. */
.elementor-3921 .elementor-element:is(
  .elementor-element-c434e97,
  .elementor-element-d127007,
  .elementor-element-4977e8e,
  .elementor-element-2c4277a,
  .elementor-element-6766846,
  .elementor-element-774319c
) .pxl-item-title {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: #000a5b;
  font-family: Urbanist, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: normal;
}

/*
 * Smart Vending Solutions cards: equal height layout.
 * Scoped to section elementor-element-9384c92 on the homepage only.
 */
.home .elementor-element-9384c92 .pxl-icon-box3 .pxl-item-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.home .elementor-element-9384c92 .pxl-icon-box3 .pxl-meta-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.home .elementor-element-9384c92 .pxl-icon-box3 .pxl-btn-section {
    margin-top: auto;
}

/* Prevent card title wrapping on desktop to keep all four cards aligned. */
@media (min-width: 1200px) {
    .home .elementor-element-9384c92 .pxl-icon-box3 .pxl-item-title {
        white-space: nowrap;
    }
}
/*
 * Blog post H2 sizing — theme default 48px is too large for article content.
 * Scoped to single post article body only.
 */
.single-post .pxl-item--holder h2 {
    font-size: 28px;
    line-height: 1.3;
    margin-top: 32px;
    margin-bottom: 12px;
}

@media (max-width: 767px) {
    .single-post .pxl-item--holder h2 {
        font-size: 24px;
        margin-top: 24px;
    }
}
/*
 * Keep "Leave A Comment" title styling after replacing H3 with div.
 * Selector uses ID to match WordPress comment form output.
 */
.single-post #reply-title {
    font-size: 20px;
    font-weight: 600;
}

/* Homepage form success message white text */
.home .pxl-contact-form .wpcf7-form .wpcf7-response-output {
    color: #ffffff !important;
}

/*
 * Standalone ad landing page carousel:
 * each CTA contains no text, so remove its empty 450px content panel.
 * Keep the 450px image panel and scope the fix to page 4477/widget 7788b6d.
 */
.page-id-4477 .elementor-element-7788b6d .elementor-cta__content {
    display: none !important;
    min-height: 0 !important;
}
