/* BLS — «Баннер над меню». См. docs/tz_banner_nad_menu.md, макет docs/html-templates/BLS Главная.html (.promo) */

.bls-promo {
    position: relative;
    overflow: hidden;
    background: #271b19;
    color: #d9d1cb;
    font-family: 'Golos Text', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.4;
}
.bls-promo[hidden] {
    display: none;
}
/* Золотой перелив поверх фона; содержимое лежит выше (z-index: 1). */
.bls-promo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        transparent 0%, #c3a55f 20%, #f3dc9a 30%, #c3a55f 40%,
        transparent 55%, transparent 65%, #e3c77a 80%, transparent 100%);
    background-size: 250% 100%;
    opacity: .21;
    animation: bls-promo-shine 8s ease-in-out infinite alternate;
    pointer-events: none;
}
@keyframes bls-promo-shine {
    from { background-position: 0% 50%; }
    to   { background-position: 100% 50%; }
}
@media (prefers-reduced-motion: reduce) {
    .bls-promo::before { animation: none; }
}
.bls-promo__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    padding: 12px 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
    flex-wrap: wrap;
    text-align: center;
}
.bls-promo__txt {
    text-wrap: pretty;
}
.bls-promo__txt b {
    color: #fff;
    font-weight: 600;
}
.bls-promo__sep {
    color: #6b5d54;
    margin: 0 6px;
}
.bls-promo__cd {
    font-variant-numeric: tabular-nums;
    color: #fff;
    white-space: nowrap;
}
.bls-promo a.bls-promo__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eb732d;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.4;
    padding: 9px 18px;
    white-space: nowrap;
    text-decoration: none;
    transition: background .2s;
}
.bls-promo a.bls-promo__cta:hover {
    background: #d4621f;
    color: #fff;
}
.bls-promo__close {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: transparent;
    color: #8a7d74;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    font-family: inherit;
}
.bls-promo__close:hover {
    color: #fff;
}

@media (max-width: 720px) {
    .bls-promo__inner {
        padding: 10px 44px 12px 16px;
        font-size: 13px;
    }
    .bls-promo__when {
        display: none;
    }
}
