@charset "UTF-8";

:root {

    /**
  --vert-canard-70: #2398b3;
  --vert-canard-60: #1e8399;
  --vert-canard-40: #145766;
**/

    --logo-gauche-900: #24454d;
    --logo-gauche-700: #2f5a63;
    --logo-gauche-500: #3d6e79;
    --logo-gauche-300: #6f9ea6;
    --logo-gauche-100: #d6e7ea;

    --logo-droit-900: #3f7e79;
    --logo-droit-700: #5fa7a1;
    --logo-droit-500: #94cec8;
    --logo-droit-300: #bfe4df;
    --logo-droit-100: #e8f6f4;

    --gradient: linear-gradient(135deg, #3d6e79, #94cec8);


    --logo-gauche: #3d6e79;
    --logo-droit: #94cec8;

    --logo-fourche: #242021;

    --blanc: #f4f7f8;

    --noir: var(--logo-fourche);


    /* Ancienne version */
    --HighlightColor1: #012C58;
    --HighlightColor2: #F08237;
    --SiteFont: Montserrat;
    --SiteFontStyle: 400, 700;

    --body-font-size: medium;
    --body-titre-font-size: X-large;
    --body-sous-titre-font-size: large;

   


    --menu-font-size: clamp(0.72rem, 1.7vw, 0.92rem);
    --smenu-font-size: clamp(0.62rem, 1.4vw, 0.82rem);

    
    --menu-font-size-s: clamp(0.67rem, 1.7vw, 0.77rem);
    --smenu-font-size-s: clamp(0.57rem, 1.4vw, 0.67rem);

    



    --menu-font-weight: 600;

    





    /* --cassiopeia-color-primary: var(--website-color-1) !important;
    --cassiopeia-color-link: var(--website-color-1) !important; */
    /* Couleur primaire */
    --cassiopeia-color-primary: var(--logo-gauche);
    /* Couleur du lien */
    --cassiopeia-color-hover: var(--logo-droit);
    /* Couleur du survol  */
    --cassiopeia-color-link: var(--website-color-primary);
    /**/
    --cassiopeia-font-family-body: var(--SiteFont), sans-serif;
    /**/
    --cassiopeia-font-family-headings: var(--SiteFont), sans-serif;
    /**/
    --cassiopeia-font-weight-headings: 700;
    /**/
    --cassiopeia-font-weight-normal: 400;
    /**/

    --body-color: var(--noir);
    --body-bg: var(--blanc);


    --link-color: var(--logo-gauche);
    --link-hover-color: var(--logo-droit);
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


body {
    font-family: var(--cassiopeia-font-family-body);
    font-optical-sizing: auto;
    font-weight: var(--cassiopeia-font-weight-normal);
    font-style: normal;
}

.ncb-banner img {
    width: 100%;
    height: auto;
    max-height: 100px;
    /* 🔥 limite la hauteur de la bannière */
    object-fit: contain;
}

.ncb-banner p {
    color: var(--noir);
    flex-grow: 1;
    text-align: center;
    font-weight: var(--cassiopeia-font-weight-headings);
}

.ncb-logo-letter {
    color: var(--logo-droit);
}

/* PersonnalisationLogo NCB Module id: 117 */
#mod-custom117 {
    display: flex;
    /* Utilise Flexbox pour le conteneur */
    width: 100%;
    align-items: center;
    justify-content: space-around;
    /* Centrer horizontalement les éléments */
}



/* Désactive le dégradé du header Cassiopeia */
.container-header {
    background: none !important;
    background-color: var(--blanc) !important;
    /* ou la couleur de ton choix */

    color: var(--noir);
}

.container-header .mod-menu {
    color: var(--noir);
}

.container-header .navbar-toggler {
    color: var(--noir);
}


/* Edition espace sur les carte */
.main-top.card {
    padding: 0;
    border: 0;
}

.main-top.card .card-body {
    padding: 0;
}

.main-top.card .card-body .navbar {
    padding: 0;
}



/* Menu */

/* Formulaire Adhesion */

.carousel-indicators [data-bs-target] {
    background-color: var(--noir);
    opacity: .4;
}

.input-group-text {
    background-color: var(--gray-200);
    color: var(--gray-600);
    min-width: 30%;
}


.form-control::placeholder {
    font-style: italic;
    opacity: 0.4;
}

input.form-control, .form-select {
    color: var(--cassiopeia-color-primary) !important;
}

input.form-control:-webkit-autofill {
    -webkit-text-fill-color: var(--cassiopeia-color-primary) !important;
    transition: background-color 5000s ease-in-out 0s;
}

.gda-tooltip {
    --bs-tooltip-bg: var(--bs-primary);
}

/* Supprimer complètement le style autofill */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset !important;
    -webkit-text-fill-color: #000 !important;
    background-image: none !important;
    background-color: white !important;
    transition: background-color 5000s ease-in-out 0s;
    /* hack pour chrome */
}

