.hotsale-hero {
    width: 100%;
    margin: 0 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hotsale-hero--align-left    { align-items: flex-start; text-align: left; }
.hotsale-hero--align-center  { align-items: center;     text-align: center; }
.hotsale-hero--align-right   { align-items: flex-end;   text-align: right; }

.hotsale-hero__banner {
    width: 100%;
}

.hotsale-hero__banner picture,
.hotsale-hero__banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.hotsale-hero__countdown-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.hotsale-hero__countdown-label {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-primary-700, #3A3DA6);
}

.hotsale-hero__countdown {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--color-primary-600, #5559C6);
    color: #fff;
    border-radius: 8px;
    font-feature-settings: "tnum" 1;
}

.hotsale-hero__unit {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    min-width: 3.25rem;
    line-height: 1;
}

.hotsale-hero__unit span[data-unit] {
    font-size: 1.75rem;
    font-weight: 700;
}

.hotsale-hero__unit small {
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 0.25rem;
    opacity: 0.85;
}

.hotsale-hero__sep {
    font-size: 1.5rem;
    font-weight: 700;
    opacity: 0.6;
    transform: translateY(-0.4rem);
}

.hotsale-hero__ended {
    font-size: 1rem;
    font-weight: 600;
}

.hotsale-hero__countdown[aria-live]:has(.hotsale-hero__ended:not([hidden])) .hotsale-hero__unit,
.hotsale-hero__countdown[aria-live]:has(.hotsale-hero__ended:not([hidden])) .hotsale-hero__sep {
    display: none;
}

@media (max-width: 768px) {
    .hotsale-hero__countdown {
        gap: 0.25rem;
        padding: 0.5rem 0.75rem;
    }

    .hotsale-hero__unit {
        min-width: 2.5rem;
    }

    .hotsale-hero__unit span[data-unit] {
        font-size: 1.25rem;
    }

    .hotsale-hero__sep {
        font-size: 1rem;
        transform: translateY(-0.3rem);
    }
}
