/* BLACK FRIDAY strip above the fixed Munfarid navigation; shown only during the campaign. */
:root {
    --fm-bf-height: 56px;
}

body.fm-bf-active {
    margin-top: calc(150px + var(--fm-bf-height));
}

body.fm-bf-active .navbar.fixed-top {
    top: var(--fm-bf-height) !important;
}

.fm-bf-strip {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1100;
    width: 100%;
    height: var(--fm-bf-height);
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(115deg, #111115 0%, #262329 50%, #111115 100%);
    border-bottom: 2px solid #ffd741;
    color: #fff;
    font-family: inherit;
}

.fm-bf-strip__fixed {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    white-space: nowrap;
    padding: 6px 18px;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 7px;
    background: #141419;
    box-shadow: 0 2px 15px rgb(0 0 0 / 28%);
}

.fm-bf-strip__countdown {
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .5px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.fm-bf-strip__code {
    padding-left: 14px;
    border-left: 1px solid rgb(255 255 255 / 24%);
    color: #ffd741;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: 1.1px;
    line-height: 1.25;
}

.fm-bf-strip__code .fa-tag {
    display: inline-block;
    margin-right: 5px;
    font-size: .85em;
    vertical-align: 1px;
}

.fm-bf-strip__ribbon {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 50%;
    display: flex;
    align-items: center;
    width: max-content;
    max-width: none;
    height: 44px;
    padding: 0 25px;
    border-radius: 3px;
    background: #ffd741;
    color: #111115;
    box-shadow: 0 3px 20px rgb(0 0 0 / 35%);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .8px;
    line-height: 1;
    white-space: nowrap;
    transform: translate(-100%, -50%);
    animation: fm-bf-cross-screen 14s linear infinite;
    animation-delay: -4s;
    will-change: transform;
}

.fm-bf-strip__ribbon strong {
    margin-left: .4em;
    font-weight: 900;
}

@keyframes fm-bf-cross-screen {
    0%   { transform: translate(-100%, -50%); }
    100% { transform: translate(100vw, -50%); }
}

.fm-bf-toast[hidden] {
    display: none !important;
}

.fm-bf-toast {
    position: fixed;
    z-index: 1200;
    right: 18px;
    top: calc(var(--fm-bf-height) + 14px);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: min(370px, calc(100vw - 36px));
    padding: 16px 14px 16px 17px;
    border: 1px solid #414049;
    border-left: 5px solid #ffd741;
    border-radius: 9px;
    background: #1b1b21;
    color: white;
    box-shadow: 0 14px 36px rgb(0 0 0 / 25%);
    animation: fm-bf-toast-enter .3s ease-out both;
}

.fm-bf-toast__symbol {
    flex: 0 0 auto;
    color: #ffd741;
    font-size: 24px;
    line-height: 1.15;
}

.fm-bf-toast__text {
    flex: 1;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
}

.fm-bf-toast__close {
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #ddd;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.fm-bf-toast__close:hover,
.fm-bf-toast__close:focus-visible {
    background: #35353b;
    color: white;
}

@keyframes fm-bf-toast-enter {
    from { opacity: 0; transform: translateY(-12px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
    :root { --fm-bf-height: 48px; }

    .fm-bf-strip__fixed {
        gap: 9px;
        padding: 5px 11px;
    }

    .fm-bf-strip__countdown {
        font-size: 15px;
    }

    .fm-bf-strip__code {
        padding-left: 9px;
        font-size: 16px;
    }

    .fm-bf-strip__ribbon {
        height: 38px;
        padding: 0 15px;
        font-size: 15px;
        letter-spacing: .2px;
    }

    .fm-bf-toast {
        right: 10px;
        top: calc(var(--fm-bf-height) + 10px);
        width: min(340px, calc(100vw - 20px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .fm-bf-strip__ribbon {
        animation-duration: 35s;
    }
    .fm-bf-toast {
        animation: none;
    }
}

/* Bez bliknutí pásu mimo datum akce, včetně stránek z cache. */
.fm-bf-strip[hidden] {
    display: none !important;
}
