/* =========================================================
   MENU — Variables (scopé uniquement sur body.is-menu)
========================================================= */

body.is-menu {
  --menu-max: 415px;
  --menu-pad: 15px;
}

/* =========================================================
   ARRIÈRE-PLAN (page complète : header + main + footer)
========================================================= */

body.is-menu {
  background: #f1b600 !important;
  position: relative;
}

/* IMPORTANT : on enlève les backgrounds Avada qui cachent le body */
body.is-menu #main,
body.is-menu #wrapper,
body.is-menu .fusion-body,
body.is-menu .fusion-page-wrapper,
body.is-menu .fusion-header-wrapper,
body.is-menu .fusion-footer,
body.is-menu .fusion-footer-widget-area,
body.is-menu .fusion-footer-copyright-area {
  background: transparent !important;
}

/* Image de fond sur une couche séparée */
body.is-menu::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url(/wp-content/uploads/bg-crest.svg);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: 900px;
  background-position: center;
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

/* Contenu au-dessus de l'image */
body.is-menu #wrapper,
body.is-menu .fusion-page-wrapper {
  position: relative;
  z-index: 1;
}

/* =========================================================
   POLICES
========================================================= */

@font-face {
  font-family: Knockout;
  src: url(/wp-content/uploads/Knockout.otf);
  font-weight: 300;
}

@font-face {
  font-family: Knockout;
  src: url(/wp-content/uploads/Knockout-Bold.ttf);
  font-weight: 600;
}

/* =========================================================
   RÉSEAUX SOCIAUX (header) — alignés sur le bloc centré
========================================================= */

body.is-menu #menu-container {
  position: relative !important;
}

body.is-menu #menu-container .socials {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  left: calc(
    50% - (min(var(--menu-max), calc(100vw - (var(--menu-pad) * 2))) / 2) + var(--menu-pad)
  ) !important;

  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 5 !important;
}

body.is-menu #menu-container .socials i,
body.is-menu #menu-container .socials i:hover {
  background: #523d2c;
  color: #f1b600;
  border-radius: 999px;
  width: 35px;
  height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 20px;
  line-height: 1;
  text-align: center;

  margin: 0 !important;
}

body.is-menu #menu-container .socials i.fa-instagram:before {
  font-size: 22px;
  position: relative;
  left: 1px;
  top: 1px;
}

body.is-menu #menu-container .socials .mobile { display: none; }
body.is-menu #menu-container .socials .desktop { display: inline-block; }

@media (max-width: 420px) {
  body.is-menu #menu-container .socials .desktop { display: none; }
  body.is-menu #menu-container .socials .mobile { display: inline-block; }
}

/* =========================================================
   TITRES (page + sections)
========================================================= */

body.is-menu .entry-title {
  font-size: 50px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #523d2a !important;
  text-align: center !important;

  font-family: Knockout !important;
  font-weight: 300 !important;
  font-style: normal !important;
  margin: 0px !important;

  letter-spacing: 0.5px !important;
}

/* =========================================================
   CONTENEUR MENU (largeur + centrage + typo)
========================================================= */

