/* Scoped additions: keep other product details unchanged. */
.product-tubular-filtration { --reviewed-feature-column:324px; }
.product-tubular-filtration { --reviewed-related-width:min(calc(100% - 36px),1600px); --reviewed-related-padding:60px; }
.product-tubular-filtration.product-reviewed .detail-hero > img { object-position:center 31.5315%; }
.product-tubular-filtration #principle .detail-container,
.product-tubular-filtration #specifications .detail-container {
  width: min(calc(100% - 36px), 1400px);
}

/* Work principle: Bootstrap owns the outer responsive columns. */
.tubular-principle-text { display: grid; }
.tubular-principle-text [data-principle-slide] { grid-area: 1 / 1; }
.tubular-principle-text .is-inactive { visibility: hidden; }
.tubular-principle .tubular-principle-media {
  display: grid;
  place-items: center;
  height: 100%;
  min-height: 497px;
  margin-right: 21px;
}
.tubular-principle .tubular-principle-media img {
  width: 100%;
  max-width: 619px;
  height: auto;
  max-height: 497px;
  object-fit: contain;
}
.tubular-principle .tubular-principle-media img.is-flow { max-width: 359px; }
.tubular-principle .tubular-principle-copy {
  height: 100%;
  min-height: 497px;
  gap: 40px;
  padding: 30px;
}
.tubular-principle-copy h3 { font-size: clamp(1.375rem, 1.5vw, 1.625rem); }
.tubular-principle-copy ul,
.tubular-principle-copy ol { margin: 0; padding-left: 1.5em; font-size: 1rem; line-height: 1.875; }
.tubular-principle-controls { gap: 20px; margin-top: auto; }
.tubular-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;
}
.tubular-principle-controls img { display: block; width: 100%; height: 100%; }
.tubular-principle-controls [data-principle-direction="-1"] img { transform: scaleX(-1); }
.tubular-control-hover { position: absolute; inset: 0; opacity: 0; }
.tubular-principle-controls button:hover .tubular-control-hover,
.tubular-principle-controls button:focus-visible .tubular-control-hover { opacity: 1; }
.tubular-principle-controls button:focus-visible { outline: 3px solid var(--detail-green); outline-offset: 4px; }

/* Model-by-model specifications, transcribed from the Figma source table. */
.tubular-spec-scroll { overflow-x: auto; overflow-y: hidden; padding-block: 1px; }
.tubular-spec-scroll:focus-visible { outline: 2px solid var(--detail-green); outline-offset: 4px; }
.tubular-spec-table {
  width: 100%;
  min-width: 1000px;
  table-layout: fixed;
  border-collapse: collapse;
  font-family: "Times New Roman", "SimSun", serif;
  font-size: clamp(.875rem, 1.25vw, 1.5rem);
  line-height: 1.25;
  color: #333;
}
.tubular-spec-model { width: 17.1%; }
.tubular-spec-port { width: 13.9%; }
.tubular-spec-table th,
.tubular-spec-table td { padding: 17px 10px; border: 2px solid #333; font-weight: 400; text-align: center; vertical-align: middle; }
.tubular-spec-table thead th { padding-block: 21px; font-size: clamp(.875rem, 1.05vw, 1.25rem); line-height: 1.3; }
.tubular-spec-table th { background: #c4c4c4; }
.tubular-spec-table td { background: #fff; }
.tubular-spec-table small { display: block; font-size: .8em; line-height: 1.25; }
.tubular-spec-diagonal { position: relative; background: linear-gradient(to top right, transparent calc(50% - 1px), #333 50%, transparent calc(50% + 1px)), #aaa !important; }
.tubular-model-label { position: absolute; left: 14%; bottom: 8px; text-align: left; }
.tubular-parameter-label { position: absolute; right: 10%; top: 8px; text-align: left; }
.tubular-pressure-port span { display: inline-block; writing-mode: vertical-rl; text-orientation: mixed; white-space: nowrap; }
.tubular-spec-hint { margin: -20px 0 12px; color: #737373; font-size: .8125rem; }

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