header{
    background-image: url("/ressources/photo/circle--background--solution.png");
    background-size: cover;
    background-position: center;    
    height: fit-content;
    position: relative;
    overflow: hidden;
    padding: 2.5rem 5rem;
}

.header_content {display: flex; gap: 5rem; width: clamp(600px, 100%, 1200px); margin: 10rem auto 5rem auto;}

.header_text {display: flex; flex-direction: column; flex: 1 0 0; gap: .75rem;}
.header_text .tag {display: flex; padding: .5rem 1rem; justify-content: center; align-items: center; border-radius: 40px; background: var(--white);border: .5px solid var(--gris--40); width: fit-content;}
.header_text .tag span {color: var(--gris--60);}
.header_text .tag svg {margin-right: .75rem;}
.header_text h2 {font-size: 3rem; font-weight: 500;}
.header_text p {color: var(--gris--60);}
.header_text img {width: 100%;border-radius: 2.5rem; margin-top: 1.5rem;}

.header_content form {
    display: flex;
    padding: 3.25rem 2.5rem;
    flex-direction: column;
    gap: 2.5rem;
    flex: 1 0 0;
    border-radius: 1.25rem;
    background: #FFF;
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.12);
    height: fit-content;
}

.form_list {list-style: none; display: flex; flex-direction: column; gap: 1.25rem;}
.form_element {display: flex; flex-direction: column; gap: .5rem;}

