/* Scoped additions: keep other product details unchanged. */
.product-cross-flow-filtration { --reviewed-feature-column:324px; --reviewed-related-width:min(calc(100% - 36px),1600px); --reviewed-related-padding:60px; --reviewed-first-related-size:66.873%; }
.product-cross-flow-filtration.product-reviewed .detail-related .col-12:nth-child(2) figure img { width:74.613%; height:74.613%; }
.product-cross-flow-filtration #principle .detail-container,
.product-cross-flow-filtration #specifications .detail-container {
  width: min(calc(100% - 36px), 1400px);
}

/* Work principle: Bootstrap owns the outer responsive columns. */
.cross-flow-principle-text { display: grid; }
.cross-flow-principle-text [data-principle-slide] { grid-area: 1 / 1; }
.cross-flow-principle-text .is-inactive { visibility: hidden; }
.cross-flow-principle .cross-flow-principle-media {
  display: grid;
  place-items: center;
  height: 100%;
  min-height: 497px;
  margin-right: 21px;
}
.cross-flow-principle .cross-flow-principle-media img {
  width: 100%;
  max-width: 644.557px;
  height: auto;
  max-height: 389px;
  object-fit: contain;
}
.cross-flow-principle .cross-flow-principle-media img.is-flow { max-width: 524px; max-height: 454px; }
.cross-flow-principle .cross-flow-principle-copy {
  height: 100%;
  min-height: 497px;
  gap: 18px;
  padding: 30px;
}
.cross-flow-principle-copy h3 { font-size: clamp(1.375rem, 1.5vw, 1.625rem); }
.cross-flow-principle-copy ul,
.cross-flow-principle-copy ol { margin: 0; padding-left: 1.5em; font-size: 1rem; line-height: 1.875; }
.cross-flow-principle-controls { gap: 20px; margin-top: auto; }
.cross-flow-principle-controls button {
  position: relative;
  flex: 0 0 auto;
  width: clamp(48px, 4vw, 66px);
  height: clamp(48px, 4vw, 66px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
}
.cross-flow-principle-controls img { display: block; width: 100%; height: 100%; }
.cross-flow-principle-controls [data-principle-direction="-1"] img { transform: scaleX(-1); }
.cross-flow-control-hover { position: absolute; inset: 0; opacity: 0; }
.cross-flow-principle-controls button:hover .cross-flow-control-hover,
.cross-flow-principle-controls button:focus-visible .cross-flow-control-hover { opacity: 1; }
.cross-flow-principle-controls button:focus-visible { outline: 3px solid var(--detail-green); outline-offset: 4px; }


.cross-flow-principle-text { max-width: 607px; }
.cross-flow-principle-copy p { font-size: 1rem; line-height: 1.875; }
/* Text tables from the design; only the table container may scroll sideways. */
.cross-flow-spec-group + .cross-flow-spec-group { margin-top: 20px; }
.cross-flow-spec-subtitle { margin: 0 0 10px; color: var(--detail-green); font-size: 1rem; font-weight: 500; line-height: 1.875; }
.cross-flow-spec-scroll { overflow-x: auto; overflow-y: hidden; padding-block: 1px; }
.cross-flow-spec-scroll:focus-visible { outline: 2px solid var(--detail-green); outline-offset: 4px; }
.cross-flow-spec-table {
  width: 100%;
  min-width: 1000px;
  table-layout: fixed;
  border-collapse: collapse;
  color: #737373;
  font-size: clamp(.875rem, 1.05vw, 1rem);
  line-height: 1.875;
}
.cross-flow-spec-label { width: 18.5714%; }
.cross-flow-spec-value { width: 34.0714%; }
.cross-flow-spec-table th,
.cross-flow-spec-table td { padding: 9.5px 12px; border: 1px solid #d9d9d9; background: #fff; font-weight: 500; text-align: center; vertical-align: middle; }
.cross-flow-spec-table thead th { color: #333; background: #f7f7f7; }
.cross-flow-spec-hint { margin: -20px 0 12px; color: #737373; font-size: .8125rem; }

@media (max-width: 991.98px) {
  .cross-flow-principle .cross-flow-principle-media { height: auto; min-height: 0; margin-right: 0; aspect-ratio: 669 / 497; }
  .cross-flow-principle .cross-flow-principle-media img { max-height: 100%; }
  .cross-flow-principle .cross-flow-principle-media img.is-flow { width: 78.326%; }
  .cross-flow-principle .cross-flow-principle-copy { min-height: 0; padding: 24px 14px 16px; gap: 30px; }
}
