/**
 * Elementor 原生组件适配层:pcx-* 区块在 Elementor 标记结构上复现主题设计。
 * 颜色/字体沿用 style.css 的 :root 设计变量。
 */

/* ===== 基础容器 ===== */
.pcx { padding: 88px 0; }
.pcx > .elementor-container { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.pcx .elementor-widget-wrap { padding: 0; }
.pcx-soft { background: var(--c-bg-soft); }
.pcx-passthrough { padding: 0; }
.pcx-passthrough > .elementor-container { max-width: none; padding: 0; }

/* 首页服务区块会把标题拆成 Elementor 组件，余下内容保持原主题标记。
 * 单独恢复版心并限制三列最小宽度，避免透传区块把内容推出视口。 */
.pcx-home-services { padding: 88px 0; overflow-x: clip; }
.pcx-home-services > .elementor-container { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.pcx-home-services > .elementor-container > .elementor-column,
.pcx-home-services .elementor-widget-wrap,
.pcx-home-services .elementor-widget-text-editor,
.pcx-home-services .elementor-widget-container,
.pcx-home-services .svc-panel-grid > * { min-width: 0; }
.pcx-home-services .svc-panel-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.1fr); }
.pcx-home-services .svc-panel-grid img { display: block; width: 100%; max-width: 420px; height: auto; }

/* 列间距 */
.pcx > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 20px; }
.pcx > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap { padding-left: 0; }
.pcx > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap { padding-right: 0; }

/* ===== 标题/正文 ===== */
.pcx .elementor-widget-heading h1,
.pcx .elementor-widget-heading h2,
.pcx .elementor-widget-heading h3 { color: var(--c-ink); font-weight: 500; line-height: 1.2; }
.pcx .elementor-widget-heading h1 { font-size: 50px; letter-spacing: -1px; line-height: 1.15; }
.pcx .elementor-widget-heading h2 { font-size: 32px; margin-bottom: 14px; }
.pcx .elementor-widget-heading h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.pcx .elementor-widget-text-editor { color: var(--c-body); font-size: 16.5px; }
.pcx .elementor-widget-text-editor p { margin-bottom: 12px; }
.pcx .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

