/*
 * DxD Corp 789 visual refresh
 * 目标：保留现有 emlog 模板结构，统一成商务简约白底视觉系统。
 */

:root {
  --dxd-vr-ink: #0f172a;
  --dxd-vr-ink-2: #334155;
  --dxd-vr-muted: #64748b;
  --dxd-vr-line: #e5e7eb;
  --dxd-vr-soft: #f8fafc;
  --dxd-vr-paper: #ffffff;
  --dxd-vr-blue: #1d4ed8;
  --dxd-vr-blue-2: #2563eb;
  --dxd-vr-violet: #334155;
  --dxd-vr-cyan: #0f766e;
  --dxd-vr-radius: 10px;
  --dxd-vr-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
  --dxd-vr-shadow-strong: 0 14px 30px rgba(15, 23, 42, 0.09);
  --dxd-vr-grad: linear-gradient(135deg, #1d4ed8, #2563eb);
  --dxd-vr-grad-soft: #ffffff;
  --dxd-page-gutter-mobile: 16px;
  --dxd-page-start-gap: 20px;
}

@media (min-width: 640px) {
  :root { --dxd-page-start-gap: 24px; }
}

@media (min-width: 768px) {
  :root { --dxd-page-start-gap: 32px; }
}

@media (min-width: 1200px) {
  :root { --dxd-page-start-gap: 40px; }
}

@media (min-width: 1920px) {
  :root { --dxd-page-start-gap: 48px; }
}

@media (min-width: 2480px) {
  :root { --dxd-page-start-gap: 56px; }
}

body.dxd-visual-refresh {
  color: var(--dxd-vr-ink) !important;
  background: var(--dxd-vr-grad-soft) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  max-width: 100%;
  overflow-x: clip;
}

body.dxd-visual-refresh main {
  position: relative;
  isolation: isolate;
  max-width: 100%;
  overflow-x: clip;
}

body.dxd-visual-refresh *,
body.dxd-visual-refresh *::before,
body.dxd-visual-refresh *::after {
  box-sizing: border-box;
}

body.dxd-visual-refresh img,
body.dxd-visual-refresh video,
body.dxd-visual-refresh iframe,
body.dxd-visual-refresh embed,
body.dxd-visual-refresh object {
  max-width: 100%;
}

body.dxd-visual-refresh table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.dxd-visual-refresh pre,
body.dxd-visual-refresh code {
  max-width: 100%;
  overflow-wrap: anywhere;
}

body.dxd-visual-refresh .container {
  max-width: 1220px;
  min-width: 0;
}

body.dxd-visual-refresh #js-site-header {
  background: transparent !important;
}

body.dxd-visual-refresh #js-site-header .dxd-header-underlay {
  background: #ffffff !important;
  border-bottom: 1px solid var(--dxd-vr-line);
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.045) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.dxd-visual-refresh #js-site-header.dxd-header--scrolled {
  background: #ffffff !important;
  border-bottom: 1px solid var(--dxd-vr-line);
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.045) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.dxd-visual-refresh .dxd-site-title,
body.dxd-visual-refresh .dxd-ft-title {
  color: var(--dxd-vr-ink) !important;
  letter-spacing: -0.02em;
}

body.dxd-visual-refresh .dxd-header-logo-div {
  background: var(--dxd-vr-grad) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 18px rgba(29, 78, 216, 0.16);
}

body.dxd-visual-refresh .dxd-hover-line::after,
body.dxd-visual-refresh .dxd-nav-active::after,
body.dxd-visual-refresh h1 span[style*="width:60px"],
body.dxd-visual-refresh h2 span[style*="width:60px"] {
  background: var(--dxd-vr-blue) !important;
  border-radius: 999px !important;
  box-shadow: none;
}

body.dxd-visual-refresh .dxd-main-nav a,
body.dxd-visual-refresh .dxd-main-nav button,
body.dxd-visual-refresh #js-mobile-menu a {
  color: var(--dxd-vr-ink-2) !important;
  font-weight: 500 !important;
}

body.dxd-visual-refresh .dxd-main-nav a:hover,
body.dxd-visual-refresh .dxd-main-nav button:hover,
body.dxd-visual-refresh #js-mobile-menu a:hover {
  color: var(--dxd-vr-blue) !important;
}

body.dxd-visual-refresh .dxd-admin-btn {
  color: var(--dxd-vr-muted) !important;
  border-color: rgba(100, 116, 139, 0.22) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

body.dxd-visual-refresh .dxd-admin-btn:hover {
  color: var(--dxd-vr-blue) !important;
  background: rgba(37, 99, 235, 0.05) !important;
  border-color: rgba(37, 99, 235, 0.24) !important;
  box-shadow: none !important;
}

/* 登录入口保持低视觉权重，仅作为辅助操作 */
@media (min-width: 1200px) and (max-width: 1399px) {
  body.dxd-visual-refresh .dxd-admin-btn {
    padding: .25rem .55rem !important;
    font-size: .75rem !important;
    border-color: transparent !important;
  }
}

@media (min-width: 1400px) {
  body.dxd-visual-refresh .dxd-admin-btn {
    padding: .28rem .7rem !important;
    font-size: .78rem !important;
  }
}

body.dxd-visual-refresh #service,
body.dxd-visual-refresh #dxd-process,
body.dxd-visual-refresh #product-categories,
body.dxd-visual-refresh #cases,
body.dxd-visual-refresh #clients,
body.dxd-visual-refresh #news,
body.dxd-visual-refresh #faq,
body.dxd-visual-refresh #dxd-lookup {
  position: relative;
  overflow: hidden;
}

body.dxd-visual-refresh #service::before,
body.dxd-visual-refresh #product-categories::before,
body.dxd-visual-refresh #cases::before,
body.dxd-visual-refresh #news::before,
body.dxd-visual-refresh #dxd-lookup::before {
  display: none !important;
}

body.dxd-visual-refresh section > .container {
  position: relative;
  z-index: 1;
}

body.dxd-visual-refresh .dxd-section-title,
body.dxd-visual-refresh section h2,
body.dxd-visual-refresh .dxd-page-title {
  color: var(--dxd-vr-ink) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em;
}

body.dxd-visual-refresh .dxd-section-sub,
body.dxd-visual-refresh section p,
body.dxd-visual-refresh .dxd-card-desc {
  color: var(--dxd-vr-muted) !important;
}

