.ev-consent-banner[hidden],
.ev-consent-modal[hidden]{
    display:none!important;
}

.ev-consent-banner{
    position:fixed;
    z-index:2147483000;
    left:0;
    right:0;
    bottom:0;
    padding:16px;
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
}

.ev-consent-banner.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.ev-consent-card{
    width:min(100%,960px);
    margin:0 auto;
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    border:1px solid #dde4e9;
    border-radius:18px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 60px rgba(23,32,51,.18);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    color:#172033;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.ev-consent-copy{
    min-width:0;
}

.ev-consent-kicker{
    margin-bottom:4px;
    color:#16865d;
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ev-consent-copy h2,
.ev-consent-modal-card h2{
    margin:0;
    color:#172033;
    font-size:1.08rem;
    line-height:1.25;
    font-weight:850;
}

.ev-consent-copy p{
    max-width:620px;
    margin:6px 0 0;
    color:#5e6979;
    font-size:.86rem;
    line-height:1.48;
}

.ev-consent-copy a,
.ev-consent-policy-link{
    color:#16865d;
    font-weight:700;
    text-decoration:none;
}

.ev-consent-copy a:hover,
.ev-consent-policy-link:hover{
    text-decoration:underline;
}

.ev-consent-actions{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

.ev-consent-btn{
    min-height:40px;
    padding:9px 14px;
    border-radius:10px;
    border:1px solid transparent;
    font:inherit;
    font-size:.86rem;
    font-weight:800;
    line-height:1;
    cursor:pointer;
}

.ev-consent-btn-primary{
    background:#16865d;
    border-color:#16865d;
    color:#fff;
}

.ev-consent-btn-primary:hover,
.ev-consent-btn-primary:focus-visible{
    background:#11704e;
    border-color:#11704e;
}

.ev-consent-btn-secondary{
    background:#fff;
    border-color:#d4dce3;
    color:#273246;
}

.ev-consent-btn-secondary:hover,
.ev-consent-btn-secondary:focus-visible{
    border-color:#9eabb8;
    background:#f7f9fa;
}

.ev-consent-btn-link{
    min-height:34px;
    padding:6px 7px;
    border:0;
    background:transparent;
    color:#687386;
}

.ev-consent-btn-link:hover,
.ev-consent-btn-link:focus-visible{
    color:#16865d;
    text-decoration:underline;
}

.ev-consent-modal{
    position:fixed;
    inset:0;
    z-index:2147483100;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    opacity:0;
    transition:opacity .16s ease;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.ev-consent-modal.is-visible{
    opacity:1;
}

.ev-consent-backdrop{
    position:absolute;
    inset:0;
    background:rgba(12,19,31,.48);
}

.ev-consent-modal-card{
    position:relative;
    z-index:1;
    width:min(100%,620px);
    max-height:min(88vh,760px);
    overflow:auto;
    padding:24px;
    border-radius:20px;
    border:1px solid #dde4e9;
    background:#fff;
    box-shadow:0 24px 80px rgba(12,19,31,.28);
    color:#172033;
}

.ev-consent-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:17px;
    border-bottom:1px solid #e8edf1;
}

.ev-consent-close{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dce3e8;
    border-radius:10px;
    background:#fff;
    color:#687386;
    font-size:1.5rem;
    line-height:1;
    cursor:pointer;
}

.ev-consent-close:hover,
.ev-consent-close:focus-visible{
    color:#172033;
    border-color:#aeb9c4;
}

.ev-consent-option{
    padding:18px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-bottom:1px solid #edf0f3;
}

.ev-consent-option strong,
.ev-consent-ad-note strong{
    display:block;
    margin-bottom:4px;
    font-size:.94rem;
}

.ev-consent-option p,
.ev-consent-ad-note p{
    margin:0;
    color:#687386;
    font-size:.84rem;
    line-height:1.48;
}

.ev-consent-always{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    background:#edf7f2;
    color:#16865d;
    font-size:.72rem;
    font-weight:800;
}

.ev-consent-switch{
    position:relative;
    flex:0 0 auto;
    width:48px;
    height:28px;
    cursor:pointer;
}

.ev-consent-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.ev-consent-switch span{
    position:absolute;
    inset:0;
    border-radius:999px;
    background:#cad2da;
    transition:background .16s ease;
}

.ev-consent-switch span::after{
    content:"";
    position:absolute;
    width:22px;
    height:22px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 8px rgba(23,32,51,.22);
    transition:transform .16s ease;
}

.ev-consent-switch input:checked + span{
    background:#16865d;
}

.ev-consent-switch input:checked + span::after{
    transform:translateX(20px);
}

.ev-consent-switch input:focus-visible + span{
    outline:3px solid rgba(22,134,93,.24);
    outline-offset:2px;
}

.ev-consent-ad-note{
    margin-top:18px;
    padding:14px 15px;
    border-radius:13px;
    border:1px solid #e4e9ee;
    background:#f7f9fb;
}

.ev-consent-modal-actions{
    margin-top:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.ev-consent-policy-link{
    font-size:.82rem;
}

html.ev-consent-modal-open,
html.ev-consent-modal-open body{
    overflow:hidden;
}

.ev-cookie-settings-btn{
    padding:0;
    border:0;
    background:transparent;
    color:#526071;
    font:inherit;
    font-size:.82rem;
    font-weight:650;
    cursor:pointer;
}

.ev-cookie-settings-btn:hover,
.ev-cookie-settings-btn:focus-visible{
    color:#16865d;
    text-decoration:underline;
}

@media(max-width:760px){
    .ev-consent-banner{
        padding:10px;
    }

    .ev-consent-card{
        padding:17px;
        align-items:stretch;
        flex-direction:column;
        gap:15px;
        border-radius:16px;
    }

    .ev-consent-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .ev-consent-btn{
        min-height:44px;
    }

    .ev-consent-btn-link{
        grid-column:1/-1;
        min-height:34px;
    }

    .ev-consent-modal{
        align-items:flex-end;
        padding:8px;
    }

    .ev-consent-modal-card{
        width:100%;
        max-height:92vh;
        border-radius:18px;
        padding:20px;
    }

    .ev-consent-option{
        align-items:flex-start;
    }

    .ev-consent-modal-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .ev-consent-modal-actions .ev-consent-btn{
        width:100%;
    }
}
