/* Méga-menu LDS : voir mu-plugins/lds-mega-menu.php pour les classes à poser dans Apparence > Menus. */

:root {
  --lds-brun: #733b30;
  --lds-brun-fonce: #4e261e;
  --lds-encre: #3b2a24;
  --lds-gris: #6e5a50;
  --lds-creme: #fbf7f1;
  --lds-ivoire: #fffdf9;
  --lds-beige: #f1e6da;
  --lds-rose: #c8566a;
  --lds-rose-clair: #f3b3c0;
  --lds-serif: "Cormorant Garamond", serif;
  --lds-sans: Raleway, sans-serif;
}

.lds-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 7px 2px;
  border-radius: 20px;
  background: var(--lds-rose);
  color: #fff;
  font: 600 8.5px/1.2 var(--lds-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  vertical-align: middle;
}

.lds-point {
  display: inline-block;
  flex: none;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 50%;
  background: var(--lds-rose-clair);
  vertical-align: middle;
  animation: lds-pulse 1.8s ease-out infinite;
}

@keyframes lds-pulse {
  0% { box-shadow: 0 0 0 0 rgba(243, 179, 192, .7); }
  70%, 100% { box-shadow: 0 0 0 9px rgba(243, 179, 192, 0); }
}

.lds-icone {
  width: 15px;
  height: 15px;
  margin-right: 8px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.lds-icone.lds-eclair {
  fill: currentColor;
  stroke: none;
}

/* ───────────── Ordinateur ───────────── */

@media (min-width: 1000px) {

  /* Barre */
  #header-menu-1 .menu > li > .ct-menu-link {
    color: rgba(255, 255, 255, .75);
    letter-spacing: .2em;
    transition: color .2s;
  }

  #header-menu-1 .menu > li:hover > .ct-menu-link,
  #header-menu-1 .menu > li:focus-within > .ct-menu-link,
  #header-menu-1 .menu > li.current-menu-item > .ct-menu-link {
    color: #fff;
  }

  #header-menu-1 .menu > li.lds-mega .ct-toggle-dropdown-desktop {
    display: none;
  }

  #header-menu-1 .menu > li.lds-express {
    display: flex;
    align-items: center;
    margin-left: 12px;
  }

  #header-menu-1 .menu > li.lds-express > .ct-menu-link {
    height: auto;
    padding: 9px 18px;
    border-radius: 30px;
    background: var(--lds-creme);
    color: var(--lds-brun);
    letter-spacing: .14em;
    transition: transform .2s, box-shadow .3s;
  }

  #header-menu-1 .menu > li.lds-express > .ct-menu-link:hover {
    color: var(--lds-brun);
    transform: translateY(-1px);
    box-shadow: 0 0 0 5px rgba(251, 247, 241, .18);
  }

  /* Panneaux pleine largeur, posés sous la barre */
  #header-menu-1 .menu > li.lds-mega,
  #header-menu-1 .menu > li.lds-nouveautes {
    position: static;
  }

  #header-menu-1 .lds-mega > .sub-menu,
  #header-menu-1 .lds-panneau {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 20;
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 44px 40px 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--lds-creme) !important;
    box-shadow: 0 24px 40px -24px rgba(70, 35, 25, .22) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) !important;
    transition: opacity .3s ease, transform .3s ease, visibility .3s !important;
  }

  #header-menu-1 .lds-mega > .sub-menu::before,
  #header-menu-1 .lds-mega > .sub-menu::after {
    display: none !important;
  }

  #header-menu-1 .lds-mega:hover > .sub-menu,
  #header-menu-1 .lds-mega:focus-within > .sub-menu,
  #header-menu-1 .lds-nouveautes:hover > .lds-panneau,
  #header-menu-1 .lds-nouveautes:focus-within > .lds-panneau {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  /* Colonnes */
  #header-menu-1 .lds-mega > .sub-menu > li {
    position: static !important;
    display: block !important;
    width: auto !important;
    padding: 0 32px !important;
    border: 0 !important;
    background: none !important;
  }

  #header-menu-1 .lds-mega > .sub-menu > li:first-child {
    padding-left: 0 !important;
  }

  #header-menu-1 .lds-mega .sub-menu .sub-menu {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  #header-menu-1 .lds-mega .sub-menu .sub-menu::before,
  #header-menu-1 .lds-mega .sub-menu .sub-menu::after,
  #header-menu-1 .lds-mega .sub-menu .ct-toggle-dropdown-desktop,
  #header-menu-1 .lds-mega .sub-menu .ct-toggle-dropdown-desktop-ghost {
    display: none !important;
  }

  #header-menu-1 .lds-mega .sub-menu li {
    border: 0 !important;
    background: none !important;
  }

  /* Titre de colonne */
  #header-menu-1 .lds-mega > .sub-menu > li > .ct-menu-link,
  #header-menu-1 .lds-mega .sub-menu .sub-menu > li.lds-titre > .ct-menu-link,
  .lds-titre-col {
    display: block;
    height: auto;
    margin: 0 0 14px;
    padding: 0;
    background: none;
    color: var(--lds-brun);
    font: 600 11px/1.4 var(--lds-sans);
    letter-spacing: .24em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: opacity .2s;
  }

  #header-menu-1 .lds-mega > .sub-menu > li > .ct-menu-link:hover,
  #header-menu-1 .lds-mega .sub-menu .sub-menu > li.lds-titre > .ct-menu-link:hover {
    color: var(--lds-brun);
    opacity: .6;
    transform: none;
  }

  #header-menu-1 .lds-mega .sub-menu li.lds-titre {
    margin-top: 30px;
  }

  /* Liens */
  #header-menu-1 .lds-mega .sub-menu .sub-menu > li {
    white-space: nowrap;
  }

  #header-menu-1 .lds-mega .sub-menu .sub-menu > li > .ct-menu-link {
    display: inline-flex;
    align-items: center;
    height: auto;
    padding: 5px 0;
    background: none;
    color: var(--lds-encre);
    font-family: var(--lds-serif);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .02em;
    text-transform: none;
    transition: color .2s, transform .2s;
  }

  #header-menu-1 .lds-mega .sub-menu .sub-menu > li > .ct-menu-link:hover {
    color: var(--lds-brun);
    transform: translateX(3px);
  }

  #header-menu-1 .lds-mega .lds-col2 > .sub-menu {
    columns: 2;
    column-gap: 48px;
  }

  #header-menu-1 .lds-mega .lds-col2 > .sub-menu > li {
    break-inside: avoid;
  }

  #header-menu-1 .lds-mega .lds-col2 > .sub-menu > li.lds-voir {
    column-span: all;
  }

  /* Lien de fin de colonne */
  #header-menu-1 .lds-mega .sub-menu .sub-menu > li.lds-voir > .ct-menu-link,
  .lds-voir-tout {
    display: inline-block;
    width: auto;
    height: auto;
    margin-top: 12px;
    padding: 0 0 3px;
    border-bottom: 1px solid currentColor;
    color: var(--lds-brun);
    font: 600 10.5px/1.4 var(--lds-sans);
    letter-spacing: .2em;
    text-transform: uppercase;
    transition: opacity .2s;
  }

  #header-menu-1 .lds-mega .sub-menu .sub-menu > li.lds-voir > .ct-menu-link:hover,
  .lds-voir-tout:hover {
    color: var(--lds-brun);
    opacity: .6;
    transform: none;
  }

  /* Carte */
  #header-menu-1 .lds-mega > .sub-menu > li.lds-carte {
    min-width: 340px;
    margin-left: 32px;
    padding: 32px 32px 26px !important;
    border-radius: 2px;
    background: var(--lds-beige) !important;
  }

  #header-menu-1 .lds-carte .lds-sur {
    display: block;
    color: var(--lds-brun);
    font: 600 10px/1.4 var(--lds-sans);
    letter-spacing: .3em;
    text-transform: uppercase;
    opacity: .7;
  }

  #header-menu-1 .lds-mega > .sub-menu > li.lds-carte > .ct-menu-link {
    margin: 10px 0 4px;
    color: var(--lds-brun-fonce);
    font: 400 32px/1.1 var(--lds-serif);
    letter-spacing: 0;
    text-transform: none;
  }

  #header-menu-1 .lds-carte .lds-phrase {
    display: block;
    margin-bottom: 14px;
    color: var(--lds-gris);
    font: italic 400 16px/1.4 var(--lds-serif);
  }

  #header-menu-1 .lds-mega .lds-carte > .sub-menu > li > .ct-menu-link {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 8px;
    padding: 12px 18px;
    border-radius: 2px;
    background: var(--lds-ivoire);
    transition: background .2s;
  }

  #header-menu-1 .lds-mega .lds-carte > .sub-menu > li > .ct-menu-link::after {
    content: "→";
    font-family: var(--lds-sans);
    font-size: 14px;
    transition: transform .3s;
  }

  #header-menu-1 .lds-mega .lds-carte > .sub-menu > li > .ct-menu-link:hover {
    background: #fff;
    transform: none;
  }

  #header-menu-1 .lds-mega .lds-carte > .sub-menu > li > .ct-menu-link:hover::after {
    transform: translateX(4px);
  }

  #header-menu-1 .lds-mega > .sub-menu > li.lds-carte-fonce {
    background: var(--lds-brun) !important;
  }

  #header-menu-1 .lds-carte-fonce .lds-sur,
  #header-menu-1 .lds-carte-fonce .lds-phrase,
  #header-menu-1 .lds-mega > .sub-menu > li.lds-carte-fonce > .ct-menu-link {
    color: #fbf2ea;
  }

  #header-menu-1 .lds-mega .lds-carte-fonce > .sub-menu > li > .ct-menu-link {
    background: rgba(255, 255, 255, .1);
    color: #fff;
  }

  #header-menu-1 .lds-mega .lds-carte-fonce > .sub-menu > li > .ct-menu-link:hover {
    background: rgba(255, 255, 255, .18);
    color: #fff;
  }

  /* Panneau Nouveautés */
  .lds-panneau .lds-grille {
    display: flex;
    gap: 64px;
    align-items: flex-start;
  }

  .lds-vedette {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 340px;
    margin-bottom: 12px;
    padding: 28px 32px;
    border-radius: 2px;
    background: var(--lds-brun);
    transition: transform .2s;
  }

  .lds-vedette:hover {
    transform: translateY(-2px);
  }

  .lds-vedette .lds-badge {
    margin: 0;
    background: var(--lds-rose-clair);
    color: var(--lds-brun-fonce);
  }

  .lds-vedette-nom {
    color: #fff;
    font: 400 32px/1.1 var(--lds-serif);
  }

  .lds-vedette-date {
    color: rgba(255, 255, 255, .65);
    font: 600 10.5px/1.4 var(--lds-sans);
    letter-spacing: .1em;
  }

  .lds-arrivages {
    min-width: 300px;
    margin: 0 0 6px;
    padding: 0;
    list-style: none;
  }

  .lds-arrivages a {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 40px;
    padding: 5px 0;
    color: var(--lds-encre);
    font: 400 19px/1.3 var(--lds-serif);
    transition: color .2s;
  }

  .lds-arrivages a:hover {
    color: var(--lds-brun);
  }

  .lds-arrivages b {
    color: var(--lds-rose);
    font: 600 11px var(--lds-sans);
    letter-spacing: .08em;
  }
}