body.is-menu .menu-listing-wrap {
  width: 100% !important;
  max-width: var(--menu-max) !important;
  margin: 0 auto !important;
  padding: 0 var(--menu-pad) !important;
  background: transparent !important;

  font-family: Knockout !important;
  font-weight: 300 !important;
  font-style: normal !important;
  color: #523d2a !important;

  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.is-menu .menu-listing-wrap,
body.is-menu .menu-listing-wrap p,
body.is-menu .menu-listing-wrap a,
body.is-menu .menu-listing-wrap h1,
body.is-menu .menu-listing-wrap h2,
body.is-menu .menu-listing-wrap h3,
body.is-menu .menu-listing-wrap h4,
body.is-menu .menu-listing-wrap h5,
body.is-menu .menu-listing-wrap h6 {
  font-family: Knockout !important;
  font-weight: 300 !important;
  font-style: normal !important;
  color: #523d2a !important;
  margin: 0 !important;
}

body.is-menu .menu-listing-wrap p {
  font-size: 15px !important;
  line-height: 1 !important;
}

body.is-menu .menu-listing-wrap a {
  color: #523d2c !important;
}

body.is-menu .menu-listing-wrap h1 {
  font-size: 50px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #523d2a !important;
}

body.is-menu .menu-listing-wrap h2 {
  text-transform: uppercase !important;
  font-size: 45px !important;
  line-height: 1 !important;
  color: #da7d25 !important;
  width: fit-content !important;
  margin: 0 auto !important;

  letter-spacing: 4px !important;
}

body.is-menu h3 {
  letter-spacing: 4px !important;
}

/* =========================================================
   CENTRAGE DES LISTINGS (le plugin met souvent du float/width)
========================================================= */

body.is-menu .menu-listing-wrap .menu-listing {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner,
body.is-menu .menu-listing-wrap .menu-listing-inner-top {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Si un thème/shortcode force un float */
body.is-menu .menu-listing-wrap .menu-listing-inner,
body.is-menu .menu-listing-wrap .menu-listing-inner-top,
body.is-menu .menu-listing-wrap .menu-listing-title,
body.is-menu .menu-listing-wrap .menu-listing-price,
body.is-menu .menu-listing-wrap .menu-listing-description {
  float: none !important;
}

/* =========================================================
   LISTE MENU (shortcode)
========================================================= */

body.is-menu .menu-listing-wrap .menu-listing-inner {
  text-transform: uppercase !important;
  color: #ffffff !important;
  letter-spacing: 0.5px !important;
  line-height: 1 !important;
  font-size: 17px !important;
  margin-bottom: 25px !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner:last-child {
  margin-bottom: 0 !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-title,
body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-price {
  color: #523d2a !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-title,
body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-description {
  width: calc(100% - 50px) !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-price {
  width: 50px !important;
  text-align: right !important;
}

body.is-menu .menu-listing-wrap .menu-listing-inner .menu-listing-inner-top {
  display: flex !important;
}

/* =========================================================
   MOBILE — barre visuelle + scrollbar masquée
========================================================= */

@media (max-width: 420px) {
  body.is-menu .menu-listing-wrap .menu-listing::-webkit-scrollbar,
  body.is-menu .menu-listing-wrap .menu-listing::-webkit-scrollbar:vertical,
  body.is-menu .menu-listing-wrap .menu-listing::-webkit-scrollbar:horizontal,
  body.is-menu .menu-listing-wrap .menu-listing::-webkit-scrollbar-thumb,
  body.is-menu .menu-listing-wrap .menu-listing::-webkit-scrollbar-track {
    width: 0 !important;
  }

  body.is-menu .menu-listing-wrap .menu-listing {
    padding-right: 19px !important;
    position: relative;
  }

  body.is-menu .menu-listing-wrap .menu-listing:before {
    content: "";
    background: transparent;
    border: 1px solid #523d2b;
    width: 5px;
    border-radius: 50px;
    display: flex;
    position: absolute;
    right: 2px;
    height: 71vh !important;
    height: calc(var(--vh, 1vh) * 71 - 4px) !important;
    top: 2px;
    z-index: 999;
    opacity: 0.7;
  }
}

@media (max-width: 800px) and (max-height: 425px) {
  body.is-menu .menu-listing-wrap .menu-listing {
    position: relative;
  }

  body.is-menu .menu-listing-wrap .menu-listing:before {
    content: "";
    background: transparent;
    border: 1px solid #523d2b;
    width: 5px;
    border-radius: 50px;
    display: flex;
    position: absolute;
    right: 2px;
    height: calc(132vh - 4px) !important;
    top: 2px;
    z-index: 999;
    opacity: 0.7;
  }
}

/* =========================================================
   AVADA — forcer le centrage des conteneurs
========================================================= */

body.is-menu #main .fusion-row,
body.is-menu #main .fusion-builder-row,
body.is-menu #main .fusion-column-wrapper {
  display: flex !important;
  justify-content: center !important;
}

body.is-menu .menu-listing-wrap {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Avada : enlève la "hauteur" (spacing) ajoutée par la colonne */
body.is-menu .fusion-layout-column,
body.is-menu .fusion-column-wrapper {
  margin-bottom: 0 !important;
}

/* =========================================================
   BOUTONS MENU (liens) — style + espacement + aucun hover
========================================================= */

/* Le <li> ne doit pas prendre toute la largeur (évite le hover dans le "vide") */
body.is-menu .menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.is-menu .menu-item {
  display: inline-flex !important;
  justify-content: center !important;
  width: fit-content !important;
  margin: 0 auto 12px !important; /* espace entre les boutons */
  pointer-events: none !important; /* seul le <a> capte la souris */
}

body.is-menu .menu-item:last-child {
  margin-bottom: 0 !important;
}

body.is-menu .menu-item > a {
  pointer-events: auto !important;
}

body.is-menu .menu-item a,
body.is-menu .menu-item a:hover,
body.is-menu .menu-item a:focus,
body.is-menu .menu-item a:active,
body.is-menu .menu-item a:visited {
  color: #fff !important;
  background: #523d2c !important;

  display: block;
  line-height: 1;
  padding: 13px 30px 12px;
  border-radius: 50px;

  text-transform: uppercase;
  font-size: 26px;
  letter-spacing: 3px;

  width: fit-content;
  min-width: 300px;
  text-align: center;
  margin: 0 auto;

  /* Aucun effet Avada au hover */
  transform: none !important;
  transition: none !important;
  filter: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  outline: none !important;
}

/* Avada peut aussi appliquer un style sur le parent au hover */
body.is-menu .menu-item:hover,
body.is-menu .menu-item:focus-within {
  transform: none !important;
  transition: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Si Avada colore un span interne (ex: .menu-text) */
body.is-menu .menu-item a *,
body.is-menu .menu-item a:hover *,
body.is-menu .menu-item a:focus * {
  color: #fff !important;
}

/* Si Avada ajoute des traits/pseudo éléments au hover */
body.is-menu .menu-item a::before,
body.is-menu .menu-item a::after,
body.is-menu .menu-item a:hover::before,
body.is-menu .menu-item a:hover::after {
  content: none !important;
}


/* =========================================================
   FOOTER (style type Site B, adapté Avada)
========================================================= */

body.is-menu .fusion-tb-footer.fusion-footer {
  display: flex;
  flex-direction: column-reverse;
  margin-top: -75px !important;
  background-color: transparent !important;
  position: relative;
  z-index: 10;
}

body.is-menu .fusion-tb-footer.fusion-footer .fusion-footer-widget-area {
  padding: 20px !important;
  background-color: transparent !important;
}

/* Texte */
body.is-menu .fusion-tb-footer.fusion-footer,
body.is-menu .fusion-tb-footer.fusion-footer p {
  color: #523d2b !important;
  background-color: transparent !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Liens */
body.is-menu .fusion-tb-footer.fusion-footer a,
body.is-menu .fusion-tb-footer.fusion-footer a:hover {
  color: #523d2b !important;
}

/* =========================================================
   BOUTON RETOUR — uniquement pages menu
========================================================= */

body.is-menu button.back-button,
body.is-menu a.back-button {
  color: #523d2b;
  background-color: transparent;
  font-size: 45px;
  bottom: 25px;
  padding: 0;
  border: 0;
  text-align: center;
  margin-bottom: -40px;
  margin-top: 0px;
}

body.is-menu.home button.back-button,
body.is-menu.home a.back-button,
body.is-menu.page-child a.back-button.first-child {
  display: none;
}

/* =========================================================
   RÈGLE TYPO — uniquement pages menu
========================================================= */

body.is-menu p,
body.is-menu a,
body.is-menu h1,
body.is-menu h2,
body.is-menu h3,
body.is-menu h4,
body.is-menu h5,
body.is-menu h6,
body.is-menu #accueil p body #mobmenuright li a,
body.is-menu .vc_btn3.vc_btn3-color-grey.vc_btn3-style-modern,
body.is-menu .gform_wrapper .gform_footer input.button {
  font-family: Knockout;
  font-weight: 300;
  font-style: normal;
  color: #523d2a;
}



/* =========================================================
   MENU — enlever le blanc/gris en bas (forcer fond jaune partout)
========================================================= */

html,
body.is-menu {
  background: #f1b600 !important;
}

/* Avada : certaines rows/footer ont un background propre */
body.is-menu .fusion-footer,
body.is-menu .fusion-tb-footer,
body.is-menu .fusion-fullwidth,
body.is-menu .fullwidth-box,
body.is-menu .fusion-builder-row,
body.is-menu .fusion-row,
body.is-menu .fusion-column-wrapper,
body.is-menu .fusion-footer-widget-area,
body.is-menu .fusion-footer-copyright-area,
body.is-menu .has-pattern-background,
body.is-menu .has-mask-background {
  background: transparent !important;
  background-color: transparent !important;
}

/* Avada : parfois le fond vient d’un overlay/pseudo-élément */
body.is-menu .has-pattern-background::before,
body.is-menu .has-mask-background::before,
body.is-menu .fullwidth-box::before,
body.is-menu .fusion-fullwidth::before {
  background: transparent !important;
  opacity: 0 !important;
}