body.dxd-visual-refresh .dxd-section-title em,
body.dxd-visual-refresh .text-\[\#1456f0\],
body.dxd-visual-refresh .dxd-card-title:hover {
  color: var(--dxd-vr-blue) !important;
}

body.dxd-visual-refresh #service a > div:first-child,
body.dxd-visual-refresh .dxd-prodcat-card > div:first-child,
body.dxd-visual-refresh .dxd-cat-card,
body.dxd-visual-refresh .dxd-list-card,
body.dxd-visual-refresh #cases article.group,
body.dxd-visual-refresh #news .dxd-news-card,
body.dxd-visual-refresh #dxd-clients-grid > div,
body.dxd-visual-refresh .dxd-faq-item,
body.dxd-visual-refresh .dxd-article-card,
body.dxd-visual-refresh .dxd-art-card,
body.dxd-visual-refresh #dxd-card-apply,
body.dxd-visual-refresh #dxd-card-query {
  background: var(--dxd-vr-paper) !important;
  border: 1px solid var(--dxd-vr-line) !important;
  border-radius: var(--dxd-vr-radius) !important;
  box-shadow: var(--dxd-vr-shadow) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.dxd-visual-refresh .dxd-loglist-img {
  border-radius: 8px !important;
}

body.dxd-visual-refresh .dxd-loglist-img:not(img) {
  background: #f8fafc !important;
}

body.dxd-visual-refresh #service a > div:first-child,
body.dxd-visual-refresh .dxd-prodcat-card,
body.dxd-visual-refresh .dxd-cat-card,
body.dxd-visual-refresh .dxd-list-card,
body.dxd-visual-refresh #cases article.group,
body.dxd-visual-refresh #news .dxd-news-card,
body.dxd-visual-refresh #dxd-clients-grid > div,
body.dxd-visual-refresh .dxd-faq-item {
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease !important;
}

body.dxd-visual-refresh .dxd-prodcat-card:hover {
  transform: translateY(-8px) !important;
  border-color: #bfdbfe !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-prodcat-card,
body.dxd-visual-refresh .dxd-prodcat-card > div:first-child,
body.dxd-visual-refresh .dxd-prodcat-card > div:first-child:hover {
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-cat-card:hover,
body.dxd-visual-refresh .dxd-list-card:hover,
body.dxd-visual-refresh #cases article.group:hover,
body.dxd-visual-refresh #news .dxd-news-card:hover,
body.dxd-visual-refresh #dxd-clients-grid > div:hover,
body.dxd-visual-refresh .dxd-faq-item:hover {
  transform: none !important;
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
}

/* 手风琴：白底、细线、小圆角，不使用浮起和厚重阴影 */
body.dxd-visual-refresh .dxd-faq-item {
  background: #ffffff !important;
  border: 1px solid var(--dxd-vr-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
  transition: border-color 180ms ease !important;
}

body.dxd-visual-refresh .dxd-faq-item > button {
  background: #ffffff !important;
  color: var(--dxd-vr-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-weight: 500 !important;
  transition: background-color 180ms ease, color 180ms ease !important;
}

body.dxd-visual-refresh .dxd-faq-item > button:hover,
body.dxd-visual-refresh .dxd-faq-item > button[aria-expanded="true"] {
  background: #f8fafc !important;
}

body.dxd-visual-refresh .dxd-faq-item > button[aria-expanded="true"] {
  color: var(--dxd-vr-blue) !important;
}

body.dxd-visual-refresh .dxd-faq-item .dxd-faq-chevron {
  color: #64748b !important;
}

body.dxd-visual-refresh .dxd-faq-item > button[aria-expanded="true"] .dxd-faq-chevron {
  color: var(--dxd-vr-blue) !important;
}

body.dxd-visual-refresh .dxd-faq-body {
  background: #ffffff !important;
  border-top: 1px solid #f1f5f9;
}

body.dxd-visual-refresh .dxd-faq-content {
  padding: 16px !important;
  color: var(--dxd-vr-muted) !important;
  font-weight: 400 !important;
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-faq-item > button {
    padding: 16px 20px !important;
  }

  body.dxd-visual-refresh .dxd-faq-content {
    padding: 18px 20px !important;
  }
}

body.dxd-visual-refresh #service .dxd-svc-img-wrap,
body.dxd-visual-refresh .dxd-prodcat-card > div:first-child,
body.dxd-visual-refresh .dxd-cat-img,
body.dxd-visual-refresh .dxd-list-img {
  border-radius: 8px !important;
}

body.dxd-visual-refresh #dxd-clients-grid > div {
  background: #efefef !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-svc-title,
body.dxd-visual-refresh .dxd-prodcat-title,
body.dxd-visual-refresh .dxd-card-title {
  color: var(--dxd-vr-ink) !important;
  font-weight: 700 !important;
}

body.dxd-visual-refresh .dxd-product-list-section {
  padding-top: 0 !important;
}

body.dxd-visual-refresh .dxd-product-list-container {
  padding-top: 0 !important;
}

body.dxd-visual-refresh .dxd-product-list-heading {
  margin-top: 0 !important;
  margin-bottom: 2.5rem !important;
}

body.dxd-visual-refresh .dxd-prodlist-title {
  color: var(--dxd-vr-ink) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  font-size: 1.25rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-prodlist-title {
    font-size: 2rem !important;
  }
}

body.dxd-visual-refresh .dxd-faq-page-container {
  width: 100% !important;
  max-width: 48rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.dxd-visual-refresh .dxd-faq-page-container #dxd-faq-list {
  width: 100%;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

body.dxd-visual-refresh #dxd-ring-txt {
  background: #f6fafe !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh #dxd-ring-txt strong {
  color: var(--dxd-vr-blue) !important;
  font-weight: 500 !important;
}

body.dxd-visual-refresh .dxd-ring-arrow {
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 14px solid transparent !important;
  border-right: 14px solid transparent !important;
  border-top: 16px solid #f6fafe !important;
  border-top-color: #f6fafe !important;
  margin: 0 auto !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-ring-dot {
  color: var(--dxd-vr-ink-2) !important;
  background: #ffffff !important;
  border-color: var(--dxd-vr-line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-ring-dot:hover {
  color: var(--dxd-vr-blue) !important;
  background: #ffffff !important;
  border-color: var(--dxd-vr-blue) !important;
  border-width: 2px !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-ring-dot.active {
  color: var(--dxd-vr-blue) !important;
  background: #ffffff !important;
  border-color: var(--dxd-vr-blue) !important;
  border-width: 2px !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-pdp-hero,
body.dxd-visual-refresh .dxd-pdp-gallery,
body.dxd-visual-refresh .dxd-pdp-info,
body.dxd-visual-refresh .dxd-pdp-section {
  max-width: 100%;
  min-width: 0;
}

/* 详情文章采用纯白阅读面，保留内部间距和分隔线，取消外层卡片边框与阴影 */
body.dxd-visual-refresh .dxd-article-card,
body.dxd-visual-refresh .dxd-art-card {
  border: 0 !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-pdp {
  padding: clamp(16px, 3vw, 36px) 0 56px !important;
}

body.dxd-visual-refresh .dxd-pdp-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  min-width: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(18px, 3vw, 28px) !important;
  padding-right: clamp(18px, 3vw, 28px) !important;
}

body.dxd-visual-refresh .dxd-pdp-hero {
  gap: 20px;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.dxd-visual-refresh .dxd-pdp-actions {
  margin-top: 20px !important;
}

body.dxd-visual-refresh .dxd-pdp-comments .dxd-cmt-wrap {
  margin-top: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.dxd-visual-refresh .dxd-pdp-comments .dxd-cmt-title {
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--dxd-vr-line);
}

body.dxd-visual-refresh .dxd-pdp-comments .dxd-cmt-thread {
  padding-top: 18px !important;
}

body.dxd-visual-refresh .dxd-pdp-comments #comments,
body.dxd-visual-refresh .dxd-pdp-comments #comment-post,
body.dxd-visual-refresh .dxd-pdp-comments #commentform {
  width: 100% !important;
  max-width: 100% !important;
}

body.dxd-visual-refresh .dxd-pdp-comments .dxd-cmt-guard {
  margin-top: 16px !important;
}

body.dxd-visual-refresh .dxd-pdp-btn,
body.dxd-visual-refresh .dxd-pdp-btn-buy,
body.dxd-visual-refresh .dxd-pdp-extra-btn {
  border-radius: 10px !important;
}

body.dxd-visual-refresh #dxd-cta {
  background-image:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.26), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(29, 78, 216, 0.22) 0%, rgba(124, 58, 237, 0.22) 100%);
  border-top: 0;
  border-bottom: 0;
}

body.dxd-visual-refresh #dxd-cta h2,
body.dxd-visual-refresh #dxd-cta p {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(15, 23, 42, 0.20);
}

body.dxd-visual-refresh #dxd-cta p {
  color: rgba(255, 255, 255, 0.84) !important;
}

body.dxd-visual-refresh #dxd-cta h2 span {
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
}

body.dxd-visual-refresh .dxd-cta-btn,
body.dxd-visual-refresh #dxd-lookup button[type="submit"],
body.dxd-visual-refresh #dxd-lookup label[style*="linear-gradient"] {
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--dxd-vr-blue) !important;
  box-shadow: 0 10px 22px rgba(29, 78, 216, 0.16) !important;
}

body.dxd-visual-refresh .dxd-cta-fill {
  display: none !important;
}

body.dxd-visual-refresh .dxd-cta-btn:hover {
  color: #ffffff !important;
}

body.dxd-visual-refresh .dxd-cta-btn:hover,
body.dxd-visual-refresh #dxd-lookup button[type="submit"]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 28px rgba(29, 78, 216, 0.20) !important;
}

body.dxd-visual-refresh #dxd-lookup button[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(59, 130, 246, 0.25) !important;
}

