/* ================================================
   LANG SWITCHER — GTranslate float switcher
   ================================================ */


   header#header  {
   .hide_desktop {
      display: none !important;
      
      @media (width <= 1200px) { display: block !important; }
     }
   }


.skiptranslate { display: none !important; }

li.menu-item-gtranslate {
  min-width: 3em;
  height: fit-content;
  display: flex !important;
  align-items: center;
  position: relative;
}

.menu-item-gtranslate [id^="gtranslate_menu_wrapper"] {
  position: absolute !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  inset: 0 !important;
}

.menu-item-gtranslate #gt_float_wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.menu-item-gtranslate .gt_float_switcher {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--blue);
}

.menu-item-gtranslate .gt-selected {
  display: flex;
  align-items: center;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.menu-item-gtranslate .gt-current-lang {
  display: flex !important;
  align-items: center !important;
  gap: 0.4em !important;
  padding: 0 !important;
  color: var(--blue) !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.menu-item-gtranslate .gt-current-lang img,
.menu-item-gtranslate .gt_options a img,
.menu-item-gtranslate #google_translate_element2,
.menu-item-gtranslate .goog-te-gadget,
.menu-item-gtranslate .gt_float_switcher-arrow {
  display: none !important;
}

.menu-item-gtranslate .gt-lang-code {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  line-height: 1;
}

.menu-item-gtranslate .gt-current-lang::after {
  content: '';
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="32" viewBox="0 0 21 32"><path fill="currentColor" d="M10.5 18.375l7.938-7.938c.562-.562 1.562-.562 2.125 0s.562 1.563 0 2.126l-9 9c-.563.562-1.5.625-2.063.062L.437 12.562C.126 12.25 0 11.876 0 11.5s.125-.75.438-1.063c.562-.562 1.562-.562 2.124 0z"/></svg>') center / contain no-repeat;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="32" viewBox="0 0 21 32"><path fill="currentColor" d="M10.5 18.375l7.938-7.938c.562-.562 1.562-.562 2.125 0s.562 1.563 0 2.126l-9 9c-.563.562-1.5.625-2.063.062L.437 12.562C.126 12.25 0 11.876 0 11.5s.125-.75.438-1.063c.562-.562 1.562-.562 2.124 0z"/></svg>') center / contain no-repeat;
  background-color: #fff;
  flex-shrink: 0;
}

[data-mobile-header-scheme=gray] .lqd-mobile-sec .navbar-header {
  background-color: #133564 !important;
}

.menu-item-gtranslate .gt_options {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 37px) !important;
  left: -100px !important;
  transform: none !important;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 16px 20px;
  min-width: 140px;
  box-shadow: none !important;
  z-index: 9999;
}

.menu-item-gtranslate .gt_options.gt-open {
  display: block !important;
}

