.idm-marquee-wrapper {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
    background: transparent;
    user-select: none;
    font-family: var(--idm-font-family, inherit);
    font-size: var(--idm-font-size, 30px);
    font-weight: var(--idm-font-weight, 400);
    color: var(--idm-font-color, #000);
    padding: 15px 0;
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    box-sizing: border-box;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 1024px) {
    .idm-marquee-wrapper {
        font-size: var(--idm-font-size-tablet, 24px);
    }
}

@media (max-width: 768px) {
    .idm-marquee-wrapper {
        font-size: var(--idm-font-size-mobile, 18px);
    }
}

/* Breakout of container to be truly 100% window width */
.idm-marquee-wrapper.idm-full-window {
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.idm-marquee-content {
    display: flex;
    white-space: nowrap;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    flex-shrink: 0;
    align-items: center;
    line-height: 1;
    /* Ensure tight bounding box for better vertical centering */
}

.idm-marquee-item {
    display: flex;
    align-items: center;
    padding: 0;
    /* Removed padding to rely on separator margins */
    white-space: nowrap;
}

/* Outline Text Style */
.idm-outline-text .idm-item-text,
.idm-outline-text .idm-item-link {
    -webkit-text-stroke: 1px var(--idm-font-color, #000);
    color: transparent !important;
}

.idm-outline-text .idm-item-link:hover {
    -webkit-text-stroke: 1px var(--idm-link-hover-color, #f00);
    color: transparent !important;
}

.idm-item-link,
.idm-item-text {
    color: var(--idm-link-color, #00f);
    text-decoration: none;
    white-space: nowrap;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.idm-item-link:hover {
    color: var(--idm-link-hover-color, #f00);
    text-decoration: none;
}

.idm-item-text {
    color: var(--idm-font-color, #000);
}

.idm-item-separator {
    margin: 0 40px;
    /* Balanced margins for perfect centering */
    opacity: 0.6;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}