/* seules tes classes Bootstrap (is-valid / is-invalid) gèrent les icônes */
input:-webkit-autofill:is(.is-valid, .is-invalid) {
    background-image: none !important;
}

.ncb_texte {
    color: var(--cassiopeia-color-primary);
    font-size: var(--body-font-size);
    text-align: justify;
    /* max-width: 60em; */
    line-height: 1.8em;
    margin-left: 1.3em;
    margin-top: 1.3em;
}

.ncb_titre {
    color: var(--cassiopeia-color-primary);
    font-size: var(--body-titre-font-size);
    margin-top: 1.2em;
    margin-left: 1em;
}

.ncb_sous_titre {
    color: var(--cassiopeia-color-primary);
    font-size: var(--body-sous-titre-font-size);
    margin-left: 1.2em;
}

.ncb_activites img {
    background: transparent;
    border: 1px solid #0C3F73;
    width: 20em;
    box-shadow: 0.2em 0.2em 0.5em 0.02em #0C3F73;
    margin: 1em 0em 1em 3em;
}

@media (min-width: 992px) {
    .ncb-banner p {
        font-size: xxx-large;
    }
}

@media (max-width: 991.98px) {
    .ncb-banner p {
        font-size: x-large;
    }
}



/* offcanvas  par defaut*/
/* menu offcanvas*/
/* .offcanvas.show {
    background-color: var(--blanc);
    background-image: linear-gradient(135deg,var(--blanc),var(--gray-100));
}
@media (min-width: 992px) {
    .offcanvas-start {
        width: 100%;
    }
  
  
}
@media (max-width: 991.98px) {
    .offcanvas .metismenu.mod-menu .metismenu-item > ul {
        position: relative;
        width: 100%;
        margin-top: 1rem;
    }
    .offcanvas .metismenu.mod-menu .mm-collapse {
        background-color: transparent;
    }
    .offcanvas .metismenu.mod-menu .metismenu-item > a {
        color:var(--noir);
    }

}
.offcanvas-header > *:only-child {
    margin-left: auto;
} */





/* =================================================================
   MENU NCB — Style horizontal / neptune-club-brunoy.fr
   ================================================================= */

/* ── Commun : items de niveau 1 ── */
.mod-menu.nav>.nav-item>a,
.metismenu.mod-menu>.metismenu-item>a {
    font-weight: var(--menu-font-weight);
    text-transform: uppercase;
    /* letter-spacing: 0.07em; */
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease;
}

/* ───────────────────────────────────────
   DESKTOP (≥ 992px) : barre horizontale
   ─────────────────────────────────────── */
