@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css");

/* rubik-regular - latin */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/rubik-v12-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-regular.svg#Rubik') format('svg'); /* Legacy iOS */
}
/* rubik-600 - latin */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/rubik-v12-latin-600.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-600.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-600.svg#Rubik') format('svg'); /* Legacy iOS */
}
/* rubik-700 - latin */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/rubik-v12-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-700.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-700.svg#Rubik') format('svg'); /* Legacy iOS */
}
/* rubik-800 - latin */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 800;
    src: url('fonts/rubik-v12-latin-800.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-800.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-800.svg#Rubik') format('svg'); /* Legacy iOS */
}
/* rubik-900 - latin */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 900;
    src: url('fonts/rubik-v12-latin-900.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-900.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-900.svg#Rubik') format('svg'); /* Legacy iOS */
}
/* rubik-italic - latin */
@font-face {
    font-family: 'Rubik';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/rubik-v12-latin-italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('fonts/rubik-v12-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('fonts/rubik-v12-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
    url('fonts/rubik-v12-latin-italic.woff') format('woff'), /* Modern Browsers */
    url('fonts/rubik-v12-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
    url('fonts/rubik-v12-latin-italic.svg#Rubik') format('svg'); /* Legacy iOS */
}

html{
    scroll-behavior: smooth;
}

body{
    font-family: 'Rubik';
}

a{
    text-decoration: none;
    color: #D3043A;
}

a:hover{
    text-decoration: none;
    color: #a50330;
}

.loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 99999999;
    background: #f9f9f9;
}

.loader .spinner {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 120px;
    height: 120px;
    margin: -76px 0 0 -76px;
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #D3043A;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}





.row-flex {
    display: flex;
    flex-wrap: wrap;
}

#homeHeader{
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 999;
    background-color: #FFF;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

#homeHeader .header__accent{
    height: 4px;
    background: linear-gradient(90deg, #D3043A 0%, #3E3D40 100%);
}

#homeHeader .homeHeader__content{
    padding: 0;
}

#homeHeader .navbar{
    padding: 12px 0;
}

#homeHeader .navbar .container-fluid{
    flex-wrap: nowrap;
}

#homeHeader .navbar-brand{
    display: flex;
    align-items: center;
    padding: 0;
    margin-right: 2rem;
}

#homeHeader .header__logo{
    height: 45px;
    width: auto;
    transition: opacity 0.2s ease;
}

#homeHeader .navbar-brand:hover .header__logo{
    opacity: 0.8;
}

#homeHeader .navbar-nav .nav-item{
    margin-left: 8px;
}

#homeHeader .navbar-nav .nav-link{
    color: #3E3D40;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 16px;
    border-radius: 4px;
    transition: color 0.2s ease, background-color 0.2s ease;
    position: relative;
}

#homeHeader .navbar-nav .nav-link:hover{
    color: #D3043A;
    background-color: rgba(211, 4, 58, 0.06);
}

#homeHeader .navbar-nav .nav-link.active{
    color: #D3043A;
}

#homeHeader .navbar-nav .nav-link.active::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background-color: #D3043A;
    border-radius: 1px;
}

/* --- Toggler hamburger animé --- */
#homeHeader .navbar-toggler{
    border: none;
    padding: 8px 6px;
    border-radius: 4px;
    width: 40px;
    height: 36px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    transition: background-color 0.2s ease;
}

#homeHeader .navbar-toggler:focus{
    box-shadow: none;
    background-color: rgba(211, 4, 58, 0.06);
}

#homeHeader .navbar-toggler .toggler-bar{
    display: block;
    width: 22px;
    height: 2px;
    background-color: #3E3D40;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

#homeHeader .navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(1){
    transform: translateY(7px) rotate(45deg);
}

#homeHeader .navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(2){
    opacity: 0;
}

#homeHeader .navbar-toggler[aria-expanded="true"] .toggler-bar:nth-child(3){
    transform: translateY(-7px) rotate(-45deg);
}

