/* ============================================================
   AMBIZ — Hard Overrides
   Surcharges pour neutraliser les styles agressifs de
   Hello Elementor et de WordPress core qui écrasent
   notre child theme malgré la spécificité BEM.
   Chargé en DERNIER dans la cascade.
   ============================================================ */


/* ============================================================
   1. LOGO PNG — neutraliser les filtres Hello Elementor sur <img>
   ============================================================ */

.ambiz-site-header .ambiz-logo,
.ambiz-mobile-menu .ambiz-logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  line-height: 0 !important;
}

.ambiz-site-header .ambiz-logo__img,
.ambiz-mobile-menu .ambiz-logo__img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 68px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

@media (max-width: 1023px) {
  .ambiz-site-header .ambiz-logo__img,
  .ambiz-mobile-menu .ambiz-logo__img {
    height: 56px !important;
  }
}

@media (max-width: 480px) {
  .ambiz-site-header .ambiz-logo__img,
  .ambiz-mobile-menu .ambiz-logo__img {
    height: 48px !important;
  }
}


/* ============================================================
   2. LANG SWITCHER PILL — neutraliser button defaults
   Hello Elementor force "button { background-color: var(...) }"
   sur tous les <button>. On force le notre.
   ============================================================ */

.ambiz-site-header button.ambiz-lang-pill,
.ambiz-header-actions button.ambiz-lang-pill {
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #1B2A4E !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: 20px !important;
  padding: 7px 14px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: none !important;
}

.ambiz-site-header button.ambiz-lang-pill:hover {
  background-color: #FAFAFA !important;
  background-image: none !important;
  color: #1B2A4E !important;
  border-color: #1B2A4E !important;
}

.ambiz-site-header button.ambiz-lang-pill svg {
  width: 14px !important;
  height: 14px !important;
  stroke: #1B2A4E !important;
  fill: none !important;
}

.ambiz-site-header .ambiz-lang-pill__chevron {
  transition: transform 200ms ease !important;
}

.ambiz-site-header button.ambiz-lang-pill[aria-expanded="true"] .ambiz-lang-pill__chevron {
  transform: rotate(180deg) !important;
}

/* Dropdown container — neutraliser Hello Elementor */
.ambiz-site-header .ambiz-lang-dropdown {
  background: #FFFFFF !important;
  margin: 0 !important;
}

/* Liste — kill bullets sur les ul Polylang ET notre custom .ambiz-lang-list */
body[class] .ambiz-site-header .ambiz-lang-list,
body[class] .ambiz-mobile-menu .ambiz-lang-list,
body[class] .ambiz-site-header .ambiz-lang-list li,
body[class] .ambiz-mobile-menu .ambiz-lang-list li {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

body[class] .ambiz-site-header .ambiz-lang-list li::before,
body[class] .ambiz-site-header .ambiz-lang-list li::marker,
body[class] .ambiz-mobile-menu .ambiz-lang-list li::before,
body[class] .ambiz-mobile-menu .ambiz-lang-list li::marker {
  content: none !important;
  display: none !important;
}

/* Items dropdown desktop */
body[class] .ambiz-site-header .ambiz-lang-list--desktop .ambiz-lang-item a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background: transparent;
}

body[class] .ambiz-site-header .ambiz-lang-list--desktop .ambiz-lang-item.is-current a {
  background: #F8E5E8 !important;
}

/* Items pills mobile */
body[class] .ambiz-mobile-menu .ambiz-lang-list--mobile .ambiz-lang-item a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  border: 1px solid #EEEEEE !important;
  border-radius: 9999px !important;
  background: transparent;
  text-decoration: none !important;
}

body[class] .ambiz-mobile-menu .ambiz-lang-list--mobile .ambiz-lang-item.is-current a {
  background: #C8102E !important;
  border-color: #C8102E !important;
}


/* ============================================================
   3. CTA HEADER — neutraliser button + a defaults
   ============================================================ */

.ambiz-site-header a.ambiz-cta-header,
.ambiz-mobile-menu a.ambiz-cta-header {
  background-color: #C8102E !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 10px 20px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: background-color 250ms ease !important;
  white-space: nowrap !important;
}

