/*====================================================
   RAIDET MARKET — MENU VERTICAL PREMIUM
   Fusion : design "premium" (cartes, bandeau dégradé,
   pilules, scrollbar custom) + règles fonctionnelles
   indispensables de la base PrestaShop (collapses,
   flèches de profondeur, media queries, langue/devise).
====================================================*/

:root {
  --cp-menu-accent: #3d8b7d;      /* teal principal */
  --cp-menu-accent2: #53a697;     /* teal clair, pour les dégradés */
  --cp-menu-gold: #b08d5b;        /* doré des CTA */
  --cp-menu-bg: #f8f5ef;          /* crème de fond */
  --cp-menu-text: #2d353c;        /* texte principal */
  --cp-menu-border: #ece4d8;      /* bordure chaude */
  --cp-menu-bg-hover: #faf6f0;    /* fond hover chaud, discret */
  --cp-menu-radius: 16px;
}

#cp_sidevertical_menu_top .top-menu a:not([data-depth="0"]) {
  display: block;
}
#cp_sidevertical_menu_top .top-menu a {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 25px;
    text-transform: capitalize;
    white-space: initial;
    width: auto;
    padding: 8px 10px;
    text-align: left;
    border-bottom: 1px solid var(--cp-menu-border);
    color: var(--cp-menu-text);
    transition: all 0.3s ease;
    border-radius: 6px;
}

#cp_sidevertical_menu_top .top-menu a:hover {
    color: var(--cp-menu-accent);
    background: linear-gradient(
        90deg,
        rgba(212,175,55,0.15),
        rgba(212,175,55,0.03)
    );
    padding-inline-start: 16px;
    box-shadow: inset 3px 0 0 var(--cp-menu-accent);
}
#sidevertical_menu .top-menu > li.category > a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f290"; /* fa-box */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 22px;
    margin-right: 8px;
    font-size: 14px;
    color: #4e3f21;
    transition: all 0.3s ease;
}

#sidevertical_menu .top-menu > li.category > a:hover::before {
    color: var(--cp-menu-accent);
    transform: translateX(3px);
}
/* Les liens de premier niveau (les "cartes" catégories) n'ont pas besoin
   de la sous-ligne, ils ont déjà leur propre carte */
#cp_sidevertical_menu_top .top-menu[data-depth="0"] > li > a {
  border-bottom: none;
}

#header #sidevertical_menu {
  width: 100%;
  margin-inline-start: 0;
  display: block;
}
#header #sidevertical_menu #top-menu.top-menu[data-depth="0"] {
  padding: 0px 10px;
  margin: 0;
}

/* Bouton "Catégories" (toggler) — arrondi et cohérent avec les CTA dorés */
.header-top-main #sidevertical_menu .top-menu .navbar-toggler {
  display: inline-block;
  padding: 0;
 /* background-color: var(--cp-menu-gold);*/
  border-radius: 50%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.header-top-main #sidevertical_menu .top-menu .navbar-toggler:hover {
  box-shadow: 0 0 0 4px rgba(176, 141, 91, 0.18);
}

.verticalmenu-side #cpnav1cmsblock .header-deal {
  float: none;
  text-align: center;
}
.menu-icon .material-icons.menu-close {
  position: absolute;
  display: block;
  left: auto;
  right: 15px;
  cursor: pointer;
  color: var(--cp-menu-text);
}
.mobile-menu {
  z-index: 2;
  position: relative;
  float: none;
  padding: 37px 0 0;
  cursor: pointer;
  margin-inline-end: 12px;
  display: inline-block;
  vertical-align: top;
}
.verticalmenu-side #_desktop_user_info {
  display: none;
}
.mobile-menu .material-icons.menu-open {
  font-size: 30px;
  color: var(--cp-menu-gold);
}
#cp_sidevertical_menu_top > #_desktop_top_menu .mobile > ul.top-menu > li:last-child a {
  border: none;
}
#cp_sidevertical_menu_top .top-menu .collapse-icons .material-icons.remove {
  display: none;
}
#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .remove {
  display: block;
  color: var(--cp-menu-accent);
}
#cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .add {
  display: none;
}
#cp_sidevertical_menu_top .top-menu .sub-menu.collapse.in {
  display: block;
}
#cp_sidevertical_menu_top .top-menu .sub-menu.collapse {
  display: none;
}
.header-top #cp_sidevertical_menu_top .top-menu .navbar-toggler {
  display: inline-block;
  padding: 0;
}
.header-top #cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .add {
  display: none;
}
.header-top #cp_sidevertical_menu_top .top-menu .collapse-icons .remove {
  display: none;
}
.header-top #cp_sidevertical_menu_top .top-menu .collapse-icons[aria-expanded="true"] .remove {
  display: block;
}

