/* Keep account access visible without squeezing the logo or language picker. */
.header-account-links { display: flex; align-items: center; gap: 20px; }
.header-account-links .mobile-registration { display: none; }
.section.legal-footer { column-gap: 0; }
.section.legal-footer a::before { content: "\00a0|\00a0"; margin: 0; }

/* The additional iOS entry needs the compact navigation on tablet widths too. */
@media (min-width: 861px) and (max-width: 1100px) {
  .site-header { height: auto; grid-template-columns: minmax(0,1fr) auto auto; grid-template-rows: 68px auto; gap: 0 12px; }
  .site-header > .brand { grid-column: 1; grid-row: 1; }
  .menu-button { display: block; grid-column: 3; grid-row: 1; }
  .header-actions { display: contents; }
  .header-actions .language-switcher { grid-column: 2; grid-row: 1; }
  .header-actions > .button { display: none; }
  .header-account-links { grid-column: 1 / -1; grid-row: 2; justify-content: flex-end; gap: 24px; border-top: 1px solid rgba(255,255,255,.1); }
  .header-account-links .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .header-account-links .mobile-registration { color: var(--green); }
  .site-nav { position: absolute; inset: 100% 0 auto; display: none; width: 100%; max-width: 100vw; height: auto; max-height: calc(100dvh - 113px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 12px 24px 24px; border-bottom: 1px solid rgba(255,255,255,.1); background: #000; }
  .menu-open .site-nav { display: grid; justify-content: stretch; }
  .site-nav a, .nav-dropdown > summary { padding: 11px 0; font-size: 14px; }
  .site-nav > a.active::after, .nav-dropdown.active > summary::after { display: none; }
  .site-nav .mobile-nav-contact { display: block; color: var(--green); }
  .nav-dropdown { width: 100%; min-width: 0; height: auto; display: block; }
  .nav-dropdown > summary { height: auto; }
  .nav-dropdown-panel { position: static; inset: auto; visibility: visible; display: none; width: 100%; max-width: 100%; min-width: 0; padding: 8px 0 8px 14px; border: 0; opacity: 1; background: transparent; box-shadow: none; transform: none; }
  .nav-dropdown[open] .nav-dropdown-panel { display: block; transform: none; }
  .nav-dropdown[open] .professional-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .professional-menu-head { padding: 7px 10px 11px; }
  .nav-dropdown-panel a { padding: 10px 12px; white-space: normal; border-left: 1px solid rgba(66,223,166,.22); }
  .nav-dropdown-panel :is(strong,span,small) { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 860px) {
  .site-header { height: auto; grid-template-rows: 68px auto; row-gap: 0; }
  .site-header > .brand { grid-column: 1; grid-row: 1; }
  .header-actions { display: contents; }
  .header-actions .language-switcher { grid-column: 2; grid-row: 1; }
  .header-actions > .button { display: none; }
  .header-account-links {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0 24px;
    min-width: 0;
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .header-account-links .text-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    color: #dcece6;
    font-size: 14px;
    line-height: 1.5;
  }
  .header-account-links .mobile-registration { color: var(--green); }
  .site-nav { top: 100%; max-height: calc(100dvh - 113px); }
  .site-nav .mobile-nav-contact { display: block; color: var(--green); }
}
