.announcement-bar {
    background: var(--ann-bg);
    color: var(--ann-color);
    padding: 10px 0;
    overflow: hidden;
    position: relative;
    z-index: 1001;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}
.announcement-container-full {
    width: 100%;
}
.marquee {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
}
.marquee-content {
    display: flex;
    animation: marquee var(--ann-speed) linear infinite;
}
.announcement-item {
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
}
.announcement-separator {
    display: inline-flex;
    align-items: center;
    width: 20px;
    height: 20px;
    margin: 0 5px;
}
.announcement-separator svg,
.announcement-item svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    color: currentColor;
}
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.carousel {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
}
.carousel-content {
    flex: 1;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
}
.carousel-content::-webkit-scrollbar {
    display: none;
}
.carousel-item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 40px; /* Space for arrows */
    min-height: 20px;
}
.carousel-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    background: transparent;
    border: none;
    color: currentColor;
    width: 40px;
    padding: 0;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: all 0.2s;
}
.carousel-arrow:hover {
    opacity: 1;
}
.carousel-arrow.prev {
    left: 0;
}
.carousel-arrow.next {
    right: 0;
}
.carousel-arrow svg {
    width: 20px;
    height: 20px;
}
.carousel-icon {
    display: flex;
    align-items: center;
    width: 18px;
    height: 18px;
}
.carousel-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}
.carousel-text {
    white-space: nowrap;
}