/* Regroupement visuel du sous-menu dans un bloc crème arrondi */
#cp_sidevertical_menu_top .sub-menu {
  background: #faf8f4;
  border-radius: 14px;
  margin-top: 10px;
  padding: 10px;
}

/* Sous-niveaux — liens en pilule, sans bordure carrée */
#cp_sidevertical_menu_top .top-menu[data-depth="1"] li a {
  padding: 11px 15px;
  padding-inline-start: 15px;
  margin: 2px 0;
  border-radius: 10px;
  border: none;
  font-size: 15px;
  transition: 0.3s;
}
#cp_sidevertical_menu_top .top-menu[data-depth="1"] li a:hover {
  background: #fff;
  padding-inline-start: 22px;
  color: var(--cp-menu-accent);
}
#cp_sidevertical_menu_top .top-menu[data-depth="2"] li a {
  padding-inline-start: 24px;
}
#cp_sidevertical_menu_top .top-menu[data-depth="3"] li a {
  padding-inline-start: 30px;
}
#cp_sidevertical_menu_top .top-menu li span .material-icons {
  font-size: 15px;
  color: var(--cp-menu-accent);
}
#cp_sidevertical_menu_top .top-menu .collapse {
  display: none;
}
#cp_sidevertical_menu_top .top-menu .collapse.in {
  display: block;
}
#left-column .header-top-main.bg_main.fixed #cp_sidevertical_menu_top {
  margin: 0 0 10px;
}
.topcolumntop .top-menu [data-depth="2"] li {
  width: 100%;
}
.verticalmenu-side #cpheadercms1 .contact-link {
  color: var(--cp-menu-text);
  float: none;
}


/* Petites flèches devant les liens, en teinte teal plutôt que gris-bleu 
#cp_sidevertical_menu_top .top-menu[data-depth="1"] li a::before,
#cp_sidevertical_menu_top .top-menu[data-depth="2"] li a::before,
#cp_sidevertical_menu_top .top-menu[data-depth="3"] li a::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 13px;
  display: inline-block;
  height: 10px;
  width: 10px;
  -webkit-mask-image: url(../img/arrow-icon.svg);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-image: url(../img/arrow-icon.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: var(--cp-menu-accent);
  mask-size: 6px;
  font-size: 6px;
  -webkit-mask-size: 6px;
  vertical-align: middle;
  margin-inline-end: 3px;
}*/
#cp_sidevertical_menu_top .top-menu[data-depth="2"] li a::before {
  left: 15px;
}
html body.active {
  overflow: hidden;
}
.title_main_menu {
  position: relative;
  float: left;
  width: 100%;
  padding: 22px 60px 22px 25px;
  background: linear-gradient(135deg, #4e3f21 15%, #C1B191 100%);
  border: none;
}
.title_menu {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #fff;
}
#cp_sidevertical_menu_top .title_main_menu .menu-close,
#cp_sidevertical_menu_top .menu-close {
  position: absolute !important;
  top: 10px !important;
  right: 20px !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 42px;
  height: 42px;
  border-radius: 50%;
      BORDER: 1px solid #FFF;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.35s, color 0.35s, transform 0.35s;
  color: #FFF !important;
}
#cp_sidevertical_menu_top .title_main_menu .menu-close:hover,
#cp_sidevertical_menu_top .menu-close:hover {
  background: transparent;
  color: #FFF !important;
  transform: rotate(90deg) !important;
}
body.lang-rtl #cp_sidevertical_menu_top .title_main_menu .menu-close {
    right: auto !important;
    left: 20px !important;
}
body.lang-rtl #cp_sidevertical_menu_top .menu-close {
    right: auto !important;
    left: 20px !important;
}
.header-top #cp_sidevertical_menu_top .top-menu .sub-menu {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  z-index: inherit;
  display: block;
  position: static;
  overflow: hidden;
  margin-left: 0;
  width: 100%;
  min-width: 100%;
  background-color: #fff;
  border: 0;
  padding: 0px;
}
#cp_sidevertical_menu_top .top-menu .pull-xs-right.hidden-sm-down .material-icons.right,
.vertical-side-top-text .head-wishlist .ap-total-wishlist,
.vertical-side-top-text .head-compare .ap-total-compare {
  display: none;
}

