/* Sale strip (every page) and sale graphic (homepage). Only present while a sale or its announcement is live. */
.sale-strip {
    position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 0.55rem 2.6rem 0.55rem 1rem;
    background: linear-gradient(90deg, #7a0f1f, #b3122a 40%, #7a0f1f);
    border-bottom: 1px solid rgba(255, 215, 0, 0.5);
    color: #fff; text-align: center; font-size: 0.92rem; line-height: 1.4;
}
.sale-strip--teaser { background: linear-gradient(90deg, #14305c, #1f4e8f 40%, #14305c); }
.sale-strip-link { color: #fff; text-decoration: none; }
.sale-strip-link:hover { text-decoration: underline; }
.sale-strip-cta { color: #ffd700; font-weight: 700; white-space: nowrap; }
.sale-strip-preview { background: #ffd700; color: #000; font-weight: 800; font-size: 0.7rem; padding: 0.1rem 0.4rem; border-radius: 4px; vertical-align: middle; }
.sale-strip-close {
    position: absolute; right: 0.6rem; top: 50%; transform: translateY(-50%);
    background: none; border: 0; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; opacity: 0.8; padding: 0.2rem 0.4rem;
}
.sale-strip-close:hover { opacity: 1; }

.sale-hero { display: block; width: min(1100px, calc(100% - 2rem)); margin: 1.25rem auto 0; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 34px rgba(0, 0, 0, 0.55); }
.sale-hero img { display: block; width: 100%; height: auto; }
#sale-hero-slot:empty { display: none; }

@media (max-width: 600px) {
    .sale-strip { font-size: 0.82rem; padding-right: 2.2rem; }
}
