/* /assets/css/machines/automotive/how-a-disc-brake-caliper-piston-works-cutaway.css — 本页专属样式（en/zh 共用） */
/* 共享零件本体/区分色类（与机器类目共用语义） */
.part .body{fill:#c2d1e4;stroke:#8ea0b5;stroke-width:1.6}
.part .body2{fill:#dde7f4;stroke:#a9b7c9;stroke-width:1.2}
.part .body3{fill:#aab9cd;stroke:none}
.part .accent{fill:none;stroke:#6b7b8c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.part.is-active .body{fill:#9dc3f5;stroke:#1d4ed8;stroke-width:2.2}
.part.is-active .body2{fill:#c4daf8;stroke:#3b82f6;stroke-width:1.4}
.part.is-active .body3{fill:#1d4ed8}
.part.is-active .accent{stroke:#1d4ed8}
.part.is-active{filter:drop-shadow(0 0 12px rgba(29,78,216,.5))}

/* 零件描边 / 文字对比度修正（页面作用域） */
body[data-topic="disc-brake-caliper"] .part .body{stroke:#2563eb;stroke-width:1.6}
body[data-topic="disc-brake-caliper"] .part .body2{stroke:#60a5fa}
body[data-topic="disc-brake-caliper"] .tag-sm{fill:#5b6472}

/* 各部件区分色（作用域限定 · per-part distinct fills） */
body[data-topic="disc-brake-caliper"] .part[data-id="part-caliper-body"]:not(.is-active) .body{fill:#c2d1e4}
body[data-topic="disc-brake-caliper"] .part[data-id="part-caliper-body"]:not(.is-active) .body2{fill:#dde7f4}
body[data-topic="disc-brake-caliper"] .part[data-id="part-piston"]:not(.is-active) .body{fill:#b9c9de}
body[data-topic="disc-brake-caliper"] .part[data-id="part-piston"]:not(.is-active) .body2{fill:#d5e1f1}
body[data-topic="disc-brake-caliper"] .part[data-id="part-piston-seal"]:not(.is-active) .body{fill:#aab9cd}
body[data-topic="disc-brake-caliper"] .part[data-id="part-dust-boot"]:not(.is-active) .body{fill:#cbd7e7}
body[data-topic="disc-brake-caliper"] .part[data-id="part-brake-pad"]:not(.is-active) .body{fill:#bccbdf}
body[data-topic="disc-brake-caliper"] .part[data-id="part-brake-pad"]:not(.is-active) .body2{fill:#d9e4f2}
body[data-topic="disc-brake-caliper"] .part[data-id="part-brake-disc"]:not(.is-active) .body{fill:#c2d1e4}
body[data-topic="disc-brake-caliper"] .part[data-id="part-brake-disc"]:not(.is-active) .body2{fill:#dce7f3}
body[data-topic="disc-brake-caliper"] .part[data-id="part-fluid-inlet"]:not(.is-active) .body{fill:#c3d0e1}
body[data-topic="disc-brake-caliper"] .part[data-id="part-bleed-screw"]:not(.is-active) .body{fill:#aab9cd}
body[data-topic="disc-brake-caliper"] .part[data-id="part-slide-pin"]:not(.is-active) .body{fill:#bfcee2}
body[data-topic="disc-brake-caliper"] .part[data-id="part-shell-housing"]:not(.is-active) .body{fill:#dfe6ef;stroke:#9aa6b8}

/* 制动液（本图专属材质，不受未高亮近白禁令限制） */
.dbc-fluid{fill:#bcd4f5;stroke:#7ba7e6;stroke-width:1}
.dbc-fluid-line{fill:none;stroke:#2563eb;stroke-width:6;stroke-linecap:round;stroke-dasharray:9 13;opacity:.9}
.is-running .dbc-fluid-line{animation:flow 1.2s linear infinite}
.dbc-lead{fill:none;stroke:#9aa6b8;stroke-width:1;stroke-dasharray:2 3}

/* ============ 动画 ============ */
/* 液压推动：活塞 + 内侧刹车片 + 防尘套一起外移，夹紧刹车盘；松开后回位 */
.dbc-piston,.dbc-pad-in,.dbc-boot{transform-box:view-box;animation:dbc-clamp 3s ease-in-out infinite;animation-play-state:paused}
.is-running .dbc-piston,.is-running .dbc-pad-in,.is-running .dbc-boot{animation-play-state:running}
@keyframes dbc-clamp{0%,8%{transform:translateX(0)}30%,55%{transform:translateX(8px)}78%,100%{transform:translateX(0)}}

/* 活塞密封圈（方圈）：受挤压变形，随后弹性回位、把活塞拉回一点 */
.dbc-seal{transform-box:view-box;animation:dbc-seal 3s ease-in-out infinite;animation-play-state:paused}
.is-running .dbc-seal{animation-play-state:running}
@keyframes dbc-seal{0%,26%{transform:translateX(0)}40%{transform:translateX(5px)}56%{transform:translateX(2px)}80%,100%{transform:translateX(0)}}

/* 刹车盘旋转 */
.dbc-disc-rot{transform-box:view-box;transform-origin:890px 400px;animation:spin 6s linear infinite;animation-play-state:paused}
.is-running .dbc-disc-rot{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes flow{to{stroke-dashoffset:-26}}