/* Animated SALE border around product variation pricing */
.sale-size-frame {
    position: relative;
    max-width: 640px;
    margin: 10px auto 1.5rem;
    padding: 28px;
}

.sale-size-frame__content {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.97);
    border: 3px solid #dc3545;
    border-radius: 10px;
    padding: 1rem 0.75rem;
    box-shadow: 0 0 0 2px #fff, 0 0 20px rgba(220, 53, 69, 0.35);
}

.sale-size-frame__rail {
    position: absolute;
    background: #dc3545;
    color: #fff;
    overflow: hidden;
    z-index: 2;
    pointer-events: none;
}

.sale-size-frame__rail span {
    display: inline-block;
    white-space: nowrap;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    animation: sale-border-marquee 12s linear infinite;
}

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

.sale-size-frame__rail--top,
.sale-size-frame__rail--bottom {
    left: 0;
    right: 0;
    height: 28px;
    line-height: 28px;
}

.sale-size-frame__rail--top {
    top: 0;
    border-radius: 10px 10px 0 0;
}

.sale-size-frame__rail--bottom {
    bottom: 0;
    border-radius: 0 0 10px 10px;
}

.sale-size-frame__rail--bottom span {
    animation-direction: reverse;
}

.sale-size-frame__rail--left,
.sale-size-frame__rail--right {
    top: 28px;
    bottom: 28px;
    width: 28px;
}

.sale-size-frame__rail--left {
    left: 0;
}

.sale-size-frame__rail--right {
    right: 0;
}

.sale-size-frame__rail--left span,
.sale-size-frame__rail--right span {
    position: absolute;
    left: 50%;
    top: 0;
    writing-mode: vertical-lr;
    text-orientation: mixed;
    transform: translateX(-50%);
    animation: sale-border-marquee-vertical 12s linear infinite;
}

.sale-size-frame__rail--right span {
    animation-direction: reverse;
}

@keyframes sale-border-marquee-vertical {
    0% { transform: translateX(-50%) translateY(0); }
    100% { transform: translateX(-50%) translateY(-50%); }
}

.sale-size-frame .variation-option {
    max-width: 100%;
}
