@charset "utf-8";
/* CSS Document */
/* =========================================================
   NIGHTPROWL — STICKY OFFER BAR
   ========================================================= */

.np-offer-bar{
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:9998;

    max-width:1180px;
    margin:0 auto;

    border:1px solid rgba(255,255,255,.12);
    border-radius:26px;

    background:
        radial-gradient(circle at 85% 0%, rgba(242,213,154,.18), transparent 28%),
        linear-gradient(135deg, rgba(144,0,0,.98), rgba(109,34,44,.98) 65%, rgba(65,21,28,.98));

    box-shadow:
        0 24px 70px rgba(45,13,19,.26),
        0 4px 18px rgba(45,13,19,.14);

    color:#fff;

    transform:translateY(calc(100% + 40px));
    opacity:0;

    transition:
        transform .45s cubic-bezier(.22,.8,.24,1),
        opacity .35s ease,
        padding .3s ease,
        border-radius .3s ease;

    overflow:hidden;
}

.np-offer-bar.is-visible{
    transform:translateY(0);
    opacity:1;
}

.np-offer-bar:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.04),
            transparent 35%,
            rgba(255,255,255,.025)
        );
}

.np-offer-bar-inner{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:22px;

    min-height:108px;
    padding:20px 22px;
}

.np-offer-bar-brand{
    display:flex;
    align-items:center;
    justify-content:center;

    width:110px;
    padding-right:22px;

    border-right:1px solid rgba(255,255,255,.14);
}

.np-offer-bar-brand img{
    display:block;
    width:100px;
    max-width:100%;
    height:auto;
}

.np-offer-bar-copy{
    min-width:0;
}

.np-offer-bar-kicker{
    display:block;

    margin-bottom:5px;

    color:#f2d59a;

    font-size:10px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.np-offer-bar-title{
    display:block;

    margin:0 0 5px;

    font-family:Georgia, "Times New Roman", serif;
    font-size:22px;
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.025em;

    color:#fff;
}

.np-offer-bar-text{
    margin:0;

    max-width:650px;

    color:rgba(255,255,255,.72);

    font-size:13px;
    line-height:1.45;
}

.np-offer-bar-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    min-height:54px;

    padding:0 12px 0 22px;

    border-radius:999px;

    background:#fff;
    color:#6d222c;

    font-size:12px;
    font-weight:900;
    white-space:nowrap;

    box-shadow:0 12px 30px rgba(31,7,12,.16);

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.np-offer-bar-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 38px rgba(31,7,12,.22);
}

.np-offer-bar-arrow{
    display:grid;
    place-items:center;

    width:36px;
    height:36px;

    flex:0 0 36px;

    border-radius:50%;

    background:#f8e5e2;
    color:#900000;

    font-size:15px;
}

.np-offer-bar-close{
    display:grid;
    place-items:center;

    width:38px;
    height:38px;

    padding:0;

    border:0;
    border-radius:50%;

    background:rgba(255,255,255,.09);
    color:rgba(255,255,255,.8);

    cursor:pointer;

    font-size:21px;
    line-height:1;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.np-offer-bar-close:hover{
    background:rgba(255,255,255,.16);
    color:#fff;
    transform:rotate(4deg);
}


/* =========================================================
   COMPACT MODE AFTER SCROLL
   ========================================================= */

.np-offer-bar.is-compact .np-offer-bar-inner{
    min-height:68px;
    padding-top:10px;
    padding-bottom:10px;
}

.np-offer-bar.is-compact .np-offer-bar-brand{
    width:90px;
}

.np-offer-bar.is-compact .np-offer-bar-brand img{
    width:82px;
}

.np-offer-bar.is-compact .np-offer-bar-text,
.np-offer-bar.is-compact .np-offer-bar-kicker{
    display:none;
}

.np-offer-bar.is-compact .np-offer-bar-title{
    margin:0;
    font-size:17px;
}

.np-offer-bar.is-compact .np-offer-bar-cta{
    min-height:46px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:720px){

    .np-offer-bar{
        left:10px;
        right:10px;
        bottom:10px;

        border-radius:22px;
    }

    .np-offer-bar-inner{
        position:relative;

        display:grid;
        grid-template-columns:1fr;
        gap:12px;

        min-height:0;
        padding:18px;
    }

    .np-offer-bar-brand{
        display:none;
    }

    .np-offer-bar-copy{
        padding-right:38px;
    }

    .np-offer-bar-kicker{
        margin-bottom:6px;
        font-size:9px;
    }

    .np-offer-bar-title{
        font-size:20px;
        line-height:1.08;
    }

    .np-offer-bar-text{
        max-width:none;
        font-size:12px;
        line-height:1.42;
    }

    .np-offer-bar-cta{
        width:100%;

        min-height:50px;

        justify-content:space-between;

        padding-left:18px;
    }

    .np-offer-bar-close{
        position:absolute;
        top:13px;
        right:13px;

        width:34px;
        height:34px;
    }


    /* compact mobile */

    .np-offer-bar.is-compact .np-offer-bar-inner{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;

        gap:10px;

        min-height:62px;
        padding:10px 10px 10px 15px;
    }

    .np-offer-bar.is-compact .np-offer-bar-copy{
        padding:0;
    }

    .np-offer-bar.is-compact .np-offer-bar-title{
        font-family:Arial, Helvetica, sans-serif;
        font-size:12px;
        line-height:1.3;
        font-weight:800;
    }

    .np-offer-bar.is-compact .np-offer-bar-cta{
        width:auto;

        min-height:42px;

        padding:0 7px 0 14px;

        font-size:10px;
    }

    .np-offer-bar.is-compact .np-offer-bar-arrow{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .np-offer-bar.is-compact .np-offer-bar-close{
        display:none;
    }
}
