/* RESET BODY BACKGROUND */
body,
body.home,
html,
.elementor-kit-9,
.elementor-default {
  background-color: #F8F8F6 !important;
}

/* VARIABLES PAR PRACTICE */
:root {
  --fair-header-color: #0A0A0A;
}
[data-practice="entrepreneurs"] { --fair-practice-color: #7A1A28; }
[data-practice="sales"]         { --fair-practice-color: #7A6800; }
[data-practice="transformation"]{ --fair-practice-color: #420A8A; }
[data-practice="gestion"]       { --fair-practice-color: #606060; }
[data-practice="coaching"]      { --fair-practice-color: #1AA8A0; }
[data-practice="sustainability"] { --fair-practice-color: #2D5A27; }
[data-practice="resilience"]    { --fair-practice-color: #6A1A22; }
[data-practice="telecom"]       { --fair-practice-color: #0A1A8C; }

/* HEADER BASE */
#fair-header {
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  background: #FFFFFF !important;
  border-bottom: 1px solid #E8E8E8;
  pointer-events: all;
  overflow: visible;
}

.fair-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  height: 96px;
  display: flex;
  align-items: flex-end;
  padding-bottom: 25px;
  gap: 60px;
}

/* LOGO */
.fair-logo {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
}
.fair-logo-text {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size:clamp(1.7rem, 2.22vw, 2rem);
  color: var(--fair-header-color, #0A0A0A);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.fair-slash {
  font-weight: 300;
  opacity: 0.7;
}
.fair-logo-img {
  height: 150px;
  width: auto;
  display: block;
  position: relative;
  z-index: 1000;
  margin-top: 50px;
  margin-bottom: -50px;
}
.fair-baseline {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 400;
  font-size:clamp(0.65rem, 0.78vw, 0.7rem);
  color: rgba(0,0,0,0.45);
  letter-spacing: 3px;
  text-transform: lowercase;
  /* ANIMATION */
  opacity: 0;
  transform: translateY(6px);
  animation: baselineIn 0.4s ease 0.2s forwards;
}
@keyframes baselineIn {
  to { opacity: 1; transform: translateY(0); }
}

/* NAV */
.fair-nav { flex: 1; }
.fair-nav > ul {
  display: flex;
  gap: clamp(14px, 1.1vw, 26px);
  list-style: none;
  margin: 0; padding: 0;
}
.fair-nav a {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: clamp(15px, 0.95vw, 16px);
  color: var(--fair-header-color, #0A0A0A);
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: clamp(0.5px, 0.08vw, 1.5px);
  text-decoration: none;
  transition: color 0.2s, opacity 0.2s;
  white-space: nowrap;
}
.fair-nav a:hover { opacity: 1; }
.fair-nav > ul > li > span[role="button"] {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(15px, 0.95vw, 16px);
  font-weight: 600;
  letter-spacing: clamp(0.5px, 0.08vw, 1.5px);
  text-transform: uppercase;
  color: var(--fair-header-color, #0A0A0A);
  opacity: 0.7;
  cursor: pointer;
  transition: opacity 0.2s;
  white-space: nowrap;
}
.fair-nav > ul > li > span[role="button"]:hover { opacity: 1; }
.fair-nav-separator {
  color: var(--fair-header-color, rgba(0,0,0,0.2));
  opacity: 0.3;
  pointer-events: none;
  padding: 0;
}

/* DROPDOWN */
.has-dropdown { pointer-events: all; }
.dropdown {
  display: none;
  position: absolute;
  z-index: 9999;
  top: calc(100% + 1px);
  left: 0;
  background: #FFFFFF;
  min-width: 220px;
  padding: 0;
  margin-top: 0;
  list-style: none;
  border-top: 2px solid #E8E8E8;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.has-dropdown:hover .dropdown { display: block; }
.dropdown li a {
  display: block;
  padding: 10px 20px;
  font-size:clamp(0.78rem, 0.94vw, 0.85rem);
  letter-spacing: 1px;
  opacity: 0.8;
}
.dropdown li a:hover { opacity: 1; padding-left: 28px; }
.dropdown li a[href*="entrepreneurs"] { background: #7A1A28; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="sales"] { background: #7A6800; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="transformation"] { background: #420A8A; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="gestion"] { background: #606060; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="coaching"] { background: #1AA8A0; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="sustainability"] { background: #2D5A27; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="resilience"] { background: #6A1A22; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="telecom"] { background: #0A1A8C; color: #FFFFFF; opacity: 1; }
.dropdown li a[href*="entrepreneurs"]:hover,
.dropdown li a[href*="sales"]:hover,
.dropdown li a[href*="transformation"]:hover,
.dropdown li a[href*="gestion"]:hover,
.dropdown li a[href*="coaching"]:hover,
.dropdown li a[href*="sustainability"]:hover,
.dropdown li a[href*="resilience"]:hover,
.dropdown li a[href*="telecom"]:hover { opacity: 0.85; color: #FFFFFF; }

/* MEGA MENU */
.mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0;
  background: #FFFFFF;
  padding: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  z-index: 10000;
  flex-direction: row;
  align-items: flex-start;
}
/* géré en JS */
.mega-menu .mega-item-desc {
  color: rgba(0,0,0,0.55) !important;
  font-family: 'Inter', sans-serif !important;
  font-size:clamp(0.75rem, 0.91vw, 0.82rem) !important;
  text-decoration: none !important;
}
.mega-menu .mega-item-title {
  color: #0A0A0A !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size:clamp(0.82rem, 1vw, 0.9rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  text-decoration: none !important;
}
.mega-menu a {
  text-decoration: none !important;
  color: inherit !important;
}
.mega-menu::before {
  content: '';
  position: absolute;
  top: -30px;
  left: 0;
  width: 150px;
  height: 30px;
}
.mega-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 24px;
  text-decoration: none;
  border-right: 1px solid #F0F0F0;
  min-width: 200px;
  width: 200px;
  transition: background 0.25s ease;
}
.mega-item:last-child { border-right: none; }
.mega-item, .mega-item * { opacity: 1 !important; }
.mega-item:hover { background: #F8F8F6; }
.mega-item img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}
.mega-item-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mega-item-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size:clamp(0.9rem, 1.11vw, 1rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0A0A0A;
}
.fair-nav .mega-item .mega-item-desc {
  font-family: 'Inter', sans-serif !important;
  font-size:clamp(0.75rem, 0.91vw, 0.82rem);
  color: rgba(0,0,0,0.5);
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  white-space: normal;
  max-width: 180px;
}

/* CTA */
.fair-cta {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size:clamp(0.78rem, 0.94vw, 0.85rem);
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--fair-header-color, #0A0A0A);
  border: 1px solid;
  border-color: var(--fair-header-color, rgba(0,0,0,0.3));
  opacity: 0.8;
  padding: 10px 24px;
  text-decoration: none;
  border-radius: 2px;
  transition: all 0.3s;
  white-space: nowrap;
}
.fair-cta:hover {
  background: #0A0A0A;
  color: #FFFFFF;
  border-color: #0A0A0A;
}

/* BURGER */
.fair-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
}
.fair-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--fair-header-color, #0A0A0A);
  transition: all 0.3s;
}

/* MOBILE */
@media (max-width: 768px) {
  .fair-nav, .fair-cta { display: none; }
  .fair-burger { display: flex; transform: translate(-12px, -12px); gap: 6px; }
  .fair-burger span { width: 35px; height: 3px; }
  .fair-header-inner { padding: 0 8px; }
  .fair-logo { padding-left: 8px; }
  body.mobile-menu-open { overflow: hidden; }

  /* Full-screen mobile menu */
  .fair-nav.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 80px; left: 0; right: 0; bottom: 0; padding-bottom: 72px;
    background: #0A0A0A;
    padding: 16px 16px 0; margin-top: 32px;
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .fair-nav.open > ul {
    flex-direction: column;
    gap: 0;
  }

  /* Hide standard items: Accueil, separator, top-level span */
  .fair-nav.open > ul > li > a { display: none; }
  .fair-nav.open > ul > .fair-nav-separator { display: none; }
  .fair-nav.open > ul > .has-dropdown > span[role="button"] {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 15px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    padding: 8px 16px;
    pointer-events: none;
  }

  /* Show mega-menus inline */
  .fair-nav.open .mega-menu {
    display: flex !important;
    position: static !important;
    flex-direction: column !important;
    width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    z-index: auto !important;
    margin: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
  }
  .fair-nav.open .mega-menu::before { display: none; }
  .fair-nav.open .mega-item {
    flex-direction: row !important;
    width: 100% !important;
    min-width: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 12px 16px !important;
    gap: 10px;
  }
  .fair-nav.open .mega-item:last-child { border-bottom: none; }
  .fair-nav.open .mega-item:hover,\n  .fair-nav.open .mega-item:active { background: #FFFFFF !important; }
  .fair-nav.open .mega-item:hover *,\n  .fair-nav.open .mega-item:active * { color: #000000 !important; }
  .fair-nav.open .mega-item img { width: 28px; height: 28px; border-radius: 3px; }
  .fair-nav.open .mega-item-title { font-size: 0.86rem !important; }
  .fair-nav.open .mega-item-title,\n  .fair-nav.open .mega-item-text,\n  .fair-nav.open .mega-item-text * { color: #FFFFFF !important; }
  .fair-nav.open .mega-item-desc { display: none !important; }

  /* About links at bottom */
  .fair-nav.open > ul > li:nth-last-child(-n+3) > a {
    display: block;
    color: rgba(255,255,255,0.7);
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .fair-nav.open > ul > li:nth-last-child(3) > a {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.12);
  }

  /* CTA button fixed at bottom of mobile panel */
  body.mobile-menu-open .fair-cta {
    display: block !important;
    position: fixed;
    bottom: 24px;
    left: 16px;
    right: 16px;
    z-index: 10000;
    text-align: center;
    background: #FFFFFF;
    color: #0A0A0A !important;
    border-color: #FFFFFF;
  }

  /* Dropdown override (hide standard, keep mega) */
  .fair-nav.open .dropdown { display: none !important; }
}



/* PAGE TRANSITION */
body {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
body.fair-fade-out {
  opacity: 0;
  transform: translateY(-12px);
}
@keyframes fairFadeIn {
  from { 
    opacity: 0; 
    transform: translateY(12px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}
body.fair-fade-in {
  animation: fairFadeIn 0.5s ease forwards;
}

/* RESET FOOTER ELEMENTOR */
.elementor-location-footer,
footer.elementor-section,
.site-footer {
  background: #F8F8F6 !important;
  color: rgba(0,0,0,0.5) !important;
}

/* RESET COULEURS ELEMENTOR PAR DEFAUT */
:root {
  --e-global-color-accent: #0A0A0A !important;
}
.elementor-location-footer {
  background-color: #F8F8F6 !important;
}
.elementor-location-footer * {
  color: rgba(0,0,0,0.5) !important;
}

/* FOOTER RESET */
.elementor-location-footer,
[data-elementor-type="footer"] {
  background: #F8F8F6 !important;
}

.fair-home {
  width: 100%;
  overflow: hidden;
}

/* RESET H1 ELEMENTOR */
#fair-main h1,
#fair-main .fair-hero h1 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* RESET MAIN ELEMENTOR */
#fair-main,
.site-main,
main {
  padding: 0 !important;
  margin: 0 !important;
}

/* Compensation barre admin WP */
body.admin-bar #fair-header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar #fair-header {
        top: 46px;
    }
}
