/* EW303 작동 계통도 · 라이믹스 게시글용
 * 이 CSS를 레이아웃에서 한 번 로딩하고, 게시글에는 HTML만 넣으세요.
 * 모든 선택자를 yh-ew303-diagram 안으로 제한했습니다.
 * 기본은 세로 배치이며, 게시글 내용 영역이 900px보다 넓으면 가로 배치합니다.
 */
.yh-ew303-diagram {
  --yh-ew-ink: #172f4e;
  --yh-ew-muted: #687b92;
  --yh-ew-blue: #246dcc;
  --yh-ew-indigo: #4c5eb2;
  --yh-ew-amber: #b8790d;
  container: yh-ew303 / inline-size;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  color: var(--yh-ew-ink);
  background: #fff;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.yh-ew303-diagram, .yh-ew303-diagram *,
.yh-ew303-diagram *::before, .yh-ew303-diagram *::after { box-sizing: border-box; }
.yh-ew303-diagram .yh-ew303-inner :where(h2, h3, p) { margin: 0; padding: 0; border: 0; }
.yh-ew303-diagram .yh-ew303-inner { padding: 28px 12px 24px; }
.yh-ew303-diagram .yh-ew303-header { margin: 0 8px 26px; }
.yh-ew303-diagram .yh-ew303-eyebrow { display: flex; align-items: center; gap: 20px; margin-bottom: 12px; }
.yh-ew303-diagram .yh-ew303-model { display: inline-flex; align-items: center; gap: 12px; color: var(--yh-ew-blue); font-size: 22px; font-weight: 800; letter-spacing: .01em; }
.yh-ew303-diagram .yh-ew303-model::before { content: ""; display: block; width: 5px; height: 24px; border-radius: 10px; background: currentColor; }
.yh-ew303-diagram .yh-ew303-type { display: inline-block; padding: 5px 23px; border-radius: 40px; background: #edf4ff; color: var(--yh-ew-blue); font-size: 15px; font-weight: 700; white-space: nowrap; }
.yh-ew303-diagram .yh-ew303-title { color: var(--yh-ew-ink); font-size: 28px; font-weight: 800; line-height: 1.35; letter-spacing: -.05em; }
.yh-ew303-diagram .yh-ew303-subtitle { margin-top: 12px; color: var(--yh-ew-muted); font-size: 16px; line-height: 1.6; letter-spacing: -.035em; }
.yh-ew303-diagram .yh-ew303-flow { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; padding: 20px 14px; border-radius: 24px; background: #f5f8fc; }
.yh-ew303-diagram .yh-ew303-step { width: 100%; max-width: 520px; min-width: 0; margin: 0 auto; --yh-ew-accent: var(--yh-ew-blue); --yh-ew-tint: #edf5ff; }
.yh-ew303-diagram .yh-ew303-step--control { --yh-ew-accent: var(--yh-ew-indigo); --yh-ew-tint: #f0f2ff; }
.yh-ew303-diagram .yh-ew303-step--valve { --yh-ew-accent: var(--yh-ew-amber); --yh-ew-tint: #fff5e5; }
.yh-ew303-diagram .yh-ew303-step-heading { display: flex; align-items: center; gap: 11px; min-height: 40px; margin: 0 2px 12px; color: var(--yh-ew-ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.045em; }
.yh-ew303-diagram .yh-ew303-number { display: inline-flex; flex: 0 0 36px; justify-content: center; align-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--yh-ew-accent); color: #fff; font-size: 17px; font-weight: 600; letter-spacing: 0; }
.yh-ew303-diagram .yh-ew303-card { position: relative; display: flex; flex-direction: column; align-items: center; height: 450px; min-height: 450px; padding: 34px 14px 16px; border: 1px solid #dce6f2; border-radius: 21px; background: #fff; box-shadow: 0 6px 18px rgb(28 57 88 / 3%); text-align: center; }
.yh-ew303-diagram .yh-ew303-card::before { content: ""; position: absolute; top: 18px; left: 20px; width: 35px; height: 4px; border-radius: 10px; background: var(--yh-ew-accent); }
.yh-ew303-diagram .yh-ew303-device-name { flex: 0 0 auto; width: 100%; color: var(--yh-ew-ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.055em; }
.yh-ew303-diagram .yh-ew303-meta { display: flex; flex: 0 0 36px; align-items: center; justify-content: center; min-height: 36px; padding-top: 4px; }
.yh-ew303-diagram .yh-ew303-device-subtitle { color: var(--yh-ew-muted); font-size: 18px; letter-spacing: -.045em; }
.yh-ew303-diagram .yh-ew303-role { display: inline-block; min-width: 84px; padding: 2px 16px 4px; border-radius: 40px; background: var(--yh-ew-tint); color: var(--yh-ew-accent); font-size: 17px; font-weight: 700; }
.yh-ew303-diagram .yh-ew303-device { position: relative; flex: 1 1 auto; width: 100%; min-height: 130px; margin: 10px 0 12px; }
.yh-ew303-diagram .yh-ew303-device img { position: absolute; top: 0; left: 0; display: block; float: none; width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; object-fit: contain; object-position: center; box-shadow: none; }
.yh-ew303-diagram .yh-ew303-power-row { display: flex; flex: 0 0 58px; align-items: flex-start; justify-content: center; width: 100%; min-height: 58px; }
.yh-ew303-diagram .yh-ew303-power { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 188px; min-height: 41px; padding: 5px 18px; border-radius: 40px; background: var(--yh-ew-tint); color: var(--yh-ew-accent); font-size: 21px; font-weight: 700; line-height: 1.35; white-space: nowrap; }
.yh-ew303-diagram .yh-ew303-bolt { display: inline-block; flex: 0 0 23px; width: 23px; height: 30px; background: currentColor; clip-path: polygon(61% 0, 4% 57%, 39% 57%, 30% 100%, 100% 37%, 58% 37%); }
.yh-ew303-diagram .yh-ew303-result { display: flex; flex: 0 0 auto; flex-direction: column; justify-content: center; width: 100%; min-height: 61px; padding: 7px 5px; border-radius: 13px; background: var(--yh-ew-tint); color: #5d789a; font-size: 18px; line-height: 1.35; letter-spacing: -.04em; }
.yh-ew303-diagram .yh-ew303-result strong { color: var(--yh-ew-accent); font-size: 20px; font-weight: 700; }
.yh-ew303-diagram .yh-ew303-step--control .yh-ew303-result { color: #6c79a3; }
.yh-ew303-diagram .yh-ew303-step--valve .yh-ew303-result strong { font-size: 22px; }
.yh-ew303-diagram .yh-ew303-connector { display: flex; align-items: center; justify-content: center; min-height: 108px; padding: 15px 0 18px; color: var(--yh-ew-blue); }
.yh-ew303-diagram .yh-ew303-connector--valve { color: var(--yh-ew-amber); }
.yh-ew303-diagram .yh-ew303-link { display: grid; grid-template-columns: 32px auto; justify-content: center; align-items: center; column-gap: 18px; row-gap: 4px; width: 100%; }
.yh-ew303-diagram .yh-ew303-signal { grid-column: 2; grid-row: 1; font-size: 18px; font-weight: 700; letter-spacing: -.035em; white-space: nowrap; }
.yh-ew303-diagram .yh-ew303-arrow { position: relative; grid-column: 1; grid-row: 1 / 3; justify-self: center; width: 3px; height: 66px; background: currentColor; border-radius: 3px; }
.yh-ew303-diagram .yh-ew303-arrow::before { content: ""; position: absolute; top: -1px; left: 50%; width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; background: #fff; transform: translateX(-50%); }
.yh-ew303-diagram .yh-ew303-arrow::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 13px; height: 13px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; transform: translateX(-50%) rotate(135deg); }
.yh-ew303-diagram .yh-ew303-wire { display: inline-flex; grid-column: 2; grid-row: 2; justify-self: start; align-items: center; justify-content: center; min-width: 54px; min-height: 29px; padding: 1px 15px; border: 1px solid #dae6f5; border-radius: 40px; background: #fff; color: #64778f; font-size: 16px; font-weight: 600; }
.yh-ew303-diagram .yh-ew303-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; margin: 26px 8px 0; padding-top: 20px; border-top: 1px solid #dce5ef; font-size: 16px; letter-spacing: -.03em; }
.yh-ew303-diagram .yh-ew303-legend-item { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.yh-ew303-diagram .yh-ew303-legend-item:last-child { width: 100%; }
.yh-ew303-diagram .yh-ew303-legend-icon { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--yh-ew-blue); }
.yh-ew303-diagram .yh-ew303-legend-icon--wire { border-radius: 50%; background: #edf5ff; }
.yh-ew303-diagram .yh-ew303-wire-icon { position: relative; display: block; width: 23px; height: 2px; border-radius: 1px; background: currentColor; }
.yh-ew303-diagram .yh-ew303-wire-icon::before, .yh-ew303-diagram .yh-ew303-wire-icon::after { content: ""; position: absolute; top: -5px; width: 2px; height: 12px; background: currentColor; }
.yh-ew303-diagram .yh-ew303-wire-icon::before { left: 5px; }
.yh-ew303-diagram .yh-ew303-wire-icon::after { right: 5px; }
.yh-ew303-diagram .yh-ew303-legend-label { color: var(--yh-ew-muted); white-space: nowrap; }
.yh-ew303-diagram .yh-ew303-legend strong { color: var(--yh-ew-ink); font-weight: 700; }
.yh-ew303-diagram .yh-ew303-legend-item:last-child strong { flex-basis: 100%; padding-left: 46px; }

/* 모바일: 게시판 양옆 여백이 커도 내용 영역 너비에 맞춰 표시합니다. */
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram .yh-ew303-inner { padding-inline: 6px; }
  .yh-ew303-diagram .yh-ew303-flow { padding-inline: 10px; }
  .yh-ew303-diagram .yh-ew303-title { font-size: 26px; }
  .yh-ew303-diagram .yh-ew303-subtitle { font-size: 15px; }
  .yh-ew303-diagram .yh-ew303-step-heading { gap: 9px; font-size: 20px; }
  .yh-ew303-diagram .yh-ew303-card { padding-inline: 10px; }
  .yh-ew303-diagram .yh-ew303-device-name { font-size: 20px; }
  .yh-ew303-diagram .yh-ew303-result strong { font-size: 19px; }
}
@container yh-ew303 (min-width: 540px) {
  .yh-ew303-diagram .yh-ew303-title { font-size: 36px; }
  .yh-ew303-diagram .yh-ew303-legend-item:last-child strong { flex-basis: auto; padding-left: 0; }
}
/* PC: 넓은 화면이라도 게시글 칼럼이 좁으면 기본 세로 배치를 유지합니다. */
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram .yh-ew303-inner { padding: 3.5cqi 1.8cqi 2.5cqi; }
  .yh-ew303-diagram .yh-ew303-header { margin: 0 2.25cqi 2.6cqi; }
  .yh-ew303-diagram .yh-ew303-eyebrow { gap: 2.2cqi; margin-bottom: 8px; }
  .yh-ew303-diagram .yh-ew303-model { font-size: clamp(20px, 1.5cqi, 24px); }
  .yh-ew303-diagram .yh-ew303-type { font-size: clamp(14px, 1.15cqi, 18px); }
  .yh-ew303-diagram .yh-ew303-title { font-size: clamp(30px, 2.85cqi, 46px); line-height: 1.3; }
  .yh-ew303-diagram .yh-ew303-subtitle { margin-top: 10px; font-size: clamp(16px, 1.4cqi, 22px); }
  .yh-ew303-diagram .yh-ew303-flow { grid-template-columns: minmax(0, 1fr) 8.5cqi minmax(0, 1fr) 8.5cqi minmax(0, 1fr); padding: 15px 1.9cqi 24px; border-radius: 28px; }
  .yh-ew303-diagram .yh-ew303-step { max-width: none; }
  .yh-ew303-diagram .yh-ew303-step-heading { gap: 11px; margin-inline: 4px; font-size: clamp(18px, 1.5cqi, 24px); }
  .yh-ew303-diagram .yh-ew303-card { height: clamp(440px, 31.5cqi, 504px); min-height: 440px; padding-inline: 14px; }
  .yh-ew303-diagram .yh-ew303-device-name { font-size: clamp(18px, 1.5cqi, 24px); }
  .yh-ew303-diagram .yh-ew303-device-subtitle { font-size: clamp(16px, 1.22cqi, 20px); }
  .yh-ew303-diagram .yh-ew303-role { font-size: clamp(15px, 1.1cqi, 18px); }
  .yh-ew303-diagram .yh-ew303-power { min-width: 165px; font-size: clamp(18px, 1.35cqi, 22px); }
  .yh-ew303-diagram .yh-ew303-result { font-size: clamp(16px, 1.25cqi, 20px); }
  .yh-ew303-diagram .yh-ew303-result strong { font-size: clamp(17px, 1.4cqi, 23px); }
  .yh-ew303-diagram .yh-ew303-step--valve .yh-ew303-result strong { font-size: clamp(19px, 1.5cqi, 24px); }
  .yh-ew303-diagram .yh-ew303-connector { min-height: 0; padding: 30px 0 0; }
  .yh-ew303-diagram .yh-ew303-link { display: flex; flex-direction: column; align-items: center; gap: 20px; }
  .yh-ew303-diagram .yh-ew303-signal { font-size: clamp(16px, 1.25cqi, 20px); }
  .yh-ew303-diagram .yh-ew303-arrow { width: calc(100% - 12px); height: 3px; margin: 6px 0; }
  .yh-ew303-diagram .yh-ew303-arrow::before { top: 50%; left: -4px; transform: translateY(-50%); }
  .yh-ew303-diagram .yh-ew303-arrow::after { top: 50%; right: 0; bottom: auto; left: auto; transform: translateY(-50%) rotate(45deg); }
  .yh-ew303-diagram .yh-ew303-wire { min-height: 31px; font-size: 18px; }
  .yh-ew303-diagram .yh-ew303-legend { gap: 20px 9cqi; margin: 38px 2.25cqi 0; padding-top: 24px; font-size: clamp(16px, 1.3cqi, 21px); }
  .yh-ew303-diagram .yh-ew303-legend-item { gap: 14px; }
  .yh-ew303-diagram .yh-ew303-legend-item:last-child { width: auto; }
}
@media print {
  .yh-ew303-diagram { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .yh-ew303-diagram .yh-ew303-step, .yh-ew303-diagram .yh-ew303-header, .yh-ew303-diagram .yh-ew303-legend { break-inside: avoid; }
}

/* ================================================================
 * EW305 DC TYPE 확장 · 기존 EW303 규칙은 위에 그대로 유지합니다.
 * EW305 루트는 class="yh-ew303-diagram yh-ew305-diagram"을 사용합니다.
 * DC 신호의 외부 연동 분기는 PC에서 연결선, 모바일에서 출발점 설명으로 표시합니다.
 * ================================================================ */
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-drop { display: none; }
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-column: 1 / -1;
  min-width: 0;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid #dce5ef;
  color: var(--yh-ew-ink);
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-intro {
  width: 100%; max-width: 520px; min-width: 0; margin: 0 auto 16px;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-label {
  display: flex; align-items: center; gap: 10px;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-label .yh-ew303-legend-icon {
  color: #607c94; background: #eaf2f9; border-radius: 50%;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-heading {
  color: var(--yh-ew-ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.04em;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-desc {
  margin-top: 10px; color: var(--yh-ew-muted); font-size: 16px; line-height: 1.6; letter-spacing: -.035em;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-caption {
  margin-top: 14px; padding: 10px 12px; border-radius: 10px;
  color: var(--yh-ew-blue); background: #eaf3ff; font-size: 15px; line-height: 1.6; text-align: center;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-caption strong { display: block; font-weight: 700; }
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-mobile-branch-arrow {
  display: block; width: 3px; height: 34px; position: relative; margin: 17px auto 5px; color: var(--yh-ew-blue); background: currentColor;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-mobile-branch-arrow::after {
  content: ""; position: absolute; bottom: 0; left: 50%; width: 11px; height: 11px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 100%; max-width: 520px; min-width: 0; min-height: 144px; margin: 0 auto;
  padding: 28px 14px 19px; border: 1px solid #dce6f2; border-radius: 19px; background: #fff; text-align: center;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card::before {
  content: ""; position: absolute; top: 17px; left: 19px; width: 32px; height: 3px; border-radius: 3px; background: #607c94;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card-title {
  color: var(--yh-ew-ink); font-size: 21px; font-weight: 700; line-height: 1.4; letter-spacing: -.04em;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card-text {
  margin-top: 10px; color: var(--yh-ew-muted); font-size: 17px; line-height: 1.65; letter-spacing: -.035em;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-output-title {
  width: 100%; padding: 14px 7px; border-radius: 14px; background: #f0f6fc;
  color: var(--yh-ew-ink); font-size: 22px; font-weight: 700; line-height: 1.45; letter-spacing: -.04em;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-connector {
  display: flex; align-items: center; justify-content: center; min-height: 76px; color: #75899e;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-arrow {
  position: relative; display: block; width: 2px; height: 43px; background: currentColor;
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-arrow::after {
  content: ""; position: absolute; bottom: 0; left: 50%; width: 11px; height: 11px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
}
.yh-ew303-diagram.yh-ew305-diagram .yh-ew305-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow {
    --yh-ew305-card-height: clamp(440px, 31.5cqi, 504px);
    --yh-ew305-row-gap: 64px;
    --yh-ew305-external-height: 144px;
    row-gap: var(--yh-ew305-row-gap);
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-card { height: var(--yh-ew305-card-height); }
  /* Main-row height = 40px step heading + 12px bottom margin + card height. */
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow > .yh-ew303-connector {
    position: relative; display: block; padding: 0;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow > .yh-ew303-connector > .yh-ew303-link {
    position: absolute; inset: 0; display: block; width: 100%;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow > .yh-ew303-connector .yh-ew303-signal {
    position: absolute; bottom: calc(50% + 24px); left: 50%; transform: translateX(-50%);
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow > .yh-ew303-connector .yh-ew303-arrow {
    position: absolute; top: 50%; left: 6px; width: calc(100% - 12px); height: 3px; margin: 0;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew303-flow > .yh-ew303-connector .yh-ew303-wire {
    position: absolute; top: calc(50% + 24px); left: 50%; transform: translateX(-50%);
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-drop {
    position: absolute; top: 1px; left: 86%; display: block;
    width: calc(14% + 6px);
    height: calc((var(--yh-ew305-card-height) + 52px) / 2 + var(--yh-ew305-row-gap) + var(--yh-ew305-external-height) / 2);
    border-left: 2px solid currentColor; border-bottom: 2px solid currentColor;
    pointer-events: none;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-drop::before {
    content: ""; position: absolute; top: -3px; left: -4px; width: 6px; height: 6px; border-radius: 50%; background: currentColor;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-drop::after {
    content: ""; position: absolute; bottom: -6px; right: 2px; width: 10px; height: 10px;
    border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg);
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external {
    grid-template-columns: minmax(0, 1fr) 8.5cqi minmax(0, 1fr) 8.5cqi minmax(0, 1fr);
    grid-template-rows: var(--yh-ew305-external-height);
    align-items: center; margin: 0; padding: 0; border: 0;
  }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-intro { grid-column: 1; grid-row: 1; max-width: none; margin: 0; padding-left: 5px; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-label { align-items: flex-start; flex-direction: column; gap: 4px; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-heading { font-size: clamp(18px, 1.45cqi, 23px); }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-desc { margin-top: 8px; font-size: clamp(14px, 1.15cqi, 18px); }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-branch-caption,
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-mobile-branch-arrow { display: none; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card { max-width: none; height: var(--yh-ew305-external-height); min-height: 0; padding: 23px 12px 16px; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-monitor { grid-column: 3; grid-row: 1; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-output { grid-column: 5; grid-row: 1; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card-title { font-size: clamp(18px, 1.45cqi, 23px); }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-card-text { margin-top: 10px; font-size: clamp(15px, 1.25cqi, 20px); line-height: 1.5; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-output-title { font-size: clamp(18px, 1.5cqi, 24px); }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-connector { grid-column: 4; grid-row: 1; min-height: 0; height: 100%; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-arrow { width: calc(100% - 12px); height: 2px; }
  .yh-ew303-diagram.yh-ew305-diagram .yh-ew305-external-arrow::after { top: 50%; bottom: auto; right: 1px; left: auto; transform: translateY(-50%) rotate(-45deg); }
}

/* ================================================================
 * ASV 15A · 20A · 25A 확장
 * 기존 EW303 / EW305 규칙을 보존하고 ASV 루트에만 적용합니다.
 * ================================================================ */
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-type { font-size: 15px; padding-inline: 18px; }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-card { height: 490px; min-height: 490px; }
.yh-ew303-diagram.yh-asv-diagram .yh-asv-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 42px; margin: 2px 0 0; padding: 3px 0;
  color: #61758d; font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv-diagram .yh-asv-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv-diagram .yh-asv-controller-models { color: var(--yh-ew-indigo); }
.yh-ew303-diagram.yh-asv-diagram .yh-asv-valve-models { color: var(--yh-ew-amber); }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-signal span { display: block; }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-result { font-size: 17px; }
.yh-ew303-diagram.yh-asv-diagram .yh-ew303-result strong { font-size: 20px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv-diagram .yh-asv-models { column-gap: 6px; font-size: 12px; }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-result { font-size: 16px; }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-result strong { font-size: 19px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-card { height: clamp(490px, 33.5cqi, 536px); min-height: 490px; }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-type { font-size: clamp(14px, 1.15cqi, 18px); }
  .yh-ew303-diagram.yh-asv-diagram .yh-asv-models { font-size: clamp(12px, 1cqi, 16px); }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-signal { font-size: clamp(13px, 1.15cqi, 18px); }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-result { font-size: clamp(15px, 1.15cqi, 19px); }
  .yh-ew303-diagram.yh-asv-diagram .yh-ew303-result strong { font-size: clamp(17px, 1.4cqi, 23px); }
}

/* ================================================================
 * EW201S15 / EW201S20 / EW201S25 일반차단부용 제어부 확장
 * 루트: class="yh-ew303-diagram yh-ew201s-diagram"
 * 이 블록은 EW201S에만 적용되며 기존 EW303 / EW305 / ASV를 보존합니다.
 * ================================================================ */
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-eyebrow {
  flex-wrap: wrap; gap: 10px 18px;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-type {
  max-width: 100%; padding-inline: 16px; white-space: normal;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-model-list {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-model-list span {
  display: inline-block; padding: 5px 12px; border: 1px solid #dce4f5;
  border-radius: 7px; background: #f4f6ff; color: var(--yh-ew-indigo);
  font-size: 14px; font-weight: 700; line-height: 1.5; white-space: nowrap;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-card {
  height: 490px; min-height: 490px;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center;
  align-items: center; justify-content: center; gap: 0 8px;
  width: 100%; min-height: 42px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600;
  line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-device-models span {
  white-space: nowrap;
}
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-signal {
  font-size: 17px; line-height: 1.4; text-align: center;
}
/* 모바일·세로 배치: HTML의 공백을 살려 한 줄로 표시합니다. */
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-signal span { display: inline; }
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result { font-size: 17px; }
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result strong { font-size: 20px; }
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-drive {
  display: flex; align-items: center; justify-content: center;
  min-height: 41px; padding: 5px 8px; color: #826327;
  font-size: 14px; font-weight: 600; line-height: 1.5;
}
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-device-models { column-gap: 6px; font-size: 12px; }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result { font-size: 16px; }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result strong { font-size: 19px; }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-power { min-width: 0; max-width: 100%; gap: 8px; padding-inline: 12px; font-size: 19px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-card { height: clamp(490px, 33.5cqi, 536px); min-height: 490px; }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-device-models { font-size: clamp(12px, 1cqi, 16px); }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-signal { font-size: clamp(13px, 1.15cqi, 18px); }
  /* PC·가로 배치: 신호명과 출력 정보를 두 줄로 표시합니다. */
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-signal span { display: block; }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result { font-size: clamp(15px, 1.15cqi, 19px); }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-result strong { font-size: clamp(17px, 1.4cqi, 23px); }
  .yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-drive { font-size: clamp(13px, 1.05cqi, 16px); }
}

/* EW201S 모델 배지 표시 보완. 본문의 동일한 인라인 스타일은 이전 모바일 CSS에도 대비합니다. */
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-model-list { align-items: center; padding: 0; border: 0; text-align: left; }
.yh-ew303-diagram.yh-ew201s-diagram .yh-ew201s-model-list > span { flex: 0 0 auto; box-sizing: border-box; margin: 0; letter-spacing: normal; }

/* ================================================================
 * EW203S15 / EW203S20 / EW203S25 일반차단부용 제어부 확장
 * 루트: class="yh-ew303-diagram yh-ew203s-diagram"
 * 이 블록은 EW203S에만 적용되며 기존 EW303 / EW305 / ASV / EW201S를 보존합니다.
 * ================================================================ */
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-eyebrow {
  flex-wrap: wrap; gap: 10px 18px;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-type {
  max-width: 100%; padding-inline: 16px; white-space: normal;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-model-list {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-model-list span {
  display: inline-block; padding: 5px 12px; border: 1px solid #dce4f5;
  border-radius: 7px; background: #f4f6ff; color: var(--yh-ew-indigo);
  font-size: 14px; font-weight: 700; line-height: 1.5; white-space: nowrap;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-card {
  height: 490px; min-height: 490px;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center;
  align-items: center; justify-content: center; gap: 0 8px;
  width: 100%; min-height: 42px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600;
  line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-device-models span {
  white-space: nowrap;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-signal {
  font-size: 17px; line-height: 1.4; text-align: center;
}
/* 모바일·세로 배치: HTML의 공백을 살려 한 줄로 표시합니다. */
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-signal span { display: inline; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result { font-size: 17px; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result strong { font-size: 20px; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-drive {
  display: flex; align-items: center; justify-content: center;
  min-height: 41px; padding: 5px 8px; color: #826327;
  font-size: 14px; font-weight: 600; line-height: 1.5;
}
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-device-models { column-gap: 6px; font-size: 12px; }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result { font-size: 16px; }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result strong { font-size: 19px; }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-power { min-width: 0; max-width: 100%; gap: 8px; padding-inline: 12px; font-size: 19px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-card { height: clamp(490px, 33.5cqi, 536px); min-height: 490px; }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-device-models { font-size: clamp(12px, 1cqi, 16px); }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-signal { font-size: clamp(13px, 1.15cqi, 18px); }
  /* PC·가로 배치: 신호명과 출력 정보를 두 줄로 표시합니다. */
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-signal span { display: block; }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result { font-size: clamp(15px, 1.15cqi, 19px); }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-result strong { font-size: clamp(17px, 1.4cqi, 23px); }
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-drive { font-size: clamp(13px, 1.05cqi, 16px); }
}

/* EW203S 모델 배지 표시 보완. 본문의 동일한 인라인 스타일은 이전 모바일 CSS에도 대비합니다. */
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-model-list { align-items: center; padding: 0; border: 0; text-align: left; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-model-list > span { flex: 0 0 auto; box-sizing: border-box; margin: 0; letter-spacing: normal; }

/* EW203S의 3채널 입력 사양과 단일 경보기 연결 예시를 구분합니다. */
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-input-note {
  margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-input-note strong { color: #4c5eb2; margin-right: 8px; }
.yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-input-note span { display: block; }
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew203s-diagram .yh-ew203s-input-note { margin-inline: 2.25cqi; }
}

/* ================================================================
 * EW20S06 일반차단부용 제어부 확장
 * 루트: class="yh-ew303-diagram yh-ew20s06-diagram"
 * 이 블록은 EW20S06에만 적용되며 기존 EW303 / EW305 / ASV / EW201S / EW203S를 보존합니다.
 * ================================================================ */
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-eyebrow {
  flex-wrap: wrap; gap: 10px 18px;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-type {
  max-width: 100%; padding-inline: 16px; white-space: normal;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-model-list {
  display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-model-list span {
  display: inline-block; padding: 5px 12px; border: 1px solid #dce4f5;
  border-radius: 7px; background: #f4f6ff; color: var(--yh-ew-indigo);
  font-size: 14px; font-weight: 700; line-height: 1.5; white-space: nowrap;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-card {
  height: 490px; min-height: 490px;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center;
  align-items: center; justify-content: center; gap: 0 8px;
  width: 100%; min-height: 42px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600;
  line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-device-models span {
  white-space: nowrap;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-signal {
  font-size: 17px; line-height: 1.4; text-align: center;
}
/* 모바일·세로 배치: HTML의 공백을 살려 한 줄로 표시합니다. */
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-signal span { display: inline; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result { font-size: 17px; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result strong { font-size: 20px; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-drive {
  display: flex; align-items: center; justify-content: center;
  min-height: 41px; padding: 5px 8px; color: #826327;
  font-size: 14px; font-weight: 600; line-height: 1.5;
}
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-device-models { column-gap: 6px; font-size: 12px; }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result { font-size: 16px; }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result strong { font-size: 19px; }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-power { min-width: 0; max-width: 100%; gap: 8px; padding-inline: 12px; font-size: 19px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-card { height: clamp(490px, 33.5cqi, 536px); min-height: 490px; }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-device-models { font-size: clamp(12px, 1cqi, 16px); }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-signal { font-size: clamp(13px, 1.15cqi, 18px); }
  /* PC·가로 배치: 신호명과 출력 정보를 두 줄로 표시합니다. */
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-signal span { display: block; }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result { font-size: clamp(15px, 1.15cqi, 19px); }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-result strong { font-size: clamp(17px, 1.4cqi, 23px); }
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-drive { font-size: clamp(13px, 1.05cqi, 16px); }
}

/* EW20S06 모델 배지 표시 보완. 본문의 동일한 인라인 스타일은 이전 모바일 CSS에도 대비합니다. */
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-model-list { align-items: center; padding: 0; border: 0; text-align: left; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-model-list > span { flex: 0 0 auto; box-sizing: border-box; margin: 0; letter-spacing: normal; }

/* EW20S06의 6채널 입력 사양과 단일 경보기 연결 예시를 구분합니다. */
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-input-note {
  margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-input-note strong { color: #4c5eb2; margin-right: 8px; }
.yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-input-note span { display: block; }
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew20s06-diagram .yh-ew20s06-input-note { margin-inline: 2.25cqi; }
}

/* ================================================================
 * EW32653: 감지부 → 수신부 → 제어부 → 차단부 (4단계)
 * 모든 추가 규칙은 yh-ew32653-diagram에만 적용합니다.
 * 기본 세로 배치 / 본문 내용 영역 901px 이상에서 가로 4단.
 * ================================================================ */
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-connector--control { color: #168476; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-card { height: 600px; min-height: 600px; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 48px;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 32px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-device { min-height: 170px; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-power { min-width: 0; max-width: 100%; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result { min-height: 108px; font-size: 16px; line-height: 1.45; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result strong { font-size: 18px; line-height: 1.45; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-drive {
  display: flex; align-items: center; justify-content: center; min-height: 41px; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valves {
  position: absolute; inset: 0; display: grid; grid-template-rows: minmax(0,1fr) minmax(0,1fr); gap: 10px;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-option { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-name {
  flex: 0 0 auto; margin-bottom: 5px; color: var(--yh-ew-amber); font-size: 14px; font-weight: 700; line-height: 1.4;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-photo { position: relative; flex: 1 1 auto; min-height: 0; width: 100%; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-power { gap: 8px; padding-inline: 12px; font-size: 19px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result { font-size: 15px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result strong { font-size: 17px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-card { height: clamp(600px,42cqi,672px); min-height: 600px; padding-inline: 10px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,21px); min-height: 48px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-power { width: 100%; max-width: 164px; gap: 6px; padding: 6px 8px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result { font-size: clamp(13px,1.1cqi,17px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-result strong { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-name { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-note { margin-inline: 2.25cqi; }
}

/* EW32653 차단부 사진 겹침 수정 · 기존 diagram.css 맨 끝에 추가 */
/* 두 사진과 제품명을 문서 흐름에 포함해 각각의 높이를 확보합니다. */
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-step--valve .yh-ew303-card {
  height: auto;
  min-height: 600px;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-step--valve .yh-ew303-device {
  position: static;
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
  height: auto;
  min-height: 0;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valves {
  position: static;
  inset: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  height: auto;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-option {
  position: static;
  display: block;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  height: auto;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-name {
  position: static;
  display: block;
  margin: 0 0 8px;
  color: #b8790d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-photo {
  position: static;
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
}
.yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-photo img {
  position: static;
  inset: auto;
  display: block;
  float: none;
  width: 100%;
  height: var(--yh-ew32653-valve-height, 150px);
  max-width: 260px;
  max-height: none;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-step {
    display: flex;
    flex-direction: column;
  }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew303-card {
    flex: 1 0 auto;
    height: auto;
    min-height: clamp(600px, 42cqi, 672px);
  }
  .yh-ew303-diagram.yh-ew32653-diagram .yh-ew32653-valve-photo {
    --yh-ew32653-valve-height: 120px;
  }
}

/* EW80103 · 감지부 → 경보 수신부 → 제어부 → ASV 80A/100A 차단부 */
/* EW32653 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-ew80103-diagram,
div.yh-ew303-diagram.yh-ew80103-diagram *,
div.yh-ew303-diagram.yh-ew80103-diagram *::before,
div.yh-ew303-diagram.yh-ew80103-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-connector--control { color: #168476; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-ew80103-diagram .yh-ew80103-note { margin-inline: 2.25cqi; }
}

/* EW80103 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ew80103-diagram .yh-ew303-device br { display: none; }

/* EW12503 · 감지부 → 경보 수신부 → 제어부 → ASV 125A/150A/200A/250A 차단부 */
/* EW32653 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-ew12503-diagram,
div.yh-ew303-diagram.yh-ew12503-diagram *,
div.yh-ew303-diagram.yh-ew12503-diagram *::before,
div.yh-ew303-diagram.yh-ew12503-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-connector--control { color: #168476; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-note { margin-inline: 2.25cqi; }
}

/* EW12503 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew303-device br { display: none; }

/* 차단부 두 사진은 일반 단일 사진 칸과 분리하여 세로로 배치합니다. */
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-gallery {
  position: static !important; display: flex !important; flex: 1 0 252px !important;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 8px !important; width: 100%; height: auto !important; min-height: 252px;
  margin: 10px 0 12px !important; padding: 0;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-item {
  position: static !important; display: flex; flex: 0 0 auto;
  flex-direction: column; align-items: center; gap: 4px;
  width: 100%; min-width: 0; height: auto; margin: 0; padding: 0;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-label {
  position: static; margin: 0 !important; padding: 0;
  color: #b8790d; font-size: 13px; font-weight: 700; line-height: 18px; text-align: center;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-image,
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-image :is(a, figure, p) {
  position: static !important; inset: auto !important; display: flex !important;
  flex: 0 0 100px !important; align-items: center; justify-content: center;
  float: none !important; width: 140px !important; min-width: 0 !important; max-width: 100% !important;
  height: 100px !important; min-height: 100px !important; max-height: 100px !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0; transform: none !important;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-gallery img {
  position: static !important; inset: auto !important; display: block !important;
  flex: 0 1 auto !important; float: none !important;
  width: 100% !important; min-width: 0 !important; max-width: 140px !important;
  height: 100px !important; min-height: 0 !important; max-height: 100px !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; border-radius: 0;
  object-fit: contain !important; object-position: center; transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-ew12503-diagram .yh-ew12503-valve-image br { display: none; }

/* EWExC103 · 감지부 → 경보 수신부 → 제어부 → 방폭 차단부 3종 */
/* EW32653 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-ewexc103-diagram,
div.yh-ew303-diagram.yh-ewexc103-diagram *,
div.yh-ew303-diagram.yh-ewexc103-diagram *::before,
div.yh-ew303-diagram.yh-ewexc103-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-connector--control { color: #168476; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-note { margin-inline: 2.25cqi; }
}

/* EWExC103 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ew303-device br { display: none; }

/* 차단부 세 사진은 일반 단일 사진 칸과 분리하여 세로로 배치합니다. */
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-gallery {
  position: static !important; display: flex !important; flex: 1 0 382px !important;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 8px !important; width: 100%; height: auto !important; min-height: 382px;
  margin: 10px 0 12px !important; padding: 0;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-item {
  position: static !important; display: flex; flex: 0 0 auto;
  flex-direction: column; align-items: center; gap: 4px;
  width: 100%; min-width: 0; height: auto; margin: 0; padding: 0;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-label {
  position: static; margin: 0 !important; padding: 0;
  color: #b8790d; font-size: 13px; font-weight: 700; line-height: 18px; text-align: center;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-image,
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-image :is(a, figure, p) {
  position: static !important; inset: auto !important; display: flex !important;
  flex: 0 0 100px !important; align-items: center; justify-content: center;
  float: none !important; width: 140px !important; min-width: 0 !important; max-width: 100% !important;
  height: 100px !important; min-height: 100px !important; max-height: 100px !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0; transform: none !important;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-gallery img {
  position: static !important; inset: auto !important; display: block !important;
  flex: 0 1 auto !important; float: none !important;
  width: 100% !important; min-width: 0 !important; max-width: 140px !important;
  height: 100px !important; min-height: 0 !important; max-height: 100px !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; border-radius: 0;
  object-fit: contain !important; object-position: center; transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-ewexc103-diagram .yh-ewexc103-valve-image br { display: none; }

/* ASV 32A·40A·50A · 감지부 → 경보 수신부 → 제어부 → ASV 32A/40A/50A 차단부 */
/* EW32653 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-asv3250-diagram,
div.yh-ew303-diagram.yh-asv3250-diagram *,
div.yh-ew303-diagram.yh-asv3250-diagram *::before,
div.yh-ew303-diagram.yh-asv3250-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-connector--control { color: #168476; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-note { margin-inline: 2.25cqi; }
}

/* ASV 32A·40A·50A 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv3250-diagram .yh-ew303-device br { display: none; }

/* 세 관경이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-asv3250-diagram .yh-asv3250-device-models { min-height: 42px; }

/* ASV 50AF·65A · 감지부 → 경보 수신부 → 제어부 → ASV 50AF/65A 차단부 */
/* EW32653 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-asv5065-diagram,
div.yh-ew303-diagram.yh-asv5065-diagram *,
div.yh-ew303-diagram.yh-asv5065-diagram *::before,
div.yh-ew303-diagram.yh-asv5065-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-connector--control { color: #168476; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-note { margin-inline: 2.25cqi; }
}

/* ASV 50AF·65A 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv5065-diagram .yh-ew303-device br { display: none; }

/* 두 관경이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-asv5065-diagram .yh-asv5065-device-models { min-height: 42px; }

/* ASV 80A·100A · 감지부 → 경보 수신부 → 제어부 → ASV 80A/100A 차단부 */
/* EW80103 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-asv80100-diagram,
div.yh-ew303-diagram.yh-asv80100-diagram *,
div.yh-ew303-diagram.yh-asv80100-diagram *::before,
div.yh-ew303-diagram.yh-asv80100-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-connector--control { color: #168476; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-note { margin-inline: 2.25cqi; }
}

/* ASV 80A·100A 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv80100-diagram .yh-ew303-device br { display: none; }

/* 두 관경이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-asv80100-diagram .yh-asv80100-device-models { min-height: 42px; }

/* ASV 125A·150A · 감지부 → 경보 수신부 → 제어부 → ASV 125A/150A 차단부 */
/* EW12503 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-asv125150-diagram,
div.yh-ew303-diagram.yh-asv125150-diagram *,
div.yh-ew303-diagram.yh-asv125150-diagram *::before,
div.yh-ew303-diagram.yh-asv125150-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-connector--control { color: #168476; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-note { margin-inline: 2.25cqi; }
}

/* ASV 125A·150A 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv125150-diagram .yh-ew303-device br { display: none; }

/* 두 관경이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-asv125150-diagram .yh-asv125150-device-models { min-height: 42px; }

/* ASV 200A·250A · 감지부 → 경보 수신부 → 제어부 → ASV 200A/250A 차단부 */
/* EW12503 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-asv200250-diagram,
div.yh-ew303-diagram.yh-asv200250-diagram *,
div.yh-ew303-diagram.yh-asv200250-diagram *::before,
div.yh-ew303-diagram.yh-asv200250-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-connector--control { color: #168476; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-note { margin-inline: 2.25cqi; }
}

/* ASV 200A·250A 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-asv200250-diagram .yh-ew303-device br { display: none; }

/* 두 관경이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-asv200250-diagram .yh-asv200250-device-models { min-height: 42px; }

/* SA05X-EW25·EW32·EW40 · 감지부 → 경보 수신부 → 제어부 → SA05X-EW 방폭 차단부 */
/* EWExC103 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-sa05x-diagram,
div.yh-ew303-diagram.yh-sa05x-diagram *,
div.yh-ew303-diagram.yh-sa05x-diagram *::before,
div.yh-ew303-diagram.yh-sa05x-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-connector--control { color: #168476; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-note { margin-inline: 2.25cqi; }
}

/* SA05X-EW25·EW32·EW40 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-device br { display: none; }

/* 관경 표기이 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-device-models { min-height: 42px; }

/* 차단부의 시리즈명과 관경을 두 줄로 정렬하고 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-sa05x-diagram .yh-sa05x-device-models { min-height: 54px; }
.yh-ew303-diagram.yh-sa05x-diagram .yh-ew303-step--valve .yh-sa05x-device-models { flex-direction: column; }

/* NA006-EW50·NA009-EW65 · 감지부 → 경보 수신부 → 제어부 → NA 방폭 차단부 */
/* EWExC103 최종본의 사진 크기, 전원 간격, 사이트 box-sizing 충돌 보정 반영 */
div.yh-ew303-diagram.yh-na5065-diagram,
div.yh-ew303-diagram.yh-na5065-diagram *,
div.yh-ew303-diagram.yh-na5065-diagram *::before,
div.yh-ew303-diagram.yh-na5065-diagram *::after { box-sizing: border-box !important; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-eyebrow { flex-wrap: wrap; gap: 10px 18px; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-model { flex-shrink: 0; white-space: nowrap; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-type { max-width: 100%; padding-inline: 16px; white-space: normal; }
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-step--receiver { --yh-ew-accent: #168476; --yh-ew-tint: #eaf7f4; }
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-connector--control { color: #168476; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-card {
  height: auto !important; min-height: 550px !important; padding: 30px 10px 14px;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device-name {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-device-models {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-content: center; align-items: center; justify-content: center;
  gap: 0 8px; width: 100%; min-height: 28px; margin: 2px 0 0; padding: 3px 0;
  color: var(--yh-ew-accent); font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-device-models span { white-space: nowrap; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device {
  position: relative; display: flex; align-items: center; justify-content: center;
  flex: 1 0 252px; width: 100%; height: 252px; min-height: 252px; margin: 10px 0 12px;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device img {
  position: static !important; inset: auto !important; display: block !important; flex: 0 0 auto; float: none;
  width: 100% !important; height: 200px !important; min-height: 0 !important;
  max-width: 200px !important; max-height: 200px !important; margin: 0 auto !important;
  padding: 0; border: 0; border-radius: 0; object-fit: contain !important; object-position: center;
  transform: none !important; box-shadow: none;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power-row {
  position: static !important; display: flex !important; flex: 0 0 auto !important;
  align-items: center; justify-content: center; width: 100%; height: auto !important;
  min-height: 44px !important; margin: 0 0 16px !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power,
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-drive {
  position: static !important; flex: 0 1 auto !important; min-width: 0; max-width: 100%;
  height: auto !important; min-height: 44px; margin: 0 !important; transform: none !important;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power { width: auto; gap: 8px; padding: 6px 14px; font-size: 19px; }
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-drive {
  display: flex; align-items: center; justify-content: center; padding: 5px 3px;
  color: #687b92; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-result {
  position: static !important; flex: 0 0 auto !important; min-height: 78px;
  margin: 0 !important; font-size: 15px; line-height: 1.4; transform: none !important;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-result strong { font-size: 17px; line-height: 1.4; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-signal { font-size: 17px; line-height: 1.4; text-align: center; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-signal > span { display: inline; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-legend { gap: 16px 30px; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-legend-item { min-width: 0; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-legend-item strong { flex-basis: 100%; padding-left: 46px; }
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-note {
  display: grid; gap: 4px; margin: 18px 8px 0; padding: 14px 16px; border-radius: 12px;
  background: #f5f7fc; color: #61758d; font-size: 14px; line-height: 1.7;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-note strong { color: #4c5eb2; margin-right: 8px; }
@container yh-ew303 (max-width: 360px) {
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power { padding-inline: 12px; }
}
@container yh-ew303 (min-width: 901px) {
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-inner { padding-inline: 1.4cqi; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-flow {
    grid-template-columns: minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr) 6cqi minmax(0,1fr);
    padding-inline: 1.2cqi;
  }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-step { display: flex; flex-direction: column; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-step-heading { gap: 7px; margin-inline: 0; font-size: clamp(15px,1.3cqi,20px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-number { flex-basis: 28px; width: 28px; height: 28px; font-size: 14px; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-card { flex: 1 0 auto; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device-name { font-size: clamp(16px,1.3cqi,18px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-na5065-device-models { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power { padding-inline: 8px; gap: 6px; font-size: clamp(16px,1.35cqi,21px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-power .yh-ew303-bolt { flex-basis: 18px; width: 18px; height: 25px; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-na5065-drive { font-size: clamp(12px,1cqi,15px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-result { font-size: 14px; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-result strong { font-size: 16px; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-signal { font-size: clamp(11px,1.08cqi,16px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-signal > span { display: block; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-wire { min-width: 0; padding-inline: 10px; font-size: 15px; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-legend { font-size: clamp(14px,1.2cqi,18px); }
  .yh-ew303-diagram.yh-na5065-diagram .yh-ew303-legend-item strong { flex-basis: auto; padding-left: 0; }
  .yh-ew303-diagram.yh-na5065-diagram .yh-na5065-note { margin-inline: 2.25cqi; }
}

/* NA006-EW50·NA009-EW65 사진 교체: 편집기가 p/a/figure로 감싸도 사진 칸 안에서 크기 유지 */
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device > :is(p, figure, div),
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device a {
  box-sizing: border-box !important; position: static !important; inset: auto !important;
  display: flex !important; align-items: center; justify-content: center; flex: 0 1 200px;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: 200px !important; height: 200px !important; min-height: 0 !important;
  margin: 0 auto !important; padding: 0 !important; border: 0; line-height: 0;
  transform: none !important;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device img {
  min-width: 0 !important; float: none !important; padding: 0 !important;
}
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-device br { display: none; }

/* 관경 표기가 줄바꿈되어도 각 카드의 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-device-models { min-height: 42px; }

/* 차단부의 두 모델명과 관경을 두 줄로 정렬하고 사진 시작 위치를 맞춥니다. */
.yh-ew303-diagram.yh-na5065-diagram .yh-na5065-device-models { min-height: 54px; }
.yh-ew303-diagram.yh-na5065-diagram .yh-ew303-step--valve .yh-na5065-device-models { flex-direction: column; }

/* YH_FEATURE_DRAWINGS_START: 주요 기능 도면, PC 2열 / 모바일 1열 */
.cont_area table.yh-feature-drawings {
  table-layout: fixed;
}

.cont_area table.yh-feature-drawings img {
  display: block;
  float: none;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .cont_area table.yh-feature-drawings,
  .cont_area table.yh-feature-drawings > tbody,
  .cont_area table.yh-feature-drawings > tbody > tr,
  .cont_area table.yh-feature-drawings > tbody > tr > td {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .cont_area table.yh-feature-drawings > tbody > tr > td {
    padding: 0 !important;
  }

  .cont_area table.yh-feature-drawings > tbody > tr > td + td {
    margin-top: 20px;
  }

  .cont_area table.yh-feature-drawings img {
    width: 100% !important;
  }
}
/* YH_FEATURE_DRAWINGS_END */

