/* ==========================================================================
   Custom Tools - Marquee Running Line Announcement Bar
   ========================================================================== */

:root {
    --ct-marquee-bg: #FDFAE7;
    --ct-marquee-color: #54775E;
    --ct-marquee-pill-bg: #F7F4D5;
    --ct-marquee-speed: 28s;
    --ct-marquee-height: 38px;
    --ct-marquee-font-size: 14px;
    --ct-marquee-font-weight: 500;
    --ct-marquee-text-transform: none;
    --ct-marquee-letter-spacing: 0.5px;
}

#custom-tools-marquee-bar {
    width: 100%;
    background-color: var(--ct-marquee-bg, #FDFAE7);
    color: var(--ct-marquee-color, #54775E);
    height: var(--ct-marquee-height, 38px);
    line-height: var(--ct-marquee-height, 38px);
    overflow: hidden;
    position: relative;
    z-index: 99999;
    box-sizing: border-box;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: var(--ct-marquee-font-size, 14px);
    font-weight: var(--ct-marquee-font-weight, 500);
    text-transform: var(--ct-marquee-text-transform, none);
    letter-spacing: var(--ct-marquee-letter-spacing, 0.5px);
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(84, 119, 94, 0.12);
    user-select: none;
    -webkit-user-select: none;
}

#custom-tools-marquee-bar a.ct-marquee-link {
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

#custom-tools-marquee-bar a.ct-marquee-link:hover {
    opacity: 0.85;
    color: inherit;
}

.ct-marquee-inner {
    display: flex;
    width: max-content;
    white-space: nowrap;
    will-change: transform;
}

.ct-marquee-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
    animation: ct-marquee-scroll var(--ct-marquee-speed, 28s) linear infinite;
}

#custom-tools-marquee-bar.ct-pause-on-hover:hover .ct-marquee-track {
    animation-play-state: paused;
}

.ct-marquee-item {
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    flex-shrink: 0;
}

/* Pill badge styling (matching reference design) */
.ct-marquee-pill {
    display: inline-block;
    background-color: var(--ct-marquee-pill-bg, #F7F4D5);
    color: var(--ct-marquee-color, #54775E);
    padding: 3px 18px;
    border-radius: 999px;
    line-height: normal;
    font-weight: var(--ct-marquee-font-weight, 500);
    text-transform: var(--ct-marquee-text-transform, none);
    box-shadow: 0 1px 3px rgba(84, 119, 94, 0.08);
}

.ct-marquee-plain {
    display: inline-block;
    color: var(--ct-marquee-color, #54775E);
    font-weight: var(--ct-marquee-font-weight, 500);
    text-transform: var(--ct-marquee-text-transform, none);
}

/* Separator icon styling */
.ct-marquee-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    margin-right: 4px;
    color: var(--ct-marquee-color, #54775E);
    opacity: 0.85;
    font-size: 0.9em;
}

.ct-marquee-separator svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    display: inline-block;
    vertical-align: middle;
}

.ct-marquee-separator img {
    max-height: 18px;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    object-fit: contain;
}

/* Infinite Marquee Keyframes */
@keyframes ct-marquee-scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-100%, 0, 0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #custom-tools-marquee-bar {
        font-size: 12px !important;
        letter-spacing: 0.5px !important;
        height: 35px;
    }
    
    .ct-marquee-item {
        padding: 0 10px;
    }
    
    .ct-marquee-pill {
        padding: 2px 12px;
    }
    
    .ct-marquee-separator {
        margin-left: 12px;
        margin-right: 2px;
    }
}