body.dxd-visual-refresh #dxd-cta .dxd-cta-btn {
  color: #1e1b4b !important;
  background: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.22) !important;
}

body.dxd-visual-refresh #dxd-cta .dxd-cta-btn:hover {
  color: #1d4ed8 !important;
  background: #f8fafc !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.26) !important;
}

body.dxd-visual-refresh #dxd-lookup input,
body.dxd-visual-refresh #dxd-lookup select,
body.dxd-visual-refresh #dxd-lookup textarea {
  color: var(--dxd-vr-ink) !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  box-shadow: none;
}

body.dxd-visual-refresh #dxd-lookup select,
body.dxd-visual-refresh .dxd-pg-card select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px !important;
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 18px 18px !important;
}

body.dxd-visual-refresh #dxd-lookup input:focus,
body.dxd-visual-refresh #dxd-lookup select:focus,
body.dxd-visual-refresh #dxd-lookup textarea:focus {
  border-color: rgba(37, 99, 235, 0.74) !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

body.dxd-visual-refresh #dxd-tab-apply,
body.dxd-visual-refresh #dxd-tab-query {
  border-radius: 10px !important;
}

body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab {
  margin: 0 3px;
}

body.dxd-visual-refresh #dxd-card-apply,
body.dxd-visual-refresh #dxd-card-query {
  padding: 28px !important;
}

body.dxd-visual-refresh .dxd-log-content {
  color: var(--dxd-vr-ink-2) !important;
  font-size: 1rem;
}

body.dxd-visual-refresh .dxd-log-content h2,
body.dxd-visual-refresh .dxd-log-content h3,
body.dxd-visual-refresh .dxd-log-content h4 {
  color: var(--dxd-vr-ink) !important;
  letter-spacing: -0.02em;
}

body.dxd-visual-refresh .dxd-log-content a,
body.dxd-visual-refresh .dxd-page-content a,
body.dxd-visual-refresh .dxd-art-content a {
  color: var(--dxd-vr-blue) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.dxd-visual-refresh .dxd-log-content img,
body.dxd-visual-refresh .dxd-log-content video {
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

body.dxd-visual-refresh .dxd-pagination a {
  border-radius: 6px !important;
  border-color: rgba(203, 213, 225, 0.82) !important;
  background: transparent !important;
}

body.dxd-visual-refresh .dxd-pagination span:not(.dxd-pagination-gap) {
  border-radius: 6px !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
  color: #fff !important;
}

body.dxd-visual-refresh .dxd-pagination .dxd-pagination-gap {
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #94a3b8 !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-pagination a:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
  border-color: transparent !important;
}

body.dxd-visual-refresh #js-site-footer {
  background-color: rgb(248, 250, 252) !important;
  border-top-color: var(--dxd-vr-line) !important;
}

body.dxd-visual-refresh #js-site-footer a:hover {
  color: var(--dxd-vr-blue) !important;
}

body.dxd-visual-refresh .dxd-rebuild-wrap,
body.dxd-visual-refresh .dxd-rebuild-wrap iframe {
  width: 100% !important;
  max-width: 100% !important;
}

body.dxd-visual-refresh .dxd-rebuild-wrap iframe {
  border-radius: 10px !important;
}

body.dxd-visual-refresh .dxd-pg-reviews {
  min-width: 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.dxd-visual-refresh .dxd-pg-reviews {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.dxd-visual-refresh .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.dxd-visual-refresh #service .dxd-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .5rem !important;
  }

  /* 保留非首页原有底部收口，顶部模块间距仅应用于首页。 */
  body.dxd-visual-refresh section {
    padding-bottom: 2.5rem !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(> #banner) > section:not(#banner) {
    padding-top: 2.5rem !important;
  }

  body.dxd-visual-refresh .dxd-section-title,
  body.dxd-visual-refresh section h2 {
    line-height: 1.35 !important;
  }

  body.dxd-visual-refresh #dxd-ring-wrap {
    height: 220px !important;
    overflow: hidden;
  }

  body.dxd-visual-refresh .dxd-ring-dot {
    width: 104px !important;
  }

  body.dxd-visual-refresh #dxd-lookup form > div[style*="display:flex"][style*="gap:10px"] {
    flex-direction: column !important;
  }

  body.dxd-visual-refresh .dxd-pg-cards,
  body.dxd-visual-refresh .dxd-pg-reviews {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.dxd-visual-refresh .dxd-rebuild-wrap iframe {
    height: 75vh !important;
  }

  body.dxd-visual-refresh #dxd-cta {
    min-height: auto !important;
    padding: 52px 0 !important;
  }

  body.dxd-visual-refresh #dxd-cta .dxd-cta-btn {
    width: min(100%, 220px) !important;
    padding: 13px 24px !important;
  }

  body.dxd-visual-refresh #dxd-card-apply,
  body.dxd-visual-refresh #dxd-card-query {
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
  }
}

/* 页面标题统一：仅覆盖分类页、page 页和详情页主标题 */
body.dxd-visual-refresh .dxd-page-title,
body.dxd-visual-refresh .dxd-page-board-title,
body.dxd-visual-refresh .dxd-prodlist-title,
body.dxd-visual-refresh .dxd-search-title,
body.dxd-visual-refresh .dxd-pdp-title,
body.dxd-visual-refresh section > .container > .text-center:has(> h1) > h1,
body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > h1 {
  color: #0f172a !important;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.02em !important;
}

/* 分类标题容器：统一标题上方留白，以及标题到描述/列表的距离 */
body.dxd-visual-refresh section > .container > .text-center:has(> h1),
body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
body.dxd-visual-refresh .dxd-product-list-heading {
  padding-top: 28px !important;
  padding-bottom: 0 !important;
  margin-bottom: 32px !important;
}

body.dxd-visual-refresh section > .container > .text-center:has(> h1) > p,
body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > p,
body.dxd-visual-refresh .dxd-product-list-heading p {
  margin-top: 12px !important;
}

/* page/detail 主标题容器：统一页面起点，再统一标题与正文间距 */
body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title) {
  padding-top: var(--dxd-page-start-gap) !important;
}