#eventHeaderWithoutBackground{
    position: relative;
    padding: 15px 0;
    text-align: left;
}

/* --- Menu mobile --- */
@media only screen and (max-width: 991px) {
    #homeHeader .navbar-toggler{
        display: flex;
    }

    #homeHeader .navbar .container-fluid{
        position: relative;
    }

    #homeHeader .navbar-collapse{
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        background: #fff;
        border-top: 3px solid #D3043A;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 8px 24px rgba(0,0,0,0.1);
        padding: 8px 0;
        z-index: 1000;
    }

    #homeHeader .navbar-nav{
        padding: 8px 0;
    }

    #homeHeader .navbar-nav .nav-item{
        margin: 0;
    }

    #homeHeader .navbar-nav .nav-item + .nav-item{
        border-top: 1px solid #f0f0f0;
    }

    #homeHeader .navbar-nav .nav-link{
        padding: 14px 20px;
        font-size: 0.95rem;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: background-color 0.2s ease, padding-left 0.2s ease;
    }

    #homeHeader .navbar-nav .nav-link::after{
        content: '\203A';
        font-size: 1.3rem;
        color: #ccc;
        font-weight: 300;
        transition: color 0.2s ease;
    }

    #homeHeader .navbar-nav .nav-link:hover{
        padding-left: 26px;
        background-color: rgba(211, 4, 58, 0.04);
    }

    #homeHeader .navbar-nav .nav-link:hover::after{
        color: #D3043A;
    }

    #homeHeader .navbar-nav .nav-link.active{
        color: #D3043A;
        background-color: rgba(211, 4, 58, 0.06);
        font-weight: 700;
    }

    #homeHeader .navbar-nav .nav-link.active::after{
        display: none;
    }
}


/* --- Hero --- */
.home .home__hero {
    position: relative;
    height: calc(100vh - 75px);
    min-height: 500px;
    max-height: 800px;
    background: url("img/home.jpg") center center / cover no-repeat;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.home .home__hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(30,30,30,0.85) 0%, rgba(30,30,30,0.4) 60%, transparent 100%);
    pointer-events: none;
}

.home .home__hero-content {
    position: relative;
    z-index: 2;
    padding: 0 20px;
}

.home .home__hero-accent {
    width: 60px;
    height: 4px;
    background: #D3043A;
    margin-bottom: 24px;
    border-radius: 2px;
}

.home .home__hero-text {
    color: #fff;
    max-width: 650px;
}

.home .home__hero-text h1 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 16px;
    text-transform: none;
    border: none;
    padding: 0;
}

.home .home__hero-text p {
    font-size: 1.15rem;
    line-height: 1.7;
    opacity: 0.9;
    font-style: normal;
}

.home .home__hero-scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    color: rgba(255,255,255,0.7);
    font-size: 0.8rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.3s;
}

.home .home__hero-scroll:hover {
    color: #fff;
}

.home .home__hero-scroll i {
    display: block;
    font-size: 1.2rem;
    margin-top: 4px;
    animation: heroScrollBounce 2s infinite;
}

@keyframes heroScrollBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(6px); }
}

@media (max-width: 820px) {
    .home .home__hero {
        height: auto;
        min-height: 400px;
        padding: 60px 0;
    }
    .home .home__hero-text h1 {
        font-size: 1.6rem;
    }
    .home .home__hero-text {
        max-width: 100%;
    }
    .home .home__hero-scroll {
        display: none;
    }
}

.home .home__content h2{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 20px;

}

.home .home__content .description {
    font-size: 1rem;
}
.home .home__coachings, .home .home__applications{
    margin-top: 50px;
}


.home{
    margin-top: 75px;
}

.home .home__listEvents .col{
    margin-top: 25px;
}