/* Bandeau du haut (wishlist / compare / compte) — fond plus chaud */
.vertical-side-top-text {
    width: 100%;
    background: transparent;
    text-align: center;
    padding: 5px;
    border-top: 1px solid #e6ded1;
/*display:grid*/
    display: none;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    align-items: center;
}
.vertical-side-top-text > * {
  flex: 0 0 auto;
}
.vertical-side-top-text a {
 background: linear-gradient(135deg, #c1b191 0%, #4e3f21 100%);
 color:#fff;
  padding: 5px 10px;
  border-radius: 30px;
  display: inline-block;
  white-space: nowrap;
  margin: 5px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: 0.3s;
  font-weight: 500;
}
.vertical-side-top-text a:hover {
  background: var(--cp-menu-accent);
  color: #fff !important;
}
.vertical-side-top-text .head-wishlist,
.vertical-side-top-text .head-compare,
.vertical-side-top-text #_desktop_user_info-side {
  text-align: center;
  float: none;
  display: inline-block;
  vertical-align: top;
  margin: 0;
  max-width: 100%;
  flex: 0 0 auto;
}
.vertical-side-top-text .head-wishlist a,
.vertical-side-top-text .head-compare a,
.vertical-side-top-text #_desktop_user_info-s {
  -webkit-mask-image: none;
  font-size: var(--body-font-size) !important;
  text-align: center;
  color: var(--cp-menu-text) !important;
  line-height: inherit;
  vertical-align: middle;
}
.vertical-side-top-text .head-wishlist a:hover,
.vertical-side-top-text .head-compare a:hover {
  color: #fff !important;
}

/* Liste de souhaits / Comparer sont des <a><span>...</span></a> avec des
   styles d'icône hérités (largeur fixe, overflow caché). On force un
   rendu texte homogène avec "Sign out". */
.vertical-side-top-text .head-wishlist a,
.vertical-side-top-text .head-compare a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  padding: 5px 10px !important;
  background: linear-gradient(135deg, #c1b191 0%, #4e3f21 100%);
 color:#fff !important;
  border-radius: 30px !important;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05) !important;
}
.vertical-side-top-text .head-wishlist a:hover,
.vertical-side-top-text .head-compare a:hover {
  background: var(--cp-menu-accent) !important;
}
.vertical-side-top-text .head-wishlist a *,
.vertical-side-top-text .head-compare a * {
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  background: none !important;
  -webkit-mask-image: none !important;
}
.vertical-side-top-text .head-wishlist {
  border-inline: none;
  height: auto;
  vertical-align: middle;
}