.menu-item-gtranslate .gt_options a {
  display: block;
  padding: 5px 0 !important;
  color: var(--blue) !important;
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  background: transparent !important;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.menu-item-gtranslate .gt_options a:hover,
.menu-item-gtranslate .gt_options a:focus {
  text-decoration: none !important;
  background: transparent !important;
  color: var(--blue) !important;
  opacity: 0.7;
  outline: none;
}

.menu-item-gtranslate .gt_options a.gt-current {
  font-weight: 600;
  color: var(--gold) !important;
}

.menu-item-gtranslate .gt_options a.gt-current:hover {
  color: var(--gold) !important;
}


/* ================================================
   MENU GÉNÉRAL
   ================================================ */

body :is(header#header, footer#footer) .nav-item-children:not(#ddi-nav *) {
  top: calc(100% + 35px);
  border-radius: 20px;
  padding: 24px;
  width: max-content;

  @media (width <= 1200px) { padding: 0 0 0 8px; width: 100%; }

  .title-element.menu-item {
    padding-bottom: 12px;
    @media (width <= 1200px) { padding-bottom: 0; }
    a { font-weight: 600; font-size: 1rem; color: var(--blue); padding: 0;
      &:hover::before { display: none; }
    }
  }

  .title-element:not(:first-child) {
    margin-top: 22px; padding-top: 22px;
    @media (width <= 1200px) { margin-top: 6px; padding-top: 6px; }
    &::before { content: ""; display: block; width: 100%; height: 1px;
      background-color: var(--gold); position: absolute; top: 0; left: 0;
    }
  }

  .menu-item { font-weight: 400; font-size: 1rem; padding-inline: 0; }

  :not(.title-element).menu-item {
    padding-bottom: 10px;
    a {
      display: flex; align-items: center; justify-content: space-between;
      color: var(--blue); gap: 2rem; padding: 0; line-height: 1.2;
      &::after {
        content: ""; display: inline-block; width: 18px; height: 14px;
        background: url(../images/icons/Arrow_Blue.svg) right center / contain no-repeat;
        opacity: 0; visibility: hidden; transform: translateX(-10px);
        transition: opacity 0.15s, visibility 0.15s, transform 0.25s cubic-bezier(0.55, 0, 0.1, 1);
      }
      &:hover { text-decoration: underline;
        &::before { display: none; }
        &::after { opacity: 1; visibility: visible; transform: translateX(0); }
      }
    }
  }
}

@media (width <= 1200px) {
  body :is(header#header, footer#footer) .menu-item:not(#ddi-nav *) svg { width: 2em !important; height: 2em !important; }
}

body :is(header#header, footer#footer) .menu-item.is-active .nav-item-children:not(#ddi-nav *) { display: block; }

body footer#footer .nav-item-children { top: 100%; left: 0; border-radius: 20px; padding: 24px; width: max-content; }


/* ================================================
   MENU ACTUALITÉS
   ================================================ */

body :is(header#header, footer#footer) .actu-menu .nav-item-children li.menu-item {
  &:not(:last-child) { padding-bottom: 16px;
    @media (width <= 1200px) { padding-bottom: 0; }
  }
  a { font-weight: 500; padding-bottom: 16px;
    @media (width <= 1200px) { padding-bottom: 10px; border-bottom: none; }
  }
  &:last-child a { border-bottom: none; padding-bottom: 0; }
}


/* ================================================
   OVERLAY (desktop uniquement)
   ================================================ */

html { scrollbar-gutter: stable; }

header#header { z-index: 200; }

.overlay-menu {
  position: fixed; inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.3s, visibility 0.3s;
  &.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
}

@media (width <= 1200px) {
  .overlay-menu { display: none !important; }
}


/* ================================================
   FIX CHEVAUCHEMENT DES DROPDOWNS (desktop)
   ================================================ */

header#header.has-active-menu #primary-nav > li:not(.is-active) > .nav-item-children {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (width > 1200px) {
  body header#header #primary-nav > li:not(.is-active):hover > .nav-item-children {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}


/* ================================================
   MEGA MENU DESKTOP (> 1200px uniquement)
   ================================================ */
@media (max-width: 1200px) {
  .lqd-mobile-sec .navbar-header > * {
    width: 35% !important;
  }
}



@media (width > 1200px) {

  .projet_immobilier_domidylle > .nav-item-children {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    width: 720px !important; padding: 30px !important;
    gap: 0 !important; align-items: start !important;
  }

  #menu-item-4919 {
    grid-column: 1 / -1 !important; grid-row: 1 !important; padding: 0 0 20px !important;
    &::before, &::after { display: none !important; content: none !important; background: none !important; }
    > a {
      color: var(--gold) !important; font-weight: 600 !important;
      display: flex !important; align-items: center !important; width: 100% !important;
      &::before { display: none !important; content: none !important; }
      &::after {
        content: "" !important; display: inline-block !important;
        width: 18px !important; height: 14px !important;
        margin-left: 12px !important; flex-shrink: 0 !important; position: static !important;
        background: url(../images/icons/Arrow_Blue.svg) right center / contain no-repeat !important;
        background-color: transparent !important;
        opacity: 0 !important; visibility: hidden !important; transform: translateX(-10px) !important;
        transition: opacity 0.15s, visibility 0.15s, transform 0.25s cubic-bezier(0.55, 0, 0.1, 1) !important;
      }
      &:hover {
        text-decoration: underline !important;
        &::after { opacity: 1 !important; visibility: visible !important; transform: translateX(0) !important; }
      }
    }
  }

  #menu-item-4107, #menu-item-4108 {
    display: block !important;
    grid-row: 2 !important; padding: 0 0 16px !important; margin-top: 0 !important;
    &::before, &::after { content: none !important; display: none !important; background: none !important; background-color: transparent !important; width: 0 !important; height: 0 !important; position: static !important; }
    > a {
      color: var(--gold) !important; font-weight: 600 !important; font-size: 18px !important;
      display: flex !important; align-items: center !important;
      gap: 10px !important; width: 100% !important;
      &::after {
        content: "" !important; display: inline-block !important;
        width: 18px !important; height: 14px !important; margin-left: auto !important;
        flex-shrink: 0 !important; position: static !important;
        background: url(../images/icons/Arrow_Blue.svg) right center / contain no-repeat !important;
        background-color: transparent !important;
        opacity: 0 !important; visibility: hidden !important; transform: translateX(-10px) !important;
        transition: opacity 0.15s, visibility 0.15s, transform 0.25s cubic-bezier(0.55, 0, 0.1, 1) !important;
      }
      &:hover {
        text-decoration: underline !important;
        &::after { opacity: 1 !important; visibility: visible !important; transform: translateX(0) !important; }
      }
    }
  }

  #menu-item-4108 {
    grid-column: 1 !important; padding-right: 30px !important;
    > a::before { content: "" !important; display: inline-block !important; width: 36px !important; height: 44px !important;
      background: url('https://domidylle-international.beekom.fr/wp-content/uploads/2025/11/MauriceIcon.svg') center / contain no-repeat !important;
      background-color: transparent !important; flex-shrink: 0 !important; position: static !important;
      margin-right: 10px !important;
    }
  }

  #menu-item-4107 {
    grid-column: 2 !important; padding-left: 30px !important; border-left: 1px solid #e8e8e8 !important;
    > a::before { content: "" !important; display: inline-block !important; width: 26px !important; height: 42px !important;
      background: url('https://domidylle-international.beekom.fr/wp-content/uploads/2025/11/PortugalIcon-1.svg') center / contain no-repeat !important;
      background-color: transparent !important; flex-shrink: 0 !important; position: static !important;
      margin-right: 10px !important;
    }
  }

  #menu-item-4620 { grid-column: 1 !important; grid-row: 3 !important; padding-right: 30px !important; }
  #menu-item-4619 { grid-column: 1 !important; grid-row: 4 !important; padding-right: 30px !important; }
  #menu-item-4621 { grid-column: 1 !important; grid-row: 5 !important; padding-right: 30px !important; }

  #menu-item-5151 { grid-column: 2 !important; grid-row: 3 !important; padding-left: 30px !important; border-left: 1px solid #e8e8e8 !important; }
  #menu-item-5167 { grid-column: 2 !important; grid-row: 4 !important; padding-left: 30px !important; border-left: 1px solid #e8e8e8 !important; }
  #menu-item-5190 { grid-column: 2 !important; grid-row: 5 !important; padding-left: 30px !important; border-left: 1px solid #e8e8e8 !important; }

  #menu-item-5122, #menu-item-5123 {
    grid-row: 6 !important; margin-top: 14px !important; padding: 0 !important;
    &::before, &::after { content: none !important; display: none !important; background: none !important; background-color: transparent !important; width: 0 !important; height: 0 !important; }
    > a { display: block !important; color: var(--gold) !important; font-weight: 600 !important; font-size: 18px !important; padding-bottom: 10px !important; cursor: default !important;
      &::before, &::after { content: none !important; display: none !important; }
    }
    > .submenu-expander { display: none !important; }
  }

  #menu-item-4919 a {
    font-size: 18px !important; 
  }

  #menu-item-5122 { grid-column: 1 !important; padding-right: 30px !important; }
  #menu-item-5123 { grid-column: 2 !important; padding-left: 30px !important; border-left: 1px solid #e8e8e8 !important; }

  body header#header .projet_immobilier_domidylle li#menu-item-5122 > ul.nav-item-children,
  body header#header .projet_immobilier_domidylle li#menu-item-5123 > ul.nav-item-children {
    position: static !important; display: none !important;
    box-shadow: none !important; -webkit-box-shadow: none !important;
    background: transparent !important; border-radius: 0 !important;
    padding: 0 !important; border: none !important;
    top: auto !important; left: auto !important; width: 100% !important;
    opacity: 1 !important; visibility: visible !important; margin: 0 !important; transform: none !important;
    &::before, &::after { content: none !important; display: none !important; }

    > li.menu-item {
      display: block !important; padding: 0 0 6px !important;
      background: transparent !important; box-shadow: none !important;
      &::before, &::after { content: none !important; display: none !important; }
      > a {
        font-weight: 400 !important; color: var(--blue) !important;
        display: flex !important; align-items: center !important;
        justify-content: space-between !important; line-height: 1.2 !important;
        background: transparent !important;
        i {
          padding-left: 5px !important;
        }
        &::before { content: none !important; display: none !important; }
        &::after {
          content: "" !important; display: inline-block !important; width: 18px !important; height: 14px !important;
          background: url(../images/icons/Arrow_Blue.svg) right center / contain no-repeat !important;
          background-color: transparent !important;
          opacity: 0 !important; visibility: hidden !important; transform: translateX(-10px) !important;
          transition: opacity 0.15s, visibility 0.15s, transform 0.25s cubic-bezier(0.55, 0, 0.1, 1) !important;
        }
        &:hover { text-decoration: underline !important;
          &::before { display: none !important; }
          &::after { opacity: 1 !important; visibility: visible !important; transform: translateX(0) !important; }
        }
      }
    }
  }

  body header#header .projet_immobilier_domidylle.is-active li#menu-item-5122 > ul.nav-item-children,
  body header#header .projet_immobilier_domidylle.is-active li#menu-item-5123 > ul.nav-item-children {
    display: block !important;
  }
}


/* Fix balise <i> dans les liens de menu */
body :is(header#header, footer#footer) .nav-item-children a i {
  font-style: italic;
  display: inline !important;
}

/* Les deux éléments texte + <i> restent groupés */
body :is(header#header, footer#footer) .nav-item-children a {
  gap: 0 !important;
}

body :is(header#header, footer#footer) .nav-item-children a::after {
  margin-left: auto !important;
  padding-left: 2rem !important;
}


/* ================================================
   MENU PREND RENDEZ-VOUS
   ================================================ */

.rdv-dropdown {
  display: none;
  position: absolute;
  top: 110px;
  right: 80px;
  width: 340px;
  z-index: 999;
  opacity: 0;
  transform: translateY(10px);
  transition: all .25s ease;
  pointer-events: none;
}

.rdv-dropdown.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  display: block;
}
