/* Shared detail links and equal-height card content. Load after page styles. */
.button.outline.au-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  flex: 0 1 auto;
  width: fit-content;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  margin-top: auto;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 11px 18px;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.au-detail-link:focus-visible {
  outline: 3px solid #538c76;
  outline-offset: 4px;
}

.catalog-card,
.home-application-cases .case-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  max-width: 100%;
}

.catalog-card > .copy,
.home-application-cases .case-card > .copy,
.au-case-link-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

.au-case-link-copy > .au-case-cta,
.au-performance-links > a > span {
  display: block;
  align-self: flex-start;
  max-width: 100%;
  margin-top: auto;
  padding-top: 4px;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Contain existing images without changing their framing or aspect ratio. */
.catalog-card img,
.home-application-cases .case-card img,
.au-case-link img {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.au-product-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  width: 100%;
  min-width: 0;
  max-width: 1100px;
  margin: 24px auto;
  padding: 0;
  box-sizing: border-box;
}

.au-product-tools > .button.outline.au-detail-link {
  align-self: auto;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

/* Long Chinese chart labels retain the full image, on one readable column. */
.au-product-performance {
  width: 100%;
  min-width: 0;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

.au-product-performance .au-chart-grid,
.au-chart-grid.au-product-performance {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.au-product-performance .au-chart,
.au-product-performance .au-chart > a {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.au-product-performance .au-chart img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}

@media (max-width: 560px) {
  .button.outline.au-detail-link { padding: 10px 15px; }
  .au-product-tools { gap: 24px; }
  .au-product-tools > .button.outline.au-detail-link {
    flex: 0 1 auto;
    max-width: 100%;
  }
}

.au-product-tools { width:calc(100% - 48px); }
.au-product-tools > .button { margin:0; }
.au-product-performance .cp-chart-pair { grid-template-columns:minmax(0,1fr); }
.au-product-performance .cp-chart-reference { margin:0; }
.au-product-performance .cp-chart-reference img { width:100%; height:auto; object-fit:contain; }
.au-product-performance .cp-chart-pair figure { min-width:0; }

.au-product-tools > .button { display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:11px 18px; font-size:14px; line-height:1.5; }
@media(max-width:760px) { .bn-page .bn-nav-links { flex-wrap:wrap; justify-content:flex-start; gap:14px 24px; } }