body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
  padding-top: var(--dxd-page-start-gap) !important;
  padding-bottom: 24px !important;
}

body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-title),
body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-board-title) {
  padding-top: 28px !important;
}

body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-title) > .flex,
body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-board-title) > .flex {
  margin-bottom: 24px !important;
}

body.dxd-visual-refresh .dxd-article-card > header:has(.dxd-page-title),
body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-page-title) {
  padding-top: 28px !important;
  padding-bottom: 24px !important;
  margin-bottom: 0 !important;
}

body.dxd-visual-refresh .dxd-article-card > header:has(.dxd-page-title) .dxd-page-title,
body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-page-title) .dxd-page-title {
  margin-bottom: 0 !important;
}

body.dxd-visual-refresh .dxd-pdp-info {
  padding-top: 20px !important;
}

@media (min-width: 640px) {
  body.dxd-visual-refresh .dxd-page-title,
  body.dxd-visual-refresh .dxd-page-board-title,
  body.dxd-visual-refresh .dxd-prodlist-title,
  body.dxd-visual-refresh .dxd-search-title,
  body.dxd-visual-refresh .dxd-pdp-title,
  body.dxd-visual-refresh section > .container > .text-center:has(> h1) > h1,
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > h1 {
    font-size: 24px !important;
  }

  body.dxd-visual-refresh section > .container > .text-center:has(> h1),
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
  body.dxd-visual-refresh .dxd-product-list-heading {
    padding-top: 32px !important;
    margin-bottom: 36px !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title),
  body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
    padding-top: var(--dxd-page-start-gap) !important;
  }

  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-title),
  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-board-title) {
    padding-top: 32px !important;
  }

  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-title) > .flex,
  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-board-title) > .flex {
    margin-bottom: 28px !important;
  }

  body.dxd-visual-refresh .dxd-pdp-info {
    padding-top: 28px !important;
  }
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-page-title,
  body.dxd-visual-refresh .dxd-page-board-title,
  body.dxd-visual-refresh .dxd-prodlist-title,
  body.dxd-visual-refresh .dxd-search-title,
  body.dxd-visual-refresh .dxd-pdp-title,
  body.dxd-visual-refresh section > .container > .text-center:has(> h1) > h1,
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > h1 {
    font-size: 30px !important;
  }

  body.dxd-visual-refresh section > .container > .text-center:has(> h1),
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
  body.dxd-visual-refresh .dxd-product-list-heading {
    padding-top: 40px !important;
    margin-bottom: 40px !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title),
  body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
    padding-top: var(--dxd-page-start-gap) !important;
  }

  body.dxd-visual-refresh .dxd-pdp-info {
    padding-top: 32px !important;
  }
}

@media (min-width: 1200px) {
  body.dxd-visual-refresh .dxd-page-title,
  body.dxd-visual-refresh .dxd-page-board-title,
  body.dxd-visual-refresh .dxd-prodlist-title,
  body.dxd-visual-refresh .dxd-search-title,
  body.dxd-visual-refresh .dxd-pdp-title,
  body.dxd-visual-refresh section > .container > .text-center:has(> h1) > h1,
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > h1 {
    font-size: 32px !important;
  }

  body.dxd-visual-refresh section > .container > .text-center:has(> h1),
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
  body.dxd-visual-refresh .dxd-product-list-heading {
    padding-top: 48px !important;
    margin-bottom: 44px !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title),
  body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
    padding-top: var(--dxd-page-start-gap) !important;
  }

  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-title) > .flex,
  body.dxd-visual-refresh .dxd-art-card > div:has(> .flex > .dxd-page-board-title) > .flex {
    margin-bottom: 32px !important;
  }

  body.dxd-visual-refresh .dxd-pdp-info {
    padding-top: 36px !important;
  }
}

@media (min-width: 1920px) {
  body.dxd-visual-refresh .dxd-page-title,
  body.dxd-visual-refresh .dxd-page-board-title,
  body.dxd-visual-refresh .dxd-prodlist-title,
  body.dxd-visual-refresh .dxd-search-title,
  body.dxd-visual-refresh .dxd-pdp-title,
  body.dxd-visual-refresh section > .container > .text-center:has(> h1) > h1,
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"] > h1 {
    font-size: 34px !important;
  }

  body.dxd-visual-refresh section > .container > .text-center:has(> h1),
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
  body.dxd-visual-refresh .dxd-product-list-heading {
    padding-top: 56px !important;
    margin-bottom: 48px !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title),
  body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
    padding-top: var(--dxd-page-start-gap) !important;
  }

  body.dxd-visual-refresh .dxd-pdp-info {
    padding-top: 40px !important;
  }
}

@media (min-width: 2480px) {
  body.dxd-visual-refresh section > .container > .text-center:has(> h1),
  body.dxd-visual-refresh .min-h-screen > div[class*="py-12"][class*="text-center"],
  body.dxd-visual-refresh .dxd-product-list-heading {
    padding-top: 64px !important;
    margin-bottom: 52px !important;
  }

  body.dxd-visual-refresh main.dxd-v1-main:has(.dxd-page-title, .dxd-page-board-title),
  body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title) {
    padding-top: var(--dxd-page-start-gap) !important;
  }

  body.dxd-visual-refresh .dxd-pdp-info {
    padding-top: 44px !important;
  }
}

/* 顶部导航避让与首页 Banner 分离：避免 95px 同时承担两种间距职责 */
body.dxd-v1-body {
  --dxd-header-height: 64px;
}

@media (max-width: 1023px) {
  body.dxd-v1-body {
    --dxd-header-height: 50px;
  }
}

/* 所有非首页内容统一从导航栏底部开始，标题留白由标题容器单独控制 */
body.dxd-v1-body main.dxd-v1-main {
  padding-top: var(--dxd-header-height) !important;
}

/* 首页首屏允许顶到视口顶部，但文字内容从导航栏下方开始布局 */
body.dxd-v1-body #banner {
  margin-top: calc(var(--dxd-header-height) * -1) !important;
  padding-top: var(--dxd-header-height) !important;
}

body.dxd-v1-body #banner .dxd-banner-shell {
  min-height: clamp(360px, 48vh, 560px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.dxd-v1-body .dxd-banner2 {
  margin-top: calc(var(--dxd-header-height) * -1) !important;
}

/* Banner2 使用绝对定位内容层，增加导航高度的内置偏移后，文字中心落在导航下方区域 */
body.dxd-v1-body .dxd-banner2-content {
  padding-top: var(--dxd-header-height) !important;
}

/* 文章详情页标题按 H2 层级显示，并配平标题区域上下留白 */
body.dxd-visual-refresh .dxd-article-h2-title {
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: -0.01em !important;
}

body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-article-h2-title) {
  padding-top: 24px !important;
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-article-h2-title {
    font-size: 1.5rem !important;
  }

  body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-article-h2-title) {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }
}

@media (min-width: 1200px) {
  body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-article-h2-title) {
    padding-top: 40px !important;
    padding-bottom: 28px !important;
  }
}

@media (min-width: 1920px) {
  body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-article-h2-title) {
    padding-top: 48px !important;
    padding-bottom: 32px !important;
  }
}

@media (min-width: 2480px) {
  body.dxd-visual-refresh .dxd-art-card > header:has(.dxd-article-h2-title) {
    padding-top: 56px !important;
    padding-bottom: 36px !important;
  }
}

