.custom-check{
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
    user-select:none;
    color:rgba(255,255,255,.8);
    font-size:.9rem;
}

.custom-check input{
    display:none;
}

.checkmark{
    width:22px;
    height:22px;
    border-radius:6px;
    border:2px solid #d4a23c;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
    position:relative;
}
.terms-text {
    font-size: 0.95rem;
}

@media (max-width: 576px) {
    .terms-text {
        font-size: 0.78rem; /* Ajuste selon ton besoin */
        line-height: 1.3;
    }
}
@media (max-width: 576px) {
    .terms-text,
    .terms-text a {
        font-size: 0.78rem;
    }
}
.custom-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.terms-text {
    line-height: 1.4;
}

@media (max-width: 576px) {
    .terms-text,
    .terms-text a {
        font-size: 12px;
        line-height: 1.3;
    }
}

.custom-check input:checked + .checkmark{
    background:#d4a23c;
}


.custom-check input:checked + .checkmark::after{
    content:"✓";
    color:#000;
    font-weight:900;
}


.terms-text a{
    color:#d4a23c;
    text-decoration:none;
}


.terms-text a:hover{
    text-decoration:underline;
}


#register_btn:disabled{
    opacity:.5;
    cursor:not-allowed;
}

@media (max-width: 768px) {

    .swal-title {
        font-size: 18px !important;
    }

    .swal-text {
        font-size: 14px !important;
    }

    .swal-button {
        font-size: 12px !important;
        padding: 8px 12px !important;
    }

}

.pagination {
    gap: 5px;
}

.pagination .page-item .page-link {
    background-color: #1f1f1f;
    border: 1px solid #444;
    color: #d4a23c;
    border-radius: 6px;
}

.pagination .page-item .page-link:hover {
    background-color: #d4a23c;
    color: #000;
    border-color: #d4a23c;
}

.pagination .page-item.active .page-link {
    background-color: #d4a23c;
    border-color: #d4a23c;
    color: #000;
}

.pagination .page-item.disabled .page-link {
    background-color: #111;
    color: #666;
}

.logo-nav{
    width:44px;
    height:44px;
    border-radius:8px;
}

.navbar-toggler{
    color:white;
    font-size:2rem;
}

@media (max-width: 991px){

    .brand-1{
        font-size:1rem;
    }

    .brand-2{
        font-size:.75rem;
        letter-spacing:4px;
    }

    .logo-nav{
        width:36px;
        height:36px;
    }

    .navbar-collapse{
        margin-top:15px;
        padding:15px;
        border-radius:16px;
        background:rgba(20,20,20,.95);
        backdrop-filter:blur(10px);
    }

    .navbar-nav{
        width:100%;
        gap:10px;
    }

    .navbar-nav .btn{
        width:100%;
        justify-content:center;
        padding:12px;
        border-radius:14px;
    }
}
@media (max-width: 768px){
    .hero-eyebrow{
        font-size: 0.6rem !important;
        color: white !important;
    }

    .hero-eyebrow i{
        font-size: 0.6rem !important;
    }
}
@media (max-width: 576px){
    .hero h1{
        font-size: 1.8rem;
        line-height: 1.2;
    }
}
@media (max-width: 576px){
    .hero-description{
        font-size: 0.9rem;
        line-height: 1.4;
    }
}
@media (max-width: 768px){

    .hero-slogan{
        font-size: 1rem;
        margin-bottom: 1rem !important;
    }

    .hero-text{
        font-size: 0.9rem;
        line-height: 1.5;
        margin-bottom: 1.25rem !important;
    }

}
@media (max-width: 768px){

    .hero .d-flex.flex-wrap.gap-2 a.btn{
        width: 100%;
        display: flex;
        justify-content: center;
    }

}
@media (max-width: 768px){
    .hero .btn{
        font-size: 0.85rem;
        padding: 10px 14px;
    }
}
.hero{
    margin-bottom: 0 !important;
}

#missions{
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#missions .container{
    padding-top: 0 !important;
}
#missions h2{
    font-size: clamp(1.3rem, 4vw, 2rem);
    line-height: 1.3;
}
#investir{
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#investir .container{
    padding-top: 0 !important;
}
#investir h2{
    font-size: clamp(1.3rem, 4vw, 2rem);
    line-height: 1.3;
}
@media (max-width: 991px){

    /* centre toute la row */
    #investir .row{
        text-align: center;
    }

    /* centre image */
    #investir .journal-cover-wrap{
        display: flex;
        justify-content: center;
    }

    #investir .journal-cover-wrap img{
        max-width: 280px;
        width: 100%;
    }

    /* centre bouton */
    #investir .d-flex{
        justify-content: center;
    }

}
@media (max-width: 768px){

    #investir table{
        font-size: 0.85rem;
    }

    #investir th,
    #investir td{
        text-align: center;
        white-space: nowrap;
    }
}
@media (max-width: 576px){
    .ranking-cta .btn{
        font-size: 0.8rem;
        padding: 8px 12px;
    }
}
#videos{
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#videos .container{
    padding-top: 0 !important;
}
.iko{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
@media (max-width: 768px){

    .videos-title{
        font-size: 1.2rem;
    }

    .videos-text{
        font-size: 0.9rem;
        line-height: 1.4;
    }

    #videos .btn{
        font-size: 0.85rem;
        padding: 10px 14px;
    }
}

