/* === Base / Fonts === */
.font-blackops{ font-family:"Black Ops One",sans-serif; }

html{ scroll-behavior:smooth; }

body{
    font-family:"Roboto";
    font-optical-sizing:auto;
    font-weight:350;
    font-style:normal;
    color:#6E7199;
    font-size:1.1rem;
    background:#252530 url(../img/MgtFjbzx8mq2RXPrCJ9cvThW7kp3fw/trame2.png) repeat fixed;
    background-size:300px auto;
}

/* === Titres === */
h1,h2{
    font-family:"Black Ops One",sans-serif;
    font-weight:400;
    color:#ED538E;
    text-transform:uppercase;
}
h1{ transform:scaleX(0.70); }
/* h2: rendu inchangé (pas de transform active) */

.titre-congres{ font-size:3.5rem; line-height:3rem; }
.sous-titre-congres{ font-size:1.75rem; line-height:1.75rem; }
/* h1,h2,h3,h4,h5,h6 { font-weight:700; } — conservé commenté dans l’original */

/* === Liens === */
a{
    text-decoration:none;
    color:#ED538E;
    font-weight:700;
    transition:color .3s ease-in-out;
}
a:hover{ color:#2F3848; }

/* === Sections === */
.section{ padding:120px 20px; }
/* min-height:100vh; — commenté dans l’original */

/* === Header BG flou (background uniquement) === */
#row-bgd-header{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background-image:none; /* image déplacée sur ::before */
    background-color: rgba(31,60,85,.85);
}
#row-bgd-header::before{
    content:"";
    position:absolute; inset:-24px;
    z-index:-1;
    background:url('../img/MgtFjbzx8mq2RXPrCJ9cvThW7kp3fw/banner.png') no-repeat center top fixed;
    background-size:100vw auto; /* ou cover si souhaité */
    filter:blur(16px);
    transform:scale(1.05);
    will-change:transform,filter;
}

/* === Header / Layout === */
header{
    background:#FFF;
    text-align:center;
    padding:100px 20px 0;
    margin-top:46px;
}
#header-left{ position:relative; height:auto; min-height:530px; }
.left-img{
    padding:50px;
}
#header-right{ padding-top:60px; }

