@import url('https://fonts.googleapis.com/css2?family=Anton+SC&family=Jost:wght@300&display=swap');

html {
    overflow-x: hidden;
}
body {
    font-family: "Jost", sans-serif;
}
/* HEADER */
header {
    background-color: #08466f;
    position: relative;
    z-index: 9999;
    width: 100%;
}

header .logo img {
    max-height: 70px;
}

/* MENU DESKTOP */
.menu-principal {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    background-color: #08466f;
}

.nav-principal li {
    list-style: none;
}

.nav-principal li a {
    color: #fff !important;
    font-size: 16px;
    text-decoration: none;
    padding: 10px 15px;
}

/* Mobile menu handled via .box-menu in header.css */
#banner {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    position: relative;
}

.banner-wrapper {
    width: 100%;
    height: auto;
    overflow: visible;
}

.banner-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.banner-text {
    text-align: center;
    padding: 20px 10px;
    color: #08466f;
    font-family: "Anton SC", sans-serif;
    font-size: 48px;
}

.banner-text p {
    font-size: 24px;
    margin-top: 10px;
}

@media (max-width: 600px) {
    .banner-text { font-size: 32px; }
    .banner-text p { font-size: 20px; }
}
h2.section-heading {
    font-weight: bold;
    color: #08466f;
    font-size: 42px;
    padding-bottom: 20px;
    text-align: center;
}

section#les-courses {
    padding: 70px 0 20px;
}

.container-fluid p {
    font-size: 17px;
    line-height: 30px;
    text-align: justify;
    text-align-last: center;
}

.content-flex {
    padding: 50px 0;
    display: flex;
    align-items: center;
}

.content-flex img {
    max-height: 450px;
    width: 100%;
    object-fit: cover;
}
.accordion-faq .accordion-item-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accordion-faq .accordion-item-body-content p,
.accordion-faq .accordion-item-body-content li {
    padding-left: 20px;
    margin: 20px 0;
    font-size: 16px;
    line-height: 24px;
}
.img-galerie {
    width: 100%;
    height: 240px;
    margin-bottom: 30px;
}

.img-galerie img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.nom-equipe {
    font-weight: bold;
    color: #000;
    text-align: center;
    font-size: 24px;
    margin-bottom: 10px;
}

.bloc-equipe {
    height: 400px;
    border: 1px solid #ccc;
    margin-bottom: 30px;
}

.bloc-equipe p {
    font-size: 16px;
    text-align: center;
    line-height: 24px;
}
.row-maps { margin-bottom: 70px; }

.flex-contact {
    display: flex;
    width: 100%;
    margin: 50px auto 20px;
}

.info-coord {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
}
footer {
    background: #fff;
    border-top: 1px solid #ebebeb;
    padding: 20px 15px;
}

footer p {
    text-align: center;
    font-size: 13px;
    color: #000;
}
@media (max-width: 1024px) {
    h2.section-heading { font-size: 26px; }
}

@media (max-width: 991px) {
    .content-flex { flex-direction: column; }
}
