/* V4.3 responsive and accessibility baseline. */

.sbx-v43 :focus-visible {
  outline: 3px solid var(--sbx-focus-light, #0e7a7c);
  outline-offset: 3px;
}

.sbx-v43__section--accent :focus-visible {
  outline-color: var(--sbx-focus-dark, #7fc9ca);
}

@media (max-width: 1024px) {
  .sbx-v43__hero {
    padding-block: clamp(3rem, 7vw, 4.5rem);
  }
}

@media (max-width: 768px) {
  .sbx-v43__card-grid,
  .sbx-v43__two-column,
  .sbx-v43__case-evidence dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .sbx-v43--solutions .sbx-v43__card:nth-child(5) {
    grid-column: auto;
  }

  .sbx-v43__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sbx-v43__cta {
    min-height: 48px;
    width: 100%;
  }

  .sbx-v43__cta--text {
    margin-inline-start: 0;
    text-align: left;
  }
}

@media (max-width: 430px) {
  .sbx-v43__hero,
  .sbx-v43__section {
    padding-block: 3rem;
  }

  .sbx-v43 h1 {
    font-size: clamp(1.9rem, 10vw, 2.4rem);
  }

  .sbx-v43__card,
  .sbx-v43__panel,
  .sbx-v43__empty-state,
  .sbx-v43__unavailable {
    padding: 1.1rem;
  }
}

@media (max-width: 360px) {
  .sbx-v43 .sbx-container {
    padding-inline: 0.875rem;
  }
}

@media (max-width: 320px) {
  .sbx-v43__status {
    border-radius: var(--sbx-radius-sm, 8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sbx-v43 *,
  .sbx-v43 *::before,
  .sbx-v43 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
