/* Responsive corrections for the cloned layouts; no document-wide clipping. */
.bb-card [data-broker-identity] { min-width: 0; }
.tc-policy { display: flow-root; }

@media (min-width: 1280px) and (max-width: 1399px) {
  #site-menu { column-gap: 32px; }
  #menu { column-gap: 32px; }
}

@media (max-width: 767px) {
  .bb-card [data-broker-identity] { flex-wrap: wrap; row-gap: 12px; }
}

@media (max-width: 374px) {
  .bb-card [data-broker-identity] {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

/* Fixed desktop gaps and columns do not fit into tablet broker cards. */
@media (min-width: 768px) and (max-width: 1099px) {
  .bb-card [data-broker-summary] {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr) 180px;
    align-items: center;
    gap: 24px;
    padding-inline: 24px;
  }
  .bb-card [data-broker-summary] > * {
    width: auto;
    min-width: 0;
    margin-inline: 0;
  }
  .bb-card [data-broker-summary] [data-broker-identity] > img { max-width: 140px; }
  .bb-card [data-broker-summary] li { line-height: 1.6; align-items: flex-start; }
  .bb-card [data-broker-summary] li > span { overflow-wrap: anywhere; }
}

/* Keep long translated tab labels reachable inside their own navigation strip. */
.bb-moreinfo [x-ref="tabsScroll"] { overflow-x: auto; scrollbar-width: thin; }
.bb-moreinfo [x-ref="tabsScroll"] > button { flex: 1 0 auto; padding-inline: 16px; }

/* A form and three benefit columns need more space than the source breakpoint allowed. */
@media (min-width: 768px) and (max-width: 1199px) {
  [data-partner-section] { padding-inline: 32px; }
  [data-partner-columns] { flex-direction: column; gap: 56px; }
  [data-partner-columns] > * { width: 100%; max-width: none; min-width: 0; flex: auto; }
  [data-partner-form-column] { margin: 0; }
  [data-partner-columns] h1 { max-width: 720px; }
  [data-partner-columns] .swiper-wrapper { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Use the compact navigation until translated links and the logo actually fit. */
@media (max-width: 1279px) {
  #site-menu { flex-direction: column; padding-inline: 24px; }
  #site-menu > div:first-child { width: 100%; flex: none; align-self: stretch; }
  html[dir="rtl"] #site-menu > div:first-child { flex-direction: row-reverse; }
  #menuBtn { display: block; }
  #menu {
    width: 100%; min-width: 0; height: auto; align-self: stretch;
    flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 20px;
  }
  #menu.hidden { display: none; }
  #menu.flex { display: flex; }
  #menu > a, #menu > .menu-dropdown { width: 100%; flex: none; }
  #menu > a, #menu .dropdown-btn > p { white-space: normal; }
  #menu .dropdown-btn { display: flex; cursor: pointer; }
  #menu .dropdown-arw { display: block; }
  #menu .dropdown-box {
    position: static; transform: none; translate: none; width: 100%;
    flex-direction: column; gap: 12px; padding: 20px 24px;
  }
  #menu .dropdown-box.hidden { display: none; }
  #menu .dropdown-box.flex { display: flex; }
  #menu .dropdown-box > div { width: 100%; }
  #top.h-screen { position: fixed; inset: 0 0 auto; height: 100dvh; overflow-y: auto; }
}
