/*
Theme Name: Hello Elementor Child
Description: Child theme for Hello Elementor
Author: Indigo
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child */


body.philosophie header.site-header,
body.philosophie .site-header,
body.philosophie header {
  background-color: #0031A7;
}

@media (max-width: 767px) {
  .trp-language-switcher-container {
    display: flex !important;
    position: absolute !important;
    z-index: 999;
    bottom: 0;
    right: -80%;
  }

  .trp-language-switcher-container a {
    font-family: "SuisseIntlBold", Sans-serif !important;
    font-style: normal !important;
    font-size: 11px !important;
    line-height: 100% !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
}

body.notre-histoire header.site-header,
body.notre-histoire .site-header,
body.notre-histoire header {
  background-color: #E4E6F3;
}

body.publications header.site-header,
body.publications .site-header,
body.publications header {
  background-color: #0F2337;
}

body.equipe header.site-header,
body.equipe .site-header,
body.equipe header {
  background-color: #E4E6F3;
}

body.blog header.site-header,
body.blog .site-header,
body.blog header {
  background-color: #E4E6F3;
}

body.single-post header.site-header,
body.single-post .site-header,
body.single-post header {
  background-color: #E4E6F3;
}

body.carriere header.site-header,
body.carriere .site-header,
body.carriere header {
  background-color: transparent;
}

@media (max-width: 767px) {

  header.site-header,
  .site-header,
  #site-header {
    -webkit-transition: transform 0.2s ease, opacity 0.2s ease !important;
    -moz-transition: transform 0.2s ease, opacity 0.2s ease !important;
    -ms-transition: transform 0.2s ease, opacity 0.2s ease !important;
    -o-transition: transform 0.2s ease, opacity 0.2s ease !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
    will-change: transform, opacity;
  }

  header.site-header.header-hidden,
  .site-header.header-hidden,
  #site-header.header-hidden {
    transform: translateY(-110%) !important;
    opacity: 0;
    pointer-events: none;
  }

  /* Force header to be white when mobile menu is active/open (toggle class elementor-active) */
  .publication-header:has(.elementor-active),
  .header-gris:has(.elementor-active),
  .carriere-header:has(.elementor-active),
  .white-header:has(.elementor-active),
  .philosophie-header:has(.elementor-active),
  .homepage-header:has(.elementor-active),
  .histoire-header:has(.elementor-active),
  header.site-header:has(.elementor-active),
  .site-header:has(.elementor-active),
  #site-header:has(.elementor-active),
  .header-scrolled,
  div.carriere-header.scrolled,
  div.header-scrolled.scrolled {
    background-color: #ffffff !important;
  }

  /* Force the toggle icons to be black when header is white */
  .publication-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .header-gris:has(.elementor-active) .elementor-menu-toggle svg path,
  .carriere-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .white-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .philosophie-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .homepage-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .histoire-header:has(.elementor-active) .elementor-menu-toggle svg path,
  header.site-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .site-header:has(.elementor-active) .elementor-menu-toggle svg path,
  #site-header:has(.elementor-active) .elementor-menu-toggle svg path,
  .header-scrolled .elementor-menu-toggle svg path,
  .scrolled .elementor-menu-toggle svg path {
    stroke: #000000 !important;
    fill: #000000 !important;
  }

  /* Force the logo to use the dark version when header is white */
  .publication-header:has(.elementor-active) .header-logo-mobile img,
  .header-gris:has(.elementor-active) .header-logo-mobile img,
  .carriere-header:has(.elementor-active) .header-logo-mobile img,
  .white-header:has(.elementor-active) .header-logo-mobile img,
  .philosophie-header:has(.elementor-active) .header-logo-mobile img,
  .homepage-header:has(.elementor-active) .header-logo-mobile img,
  .histoire-header:has(.elementor-active) .header-logo-mobile img,
  header.site-header:has(.elementor-active) .header-logo-mobile img,
  .site-header:has(.elementor-active) .header-logo-mobile img,
  #site-header:has(.elementor-active) .header-logo-mobile img,
  .header-scrolled .header-logo-mobile img,
  .scrolled .header-logo-mobile img {
    content: url('https://v2.indigo.fr/wp-content/uploads/2025/12/Logo_IP.svg') !important;
  }
}



.indigo-page-loader {
  position: fixed;
  inset: 0;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.indigo-page-loader__inner img {
  display: block;
  max-width: 80px;
  max-height: 80px;
}

@media (min-width: 768px) {
  .indigo-page-loader__inner img {
    max-width: 151px;
    max-height: 151px;
  }
}

.indigo-page-loader--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.indigo-page-loader--fading-out {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

@media (min-width: 768px) {
  .main-menu .elementor-item {
    -webkit-transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    -moz-transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    -ms-transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    -o-transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
  }

  /* Histoire */
  .histoire-header .main-menu .elementor-item-active {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #000 !important;
    border-radius: 20px;
    padding: 6px 13px !important;
    height: fit-content;
  }

  /* Philosophie */
  .philosophie-header .main-menu .elementor-item-active {
    background: rgba(255, 255, 255, 0.25) !important;
    border-radius: 20px;
    height: fit-content;
  }

  /* Publication */
  .publication-header .main-menu .elementor-item-active {
    background: rgba(255, 255, 255, 0.25) !important;
    border-radius: 20px;
    padding: 6px 13px !important;
    height: fit-content;
  }

  /* Carriere */
  .carriere-header .main-menu .elementor-item-active {
    background: rgba(255, 255, 255, 0.25) !important;
    border-radius: 20px;
    padding: 6px 13px !important;
    height: fit-content;
  }
}

@media (min-width: 768px) and (max-width: 1280px) {

  .custom-header,
  .home .customheaderhome .e-con-inner {
    padding-top: 40vh;
  }

  .custom-header .bloc-titre {
    width: 100% !important;
  }

}

/* Progressive reveal */
.indigo-reveal {
  opacity: 0.001;
  transform: translateY(12px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  will-change: opacity, transform;
}

.indigo-reveal--visible {
  opacity: 1;
  transform: none;
}

/* Blur-up for images */
.indigo-img {
  filter: blur(12px);
  transform: scale(1.02);
  transition: filter 0.45s ease, transform 0.45s ease, opacity 0.3s ease;
}

.indigo-img.is-loaded {
  filter: blur(0);
  transform: none;
}

/* Skeleton placeholder */
@keyframes indigo-skeleton {
  0% {
    background-position: -200px 0;
  }

  100% {
    background-position: calc(200px + 100%) 0;
  }
}

.indigo-skeleton {
  background-color: #e9edf6;
  background-image: linear-gradient(90deg, #e9edf6 0px, #f4f6fb 40px, #e9edf6 80px);
  background-size: 200px 100%;
  animation: indigo-skeleton 1.2s ease-in-out infinite;
}

/* Force pointer cursor on ALL links and Elementor items globally on hover only */
a:hover,
a *:hover,
.elementor-item:hover,
.main-menu .elementor-item:hover,
.elementor-widget-button .elementor-button:hover {
  cursor: pointer !important;
}


.elementor-widget-text-editor p a,
.elementor-widget-text-editor p a:hover {
  font-size: 25px;
  text-decoration: underline !important;
  color: unset;
}