/* 详情页与 page 正文图片：保持原始像素尺寸，容器变窄时才缩小，避免小图被放大模糊 */
body.dxd-visual-refresh .dxd-log-content img,
body.dxd-visual-refresh .dxd-page-content img,
body.dxd-visual-refresh .dxd-art-content img,
body.dxd-visual-refresh .dxd-v1-content img,
body.dxd-visual-refresh .dxd-editor-content img,
body.dxd-visual-refresh .dxd-rebuild-wrap img,
body.dxd-visual-refresh .dxd-prod-detail img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Detail/page covers keep their intrinsic pixel size and only shrink when the
 * available content width is smaller. The neutral area remains centered. */
body.dxd-visual-refresh .dxd-content-cover {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}

body.dxd-visual-refresh .dxd-content-cover-image {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: contain !important;
}

/* 详情页与 page 页横向留白：外层容器只负责页面边距，正文卡片负责内容内边距，避免双重缩进。 */
body.dxd-visual-refresh .dxd-article-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.dxd-visual-refresh .dxd-article-card,
body.dxd-visual-refresh .dxd-content-art-card > header,
body.dxd-visual-refresh .dxd-content-art-card > div {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* page 模板外层已有 16px，标题与编辑内容不再重复增加横向内边距。 */
body.dxd-visual-refresh .dxd-pg > div:has(> .dxd-page-title),
body.dxd-visual-refresh .dxd-pg > .dxd-editor-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 手机端 page 外沿统一采用 page/1 的 16px 基准，避免标题、正文与功能卡片使用不同页面边距。 */
@media (max-width: 767px) {
  body.dxd-visual-refresh .dxd-pg {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--dxd-page-gutter-mobile) !important;
    padding-right: var(--dxd-page-gutter-mobile) !important;
    box-sizing: border-box;
  }
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-content-art-card > header,
  body.dxd-visual-refresh .dxd-content-art-card > div,
  body.dxd-visual-refresh .dxd-article-card {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (min-width: 1200px) {
  body.dxd-visual-refresh .dxd-content-art-card > header,
  body.dxd-visual-refresh .dxd-content-art-card > div,
  body.dxd-visual-refresh .dxd-article-card {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

/* 产品详情页使用更紧凑但不贴边的响应式页面边距。 */
body.dxd-visual-refresh .dxd-pdp-wrap {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

@media (min-width: 768px) {
  body.dxd-visual-refresh .dxd-pdp-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media (min-width: 1200px) {
  body.dxd-visual-refresh .dxd-pdp-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* 首页六大定制品类：降低字重，避免小屏标题过深、过重。 */
body.dxd-visual-refresh .dxd-prodcat-title {
  font-weight: 400 !important;
}

@media (max-width: 767px) {
  body.dxd-visual-refresh .dxd-prodcat-title {
    color: #334155 !important;
  }
}

/* 成功案例与新闻动态的图片上滑标题：使用常规字重，保持淡灰背景下的轻量阅读感。 */
body.dxd-visual-refresh .dxd-case-overlay-inner .dxd-overlay-title,
body.dxd-visual-refresh .dxd-news-overlay-inner .dxd-overlay-title {
  font-weight: 400 !important;
}

/* 会员注册页：表单组件在窄屏下不得撑破视口。保留内容自然换行，避免仅用 hidden 掩盖布局问题。 */
body.dxd-member-register-page {
  overflow-x: clip;
}

body.dxd-member-register-page main,
body.dxd-member-register-page main > *,
body.dxd-member-register-page section,
body.dxd-member-register-page .container,
body.dxd-member-register-page form,
body.dxd-member-register-page fieldset,
body.dxd-member-register-page table {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

body.dxd-member-register-page form > *,
body.dxd-member-register-page fieldset > *,
body.dxd-member-register-page label,
body.dxd-member-register-page p,
body.dxd-member-register-page li {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.dxd-member-register-page input,
body.dxd-member-register-page select,
body.dxd-member-register-page textarea,
body.dxd-member-register-page button,
body.dxd-member-register-page img,
body.dxd-member-register-page iframe,
body.dxd-member-register-page video,
body.dxd-member-register-page embed,
body.dxd-member-register-page object {
  max-width: 100% !important;
  box-sizing: border-box;
}

body.dxd-member-register-page input:not([type="checkbox"]):not([type="radio"]),
body.dxd-member-register-page select,
body.dxd-member-register-page textarea {
  width: 100%;
}

body.dxd-member-register-page pre,
body.dxd-member-register-page code {
  max-width: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 767px) {
  body.dxd-member-register-page main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dxd-member-register-page .container,
  body.dxd-member-register-page form,
  body.dxd-member-register-page fieldset {
    width: 100% !important;
  }
}

/* 会员注册页第二层防溢出：固定宽度卡片可能位于表单内层，必须约束所有常见布局节点。 */
body.dxd-member-register-page,
body.dxd-member-register-page main {
  width: 100%;
  max-width: 100vw;
}

body.dxd-member-register-page main :where(
  div,
  section,
  article,
  aside,
  header,
  footer,
  nav,
  form,
  fieldset,
  ul,
  ol,
  li,
  table
) {
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 1199px) {
  body.dxd-member-register-page main :where(
    div,
    section,
    article,
    aside,
    form,
    fieldset,
    ul,
    ol,
    li,
    table
  ) {
    max-width: 100% !important;
  }

  body.dxd-member-register-page .dxd-list-container,
  body.dxd-member-register-page .dxd-list-container > article,
  body.dxd-member-register-page .dxd-list-container > article > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.dxd-member-register-page .dxd-list-container > article > a {
    overflow: hidden;
  }

  body.dxd-member-register-page .dxd-list-container > article > a > :last-child {
    min-width: 0 !important;
    overflow: hidden;
  }

  body.dxd-member-register-page .dxd-pagination {
    max-width: 100%;
    flex-wrap: nowrap;
  }
}

@media (max-width: 639px) {
  body.dxd-member-register-page .dxd-list-container > article > a {
    display: grid !important;
    grid-template-columns: minmax(96px, 112px) minmax(0, 1fr);
    align-items: stretch;
  }

  body.dxd-member-register-page .dxd-list-container .dxd-cat-img {
    width: 112px !important;
    max-width: 100% !important;
    height: 100px !important;
    min-height: 0 !important;
  }
}

/* 2026-08 visual polish: restrained typography, cards and controls. */
body.dxd-visual-refresh main.dxd-v1-main:has(> #banner) > section:not(#dxd-cta) h2,
body.dxd-visual-refresh .dxd-section-title {
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

body.dxd-visual-refresh .dxd-section-sub {
  max-width: 45rem;
  line-height: 1.75 !important;
  text-wrap: pretty;
}

body.dxd-visual-refresh .dxd-svc-title,
body.dxd-visual-refresh .dxd-card-title {
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.01em;
}

body.dxd-visual-refresh .dxd-cat-card,
body.dxd-visual-refresh .dxd-list-card,
body.dxd-visual-refresh .dxd-list-item,
body.dxd-visual-refresh #cases article.group,
body.dxd-visual-refresh #news .dxd-news-card,
body.dxd-visual-refresh article.group:has(.dxd-case-overlay-inner),
body.dxd-visual-refresh .dxd-news-card,
body.dxd-visual-refresh .dxd-pg-card,
body.dxd-visual-refresh .dxd-pg-review {
  border-color: #e5e7eb !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.045) !important;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease !important;
}

body.dxd-visual-refresh .dxd-cat-card:hover,
body.dxd-visual-refresh .dxd-list-card:hover,
body.dxd-visual-refresh .dxd-list-item:hover,
body.dxd-visual-refresh #cases article.group:hover,
body.dxd-visual-refresh #news .dxd-news-card:hover,
body.dxd-visual-refresh article.group:has(.dxd-case-overlay-inner):hover,
body.dxd-visual-refresh .dxd-news-card:hover,
body.dxd-visual-refresh .dxd-pg-cards > .dxd-pg-card:hover,
body.dxd-visual-refresh .dxd-pg-review:hover {
  transform: translateY(-2px) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07) !important;
}

/* Keep the confirmed exceptions visually quiet. */
body.dxd-visual-refresh .dxd-prodcat-card,
body.dxd-visual-refresh .dxd-prodcat-card > div:first-child,
body.dxd-visual-refresh #dxd-clients-grid > div,
body.dxd-visual-refresh .dxd-faq-item,
body.dxd-visual-refresh .dxd-article-card,
body.dxd-visual-refresh .dxd-art-card {
  box-shadow: none !important;
}

body.dxd-visual-refresh #dxd-clients-grid > div {
  border-radius: 0 !important;
}

body.dxd-visual-refresh .dxd-faq-item:hover,
body.dxd-visual-refresh #dxd-clients-grid > div:hover {
  transform: none !important;
  box-shadow: none !important;
}

body.dxd-visual-refresh .dxd-pg-submit,
body.dxd-visual-refresh .dxd-pdp-btn,
body.dxd-visual-refresh .dxd-pdp-btn-buy,
body.dxd-visual-refresh .dxd-pdp-extra-btn,
body.dxd-visual-refresh #dxd-lookup button[type="submit"],
body.dxd-visual-refresh #dxd-cta .dxd-cta-btn,
body.dxd-visual-refresh .dxd-pg-cta a {
  min-height: 46px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  font-weight: 500 !important;
}

body.dxd-visual-refresh #dxd-cta .dxd-cta-btn {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.14) !important;
}

body.dxd-visual-refresh #dxd-cta .dxd-cta-btn:hover {
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.18) !important;
}

body.dxd-visual-refresh .dxd-pg-card input:not([type="checkbox"]):not([type="radio"]),
body.dxd-visual-refresh .dxd-pg-card select,
body.dxd-visual-refresh #dxd-lookup input:not([type="checkbox"]):not([type="radio"]),
body.dxd-visual-refresh #dxd-lookup select {
  min-height: 44px;
}

body.dxd-visual-refresh :is(
  .dxd-pg-submit,
  .dxd-pdp-btn,
  .dxd-pdp-btn-buy,
  .dxd-pdp-extra-btn,
  .dxd-cta-btn,
  .dxd-pg-cta a
):focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.22) !important;
  outline-offset: 3px;
}

@media (hover: none), (pointer: coarse) {
  body.dxd-visual-refresh .dxd-cat-card:hover,
  body.dxd-visual-refresh .dxd-list-card:hover,
  body.dxd-visual-refresh .dxd-list-item:hover,
  body.dxd-visual-refresh #cases article.group:hover,
  body.dxd-visual-refresh #news .dxd-news-card:hover,
  body.dxd-visual-refresh article.group:has(.dxd-case-overlay-inner):hover,
  body.dxd-visual-refresh .dxd-news-card:hover,
  body.dxd-visual-refresh .dxd-pg-cards > .dxd-pg-card:hover,
  body.dxd-visual-refresh .dxd-pg-review:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dxd-visual-refresh .dxd-cat-card,
  body.dxd-visual-refresh .dxd-list-card,
  body.dxd-visual-refresh .dxd-list-item,
  body.dxd-visual-refresh #cases article.group,
  body.dxd-visual-refresh #news .dxd-news-card,
  body.dxd-visual-refresh article.group:has(.dxd-case-overlay-inner),
  body.dxd-visual-refresh .dxd-news-card,
  body.dxd-visual-refresh .dxd-pg-card,
  body.dxd-visual-refresh .dxd-pg-review,
  body.dxd-visual-refresh .dxd-pg-submit,
  body.dxd-visual-refresh .dxd-cta-btn {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Category list cards: compact shadow that falls only below the card. */
body.dxd-visual-refresh .dxd-category-list-card {
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease !important;
}

body.dxd-visual-refresh .dxd-category-list-card:focus-within {
  border-color: #bfdbfe !important;
  box-shadow: 0 7px 9px -8px rgba(15, 23, 42, 0.30) !important;
}

body.dxd-visual-refresh .dxd-product-title,
body.dxd-visual-refresh .dxd-product-price {
  transition: color 200ms ease, font-weight 200ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh .dxd-category-list-card:hover {
    transform: translateY(-2px) !important;
    border-color: #dbeafe !important;
    box-shadow: 0 8px 10px -9px rgba(15, 23, 42, 0.38) !important;
  }

  body.dxd-visual-refresh .dxd-product-card:hover .dxd-product-title {
    color: #1456f0 !important;
  }

  body.dxd-visual-refresh .dxd-product-card:hover .dxd-product-price {
    color: #e11d48 !important;
    font-weight: 700 !important;
  }
}

@media (hover: none), (pointer: coarse) {
  body.dxd-visual-refresh .dxd-category-list-card:hover {
    transform: none !important;
  }
}

/*
 * Unified page start baseline.
 * Regular pages, list templates, detail templates and header2 pages all use
 * one viewport-relative start: virtual header height + responsive page gap.
 * Banner/Banner2 retain their independent navigation-safe centering model.
 */
body.dxd-visual-refresh.dxd-v1-body,
body.dxd-visual-refresh.dxd-v2-body {
  --dxd-header-height: 64px;
  --dxd-page-shell-start: calc(var(--dxd-header-height) + var(--dxd-page-start-gap));
}

@media (max-width: 1023px) {
  body.dxd-visual-refresh.dxd-v1-body,
  body.dxd-visual-refresh.dxd-v2-body {
    --dxd-header-height: 50px;
  }
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) {
  padding-top: var(--dxd-page-shell-start) !important;
}

/*
 * style.css 曾为 header2 营销短页设置垂直居中并上移 200px。
 * echo_log_noheader 等正文详情页也会命中该规则，导致首个标题移出视口。
 * 普通内容页必须与 header 使用相同的文档流起点，禁止父级位移。
 */
body.dxd-visual-refresh.dxd-layout-header2 main.dxd-v2-main:not(:has(> #banner)):not(:has(.dxd-banner2)) {
  justify-content: flex-start !important;
  overflow-y: visible !important;
}

body.dxd-visual-refresh.dxd-layout-header2
  main.dxd-v2-main:not(:has(> #banner)):not(:has(.dxd-banner2))
  > :not(footer):not(script):not(style) {
  width: 100% !important;
  flex: 0 0 auto !important;
  transform: none !important;
}

/* Remove duplicated template-level top padding; main now owns page start. */
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) .dxd-pg,
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) .dxd-pg > div:has(> .dxd-page-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  section > .container > .text-center:has(> h1),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .min-h-screen > div[class*="py-12"][class*="text-center"],
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) .dxd-product-list-heading,
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-art-card > div:has(> .flex > .dxd-page-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-art-card > div:has(> .flex > .dxd-page-board-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-article-card > header:has(.dxd-page-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-art-card > header:has(.dxd-page-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-art-card > header:has(.dxd-article-h2-title),
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) .dxd-pdp {
  padding-top: 0 !important;
}

/* Product title aligns to the same baseline as every other page title. */
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(.dxd-banner2)) .dxd-pdp-info,
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(.dxd-banner2)) .dxd-pdp-gallery {
  padding-top: 0 !important;
}

/* Pass 2: remove the last template-specific title offset. */
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2)) > :first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-article-card:has(> header .dxd-page-title) {
  padding-top: 0 !important;
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  :is(.dxd-article-card, .dxd-art-card) > :is(header, div):has(.dxd-page-title, .dxd-page-board-title) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  :is(.dxd-page-title, .dxd-page-board-title, .dxd-prodlist-title, .dxd-search-title, .dxd-pdp-title) {
  margin-top: 0 !important;
}

/* Explicit shared anchor used by page_*, echo_log* and log_list_* templates. */
body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-page-heading-anchor {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  :is(.dxd-article-card, .dxd-art-card):has(.dxd-page-heading-anchor) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.dxd-visual-refresh:is(.dxd-v1-body, .dxd-v2-body)
  main:is(.dxd-v1-main, .dxd-v2-main):not(:has(> #banner)):not(:has(.dxd-banner2))
  .dxd-page-heading-anchor :is(h1, h2, h3.dxd-prodlist-title) {
  margin-top: 0 !important;
}

/*
 * Card media uses its intrinsic pixel size whenever possible. The frame owns
 * the stable card geometry; small images are never stretched to fill it and
 * large images shrink proportionally inside it.
 */
body.dxd-visual-refresh .dxd-natural-media-frame {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

body.dxd-visual-refresh .dxd-natural-media-frame > img.dxd-natural-media {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  flex: 0 0 auto;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  transform: none !important;
}

body.dxd-visual-refresh .dxd-natural-media-frame:hover > img.dxd-natural-media {
  transform: none !important;
}

@media (min-width: 640px) {
  body.dxd-visual-refresh a.dxd-news-desk.dxd-natural-media-frame {
    display: grid !important;
  }
}

/*
 * Single-column cards must follow their shared shell, never their title's
 * min-content width. This also stabilizes one-column search/news layouts.
 */
body.dxd-visual-refresh .dxd-list-page-shell {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.dxd-visual-refresh .dxd-list-container {
  align-self: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 860px !important;
  box-sizing: border-box !important;
}

body.dxd-visual-refresh .dxd-list-container > .dxd-list-item,
body.dxd-visual-refresh .dxd-list-container > .dxd-list-item > .dxd-list-link,
body.dxd-visual-refresh .dxd-search-grid > article,
body.dxd-visual-refresh .dxd-news-grid > article,
body.dxd-visual-refresh .dxd-news-grid > article > .dxd-news-mob,
body.dxd-visual-refresh .dxd-news-grid > article > .dxd-news-desk {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.dxd-visual-refresh .dxd-search-grid,
body.dxd-visual-refresh .dxd-news-grid {
  width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

body.dxd-visual-refresh .dxd-search-grid > article,
body.dxd-visual-refresh .dxd-news-grid > article {
  justify-self: stretch !important;
  align-self: stretch !important;
}

@media (max-width: 639px) {
  body.dxd-visual-refresh .dxd-search-grid,
  body.dxd-visual-refresh .dxd-news-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

body.dxd-visual-refresh .dxd-list-content,
body.dxd-visual-refresh .dxd-news-text,
body.dxd-visual-refresh .dxd-search-grid > article > :last-child {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
  box-sizing: border-box !important;
}

/* Single-column list media: true two-axis centering and a square inner edge. */
body.dxd-visual-refresh .dxd-list-container .dxd-list-link > .dxd-cat-img.dxd-natural-media-frame {
  display: grid !important;
  place-items: center !important;
  border-radius: 8px 0 0 8px !important;
}

body.dxd-visual-refresh .dxd-list-container .dxd-list-link > .dxd-cat-img.dxd-natural-media-frame > img.dxd-natural-media {
  place-self: center !important;
  margin: auto !important;
}

/* Standalone client list: card lift and shadow; homepage logo wall stays quiet. */
body.dxd-visual-refresh #dxd-clients-grid.dxd-clients-grid--standalone > div {
  transition: transform 220ms ease, box-shadow 220ms ease !important;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh #dxd-clients-grid.dxd-clients-grid--standalone > div:hover {
    transform: translateY(-2px) !important;
    box-shadow: none !important;
  }
}

@media (hover: none), (pointer: coarse) {
  body.dxd-visual-refresh #dxd-clients-grid.dxd-clients-grid--standalone > div:hover {
    transform: none !important;
    box-shadow: none !important;
  }
}

/*
 * Image + text card media policy:
 * - JS adds .dxd-media-can-cover only when the source has enough intrinsic
 *   pixels to cover the current frame without enlargement.
 * - large images fill and crop from center; small images remain 1:1 or shrink.
 */
body.dxd-visual-refresh .dxd-content-media-frame {
  display: grid !important;
  place-items: center !important;
}

body.dxd-visual-refresh .dxd-content-media-frame > img.dxd-natural-media {
  place-self: center !important;
  margin: auto !important;
  transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.dxd-visual-refresh .dxd-content-media-frame.dxd-media-can-cover > img.dxd-natural-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Shared hover restoration for clickable cards. */
body.dxd-visual-refresh .dxd-hover-card,
body.dxd-visual-refresh .dxd-product-card {
  transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease !important;
}

body.dxd-visual-refresh .dxd-hover-card:focus-within,
body.dxd-visual-refresh .dxd-product-card:focus-within {
  border-color: #bfdbfe !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.09) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh .dxd-hover-card:hover,
  body.dxd-visual-refresh .dxd-product-card:hover,
  body.dxd-visual-refresh #service a > .dxd-hover-card:hover {
    transform: translateY(-4px) !important;
    border-color: #bfdbfe !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.11) !important;
  }

  body.dxd-visual-refresh .dxd-hover-card:hover .dxd-content-media-frame.dxd-media-can-cover > img.dxd-natural-media,
  body.dxd-visual-refresh .dxd-product-card:hover .dxd-content-media-frame.dxd-media-can-cover > img.dxd-natural-media,
  body.dxd-visual-refresh .dxd-prodcat-card:hover .dxd-content-media-frame.dxd-media-can-cover > img.dxd-natural-media {
    transform: scale(1.035) !important;
  }

  body.dxd-visual-refresh :is(
    .dxd-action-btn,
    .dxd-pg-submit,
    .dxd-pdp-btn-buy,
    .dxd-pdp-extra-btn,
    .dxd-secondary-cta
  ):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.20) !important;
  }

  body.dxd-visual-refresh .dxd-secondary-cta:hover {
    color: #1456f0 !important;
    border-color: #3b82f6 !important;
    background: #f8fafc !important;
  }

  body.dxd-visual-refresh .dxd-svc-tab:hover {
    filter: brightness(0.98);
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.16) !important;
  }
}

body.dxd-visual-refresh :is(
  .dxd-action-btn,
  .dxd-pg-submit,
  .dxd-pdp-btn-buy,
  .dxd-pdp-extra-btn,
  .dxd-secondary-cta,
  .dxd-svc-tab
) {
  transition: transform 200ms ease, color 200ms ease, background-color 200ms ease,
    border-color 200ms ease, box-shadow 200ms ease, filter 200ms ease !important;
}

body.dxd-visual-refresh :is(
  .dxd-action-btn,
  .dxd-secondary-cta,
  .dxd-svc-tab
):focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.22) !important;
  outline-offset: 3px;
}

@media (hover: none), (pointer: coarse) {
  body.dxd-visual-refresh .dxd-hover-card:hover,
  body.dxd-visual-refresh .dxd-product-card:hover,
  body.dxd-visual-refresh #service a > .dxd-hover-card:hover,
  body.dxd-visual-refresh :is(
    .dxd-action-btn,
    .dxd-pg-submit,
    .dxd-pdp-btn-buy,
    .dxd-pdp-extra-btn,
    .dxd-secondary-cta
  ):hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dxd-visual-refresh .dxd-hover-card,
  body.dxd-visual-refresh .dxd-product-card,
  body.dxd-visual-refresh .dxd-content-media-frame > img.dxd-natural-media,
  body.dxd-visual-refresh :is(.dxd-action-btn, .dxd-secondary-cta, .dxd-svc-tab) {
    transition-duration: 0.01ms !important;
  }
}

/* Final category-card override: narrow shadow below only. */
body.dxd-visual-refresh .dxd-hover-card.dxd-category-list-card:focus-within {
  border-color: #dbeafe !important;
  box-shadow: inset 0 -5px 7px -7px rgba(15, 23, 42, 0.34) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh .dxd-hover-card.dxd-category-list-card:hover,
  body.dxd-visual-refresh #cases article.dxd-hover-card.dxd-category-list-card:hover,
  body.dxd-visual-refresh #news article.dxd-hover-card.dxd-category-list-card:hover {
    transform: translateY(-2px) !important;
    border-color: #dbeafe !important;
    box-shadow: inset 0 -6px 8px -7px rgba(15, 23, 42, 0.38) !important;
  }
}

/* Standalone client cards match news cards' subtle media zoom. */
@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh #dxd-clients-grid.dxd-clients-grid--standalone > div:hover > img.dxd-natural-media {
    transform: scale(1.05) !important;
  }
}

/* After-sales controls: one blue-violet system based on the file picker. */
body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab,
body.dxd-visual-refresh .dxd-pg .dxd-svc-tab {
  color: #66709a !important;
  font-weight: 500 !important;
  background-color: #f6f8ff !important;
  background-image: none !important;
  border: 1px solid #3b82f6 !important;
  filter: none !important;
  box-shadow: 0 1px 3px rgba(76, 78, 139, 0.04) !important;
}

/* Service Page form controls match the homepage after-sales form exactly. */
body.dxd-visual-refresh .dxd-service-page .dxd-pg-card :is(
  input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
) {
  color: #1c1c1b !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  background-color: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 10px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease !important;
}

body.dxd-visual-refresh .dxd-service-page .dxd-pg-card :is(
  input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus {
  background-color: #ffffff !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.10) !important;
}

body.dxd-visual-refresh .dxd-service-page .dxd-pg-card :is(
  input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus-visible {
  outline: none !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.10) !important;
}

/* Empty required selects visually match input placeholder text. */
body.dxd-visual-refresh .dxd-service-page .dxd-pg-card select:required:invalid {
  color: #9ca3af !important;
}

body.dxd-visual-refresh .dxd-service-page .dxd-pg-card select option {
  color: #1c1c1b !important;
  font-weight: 400 !important;
}

/* Query labels follow the submit form rhythm; upload-to-submit gets a clearer pause. */
body.dxd-visual-refresh .dxd-service-page .dxd-service-query-form {
  gap: 0 !important;
}

body.dxd-visual-refresh .dxd-service-page .dxd-pg-card form > .dxd-pg-submit {
  margin-top: 20px !important;
}

body.dxd-visual-refresh #dxd-lookup form > div:has(> label[for="dxd-file-input"]) + input[type="hidden"] + input[type="hidden"] + button[type="submit"] {
  margin-top: 6px !important;
}

body.dxd-visual-refresh #dxd-lookup :is(
  input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus,
body.dxd-visual-refresh #dxd-lookup :is(
  input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus-visible {
  outline: none !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14) !important;
}

body.dxd-visual-refresh #dxd-tab-apply.dxd-svc-tab {
  border-radius: 10px !important;
}

