/* Page lock — Aide aux devoirs : garantit menu, footer et tableaux mobile
   si mobile-critical-fixes.css ne charge pas (cache, chemin, etc.) */

@media screen and (max-width: 991px) {
  .top-banner {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 120 !important;
  }

  body {
    padding-top: var(--mobile-offset-top, 100px) !important;
  }

  .header.w-nav {
    position: fixed !important;
    top: var(--top-banner-height, 44px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 6px 12px 0 !important;
  }

  .header .container-default,
  .header-container {
    background: transparent !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  .header-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    background-color: #fff !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(18, 28, 87, 0.14) !important;
    padding: 5px 6px 5px 4px !important;
    min-height: 58px !important;
  }

  .brand.w-nav-brand {
    display: inline-flex !important;
    align-items: center !important;
    height: 44px !important;
    padding: 0 2px 0 4px !important;
  }

  .brand.w-nav-brand .header-logo {
    width: 82px !important;
    max-width: 82px !important;
    height: auto !important;
    max-height: 40px !important;
  }

  .header-cta-split {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .header-cta-split .cta-primary {
    display: none !important;
  }

  .header-cta-split .cta-phone {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #0d3560 !important;
    color: #fff !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 20px !important;
    border: 2px solid #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .menu-button.w-nav-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 8px !important;
    border-radius: 50% !important;
    background-color: #064ea4 !important;
  }

  .w-nav[data-collapse='medium'] .w-nav-menu:not(.w--open):not([data-nav-menu-open]) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .header.w-nav[data-collapse='medium'] .nav-menu.w-nav-menu.w--open,
  .header.w-nav[data-collapse='medium'] .w-nav-menu.w--open,
  .header.w-nav[data-collapse='medium'] .w-nav-menu[data-nav-menu-open],
  [data-nav-menu-open].nav-menu.w-nav-menu,
  [data-nav-menu-open].w-nav-menu {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: var(--mobile-drawer-top, 100px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    z-index: 999 !important;
    background-color: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 32px rgba(18, 28, 87, 0.16) !important;
    padding: 0 !important;
  }

  .header-navigation {
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column !important;
  }

  .nav-item-wrapper {
    border-bottom: 1px solid rgba(15, 67, 127, 0.08) !important;
  }

  .nav-link {
    font-size: 18px !important;
    padding: 12px 16px !important;
    min-height: 44px !important;
    width: 100% !important;
    text-decoration: none !important;
  }

  /* Tableaux objectifs → cartes */
  .course-rich-text-wrapper table,
  .course-rich-text-wrapper .rich-text table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 !important;
  }

  .course-rich-text-wrapper thead {
    display: none !important;
  }

  .course-rich-text-wrapper tbody,
  .course-rich-text-wrapper tbody tr {
    display: block !important;
    width: 100% !important;
  }

  .course-rich-text-wrapper tbody td {
    display: block !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    padding: 12px 16px 16px !important;
    border-radius: 12px !important;
    background: #f6f9ff !important;
    box-shadow: 0 1px 0 rgba(24, 78, 172, 0.08), 0 0 0 1px rgba(24, 78, 172, 0.12) !important;
  }

  .course-rich-text-wrapper tbody td::before {
    content: "";
    display: block;
    background: #184eac;
    color: #fff;
    padding: 10px 16px;
    margin: -12px -16px 12px;
    font-weight: 700;
    text-align: center;
    font-size: 15px;
  }

  .course-rich-text-wrapper tbody td:nth-child(1)::before {
    content: "Court terme";
  }

  .course-rich-text-wrapper tbody td:nth-child(2)::before {
    content: "Moyen terme";
  }

  .course-rich-text-wrapper tbody td:nth-child(3)::before {
    content: "Long terme";
  }
}
