/* Businfo App 1.2.1-beta1 — responsive and accessibility release gate. */

html,
body.bi-template {
  max-inline-size: 100%;
  overflow-x: clip;
}

body.bi-template {
  min-inline-size: 0;
}

@supports not (overflow: clip) {
  html,
  body.bi-template {
    overflow-x: hidden;
  }
}

.bi-template-container,
.bi-header-inner,
.bi-primary-navigation,
.bi-header-actions,
.bi-page-shell,
.bi-content-grid,
.bi-main-column,
.bi-main-content,
.bi-workspace-host,
.bi-search-dialog,
.bi-live-search-region,
.bi-live-search-list,
.bi-live-search-option,
.bi-live-search-copy {
  min-inline-size: 0;
  max-inline-size: 100%;
}

body.bi-template img,
body.bi-template video,
body.bi-template iframe,
body.bi-template svg {
  max-inline-size: 100%;
}

.is-businfo-page .bi-main-content > *,
.is-businfo-page .bi-main-content form,
.is-businfo-page .bi-main-content fieldset,
.is-businfo-page .table-responsive {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.is-businfo-page .table-responsive {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.bi-site-header {
  isolation: isolate;
}

.bi-site-header.is-sticky {
  inset-block-start: 0;
}

.bi-header-inner {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
  overflow: visible;
}

.bi-brand,
.bi-brand-copy,
.bi-brand-copy strong,
.bi-brand-copy small,
.bi-user-chip,
.bi-user-chip-copy,
.bi-user-chip-copy strong,
.bi-user-chip-copy small,
.bi-user-summary-copy,
.bi-user-summary-copy strong,
.bi-user-summary-copy p {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.bi-brand-copy strong,
.bi-brand-copy small,
.bi-user-chip-copy strong,
.bi-user-chip-copy small,
.bi-user-summary-copy strong,
.bi-user-summary-copy p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-header-actions {
  flex: 0 0 auto;
  max-inline-size: 100%;
}

.bi-header-chip,
.bi-user-chip,
.bi-icon-button,
.bi-nav-toggle,
.bi-panel-close {
  min-block-size: 44px;
  min-inline-size: 44px;
}

.bi-header-chip > span,
.bi-header-register > span {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-main-content :where(h1, h2, h3, h4, p, a, button, label, td, th) {
  overflow-wrap: anywhere;
}

.bi-main-content [id] {
  scroll-margin-block-start: calc(var(--bi-ui-top-inset, 0px) + 1rem);
}

/* Search modal: bounded at every viewport and zoom level. */
.bi-search-dialog {
  box-sizing: border-box;
  inline-size: min(760px, calc(100vw - 2rem));
  max-block-size: min(86dvh, 820px);
  margin: auto;
  overflow: hidden;
  overscroll-behavior: contain;
}

.bi-search-dialog[open] {
  display: flex;
}

.bi-search-dialog-head,
.bi-global-search-form,
.bi-search-shortcuts-panel {
  min-inline-size: 0;
}

.bi-search-dialog-head {
  flex: 0 0 auto;
}

.bi-search-dialog-head > div {
  min-inline-size: 0;
}

.bi-search-dialog h2 {
  overflow-wrap: anywhere;
}

.bi-global-search-form {
  flex: 0 0 auto;
}

.bi-search-input-row {
  min-inline-size: 0;
}

.bi-search-input-row > * {
  min-inline-size: 0;
}

.bi-live-search-region {
  flex: 1 1 auto;
  overflow: hidden;
}

.bi-live-search-list {
  max-block-size: min(43dvh, 390px);
  overflow-block: auto;
  overflow-inline: hidden;
}

.bi-live-search-option {
  inline-size: 100%;
  min-block-size: 58px;
  box-sizing: border-box;
}

.bi-live-search-copy strong,
.bi-live-search-copy small {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.bi-live-search-copy strong {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.bi-live-search-copy small {
  display: -webkit-box;
  overflow: hidden;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.bi-search-shortcuts-panel {
  max-block-size: min(34dvh, 280px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.bi-search-shortcuts a {
  min-inline-size: 0;
  min-block-size: 44px;
}

.bi-search-shortcuts a span {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bi-search-dialog :focus-visible,
.bi-primary-navigation :focus-visible,
.bi-header-panel :focus-visible {
  outline: 3px solid var(--bi-color-primary);
  outline-offset: 3px;
}

/* Desktop release target: 1366 CSS pixels. */
@media (min-width: 1200px) and (max-width: 1399px) {
  .bi-header-inner {
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr) auto;
    gap: .55rem;
  }

  .bi-brand img {
    block-size: 40px;
    max-inline-size: 142px;
  }

  .bi-brand-copy {
    max-inline-size: 7.5rem;
  }

  .bi-brand-copy small {
    display: none;
  }

  .bi-menu,
  .bi-menu-fallback {
    gap: 0;
  }

  .bi-menu-link-row > a,
  .bi-menu-heading,
  .bi-menu-fallback > li > a {
    padding-inline: .48rem;
    font-size: .91rem;
  }

  .bi-header-actions {
    gap: .25rem;
  }

  .bi-header-chip {
    max-inline-size: 10.5rem;
    padding-inline: .68rem;
    font-size: .9rem;
  }
}

/* Tablet and desktop at 200% zoom. Partner registration remains in the drawer. */
@media (min-width: 768px) and (max-width: 1199px) {
  .bi-header-inner {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: .5rem;
  }

  .bi-brand {
    justify-self: start;
    max-inline-size: min(42vw, 168px);
  }

  .bi-brand img {
    block-size: 40px;
    max-inline-size: 156px;
  }

  .bi-brand-copy,
  .bi-header-register,
  .bi-user-chip-copy,
  .bi-user-chip-chevron {
    display: none !important;
  }

  .bi-header-login,
  .bi-user-chip {
    inline-size: 44px;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
  }

  .bi-header-login > span {
    display: none !important;
  }

  .bi-primary-navigation {
    max-inline-size: min(88vw, 360px);
  }

  .bi-search-dialog {
    inline-size: min(720px, calc(100vw - 2rem));
  }
}

/* Mobile release targets: 320–480 CSS pixels. */
@media (max-width: 767px) {
  .bi-template-container {
    inline-size: min(100% - 1rem, var(--bi-template-page-max));
  }

  .bi-header-inner {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: .25rem;
    min-block-size: 60px;
    padding-block: .3rem;
  }

  .bi-brand {
    max-inline-size: min(38vw, 120px);
  }

  .bi-brand img {
    block-size: 36px;
    max-inline-size: 112px;
  }

  .bi-header-actions {
    gap: .125rem;
  }

  .bi-search-dialog {
    inline-size: 100vw;
    max-inline-size: 100vw;
    max-block-size: calc(100dvh - var(--bi-safe-top));
    margin: auto 0 0;
    border-radius: 1.25rem 1.25rem 0 0;
  }

  .bi-search-dialog-head {
    padding: .85rem 1rem .7rem;
  }

  .bi-search-dialog-head h2 {
    font-size: clamp(1.2rem, 6vw, 1.5rem);
  }

  .bi-global-search-form {
    padding: .85rem 1rem;
  }

  .bi-search-input-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-live-search-region {
    margin-inline: 1rem;
  }

  .bi-live-search-list {
    max-block-size: none;
  }

  .bi-live-search-option {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: .6rem;
    padding-inline: .5rem;
  }

  .bi-search-shortcuts-panel {
    max-block-size: none;
    padding-block-end: calc(1rem + var(--bi-safe-bottom));
  }

  body.is-keyboard-open .bi-search-dialog {
    max-block-size: calc(100dvh - var(--bi-keyboard-inset) - var(--bi-safe-top));
  }
}

@media (max-width: 479px) {
  .bi-search-shortcuts {
    grid-template-columns: minmax(0, 1fr);
  }

  .bi-live-search-option {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }
}

@media (max-width: 359px) {
  .bi-template-container {
    inline-size: min(100% - .75rem, var(--bi-template-page-max));
  }

  .bi-header-inner {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: .125rem;
  }

  .bi-brand {
    max-inline-size: 104px;
  }

  .bi-brand img {
    max-inline-size: 100px;
  }

  .bi-header-actions .bi-icon-button,
  .bi-header-actions .bi-header-chip,
  .bi-header-actions .bi-user-chip,
  .bi-nav-toggle {
    inline-size: 42px;
    min-inline-size: 42px;
  }

  .bi-search-dialog-head,
  .bi-global-search-form,
  .bi-search-shortcuts-panel {
    padding-inline: .75rem;
  }

  .bi-live-search-region {
    margin-inline: .75rem;
  }
}

@media (max-height: 620px) and (min-width: 768px) {
  .bi-search-dialog {
    max-block-size: calc(100dvh - 1rem);
  }

  .bi-search-dialog-head {
    padding-block-start: .85rem;
  }

  .bi-global-search-form {
    padding-block: .8rem;
  }

  .bi-search-shortcuts-panel {
    max-block-size: 160px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bi-search-dialog::backdrop,
  .bi-primary-navigation,
  .bi-header-panel {
    scroll-behavior: auto;
  }
}

@media (forced-colors: active) {
  .bi-search-dialog,
  .bi-live-search-option,
  .bi-search-shortcuts a {
    border: 1px solid CanvasText;
  }

  .bi-search-dialog :focus-visible,
  .bi-primary-navigation :focus-visible,
  .bi-header-panel :focus-visible {
    outline-color: Highlight;
  }
}
