/* 
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 */

/* General */
.page-content {
/*     position: relative;
    float: left;
    width: 100%;
    min-height: 550px; */
  overflow-x: clip;
  overflow-y: visible;
} 
p {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}
.elementor-widget-text-editor p:has(+ p) {
	margin-block-end: 20px !important;
}
.position-relative {
  position: relative !important;
}
.display-none {
  display: none !important;
}
.section-boxed {
  padding : 40px clamp(15px, 2.5vw, 50px) !important;
}
.section-hero {
  padding : 120px clamp(15px, 2.5vw, 50px) 70px clamp(15px, 2.5vw, 50px) !important;
}
.section-hero-home {
  padding :  0px clamp(15px, 2.5vw, 50px) !important;
}
@media (max-width:1024px) {
  .tablet-100 {
    max-width: 100% !important;
    width: 100% !important;
  }
}
.jet-radio-list__button {
  transition: all 0.4s ease;
}

/* Scroll Bar custom */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
::-webkit-scrollbar-corner {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #ed7d31;
  border: 0px none #f4f8f4;
  border-radius: 0px;
}
::-webkit-scrollbar-track {
  background: #dfede2;
  border: 0px none #f4f8f4;
  border-radius: 0px;
}

*, *::before, *::after {
  box-sizing: inherit;
}
*, *::before, *::after {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: border-box;
}


/* Scroll Bar custom Réalisation*/
.card-realisation .card-realisation-content::-webkit-scrollbar {
  width: 4px !important;
}
.simplebar-track.simplebar-vertical {
  background-color: #ed7d31 !important;
  width: 4px !important;
}
.simplebar-scrollbar::before {
  background-color: var( --e-global-color-accent ) !important;
  border-radius: 0;
  opacity: 1 !important;
}


/* Icon Personnalisé Icomoon */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?ab0lml');
  src:  url('fonts/icomoon.eot?ab0lml#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?ab0lml') format('truetype'),
    url('fonts/icomoon.woff?ab0lml') format('woff'),
    url('fonts/icomoon.svg?ab0lml#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-burger:before {
  content: "\e906";
}
.icon-arrow-down:before {
  content: "\e900";
}
.icon-arrow-left:before {
  content: "\e901";
}
.icon-arrow-right:before {
  content: "\e902";
}
.icon-arrow-up:before {
  content: "\e903";
}
.icon-exit:before {
  content: "\e904";
}
.icon-pin:before {
  content: "\e905";
}


/* Header sticky desktop */
@media (min-width: 1025px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    transition: transform 0.35s ease, opacity 0.35s ease;
    transform: translateY(-100%);
    opacity: 0;
    padding: 0 !important;
  }
  .site-header.is-visible {
    transform: translateY(0);
    opacity: 1;
  }
  .header-hover-zone {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    z-index: 998;
    background: transparent;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .site-header {
    transform: none !important;
    opacity: 1 !important;
    padding: 0 !important;
  }
  .header-hover-zone {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .site-header {
    transform: none !important;
    opacity: 1 !important;
    padding: 0 !important;
  }
  .header-hover-zone {
    display: none !important;
  }
}


/* Style List */
.elementor-widget-text-editor ul,
.jet-listing-dynamic-field__content ul {
  list-style: none !important;
  margin-top: 0px !important;
  padding: 0px 0px 0px 0px !important;
}
.elementor-widget-text-editor ul li,
.jet-listing-dynamic-field__content ul li {
  display: block;
  position: relative;
  margin-top: clamp(18px,2vw,28px);
  padding: 0 0 0 26px;
  line-height: 1.3em;
}
.elementor-widget-text-editor ul li::before,
.jet-listing-dynamic-field__content ul li::before {
  content: "" !important;
  position: absolute !important;
  top: 0.3em !important;
  left: 0 !important;

  width: 12px !important;
  height: 12px !important;

  background-image: url("https://ashini.asban.dev/wp-content/uploads/2026/04/dot.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}



/* Nav + menu-item */
.menu-header ul > li > a {
  background-color: #bfd3cf;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  padding: clamp(12px, 2vw, 20px) clamp(15px, 2.5vw, 24px) !important;
} 
.menu-header nav ul > li > a i {
  color: #ed7d31;
  font-size: clamp(20px, 2.5vw, 28px);
}  
@media (min-width : 1025px) {
	.menu-header {
	  width: calc(100% - 240px) !important;
	  flex-basis: calc(100% - 240px) !important;
	}
}


/* Animation Bouton */
#btn-form {
  position: relative;
  width: max-content !important;
  margin-top: clamp(20px, 2.5vw, 28px);
}
.btn-big .elementor-button,
#btn-form .elementor-button-content-wrapper {
  transition: all 0.3s ease;
}
.btn-big .elementor-button:hover,
#btn-form .elementor-button-content-wrapper:hover {
  transform: scale(1.05);
  margin-left:24px; 
}
.btn-big .elementor-button::after,
#btn-form .elementor-button-content-wrapper::after {
  z-index: 10 !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  content: "" !important;
  width: clamp(42px, 2.5vw, 56px) !important;
  height: clamp(42px, 2.5vw, 56px) !important;
  border-radius: 2000px !important;
  transform: translate(8px, -50%) !important;
  transition: all 0.4s !important;
}
.btn-big .elementor-button:hover::after,
#btn-form .elementor-button-content-wrapper:hover::after {
  width: calc(100% + 32px) !important;
  transform: translate(16px, -50%) !important;
}
.btn-big .elementor-button-text,
#btn-form .elementor-button-text {
  position: relative !important;
  z-index: 20 !important;
}
.btn-primary .elementor-button::after,
#btn-form .elementor-button-content-wrapper::after {
  background-color: var( --e-global-color-primary ) !important;
}
.btn-accent .elementor-button::after {
  background-color: var( --e-global-color-accent ) !important;
}
.btn-big i,
#btn-form i {
  font-size: 0.6em;
}
.btn-small i {
  font-size: 0.75em;
}