body.dxd-visual-refresh #dxd-tab-query.dxd-svc-tab {
  border-radius: 10px !important;
}

body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab.is-active,
body.dxd-visual-refresh .dxd-pg .dxd-svc-tab.is-active {
  color: #ffffff !important;
  font-weight: 550 !important;
  background-color: #6366f1 !important;
  background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
  border-color: #7076e9 !important;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.18) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab:hover,
  body.dxd-visual-refresh .dxd-pg .dxd-svc-tab:hover {
    color: #ffffff !important;
    font-weight: 550 !important;
    background-color: #6366f1 !important;
    background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border-color: #7076e9 !important;
    filter: none !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.10),
      0 4px 11px rgba(59, 130, 246, 0.18) !important;
  }

  body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab.is-active:hover,
  body.dxd-visual-refresh .dxd-pg .dxd-svc-tab.is-active:hover {
    color: #ffffff !important;
    background-color: #6366f1 !important;
    background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border-color: #7076e9 !important;
    box-shadow: 0 7px 18px rgba(99, 102, 241, 0.22) !important;
  }
}

body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab:focus-visible,
body.dxd-visual-refresh .dxd-pg .dxd-svc-tab:focus-visible {
  color: #ffffff !important;
  font-weight: 550 !important;
  background-color: #6366f1 !important;
  background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
  border-color: #7076e9 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.10),
    0 0 0 3px rgba(59, 130, 246, 0.14) !important;
}