/* ───────────── Mobile (tiroir) ───────────── */

@media (max-width: 999.98px) {
  [data-header] #offcanvas.ct-panel {
    --side-panel-width: 80vw;
  }

  /* Ni points ni retrait : la hiérarchie passe par la typographie. */
  .mobile-menu[data-submenu-dots] [class*="children"] > ul {
    padding-inline-start: 0 !important;
  }

  .mobile-menu[data-submenu-dots] [class*="children"] > ul li a::before {
    display: none;
  }

  /* Rubriques */
  .mobile-menu > ul > li > .ct-menu-link,
  .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-menu-link {
    --menu-item-padding: 7px 0;
    align-items: center;
    color: var(--lds-brun-fonce);
    font: 400 21px/1.2 var(--lds-serif);
    letter-spacing: 0;
    text-transform: none;
  }

  .mobile-menu > ul > li > .ct-sub-menu-parent {
    width: 100%;
    justify-content: space-between;
  }

  /* Un « + » fin qui pivote en « × » à l'ouverture, au lieu des chevrons. */
  .mobile-menu .ct-toggle-dropdown-mobile svg {
    display: none;
  }

  .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: var(--lds-brun);
  }

  .mobile-menu > ul > li > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile::before {
    content: "";
    width: 11px;
    height: 11px;
    background:
      linear-gradient(currentColor, currentColor) center / 11px 1.2px no-repeat,
      linear-gradient(currentColor, currentColor) center / 1.2px 11px no-repeat;
    transition: transform .3s ease;
  }

  .mobile-menu > ul > li.dropdown-active > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile::before {
    transform: rotate(45deg);
  }

  .mobile-menu .lds-point {
    width: 6px;
    height: 6px;
    margin-right: 10px;
    background: var(--lds-rose);
  }

  .mobile-menu .lds-icone {
    width: 16px;
    height: 16px;
    margin-right: 10px;
    stroke-width: 1.2;
  }

  /* Colonnes d'un panneau : toujours ouvertes, titre en petites capitales, liens en pastilles */
  .mobile-menu .lds-mega > ul {
    padding-bottom: 12px;
  }

  .mobile-menu .lds-mega > ul > li > .ct-sub-menu-parent > .ct-toggle-dropdown-mobile {
    display: none;
  }

  .mobile-menu .lds-mega > ul > li > .ct-menu-link,
  .mobile-menu .lds-mega > ul > li > .ct-sub-menu-parent > .ct-menu-link,
  .mobile-menu .lds-mega li.lds-titre > .ct-menu-link {
    --menu-item-padding: 14px 0 8px;
    color: var(--lds-brun);
    font: 600 9.5px/1.4 var(--lds-sans);
    letter-spacing: .24em;
    text-transform: uppercase;
  }

  .mobile-menu .lds-mega > ul > li > ul {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    height: auto !important;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .mobile-menu .lds-mega > ul > li > ul > li {
    width: auto;
  }

  .mobile-menu .lds-mega > ul > li > ul > li:not(.lds-titre) > .ct-menu-link {
    --menu-item-padding: 5px 11px;
    border-radius: 30px;
    background: #fff;
    color: var(--lds-encre);
    font: 400 14px/1.15 var(--lds-serif);
  }

  .mobile-menu .lds-mega li.lds-titre {
    flex-basis: 100%;
  }

  .mobile-menu .lds-badge {
    margin-left: 6px;
  }

  /* Carte */
  .mobile-menu .lds-mega > ul > li.lds-carte {
    margin-top: 16px;
    padding: 4px 14px 14px;
    border-radius: 4px;
    background: var(--lds-beige);
  }

  .mobile-menu .lds-mega > ul > li.lds-carte > .ct-sub-menu-parent > .ct-menu-link {
    --menu-item-padding: 10px 0 8px;
    color: var(--lds-brun-fonce);
    font: 400 18px/1.2 var(--lds-serif);
    letter-spacing: 0;
    text-transform: none;
  }

  .mobile-menu .lds-mega > ul > li.lds-carte > ul {
    flex-direction: column;
  }

  .mobile-menu .lds-mega > ul > li.lds-carte > ul > li {
    width: 100%;
  }

  .mobile-menu .lds-mega > ul > li.lds-carte > ul > li > .ct-menu-link {
    justify-content: space-between;
    width: 100%;
    border-radius: 2px;
    background: var(--lds-ivoire);
  }

  .mobile-menu .lds-mega > ul > li.lds-carte > ul > li > .ct-menu-link::after {
    content: "→";
    font-family: var(--lds-sans);
    font-size: 12px;
  }

  .mobile-menu .lds-mega > ul > li.lds-carte-fonce {
    background: var(--lds-brun);
  }

  .mobile-menu .lds-mega > ul > li.lds-carte-fonce > .ct-sub-menu-parent > .ct-menu-link {
    color: #fff;
  }

  .mobile-menu .lds-mega > ul > li.lds-carte-fonce > ul > li > .ct-menu-link {
    background: rgba(255, 255, 255, .12);
    color: #fff;
  }

  /* Commande express : bouton plein pour les revendeurs */
  .mobile-menu > ul > li.lds-express {
    margin-top: 10px;
  }

  .mobile-menu > ul > li.lds-express > .ct-menu-link {
    --menu-item-padding: 10px 16px;
    border-radius: 30px;
    background: var(--lds-brun);
    color: #fff;
    font: 600 10.5px/1.2 var(--lds-sans);
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  /* Dans le tiroir, le titre de rubrique est déjà un lien : « Tout voir » ferait doublon. */
  .mobile-menu .lds-voir {
    display: none !important;
  }
}
