/* GESCI-MINIMAL-MENU-1.0.0 | Hummingbird 2.1+ | only the native menu */
@media (min-width: 1200px) {
  .ps-mainmenu--desktop {
    --gesci-green: #32964b;
    --gesci-green-dark: #237438;
    --gesci-pale: #f0f8f1;
    --gesci-border: #e4ece5;
    --gesci-text: #253329;
    --gesci-muted: #687970;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    isolation: isolate;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree {
    width: 100%;
    background: #fff;
    padding: 0 !important;
    gap: .1rem !important;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree-item-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree-link {
    color: var(--gesci-text) !important;
    background: transparent !important;
    font-size: .87rem !important;
    font-weight: 600 !important;
    padding: .9rem .55rem !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree-dropdown-toggle {
    color: var(--gesci-muted) !important;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover > .ps-mainmenu__tree-item-wrapper,
  .ps-mainmenu--desktop .ps-mainmenu__tree-item.current > .ps-mainmenu__tree-item-wrapper {
    background: transparent !important;
    box-shadow: inset 0 -2px 0 var(--gesci-green) !important;
  }
  .ps-mainmenu--desktop .ps-mainmenu__tree-item:hover .ps-mainmenu__tree-link,
  .ps-mainmenu--desktop .ps-mainmenu__tree-item.current .ps-mainmenu__tree-link,
  .ps-mainmenu--desktop .ps-mainmenu__tree-link:focus-visible {
    color: var(--gesci-green-dark) !important;
  }
  .ps-mainmenu--desktop .submenu {
    background: #fff !important;
    color: var(--gesci-text) !important;
    border: 1px solid var(--gesci-border) !important;
    border-top: 2px solid var(--gesci-green) !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 16px 34px rgba(16, 39, 23, .11) !important;
    max-height: min(77vh, 690px);
    overflow-y: auto;
  }
  .ps-mainmenu--desktop .submenu .container { max-width: 1480px !important; }
  .ps-mainmenu--desktop .submenu__row {
    min-height: 310px !important;
    margin: 0 !important;
    --bs-gutter-x: 0;
  }
  .ps-mainmenu--desktop .submenu__left {
    flex: 0 0 19% !important;
    max-width: 19% !important;
    background: #fbfdfb !important;
    border-right: 1px solid var(--gesci-border) !important;
    padding: 1.2rem .75rem !important;
    display: flex;
    flex-direction: column;
    gap: .15rem;
  }
  .ps-mainmenu--desktop .submenu__left::before {
    content: 'LES RAYONS' !important;
    grid-column: auto !important;
    display: block !important;
    font-size: .66rem !important;
    letter-spacing: .1em !important;
    color: #7e9283 !important;
    font-weight: 700 !important;
    margin: .15rem .6rem .6rem !important;
  }
  .ps-mainmenu--desktop .submenu__left .submenu__left-item {
    color: #45574a !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: .84rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: .65rem .75rem !important;
    text-decoration: none !important;
  }
  .ps-mainmenu--desktop .submenu__left .submenu__left-item:hover,
  .ps-mainmenu--desktop .submenu__left .submenu__left-item.active,
  .ps-mainmenu--desktop .submenu__left .submenu__left-item[aria-selected="true"] {
    color: var(--gesci-green-dark) !important;
    background: #eaf5eb !important;
    border: 0 !important;
    box-shadow: inset 2px 0 0 var(--gesci-green) !important;
  }
  .ps-mainmenu--desktop .submenu__left-item::after { color: #8ab394 !important; }
  /* Cancel previous GESCI Tech 1.0.2 all-cards override for leaf-only universes. */
  .ps-mainmenu--desktop .submenu:has(.submenu__left-item):not(:has(.submenu__left-item[data-ps-has-child="true"])) .submenu__left {
    flex: 0 0 19% !important;
    max-width: 19% !important;
    display: flex !important;
    gap: .15rem !important;
    padding: 1.2rem .75rem !important;
    border-right: 1px solid var(--gesci-border) !important;
  }
  .ps-mainmenu--desktop .submenu__right {
    flex: 0 0 81% !important;
    max-width: 81% !important;
    background: #fff !important;
    padding: 1.2rem 1.3rem !important;
  }
  .ps-mainmenu--desktop .gesci-min__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.04fr);
    gap: 1.5rem;
    width: 100%;
    align-items: start;
  }
  .ps-mainmenu--desktop .gesci-min__col {
    min-width: 0;
  }
  .ps-mainmenu--desktop .gesci-min__col + .gesci-min__col {
    border-left: 1px solid var(--gesci-border);
    padding-left: 1.5rem;
  }
  .ps-mainmenu--desktop .gesci-min__heading {
    margin: 0 0 .9rem !important;
    color: #718077 !important;
    font-size: .67rem !important;
    font-weight: 750 !important;
    letter-spacing: .105em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
  }
  .ps-mainmenu--desktop .gesci-min__native-links {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: .15rem;
  }
  .ps-mainmenu--desktop .gesci-min__native-links ul,
  .ps-mainmenu--desktop .gesci-min__native-links li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .ps-mainmenu--desktop .gesci-min__native-links ul { padding-bottom: .3rem !important; }
  .ps-mainmenu--desktop .gesci-min__native-links a,
  .ps-mainmenu--desktop .gesci-min__personal-links a {
    display: block !important;
    padding: .36rem .25rem !important;
    color: #314136 !important;
    font-size: .84rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 4px;
    overflow-wrap: anywhere;
  }
  .ps-mainmenu--desktop .gesci-min__native-links .menu-item__group-main-item { font-weight: 700 !important; color: #223f2a !important; }
  .ps-mainmenu--desktop .gesci-min__native-links a:hover,
  .ps-mainmenu--desktop .gesci-min__personal-links a:hover {
    color: var(--gesci-green-dark) !important;
    background: var(--gesci-pale) !important;
  }
  .ps-mainmenu--desktop .gesci-min__personal-links { display: flex; flex-direction: column; gap: .12rem; }
  .ps-mainmenu--desktop .gesci-min__featured .gesci-min__product-card {
    background: #f8fcf9 !important;
    border: 1px solid #e2eee5 !important;
    box-shadow: none !important;
    padding: .8rem !important;
    border-radius: 10px !important;
  }
  .ps-mainmenu--desktop .gesci-min__product-image-link {
    display: block;
    background: #fff;
    border-radius: 6px;
    text-align: center;
    padding: .35rem;
  }
  .ps-mainmenu--desktop .gesci-min__product-image {
    display: block;
    width: 100%;
    height: 140px;
    object-fit: contain;
    margin: auto;
  }
  .ps-mainmenu--desktop .gesci-min__product-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #203328 !important;
    font-size: .87rem !important;
    line-height: 1.4;
    font-weight: 650 !important;
    text-decoration: none !important;
    margin: .75rem .2rem .4rem;
  }
  .ps-mainmenu--desktop .gesci-min__product-name:hover { color: var(--gesci-green-dark) !important; }
  .ps-mainmenu--desktop .gesci-min__product-category {
    margin: 0 .2rem .1rem;
    border-top: 1px solid #e3ede6;
    padding-top: .45rem;
  }
  .ps-mainmenu--desktop .gesci-min__category-link {
    color: var(--gesci-green-dark) !important;
    font-size: .78rem !important;
    font-weight: 650 !important;
    text-decoration: none !important;
  }
  .ps-mainmenu--desktop .gesci-min__empty { display: none !important; }
  .ps-mainmenu--desktop .gesci-min__grid.gesci-min__no-special { grid-template-columns: 1fr 1fr; }
  .ps-mainmenu--desktop .gesci-min__grid.gesci-min__no-product { grid-template-columns: 1fr 1fr; }
  .ps-mainmenu--desktop .gesci-min__grid.gesci-min__no-product.gesci-min__no-special { grid-template-columns: 1fr; }
  .ps-mainmenu--desktop a:focus-visible,
  .ps-mainmenu--desktop button:focus-visible { outline: 2px solid var(--gesci-green) !important; outline-offset: 2px; }
}
@media (max-width: 1199.98px) {
  /* Keep the native Hummingbird mobile offcanvas and keyboard behavior. */
  .ps-mainmenu--mobile .menu__link:focus-visible,
  .ps-mainmenu--mobile .menu__toggle-child:focus-visible { outline: 2px solid #32964b; }
}
@media (prefers-reduced-motion: reduce) {
  .ps-mainmenu--desktop *, .ps-mainmenu--mobile * { transition-duration: .01ms !important; }
}

/* GESCI : laisser notre grille utiliser toute la largeur */
@media (min-width: 1200px) {
  .ps-mainmenu--desktop
  .submenu__right-items.gesci-min__panel-ready {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0;
  }

  .ps-mainmenu--desktop .gesci-min__grid {
    grid-column: 1 / -1;
    width: 100%;
    grid-template-columns:
      minmax(0, 1.8fr)
      minmax(0, 0.9fr)
      minmax(0, 1fr);
  }
}
