/* A contained, repeating promotion rail; the page itself never overflows. */
html body .promotion-strip {
    display: flex;
    container-type: inline-size;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
    background: linear-gradient(105deg, var(--brand-navy), var(--brand-accent));
    color: var(--shop-block-light-text);
}
html body .promotion-strip__link {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    align-items: center;
    color: inherit;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
}
html body .promotion-strip__track {
    display: flex;
    width: max-content;
    animation: promotion-strip-scroll 32s linear infinite;
}
html body .promotion-strip__group {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-around;
    box-sizing: border-box;
    min-width: calc(100cqw - 44px);
    min-height: 40px;
    gap: 28px;
    padding-inline: 20px;
    white-space: nowrap;
}
html body .promotion-strip__group strong { font-weight: 700; letter-spacing: .04em; }
html body .promotion-strip__dot { color: var(--brand-lavender); }
html body .promotion-strip__cta { font-weight: 600; }
html body .promotion-strip__cta > span { margin-inline-start: 6px; }
html body .promotion-strip__pause {
    display: inline-flex;
    flex: 0 0 44px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-inline-start: 1px solid color-mix(in srgb, var(--shop-block-light-text) 25%, transparent);
    background: transparent;
    color: inherit;
    cursor: pointer;
}
html body .promotion-strip__play-icon { display: none; }
html body .promotion-strip[data-paused] .promotion-strip__pause-icon { display: none; }
html body .promotion-strip[data-paused] .promotion-strip__play-icon { display: block; }
html body .promotion-strip:is(:hover, :focus-within, [data-paused]) .promotion-strip__track { animation-play-state: paused; }
html body .promotion-strip :focus-visible { outline: 2px solid var(--shop-block-light-text); outline-offset: -3px; }
@keyframes promotion-strip-scroll { to { transform: translateX(-50%); } }
@media (max-width: 1024px) {
    html body .promotion-strip { width: 90%; margin-inline: auto; }
}
@media (max-width: 640px) {
    html body .promotion-strip { width: 95%; margin-inline: auto; }
    html body .promotion-strip__link { font-size: 13px; }
    html body .promotion-strip__group { gap: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    html body .promotion-strip__track { width: 100%; animation: none; }
    html body .promotion-strip__group { min-width: 0; width: 100%; flex-wrap: wrap; justify-content: center; gap: 4px 14px; padding: 8px 12px; white-space: normal; text-align: center; }
    html body .promotion-strip__group + .promotion-strip__group,
    html body .promotion-strip__dot,
    html body .promotion-strip__pause { display: none; }
}
