.elementor-5975 .elementor-element.elementor-element-8a63f01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-1fa65fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-5882b67{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-31c55fe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-1d4b906{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-7d7a0bd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-5c6d403{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-c4f8d7b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-bfdd519{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-8f98088{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5975 .elementor-element.elementor-element-40d6fc7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-bafbf4c */.lp-section { padding-block: clamp(28px, 6vw, 80px); }
.container { max-width: 1200px; margin-inline: auto; padding-inline: 16px; }

#hero-with-image .hw-wrap {
  display: grid; gap: clamp(20px,4vw,48px); align-items: center;
  grid-template-columns: 1.05fr 1fr;
}
@media (max-width: 960px){ #hero-with-image .hw-wrap{ grid-template-columns: 1fr; } }

.hero-title { margin: 0 0 .5rem; font-size: clamp(28px,4.2vw,44px); line-height: 1.1; }
.hero-sub { margin: 0 0 1rem; font-size: clamp(16px,2.1vw,18px); color: #444; }

.btn.btn-primary {
  display:inline-block; padding:.75rem 1.1rem; border-radius:999px; font-weight:600;
  text-decoration:none; background:#0A69F0; color:#fff;
}
.btn.btn-primary:focus-visible{ outline:3px solid #a7c7ff; outline-offset:2px; }

.trust-inline{ display:flex; gap:.5rem; padding:0; margin:1rem 0 0; list-style:none; flex-wrap:wrap; }
.badge{ display:inline-flex; align-items:center; padding:.25rem .6rem; border-radius:999px;
  border:1px solid #e1e5ec; background:#fafafa; font-weight:600; font-size:.875rem; }

.hw-image picture, .hw-image img{ display:block; width:100%; height:auto; }
.hw-image img{ border-radius:14px; box-shadow:0 8px 28px rgba(0,0,0,.08); }
.caption{ margin-top:.5rem; font-size:.9rem; color:#666; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-8d30bed *//* ===== Packshots: 2x2 宫格 ===== */
#packshots-grid{ --text:#0f172a; --muted:#64748b; --line:#e5e7eb; padding:36px 20px; background:#fff; border-top:1px solid #e2e8f0;}
#packshots-grid .container{max-width:1140px;margin:0 auto;}
#packshots-grid .sec-title{text-align:center;color:var(--text);font-size:clamp(22px,3vw,28px);margin:0 0 14px;}

#packshots-grid .grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
#packshots-grid .gcard{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(2,6,23,.08);background:#fff;position:relative;}
#packshots-grid .gcard .zoom{display:block;position:relative;aspect-ratio:4/3;background:#f8fafc;}
#packshots-grid .gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#eef2f7;}
#packshots-grid .gcard figcaption{text-align:center;font-size:13px;color:var(--muted);padding:10px 12px;}
#packshots-grid .gcard:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(2,6,23,.14);transition:transform .25s ease, box-shadow .25s ease;}
@media (max-width:640px){ #packshots-grid .grid4{grid-template-columns:1fr;} }

/* Lightbox */
#packshots-grid .grid-lightbox{position:fixed;inset:0;background:rgba(2,6,23,.86);display:none;align-items:center;justify-content:center;z-index:1200;padding:24px;}
#packshots-grid .grid-lightbox img{max-width:min(1200px,95vw);max-height:90vh;border-radius:12px;box-shadow:0 22px 64px rgba(0,0,0,.5);}
#packshots-grid .grid-lightbox:target{display:flex;}
#packshots-grid .glb-close{position:fixed;inset:0;display:block;cursor:zoom-out;}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-f422521 */#trust-mop { padding-block: clamp(36px,6vw,72px); background:#fff; }
.sec-title { text-align:center; margin-bottom:1.75rem; font-size:clamp(24px,3.6vw,36px); font-weight:700; }

.trust-badges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px; list-style:none; margin:0; padding:0; }
.trust-item{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px 12px;
  padding:14px 16px; background:#f7f9fc; border:1px solid #e6ebf2; border-radius:12px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.trust-item:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.06); background:#f4f7fb; }
.t-ic{ font-size:1.4rem; line-height:1; }
.t-t{ display:grid; }
.t-t strong{ font-weight:700; font-size:.98rem; line-height:1.25; }
.t-t .sub{ font-size:.86rem; color:#5a6472; line-height:1.3; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-06774a9 */#benefits-mop {
  padding-block: clamp(40px, 7vw, 80px);
  background: #f9fafc;
}

.sec-title {
  text-align: center;
  font-size: clamp(24px, 3.6vw, 36px);
  margin-bottom: 2.5rem;
  font-weight: 700;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 2rem;
}

.benefit {
  background: #fff;
  border: 1px solid #e8eaee;
  border-radius: 14px;
  padding: 1.5rem;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.benefit:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
}

.benefit .icon {
  font-size: 1.8rem;
  margin-bottom: .75rem;
}

.benefit h3 {
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.benefit p {
  margin: 0;
  color: #555;
  font-size: .95rem;
  line-height: 1.5;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-227e7d0 *//* ===== Hygiene-Sensitive Applications Grid ===== */
#mop-apps {
  --brand: #1e3a8a;
  --text: #0f172a;
  --muted: #64748b;
  --card: #ffffff;
  --line: #e5e7eb;
  padding: 44px 20px;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
#mop-apps .container { max-width: 1140px; margin: 0 auto; }
#mop-apps .sec-title {
  text-align: center; color: var(--text);
  font-size: clamp(22px, 3vw, 28px); margin: 0 0 18px;
}

/* Grid */
#mop-apps .apps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* Card */
#mop-apps .app-card {
  position: relative;
  margin: 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(2,6,23,.04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  /* 固定比例避免 CLS */
  aspect-ratio: 4 / 3;
  isolation: isolate;
}

/* 让 <img> 填满容器 */
#mop-apps .app-card img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  background: #eef2f7;
}

/* 文字可读渐变叠层 */
#mop-apps .app-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(2,6,23,0) 55%, rgba(2,6,23,.48) 100%);
  pointer-events: none;
}

/* Caption */
#mop-apps .app-card figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 12px 14px;
  color: #fff; z-index: 2;
  display: flex; flex-direction: column; gap: 4px;
}
#mop-apps .app-title { font-weight: 700; font-size: 16px; line-height: 1.25; letter-spacing: .2px; }
#mop-apps .app-sub   { font-size: 13px; color: rgba(255,255,255,.9); }

/* Hover 效果 */
#mop-apps .app-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(2,6,23,.10);
  border-color: rgba(30,58,138,.15);
}

/* CTA */
#mop-apps .apps-cta { text-align: center; margin-top: 18px; }
#mop-apps .btn.btn-primary {
  display: inline-block; padding: 12px 18px;
  background: var(--brand); color: #fff; text-decoration: none;
  border-radius: 10px; font-weight: 700;
  box-shadow: 0 10px 24px rgba(30,58,138,.18);
}
#mop-apps .btn.btn-primary:hover { background: #0b2f7a; }

/* 响应式 */
@media (max-width: 1024px){
  #mop-apps .apps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  #mop-apps { padding: 36px 16px; }
  #mop-apps .apps-grid { grid-template-columns: 1fr; }
  #mop-apps .app-card figcaption { padding: 10px 12px; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fcbe811 *//* ===== Product Details Section ===== */
#mop-details {
  --brand: #1e3a8a;
  --text: #0f172a;
  --muted: #64748b;
  --card: #ffffff;
  --line: #e5e7eb;
  padding: 44px 20px;
  background: #fff;
  border-top: 1px solid #e2e8f0;
}
#mop-details .container { max-width: 1140px; margin: 0 auto; }
#mop-details .sec-title {
  text-align: center;
  color: var(--text);
  font-size: clamp(22px, 3vw, 28px);
  margin: 0 0 20px;
}

/* Grid */
#mop-details .detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* Card wrapper */
#mop-details .detail-card {
  position: relative;
  margin: 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(2,6,23,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  /* 固定比例，匹配 900×700 (≈9:7) */
  aspect-ratio: 9 / 7;
  isolation: isolate;
}

/* 仅显示每个 figure 中的最后一个 <picture>（即包含 <img> 的 PNG/JPG） */
#mop-details .detail-card picture { display: none; }
#mop-details .detail-card picture:last-of-type { 
  display: block; 
  position: absolute; inset: 0;
}

/* 图片铺满容器，避免拉伸 */
#mop-details .detail-card img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  background: #eef2f7; /* 占位底色，防闪屏 */
  image-rendering: auto;
}

/* 文字可读性叠层（下部渐变） */
#mop-details .detail-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(2,6,23,0) 58%, rgba(2,6,23,.5) 100%);
  pointer-events: none;
}

/* Caption 置底 */
#mop-details .detail-card figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 12px 14px;
  color: #fff; z-index: 2;
  font-size: 14px; line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}

/* Hover & focus-within 效果 */
#mop-details .detail-card:hover,
#mop-details .detail-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(2,6,23,.12);
  border-color: rgba(30,58,138,.18);
}

