.elementor-kit-5{--e-global-color-primary:#E63622;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#E63622;--e-global-color-cdade31:#2E2E2E;--e-global-color-4d504ec:#FFFFFF;--e-global-color-0a64d10:#E4EAEB;--e-global-color-6aacf98:#F3F5F6;--e-global-color-dbcc929:#B82B1B;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-size:clamp(38px,2.344vw,45px);--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:43px;--e-global-typography-secondary-font-family:"Roboto";--e-global-typography-secondary-font-size:clamp(22px,1.406vw,27px);--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:30px;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:clamp(14px,0.833vw,16px);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:27px;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-size:clamp(12px,0.833vw,16px);--e-global-typography-accent-font-weight:400;--e-global-typography-c2e8ac5-font-family:"Roboto Mono";--e-global-typography-c2e8ac5-font-size:clamp(12px,0.833vw,16px);--e-global-typography-c2e8ac5-font-weight:400;--e-global-typography-c2e8ac5-text-transform:uppercase;--e-global-typography-c2e8ac5-letter-spacing:1.6px;--e-global-typography-16fed73-font-family:"Roboto Mono";--e-global-typography-16fed73-font-size:clamp(12px,0.833vw,16px);--e-global-typography-16fed73-font-weight:500;--e-global-typography-16fed73-text-transform:uppercase;--e-global-typography-16fed73-letter-spacing:1.6px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#E63622;font-family:"Roboto", Sans-serif;font-size:16px;font-weight:500;color:#FFFFFF;border-style:none;border-radius:50px 50px 50px 50px;padding:10px 12px 10px 12px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#C92B19;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{color:#000000;}.elementor-kit-5 h2{color:#000000;font-size:clamp(35px, 2.344vw, 45px);}.elementor-kit-5 h3{color:#000000;}.elementor-kit-5 h4{color:#000000;}.elementor-kit-5 h5{color:#000000;}.elementor-kit-5 h6{color:#000000;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1620px;}.e-con{--container-max-width:1620px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:clamp(26px,4.395vw,30px);--e-global-typography-primary-line-height:37px;--e-global-typography-secondary-font-size:clamp(22px,2.637vw,27px);--e-global-typography-text-font-size:clamp(12px,1.563vw,16px);--e-global-typography-accent-font-size:clamp(12px,1.563vw,16px);--e-global-typography-c2e8ac5-font-size:clamp(12px,1.563vw,16px);--e-global-typography-16fed73-font-size:clamp(12px,1.563vw,16px);}.elementor-kit-5 p{margin-block-end:0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:400px){.elementor-kit-5{--e-global-typography-primary-font-size:clamp(23px,4.172vw,25px);--e-global-typography-primary-line-height:31px;--e-global-typography-secondary-font-size:clamp(20px,3.129vw,24px);--e-global-typography-text-font-size:clamp(12px,2.086vw,16px);--e-global-typography-text-line-height:25px;--e-global-typography-c2e8ac5-font-size:clamp(12px,1.825vw,14px);--e-global-typography-c2e8ac5-line-height:1.2em;--e-global-typography-16fed73-font-size:clamp(12px,2.086vw,16px);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== CE-BUTTON ===== */

/* Force le lien cliquable */
.ce-button .elementor-button,
.ce-red-button .elementor-button,
.ce-round-button .elementor-button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Tous les enfants non cliquables */
.ce-button .elementor-button *,
.ce-red-button .elementor-button *,
.ce-round-button .elementor-button * {
  pointer-events: none;
}

/* Icône */
.ce-button .elementor-button .elementor-button-icon,
.ce-red-button .elementor-button .elementor-button-icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ce-round-button .elementor-button .elementor-button-icon {
  position: relative;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Rond blanc */
.ce-button .elementor-button .elementor-button-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  border-radius: 50%;
  z-index: 0;
}

/* Rond rouge */
.ce-red-button .elementor-button .elementor-button-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #E63622;
  border-radius: 50%;
  z-index: 0;
}

.ce-red-button:hover .elementor-button .elementor-button-icon::before {
  background: #B82B1B;
}

/* SVG */
.elementor-button .elementor-button-icon svg {
  position: relative;
  z-index: 1;
  transition: none;
}

/* ===== ANIMATION ===== */
.ce-button .elementor-button:hover .elementor-button-icon svg,
.ce-round-button .elementor-button:hover .elementor-button-icon svg,
.ce-red-button .elementor-button:hover .elementor-button-icon svg {
  animation: arrow-loop 0.6s ease-in-out forwards;
}

.ce-button .elementor-button:not(:hover) .elementor-button-icon svg,
.ce-round-button .elementor-button:not(:hover) .elementor-button-icon svg,
.ce-red-button .elementor-button:not(:hover) .elementor-button-icon svg {
  animation: none;
  transform: translate(0, 0);
  opacity: 1;
}

