.consent-banner{
    position:fixed;
    z-index:9999;
    left:50%;
    bottom:16px;
    width:min(1040px,calc(100% - 32px));
    box-sizing:border-box;
    display:none;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px 24px;
    align-items:center;
    padding:15px 17px;
    transform:translateX(-50%);
    border:1px solid #d9e2ec;
    border-radius:15px;
    background:rgba(255,255,255,.98);
    color:#243b53;
    box-shadow:0 16px 42px rgba(16,42,67,.16);
    backdrop-filter:blur(12px);
}
.consent-banner.is-visible{display:grid}
.consent-copy{min-width:0}
.consent-copy strong{display:block;margin-bottom:3px;color:#102a43;font-size:14px}
.consent-copy p{display:inline;margin:0;color:#627d98;font-size:12px;line-height:1.45}
.consent-copy a{margin-left:7px;color:#1f5a94;font-size:11px;font-weight:750;text-underline-offset:3px}
.consent-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.consent-actions button,.consent-settings button{
    min-height:38px;
    border:1px solid #cbd7e2;
    border-radius:999px;
    background:#fff;
    color:#1f5a94;
    cursor:pointer;
    font:inherit;
    font-size:11px;
    font-weight:800;
    padding:9px 14px;
    white-space:nowrap;
}
.consent-actions button:hover,.consent-actions button:focus-visible,.consent-settings button:hover,.consent-settings button:focus-visible{border-color:#1f5a94;outline:2px solid rgba(31,90,148,.15)}
.consent-actions .consent-accept{border-color:#1f5a94;background:#1f5a94;color:#fff}
.consent-actions .consent-configure{border-color:transparent;padding-inline:9px}
.consent-settings{
    grid-column:1/-1;
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-top:12px;
    border-top:1px solid #e6edf3;
}
.consent-settings.is-open{display:flex}
.consent-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;color:#243b53;font-size:12px;line-height:1.4}
.consent-option input{width:18px;height:18px;margin:0;accent-color:#1f5a94}
.consent-option small{display:block;color:#7b8da1;font-size:10px}
.consent-settings .consent-save{border-color:#c8743c;background:#c8743c;color:#fff}
.consent-manage{
    position:fixed;
    z-index:9997;
    right:14px;
    bottom:12px;
    border:1px solid #d9e2ec;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#627d98;
    box-shadow:0 6px 18px rgba(16,42,67,.1);
    cursor:pointer;
    font:inherit;
    font-size:10px;
    font-weight:800;
    padding:8px 11px;
}
.consent-banner.is-visible+.consent-manage{display:none}
@media(max-width:760px){
    .consent-banner{bottom:8px;width:calc(100% - 16px);grid-template-columns:1fr;gap:12px;padding:14px}
    .consent-actions{display:grid;grid-template-columns:1fr 1fr}
    .consent-actions button{width:100%;padding-inline:9px}
    .consent-actions .consent-configure{grid-column:1/-1;min-height:30px}
    .consent-settings{align-items:stretch;flex-direction:column}
    .consent-settings button{width:100%}
    .consent-copy a{display:inline-block;margin-left:4px}
}
@media(prefers-reduced-motion:no-preference){
    .consent-banner.is-visible{animation:consent-rise .22s ease-out both}
    @keyframes consent-rise{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
}

