/* Style rapide globale*/
body {
    background: linear-gradient(6deg, #fff 23%, #D9FFFF 95%);
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 100%;
    align-items: center;
    margin-top: 24px;
    margin-bottom: 24px;
}

/* Centrage et marges automatiques pour un conteneur principal, évitant les bords de l'écran */
.container {
    max-width: 1440px !important;
    padding: 0 24px;
    width: 100%; 
    box-sizing: border-box;
}

/* --- Navigation --- */
/* Centrage des éléments dans la navigation */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

i {
    font-style: italic;
}

/* --- Typography --- */
/* Forçage du poids des titres et textes en gras pour être plus lisibles */
h1, h1 span, b {
    font-weight: bold !important;
}

h3 {
    margin-bottom: 1rem;
}

h1, h2, h3, b, strong, h4 {
    color: #222 !important;
    font-weight: 700 !important;
    font-family: 'Poppins', 'Poppins Fallback', sans-serif !important;
}

/* --- Utility Classes --- */
/* Classes de flexbox utilitaires pour différents alignements et directions */
.d-flex {
    display: flex;
    flex-wrap: nowrap; /* Empêche le retour à la ligne */
}
.flex-between { justify-content: space-between; }
.flex-row-reverse { flex-direction: row-reverse; }

/* Classes pour gérer la taille des éléments en flex */
.w-full { 
    width: 100%; 
    box-sizing: border-box;
}
.h-full { height: 100%; }
.w-auto { width: auto; }
.h-auto { height: auto; }

/* --- Margin and Padding Utilities --- */
.m-auto { margin: auto; }
.p-0 { padding: 0; }
.m-0 { margin: 0; }
.px-1 {
    padding-left: 24px !important;
    padding-right: 24px !important;
}
.py-1 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

/* Centrage horizontal et vertical avec des marges automatiques */
.mx-auto { margin-left: auto; margin-right: auto; }
.my-auto { margin-top: auto; margin-bottom: auto; }

/* --- Text Alignment --- */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* --- Flex Direction Utilities --- */
.flex-column { flex-direction: column; }

/* --- Custom Colors --- */
.text-corail {
    color: var(--corail_mh_brand);
}

/* --- Layout Helpers --- */
.flex-center {
    justify-content: center;
    align-items: center;
}
.align-center { align-items: center; }

/* --- Spacing Utilities --- */
.gap-1 { gap: 1rem; }
.gap-2 { gap: 2rem; }

/* --- Border Radius Utilities --- */
.rounded { border-radius: 0.5rem; }
.rounded-full { border-radius: 50%; }

/* --- Column Grid System --- */
/* Classes pour la gestion des colonnes, utile pour un système de grille */
.col-1 { width: 8.33%; }
.col-2 { width: 16.66%; }
.col-3 { width: 25%; }
/* Continuer jusqu'à .col-12 */

/* Reset for flex container */
.col { flex: 1; }

/* --- Titles Visibility --- */
/* Gestion de la visibilité des titres selon les écrans */
.title-min { display: unset !important; }
.title-max { display: none !important; }

/* --- Header Section --- */
/* Alignement flex et centrage du contenu du header */
.header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 10px
}

.header img {
    max-width: 252px;
}

/* Style pour les éléments sans retour à la ligne */
.no-wrap {
    white-space: nowrap; /* Empêche le retour à la ligne pour le texte */
}

.hidden {
    opacity: 0;
}

.faq-button-reverse {
    display: inline-block;
    margin: 10px 0;
    padding: 10px !important;
    font-size: 16px !important;
    color: white;
    background-color: #ff4b33;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    border-radius: 50px !important;
    border: 2px solid transparent;
}

a:not(.corail_mh_brand):hover, a:not(.corail_mh_brand):active, a:not(.corail_mh_brand).active-link {
    color: var(--corail_mh_brand) !important;
}

.faq-button-reverse:hover {
    background-color: transparent !important;
    border: 2px solid #ff4b33;
    color: #ff4b33;
}

/* Container Styling */
.steps-container {
    padding: 20px;
    margin: 0 auto;
    color: #222;
}

/* Title */
.steps-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
}

/* Intro text */
.steps-intro {
    font-size: 1rem;
    margin-bottom: 20px;
    color: #222;
}

/* Steps list */
.steps-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}

.step {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 calc(50% - 20px);
}

.step-number {
    width: 40px;
    height: 40px;
    background-color: #FF4B33;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.step-text {
    font-size: 1rem;
}

.container-rebond {
    background-color: #E3E3E3 ;
    border-radius: 20px;
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 50px;
}

.container-rebond h3{
    margin-top: unset !important;
    font-weight: bold !important;
}

.container-rebond .boutonCorail {
    padding: unset !important;
    width: fit-content;
}

.container-rebond a {
    padding: 10px 24px;
}

.container-rebond .rebond-texte {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.container-rebond .rebond-texte p {
    margin-bottom: 1rem !important;
}

.container-rebond .rebond-texte .faq-button-reverse {
    margin-top: 0px !important;
}

ul {
    list-style: disc;
    margin-left: 20px;
}

.tel {
    font-size: 28px;
    font-weight: bold;
    color: var(--corail_mh_brand);
    padding: unset !important;
}

.content-license {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 100px;
    flex-direction: row-reverse;
}

.license-squares {
    display: grid;
    gap: 50px;
    grid-template-columns: repeat(3, 1fr);
}

.license-square {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px;
    border-radius: 8px;
    background-color: white;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    font-weight: bold;
}

@media screen and (min-width: 1280px) {
    h1, h1 span {
        font-size: 42px !important;
    }
    .title-min { display: none !important; }
    .title-max { display: unset !important; }
    .header {
        display: flex !important;
        flex-direction: row;
    }
}
@media (max-width: 900px) {
    .content-license {
        flex-direction: column-reverse !important;
    }
    .container-infos {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .steps-list {
        flex-direction: column;
    }

    .step {
        max-width: 100%;
    }

    .steps-title {
        font-size: 1.5rem;
    }

    .steps-intro, .step-text {
        font-size: 0.9rem;
    }

    .step-number {
        width: 30px;
        height: 30px;
        font-size: 1rem;
    }
    .license-squares {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 356px) {
    .license-squares {
        grid-template-columns: repeat(1, 1fr) !important;
    }

}