/* PbootCMS form integration, shared by the contact section and quote dialog. */
.products { overflow: hidden; }
[hidden] { display: none !important; }
.cms-section-intro { text-align: center; max-width: 900px; margin: 0 auto 40px; }
.cms-center { text-align: center; margin-top: 30px; }
.cms-product-rule { border: 0; height: 1px; background: rgba(0,100,180,.15); }
.cms-spec-list { margin-bottom: 12px; }
.cms-spec-list li:has(.cms-spec-value:empty) { display: none; }
.cms-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cms-hero-copy ul { margin-bottom: 24px; }
.hero { height: auto; min-height: 600px; padding: 0; }
.hero .container { height: auto; min-height: 600px; }
.hero .container > * { flex-shrink: 0; }
.hero .container > .theme-btn { align-self: center; }
.cms-factory-row + .cms-factory-row { margin-top: 40px; }
.cms-factory-row:nth-of-type(even) > .image-anime { order: 2; }
.yingjun-feature-wrap { background: #fff; padding: 20px; border-radius: 10px; }
/* Standalone SVG images must not inherit the factory photo dimensions. */
.factory-content img.yingjun-feature-icon { width: 18px; height: 18px; border-radius: 0; }
.process h2 { text-align: center; }
.process .cms-section-intro { max-width: none; }
/* This unanchored decoration otherwise covers the About copy on tall screens. */
.process > .rs-about-shape-two { display: none; }
.cms-quality-promise h3 { font-weight: bold; }
.cms-spec-value, .cms-product-notes, .faq-answer { overflow-wrap: anywhere; }
[data-lightbox] { cursor: zoom-in; }
.advantage-item .icon-box img { max-width: 100%; }
.tag-group .tag-item:last-child { background: #fff; }
.tag-group .tag-item:last-child h4 { color: color-mix(in srgb, var(--primary-color) 50%, black); }
@media (max-width: 768px) {
  .cms-factory-row:nth-of-type(even) > .image-anime { order: initial; }
}
@media (max-width: 640px) {
  .factory-content img.yingjun-feature-icon { width: 24px; height: 24px; }
}
[data-cms-message] input,
[data-cms-message] textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #aaa;
  border-radius: 4px;
  background: transparent;
  color: #fff;
  font: inherit;
}
[data-cms-message] input::placeholder,
[data-cms-message] textarea::placeholder { color: #d5d5d5; opacity: 1; }
.captcha-group { display: flex; align-items: flex-start; gap: 12px; }
.captcha-group input { min-width: 0; flex: 1; }
.captcha-refresh { padding: 0; border: 0; background: white; cursor: pointer; flex-shrink: 0; }
.captcha-refresh img { display: block; max-width: 100%; }
.form-status { margin: 0 0 15px; color: #fff; overflow-wrap: anywhere; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { color: #ffb8b8; }
.form-status[data-state="success"] { color: #afffc4; }
[data-cms-message] button:disabled { opacity: .6; cursor: wait; }
.popup-content { position: relative; max-height: 85vh; overflow-y: auto; }
.popup-content [data-cms-message] input,
.popup-content [data-cms-message] textarea { color: #1a2436 !important; background: #fff !important; }
.popup-content [data-cms-message] input::placeholder,
.popup-content [data-cms-message] textarea::placeholder { color: #596579; }
.popup-content .form-status { color: #1a2436; }
.popup-content .form-status[data-state="error"] { color: #a12323; }
.popup-content .form-status[data-state="success"] { color: #14692f; }
.popup-content::after { content: none !important; }
.popup-close { position: absolute; top: 8px; right: 12px; border: 0; background: transparent; color: #1a2436; font-size: 30px; cursor: pointer; }
@media (max-width: 480px) {
  .captcha-group { gap: 8px; }
  .captcha-refresh img { width: 105px; height: 42px; }
  .popup-content { width: calc(100% - 24px); padding: 20px; box-sizing: border-box; }
}