.header-dates{
    font-family:"Black Ops One",sans-serif;
    font-weight:400;
    font-size:2.5rem;
    color:#ED538E;
    text-transform:uppercase;
    transform:scaleX(0.85);
}
.header-dates span{ text-transform:uppercase; color:#FFF; }

/* === Marquee === */
.marquee-bar{
    background:rgba(237, 82, 142, .9);
    color:#FFF;
    padding:10px 0;
    text-align:center;
    font-weight:bold;
    overflow:hidden;
    white-space:nowrap;
    position:fixed;
    width:100vw;
    top:0;
    z-index:1050;
}
.marquee-content{
    display:inline-block;
    white-space:nowrap;
    animation:marquee 10s linear infinite;
}
@keyframes marquee{
    from{ transform:translateX(100%); }
    to{ transform:translateX(-100%); }
}

/* === Navbar === */
.navbar{
    max-width:100vw!important;
    margin-top:40px;
    background-color:transparent;
}
.nav-link{
    margin:0 20px;
    font:400 30px "Black Ops One",sans-serif;
    color:#F5F5F5!important;
    transform:scaleX(0.85);
}
.nav-link:hover{ color:#B85F98!important; }

/* === Boutons / Tabs === */
.btn{ border-radius:0; }

.tab-btn{
    padding:5px 20px!important;
    border:none;
    margin-top:3px;
    background:#242536;
    color:#FFF;
    font-weight:700;
    transition:all .2s linear;
}
.tab-btn:hover{ background:#E4E9D7; color:#E40513; }

.schedule-tab-btn button{
    padding:20px 30px;
    font-weight:bold;
    border:none;
    margin:15px;
    background:#6E7199;
    color:#CCC;
}
.schedule-tab-btn button.active{
    background:#242536;
    color:#F5F5F5;
}

/* === Programme / Items === */
.modal, .modal-dialog, .modal-content, .modal-header  {
    border-radius: 0;
}
.schedule-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:rgba(255,255,255,.05);
    padding:15px;
    border-radius:0;
    margin-bottom:15px;
    box-shadow:0 4px 6px rgba(0,0,0,.1);
}
.schedule-time{
    font-size:2.5rem;

    text-align:center;
    flex:1;
}
.schedule-time > span {
    color: #ED528E;font-weight:bold;
}
.schedule-time .day{ font-size:1.4rem; color:#3f2c79; }
.schedule-details{ flex:3; }
.schedule-button a{
    background:#E40513;
    color:#fff;
    padding:10px 15px;
    border-radius:20px;
    text-decoration:none;
    cursor:pointer;
}

/* === Divers contenus === */
.cv{
    padding:15px 20px;
    margin-top:15px;
    font-size:12px;
    color:#FFF!important;
    background:#c85aaa;
}
.title-programme{ font-size:1.3rem; margin-top:25px;color:#F5F5F5 }
.modal-body .title-programme{
    color:#c85aaa;
}
.auteur{ font-size:1.65rem; }
.auteur hr {
    border-top-color:#c85aaa;
}
.uppercse{ text-transform:uppercase; }
.tel{ font-weight:700; }
#a-propos{ text-align:left; }
#footer-nav-ancres{ text-align:right; }

/* === Footer === */
footer{ color:#8a8caf; background-color:rgba(31,60,85,.85); }
footer h5{ font-weight:700; padding-bottom:30px;display: none; }
footer .nav-item-footer, footer h5{
    color:#E5CBE0;
    transition:color .3s ease-in-out;
}
footer .nav-link-footer{
    text-decoration:none;
    line-height:2.8rem;
    color:#8a8caf;
    font-weight:700;
    transition:color .3s ease-in-out;
}
footer .nav-link-footer:hover{ color:#ED538E; }
.link-contact:hover{
    color:#8a8caf;
}
.belgique{
    background-image: url(../img/MgtFjbzx8mq2RXPrCJ9cvThW7kp3fw/belgique.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}
.france{
    background-image: url(../img/MgtFjbzx8mq2RXPrCJ9cvThW7kp3fw/france.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    
}
#copyright{
    /*background:#B85F98;*/
    background-color: rgba(0,0,0,0.5);
    color:#FFF;
    padding:20px 0 5px;
    line-height:2rem;
    opacity:0.5;
    transition:all .2s linear;
}
#copyright:hover{
    opacity:1;
}
#copyright a{
    color:#E5CBE0;
    font-weight:700;
    text-decoration:none;
    transition:all .2s linear;
}
#copyright a:hover{
    color:#FFF;
    font-weight:700;
    text-decoration:none;
}

/* === Countdown === */
#countdown-container{ width:auto; margin:0 auto; }
.time-box{
    align-items:center;
    background:#fff;
    padding:10px;
    border-radius:25px;
    min-width:80px;
}
.time-box span{
    display:block;
    font-size:2rem;
    font-weight:bold;
    color:#ED538E;
}
.label{
    font-size:.9rem!important;
    color:gray!important;
    text-transform:uppercase;
    font-weight:bold;
}

/* === Modales === */
.modal-header{
    background:#ED538E;
    color:#FFF;
    border-bottom:none;
}
.modal-header .btn-close{ color:#FFF!important; }
.modal-body{ font-size:14px; }
.modal-footer{ border-top:none; font-size:12px; }
.sstitre{ font-weight:600; }

/* === Sections spécifiques === */
#programme,#presentation{
    /*color:#8a8caf;*/
    color:#FFF;
    background-color:rgba(31,60,85,.85);
}

/* === Inscriptions / Infos === */
#inscriptions,#infos{
    /*background-color:transparent;*/
    background-color:rgba(0,0,0,.5);
    color:#FFF;
}

/* === Formulaire === */
form{
    background:#362e4ae0;
    color:#CCC;
    padding:50px 150px 100px 150px;
    border-radius:0;
    margin-bottom:15px;
}
.field{ margin-bottom:10px; }
.form-control{ border-radius:0; }
.g-recaptcha{ float:right!important; }
.error{ color:#e25345;margin-right:15px; }

/* ====== Radio "rounded-checkbox" joli et accessible ====== */
.rounded-checkbox {
    --rc-size: 22px;
    --rc-color: #c85aaa;         /* couleur active */
    --rc-bg: #fff;               /* fond du bouton */
    --rc-border: #c7c7c7;        /* bord par défaut */
    --rc-hover: #e9e9e9;         /* fond au survol */
    --rc-focus: rgba(200, 90, 170, 0.35); /* halo focus */
    --rc-disabled: #bdbdbd;

    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    gap: .5rem;
    font-size: 16px;
    line-height: 1.2;
}

/* masque l’input natif, sans le retirer de l’accessibilité */
.rounded-checkbox > input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* le visuel du bouton radio */
.rounded-checkbox .check {
    position: relative;
    width: var(--rc-size);
    height: var(--rc-size);
    border-radius: 50%;
    background: var(--rc-bg);
    border: 2px solid var(--rc-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .06s ease;
}

/* petit effet de relief via un SVG discret (optionnel) */
.rounded-checkbox .check::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background:
            radial-gradient(120% 120% at 30% 30%, rgba(255,255,255,.7), rgba(255,255,255,0) 40%) no-repeat;
    pointer-events: none;
}

/* le point intérieur pour l’état coché */
.rounded-checkbox .check > span {
    width: calc(var(--rc-size) * .44);
    height: calc(var(--rc-size) * .44);
    border-radius: 50%;
    background: transparent;
    transform: scale(0);
    transition: transform .18s ease, background .18s ease;
}

/* survol du label = feedback */
.rounded-checkbox:hover .check {
    background: var(--rc-hover);
}

/* focus clavier sur l’input = halo sur le visuel */
.rounded-checkbox > input[type="radio"]:focus-visible + .check {
    box-shadow: 0 0 0 4px var(--rc-focus);
}

/* press feedback léger */
.rounded-checkbox:active .check {
    transform: scale(.98);
}

/* ÉTAT COCHÉ */
.rounded-checkbox > input[type="radio"]:checked + .check {
    border-color: var(--rc-color);
    background: #fff;
}
.rounded-checkbox > input[type="radio"]:checked + .check > span {
    background: var(--rc-color);
    transform: scale(1);
}

/* ÉTAT DÉSACTIVÉ */
.rounded-checkbox > input[type="radio"]:disabled + .check {
    border-color: var(--rc-disabled);
    background: #f4f4f4;
    cursor: not-allowed;
}
.rounded-checkbox > input[type="radio"]:disabled + .check > span {
    background: var(--rc-disabled);
}
.rounded-checkbox > input[type="radio"]:disabled ~ * {
    color: var(--rc-disabled);
    cursor: not-allowed;
}

/* Variante "erreur" si tu poses .is-invalid sur le label */
.rounded-checkbox.is-invalid .check {
    border-color: #e24c4c;
    box-shadow: 0 0 0 3px rgba(226, 76, 76, .15);
}




/* === Download === */
#download{ background:#E5CBE0; color:#FFF; }

/* === Toggler Burger === */
.custom-toggler{
    background:none;
    border:none;
    cursor:pointer;
    width:40px; height:40px;
    display:flex; justify-content:center; align-items:center;
    position:relative; right:30px;
}
.toggler-icon{
    width:30px; height:3px;
    background: #ed538e;
    position:relative;
    transition:all .3s ease-in-out;
}
.toggler-icon::before,
.toggler-icon::after{
    content:"";
    width:30px; height:3px;
    background:#ED538E;
    position:absolute; left:0;
    transition:all .3s ease-in-out;
}
.toggler-icon::before{ top:-8px; }
.toggler-icon::after{ top:8px; }

.navbar-toggler[aria-expanded="true"] .toggler-icon{ background-color:transparent; }
.navbar-toggler[aria-expanded="true"] .toggler-icon::before{ top:0; transform:rotate(45deg); }
.navbar-toggler[aria-expanded="true"] .toggler-icon::after{ top:0; transform:rotate(-45deg); }
.navbar-toggler:focus{ text-decoration:none; outline:0; box-shadow:none; }

/* === Responsive === */
@media (max-width:767px){
    #desktop-header {
        display: none;
    }
    #mobile-header {
        display: block;
        padding-left: 0!important;
        padding-right: 0!important;
    }
    #mobile-header .col-12{
        padding-left: 0!important;
        padding-right: 0!important;
    }
    #header-left{
        position:relative; height:auto; max-height:375px;
    }
    .left-img {
        padding: 0px;
    }
    #header-right {
        padding-top: 0px;
        /*transform: translateY(-500px);*/
    }
}
/*@media (max-width:1029px){*/
/*    header{ padding:30px 0; }*/
/*}*/

