/*
Theme Name: CDC Conseil Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: cdc-conseil
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1784104912
Updated: 2026-07-15 10:41:52

*/

html, body {
  overflow-x: clip;
}




/* ===== Header CDC Conseil  ===== */
#cdc-header{
  -webkit-backdrop-filter: saturate(150%) blur(16px);
  backdrop-filter: saturate(150%) blur(16px);
  border-bottom: 1px solid transparent;
  transition: padding .4s cubic-bezier(.22,.61,.36,1),
              background-color .4s cubic-bezier(.22,.61,.36,1),
              border-color .4s cubic-bezier(.22,.61,.36,1);
}
/* État scrollé (Elementor ajoute .elementor-sticky--effects) */
#cdc-header.elementor-sticky--effects{
  background-color: rgba(251,247,242,.92) !important;
  border-bottom-color: #EBE2D9;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* CTA — dégradé acidulé signature (3 arrêts) */
#cdc-header #cdc-cta .elementor-button{
  background-image: linear-gradient(98deg,#E50051 0%,#E84E0F 50%,#FBBA00 100%);
  background-color: transparent;
  background-size: 140% 100%;
  transition: transform .25s, box-shadow .3s, background-position .25s;
letter-spacing: .01em;
 transition: transform .25s var(--ease), box-shadow .3s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), gap .25s var(--ease);
    text-align: center;
    line-height: 1.2;
}

#cdc-header #cdc-cta .elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -20px rgba(232,78,15,.6);
  background-position: 100% 0; color:#fff;
}
/* Soulignement dégradé (au lieu d'un trait uni) */
/* ===== Desktop : soulignement dégradé, apparition gauche→droite ===== */
#cdc-header .elementor-nav-menu--main .elementor-item{
  position: relative;
  padding: 6px 0 !important;
  margin: 0 16px !important;
}
/* neutralise le pointer natif d'Elementor qui écrase l'anim */
#cdc-header .elementor-nav-menu--main .elementor-item::before{ display:none !important; }

#cdc-header .elementor-nav-menu--main .elementor-item::after{
  content:"";
  position:absolute;
  left:0; bottom:-1px;
  width:100%; height:2px;
  border-radius:2px;
  background:linear-gradient(98deg,#E50051 0%,#E84E0F 50%,#FBBA00 100%);
  transform:scaleX(0);
  transform-origin:left center;         /* point de départ = gauche */
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
#cdc-header .elementor-nav-menu--main .elementor-item:hover::after,
#cdc-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after{
  transform:scaleX(1);                  /* déploiement gauche→droite */
}

/* ===== Menu mobile : soulignement dégradé sur la largeur du mot (hover + actif) ===== */
#cdc-header .elementor-nav-menu--dropdown .elementor-item{
  position: relative;
  display: inline-block;          /* le lien = largeur du texte → le trait épouse le mot */
  padding-left: 0 !important;     /* sinon le trait déborde sur le padding */
  padding-right: 0 !important;
  margin-left: 24px !important;   /* indentation en MARGE → les liens ne collent plus au bord */
}
#cdc-header .elementor-nav-menu--dropdown .elementor-item::after{
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(98deg,#E50051 0%,#E84E0F 50%,#FBBA00 100%);
  transition: right .3s cubic-bezier(.22,.61,.36,1);
}
#cdc-header .elementor-nav-menu--dropdown .elementor-item:hover::after,
#cdc-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active::after{
  right: 0;
}

