.novaro-cookie-banner{

    position:fixed;

    left:24px;

    right:24px;

    bottom:24px;

    z-index:10000;

    display:flex;

    justify-content:center;

    opacity:0;

    pointer-events:none;

    transform:translateY(18px);

    transition:
        opacity .24s ease,
        transform .24s ease;

}

.novaro-cookie-banner[hidden]{

    display:none;

}

.novaro-cookie-banner.visible{

    opacity:1;

    pointer-events:auto;

    transform:translateY(0);

}

.novaro-cookie-banner__panel{

    display:grid;

    grid-template-columns:auto minmax(0, 1fr) auto;

    gap:18px;

    align-items:center;

    width:min(100%, 940px);

    padding:18px;

    border:1px solid rgba(2,0,17,.08);

    border-radius:8px;

    background:rgba(255,255,255,.96);

    box-shadow:
        0 18px 60px rgba(2,0,17,.16);

    backdrop-filter:blur(18px);

}

.novaro-cookie-banner__icon{

    display:flex;

    align-items:center;

    justify-content:center;

    width:48px;

    height:48px;

    border-radius:8px;

    background:#fff3e8;

    color:var(--orange);

    font-size:20px;

}

.novaro-cookie-banner__content strong{

    display:block;

    margin-bottom:6px;

    color:var(--black);

    font-size:17px;

    line-height:1.25;

}

.novaro-cookie-banner__content p{

    max-width:620px;

    color:var(--text-light);

    font-size:14px;

    line-height:1.6;

}

.novaro-cookie-banner__content a{

    display:inline-flex;

    margin-top:8px;

    color:var(--orange);

    font-size:14px;

    font-weight:800;

}

.novaro-cookie-banner__content a:hover,
.novaro-cookie-banner__content a:focus-visible{

    text-decoration:underline;

    outline:0;

}

.novaro-cookie-banner__actions{

    display:flex;

    gap:10px;

    align-items:center;

}

.novaro-cookie-banner__button{

    position:relative;

    overflow:hidden;

    min-height:44px;

    padding:0 18px;

    border:1px solid rgba(2,0,17,.08);

    border-radius:8px;

    font-size:14px;

    font-weight:900;

    white-space:nowrap;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;

}

.novaro-cookie-banner__button:active{

    transform:scale(.98);

}

.novaro-cookie-banner__button--secondary{

    background:#fff;

    color:var(--black);

}

.novaro-cookie-banner__button--secondary:hover,
.novaro-cookie-banner__button--secondary:focus-visible{

    border-color:rgba(2,0,17,.18);

    background:#f8f6f3;

    outline:0;

}

.novaro-cookie-banner__button--primary{

    border-color:var(--orange);

    background:var(--button-gradient);

    color:#fff;

    box-shadow:var(--button-shadow);

}

.novaro-cookie-banner__button--primary::before{

    content:'';

    position:absolute;

    top:0;

    left:-120%;

    width:70%;

    height:100%;

    background:
        linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);

    transform:skewX(-20deg);

    transition:left .75s ease;

    pointer-events:none;

}

.novaro-cookie-banner__button--primary:hover::before,
.novaro-cookie-banner__button--primary:focus-visible::before{

    left:150%;

}

.novaro-cookie-banner__button--primary:hover,
.novaro-cookie-banner__button--primary:focus-visible{

    border-color:#d96f11;

    transform:translateY(-3px);

    box-shadow:var(--button-shadow-hover);

    outline:0;

}

@media(max-width:760px){

    .novaro-cookie-banner{

        left:14px;

        right:14px;

        bottom:14px;

    }

    .novaro-cookie-banner__panel{

        grid-template-columns:1fr;

        gap:14px;

        padding:16px;

    }

    .novaro-cookie-banner__icon{

        display:none;

    }

    .novaro-cookie-banner__actions{

        display:grid;

        grid-template-columns:1fr;

        width:100%;

    }

    .novaro-cookie-banner__button{

        width:100%;

    }

}
