.announcement-ribbon {
    background-color: rgba(192, 122, 92, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #FDFBF7;
    padding: 8px 40px 8px 15px;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
    z-index: 1000;
    font-size: 0.95rem;
    font-weight: 500;
}

html[dir="rtl"] .announcement-ribbon {
    padding: 8px 15px 8px 40px;
}

.ribbon-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.ribbon-text {
    display: inline-block;
    animation: marquee 25s linear infinite;
    padding-left: 100%;
}

html[dir="rtl"] .ribbon-text {
    padding-left: 0;
    padding-right: 100%;
    animation: marquee-rtl 25s linear infinite;
}

.announcement-ribbon:hover .ribbon-text {
    animation-play-state: paused;
}

.close-ribbon-btn {
    background: none;
    border: none;
    color: #FDFBF7;
    font-size: 1.5rem;
    position: absolute;
    right: 15px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

html[dir="rtl"] .close-ribbon-btn {
    right: auto;
    left: 15px;
}

.close-ribbon-btn:hover {
    opacity: 1;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

@keyframes marquee-rtl {
    0% { transform: translateX(0); }
    100% { transform: translateX(100%); }
}