@media (min-width:993px){
    #mobile-header {
        display: none;
    }
}
@media (max-width:991px){ /* < 992 (Bootstrap lg) */
    .navbar{ position:static!important; }
    header{ margin-top:0; padding:0!important; }
    header .container{ max-width:100vw; }
}

@media (max-width:992px){
    body{ font-size:1rem; }
    .navbar{ background-color: rgba(31, 60, 85, .85); }
    .navbar-brand{ padding:20px 0 0 25px; }
    .navbar-brand img{ height:75px!important; }
    header{ padding:0; }
    .navbar-collapse{ padding-bottom:25px; }
    .nav-link{ margin:10px 20px; }
    #row-bgd-header{ background-size:cover; background-position:center bottom; }
    #header-right{
        /*background-image:url('../img/MgtFjbzx8mq2RXPrCJ9cvThW7kp3fw/ParoleV1-fond-papier.png');*/
        min-height:575px;
    }


    #countdown-container > div.row{ padding:0!important; }
    .time-box span{ font-size:1.7rem; }
    .label{ font-size:.75rem!important; }
    .section{ padding: 25px 20px 10px 20px; }
    .schedule-tab-btn button{ padding:10px 18px; }
    .schedule-item{ padding:0; }
    .schedule-time{
        font-size:1.5rem; font-weight:bold; text-align:center; flex:1;
    }
    .schedule-time span{
        display:inline-block; transform:rotate(-90deg); transform-origin:center;
    }
    .title-programme,.schedule-details p{ font-size:15px; }
    .schedule-action{ padding:10px!important; }
    .auteur{ font-size:.9rem; }
    #imagePdfDownload{ margin-top:50px; }
    form{ padding: 25px; border-radius:0; margin-bottom:15px; box-shadow:none; }
    #inscriptionFormSubmit{ margin-top:35px!important; }
    footer{ padding:20px 15px 0; }
    footer .py-5{ padding-top:1rem!important; padding-bottom:1rem!important; }
    #a-propos,#footer-nav-ancres{ text-align:center; }
    footer .nav-link-footer{ line-height:2.5rem; font-size:larger; }
}