/* Highlight blob */
.bg-blob {
  aspect-ratio: 1 / 1;
  position: relative;
}
.bg-blob::before {
  content:"";
  position:absolute;
  top:50%;
  left:50%; 
  width: calc(100% - 20px);
  height: calc(100% - 20px);

  background-image:url(https://ashini.asban.dev/wp-content/uploads/2026/03/blob-conception.svg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  
  pointer-events:none;
  z-index:0;
}
@media (max-width : 767px) {
	.bg-blob::before {
	   background-size: contain !important;
	}
}


/* Highlight section */
.bg-blob-section {
    transform: translate(-50%, -50%);
}
.blob-section-1 {
	aspect-ratio: 289/277;
    width: clamp(250px, 45vw, 626px);
}
.blob-section-2 {
    width: clamp(250px, 45vw, 553px);
}
.blob-section-3 {
    width: clamp(250px, 45vw, 578px);
}


/* Slider realisation Home */
.slider-realisation .jet-listing-grid__slider-icon.prev-arrow svg,
.slider-realisation .jet-listing-grid__slider-icon.next-arrow svg {
  display:none;
}
.slider-realisation .jet-listing-grid__slider-icon {
  border-radius: 1000px;
  font-size: clamp(18px, 2vw, 28px) !important;
}
.slider-realisation .jet-listing-grid__slider-icon.prev-arrow::before{
  font-family: "icomoon"; /* ou ta font icon */
  content: "\e901"; /* code de ton icone */
}
.slider-realisation .jet-listing-grid__slider-icon.next-arrow::before{
  font-family: "icomoon"; /* ou ta font icon */
  content: "\e901"; /* code de ton icone */
}
.slider-realisation .jet-listing-grid__slider-icon.slick-disabled {
  opacity: 0;
  pointer-events: none;
}


/* Style Formulaire */ 
form .elementor-field-group:has(input:required) label::before,
form .elementor-field-group:has(textarea:required) label::before,
form .elementor-field-group:has(select:required) label::before {
  display:none
}
form .elementor-field-group {
  position:relative !important;
}
form .elementor-field-group label {
  font-weight: 400;
  line-height: 0.9em;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  transition: all 0.15s ease;
  padding: 25px 40px;
}
form .upload input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
form .elementor-field-group input, 
form .elementor-field-group textarea, 
form .elementor-field-group select,
form .upload-fake {
  padding: 20px 20px !important;
}
.elementor-field-group-upload {
    position: relative;
}
.elementor-field-group-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 5;
    cursor: pointer;
}
.elementor-field-group-upload {
    display: none;
}
form .upload-fake {
  position: relative;
  border: 2px solid #dfede2;
  background: #dfede2;
  border-radius: 6px;
  min-height: 70px;
  margin-bottom: 0px !important;
} 
form .upload-fake label {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  padding: 25px 20px;
  pointer-events: none;
  z-index: 1;
  line-height: 0.9em !important;
}
form .upload-fake .icon {
  position: absolute !important;
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  font-size: 20px;
  pointer-events: none;
  color: #ed7d31;
  z-index: 1;
}
form .upload-fake .file-name {
  display: block;
  font-size: 0.85em;
  margin-top: -5px !important;
} 
form .elementor-field-group:has(input:not([type="file"]):focus) label,
form .elementor-field-group:has(textarea:focus) label,
form .elementor-field-group:has(input:not([type="file"]):not(:placeholder-shown)) label,
form .elementor-field-group:has(textarea:not(:placeholder-shown)) label,
form .elementor-field-group:has(input[type="file"].filled) label,
form .elementor-field-group:has(select) label,
form .upload-fake.has-file label {
  font-size: 0.8em !important;
  transform: translateY(-17px);
}
form .elementor-field-type-select label {
  z-index: 10;
}
.elementor-field-textual {
  margin-top: 2px;
}
form .elementor-select-wrapper .select-caret-down-wrapper svg {
  position: absolute !important;
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  fill: var( --e-global-color-accent ) !important;
}
form .elementor-field-group .elementor-select-wrapper select {
  line-height: 1.4em !important;
}