/* ===== Orbe dégradé décoratif — coin haut-droit du site (toutes les pages) ===== */
body{ position: relative; overflow-x: clip; }   /* clip = pas de scroll horizontal, sans casser le sticky */
body::before{
  content: "";
  position: absolute;
  top: -180px;
  right: -120px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: linear-gradient(98deg,#E50051 0%,#E84E0F 50%,#FBBA00 100%);
  opacity: .14;
  filter: blur(10px);
  pointer-events: none;
  z-index: -1;   /* derrière le contenu, devant le fond crème */
}

@media (max-width: 640px) {
	body::before{
  content: "";
  position: absolute;
  top: -180px;
  right: -120px;
  width: 400px;
  height: 420px;
  border-radius: 40%;
}
 }

/*Degradé textes*/
.grad-text {
    background-image: linear-gradient(98deg, rgb(229, 0, 81) 0%, rgb(232, 78, 15) 50%, rgb(251, 186, 0) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent; /* Nécessaire pour Safari */
    display: inline-block;
	font-style:italic;
}
.grad-text-jaune {
    background-color:#fbba00;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent; 
    display: inline-block; 
	font-style:italic;
}


/*Sumbit button form*/

.frm_button_submit {
    width: 100% !important;
    background: linear-gradient(98deg,
        rgb(229, 0, 81) 0%,
        rgb(232, 78, 15) 50%,
        rgb(251, 186, 0) 100%) !important;
    background-clip: padding-box !important;
    -webkit-background-clip: padding-box !important;
    color: #ffffff !important;
    border: 1.5px solid transparent !important;
    border-radius: 50px !important;
    padding: 18px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    box-shadow: 0 6px 15px rgba(229, 0, 81, 0.35) !important;
    cursor: pointer;
    overflow: hidden !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    transform: translateZ(0);
    transition: transform .25s ease,
                box-shadow .3s ease,
                gap .25s ease !important;
}

.frm_button_submit::after {
    content: "→";
    background: none !important;
    color: inherit !important;
    display: inline-block;
    font-size: 18px;
    transition: transform .25s ease;
}

.frm_button_submit:hover {
color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 20px 40px -20px rgba(232, 78, 15, .6)!important;
    background-position: 100% 0;
    gap: 13px;
}

.frm_button_submit:hover::after {
    transform: translateX(4px);
}

/* Conteneur du bouton en pleine largeur */
.frm_submit,
.frm_submit.frm_flex {
    width: 100% !important;
}

/* Masquer le label vide au-dessus de la case (qui ne contient que le *) */
#field_cnxyt_label {
    display: none !important;
}

/* Ajouter l'astérisque directement après le texte RGPD, à droite */
#frm_field_16_container .frm_opt_container label::after {
    content: " *";
    color: var(--required-color);
    font-weight: 600;
}

/*fleche menu deroulant*/
.with_frm_style select,
#field_4y895 {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 16px !important;
    padding-right: 44px !important;
}

/*Icones page contact*/

.ico-contact .elementor-icon-box-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 11px !important;
    background: #f4ece4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/*Chiffres Home*/

.elementor-counter-number-wrapper {
	padding-top:15px;
margin-left:-12px;
}

/* CTA dégradé */
.cta-degrade .elementor-button {
	background-image:linear-gradient(98deg,#E50051 0%,#E84E0F 50%,#FBBA00 100%) !important;
	background-color:transparent !important;
background-size:140% 100%;
background-position:0 0;color:#fff !important;
border-radius:40px;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,background-position .3s ease
}
.cta-degrade .elementor-button:hover{
transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(232,78,15,.6);
background-position:100% 0;
color:#fff !important
}

/*Page accompagnements Listes rouge*/

.custom-list {
  margin: 0;
  padding-left: 20px;
  list-style: none;
}

.custom-list li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 0px;
  color: #3c3336;
  font-size: 16px!important;
  line-height: 1.45;
}

.custom-list li:last-child {
  margin-bottom: 0;
}

.custom-list li::before {
  content: "•";
  color: #e84e0f;
  position: absolute;
  left: -20px;
  font-size: 24px;
 margin-top: -5px;
}

/*Page formations Listes jaune*/

.custom-list-jaune {
  margin: 0;
  padding-left: 20px;
  list-style: none;
}

.custom-list-jaune li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 0px;
  color: #fff;
  font-size: 16px!important;
  line-height: 1.45;
}

.custom-list-jaune li:last-child {
  margin-bottom: 0;
}

.custom-list-jaune li::before {
  content: "•";
  color: #fbba00;
  position: absolute;
  left: -20px;
  font-size: 24px;
 margin-top: -5px;
}


#contact-form {
    scroll-margin-top: 100px;
}

.frm_forms.frm_style_style-formidable.with_frm_style {
    margin-bottom: 30px!important;
}