/* === iOS/mobile perf pour le bandeau flou === */
@media (max-width:768px){
    #row-bgd-header::before{
        background-attachment:scroll;
        filter:blur(10px);
        transform:scale(1.03);
    }
    #copyright {
        background: transparent;
    }
}
/* Tablettes en orientation portrait */
@media screen and (min-width: 600px) and (max-width: 768px) {
    body {
        font-size: 16px;
    }
    .container {
        padding: 20px;
    }
    #desktop-header {
        display: none;
    }
    #mobile-header {
        display: block;
    }
    #mobile-header .col-12{
        padding-left: 0!important;
        padding-right: 0!important;
    }
    nav {
        display: flex;
        flex-direction: row;
    }
}

/* Tablettes en orientation paysage */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    body {
        font-size: 17px;
    }
    .container {
        padding: 30px;
    }
    nav {
        justify-content: space-between;
    }
    .nav-link {
        margin: 0 20px;
        font: 400 22px "Black Ops One", sans-serif;
        color: #F5F5F5 !important;
        transform: scaleX(0.85);
    }
    header {
        padding: 0;
        padding-top: 135px;
    }
    #desktop-header {
        display: none;
    }
    #mobile-header {
        display: block;
    }
    #mobile-header .col-12{
        padding-left: 0!important;
        padding-right: 0!important;
    }
    #presentation {
        padding-top: 0;
    }
    .section {
        padding: 40px 20px;
    }
}