/* ===== TABLETTE & MOBILE ===== */
@media (max-width: 1024px) {
  .ce-button .elementor-button,
  .ce-red-button .elementor-button,
  .ce-round-button .elementor-button {
    padding: 8px 14px !important;
  }

  .ce-button .elementor-button .elementor-button-icon,
  .ce-red-button .elementor-button .elementor-button-icon {
    width: 28px;
    height: 28px;
  }

  .ce-round-button .elementor-button .elementor-button-icon {
    width: 22px;
    height: 22px;
  }
}

/* ===== KEYFRAMES ===== */
@keyframes arrow-loop {
  0% { transform: translate(0, 0); opacity: 1; }
  40% { transform: translate(16px, -16px); opacity: 0; }
  41% { transform: translate(-16px, 16px); opacity: 0; }
  100% { transform: translate(0, 0); opacity: 1; }
}

/* Texte */
.ce-button .elementor-button .elementor-button-text,
.ce-red-button .elementor-button .elementor-button-text {
  margin-left: 10px;
}

.ce-button .elementor-button span,
.ce-red-button .elementor-button span {
  align-items: center;
}

/* ===== BOUTON VOIR PLUS — CARTES ARTICLES =====
   Style pill rouge avec cercle blanc fixe et flèche animée
   =============================================== */

.elementor-post__read-more {
  display: inline-flex !important;
  align-items: center;
  background-color: #E63622;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 3px 3px 3px 14px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  gap: 12px;
  position: relative;
}

/* Cercle blanc fixe à droite */
.elementor-post__read-more::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  min-width: 40px;
  background: white;
  border-radius: 50%;
  flex-shrink: 0;
  order: 2;
}

/* Flèche animée par-dessus le cercle */
.elementor-post__read-more::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6797 37.3271L36.9261 27.0808' stroke='%23141414'/%3E%3Cpath d='M29.678 27.0808L36.9235 27.0808L36.9235 34.3263' stroke='%23141414'/%3E%3C/svg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  clip-path: circle(45% at 50% 50%);
}

.elementor-post__read-more:hover::after {
  animation: arrowDiag 0.5s ease forwards;
}

/* ===== BOUTONS FORMULAIRES ELEMENTOR =====
   Style global des boutons submit des formulaires.
   Ajoute un cercle blanc avec flèche animée (même style que .ce-button).
   Ne pas modifier sans tester sur toutes les pages avec formulaire.
   ========================================== */

.elementor-post__read-more {
  display: inline-flex !important;
  align-items: center;
  background-color: #E63622;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 3px 3px 3px 14px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  gap: 12px;
  position: relative;
}

/* Cercle blanc fixe à droite */
.elementor-post__read-more::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  min-width: 40px;
  background: white;
  border-radius: 50%;
  flex-shrink: 0;
  order: 2;
}

/* Flèche animée par-dessus le cercle */
.elementor-post__read-more::after {
  content: "";
  position: absolute;
  right: 3px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.6797 37.3271L36.9261 27.0808' stroke='%23141414' stroke-width='2'/%3E%3Cpath d='M29.678 27.0808L36.9235 27.0808L36.9235 34.3263' stroke='%23141414' stroke-width='2'/%3E%3C/svg%3E");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  clip-path: circle(45% at 50% 50%);
  overflow: hidden;
}

.elementor-post__read-more:hover::after {
  animation: arrowDiagLocal 0.5s ease forwards;
}

@keyframes arrowDiagLocal {
  0%   { transform: translateY(-50%) translate(0, 0);        opacity: 1; }
  44%  { transform: translateY(-50%) translate(15px, -15px); opacity: 0; }
  45%  { transform: translateY(-50%) translate(-15px, 15px); opacity: 0; }
  100% { transform: translateY(-50%) translate(0, 0);        opacity: 1; }
}

/* ===== FORMULAIRE RECRUTEMENT =====
   Placeholder en noir + style champ CV comme maquette
   ================================== */

/* Placeholder en noir */
.elementor-form .elementor-field::placeholder {
  color: #141414 !important;
  opacity: 1 !important;
}

/* Label + bouton sur la même ligne */
.elementor-form .elementor-field-type-upload.elementor-field-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
}

.elementor-form .elementor-field-type-upload .elementor-field-label {
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
  font-size: 14px !important;
  color: #141414 !important;
}

/* Input file */
#form-field-field_709f50b {
  flex: 1 !important;
  font-size: 14px !important;
  color: #141414 !important;
  border: none !important;
  background: transparent !important;
}

/* Bouton pill rouge outline */
input#form-field-field_709f50b::-webkit-file-upload-button {
  padding: 8px 20px !important;
  border: 1px solid #E63622 !important;
  border-radius: 50px !important;
  color: #E63622 !important;
  font-weight: 600 !important;
  background: transparent !important;
  cursor: pointer !important;
  font-size: 14px !important;
  margin-right: 12px !important;
}

@media (max-width: 768px) {
  .elementor-form .elementor-field-type-upload.elementor-field-group {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #form-field-field_709f50b {
    width: 100% !important;
  }
}

.carte-cachee {
  display: none !important;
  animation: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body .e-con {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}/* End custom CSS */