/* 说明文字 */
#mop-details .details-note {
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  margin: 14px 0 0;
}
#mop-details .details-note a {
  color: var(--brand);
  font-weight: 600;
  text-decoration: none;
}
#mop-details .details-note a:hover { text-decoration: underline; }

/* 动效可访问性 */
@media (prefers-reduced-motion: reduce) {
  #mop-details .detail-card { transition: none; }
}

/* 响应式 */
@media (max-width: 1024px){
  #mop-details .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  #mop-details { padding: 36px 16px; }
  #mop-details .detail-grid { grid-template-columns: 1fr; }
  #mop-details .detail-card figcaption { padding: 10px 12px; font-size: 13px; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-327fb76 */.sr-only{ position:absolute!important; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

.specs-card{ border:1px solid #e6ebf2; border-radius:14px; background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.05); }
.specs-summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; font-weight:700; font-size:1.05rem; }
.specs-summary::-webkit-details-marker{ display:none; }
.caret{ transition:transform .25s ease; } .specs-card[open] .caret{ transform:rotate(-180deg); }
.specs-body{ padding:0 18px 18px; }

.specs-table{ width:100%; border-collapse:separate; border-spacing:0; font-size:.96rem; overflow:hidden; border-radius:10px; border:1px solid #edf0f5; background:#fff; }
.specs-table tbody tr + tr td, .specs-table tbody tr + tr th{ border-top:1px solid #f0f3f8; }
.specs-table th{ width:220px; text-align:left; background:#f8fafc; color:#2c3a4a; padding:12px 14px; font-weight:700; vertical-align:top; }
.specs-table td{ padding:12px 14px; color:#4b5563; line-height:1.55; }

@media (max-width:640px){
  .specs-table, .specs-table tbody, .specs-table tr, .specs-table td, .specs-table th{ display:block; width:100%; }
  .specs-table{ border:0; }
  .specs-table tbody tr{ border:1px solid #edf0f5; border-radius:10px; margin:10px 0; overflow:hidden; }
  .specs-table th{ background:#f3f6fb; padding:10px 12px; border:0; border-bottom:1px solid #edf0f5; width:auto; }
  .specs-table td{ padding:12px; border:0; }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-820f06f */#moq-leadtime{ background:#fff; }
.ml-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.ml-card{ background:#f7f9fc; border:1px solid #e6ebf2; border-radius:12px; padding:16px; }
.ml-card h3{ margin:.2rem 0 .4rem; font-size:1.05rem; }
.ml-card p{ margin:0; color:#4b5563; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-30f46a7 */.proof-card{ display:grid; grid-template-columns:1.4fr .9fr; gap:20px; padding:18px;
  border:1px solid #e6ebf2; border-radius:14px; background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.05); }
@media (max-width:900px){ .proof-card{ grid-template-columns:1fr; } }
.proof-copy h3{ margin:.2rem 0 .6rem; }
.bullets{ margin:0; padding-left:18px; }
.kpi{ display:grid; place-items:center; padding:12px; border:1px solid #eef1f6; border-radius:12px; }
.kpi + .kpi{ margin-top:10px; }
.kpi .num{ font-size:1.6rem; font-weight:800; line-height:1; }
.kpi .lbl{ font-size:.85rem; color:#667085; }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-46a0626 *//* Container */
#quote-form .quote-form-wrap #wpforms-6038 {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

/* Fields */
#wpforms-6038 input,
#wpforms-6038 select,
#wpforms-6038 textarea {
  width: 100%;
  padding: .65rem .85rem;
  border: 1px solid #dfe4ec;
  border-radius: 10px;
  font-size: .95rem;
}

#wpforms-6038 input:focus,
#wpforms-6038 select:focus,
#wpforms-6038 textarea:focus {
  outline: none;
  border-color: #0A69F0;
  box-shadow: 0 0 0 3px rgba(10,105,240,.15);
}

/* Submit Button */
#wpforms-6038 .wpforms-submit {
  background: #0A69F0;
  color: #fff !important;
  font-weight: 700;
  padding: .75rem 1.2rem;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(10,105,240,.25);
  transition: background .25s ease;
}

#wpforms-6038 .wpforms-submit:hover {
  background: #084ec1;
}

/* Form meta text */
#quote-form .form-meta {
  margin-top: 1rem;
  font-size: .9rem;
  text-align: center;
  color: #666;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a8e76db */#contact-bar{ position:sticky; bottom:10px; z-index:50; }
.cb-wrap{ display:flex; gap:8px; justify-content:center; }
.cb-btn{
  background:#0A69F0; color:#fff; text-decoration:none; font-weight:700;
  padding:.6rem .9rem; border-radius:999px; box-shadow:0 6px 18px rgba(10,105,240,.25);
}
@media (min-width:900px){ #contact-bar{ display:none; } } /* show only on mobile/tablet *//* End custom CSS */