/*
 * ETheme-Block — process
 *
 * 卡片自身的外观与样式变体已迁移至 process-step 组件，
 * 使其脱离父块也能独立呈现。此处只保留父块布局与父块级属性。
 */
.etb-process{box-sizing: border-box;width: 100%;padding-block: var(--eth-section-space-y,3rem)}
.etb-process__inner{max-width: var(--eth-container,1350px);margin-inline: auto;padding-inline: var(--eth-section-space-x,1.5rem)}
.etb-process__steps{--etb-process-gap: var(--eth-space-m,1.5rem);--etb-process-badge: 3rem;counter-reset: etb-process-step;display: grid;gap: var(--etb-process-gap);margin: 0;padding: 0;list-style: none}
.etb-process__icon{display: inline-flex;align-items: center;justify-content: center;width: 3rem;height: 3rem;font-size: 1.5rem;background: var(--eth-primary-10,#eef2ff);color: var(--eth-primary,#4f46e5);border-radius: var(--eth-radius-full,999rem)}
.etb-process__number{display: inline-flex;align-items: center;justify-content: center;width: 3rem;height: 3rem;font-size: var(--eth-fs-h3,1.35rem);font-weight: var(--eth-fw-bold,700);background: var(--eth-primary,#4f46e5);color: var(--eth-light,#fff);border-radius: var(--eth-radius-full,999rem)}
.etb-process__number--auto::before{content: counter(etb-process-step)}
.etb-process__description>:first-child{margin-top: 0}
.etb-process__description>:last-child{margin-bottom: 0}
.etb-process__description ul,.etb-process__description ol{padding-inline-start: 1.2em}
.etb-process__description li + li{margin-top: 0.25em}
.etb-process--style-horizontal .etb-process__steps{grid-template-columns: repeat(var(--etb-process-cols,4),minmax(0,1fr))}
.etb-process--style-timeline .etb-process__steps{position: relative;max-width: var(--eth-container-narrow,768px);margin-inline: auto}
.etb-process--style-timeline .etb-process__steps::before{content: "";position: absolute;top: 0;bottom: 0;left: 1.5rem;width: 2px;background: var(--eth-primary-20,rgba(79,70,229,0.2))}
.etb-process--style-timeline .etb-process__step{position: relative;padding-left: calc(3rem + var(--eth-space-m,1.5rem));text-align: left}
.etb-process--style-timeline .etb-process__icon,.etb-process--style-timeline .etb-process__number{position: absolute;left: 0;top: 0}
.etb-process--style-numbered .etb-process__steps{grid-template-columns: repeat(var(--etb-process-cols,4),minmax(0,1fr))}
.etb-process--style-alternating .etb-process__steps{position: relative;max-width: var(--eth-container-narrow,900px);margin-inline: auto}
.etb-process--style-alternating .etb-process__steps::before{content: "";position: absolute;top: 1.5rem;bottom: 1.5rem;left: 50%;width: 2px;background: var(--eth-primary-20,rgba(79,70,229,0.2))}
.etb-process--style-alternating .etb-process__step{position: relative;width: calc(50% - 2rem);padding: var(--eth-space-m,1.5rem);background: var(--eth-bg-surface,#fff);border: 1px solid var(--eth-border,rgba(0,0,0,0.12));border-radius: var(--eth-radius-m,0.8rem);box-shadow: var(--eth-shadow-s,0 2px 6px rgba(0,0,0,0.08))}
.etb-process--style-alternating .etb-process__step:nth-child(odd){justify-self: start}
.etb-process--style-alternating .etb-process__step:nth-child(even){justify-self: end}
.etb-process--style-alternating .etb-process__step::after{content: "";position: absolute;top: 1.5rem;width: 0.75rem;height: 0.75rem;background: var(--eth-primary,#4f46e5);border: 4px solid var(--eth-bg-body,#fff);border-radius: 50%}
.etb-process--style-alternating .etb-process__step:nth-child(odd)::after{right: -2.42rem}
.etb-process--style-alternating .etb-process__step:nth-child(even)::after{left: -2.42rem}
.etb-process--style-dark-cards .etb-process__steps{grid-template-columns: repeat(var(--etb-process-cols,4),minmax(0,1fr))}
@media (max-width: 992px) {
.etb-process--style-horizontal .etb-process__steps,.etb-process--style-numbered .etb-process__steps,.etb-process--style-dark-cards .etb-process__steps{grid-template-columns: repeat(2,minmax(0,1fr))}
}
@media (max-width: 768px) {
.etb-process--style-horizontal .etb-process__steps,.etb-process--style-numbered .etb-process__steps,.etb-process--style-dark-cards .etb-process__steps{grid-template-columns: minmax(0,1fr)}
.etb-process--style-alternating .etb-process__steps::before{left: 1.45rem}
.etb-process--style-alternating .etb-process__step{width: auto;margin-left: 3rem}
.etb-process--style-alternating .etb-process__step:nth-child(odd),.etb-process--style-alternating .etb-process__step:nth-child(even){justify-self: stretch}
.etb-process--style-alternating .etb-process__step::after{left: -2.42rem;right: auto}
}
.etb-process__number,.etb-process__icon{transition: transform var(--etb-duration-normal) ease,background var(--etb-duration-normal) ease,box-shadow var(--etb-duration-normal) ease}
:where(html.etb-has-js) .etb-process.etb-reveal .etb-process__step{opacity: 0;transform: translateY(8px);transition: opacity var(--etb-duration-normal) ease,transform var(--etb-duration-normal) ease}
.etb-process.etb-reveal--visible .etb-process__step,.etb-process.etb-no-anim .etb-process__step{opacity: 1;transform: none}
.etb-process.etb-reveal--visible .etb-process__step:nth-child(2){transition-delay: 0.06s}
.etb-process.etb-reveal--visible .etb-process__step:nth-child(3){transition-delay: 0.12s}
.etb-process.etb-reveal--visible .etb-process__step:nth-child(n+4){transition-delay: 0.18s}
@media (prefers-reduced-motion: reduce) {
.etb-process.etb-reveal .etb-process__step{opacity: 1;transform: none}
}
.etb-process__intro{margin-block: 0 var(--eth-space-l,2rem)}
.etb-process__outro{margin-block: var(--eth-space-l,2rem) 0}