/* --- Empty state --- */
.empty-state{
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.empty-state i{
    font-size: 3rem;
    color: #ccc;
    display: block;
    margin-bottom: 16px;
}

.empty-state p{
    font-size: 1.05rem;
    margin: 0;
}

/* --- Cards --- */
.home .home__listEvents .card{
    cursor: pointer;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home .home__listEvents .card:hover{
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* Card image */
.home .home__listEvents .card .card-img-wrap{
    overflow: hidden;
    position: relative;
    height: 220px;
}

.home .home__listEvents .card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.home .home__listEvents .card.card--app img{
    object-fit: contain;
}

.home .home__listEvents .card:hover img{
    transform: scale(1.05);
}

.home .home__listEvents .card.disabled img{
    filter: grayscale(100%);
}

/* Date badges on image */
.home .home__listEvents .card .card-meta{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0 12px 12px;
    gap: 6px;
}

.date-meta{
    text-align: center;
    color: #fff;
    background: #D3043A;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    padding: 6px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(211,4,58,0.3);
}

.date-meta p{
    margin: 0;
    line-height: 1.1;
}

.date-meta p.date-meta__label{
    font-size: 10px;
    background-color: #3E3D40;
    position: absolute;
    padding: 3px 6px;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    border-radius: 4px 4px 0 0;
}

.date-meta p.date-meta__year{
    font-size: 9px;
    opacity: 0.8;
    order: 3;
}

.date-meta p.date-meta__month{
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    order: 2;
}

.date-meta p.date-meta__day{
    font-size: 26px;
    font-weight: 700;
    order: 1;
}

/* Card body */
.home .home__listEvents .card .card-body{
    padding: 20px;
    flex: 1;
}

.home .home__listEvents .card-body h5.card-title{
    margin: 0 0 8px;
}

.home .home__listEvents .card-body h5.card-title a{
    font-size: 1.1rem;
    color: #1a1a1a;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
    transition: color 0.2s ease;
}

.home .home__listEvents .card:hover .card-title a{
    color: #D3043A;
}

.home .home__listEvents .card-body .card-text{
    font-size: 0.88rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* Card footer */
.home .home__listEvents .card .card-footer{
    background: rgba(211,4,58,0.04);
    border-top: 1px solid rgba(211,4,58,0.1);
    padding: 0;
}

.home .home__listEvents .card .card-footer .card-link{
    font-size: 0.9rem;
    font-weight: 700;
    color: #D3043A;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    transition: background-color 0.2s ease, gap 0.2s ease;
}

.home .home__listEvents .card .card-footer .card-link:hover{
    background: rgba(211,4,58,0.1);
    gap: 12px;
}

.home .home__listEvents .card .card-footer .card-link i{
    transition: transform 0.2s ease;
}

.home .home__listEvents .card .card-footer .card-link:hover i{
    transform: translateX(3px);
}

/* ---- Back to top ---- */
.back-to-top{
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 998;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: #D3043A;
    color: #fff;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.2s ease;
}

.back-to-top.visible{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover{
    background: #a8032e;
}

/* ---- Footer ---- */
footer{
    margin-top: 100px;
}

.footer__main{
    background: #1a1a1a;
    color: #ccc;
    padding: 3.5rem 0 2.5rem;
}

.footer__brand{
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
}

.footer__logo--crf{
    height: 50px;
    width: auto;
}

.footer__logo--wallonie{
    height: 40px;
    width: auto;
}

.footer__desc{
    font-size: .88rem;
    color: #999;
    line-height: 1.6;
    margin-bottom: 1.2rem;
}

.footer__social{
    display: flex;
    gap: .6rem;
}

.footer__social-link{
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: all .2s;
}

.footer__social-link:hover{
    background: #D3043A;
    color: #fff;
}

.footer__title{
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 1.2rem;
    padding-bottom: .6rem;
    border-bottom: 2px solid #D3043A;
    display: inline-block;
}

.footer__contact,
.footer__links{
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer__contact li,
.footer__links li{
    padding: .4rem 0;
    font-size: .88rem;
}

.footer__contact li i,
.footer__links li i{
    color: #D3043A;
    margin-right: .4rem;
    width: 16px;
    text-align: center;
}

.footer__contact a,
.footer__links a{
    color: #ccc;
    transition: color .2s;
}

.footer__contact a:hover,
.footer__links a:hover{
    color: #fff;
}

.footer__credits{
    background: #111;
    color: #777;
    padding: 1rem 0;
    border-top: 1px solid rgba(255,255,255,.06);
}

.footer__credits p{
    margin-bottom: 0;
    font-size: .8rem;
    text-align: center;
}

.footer__credits a{
    color: #999;
    transition: color .2s;
}

.footer__credits a:hover{
    color: #D3043A;
}


.page{
    margin-top: 110px;
}

.page h1{
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 700;
}

.page h2{
    font-size: 1.8rem;
    font-weight: 400;
}

.page a {
    color: #D3043A;
}

.page .page__hero{
    background-color: #D3043A ;
    padding: 20px;
    margin-bottom: 40px;
}

.page .page__hero h1{
    color: #FFF;
    font-size: 2rem;
    text-transform: uppercase;
}


.breadcrumbs{
    font-size: 14px;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 500;
    color: #999;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px 0;
    overflow: hidden;
}

@media only screen and (max-width: 767px) {
    .breadcrumbs{
        font-size: 12px;
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .breadcrumbs span:not(.current)::after{
        margin: 0 5px;
    }
}

.breadcrumbs span{
    display: inline-flex;
    align-items: center;
}

.breadcrumbs span:not(.current)::after{
    content: '\F285';
    font-family: 'bootstrap-icons';
    font-size: 10px;
    margin: 0 8px;
    color: #ccc;
}

.breadcrumbs a{
    color: #999;
    transition: color 0.2s ease;
}

.breadcrumbs a:hover{
    color: #D3043A;
}

.breadcrumbs .current{
    color: #3E3D40;
    font-weight: 600;
}

/* --- Detail page --- */
.detailpage{
    margin-top: 100px;
}

/* --- Hero card --- */
.hero-card{
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}

.hero-card__media{
    overflow: hidden;
    min-height: 380px;
    background: #f0f0f0;
}

.hero-card__media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-card__info{
    display: flex;
    flex-direction: column;
    padding: 28px 30px;
}

.hero-card__tag{
    display: inline-block;
    width: fit-content;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #D3043A;
    background: rgba(211,4,58,0.08);
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 14px;
}

.hero-card__title{
    font-size: 1.6rem;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
    margin: 0 0 20px;
}

/* Dates in hero */
.hero-card__dates{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

/* Address + map in hero */
.hero-card__address{
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f8f8;
}

.hero-card__address-text{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9rem;
    color: #3E3D40;
    line-height: 1.5;
    padding: 12px 14px;
}

.hero-card__address-text i{
    color: #D3043A;
    font-size: 1.1rem;
    margin-top: 2px;
    flex-shrink: 0;
}

.hero-card__address-text strong{
    color: #1a1a1a;
}

.hero-card__address-map{
    height: 150px;
}

.hero-card__address-map .leaflet-map{
    width: 100%;
    height: 100%;
}

/* Distance in hero */
.hero-card__distance{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: #3E3D40;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: rgba(211,4,58,0.05);
    border-radius: 8px;
}

.hero-card__distance i{
    color: #D3043A;
    font-size: 1.3rem;
    flex-shrink: 0;
}

/* No date coaching */
.hero-card__nodate{
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    color: #666;
    line-height: 1.5;
    margin-bottom: 16px;
    padding: 14px 16px;
    background: #f8f8f8;
    border-radius: 8px;
}

.hero-card__nodate i{
    font-size: 1.5rem;
    color: #ccc;
    flex-shrink: 0;
}

.hero-card__nodate p{
    margin: 0;
}

/* CTA */
.hero-card__cta{
    margin-top: auto;
}

.hero-card__cta .btn{
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 8px;
    position: static;
    transform: none;
}


@media (max-width: 991px){
    .hero-card__media{
        min-height: 250px;
    }
    .hero-card__title{
        font-size: 1.3rem;
    }
}

/* --- Application detail page --- */
.app-detail__image-card{
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    margin-bottom: 30px;
    background-color: #f8f8f8;
    text-align: center;
}

.app-detail__image-card img{
    width: 100%;
    height: auto;
    display: block;
}

.app-detail .detailpage__content h1::after{
    display: none;
}

.app-detail__body{
    padding-right: 30px;
}

.app-detail__body h1{
    font-size: 2.2rem;
    color: #D3043A;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
}

.app-detail__body h1::after{
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #3E3D40;
    margin-top: 12px;
}

.app-detail__body h2{
    font-size: 1.4rem;
    color: #3E3D40;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 15px;
}

.app-detail__description{
    font-size: 15px;
    line-height: 1.7;
    color: #3E3D40;
}

.app-detail__sidebar-card{
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    padding: 30px 25px;
    text-align: center;
    position: sticky;
    top: 100px;
}

.app-detail__sidebar-icon{
    width: 60px;
    height: 60px;
    background-color: #faf5f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.app-detail__sidebar-icon i{
    font-size: 1.6rem;
    color: #D3043A;
}

.app-detail__sidebar-card h3{
    color: #D3043A;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.app-detail__sidebar-card p{
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

.app-detail__sidebar-card .btn{
    position: static;
    transform: none;
    border-radius: 4px;
    padding: 14px 20px;
    font-size: 16px;
}

@media only screen and (max-width: 991px) {
    .app-detail__body{
        padding-right: 0;
    }

    .app-detail__sidebar-card{
        position: static;
        margin-top: 30px;
    }

    .app-detail__banner-img{
        height: 220px;
    }

    .app-detail__banner-overlay h1{
        font-size: 1.6rem;
    }
}

.detailpage .detailpage__content{
    margin-top: 40px;
}

.detailpage__main h2{
    font-size: 1.5rem;
    margin-bottom: 16px;
    color: #D3043A;
    font-weight: 700;
    padding-left: 14px;
    border-left: 3px solid #D3043A;
}

.detailpage__main h2:not(:first-child){
    margin-top: 50px;
}

.detailpage__description{
    font-size: 0.95rem;
    line-height: 1.8;
    color: #3E3D40;
}

.detailpage .detailpage__content a{
    color: #D3043A;
}


.detailpage__content .info-box{
    margin-top: 50px;
    text-align: center;
    padding: 35px 30px;
    position: relative;
    background-color: #faf5f6;
    border-left: 4px solid #D3043A;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.detailpage__content .info-box h3{
    color: #D3043A;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
}
.detailpage__content .info-box p{
    font-size: 15px;
    color: #3E3D40;
    max-width: 550px;
    margin: 0 auto 20px;
    line-height: 1.6;
}
.detailpage__content .info-box a{
    color: #FFF;
    display: inline-block;
    width: auto;
    min-width: 220px;
    padding: 12px 28px;
    font-size: 15px;
    border-radius: 4px;
    position: static;
    transform: none;
    transition: transform 0.2s ease;
}
.detailpage__content .info-box a:hover{
    transform: translateY(-2px);
}

@media only screen and (max-width: 767px)  {

    .detailpage__content .info-box{
        padding: 30px 20px;
    }

    .detailpage__content .info-box h3{
        font-size: 20px;
    }

    .detailpage__content .info-box p{
        font-size: 14px;
    }
}



.detailpage__content .date-box{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    padding: 20px 24px;
    margin-top: 16px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.detailpage__content .date-box:hover{
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.detailpage__content .date-box .item{
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 14px;
    color: #3E3D40;
}

.detailpage__content .date-box .item:nth-child(1){
    flex-grow: 1;
    flex-basis: 250px;
}

.detailpage__content .date-box .item:nth-child(2){
    flex-basis: 150px;
    flex-grow: 1;
}

.detailpage__content .date-box .item:nth-child(3){
    width: 300px;
}

.eventpage__content .date-box ul{
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

.detailpage__content .date-box ul li span{
    color: #D3043A;
    font-weight: 600;
}

.detailpage__content .date-box .place,
.detailpage__content .date-box .status{
    padding: 4px 14px;
    border: solid 2px #D3043A;
    color: #D3043A;
    font-weight: 600;
    font-size: 13px;
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 3px;
}


.detailpage__content .date-box .status{
    text-align: center;
    width: 200px;
}

.detailpage__content .date-box a{
    font-weight: 600;
}

.detailpage__content .date-box a.btn-info,
.detailpage__content .atelier-box a.btn-info{
    color: #FFF;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
    border-radius: 6px;
    padding: 10px 24px;
}

.detailpage__content .date-box .btn-info{
    position: relative;
    bottom: 0;
    left: 0;
    transform: none;
    width: 200px;
}

/* --- Atelier box --- */
.detailpage__content .atelier-box{
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    padding: 24px 28px;
    margin-top: 16px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.detailpage__content .atelier-box:hover{
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.atelier-box__layout{
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.atelier-box__content{
    flex: 1;
    min-width: 0;
}

.atelier-box__action{
    flex-shrink: 0;
}

.atelier-box__action .btn{
    white-space: nowrap;
}

.atelier-box__title{
    font-size: 1.1rem;
    font-weight: 700;
    color: #3E3D40;
    margin: 0 0 14px;
}

/* Dates */
.atelier-box__dates{
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
}

.atelier-box__date-item{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #3E3D40;
}

.atelier-box__date-item i{
    color: #D3043A;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.atelier-box__date-item span{
    color: #D3043A;
    font-weight: 600;
}

/* Meta: orateur, catégorie, lieu */
.atelier-box__meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-bottom: 16px;
}

.atelier-box__meta-item{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.88rem;
    color: #555;
}

.atelier-box__meta-item i{
    color: #D3043A;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.atelier-box__meta-item a{
    color: #D3043A;
    font-weight: 600;
    text-decoration: none;
}

.atelier-box__meta-item a:hover{
    text-decoration: underline;
}

/* Description */
.atelier-box__description{
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
}


/* Badges */
.atelier-box__badge{
    display: inline-flex;
    align-items: center;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
}

.atelier-box__badge--closed,
.atelier-box__badge--full{
    background: #fef2f2;
    color: #b91c1c;
}

.atelier-box__badge--required{
    background: #fff7ed;
    color: #9a3412;
}

@media only screen and (max-width: 768px) {
    .detailpage__content .atelier-box{
        padding: 18px 16px;
    }
    .atelier-box__layout{
        flex-direction: column;
        align-items: stretch;
    }
    .atelier-box__action{
        text-align: center;
    }
    .atelier-box__meta{
        flex-direction: column;
        gap: 6px;
    }
}
@media only screen and (max-width: 992px) {
    #homeHeader .homeHeader__content .title {
        font-size: 1.5rem;
    }
}

#orateur .picture
{
    margin-right:10px;
}

#orateur .presentation
{
    margin-top:5px;
}

#login {
    width: 430px;
    margin-top: 50px;
}

#home{margin-top: 10px;}

.lead{
    font-size: 20px;
    line-height: 22px;
    color: #D3043A;
    font-weight: bold;
}



.inscriptionCocher {
    float: right;
    text-align: right;
    padding-top: 40px;
    margin-right: 8px;
}
.presentation .inscriptionCheck {
    float:right;
    margin: 8px 8px 0px;

}


.mapliens
{
    border-top: #B41334 1px solid;
    color: #333333;
    font-size: 13px;
    padding-top: 2px;
    padding-bottom: 2px;
    margin-top: 5px;
    text-align: center;
}

.ateliers > ul{
    list-style: none;
}

.lead img {
    max-width: none;
}



.pointer{
    cursor: pointer;
}


@media print {
    .btn {display:none;}
    .noPrint{display:none;}
    #eventHeader{position: relative;
        padding: 15px 0;
        color: #000;
        text-align: left;}
    .label, .badge {text-shadow: none;}
}

.btn-info{
    --bs-btn-color: #fff;
    --bs-btn-bg: #D3043A;
    --bs-btn-border-color: #D3043A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #a8032e;
    --bs-btn-hover-border-color: #a8032e;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #D3043A;
    --bs-btn-active-border-color: #D3043A;
    color: #fff;
}

.btn-primary
{
    --bs-btn-color: #fff;
    --bs-btn-bg: #D3043A;
    --bs-btn-border-color: #D3043A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #D3043A;
    --bs-btn-hover-border-color: #D3043A;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #D3043A;
    --bs-btn-active-border-color: #D3043A;
    min-width: 160px;
    background-color:#D3043A;
    background-image:none;
    border-radius: 0px;
    border: none ;
    font-size: 12px;
    color: #fff;
    /*font-weight: bolder;*/
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled],

.btn-info:hover,
.btn-info:active,
.btn-info:focus,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled],
.btn-info:not(:disabled):not(.disabled).active, .btn-info:not(:disabled):not(.disabled):active, .show>.btn-info.dropdown-toggle

{
    color: #ffffff;
    border: none ;
    background-color: #D3043A;
    *background-color: #D3043A;
}

.btn-default{
    --bs-btn-color: #fff;
    --bs-btn-bg: #3E3D40;
    --bs-btn-border-color: #3E3D40;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #3E3D40;
    --bs-btn-hover-border-color: #3E3D40;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3E3D40;
    --bs-btn-active-border-color: #3E3D40;
    background-color: #3E3D40;
    background-image:none;
    border-radius: 0px;
    border: none ;
    font-size: 12px;
    font-weight: bolder;
    min-width: 160px;
    color: #fff;
}

.btn-default:hover,
.btn-default:active,
.btn-default.active,
.btn-default.disabled,
.btn-default[disabled] {
    color: #ffffff;
    border: none ;
    background-color: #3E3D40;
    *background-color: #3E3D40;
}

.text-center{text-align: center}
#events-list a.btn{color:#b41334; margin-top: 15px;}

#events-list .thumbnail{padding: 10px;  }
#events-list h3{
    height:45px;
    margin-top:	15px;
    text-align:center;
}



.event-register-btn{margin-top:20px;}


.overlay {
    background:transparent;
    position:relative;
    width:100%; /* your iframe width */
    height:300px; /* your iframe height */
    top:300px; /* your iframe height */
    margin-top:-300px; /* your iframe height */
}

/* --- Inscription page --- */
.inscription-page{
    margin-top: 100px;
}

.inscription-page__header{
    display: flex;
    align-items: center;
    background-color: #FFF;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 30px;
}

.inscription-page__header-accent{
    width: 6px;
    align-self: stretch;
    background: linear-gradient(180deg, #D3043A 0%, #3E3D40 100%);
    flex-shrink: 0;
}

.inscription-page__header-body{
    flex: 1;
    padding: 25px 30px;
}

.inscription-page__label{
    display: inline-block;
    background-color: rgba(211, 4, 58, 0.08);
    color: #D3043A;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 12px;
    border-radius: 3px;
    margin-bottom: 8px;
}

.inscription-page__header-body h1{
    font-size: 1.6rem;
    font-weight: 700;
    color: #3E3D40;
    margin: 0;
}

.inscription-page__header-thumb{
    width: 220px;
    height: 140px;
    flex-shrink: 0;
    overflow: hidden;
}

.inscription-page__header-thumb img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.inscription-page__form-card{
    background: #FFF;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    padding: 35px 40px 50px;
    position: relative;
    margin-bottom: 60px;
}

.inscription-page__form-card .btn-primary{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 280px;
    bottom: -22px;
    font-size: 16px;
    padding: 12px 20px;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(211, 4, 58, 0.3);
}

@media only screen and (max-width: 767px) {
    .inscription-page__header-thumb{
        display: none;
    }

    .inscription-page__header-body{
        padding: 20px;
    }

    .inscription-page__header-body h1{
        font-size: 1.3rem;
    }

    .inscription-page__form-card{
        padding: 25px 20px 50px;
    }
}

.form-inscription {
    box-shadow: 0px 2px 18px #e7e5e5;
    padding: 5px 20px 60px 20px;
    position: relative;
}

.form-inscription .btn-primary{
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    width: 250px;
    bottom: -20px;
    font-size: 16px;
}

.MsgPerticipants{
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: -moz-use-text-color -moz-use-text-color #e5e5e5;
    border-image: none;
    border-style: none none solid;
    border-width: 0 0 1px;
    color: #D3043A;
    display: block;
    font-size: 21px;
    line-height: 40px;
    margin-bottom: 20px;
    padding: 0;
    width: 100%;
    margin-top: 25px;
    text-transform: uppercase;
}

.btn-addParticipant{
    margin-bottom: 30px;
    margin-top: 30px;
}

.participant{
    padding-top: 10px;
    padding-right: 10px;
}

.participant{
    border-top:1px solid #dddddd;
    padding: 20px;
}

.participant:nth-child(odd){
    background-color: #f9f9f9;
}

.listDates{
    background-color: #efefef;
    border: 1px solid #c0bfbf;
    padding: 10px;
    margin-bottom: 5px;
}


/* ---- Interest Modal ---- */
.interest-modal{
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
}

.interest-modal__accent{
    height: 5px;
    background: linear-gradient(90deg, #D3043A, #a00230);
}

.interest-modal__close{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    background: #f2f2f2;
    border: none;
    font-size: 1.1rem;
    color: #555;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    cursor: pointer;
}

.interest-modal__close:hover{
    background: #D3043A;
    color: #fff;
}

.interest-modal .modal-body{
    padding: 2rem 2.5rem 2.5rem;
}

/* ---- Interest Content ---- */
.interest-content__header{
    text-align: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #eee;
}

.interest-content__icon{
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #faf5f6;
    color: #D3043A;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.interest-content__header h2{
    color: #333;
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: .4rem;
}

.interest-content__subtitle{
    color: #D3043A;
    font-weight: 600;
    font-size: 1.05rem;
    margin-bottom: .5rem;
    font-style: italic;
}

.interest-content__desc{
    color: #666;
    font-size: .92rem;
    margin-bottom: 0;
}

/* ---- Interest Form ---- */
.interest-content__form label{
    font-weight: 600;
    font-size: .85rem;
    color: #555;
    margin-bottom: .25rem;
}

.interest-content__form .form-control{
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: .6rem .85rem;
    transition: border-color .2s, box-shadow .2s;
}

.interest-content__form .form-control:focus{
    border-color: #D3043A;
    box-shadow: 0 0 0 3px rgba(211,4,58,.1);
}

.interest-content__form .form-check-label{
    font-weight: 400;
    font-size: .82rem;
    color: #666;
}

.interest-submit-btn{
    padding: .65rem 2.5rem;
    border-radius: 8px;
    font-weight: 600;
}

/* ---- Orateur Modal (keep existing close style) ---- */
#orateurModal .closeModal{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 25px;
    background: #D3043A;
    border-bottom-left-radius: 5px;
    color: #fff;
    z-index: 9;
}

.alert ul{
    list-style: none;
    padding-left: 0;
}

.menu_languages{
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: bold;
    padding-left: 0;
    text-align: right;
}

.menu_languages li{
    display: inline;
    padding-right: 10px;
}
.menu_languages li a
{
    color: inherit;
}
.menu_languages li.active a{
    color: #D3043A;
}

/* ---- Error 404 page ---- */
.error-page{
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}

.error-page__card{
    text-align: center;
    max-width: 480px;
}

.error-page__code{
    font-size: 8rem;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(180deg, #D3043A 0%, #3E3D40 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 16px;
}

.error-page__title{
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
}

.error-page__text{
    font-size: 1rem;
    color: #777;
    margin-bottom: 32px;
}

.error-page__btn{
    padding: 12px 32px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
}