/* Langue et devise */
.verticalmenu-side #cpheadercms1 {
  text-align: center;
  padding: 5px;
  display: inline-block;
  width: 100%;
}
.verticalmenu-side {
  float: left;
  width: 100%;
      padding-top: 105px;
    padding-left: 15px;
}
}
#cp_sidevertical_menu_top .verticalmenu-side .vertical_language {
  padding: 20px;
  border-block-start: 1px solid var(--cp-menu-border);
  margin: 0;
}
.verticalmenu-side #cpnav1cmsblock {
  text-align: center;
  width: calc(100% - 36px);
  margin: 18px;
  padding: 18px;
  background: #fff;
  border-radius: var(--cp-menu-radius);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  border: none;
  color: var(--cp-menu-text);
}
.verticalmenu-side #cpnav1cmsblock i {
  color: var(--cp-menu-accent);
  font-size: 18px;
  margin-inline-end: 8px;
}
.verticalmenu-side #verticalmenu_desktop_user_info a:hover {
  color: var(--cp-menu-accent);
}
.vertical_currency li,
.vertical_language li {
  display: inline-block;
  vertical-align: top;
  margin: 3px;
}
.vertical_currency a.dropdown-item {
  padding: 3px 10px;
  border: 1px solid var(--cp-menu-border);
  border-radius: 6px;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.vertical_currency a.dropdown-item:hover {
  border-color: var(--cp-menu-accent);
  color: var(--cp-menu-accent);
}
.vertical_language a.dropdown-item {
  padding: 0;
  text-transform: uppercase;
}
.vertical_language img {
  margin-inline-end: 6px;
}
#cp_sidevertical_menu_top #_desktop_currency_selector,
#cp_sidevertical_menu_top #_desktop_language_selector {
  display: none;
}
#cp_sidevertical_menu_top .dropdown-menu {
  display: block;
  float: left;
  width: 100%;
  position: relative;
  border: none;
  padding: 0;
  margin-block-start: 0;
  text-align: center;
}
.verticalmenu-side .vertical_language,
.verticalmenu-side .vertical_currency {
  float: left;
  width: 100%;
  padding: 20px;
}
#cp_sidevertical_menu_top .link.hidden-lg-up {
  display: block !important;
}
#verticalmenu_desktop_user_info {
  display: none;
  vertical-align: top;
  text-align: center;
  margin: 0;
}

@keyframes catAnim {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media (max-width: 1200px) {
  #cp_sidevertical_menu_top .top-menu .sub-menu ul[data-depth="1"] > li {
    min-width: 180px;
  }
}
#cp_sidevertical_menu_top .top-menu .popover {
  max-width: inherit;
}
.top-menu a.dropdown-item.dropdown-submenu[data-depth="1"] {
  display: block;
  font-weight: 500;
}
#cp_sidevertical_menu_top .top-menu a:hover,
#cp_sidevertical_menu_top .top-menu .sub-menu a:hover {
  text-decoration: none;
}
#cp_sidevertical_menu_top .top-menu a:hover,
#cp_sidevertical_menu_top .top-menu > li:hover > a {
  text-decoration: none;
}

#cp_sidevertical_menu_top .top-menu .menu-images-container img {
  max-width: 100%;
  padding-left: 15px;
}
#cp_sidevertical_menu_top .top-menu .sub-menu {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  z-index: inherit;
  display: block;
  position: relative;
  overflow: hidden;
  margin-left: 0;
  width: 100%;
  min-width: 100%;
  background-color: #fff;
  border: 0;
  padding: 0;
  top: 0 !important;
}
.vertical-side-top-text #_desktop_user_info-side a {
  color: var(--cp-menu-text);
  text-transform: capitalize;
}