.ambiz-site-header a.ambiz-cta-header:hover,
.ambiz-mobile-menu a.ambiz-cta-header:hover {
  background-color: #A30D24 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.ambiz-site-header .ambiz-cta-header__arrow,
.ambiz-mobile-menu .ambiz-cta-header__arrow {
  width: 14px !important;
  height: 14px !important;
  stroke: #FFFFFF !important;
  fill: none !important;
  transition: transform 250ms ease !important;
}

.ambiz-site-header a.ambiz-cta-header:hover .ambiz-cta-header__arrow,
.ambiz-mobile-menu a.ambiz-cta-header:hover .ambiz-cta-header__arrow {
  transform: translateX(3px) !important;
}


/* ============================================================
   4. NAV PRINCIPALE DESKTOP — kill bullets, restore flex
   ============================================================ */

.ambiz-site-header .ambiz-nav ul,
.ambiz-site-header .ambiz-nav__list,
.ambiz-site-header ul.ambiz-nav__list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ambiz-site-header .ambiz-nav__list li,
.ambiz-site-header .ambiz-nav__list > li {
  display: list-item !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}

.ambiz-site-header .ambiz-nav__list li::before,
.ambiz-site-header .ambiz-nav__list li::marker {
  content: none !important;
  display: none !important;
}

.ambiz-site-header .ambiz-nav__list a {
  display: inline-block !important;
  padding: 8px 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  position: relative !important;
}

.ambiz-site-header .ambiz-nav__list a::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -4px !important;
  height: 2px !important;
  background: #C8102E !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 250ms ease !important;
}

.ambiz-site-header .ambiz-nav__list a:hover {
  color: #1B2A4E !important;
}

.ambiz-site-header .ambiz-nav__list a:hover::after,
.ambiz-site-header .ambiz-nav__list .current-menu-item > a::after,
.ambiz-site-header .ambiz-nav__list .current-page-ancestor > a::after {
  transform: scaleX(1) !important;
}


/* ============================================================
   5. MENU MOBILE — vertical, hiérarchisé, sans bullets
   ============================================================ */

.ambiz-mobile-menu .ambiz-mobile-menu__nav ul,
.ambiz-mobile-menu .ambiz-mobile-menu__list,
.ambiz-mobile-menu ul.ambiz-mobile-menu__list {
  display: block !important;
  flex-direction: column !important;
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list li,
.ambiz-mobile-menu .ambiz-mobile-menu__list > li,
.ambiz-mobile-menu ul li {
  display: block !important;
  width: 100% !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  float: none !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list li::before,
.ambiz-mobile-menu .ambiz-mobile-menu__list li::marker {
  content: none !important;
  display: none !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list a,
.ambiz-mobile-menu .ambiz-mobile-menu__list > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 0 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1B2A4E !important;
  text-decoration: none !important;
  border-bottom: 1px solid #EEEEEE !important;
  width: 100% !important;
  background: transparent !important;
  transition: color 200ms ease !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list a:hover,
.ambiz-mobile-menu .ambiz-mobile-menu__list a:focus {
  color: #C8102E !important;
  background: transparent !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list .current-menu-item > a,
.ambiz-mobile-menu .ambiz-mobile-menu__list .current-page-ancestor > a {
  color: #C8102E !important;
}

.ambiz-mobile-menu .ambiz-mobile-menu__list .current-menu-item > a::after {
  content: '' !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  background: #C8102E !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}


/* ============================================================
   6. LANGUES MOBILE — wrapper du bloc langues dans le menu mobile
   Le rendu des items pills est géré section 1.b avec .ambiz-lang-list--mobile
   ============================================================ */

body[class] .ambiz-mobile-menu .ambiz-mobile-menu__lang,
body[class] div.ambiz-mobile-menu__lang {
  padding: 16px !important;
  border-top: 1px solid #EEEEEE !important;
  background: transparent !important;
}

body[class] .ambiz-mobile-menu__lang .ambiz-mobile-menu__lang-label {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #999999 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  display: block !important;
}


/* ============================================================
   7. CLOSE BUTTON MOBILE — neutraliser button defaults
   ============================================================ */

.ambiz-mobile-menu button.ambiz-mobile-menu__close {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  position: relative !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ambiz-mobile-menu button.ambiz-mobile-menu__close:hover {
  background-color: #FAFAFA !important;
}


/* ============================================================
   8. BURGER — neutraliser button defaults
   ============================================================ */

.ambiz-site-header button.ambiz-burger,
.ambiz-header-actions button.ambiz-burger {
  background-color: #FAFAFA !important;
  background-image: none !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: 4px !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  box-shadow: none !important;
}

.ambiz-site-header button.ambiz-burger:hover {
  background-color: #FFFFFF !important;
  border-color: #1B2A4E !important;
}