@media (min-width: 992px) {

    /* Conteneur UL → flex row */
    .offcanvas-body .mod-menu.nav,
    .offcanvas-body .metismenu.mod-menu {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 0;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    /* Navbar principale: compacte pour tenir sur une ligne */
    #navbar1 .offcanvas-body .mod-menu.nav,
    #navbar1 .offcanvas-body .metismenu.mod-menu {
        flex-wrap: nowrap;
        width: 100%;
        min-width: 0;
    }

    #navbar1 .offcanvas-body .mod-menu.nav>.nav-item,
    #navbar1 .offcanvas-body .metismenu.mod-menu>.metismenu-item {
        flex: 1 1 auto;
        min-width: 0;
        padding: .5rem;
    }

    /* Empêche la flèche (bouton .mm-toggler) de passer à la ligne quand
       l'espace se réduit : le texte du lien s'ellipse, la flèche reste alignée */
    #navbar1 .offcanvas-body .metismenu.mod-menu>.metismenu-item {
        flex-wrap: nowrap;
    }

    #navbar1 .offcanvas-body .metismenu.mod-menu>.metismenu-item>a {
        flex: 1 1 auto;
        min-width: 0;
    }

    #navbar1 .offcanvas-body .metismenu.mod-menu>.metismenu-item>.mm-toggler {
        flex: 0 0 auto;
    }

    /* Items niveau 1 */
    .offcanvas-body .mod-menu.nav>.nav-item>a,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item>a {
        display: flex;
        align-items: center;
        padding: 0.8rem 1rem;
        color: var(--logo-gauche);
        white-space: nowrap;
        border-bottom: 3px solid transparent;
    }

    #navbar1 .offcanvas-body .mod-menu.nav>.nav-item>a,
    #navbar1 .offcanvas-body .metismenu.mod-menu>.metismenu-item>a {
        justify-content: center;
        padding: 0.62rem 0.52rem;
        font-size: var(--menu-font-size);
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .offcanvas-body .mod-menu.nav>.nav-item>a:hover,
    .offcanvas-body .mod-menu.nav>.nav-item.active>a,
    .offcanvas-body .mod-menu.nav>.nav-item.current>a,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item>a:hover,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item.active>a,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item.current>a {
        color: var(--logo-droit-700);
        border-bottom-color: var(--logo-droit);
        text-decoration: none;
    }

    /* Flèche CSS sur les parents */
    .offcanvas-body .mod-menu.nav>.nav-item.parent>a::after,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item.parent>a::after {
        content: '';
        display: inline-block;
        margin-left: 0.4em;
        border-top: 0.35em solid currentColor;
        border-right: 0.3em solid transparent;
        border-left: 0.3em solid transparent;
        vertical-align: 0.1em;
        transition: transform 0.2s;
    }

    /* Rotation flèche au hover */
    .offcanvas-body .mod-menu.nav>.nav-item.parent:hover>a::after,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item.parent:hover>a::after {
        transform: rotate(180deg);
    }

    /* Ancre de référence pour le dropdown */
    .offcanvas-body .mod-menu.nav>.nav-item.parent,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item.parent {
        position: relative;
    }

    /* ── Dropdown layout default.php (.mod-menu__sub) ── */
    .offcanvas-body .mod-menu.nav>.nav-item .mod-menu__sub {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 220px;
        margin: 0;
        padding: 0.5rem 0;
        background-color: #fff;
        border-top: 3px solid var(--logo-droit);
        border-radius: 0 0 4px 4px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.13);
        z-index: 1000;
        list-style: none;
        transition: opacity 0.18s ease, visibility 0.18s ease;
    }

    .offcanvas-body .mod-menu.nav>.nav-item.parent:hover .mod-menu__sub {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    /* ── Dropdown layout metismenu (.mm-collapse) ── */
    .offcanvas-body .metismenu.mod-menu>.metismenu-item>.mm-collapse {
        display: none;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 220px;
        margin: 0;
        padding: 0.5rem 0;
        background-color: #fff;
        border-top: 3px solid var(--logo-droit);
        border-radius: 0 0 4px 4px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.13);
        z-index: 1000;
        list-style: none;
        /* Annule l'animation MetisMenu sur desktop */
        transition: opacity 0.18s ease, visibility 0.18s ease !important;
        height: auto !important;
        overflow: visible !important;
    }

    .offcanvas-body .metismenu.mod-menu>.metismenu-item.parent:hover>.mm-collapse {
        display: block !important;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    /* ── Items dans le sous-menu (commun aux deux layouts) ── */
    .offcanvas-body .mod-menu__sub .nav-item>a,
    .offcanvas-body .mm-collapse .metismenu-item>a {
        display: block;
        padding: 0;
        font-size: var(--smenu-font-size);
        font-weight: var(--menu-font-weight);
        text-transform: none;
        letter-spacing: 0.02em;
        color: var(--logo-gauche);
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: background-color 0.15s, border-color 0.15s, padding-left 0.15s;
    }

    .offcanvas-body .mod-menu__sub .nav-item>a:hover,
    .offcanvas-body .mm-collapse .metismenu-item>a:hover {
        background-color: var(--logo-gauche-100);
        border-left-color: var(--logo-droit);
        padding-left: 1.5rem;
        color: var(--logo-gauche-700);
    }
}

/* ───────────────────────────────────────
   MOBILE (< 992px) : offcanvas vertical
   ─────────────────────────────────────── */
@media (max-width: 991.98px) {

    .offcanvas-body .mod-menu.nav,
    .offcanvas-body .metismenu.mod-menu {
        flex-direction: column;
        padding: 0;
    }
     /*Style du  menu en mode collapse*/
    .offcanvas-body .mod-menu.nav>.nav-item>a,
    .offcanvas-body .metismenu.mod-menu>.metismenu-item>a {
        display: block;
        padding: 0.7rem 0.2rem;
        /* font-size: var(--menu-font-size); */
         font-size: var(--menu-font-size-s);
        font-weight: var(--menu-font-weight);
        color: var(--logo-gauche);
        border-bottom: 1px solid var(--logo-gauche-100);
    }

    /* Sous-menus en retrait avec barre colorée */
    .offcanvas-body .mod-menu__sub,
    .offcanvas-body .mm-collapse {
        padding-left: 1rem;
        border-left: 3px solid var(--logo-droit);
        margin: 0.2rem 0 0.4rem;
        list-style: none;
    }
    /*Style du sous  menu en mode collapse*/
    .offcanvas-body .mod-menu__sub .nav-item>a,
    .offcanvas-body .mm-collapse .metismenu-item>a {
        display: block;
        padding: 0 0;
        font-size: var(--smenu-font-size-s);
        font-weight: var(--menu-font-weight);
        text-transform: none;
        color: var(--logo-gauche-500);
        text-decoration: none;
    }
}
