/* CessionDeSite.fr — responsive skin for PrestaShop ps_mainmenu */
#_desktop_top_menu {
  --cds-ink: #172845;
  --cds-orange: #f07824;
  --cds-orange-strong: #e85d04;
  --cds-soft: #fff6ef;
  --cds-line: #e8edf4;
  position: relative !important;
  z-index: 40;
  width: 100%;
  font-family: inherit;
}

#_desktop_top_menu ul.top-menu,
#_desktop_top_menu ul.top-menu li {
  box-sizing: border-box;
  list-style: none;
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] {
  display: flex;
  align-items: center;
  gap: clamp(6px, 1vw, 16px);
  min-height: 62px;
  margin: 0;
  padding: 0;
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] > li {
  position: relative;
  margin: 0;
  padding: 0;
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] > li > a.dropdown-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--cds-ink);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] > li:hover > a.dropdown-item,
#_desktop_top_menu > ul.top-menu[data-depth="0"] > li:focus-within > a.dropdown-item,
#_desktop_top_menu > ul.top-menu[data-depth="0"] > li.current > a.dropdown-item {
  border-color: #ffd0b0;
  background: #fff1e7;
  color: var(--cds-orange-strong);
  box-shadow: 0 5px 18px rgba(232, 93, 4, .12);
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] > li:has(> .sub-menu) > a.dropdown-item::after {
  width: 8px;
  height: 8px;
  margin: -4px 0 0 2px;
  border-right: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  content: "";
  transform: rotate(45deg);
  transition: transform .2s ease;
}

#_desktop_top_menu > ul.top-menu[data-depth="0"] > li:has(> .sub-menu):hover > a.dropdown-item::after,
#_desktop_top_menu > ul.top-menu[data-depth="0"] > li:has(> .sub-menu):focus-within > a.dropdown-item::after {
  transform: translateY(3px) rotate(225deg);
}

