body {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    width: 100%;
}
/*  */
.prose ul,
.prose ol,
.note-editable ul,
.note-editable ol {
    list-style-position: outside;
    padding-left: 1.5rem;
    margin: 0.5rem 0;
}

.prose ul,
.note-editable ul {
    list-style-type: disc;
}

.prose ol,
.note-editable ol {
    list-style-type: decimal;
}

.prose li,
.note-editable li {
    margin: 0.25rem 0;
}

.prose .drop-cap::first-letter,
.note-editable .drop-cap::first-letter {
    font-size: 3.5em;
    font-weight: 700;
    line-height: 0.9;
    float: left;
    padding-right: 0.12em;
    padding-top: 0.06em;
}

.prose blockquote,
.note-editable blockquote {
    border-left: 4px solid #e5e7eb;
    padding: 0.5rem 1rem;
    margin: 0.75rem 0;
    color: #4b5563;
    background: #f9fafb;
}

.prose article,
.note-editable article {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin: 0.75rem 0;
    background: #ffffff;
}

.note-dropcap-label {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.note-textcolor-label {
    font-weight: 700;
    text-transform: uppercase;
}

.note-lineheight-label {
    font-weight: 700;
    letter-spacing: 0.04em;
}

.hero-video-wrapper.hero-video-mobile {
    display: none;
}

.hero-grid.hero-video {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 2rem;
    align-items: center;
}

html {
    scroll-behavior: smooth;
}


.cookie-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, .35);
    z-index: 9999;
    padding: 18px;
}

.cookie-banner {
    width: min(760px, 100%);
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .25);
    overflow: hidden;
    padding: 18px 18px 12px 18px;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    position: absolute;
    right: 25px;
}

.cookie-banner__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.cookie-kicker {
    font-size: 14px;
    color: #007aff;
    margin-bottom: 2px;
}

.cookie-title {
    font-size: 28px;
    margin: 0;
    font-weight: 800;
}

.cookie-close {
    background: #f2f2f2;
    border: 0;
    padding: 10px 12px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
}

.cookie-text {
    margin: 12px 0 14px;
    color: #000;
    line-height: 1.5;
}

.cookie-box {
    background: #fafafa;
    border: 1px solid #ededed;
    border-radius: 12px;
    padding: 12px;
}

.cookie-box__title {
    font-weight: 700;
    margin-bottom: 6px;
}

.cookie-list {
    margin: 0;
    padding-left: 18px;
    color: #007aff;
}

.cookie-prefs {
    margin-top: 12px;
    padding: 12px;
    border: 1px dashed #e5e5e5;
    border-radius: 12px;
    background: #fff;
}

.cookie-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-weight: 600;
    color: #007aff;
}

.cookie-footer {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cookie-certified {
    font-size: 12px;
    color: #666;
}

.cookie-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn {
    border: 0;
    cursor: pointer;
    border-radius: 12px;
    padding: 12px 16px;
    font-weight: 800;
}

.btn-ghost {
    background: #f2f2f2;
}

.btn-primary {
    background: #007aff;
    color: #fff;
}

@media (max-width: 520px) {
    .cookie-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-actions {
        width: 100%;
    }

    .btn {
        width: 100%;
    }

    .cookie-banner {
        right: auto;
        position: relative;

    }
}

@media (max-width: 765px) {
    .cookie-banner {
        right: auto;
        position: relative;

    }
}



.course-thumbnail, .course-content {
    cursor: pointer;
}


.btn-gray-solid {
    background-color: rgb(200, 200, 200) !important;
    color: #fff;
}

.btn-gray-solid:hover {
    background-color: rgb(135, 135, 135) !important;
}

header {
    z-index: 999999999999;
}

.title-decorated {
    position: relative;
}

.title-decorated::before {
    content: "";
    position: absolute;
    left: -10px;
    background-image: url('../../../images/title-bg.svg');
    width: 24px;
    height: 35px;
    background-repeat: no-repeat;
    z-index: -1;
}

.title-decorated.title-s-4::before {
    height: 48px;
}

.title-decorated.title-s-1::before {
    height: 25px;
}
.title-decorated.title-s-2::before {
    height: 28px;
}

.title-decorated.title-s-3::before {
    height: 33px;
}

.recruitment-detail-page .container {
    margin: 0 2.5em !important;
}

#phone {
    width: 90%;
}

@media (max-width: 768px) {
    .hero-grid.hero-video {
        grid-template-columns: auto;
    }

    .hero-video-wrapper.hero-video-mobile {
        display: block;
    }

    .hero-video-desktop {
        display: none;
    }

    .title-decorated::before {
        top: -10px;
    }

    .frame-83,
    .frame-83-courses,
    .upcoming-course-section-figma,
    .top-instructor-section-figma,
    .about-us-section-figma,
    .testimonials-section1
    {
        width: 85% !important;
        margin: 0 2em !important;
    }

    .frame-83-courses {
        margin: 0 !important;
    }

    .categorie-container .categorie2{
        position: relative !important;
        top: 1em !important;
        margin: 1em 0 !important;
    }

    /* .category-image {
        object-fit: contain !important;
    } */

    .small-avatars svg {
        width: 100% !important;
    }

    .imdf-recruitment-detail {
        max-width: 80% !important;
    }

    .imdf-breadcrumb-header-detail {
        padding: 1em !important;
    }

    .imdf-header a {
        width: max-content !important;
    }

    .recruitment-list {
        list-style: circle !important;
        padding-left: 1.5em !important;
    }

    .button3-blue {
        width: 30px !important;
        height: 30px !important;
    }

    div:has(> .button3-blue) {
        height: 20px !important;
    }
}

.imdf-header [aria-label="Connexion étudiant"]:hover {
    color: #fff !important
}

.imdf-header [aria-label="Connexion étudiant"]:hover i,
.imdf-header [aria-label="Inscription étudiant"]:hover i,
.imdf-header [aria-label="Inscription étudiant"] i {
    color: #fff !important
}



#language-dropdown-btn:hover {
    border-radius: 100% !important;
}

#language-dropdown-btn:hover > i {
    color: #fff !important;
}

[aria-label="Offcanvas menu"] {
    background-color: var(--swiper-theme-color) !important;
    color: #fff !important;
}

[aria-label="Offcanvas menu"] i {
    background-color: var(--swiper-theme-color) !important;
    color: #fff !important;
}

.hero-content {
    height: 1000px !important;
}

.recruitment-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, rgba(8, 41, 94, 0.9), rgba(8, 41, 94, 0.7));
}

.recruitment-breadcrumb-card {
    margin-top: 1em !important;
}

.swiper-slide-category {
    width: calc((100% / 5) - 54px) !important;
}

@media (min-width:768px) {
    .categorie-container .categorie-slider .swiper-wrapper {
        margin: auto !important;
        /* width: max-content !important; */
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 100% !important;
    }

    .recruitment-detail-grid {
        width: 80%;
        margin: auto;
    }

    .checkout-col-left {
        width: 70%;
    }


    .checkout-col-blocks {
        display: flex;
        flex-direction: row;
    }

}

#parcours .cta-container {
    margin-left: 5em;
    margin-top: 2em;
}



.imdf-payment-method-name img {
    width: 50px;
}