body{
    height:100%;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.footer-custom{
    margin-top:auto;
    padding:60px 0;
}

.footer-custom{
    padding: 60px 0;
    background: linear-gradient(180deg, rgba(0,0,0,.9), rgba(10,10,10,1));
    border-top: 1px solid rgba(255,255,255,.08);
}

.footer-custom .footer-contact li{
    margin-bottom: 6px;
    color: rgba(255,255,255,.7);
}
@media (max-width: 768px){

    .footer-custom{
        padding: 40px 15px;
        text-align: center;
    }

    .footer-custom strong{
        font-size: 0.95rem;
    }

    .footer-custom .text-muted-2{
        font-size: 0.85rem;
    }

    .footer-custom .footer-contact{
        font-size: 0.85rem;
    }
}

.footer-custom a{
    transition: 0.3s ease;
}

.footer-custom a:hover{
    opacity: 0.8;
    transform: translateY(-2px);
}
.footer-inline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    flex-wrap:wrap;
}

.footer-inline p{
    margin-bottom:0;
}

@media (max-width: 768px){

    .footer-inline{
        flex-direction:column;
        text-align:center;
        gap:15px;
    }
}
.score-card{
    background:linear-gradient(135deg,#1b1c24,#2f2417);
    border:1px solid rgba(212,162,60,.3);
    border-radius:30px;
    padding:40px;
    text-align:center;
}

.score-icon{
    font-size:5rem;
    color:#d4a23c;
}

.big-score{
    font-size:6rem;
    font-weight:900;
    color:#d4a23c;
    line-height:1;
}

.mini-stat{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:20px;
}

.mini-stat h3{
    color:#d4a23c;
    font-weight:700;
}

.podium{
    border-radius:25px;
    padding:30px;
    text-align:center;
    height:100%;
    transition:.3s;
}

.podium:hover{
    transform:translateY(-10px);
}

.first{
    background:linear-gradient(135deg,#d4a23c,#f4d889);
    color:#000;
}

.second{
    background:#24242c;
    color:#fff;
}

.third{
    background:#3b2a1a;
    color:#fff;
}

.podium-rank{
    font-size:4rem;
    margin-bottom:15px;
}

.podium-score{
    font-size:2.5rem;
    font-weight:800;
}

.table-dark{
    background:transparent;
}

.table-dark td,
.table-dark th{
    padding:18px;
}

.table-warning{
    font-weight:bold;
}

@media(max-width:768px){

    .big-score{
        font-size:4rem;
    }

    .score-card{
        padding:25px;
    }

    .podium{
        margin-bottom:20px;
    }
}

.otp-wrapper{
    display:flex;
    justify-content:center;
    gap:12px;
}

.otp-input{
    width:60px;
    height:65px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:16px;
    background:rgba(255,255,255,.04);
    color:#fff;
    text-align:center;
    font-size:1.8rem;
    font-weight:700;
    outline:none;
    transition:.3s;
}

.otp-input:focus{
    border-color:#d4a23c;
    box-shadow:0 0 0 4px rgba(212,162,60,.15);
    transform:translateY(-2px);
}

@media (max-width:576px){

    .otp-wrapper{
        gap:8px;
    }

    .otp-input{
        width:45px;
        height:55px;
        font-size:1.4rem;
        border-radius:12px;
    }
}
.password-toggle{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    border:none;
    background:transparent;
    color:rgba(255,255,255,.6);
    cursor:pointer;
    font-size:1.1rem;
}

.password-toggle:hover{
    color:#d4a23c;
}

.form-control{
    padding-right:50px;
}
.toast-wrapper {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.toast-modern {
    min-width: 280px;
    max-width: 350px;
    padding: 14px 16px;
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;

    backdrop-filter: blur(10px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);

    transform: translateX(120%);
    animation: slideIn 0.4s ease forwards;
}

.toast-modern.success {
    background: linear-gradient(135deg, #1ecb81, #12a36b);
}

.toast-modern.error {
    background: linear-gradient(135deg, #ff4d4d, #c92a2a);
}

.toast-modern.info {
    background: linear-gradient(135deg, #4dabf7, #1c7ed6);
}

.toast-icon {
    font-size: 18px;
}

.toast-close {
    margin-left: auto;
    cursor: pointer;
    opacity: 0.7;
}

.toast-close:hover {
    opacity: 1;
}

@keyframes slideIn {
    to {
        transform: translateX(0);
    }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        transform: translateX(120%);
    }
}