@media (min-width: 1024px) {
  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    right: auto !important;
    left: 0 !important;
    z-index: 1000;
    display: block !important;
    width: min(400px, calc(100vw - 36px)) !important;
    max-height: min(72vh, 680px);
    overflow: auto;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(23, 40, 69, .08) !important;
    border-top: 3px solid var(--cds-orange) !important;
    border-radius: 0 0 20px 20px !important;
    background: #fff !important;
    box-shadow: 0 22px 55px rgba(21, 44, 76, .18), 0 5px 16px rgba(21, 44, 76, .08) !important;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px) scale(.985);
    transform-origin: top left;
    transition: opacity .2s ease, transform .2s cubic-bezier(.2,.75,.25,1), visibility .2s ease;
    visibility: hidden;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:nth-last-child(-n+2) > .sub-menu {
    right: 0 !important;
    left: auto !important;
    transform-origin: top right;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:hover > .sub-menu,
  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:focus-within > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu::before {
    display: block;
    margin: 0 0 11px;
    padding: 0 3px 12px;
    border-bottom: 1px solid var(--cds-line);
    color: var(--cds-orange);
    content: "DÉCOUVRIR LES RUBRIQUES";
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu > ul.top-menu[data-depth="1"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: 6px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .sub-menu ul.top-menu li {
    display: block !important;
    position: relative;
    float: none !important;
    flex: 0 0 100%;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .sub-menu ul.top-menu a.dropdown-item {
    display: flex !important;
    position: relative;
    align-items: center;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 50px;
    box-sizing: border-box;
    padding: 11px 43px 11px 15px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--cds-ink) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    white-space: normal;
    transition: background-color .17s ease, border-color .17s ease, color .17s ease, box-shadow .17s ease, transform .17s ease;
  }

  #_desktop_top_menu .sub-menu ul.top-menu[data-depth="1"] > li > a.dropdown-item::after {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #91a1b6;
    border-right: 1.5px solid #91a1b6;
    content: "";
    transform: translateY(-50%) rotate(45deg);
    transition: right .17s ease, border-color .17s ease;
  }

  #_desktop_top_menu .sub-menu ul.top-menu[data-depth="1"] > li > a.dropdown-item:hover,
  #_desktop_top_menu .sub-menu ul.top-menu[data-depth="1"] > li > a.dropdown-item:focus-visible {
    border-color: #ffd8bf !important;
    background: var(--cds-soft) !important;
    color: var(--cds-orange-strong) !important;
    box-shadow: 0 5px 16px rgba(232, 93, 4, .1);
    transform: translateX(3px);
  }

  #_desktop_top_menu .sub-menu ul.top-menu[data-depth="1"] > li > a.dropdown-item:hover::after,
  #_desktop_top_menu .sub-menu ul.top-menu[data-depth="1"] > li > a.dropdown-item:focus-visible::after {
    right: 14px;
    border-color: var(--cds-orange);
  }

  #_desktop_top_menu .sub-menu ul.top-menu ul.top-menu {
    display: block !important;
    width: 100% !important;
    margin: 5px 0 !important;
    padding: 4px 0 4px 15px !important;
    border-left: 1px solid var(--cds-line);
  }

  #_desktop_top_menu .sub-menu ul.top-menu ul.top-menu a.dropdown-item {
    min-height: 36px;
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #718096 !important;
    font-size: 15px;
    font-weight: 500;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #_desktop_top_menu > ul.top-menu[data-depth="0"] {
    gap: 4px;
    flex-wrap: wrap;
    overflow: visible;
    padding: 0 8px;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li {
    flex: 0 0 auto;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > a.dropdown-item {
    min-height: 44px;
    padding: 0 12px;
    font-size: 16px;
    white-space: nowrap;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu {
    position: absolute !important;
    top: calc(100% - 1px) !important;
    right: auto !important;
    left: 0 !important;
    z-index: 1000;
    display: block !important;
    width: min(370px, calc(100vw - 28px)) !important;
    max-height: 65vh;
    overflow: auto;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(23, 40, 69, .08) !important;
    border-top: 3px solid var(--cds-orange) !important;
    border-radius: 0 0 18px 18px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(21, 44, 76, .17) !important;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:nth-last-child(-n+2) > .sub-menu {
    right: 0 !important;
    left: auto !important;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:hover > .sub-menu,
  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:focus-within > .sub-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu > ul.top-menu[data-depth="1"],
  #_desktop_top_menu .sub-menu ul.top-menu li,
  #_desktop_top_menu .sub-menu ul.top-menu a.dropdown-item {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }

  #_desktop_top_menu .sub-menu ul.top-menu li {
    float: none !important;
  }

  #_desktop_top_menu .sub-menu ul.top-menu a.dropdown-item {
    display: flex !important;
    min-height: 48px;
    padding: 10px 42px 10px 14px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--cds-ink) !important;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  /* The stock module hides its desktop menu on phones. Show it as a touch menu. */
  #_desktop_top_menu.hidden-sm-down {
    display: block !important;
    position: relative !important;
    width: 100%;
    padding: 8px 14px 14px;
    background: #fff;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    min-height: 0;
    max-height: 65vh;
    overflow-y: auto;
    padding: 0;
    border: 1px solid var(--cds-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(21, 44, 76, .1);
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li {
    width: 100%;
    border-bottom: 1px solid #eef2f7;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:last-child {
    border-bottom: 0;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > a.dropdown-item {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
    min-height: 54px;
    padding: 10px 14px;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--cds-ink);
    font-size: 17px;
    white-space: normal;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li.current > a.dropdown-item,
  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > a.dropdown-item:focus-visible {
    background: #fff1e7;
    color: var(--cds-orange-strong);
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li:has(> .sub-menu) > a.dropdown-item::after {
    display: none;
  }

  #_desktop_top_menu .collapse-icons {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 10px;
    border: 1px solid #ffd0b0;
    border-radius: 50%;
    background: #fff1e7;
    color: var(--cds-orange-strong);
  }

  #_desktop_top_menu .collapse-icons .material-icons {
    font-size: 21px;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu {
    position: static !important;
    width: 100% !important;
    max-height: none;
    overflow: visible;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 4px 12px 13px !important;
    border: 0 !important;
    border-left: 3px solid var(--cds-orange) !important;
    border-radius: 0 !important;
    background: #fff8f3 !important;
    box-shadow: none !important;
    opacity: 1;
    transform: none;
    visibility: visible;
  }

  #_desktop_top_menu > ul.top-menu[data-depth="0"] > li > .sub-menu::before {
    display: block;
    margin: 0 0 6px;
    padding: 4px 8px 8px;
    color: var(--cds-orange);
    content: "DÉCOUVRIR";
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
  }

  #_desktop_top_menu .sub-menu ul.top-menu {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .sub-menu ul.top-menu li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #_desktop_top_menu .sub-menu ul.top-menu a.dropdown-item {
    display: flex !important;
    width: 100% !important;
    min-height: 48px;
    box-sizing: border-box;
    padding: 10px 38px 10px 12px !important;
    border: 1px solid #e6edf6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--cds-ink) !important;
    font-size: 16px;
    white-space: normal;
  }

  #_desktop_top_menu .sub-menu ul.top-menu ul.top-menu {
    padding: 3px 0 4px 10px !important;
    border-left: 1px solid #dce5ef;
  }
}