.pcx-sec-title h2 { text-align: center; font-size: 40px !important; font-weight: 500; letter-spacing: -0.5px; }
.pcx-sec-title h2::after { content: ""; display: block; width: 54px; height: 3px; background: #a8b400; margin: 16px auto 0; }
.pcx-sec-intro { text-align: center; max-width: 780px; margin: 14px auto 0 !important; color: var(--c-muted); font-size: 17px; }
.pcx-cards-head { padding-bottom: 24px; }
.pcx-cards-head + .pcx-cards { padding-top: 0; }

/* ===== 按钮 ===== */
.pcx-btn { display: inline-block; margin: 18px 16px 0 0; }
.pcx-btn .elementor-button { border-radius: 6px; font-weight: 500; font-size: 16px; padding: 15px 30px; transition: background .18s, color .18s; }
.pcx-btn--primary .elementor-button { background: var(--c-primary); color: #fff; }
.pcx-btn--primary .elementor-button:hover { background: var(--c-primary-dark); }
.pcx-btn--tint .elementor-button { background: var(--c-btn-tint); color: var(--c-primary-dark); }
.pcx-btn--tint .elementor-button:hover { background: #c3e2f8; }
.pcx-btn--light .elementor-button { background: #fff; color: var(--c-ink); }
.pcx-btn--light .elementor-button:hover { background: var(--c-btn-tint); color: var(--c-primary-dark); }
.pcx-btn--ghost .elementor-button { background: transparent; border: 2px solid rgba(255,255,255,.75); color: #fff; padding: 13px 28px; }
.pcx-btn--ghost .elementor-button:hover { background: rgba(255,255,255,.12); }
.pcx-btn--arrow { margin-top: 8px; }
.pcx-btn--arrow .elementor-button { background: none; padding: 0; color: var(--c-primary); font-weight: 500; font-size: 16px; }
.pcx-btn--arrow .elementor-button::after { content: " →"; transition: transform .18s; display: inline-block; margin-left: 6px; }
.pcx-btn--arrow .elementor-button:hover::after { transform: translateX(4px); }

/* ===== Hero ===== */
.pcx-hero { padding: 80px 0 72px; }
.pcx-hero--light { background: var(--c-bg-soft); }
.pcx-hero--brand { background: linear-gradient(100deg, var(--c-primary-dark), var(--c-primary)); }
.pcx-hero--dark { background: linear-gradient(100deg, #0a0e14, #1a2330 70%, #10161f); }
.pcx-hero--brand .elementor-widget-heading h1, .pcx-hero--dark .elementor-widget-heading h1 { color: #fff; }
.pcx-hero--brand .pcx-lede, .pcx-hero--brand .pcx-lede p { color: #dcecfa; }
.pcx-hero--dark .pcx-lede, .pcx-hero--dark .pcx-lede p { color: #c3cbd8; }
.pcx-hero .pcx-lede { margin-top: 22px; font-size: 18.5px; max-width: 680px; }
.pcx-hero > .elementor-container { align-items: center; }
.pcx-cert { margin-top: 44px !important; }
.pcx-cert .pcx-cert-link a { text-decoration: underline; font-weight: 500; font-size: 17px; }
.pcx-cert .pcx-cert-line { color: var(--c-body); font-size: 16.5px; margin-top: 6px; }
.pcx-hero--dark .pcx-cert-link a { color: #7cc4f8; }
.pcx-hero--dark .pcx-cert-line { color: #aeb6c4; }
.pcx-hero--brand .pcx-cert-link a { color: #dcecfa; }
.pcx-hero--brand .pcx-cert-line { color: #c8dff5; }

/* ===== 媒体占位 ===== */
.pcx-media img { width: 100%; height: auto; border-radius: 8px; background: #c3ccd8; border: 1px dashed #9aa5b3; min-height: 240px; object-fit: cover; }
.pcx-media .video-ph { position: relative; aspect-ratio: 16/9; border-radius: 8px; background: linear-gradient(120deg, #101b2c, #1d3350 60%, #12233b); display: flex; align-items: center; justify-content: center; }

/* ===== Split ===== */
.pcx-split > .elementor-container { align-items: center; }
.pcx-split .elementor-column > .elementor-widget-wrap { padding: 0 32px; }
.pcx-split .elementor-column:first-child > .elementor-widget-wrap { padding-left: 0; }
.pcx-split .elementor-column:last-child > .elementor-widget-wrap { padding-right: 0; }
.pcx-bullets { margin-top: 14px; }
.pcx-bullets .elementor-icon-list-icon { display: none; }
.pcx-bullets .elementor-icon-list-item { padding: 4px 0 4px 22px; position: relative; color: var(--c-body); }
.pcx-bullets .elementor-icon-list-item::before { content: "•"; position: absolute; left: 4px; color: var(--c-ink); }

/* ===== 卡片 ===== */
.pcx-cards { padding-top: 0; padding-bottom: 28px; }
.pcx-cards:last-child, .pcx-cards + :not(.pcx-cards) { padding-bottom: 88px; }
.pcx-cards > .elementor-container { align-items: stretch; gap: 28px; }
.pcx-cards .elementor-column { border-radius: 8px; overflow: hidden; }
.pcx-cards--media .elementor-column, .pcx-cards--tcard .elementor-column { background: #fff; box-shadow: 0 2px 10px rgba(20,35,60,.08); }
.pcx-soft.pcx-cards--text .elementor-column { background: #fff; }
.pcx-cards--text .elementor-column { background: var(--c-bg-soft); }
.pcx-cards .elementor-column > .elementor-widget-wrap { padding: 0 0 22px; display: flex; flex-direction: column; }
.pcx-cards--text .elementor-column > .elementor-widget-wrap, .pcx-cards--tcard .elementor-column > .elementor-widget-wrap { padding: 26px 24px 22px; }
.pcx-card-img { margin-bottom: 4px; }
.pcx-card-img img { border-radius: 0; min-height: 200px; aspect-ratio: 1.6; }
.pcx-cards--media .pcx-card-title, .pcx-cards--media .pcx-card-text, .pcx-cards--media .pcx-btn { margin-left: 24px; margin-right: 24px; }
.pcx-card-title { margin-top: 18px; }
.pcx-card-title h3 { font-size: 20px; font-weight: 500; line-height: 1.35; }
.pcx-cards--tcard .pcx-card-title h3 { font-weight: 700; text-align: center; }
.pcx-card-text { font-size: 15px; flex: 1; }
.pcx-cards--tcard .pcx-btn { text-align: center; }
.pcx-cards--tcard .pcx-btn .elementor-button { width: 80%; padding: 12px 18px; font-size: 15px; }
.pcx-cards .pcx-btn { margin-top: auto; padding-top: 14px; }

/* ===== 勾选清单 ===== */
.pcx-checklist-sec .pcx-sec-title h2, .pcx-checklist-sec .pcx-sec-intro { text-align: center; }
.pcx-checklist { max-width: 900px; margin: 24px auto 0; }
.pcx-checklist .elementor-icon-list-items { columns: 2; column-gap: 48px; }
.pcx-checklist .elementor-icon-list-item { break-inside: avoid; padding: 10px 0; color: var(--c-body); font-size: 16.5px; display: flex; align-items: flex-start; gap: 12px; }
.pcx-checklist .elementor-icon-list-icon { width: 22px; height: 22px; border-radius: 50%; background: var(--c-btn-tint); color: var(--c-primary-dark); font-size: 11px; display: flex; align-items: center; justify-content: center; flex: none; margin-top: 2px; }
.pcx-checklist .elementor-icon-list-icon svg { width: 11px; fill: var(--c-primary-dark); }

/* ===== FAQ 手风琴 ===== */
.pcx-faq .pcx-sec-title h2 { text-align: center; }
.pcx-accordion { max-width: 900px; margin: 24px auto 0; }
.pcx-accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid var(--c-line); }
.pcx-accordion .elementor-tab-title { padding: 20px 8px; font-size: 20px; font-weight: 500; color: var(--c-ink); }
.pcx-accordion .elementor-tab-title .elementor-accordion-icon { color: var(--c-primary); }
.pcx-accordion .elementor-tab-content { border: 0; padding: 0 8px 26px; color: var(--c-body); }

/* ===== CTA ===== */
.pcx-cta { padding: 48px 0; border-top: 1px solid var(--c-line); background: var(--c-bg-soft); }
.pcx-cta--light > .elementor-container { align-items: center; }
.pcx-cta--light .pcx-cta-line { font-size: 19px; font-weight: 500; color: var(--c-ink); margin: 0; }
.pcx-cta--light .pcx-btn { margin-top: 0; float: right; }
.pcx-cta--center { text-align: center; }
.pcx-cta--center .pcx-cta-title h2 { font-size: 26px; margin-bottom: 8px; }
.pcx-cta--dark { background: #14171e; text-align: center; border: 0; padding: 44px 0; }

/* ===== 统计条 ===== */
.pcx-stats { padding: 44px 0; border-bottom: 1px solid var(--c-line); }
.pcx-stats .elementor-column > .elementor-widget-wrap { text-align: center; }
.pcx-stat-num h3 { font-size: 40px !important; font-weight: 700 !important; color: var(--c-primary) !important; line-height: 1.1; }
.pcx-stat-label { color: var(--c-muted); font-size: 15.5px; }

/* ===== 证言 ===== */
.pcx-testimonial { padding: 72px 0; }
.pcx-quote .elementor-testimonial-content { font-size: 26px; font-weight: 500; color: var(--c-ink); line-height: 1.5; text-align: left; }
.pcx-quote .elementor-testimonial-name { color: var(--c-muted); font-weight: 400; font-size: 15.5px; }
.pcx-quote .elementor-testimonial-meta { text-align: left; margin-top: 16px; }

/* ===== PRO Tip ===== */
.pcx-protip-sec { padding: 32px 0; }
.pcx-protip { background: var(--c-btn-tint); border-left: 4px solid var(--c-primary); border-radius: 6px; padding: 22px 28px; max-width: 900px; margin: 0 auto; }
.pcx-protip b { color: var(--c-primary-dark); }

/* ===== 锚点条 ===== */
.pcx-anchors-sec { padding: 16px 0; border-bottom: 1px solid var(--c-line); }
.pcx-anchors .elementor-icon-list-items { display: flex; gap: 32px; flex-wrap: wrap; }
.pcx-anchors .elementor-icon-list-item { color: var(--c-primary); font-weight: 500; display: flex; align-items: center; gap: 8px; flex-direction: row-reverse; }
.pcx-anchors .elementor-icon-list-icon { color: var(--c-primary); font-size: 13px; }
.pcx-anchors .elementor-icon-list-icon svg { width: 13px; fill: var(--c-primary); }

/* ===== Logo 墙 ===== */
.pcx-logowall { padding: 40px 0; background: var(--c-bg-soft); border-bottom: 1px solid var(--c-line); }
.pcx-logowall > .elementor-container { align-items: center; }
.pcx-logo-label { color: var(--c-muted); font-size: 16px; line-height: 1.4; }
.pcx-logo-row { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; margin: 0 !important; }

/* ===== 表格(text-editor 可视编辑) ===== */
.pcx-table-sec { padding: 72px 0; }
.pcx-table .elementor-widget-container { overflow-x: auto; }
.pcx-table .elementor-widget-container table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pcx-table .elementor-widget-container thead th { background: var(--c-bg-soft); font-weight: 700; text-align: left; padding: 14px 18px; color: var(--c-ink); border-bottom: 2px solid var(--c-line); }
.pcx-table .elementor-widget-container tbody th { font-weight: 500; text-align: left; padding: 12px 18px; color: var(--c-ink); border-bottom: 1px solid var(--c-line); }
.pcx-table .elementor-widget-container td { padding: 12px 18px; border-bottom: 1px solid var(--c-line); color: var(--c-body); }
.pcx-table .elementor-widget-container tbody tr:nth-child(even) { background: var(--c-bg-soft); }

/* ===== Copy 文案块 ===== */
.pcx-copy { padding: 72px 0; }
.pcx-copy-intro { color: var(--c-muted); font-size: 17px; margin-bottom: 28px !important; }

/* ===== Dark Review ===== */
.pcx-dark-review { background: linear-gradient(100deg, #0a0e14, #1a2330 70%, #10161f); padding: 72px 0; }
.pcx-dark-review .pcx-dr-title h2 { color: #fff; }
.pcx-dark-review .pcx-dr-text { color: #c3cbd8; }
.pcx-dark-review .pcx-dr-list .elementor-icon-list-item { color: #c3cbd8; }
.pcx-dark-review .pcx-dr-list .elementor-icon-list-icon { color: #7cc4f8; }
.pcx-dark-review .pcx-dr-list .elementor-icon-list-icon svg { fill: #7cc4f8; }

/* ===== Plastic Quote ===== */
.pcx-plastic-quote { padding: 56px 0; background: var(--c-bg-soft); }

/* ===== 侧栏布局(plastic_intro / family_intro / side_menu / sheet_guide / article_aside) ===== */
.pcx-sidebar-layout { padding: 72px 0; }
.pcx-sidebar-layout > .elementor-container { align-items: flex-start; }
.pcx-sidenav-title h2, .pcx-sidenav-title h3 { font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .5px; color: var(--c-muted) !important; margin-bottom: 12px !important; }
.pcx-sidenav .elementor-icon-list-items { display: flex; flex-direction: column; gap: 0; }
.pcx-sidenav .elementor-icon-list-item { padding: 10px 0; border-bottom: 1px solid var(--c-line); color: var(--c-primary); font-weight: 500; font-size: 15px; }
.pcx-sidenav .elementor-icon-list-icon { display: none; }

/* ===== Guide Band ===== */
.pcx-guide-band { background: var(--c-bg-soft); padding: 44px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.pcx-guide-band > .elementor-container { align-items: center; }
.pcx-guide-img img { border-radius: 6px; min-height: 140px; }
.pcx-guide-title h3 { font-size: 19px !important; }

/* ===== Lead Form ===== */
.pcx-lead-sec { padding: 72px 0; }

/* ===== Media Table ===== */
.pcx-media-table > .elementor-container { align-items: center; }

/* ===== Color Grid ===== */
.pcx-color-sec { padding: 40px 0; }
.pcx-color-title h3 { font-size: 20px !important; font-weight: 700 !important; margin-bottom: 18px !important; }

/* ===== Filter Grid ===== */
.pcx-filter-sec { padding: 40px 0; }
.pcx-fg-group-title { margin-top: 20px !important; }
.pcx-fg-group-title h3 { font-size: 20px !important; font-weight: 700 !important; }

/* ===== Feed(文章列表) ===== */
.pcx-feed-item { padding: 26px 0; border-bottom: 1px solid var(--c-line); }
.pcx-feed-item > .elementor-container { align-items: center; }
.pcx-feed-thumb img { border-radius: 6px; min-height: 120px; aspect-ratio: 1.6; }
.pcx-feed-title h3 { font-size: 21px !important; font-weight: 500 !important; }
.pcx-feed-body .pcx-feed-meta { color: var(--c-muted) !important; font-size: 14px !important; }
.pcx-feed-more { padding: 28px 0; text-align: center; }

/* ===== Material Tabs ===== */
.pcx-material-tabs-sec { padding: 72px 0; }
.pcx-material-tabs .elementor-tab-title { font-size: 16px; font-weight: 500; padding: 14px 20px; }
.pcx-material-tabs .elementor-tab-title.elementor-active { color: var(--c-primary); border-bottom-color: var(--c-primary); }
.pcx-material-tabs .elementor-tab-content { padding: 28px 20px; }

/* ===== Mat Groups ===== */
.pcx-mat-groups { padding: 72px 0; }
.pcx-mg-title { margin-top: 22px !important; }
.pcx-mg-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 0; }
.pcx-mg-list .elementor-icon-list-item { width: 50%; padding: 6px 0; }
.pcx-mg-list .elementor-icon-list-icon { display: none; }
.pcx-mg-list .elementor-icon-list-item::before { content: "\2022"; margin-right: 8px; color: var(--c-muted); }

/* ===== Sheet Guide ===== */
.pcx-sheet-guide .pcx-sg-lede { font-size: 18px; color: var(--c-body); }
.pcx-sg-table .elementor-widget-container { overflow-x: auto; }
.pcx-sg-table .elementor-widget-container table { width: 100%; border-collapse: collapse; }
.pcx-sg-table .elementor-widget-container th { text-align: left; padding: 10px 14px; font-weight: 500; color: var(--c-ink); border-bottom: 1px solid var(--c-line); background: var(--c-bg-soft); }
.pcx-sg-table .elementor-widget-container td { padding: 10px 14px; border-bottom: 1px solid var(--c-line); }

/* ===== Article Aside ===== */
.pcx-article-aside .pcx-aside-title h2 { font-size: 18px !important; font-weight: 700 !important; }
.pcx-aside-list .elementor-icon-list-icon { display: none; }
.pcx-aside-list .elementor-icon-list-item { padding: 6px 0; font-size: 15px; }
.pcx-aside-list .elementor-icon-list-item::before { content: "\2022"; margin-right: 8px; color: var(--c-muted); }

/* ===== Video Band ===== */
.pcx-video-sec { padding: 0; }

/* ===== 响应式 ===== */
@media (max-width: 1024px) {
	.pcx > .elementor-container { padding: 0 24px; }
	.pcx .elementor-widget-heading h1 { font-size: 38px; }
	.pcx-checklist .elementor-icon-list-items { columns: 1; }
}
@media (max-width: 767px) {
	.pcx { padding: 56px 0; }
	.pcx-split .elementor-column > .elementor-widget-wrap,
	.pcx > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 8px 0; }
	.pcx-hero > .elementor-container { display: flex; flex-direction: column-reverse; }
	.pcx .elementor-widget-heading h1 { font-size: 32px; }
	.pcx-btn { display: block; margin-right: 0; }
	.pcx-btn .elementor-button { width: 100%; text-align: center; }
	.pcx-btn--arrow .elementor-button { width: auto; }
	.pcx-cards > .elementor-container { gap: 20px; }
	.pcx-cta--light .pcx-btn { float: none; }
	.pcx-logo-row { justify-content: flex-start; }
	.pcx-sidebar-layout > .elementor-container { flex-direction: column; }
	.pcx-sidebar-layout .elementor-column { width: 100% !important; }
	.pcx-feed-item > .elementor-container { flex-direction: column; }
	.pcx-feed-item .elementor-column { width: 100% !important; }
	.pcx-guide-band > .elementor-container { flex-direction: column; }
	.pcx-guide-band .elementor-column { width: 100% !important; }
	.pcx-media-table > .elementor-container { flex-direction: column; }
	.pcx-media-table .elementor-column { width: 100% !important; }
	.pcx-mg-list .elementor-icon-list-item { width: 100%; }
}
