.elementor-kit-695{--e-global-color-primary:#22334A;--e-global-color-secondary:#212529;--e-global-color-text:#50595F;--e-global-color-accent:#5F7CB8;--e-global-color-41f50b9:#82CBA9;--e-global-color-0cb9c46:#DEE3ED;--e-global-color-0a29128:#000000;--e-global-color-7c71b6f:#FFFFFF;--e-global-color-f3d8a30:#00000000;--e-global-color-edf51cc:#DEDEDE;--e-global-typography-primary-font-family:"Montserrat Alternates";--e-global-typography-primary-font-size:14px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Montserrat Alternates";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:700;--e-global-typography-e4eded7-font-family:"Montserrat";--e-global-typography-e4eded7-font-size:50px;--e-global-typography-e4eded7-font-weight:700;--e-global-typography-e4eded7-text-transform:capitalize;--e-global-typography-e4eded7-line-height:1em;--e-global-typography-2fe6f1d-font-family:"Montserrat";--e-global-typography-2fe6f1d-font-size:45px;--e-global-typography-2fe6f1d-font-weight:700;--e-global-typography-2fe6f1d-text-transform:capitalize;--e-global-typography-2fe6f1d-line-height:1.1em;--e-global-typography-4dfd090-font-family:"Montserrat";--e-global-typography-4dfd090-font-size:35px;--e-global-typography-4dfd090-font-weight:700;--e-global-typography-4dfd090-text-transform:capitalize;--e-global-typography-4dfd090-line-height:1.2em;--e-global-typography-b3a473a-font-family:"Montserrat";--e-global-typography-b3a473a-font-size:30px;--e-global-typography-b3a473a-font-weight:700;--e-global-typography-b3a473a-text-transform:capitalize;--e-global-typography-b3a473a-line-height:1.3em;--e-global-typography-ef6d2a2-font-family:"Montserrat";--e-global-typography-ef6d2a2-font-size:20px;--e-global-typography-ef6d2a2-font-weight:700;--e-global-typography-ef6d2a2-text-transform:capitalize;--e-global-typography-ef6d2a2-line-height:1.4em;--e-global-typography-2e65b0e-font-family:"Montserrat";--e-global-typography-2e65b0e-font-size:16px;--e-global-typography-2e65b0e-font-weight:700;--e-global-typography-2e65b0e-text-transform:capitalize;--e-global-typography-2e65b0e-line-height:1.5em;--e-global-typography-aa5bb6d-font-family:"Montserrat";--e-global-typography-aa5bb6d-font-size:12px;--e-global-typography-aa5bb6d-font-weight:600;--e-global-typography-aa5bb6d-text-transform:uppercase;--e-global-typography-aa5bb6d-letter-spacing:2px;--e-global-typography-f1a078e-font-family:"Montserrat";--e-global-typography-f1a078e-font-size:12px;--e-global-typography-f1a078e-font-weight:400;--e-global-typography-92abe39-font-family:"Montserrat Alternates";--e-global-typography-92abe39-font-size:80px;--e-global-typography-92abe39-font-weight:600;--e-global-typography-92abe39-text-transform:capitalize;--e-global-typography-92abe39-line-height:1.1em;color:var( --e-global-color-text );}.elementor-kit-695 button,.elementor-kit-695 input[type="button"],.elementor-kit-695 input[type="submit"],.elementor-kit-695 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );color:var( --e-global-color-7c71b6f );}.elementor-kit-695 button:hover,.elementor-kit-695 button:focus,.elementor-kit-695 input[type="button"]:hover,.elementor-kit-695 input[type="button"]:focus,.elementor-kit-695 input[type="submit"]:hover,.elementor-kit-695 input[type="submit"]:focus,.elementor-kit-695 .elementor-button:hover,.elementor-kit-695 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-7c71b6f );}.elementor-kit-695 e-page-transition{background-color:#FFBC7D;}.elementor-kit-695 a{text-decoration:none;}.elementor-kit-695 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-e4eded7-font-family ), Sans-serif;font-size:var( --e-global-typography-e4eded7-font-size );font-weight:var( --e-global-typography-e4eded7-font-weight );text-transform:var( --e-global-typography-e4eded7-text-transform );line-height:var( --e-global-typography-e4eded7-line-height );}.elementor-kit-695 h2{color:var( --e-global-color-secondary );font-family:"Montserrat", Sans-serif;font-size:45px;font-weight:700;text-transform:capitalize;line-height:1.1em;}.elementor-kit-695 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-4dfd090-font-family ), Sans-serif;font-size:var( --e-global-typography-4dfd090-font-size );font-weight:var( --e-global-typography-4dfd090-font-weight );text-transform:var( --e-global-typography-4dfd090-text-transform );line-height:var( --e-global-typography-4dfd090-line-height );}.elementor-kit-695 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-b3a473a-font-family ), Sans-serif;font-size:var( --e-global-typography-b3a473a-font-size );font-weight:var( --e-global-typography-b3a473a-font-weight );text-transform:var( --e-global-typography-b3a473a-text-transform );line-height:var( --e-global-typography-b3a473a-line-height );}.elementor-kit-695 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-ef6d2a2-font-family ), Sans-serif;font-size:var( --e-global-typography-ef6d2a2-font-size );font-weight:var( --e-global-typography-ef6d2a2-font-weight );text-transform:var( --e-global-typography-ef6d2a2-text-transform );line-height:var( --e-global-typography-ef6d2a2-line-height );}.elementor-kit-695 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-2e65b0e-font-family ), Sans-serif;font-size:var( --e-global-typography-2e65b0e-font-size );font-weight:var( --e-global-typography-2e65b0e-font-weight );text-transform:var( --e-global-typography-2e65b0e-text-transform );line-height:var( --e-global-typography-2e65b0e-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-695 h1{font-size:var( --e-global-typography-e4eded7-font-size );line-height:var( --e-global-typography-e4eded7-line-height );}.elementor-kit-695 h3{font-size:var( --e-global-typography-4dfd090-font-size );line-height:var( --e-global-typography-4dfd090-line-height );}.elementor-kit-695 h4{font-size:var( --e-global-typography-b3a473a-font-size );line-height:var( --e-global-typography-b3a473a-line-height );}.elementor-kit-695 h5{font-size:var( --e-global-typography-ef6d2a2-font-size );line-height:var( --e-global-typography-ef6d2a2-line-height );}.elementor-kit-695 h6{font-size:var( --e-global-typography-2e65b0e-font-size );line-height:var( --e-global-typography-2e65b0e-line-height );}.elementor-kit-695 button,.elementor-kit-695 input[type="button"],.elementor-kit-695 input[type="submit"],.elementor-kit-695 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-695{--e-global-typography-e4eded7-font-size:45px;--e-global-typography-2fe6f1d-font-size:35px;--e-global-typography-4dfd090-font-size:25px;--e-global-typography-b3a473a-font-size:21px;--e-global-typography-ef6d2a2-font-size:18px;}.elementor-kit-695 h1{font-size:var( --e-global-typography-e4eded7-font-size );line-height:var( --e-global-typography-e4eded7-line-height );}.elementor-kit-695 h2{font-size:35px;}.elementor-kit-695 h3{font-size:var( --e-global-typography-4dfd090-font-size );line-height:var( --e-global-typography-4dfd090-line-height );}.elementor-kit-695 h4{font-size:var( --e-global-typography-b3a473a-font-size );line-height:var( --e-global-typography-b3a473a-line-height );}.elementor-kit-695 h5{font-size:var( --e-global-typography-ef6d2a2-font-size );line-height:var( --e-global-typography-ef6d2a2-line-height );}.elementor-kit-695 h6{font-size:var( --e-global-typography-2e65b0e-font-size );line-height:var( --e-global-typography-2e65b0e-line-height );}.elementor-kit-695 button,.elementor-kit-695 input[type="button"],.elementor-kit-695 input[type="submit"],.elementor-kit-695 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============ 产品卡：标题 2 行 + 描述 4 行截断 ============ */

/* 1) 卡片外层：竖向 flex 布局，让按钮始终贴底 */
.ue-grid-item,
.elementor-loop-item,
.e-loop-item {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* 2) 产品标题：最多 2 行（标题不够 2 行时也保留 2 行高度，防止卡片高度抖动） */
.ue-grid-item .elementor-heading-title,
.elementor-loop-item .elementor-heading-title,
.e-loop-item .elementor-heading-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  min-height: 2.6em;   /* = 2 × 1.3em，留出 2 行高度的稳定空间 */
}

/* 3) 产品描述：最多 4 行，并撑满中间剩余空间，把按钮挤到底 */
.ue-grid-item .elementor-widget-text-editor .elementor-widget-container,
.elementor-loop-item .elementor-widget-text-editor .elementor-widget-container,
.e-loop-item .elementor-widget-text-editor .elementor-widget-container {
  display: -webkit-box;
  -webkit-line-clamp: 4;

  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.6;
  flex: 1 1 auto;        /* 关键：让描述吃掉中间所有空白 */
  margin-bottom: 16px;
}

/* 4) Read More 按钮：始终贴底，左右撑满 */
.ue-grid-item .elementor-button,
.elementor-loop-item .elementor-button,
.e-loop-item a.elementor-button {
  margin-top: auto;
  align-self: stretch;
}

/* 5) 兜底：描述里 <p> 的默认 margin 会破坏行高对齐 */
.ue-grid-item .elementor-widget-text-editor p,
.elementor-loop-item .elementor-widget-text-editor p,
.e-loop-item .elementor-widget-text-editor p {
  margin: 0;
}/* End custom CSS */