@media (prefers-reduced-motion: reduce) {
  #_desktop_top_menu a.dropdown-item,
  #_desktop_top_menu .sub-menu {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}


/* ==========================================================
   CessionDeSite.fr — amélioration du menu coulissant mobile
   v1.3 : styles limités aux écrans mobiles et aux conteneurs
   de navigation. Ne remplace pas le module ps_mainmenu.
   ========================================================== */
@media (max-width: 767px) {
  :root {
    --cds-mobile-navy: #12213B;
    --cds-mobile-orange: #FF6600;
    --cds-mobile-line: rgba(255,255,255,.12);
  }

  /* Menu coulissant : préserver le fond marine et renforcer la lisibilité */
  #mobile_top_menu_wrapper,
  #mobile_top_menu,
  .mobile-menu,
  .mobile-menu-wrapper,
  .mobile-menu-container,
  .mobile-menu-content,
  .mobile-nav,
  .mobile-navigation,
  .offcanvas-menu,
  .header-mobile-menu,
  .menu-mobile {
    box-sizing: border-box;
  }

  #mobile_top_menu_wrapper,
  #mobile_top_menu,
  .mobile-menu,
  .mobile-menu-wrapper,
  .mobile-menu-container,
  .mobile-menu-content,
  .mobile-nav,
  .mobile-navigation,
  .offcanvas-menu,
  .header-mobile-menu,
  .menu-mobile {
    color: #FFFFFF;
  }

  /* Liens : grands tap targets, séparation fine, sans double effet coloré */
  #mobile_top_menu_wrapper a,
  #mobile_top_menu a,
  .mobile-menu a,
  .mobile-menu-wrapper a,
  .mobile-menu-container a,
  .mobile-menu-content a,
  .mobile-nav a,
  .mobile-navigation a,
  .offcanvas-menu a,
  .header-mobile-menu a,
  .menu-mobile a {
    -webkit-tap-highlight-color: rgba(255,102,0,.12);
    overflow-wrap: anywhere;
  }

  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li,
  #mobile_top_menu ul.top-menu[data-depth="0"] > li {
    border-bottom: 1px solid rgba(255,255,255,.10);
  }

  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li > a,
  #mobile_top_menu ul.top-menu[data-depth="0"] > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 13px 18px;
    color: #FFFFFF;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 600;
    text-decoration: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #mobile_top_menu_wrapper ul.top-menu[data-depth="0"] > li > a:active,
  #mobile_top_menu ul.top-menu[data-depth="0"] > li > a:active {
    background: rgba(255,102,0,.12);
    color: #FFFFFF;
  }

  /* Sous-menus restent lisibles sur fond marine */
  #mobile_top_menu_wrapper .sub-menu,
  #mobile_top_menu .sub-menu {
    padding: 6px 12px 12px !important;
    background: rgba(0,0,0,.12) !important;
    border-left: 2px solid #FF6600 !important;
    box-shadow: none !important;
  }

  #mobile_top_menu_wrapper .sub-menu a,
  #mobile_top_menu .sub-menu a {
    min-height: 46px;
    padding: 11px 12px !important;
    color: #F7F9FC !important;
    font-size: 15px !important;
    line-height: 1.35;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    white-space: normal;
  }

  /* Barre de recherche déjà présente dans le tiroir mobile.
     Plusieurs sélecteurs sont prévus car Prestacrea peut varier selon la zone. */
  #mobile_top_menu_wrapper form[role="search"],
  #mobile_top_menu form[role="search"],
  .mobile-menu form[role="search"],
  .mobile-menu-wrapper form[role="search"],
  .mobile-menu-container form[role="search"],
  .mobile-menu-content form[role="search"],
  .mobile-nav form[role="search"],
  .mobile-navigation form[role="search"],
  .offcanvas-menu form[role="search"],
  .header-mobile-menu form[role="search"],
  .menu-mobile form[role="search"],
  #mobile_top_menu_wrapper .search-widget,
  #mobile_top_menu .search-widget,
  .mobile-menu .search-widget,
  .mobile-menu-wrapper .search-widget,
  .mobile-menu-container .search-widget,
  .mobile-menu-content .search-widget,
  .mobile-nav .search-widget,
  .mobile-navigation .search-widget,
  .offcanvas-menu .search-widget,
  .header-mobile-menu .search-widget,
  .menu-mobile .search-widget {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  #mobile_top_menu_wrapper .input-group,
  #mobile_top_menu .input-group,
  .mobile-menu .input-group,
  .mobile-menu-wrapper .input-group,
  .mobile-menu-container .input-group,
  .mobile-menu-content .input-group,
  .mobile-nav .input-group,
  .mobile-navigation .input-group,
  .offcanvas-menu .input-group,
  .header-mobile-menu .input-group,
  .menu-mobile .input-group,
  #mobile_top_menu_wrapper .cession-search-group,
  #mobile_top_menu .cession-search-group,
  .mobile-menu .cession-search-group,
  .mobile-menu-wrapper .cession-search-group,
  .mobile-menu-container .cession-search-group,
  .mobile-menu-content .cession-search-group,
  .mobile-nav .cession-search-group,
  .mobile-navigation .cession-search-group,
  .offcanvas-menu .cession-search-group,
  .header-mobile-menu .cession-search-group,
  .menu-mobile .cession-search-group {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  #mobile_top_menu_wrapper input[type="text"],
  #mobile_top_menu input[type="text"],
  .mobile-menu input[type="text"],
  .mobile-menu-wrapper input[type="text"],
  .mobile-menu-container input[type="text"],
  .mobile-menu-content input[type="text"],
  .mobile-nav input[type="text"],
  .mobile-navigation input[type="text"],
  .offcanvas-menu input[type="text"],
  .header-mobile-menu input[type="text"],
  .menu-mobile input[type="text"],
  #mobile_top_menu_wrapper input.search_query,
  #mobile_top_menu input.search_query,
  .mobile-menu input.search_query,
  .mobile-menu-wrapper input.search_query,
  .mobile-menu-container input.search_query,
  .mobile-menu-content input.search_query,
  .mobile-nav input.search_query,
  .mobile-navigation input.search_query,
  .offcanvas-menu input.search_query,
  .header-mobile-menu input.search_query,
  .menu-mobile input.search_query {
    flex: 1 1 auto !important;
    width: 1% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: #12213B !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  #mobile_top_menu_wrapper button[type="submit"],
  #mobile_top_menu button[type="submit"],
  .mobile-menu button[type="submit"],
  .mobile-menu-wrapper button[type="submit"],
  .mobile-menu-container button[type="submit"],
  .mobile-menu-content button[type="submit"],
  .mobile-nav button[type="submit"],
  .mobile-navigation button[type="submit"],
  .offcanvas-menu button[type="submit"],
  .header-mobile-menu button[type="submit"],
  .menu-mobile button[type="submit"],
  #mobile_top_menu_wrapper .cession-search-button,
  #mobile_top_menu .cession-search-button,
  .mobile-menu .cession-search-button,
  .mobile-menu-wrapper .cession-search-button,
  .mobile-menu-container .cession-search-button,
  .mobile-menu-content .cession-search-button,
  .mobile-nav .cession-search-button,
  .mobile-navigation .cession-search-button,
  .offcanvas-menu .cession-search-button,
  .header-mobile-menu .cession-search-button,
  .menu-mobile .cession-search-button {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 48% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: #FFFFFF !important;
    background: #FF6600 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-transform: uppercase;
  }

  #mobile_top_menu_wrapper button[type="submit"]:hover,
  #mobile_top_menu button[type="submit"]:hover,
  .mobile-menu button[type="submit"]:hover,
  .mobile-menu-wrapper button[type="submit"]:hover,
  .mobile-menu-container button[type="submit"]:hover,
  .mobile-menu-content button[type="submit"]:hover,
  .mobile-nav button[type="submit"]:hover,
  .mobile-navigation button[type="submit"]:hover,
  .offcanvas-menu button[type="submit"]:hover,
  .header-mobile-menu button[type="submit"]:hover,
  .menu-mobile button[type="submit"]:hover,
  #mobile_top_menu_wrapper .cession-search-button:hover,
  #mobile_top_menu .cession-search-button:hover,
  .mobile-menu .cession-search-button:hover,
  .mobile-menu-wrapper .cession-search-button:hover,
  .mobile-menu-container .cession-search-button:hover,
  .mobile-menu-content .cession-search-button:hover,
  .mobile-nav .cession-search-button:hover,
  .mobile-navigation .cession-search-button:hover,
  .offcanvas-menu .cession-search-button:hover,
  .header-mobile-menu .cession-search-button:hover,
  .menu-mobile .cession-search-button:hover {
    color: #FFFFFF !important;
    background: #FF6600 !important;
  }

  #mobile_top_menu_wrapper button[type="submit"] svg,
  #mobile_top_menu button[type="submit"] svg,
  .mobile-menu button[type="submit"] svg,
  .mobile-menu-wrapper button[type="submit"] svg,
  .mobile-menu-container button[type="submit"] svg,
  .mobile-menu-content button[type="submit"] svg,
  .mobile-nav button[type="submit"] svg,
  .mobile-navigation button[type="submit"] svg,
  .offcanvas-menu button[type="submit"] svg,
  .header-mobile-menu button[type="submit"] svg,
  .menu-mobile button[type="submit"] svg,
  .mobile-menu .cession-search-button svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 auto !important;
  }

  /* Empêche les anciennes tailles de texte de faire déborder le tiroir */
  #mobile_top_menu_wrapper,
  #mobile_top_menu,
  .mobile-menu,
  .mobile-menu-wrapper,
  .mobile-menu-container,
  .mobile-menu-content,
  .mobile-nav,
  .mobile-navigation,
  .offcanvas-menu,
  .header-mobile-menu,
  .menu-mobile {
    max-width: 100vw;
  }
}


/* ==========================================================
   v1.4 — FIX RECHERCHE DANS LE TIROIR MOBILE PRESTACREA
   Cible les instances natives et custom (ID ou classe).
   Priorité : largeur 100 %, bouton non écrasé, texte lisible.
   ========================================================== */
@media (max-width: 767px) {
  /* Conteneurs possibles du menu coulissant */
  #mobile_top_menu_wrapper #search_widget,
  #mobile_top_menu #search_widget,
  #mobile_top_menu_wrapper .search-widget,
  #mobile_top_menu .search-widget,
  .offcanvas #search_widget,
  .offcanvas .search-widget,
  .offcanvas-menu #search_widget,
  .offcanvas-menu .search-widget,
  .mobile-menu #search_widget,
  .mobile-menu .search-widget,
  .mobile-menu-wrapper #search_widget,
  .mobile-menu-wrapper .search-widget,
  .mobile-menu-container #search_widget,
  .mobile-menu-container .search-widget,
  .mobile-menu-content #search_widget,
  .mobile-menu-content .search-widget,
  .header-mobile-menu #search_widget,
  .header-mobile-menu .search-widget,
  #search_widget {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #mobile_top_menu_wrapper #search_widget form,
  #mobile_top_menu #search_widget form,
  .offcanvas #search_widget form,
  .offcanvas .search-widget form,
  .offcanvas-menu #search_widget form,
  .offcanvas-menu .search-widget form,
  .mobile-menu #search_widget form,
  .mobile-menu .search-widget form,
  .mobile-menu-wrapper #search_widget form,
  .mobile-menu-wrapper .search-widget form,
  .mobile-menu-container #search_widget form,
  .mobile-menu-container .search-widget form,
  .mobile-menu-content #search_widget form,
  .mobile-menu-content .search-widget form,
  .header-mobile-menu #search_widget form,
  .header-mobile-menu .search-widget form,
  #search_widget form {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  #mobile_top_menu_wrapper .cession-search-group,
  #mobile_top_menu .cession-search-group,
  .offcanvas .cession-search-group,
  .offcanvas-menu .cession-search-group,
  .mobile-menu .cession-search-group,
  .mobile-menu-wrapper .cession-search-group,
  .mobile-menu-container .cession-search-group,
  .mobile-menu-content .cession-search-group,
  .header-mobile-menu .cession-search-group,
  #mobile_top_menu_wrapper #search_widget .input-group,
  #mobile_top_menu #search_widget .input-group,
  .offcanvas #search_widget .input-group,
  .offcanvas .search-widget .input-group,
  .offcanvas-menu #search_widget .input-group,
  .offcanvas-menu .search-widget .input-group,
  .mobile-menu #search_widget .input-group,
  .mobile-menu .search-widget .input-group,
  .mobile-menu-wrapper #search_widget .input-group,
  .mobile-menu-wrapper .search-widget .input-group,
  .mobile-menu-container #search_widget .input-group,
  .mobile-menu-container .search-widget .input-group,
  .mobile-menu-content #search_widget .input-group,
  .mobile-menu-content .search-widget .input-group,
  .header-mobile-menu #search_widget .input-group,
  .header-mobile-menu .search-widget .input-group,
  #search_widget .input-group {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  #mobile_top_menu_wrapper input.cession-search-input,
  #mobile_top_menu input.cession-search-input,
  .offcanvas input.cession-search-input,
  .offcanvas-menu input.cession-search-input,
  .mobile-menu input.cession-search-input,
  .mobile-menu-wrapper input.cession-search-input,
  .mobile-menu-container input.cession-search-input,
  .mobile-menu-content input.cession-search-input,
  .header-mobile-menu input.cession-search-input,
  #search_widget input.search_query,
  #search_widget input[type="text"],
  .offcanvas .search-widget input,
  .offcanvas-menu .search-widget input,
  .mobile-menu .search-widget input,
  .mobile-menu-wrapper .search-widget input,
  .mobile-menu-container .search-widget input,
  .mobile-menu-content .search-widget input,
  .header-mobile-menu .search-widget input {
    display: block !important;
    flex: 1 1 0% !important;
    width: 1% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: #12213B !important;
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
  }

  #mobile_top_menu_wrapper input::placeholder,
  #mobile_top_menu input::placeholder,
  .offcanvas input::placeholder,
  .offcanvas-menu input::placeholder,
  .mobile-menu input::placeholder,
  .mobile-menu-wrapper input::placeholder,
  .mobile-menu-container input::placeholder,
  .mobile-menu-content input::placeholder,
  .header-mobile-menu input::placeholder,
  #search_widget input::placeholder {
    color: #7D8796 !important;
    opacity: 1 !important;
  }

  #mobile_top_menu_wrapper .cession-search-action,
  #mobile_top_menu .cession-search-action,
  .offcanvas .cession-search-action,
  .offcanvas-menu .cession-search-action,
  .mobile-menu .cession-search-action,
  .mobile-menu-wrapper .cession-search-action,
  .mobile-menu-container .cession-search-action,
  .mobile-menu-content .cession-search-action,
  .header-mobile-menu .cession-search-action {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mobile_top_menu_wrapper .cession-search-button,
  #mobile_top_menu .cession-search-button,
  .offcanvas .cession-search-button,
  .offcanvas-menu .cession-search-button,
  .mobile-menu .cession-search-button,
  .mobile-menu-wrapper .cession-search-button,
  .mobile-menu-container .cession-search-button,
  .mobile-menu-content .cession-search-button,
  .header-mobile-menu .cession-search-button,
  #mobile_top_menu_wrapper #search_widget button[type="submit"],
  #mobile_top_menu #search_widget button[type="submit"],
  .offcanvas #search_widget button[type="submit"],
  .offcanvas .search-widget button[type="submit"],
  .offcanvas-menu #search_widget button[type="submit"],
  .offcanvas-menu .search-widget button[type="submit"],
  .mobile-menu #search_widget button[type="submit"],
  .mobile-menu .search-widget button[type="submit"],
  .mobile-menu-wrapper #search_widget button[type="submit"],
  .mobile-menu-wrapper .search-widget button[type="submit"],
  .mobile-menu-container #search_widget button[type="submit"],
  .mobile-menu-container .search-widget button[type="submit"],
  .mobile-menu-content #search_widget button[type="submit"],
  .mobile-menu-content .search-widget button[type="submit"],
  .header-mobile-menu #search_widget button[type="submit"],
  .header-mobile-menu .search-widget button[type="submit"],
  #search_widget button[type="submit"] {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: #FFFFFF !important;
    background: #FF6600 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
  }

  #mobile_top_menu_wrapper .cession-search-button span,
  #mobile_top_menu .cession-search-button span,
  .offcanvas .cession-search-button span,
  .offcanvas-menu .cession-search-button span,
  .mobile-menu .cession-search-button span,
  .mobile-menu-wrapper .cession-search-button span,
  .mobile-menu-container .cession-search-button span,
  .mobile-menu-content .cession-search-button span,
  .header-mobile-menu .cession-search-button span,
  #search_widget button[type="submit"] span {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  #mobile_top_menu_wrapper .cession-search-button svg,
  #mobile_top_menu .cession-search-button svg,
  .offcanvas .cession-search-button svg,
  .offcanvas-menu .cession-search-button svg,
  .mobile-menu .cession-search-button svg,
  .mobile-menu-wrapper .cession-search-button svg,
  .mobile-menu-container .cession-search-button svg,
  .mobile-menu-content .cession-search-button svg,
  .header-mobile-menu .cession-search-button svg,
  #search_widget button[type="submit"] svg {
    display: block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    color: #FFFFFF !important;
  }

  /* Ne jamais colorer le bouton différemment au survol dans le menu mobile */
  #mobile_top_menu_wrapper .cession-search-button:hover,
  #mobile_top_menu .cession-search-button:hover,
  .offcanvas .cession-search-button:hover,
  .offcanvas-menu .cession-search-button:hover,
  .mobile-menu .cession-search-button:hover,
  .mobile-menu-wrapper .cession-search-button:hover,
  .mobile-menu-container .cession-search-button:hover,
  .mobile-menu-content .cession-search-button:hover,
  .header-mobile-menu .cession-search-button:hover,
  #search_widget button[type="submit"]:hover {
    color: #FFFFFF !important;
    background: #FF6600 !important;
  }
}

@media (max-width: 380px) {
  #mobile_top_menu_wrapper .cession-search-button,
  #mobile_top_menu .cession-search-button,
  .offcanvas .cession-search-button,
  .offcanvas-menu .cession-search-button,
  .mobile-menu .cession-search-button,
  .mobile-menu-wrapper .cession-search-button,
  .mobile-menu-container .cession-search-button,
  .mobile-menu-content .cession-search-button,
  .header-mobile-menu .cession-search-button,
  #search_widget button[type="submit"] {
    min-width: 104px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }
}