/* Panneau du menu — coins arrondis + ombre plus douce, dans l'esprit des cartes produits */
#cp_sidevertical_menu_top {
  background: linear-gradient(135deg, #d6cec2 15%, #ffffff 100%);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.18);
  height: 100%;
  left: -0%;
  margin-left: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  position: fixed;
  top: 0;
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.45s;
  transform: translateX(-110%);
  width: 365px;
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
  z-index: 9999;
  pointer-events: none;
}
#cp_sidevertical_menu_top.slide {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* Scrollbar custom */
#cp_sidevertical_menu_top::-webkit-scrollbar {
  width: 8px;
}
#cp_sidevertical_menu_top::-webkit-scrollbar-thumb {
  background: var(--cp-menu-accent);
  border-radius: 20px;
}
#cp_sidevertical_menu_top::-webkit-scrollbar-track {
  background: #f3f3f3;
}
#left-column #cp_sidevertical_menu_top #_desktop_top_menu {
  padding: 0;
}
#left-column #cp_sidevertical_menu_top {
  border-radius: var(--cp-menu-radius);
  -webkit-border-radius: var(--cp-menu-radius);
  -khtml-border-radius: var(--cp-menu-radius);
  -moz-border-radius: var(--cp-menu-radius);
  position: relative;
  width: 100%;
}
#index #cp_sidevertical_menu_top #top-menu {
  position: relative;
  display: block !important;
}
#left-column #cp_sidevertical_menu_top #top-menu {
  display: block;
}
#left-column #cp_sidevertical_menu_top #top-menu {
  background-color: transparent;
  border: 1px solid var(--cp-menu-border);
  border-radius: var(--cp-menu-radius);
  margin-top: 15px;
}
#cp_sidevertical_menu_top .top-menu > li:hover > .sub-menu.second_depth {
  display: none !important;
}
#cp_sidevertical_menu_top .top-menu > li .sub-menu .top-menu li:hover > .sub-menu.second_depth {
  display: block !important;
}
#cp_sidevertical_menu_top .top-menu li:hover .sub-menu.second_depth {
  display: none !important;
}
#cp_sidevertical_menu_top .block-title {
  cursor: pointer;
}
#cp_sidevertical_menu_top #top-menu {
  float: left;
  width: 100%;
}
.header-top #cp_sidevertical_menu_top #top-menu.top-menu[data-depth="0"] {
  padding: 11px 20px 21px;
}
#cp_sidevertical_menu_top #top-menu li {
  position: relative;
  margin: 0;
  display: block;
}
.lang-es #cp_sidevertical_menu_top .block-title {
  padding: 10px 12px 10px;
}
#cp_sidevertical_menu_top .material-icons.menu-close {
  float: right;
}

/* Titre de chaque catégorie de premier niveau — carte visible au repos, pas seulement au survol */
#cp_sidevertical_menu_top #top-menu > li {
  margin-bottom: 0px;
 border-bottom: 1px solid #2D9B8E;
}
#cp_sidevertical_menu_top .menu-title {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  float: left;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.3px;
  line-height: 25px;
  overflow: hidden;
  padding: 16px 20px;
  position: relative;
  text-transform: capitalize;
  width: 100%;
  color: var(--cp-menu-text);
  background-color: #ffffff;
  border: none;
  border-radius: var(--cp-menu-radius);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
  transition: 0.35s;
}
/* barre latérale arrondie, façon "pilule", au lieu d'une bordure carrée */
#cp_sidevertical_menu_top .menu-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 32px;
  border-radius: 30px;
  background: var(--cp-menu-accent);
}
#cp_sidevertical_menu_top li:hover > .menu-title,
#cp_sidevertical_menu_top .menu-title:hover {
  background-color: #ffffff;
  color: var(--cp-menu-accent);
  box-shadow: 0 15px 35px rgba(61, 139, 125, 0.2);
  transform: translateX(6px);
}

#cp_sidevertical_menu_top .more-view {
  color: var(--cp-menu-text);
  display: inline-block;
  padding: 10.9px 28px 10.9px 30px;
  width: 100%;
  margin-top: 0px;
  font-weight: 500;
  margin: 0 15px;
}
#cp_sidevertical_menu_top li:hover .more-view {
  color: var(--cp-menu-gold);
}
.more-wrap {
  color: var(--cp-menu-text);
  cursor: pointer;
  font-weight: 500;
}
#cp_sidevertical_menu_top .more-wrap .material-icons {
  float: right;
  right: 0;
  font-size: 16px;
  line-height: 25px;
  color: var(--cp-menu-accent);
}

@media (max-width: 1449px) {
  #header #cp_sidevertical_menu_top #top-menu {
    display: block;
  }
  #cp_sidevertical_menu_top .top-menu .sub-menu {
    top: 10px !important;
  }
}
@media (max-width: 991px) {
  .mobile-menu {
    padding: 5px 0;
    float: left;
    margin: 0;
  }
}
@media (max-width: 767px) {
  .cpcategory-container .categoryblock .block_content .cate-btn {
    text-align: center;
    margin: 0;
  }
  #cp_sidevertical_menu_top {
    width: 90%;
  }
  .vertical-side-top-text {
	/*  display:block;*/
display:none;
   border-top: 0px solid #e6ded1;
}
}
@media (max-width: 480px) {
  .mobile-menu {
    padding: 0;
  }
}
