/* Mobile language menu and secondary modules; primary tabs retain their established styling. */
.asem-mobile-modules { display: none; }

@media (max-width: 1199.98px) {
  .header-layout1 .asem-primary-navigation .language-switcher--mobile-header {
    z-index: 1050;
    direction: ltr;
  }
  .language-switcher--mobile-header .language-switcher__quick {
    display: contents;
  }
  .language-switcher--mobile-header .language-switcher__mobile-trigger {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cfe7eb;
    border-radius: 10px;
    background: #eff9fa;
    cursor: pointer;
  }
  .language-switcher--mobile-header .language-switcher__mobile-trigger img { width: 22px; height: 22px; filter: invert(47%) sepia(79%) saturate(589%) hue-rotate(128deg) brightness(91%); }
  .language-switcher--mobile-header .language-switcher__mobile-trigger:hover,
  .language-switcher--mobile-header .language-switcher__mobile-trigger[aria-expanded='true'] { background: #dff5f4; border-color: #8ecfca; }
  .language-switcher--mobile-header .language-switcher__mobile-trigger:focus-visible,
  .language-switcher--mobile-header .language-switcher__mobile-option:focus-visible { outline: 2px solid #0baca3; outline-offset: 2px; }
  .language-switcher--mobile-header .language-switcher__mobile-menu {
    position: absolute;
    z-index: 1051;
    top: calc(100% + 8px);
    right: 0;
    width: 224px;
    max-width: calc(100vw - 24px);
    max-height: min(72dvh, 410px);
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #d8e5ee;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 17px 34px rgba(6, 32, 72, .19);
    direction: ltr;
  }
  .language-switcher--mobile-header .language-switcher__mobile-menu[hidden] { display: none; }
  .language-switcher--mobile-header .language-switcher__mobile-option {
    display: flex;
    min-height: 41px;
    align-items: center;
    gap: 10px;
    padding: 4px 9px;
    border-radius: 7px;
    color: #102c56;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
  }
  .language-switcher--mobile-header .language-switcher__mobile-option img:first-child { width: 23px; height: 16px; flex: 0 0 23px; object-fit: cover; border-radius: 2px; }
  .language-switcher--mobile-header .language-switcher__mobile-option span { flex: 1 1 auto; text-align: left; }
  .language-switcher--mobile-header .language-switcher__mobile-option:hover,
  .language-switcher--mobile-header .language-switcher__mobile-option.is-current { background: #edf5fb; color: #0a3974; }
  .language-switcher--mobile-header .language-switcher__mobile-check { width: 13px; height: 13px; flex: 0 0 13px; }
  .language-switcher--mobile-header .language-switcher__mobile-divider { height: 1px; margin: 4px 7px; background: #e3ebf2; }

  .asem-mobile-modules {
    position: sticky;
    z-index: 1029;
    top: 48px;
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: stretch;
    padding-inline: max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right));
    background: #052a47;
    box-shadow: 0 4px 12px rgba(3, 28, 51, .12);
    direction: ltr;
  }
  .asem-mobile-modules__link {
    position: relative;
    display: inline-flex;
    min-width: 0;
    min-height: 54px;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 3px;
    color: #fff;
    font-size: clamp(10px, 2.9vw, 12px);
    font-weight: 650;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .16s ease;
  }
  .asem-mobile-modules__link--guidelines { flex-grow: 1.28; }
  .asem-mobile-modules__link + .asem-mobile-modules__link::before { position: absolute; left: 0; top: 12px; bottom: 12px; width: 1px; background: #32bbb7; content: ''; }
  .asem-mobile-modules__link i,
  .asem-mobile-modules__link svg { display: block; width: 20px; height: 20px; flex: 0 0 20px; font-size: 20px; }
  .asem-mobile-modules__link--events i { color: #12c5c7; }
  .asem-mobile-modules__link--formations svg { color: #bb91ef; }
  .asem-mobile-modules__link--guidelines i { color: #ff9d51; }
  .asem-mobile-modules__link:hover,
  .asem-mobile-modules__link.is-active { color: #fff; background: rgba(255, 255, 255, .085); }
  .asem-mobile-modules__link.is-active::after { position: absolute; right: 15px; bottom: 0; left: 15px; height: 2px; background: #46d4d0; content: ''; }
  .asem-mobile-modules__link:focus-visible { outline: 2px solid #76e9e5; outline-offset: -3px; }
}

@media (max-width: 389.98px) {
  .language-switcher--mobile-header .language-switcher__mobile-trigger { width: 36px; height: 36px; flex-basis: 36px; }
  .asem-mobile-modules__link { gap: 4px; padding-inline: 2px; }
  .asem-mobile-modules__link i,
  .asem-mobile-modules__link svg { width: 17px; height: 17px; flex-basis: 17px; font-size: 17px; }
}

@media (max-width: 430px) {
  .header-layout1 .asem-primary-navigation .language-switcher--mobile-header {
    right: max(58px, calc(46px + env(safe-area-inset-right)));
    gap: 1px;
  }
  .language-switcher--mobile-header .language-switcher__link { padding-inline: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .asem-mobile-modules__link { transition: none; }
}
