/* Keep the selected capability content visible when reached with Tab. */
.solutions-detail-page .capability-panel:focus-visible {
  outline: 2px solid var(--solutions-peach);
  outline-offset: -3px;
}

@media (max-width: 760px) {
  /* Edge fades and button padding need not grow with enlarged browser text.
     Keep the normal spacing while leaving enough room for readable labels. */
  .solutions-detail-page .capability-rail {
    --capability-rail-fade: min(2.5rem, 40px);
    scroll-padding-inline: var(--capability-rail-fade);
  }

  .solutions-detail-page .capability-rail[data-more-end] {
    -webkit-mask-image: linear-gradient(
      90deg, #000 calc(100% - var(--capability-rail-fade)), transparent
    );
    mask-image: linear-gradient(
      90deg, #000 calc(100% - var(--capability-rail-fade)), transparent
    );
  }

  .solutions-detail-page .capability-rail[data-more-start] {
    -webkit-mask-image: linear-gradient(
      90deg, transparent, #000 var(--capability-rail-fade)
    );
    mask-image: linear-gradient(
      90deg, transparent, #000 var(--capability-rail-fade)
    );
  }

  .solutions-detail-page .capability-rail[data-more-start][data-more-end] {
    -webkit-mask-image: linear-gradient(
      90deg, transparent, #000 var(--capability-rail-fade),
      #000 calc(100% - var(--capability-rail-fade)), transparent
    );
    mask-image: linear-gradient(
      90deg, transparent, #000 var(--capability-rail-fade),
      #000 calc(100% - var(--capability-rail-fade)), transparent
    );
  }

  .solutions-detail-page .capability-rail > .capability-tab {
    max-width: calc(
      100% - var(--capability-rail-fade) - var(--capability-rail-fade)
    );
    padding-inline: min(0.75rem, 12px) min(1rem, 16px);
  }

  .solutions-detail-page .capability-rail > .capability-tab strong {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 600px) {
  /* Wrapped text in an inactive face must not determine the pill's height. */
  .solutions-detail-page
    .capability-step--next:not(.is-onward)
    .capability-step-face--onward,
  .solutions-detail-page
    .capability-step--next.is-onward
    .capability-step-face:not(.capability-step-face--onward) {
    max-height: 0;
    overflow: hidden;
  }

  /* Retain two equal controls when they fit, then give enlarged labels a row. */
  .solutions-detail-page .capability-console-steps {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));
  }

  .solutions-detail-page .capability-step-face {
    transition: opacity 200ms ease;
    min-width: 0;
    max-width: 100%;
  }

  .solutions-detail-page .capability-step-face-inner,
  .solutions-detail-page .capability-step-name,
  .solutions-detail-page .capability-step-label {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}