/* Rond année (Notre parcours)*/
.annee-rond {
    width: clamp(110px, 12vw, 200px) !important;
    max-width: clamp(110px, 12vw, 200px) !important;
    height: clamp(110px, 12vw, 200px) !important;

    transform: translate(-50%, -50%);
}
@media (max-width:1024px) {
    .annee-rond {
   	    transform: translate(0%, 25%);
    }
}
@media (max-width:767px) {
    .annee-rond {
   	    transform: translate(0%, -20%);
    }
}


/* Style card realisation */
.card-realisation{
    position: relative;
    overflow: hidden !important;
    aspect-ratio: 19 / 10;
}
@media (max-width:767px) {
    .card-realisation {
        aspect-ratio: 1 / 1;
    }
}
.card-realisation > .elementor-absolute{
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.card-realisation > .elementor-absolute img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 1s ease;
}

.card-realisation:hover > .elementor-absolute img{
    transform: scale(1.1);
}
.card-realisation::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.5) 100%
    );
    z-index: 1;
    pointer-events: none;
}
.card-realisation > :not(.elementor-absolute):not(.card-realisation-content) {
    position: relative;
    z-index: 2;
}
.card-realisation .card-realisation-content {
  position: absolute;
  inset: 0;
  z-index: 10;
  background: #fff;
  transform: translateX(100%);
  transition: transform 1s ease;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  display: flex;
  flex-direction: column;
}
.card-realisation.is-open .card-realisation-content {
  transform: translateX(0);
}



/* Pagination */
.pagination .jet-filters-pagination__item.prev-next .jet-filters-pagination__link {
    font-size: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.pagination .jet-filters-pagination__item.prev-next .jet-filters-pagination__link::before {
    font-family: "icomoon";
    content: "\e901";
    font-size: clamp(18px, 2vw, 28px);
    line-height: 1;
    display: inline-block;
    color: var(--e-global-color-2229a18);
    
    border-radius: 2000px;
    border: 2px solid var(--e-global-color-accent);
    background: var(--e-global-color-accent);
    
    padding: clamp(8px, 2.5vw, 12px);
}
.pagination .jet-filters-pagination__item.next .jet-filters-pagination__link::before {
    transform: rotate(180deg);
}
.jet-filters-pagination__item.disabled,
.jet-filters-pagination__item[disabled] {
  opacity: 0;
  pointer-events: none;
}


/* Style accordeon Carriere */
.job-accordion-header {
    cursor: pointer;
    transition: all 0.4s ease;
}
.job-accordion-item:hover {
    background-color: #FFFFFF !important;
}
.job-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s ease;
}
.job-accordion-item.is-open {
    background-color: #FFFFFF !important;
}

.job-accordion-icon svg {
    transition: transform 0.4s ease;
}
.job-accordion-item.is-open .job-accordion-icon svg {
    transform: rotate(180deg);
}