/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*header style*/
.header-menu-style .elementskit-menu-overlay.active {-webkit-transition: all .6s cubic-bezier(.6, .1, .68, .53) .5s;transition: all .6s cubic-bezier(.6, .1, .68, .53) .4s;}
.header-menu-style .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements {-webkit-transition: left .6s cubic-bezier(.6, .1, .68, .53) .4s;transition: left .6s cubic-bezier(.6, .1, .68, .53) .4s;}
.header-menu-style .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements button.elementskit-menu-close:focus {background-color: transparent;}
.header-menu-style button.elementskit-menu-hamburger.elementskit-menu-toggler:focus {background-color: transparent;}
.hfe-nav-menu__layout-horizontal{width:fit-content !important;}
.mobile_menu_item {display: none;}

.main-btn .elementor-button-icon svg {font-size: 8px;}
.service-box .elementor-icon-box-wrapper {gap: 1px !important;}
.aproch-col .e-con-inner {margin: 0px auto 0px 0px;}
.banner-plan-col .e-con-inner {margin: 0px auto 0px 0px;}
.client-para-col:after{position: absolute;content: "";}
.client-para-col{position:relative;}
.client-para-col:after {position: absolute;content: "";left: -80px;background-image: url("/wp-content/uploads/2026/04/quote-left.png");width: 42px;height: 30px;top: 0;}
.custom-service-box .elementor-image-box-wrapper .elementor-image-box-img {width: 93px !important;background-color: #EAEAE9;height: 96px;display: flex;justify-content: center;border-radius: 50%;align-items:center;}
/* .service-arrow .elementor-widget-container a {background-color: #3F5082;width: 30px;height: 30px;display: flex;padding: 9px;border-radius: 50%;} */
.service-arrow .elementor-widget-container {width: fit-content;padding: 8px 0px 0px;}
.wpml-dropdown ul.wpml-list {z-index: 1;width: max-content;border-radius: 4px;border-color: #3f5082;}
.wpml-dropdown .wpml-list li a {font-size: 17px;height: fit-content;padding: 2px 15px;}
.language-wpml-style .elementor-shortcode {text-align: right !important;}
.blue-arrow .elementor-icon {color: #3f5082;width: 30px;height: 30px;background: #3f5082;border-radius: 50px;justify-content: center;display: flex;align-items: center;}
.blue-arrow svg {font-size: 14px;}
.learn_more_wrap{transition:transform .45s linear}

.main-btn .elementor-button-wrapper a.elementor-button:hover svg path {color: #3f5082; fill: #3f5082;}
/* .main-btn .elementor-button-wrapper a.elementor-button:hover .elementor-button-icon { transform: translateY(-3px);transition: transform 0.3s ease-in-out;} */
.main-btn .elementor-button-wrapper a.elementor-button{transition: all 0.5s ease-in-out;}
.main-btn.style-2 .elementor-button-wrapper a.elementor-button:hover svg path {color: #fff; fill: #fff;}
.main-btn.style-3 .elementor-button-wrapper a.elementor-button:hover svg path {color: #fff; fill: #fff;}
.main-btn .elementor-button-wrapper a.elementor-button .elementor-button-icon{transition: all .4s linear;}
.main-btn .elementor-button-wrapper a.elementor-button:hover .elementor-button-icon {transition: all 0.45s linear;transform: translateX(10px);}
@keyframes arrowMove {
    0% {transform: translateY(0);opacity: 1;}
    40% { transform: translateY(-8px);opacity: 0; }
    41% { transform: translateY(8px);opacity: 0;}
    100% {transform: translateY(0);opacity: 1;}
}
@keyframes moveRightArrow {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(10px); }
  100% { transform: translateX(0); }
}


.service-arrow .elementor-widget-container a .elementor-button-content-wrapper .elementor-button-text {position: relative;margin-right: 0;display: inline-block;vertical-align: middle;text-indent: -140px;visibility: hidden;white-space: nowrap;opacity: 0;-webkit-transition: visibility 0.4s ease,margin-right 0.4s ease-out,text-indent 0.5s ease-out,opacity 0.4s ease; transition: visibility 0.4s ease,margin-right 0.4s ease-out,text-indent 0.5s ease-out,opacity 0.4s ease;will-change: visibility,margin-right,text-indent,opacity;}
.service-arrow .elementor-widget-container a svg { font-size: 8px;}
.service-arrow .elementor-widget-container a .elementor-button-content-wrapper{gap:0px}
.service-arrow .elementor-widget-container a .elementor-button-content-wrapper:hover{gap:5px}
.service-arrow .elementor-widget-container a .elementor-button-content-wrapper:hover  .elementor-button-text {opacity: 1;text-indent: 0; margin-right: 6px;visibility: visible;-webkit-transition: visibility 0.4s ease,margin-right 0.3s ease-out,text-indent 0.4s ease-out,opacity 0.4s ease; transition: visibility 0.4s ease,margin-right 0.3s ease-out,text-indent 0.4s ease-out,opacity 0.4s ease;}

.service-arrow .elementor-widget-container a .elementor-button-content-wrapper .elementor-button-icon {color: #3f5082; width: 30px;height: 30px; background: #3f5082;border-radius: 50px;justify-content: center;}
.service-arrow .elementor-widget-container a .elementor-button-content-wrapper .elementor-button-icon svg { font-size: 8px;}
.service-arrow .elementor-widget-container a {padding: 0px !important;}
.service-arrow a.elementor-button {background: transparent !important;}
.ekit-template-content-header {position: sticky;top: 0px;z-index: 999;background: #f3f3f37a !important; -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(40px);}
.logged-in.admin-bar .ekit-template-content-header { top: 32px;}
.language-wpml-style .elementor-widget-container {display: flex;justify-content: center;align-items: center;}
.language-wpml-style .elementor-widget-container a {color: #1E263A;}
ul.slick-dots {padding: 0px;list-style: none;display: flex;align-items: center;justify-content: center;gap: 8px;margin-top:20px}
ul.slick-dots li {line-height: 1;height: auto;margin: 0;}
ul.slick-dots button {padding: 0;font-size: 0;line-height: 1 !important;width: 12px;height: 12px;background-color: #fff !important;border: none;margin: 0;opacity:.8;transition:all .45s linear}
ul.slick-dots li.slick-active button {opacity:1;scale:1.2}

/* Mobile Menu */
/* .hamburger_icon {height: 3rem;}
.hamburger_icon svg {height: 2.5em;transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);}
.hamburger_icon svg .line {fill: none;stroke: #3F5082;stroke-linecap: round;stroke-linejoin: round;stroke-width: 2;transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);}
.hamburger_icon svg .line-top-bottom {stroke-dasharray: 12 63;}
.hamburger_icon.active svg {transform: rotate(-45deg);}
.hamburger_icon.active svg .line-top-bottom {stroke-dasharray: 20 300;stroke-dashoffset: -32.42;} */
/* Mobile Menu */

/* New Mobile Menu */
.hamburger_icon {position: relative;width: 35px;height: 35px;cursor: pointer;display: flex;flex-direction: column;align-items: flex-start;justify-content: center;gap: 6px;transition-duration: .5s;}
.hamburger_icon .bars {width: 100%;height: 4px;background-color: #3F5082;border-radius: 4px;}
.bars:nth-child(2) {transition-duration: .8s;}
.hamburger_icon.active .bars {position: absolute;transition-duration: .5s;}
.hamburger_icon.active .bars:nth-child(2) {transform: scaleX(0);transition-duration: .1s;}
.hamburger_icon.active .bars {width: 100%;transform: rotate(45deg);transition-duration: .5s;}
.hamburger_icon.active .bars:nth-child(3) {width: 100%;transform: rotate(-45deg);transition-duration: .5s;}
.hamburger_icon.active {transition-duration: .5s;transform: rotate(90deg);}
/* Mobile Menu */

/* Service Page */
.elementor-icon-wrapper{line-height: 1;}
p:last-of-type{margin-bottom:0px!important}
.accordion_wrap .e-n-accordion-item {padding-bottom: 12px;border-bottom: 1px solid var(--e-global-color-577f8c5);}
/* Service Page */

/*responsive*/
@media(min-width:1025px){
.hfe-nav-menu .menu-item.current_page_item a::after {content: "";width: 100%;position: absolute;display: block;background-color: #5B6E96 !important;height: 2px;opacity: 1 !important;top: -29px;}
.menu-item-home {display:none !important;}
}


@media(max-width:1024px){
.client-para-col:after {left: -55px;}
.language-wpml-style .wpml-dropdown {z-index: 9;}
.ekit-template-content-header { backdrop-filter: none;background: #ffffff !important;}
.mobile_menu {position: fixed;inset: 0;width: 100vw;background-color: #fff;height: 100svh;padding: 100px 20px 20px;left:-100vw;transition:all .45s linear}
.mobile_menu .nav_menu ul.hfe-nav-menu {flex-direction: column; gap:36px;}
.mobile_menu .nav_menu ul.hfe-nav-menu::before,.mobile_menu .nav_menu ul.hfe-nav-menu::after {display: none;}
body:has(.hamburger_icon.active) .mobile_menu{left:0}
body:has(.hamburger_icon.active){overflow-y:hidden}	
.language-wpml-style .elementor-widget-container a {font-size: 22px;font-weight: 500;}
.mobile_menu_item {display: block;}
}
@media(max-width:767px){
.client-says-text p {font-size: 20px;line-height: 32px;}
.top-banner:after{position: absolute;content: "";background:linear-gradient(90deg, #000000, #ffffff);width: 100%;height: 100%;left: 0;right: 0;margin: auto; bottom: 0; opacity: 0.5;}
.top-banner .e-con-inner { z-index: 2;}
.custom-service-box .elementor-image-box-wrapper .elementor-image-box-img {margin: 0px auto 0 0 !important;height: 75px;width: 75px !important;padding: 19px;}
.ekit-template-content-header { backdrop-filter: none;}
.wpml-dropdown .wpml-list li a {font-size: 14px;height: fit-content;padding: 2px 9px;}
.client-para-col:after {display:none;}
.service_btn_section.sticky {position: sticky;top: 77px;z-index: 2;background-color: var(--e-global-color-d467a77);}
}

@media (max-width: 1024px) {
/*   .elementor-element-b6bc8ca {
    flex-direction: column !important;
  } */
  
  .elementor-element-b6bc8ca > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Homepage 3 blocsk cliquable  */
.custom-service-box .elementor-image-box-wrapper {    position: relative;}
.custom-service-box .elementor-image-box-title a {    position: static;}
.custom-service-box .elementor-image-box-title a::after {    content: '';    position: absolute;    inset: 0;    z-index: 1;}

/* Take out the en savoir plus text */
css.learn_more_wrap .elementor-widget-text-editor {
    display: none !important;
}

/* ========================================
   FORM - WRAPPER GÉNÉRAL
======================================== */

.wpcf7 {
  padding: 0px;
  border-radius: 12px;
}

/* ========================================
   FORM - TITRES H3
======================================== */

.wpcf7 h3 {
  font-size: 36px;
  font-weight: 400;
  color: #161B2B;
  margin-bottom: 30px;
  margin-top: 0;
}

/* ========================================
   FORM - LAYOUT COLONNES
======================================== */

.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}

.form-col-100 { width: 100%; }

.form-col-50 {
  flex: 1 1 calc(50% - 10px);
  min-width: 200px;
}

.form-col-33 {
  flex: 1 1 calc(33.333% - 14px);
  min-width: 200px;
}

/* ========================================
   FORM - LABELS GLOBAUX
======================================== */

.wpcf7 label:not(.wpcf7-list-item label) {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #080E1D;
  width: 100%;
}

/* ========================================
   FORM - INPUTS & SELECTS
======================================== */

.wpcf7 .form-input,
.wpcf7 input.form-input,
.wpcf7 select.form-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 20px;
  color: #1a1a2e;
  background-color: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.wpcf7 select.form-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234a5568' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}

.wpcf7 .form-input:focus,
.wpcf7 input.form-input:focus,
.wpcf7 select.form-input:focus {
  outline: none;
  border-color: #a0aec0;
  box-shadow: 0 0 0 3px rgba(160, 174, 192, 0.15);
}

/* ========================================
   FORM - RADIO BUTTONS
======================================== */

.wpcf7 .wpcf7-radio {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 20px;
  margin-top: 6px;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}

/* Label dans les radio - reset complet */
.wpcf7 .wpcf7-list-item label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: #000 !important;
  width: auto !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Input radio */
.wpcf7 .wpcf7-radio .wpcf7-list-item input[type="radio"] {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 2px solid #D1D4D5;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background-color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s, background-color 0.2s;
  position: relative;
  z-index: 10;
  pointer-events: auto !important;
  margin: 0;
}

/* État coché */
.wpcf7 .wpcf7-radio .wpcf7-list-item input[type="radio"]:checked {
  background-color: #3F5082;
  border-color: #3F5082;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='2' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* ========================================
   FORM - RADIO GROUP LABEL
======================================== */

.wpcf7 .radio-group-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #080E1D;
  margin-bottom: 10px;
}

.wpcf7 .radio-group br {
  display: none;
}

.wpcf7 .radio-group .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* ========================================
   FORM - CHECKBOX (DISPONIBILITÉ)
======================================== */

.wpcf7 .wpcf7-checkbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 6px;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 2px solid #D1D4D5;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  background-color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked {
  background-color: #3F5082;
  border-color: #3F5082;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='white' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

/* ========================================
   FORM - ACCEPTANCE (CONSENTEMENT)
======================================== */

.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  border-radius: 3px !important;
  accent-color: #3F5082;
  flex-shrink: 0;
}

.wpcf7-acceptance label {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: normal !important;
  font-size: 16px !important;
  width: auto !important;
  flex-direction: row !important;
  color: #4a5568 !important;
}

.wpcf7-acceptance label a {
  color: #000;
  text-decoration: underline;
}

.wpcf7-acceptance label a:hover {
  color: #333;
  text-decoration: none;
}

/* ========================================
   FORM - FILE UPLOAD
======================================== */

.wpcf7 input[type="file"] {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  color: #4a5568;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  box-sizing: border-box;
}

/* ========================================
   FORM - ERREURS VALIDATION
======================================== */

.wpcf7-not-valid-tip {
  font-weight: 600;
  margin: 6px 0 0 0;
}

.wpcf7-not-valid-tip {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 600;
  font-size: 13px;
  color: #e53e3e;
  margin: 6px 0 0 0;
}

/* ========================================
   FORM - SUBMIT BUTTON
======================================== */

.wpcf7 input[type="submit"] {
  margin-top: 16px;
  padding: 16px 28px;
  background-color: #3F5082;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease;
  letter-spacing: 0.02em;
}

.wpcf7 input[type="submit"]:hover {
  background-color: #6276AF;
}

/* ========================================
   FORM - HR SÉPARATEURS
======================================== */

.wpcf7 hr {
  border: none;
  border-top: 1px solid #A1AAAD;
  margin: 36px 0;
}

/* ========================================
   FORM - RESPONSIVE MOBILE
======================================== */

@media (max-width: 768px) {
  .wpcf7 {
    padding: 24px 20px;
  }

  .form-col-33,
  .form-col-25,
  .form-col-50 {
    flex: 1 1 100%;
  }

  .wpcf7 h3 {
    font-size: 30px;
  }
}


/* ========================================
  Lien texte simple
======================================== */

a.lien {
  color: #161B2B;
  text-decoration: underline;
}

a.lien:hover {
  color: #5B6E96;
	text-decoration: none;
}

/* ========================================
 bg etiquettes Medias
======================================== */

.etiquettes div ul li span  {
  background-color: #EAEAE9;
border-radius: 25px;
    padding: 4px 16px;
	margin-bottom:4px;
} 

/* ========================================
Button
======================================== */

@media (max-width: 768px) {
.elementor-button span  {
   font-size: 18px;
   } 
}

#white .elementor-image-box-wrapper .elementor-image-box-img { background-color: #ffffff;}