body.dxd-visual-refresh #dxd-lookup .dxd-svc-tab.is-active:focus-visible,
body.dxd-visual-refresh .dxd-pg .dxd-svc-tab.is-active:focus-visible {
  color: #ffffff !important;
  background-color: #6366f1 !important;
  background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
  border-color: #7076e9 !important;
  box-shadow:
    0 6px 16px rgba(99, 102, 241, 0.18),
    0 0 0 3px rgba(99, 102, 241, 0.17) !important;
}

/* Homepage and Page service actions share the exact file-picker gradient. */
body.dxd-visual-refresh #dxd-lookup button[type="submit"],
body.dxd-visual-refresh #dxd-lookup label[style*="linear-gradient"],
body.dxd-visual-refresh .dxd-pg .dxd-pg-submit,
body.dxd-visual-refresh .dxd-pg .dxd-pg-upload label,
body.dxd-visual-refresh .dxd-pg .dxd-pg-card label[style*="linear-gradient"] {
  color: #ffffff !important;
  background-color: #6366f1 !important;
  background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
  border: 1px solid #7076e9 !important;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.18) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.dxd-visual-refresh #dxd-lookup button[type="submit"]:hover,
  body.dxd-visual-refresh #dxd-lookup label[style*="linear-gradient"]:hover,
  body.dxd-visual-refresh .dxd-pg .dxd-pg-submit:hover,
  body.dxd-visual-refresh .dxd-pg .dxd-pg-upload label:hover,
  body.dxd-visual-refresh .dxd-pg .dxd-pg-card label[style*="linear-gradient"]:hover {
    background-color: #6366f1 !important;
    background-image: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    border-color: #7076e9 !important;
    filter: brightness(1.025) !important;
    box-shadow: 0 8px 19px rgba(99, 102, 241, 0.23) !important;
  }
}