form input {border-radius: 0.5rem; border: 1px solid var(--gris--40); background: #FFF;}
form button {align-self: flex-end;}

form select{
    background-image: url("/ressources/icn/arrow-drop-down-line-black-40.svg"); 
    background-position: right .25rem center; 
    background-repeat: no-repeat; 
    background-size: 2.75rem ;
    opacity: 1; 
    justify-content: space-between; 
    width: auto;
    border-radius: .5rem; 
    border: 1px solid rgba(0, 0, 0, 0.40); 
    padding: .75rem 1.25rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #FFF;
}  
select:not(:valid) {
    color: var(--black--40);
}

form input:focus-visible{outline:none;} 
form input:focus{box-shadow: 0 0 3pt 2pt #3374FF;}
form select:focus-visible{outline:none;} 
form select:focus{box-shadow: 0 0 3pt 2pt #3374FF;}
form input[type=number]::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;-moz-appearance:textfield;appearance: text;}
.label_error label{color: #C73200;}
.label_error input{border: 1px solid #C73200;}
.label_error_tel::after{content:"Numero de telephone incorrect";color: #C73200;}
.label_error_mail::after{content:"email incorrect";color: #C73200;}
form div:first-child p {width: calc(100% - 2rem);}
form button {align-self: flex-end;}
.segmented {border: 1px solid rgba(0, 0, 0, .2);border-radius: 20rem;height: 2rem;width: fit-content; display: inline-flex;position: relative;}
.segmented_label {padding: 0 20px 0 20px;color: rgba(0, 0, 0, .4);position: relative;z-index: 1;cursor: pointer;font-size: 1.25rem;font-weight: 400;line-height: 168%;}
.segmented_label::before {content: '';background-color: #3374FF;position: absolute;width: 100%;height: calc(100%);top: 0;left: 0;border-radius: 2rem;z-index: -1;box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.2);transform: scale(0, 0);}
.segmented__element:checked + .segmented_label {color: white;}
.segmented__element:checked + .segmented_label::before {opacity: 1;animation: activeGrow ease-in-out 0.2s forwards;}
.segmented__element {display:none;}
@keyframes activeGrow{0% {transform: scale(0);}75% {transform: scale(1.2);	}100% {transform: scale(1.08);}}


/* -------------------- Section clients -------------------- */
section {
    display: flex;
    padding: 7.5rem 12.5rem;
    flex-direction: column;
    align-items: center;
    gap: 3.75rem;
}

.clients h2 span {font-size: 4.25rem;}

.logo-row {width: 100%;}
.logo-track {display: flex; width: fit-content;}
.logo-group {display: flex; gap: 4vw;}
.logo-group img {width: clamp(120px, 16vw, 240px); height: auto; object-fit: contain;}
.logo-group img:last-child {margin-right: 4vw;}

.scroll-left .logo-track {animation: scroll-left 40s linear infinite;}
.scroll-right .logo-track {animation: scroll-right 40s linear infinite;}

@keyframes scroll-left {
    0% {transform: translateX(0%);}
    100% {transform: translateX(-50%);}
}

@keyframes scroll-right {
    0% {transform: translateX(-50%);}
    100% {transform: translateX(0%);}
}

/* -------------------- Section decouverte -------------------- */
.decouverte p {color: var(--gris--60);}
.decouverte--text {display: flex; flex-direction: column; align-items: center; gap: 1.25rem; width: clamp(800px, 48vw, 1200px); text-align: center;}

.grid-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto auto;
    gap: 1rem;
    width: 68vw;
    max-width: 1200px;
}

.grid-layout .box {
    border-radius: 1.25rem;
    background: var(--white);
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    padding: 5rem 2.5rem 2.5rem 2.5rem;
    gap: 1rem;
    justify-content: end;
}

.grid-layout .icn-wrapper {width: 3.75rem; height: 3.75rem; background-color: var(--blue--20); border-radius: 40px; display: flex; justify-content: center; align-items: center;}
.grid-layout svg {width: 1.75rem; height: 1.75rem; z-index: 1; color: var(--blue);}
.grid-layout .text--small {font-weight: 400; color: #6E707C; line-height: 168%; width: 100%;}
.grid-layout .full-width .text--small {width: 50%; max-width: 600px;}

.full-width {grid-column: span 2; height: 400px; background-image: url(/ressources/photo/infographie.png) !important; background-size: cover !important;}

/* -------------------- Section chiffres -------------------- */
.stats-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3.75rem 5rem;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    flex: 1 0 28%;
    min-width: 200px;
    text-align: center;
}

.stat-number {color: var(--blue);font-family: Poppins, sans-serif;font-size: 3.75rem;font-weight: 500;}
.stat-label {color: var(--gris--60);}

@media (max-width: 768px) {
    .stat-item {
        flex: 1 0 45%; /* 2 colonnes sur tablette */
    }
}
@media (max-width: 480px) {
    .stat-item {
        flex: 1 0 100%; /* 1 colonne sur mobile */
    }
}

/* -------------------- Section highlight -------------------- */
.highlights {gap: 5rem;}
.highlight-row {display: flex; justify-content: space-between; gap: 5rem; align-items: center; width: clamp(800px, 100%, 1280px);}
.highlight-row.reverse {flex-direction: row-reverse;}
.highlight-text, .highlight-image {flex: 1 1 40%;}
.highlight-text {gap: 1.25rem;display: flex;flex-direction: column;}
.highlight-text p {color: var(--gris--60);}
.highlight-image img {max-width: 100%; height: auto; border-radius: 2.5rem; object-fit: cover;}

/* Cta */
.cta--content {
    background: var(--gradient-B20);
    box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 3.75rem;
    border-radius: 1.25rem;
    color: var(--white);
    width: clamp(calc(800px - 80px), calc(100% - 80px), calc(1280px - 80px));
    position: relative;
    overflow: hidden;
}

.cta--content p {width: 60%;}
.cta--content img {position: absolute; top: 0; right: 0; width: 40%;}

/* Section F.A.Q */
.accordion {overflow: hidden; display: flex; flex-direction: column; gap: 5rem; align-items: center;}
.accordion h1 {text-align: center;}
.accordion h3 {flex: 1;}
.faq {max-width: 60vw;margin: 0 auto;position: relative;}
.faq input[type="checkbox"] {display: none;}
.faq .center {height: 12vh; display: flex;align-items: center; justify-content: space-between;}
.faq label {
    display: block;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-bottom: 1px solid var(--black--40);
}
.faq svg {width: 20px;    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.faq input[type="checkbox"]:checked + label svg {
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}
.faq input[type="checkbox"]:checked + label {
    display: block;
    max-height: 52vh;
    height: auto;
    transition: max-height 0.8s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.faq input[type='checkbox']:not(:checked) + label {
    display: block;
    transition: max-height 0.8s;
    height: auto;
    max-height: 12vh;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.faq p {margin-bottom: 2rem; color:var(--gris--60);}

/* Lang */
.iti__selected-country {
    padding: 1rem !important;
    border-radius: .5rem !important;
    border: none !important;
}

.iti__selected-country:hover {
    outline: 0 !important;
    border: 0 !important;
    rotate: none !important;
    scale: none !important;
}

.iti__search-input {background-color: var(--black) !important; border-radius: .75rem !important; color: white !important;}
.iti__dropdown-content {border-radius: .75rem !important;}
.iti__country {padding: 1rem !important;}

/* Responsive ----------------------------------------*/
/* For-big-desktop-up */
@media (min-width: 1801px) {
}
/* For-desktop-up */
@media (max-width: 1800px) {
    .faq {max-width: 68vw;}
}
/* For-tablet-landscape-up */
@media (max-width: 1200px) {
    .faq {max-width: 72vw;}
}
/* For-tablet-portrait-up */
@media (max-width: 900px) {
    header {padding: 2.5rem 2.5rem 7.5rem 2.5rem; min-height: auto;}
    .faq {max-width: 80vw;}
}
/* For-phone-only  */
@media (max-width: 600px) {
    main {padding: 3.75rem 2rem 8rem 2rem;}
    .faq {max-width: 88vw;}
    .accordion {gap: 1.2rem;}
    .faq svg {width: 2.5rem; color: var(--gris--60);}
    .faq .center {gap: 12px;}
}

/* Responsive ----------------------------------------*/
/* For-big-desktop-up */
@media (min-width: 1801px) {
}
/* For-desktop-up */
@media (max-width: 1800px) {
}
/* For-tablet-landscape-up */
@media (max-width: 1200px) {
}
/* For-tablet-portrait-up */
@media (max-width: 900px) {
}
/* For-phone-only  */
@media (max-width: 600px) {
    .cta--content {width: auto; padding: 3.75rem 3.75rem 0 3.75rem; align-items: center; text-align: center;}
    .cta--content p {width: 100%;}
    .cta--content img {position: static; top: 0; right: 0; width: 80%; align-self: center;}

    section {padding: 4rem 2rem;}
    .clients h2 {text-align: center;}
    .decouverte--text {width: auto;}
    .grid-layout {width: auto;}
    .grid-layout .box {grid-column: span 2;}
    .full-width {height: 120px; background-position: center !important;}
    .highlight-row, .highlight-row.reverse {flex-direction: column;width: auto;}
    .highlight-image, .highlight-text {flex: 1 1 100%;text-align: center;}
    .highlight-text {align-items: center;}
    .stats-grid {max-width: 280px;}

    .header_content {flex-direction: column; width: auto; text-align: center;}
    .header_content form {text-align: start;}
    .header_content button {align-self: flex-start;}
    .header_text {align-items: center;}
}