.promo-banner {
    background: linear-gradient(135deg, #F29400 0%, #ff6b35 100%);
    color: white;
    padding: 3px 0;
    font-size: 0.9rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1051; /* Au-dessus de la navbar Bootstrap */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    animation: slideDown 0.5s ease-out;
    /* Caché par défaut pour éviter le flash */
    display: none;
}

.promo-banner.show {
    display: block;
}

.promo-banner.hidden {
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

.promo-banner .d-flex {
    min-height: 34px;
}

.promo-text {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    color: black;
    font-size: 1.2em;
}

.promo-link {
    color: white;
    text-decoration: underline;
    font-weight: bold;
}

.promo-link:hover {
    color: #fff;
    text-decoration: none;
}

.btn-close-promo {
    background: none;
    border: none;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
    top: 50%;
    transform: translateY(-50%);
}

.btn-close-promo:hover {
    background-color: rgba(255,255,255,0.2);
}

/* Position par défaut de la navbar (sans bandeau) */
.navbar {
    top: 0;
    transition: top 0.3s ease;
}

/* Position de la navbar quand le bandeau est affiché */
.navbar.with-banner {
    top: 40px;
}

/* Position du body par défaut */
body {
    padding-top: 0px;
    transition: padding-top 0.3s ease;
}

/* Position du body quand le bandeau est affiché */
body.with-banner {
    padding-top: 40px;
}

/* Tablettes en mode portrait et petits écrans */
@media (max-width: 768px) {
    .promo-banner {
        font-size: 0.8rem;
        padding: 0;
    }
    .promo-text {
        flex-direction: column;
        gap: 5px;
    }
    .btn-close-promo {
        position: static;
        transform: none;
        margin-top: 8px;
        align-self: flex-end;
    }

    .promo-banner .d-flex {
        flex-direction: column;
        align-items: center;
    }    
    
    .navbar.with-banner {
        top: 123px; 
    }
    
    body.with-banner {
        padding-top: 179px; 
    }
}