.nexalegal-consent-root{
    --nla-accent:#087cf4;
    --nla-accent-strong:#0667d6;
    --nla-cyan:#42b8ff;
    --nla-ink:#081625;
    --nla-text:#26384a;
    --nla-muted:#617386;
    --nla-line:#d9e4ef;
    --nla-soft:#f5f9fd;
    --nla-panel:#ffffff;
    position:fixed;
    inset:0;
    z-index:2147483000;
    pointer-events:none;
    font-family:inherit;
    color:var(--nla-ink);
}
.nexalegal-consent-root[hidden],
.nexalegal-consent-banner[hidden],
.nexalegal-consent-settings[hidden],
.nexalegal-privacy-button[hidden]{display:none!important}
.nexalegal-consent-banner,
.nexalegal-consent-settings{pointer-events:auto}
.nexalegal-consent-banner{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    max-width:1120px;
    margin:0 auto;
    padding:22px;
    border:1px solid rgba(8,124,244,.18);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,251,255,.99));
    box-shadow:0 24px 70px rgba(7,24,42,.22),0 1px 0 rgba(255,255,255,.88) inset;
    display:flex;
    gap:22px;
    align-items:center;
    justify-content:space-between;
}
.nexalegal-consent-copy{
    max-width:760px;
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-width:0;
}
.nexalegal-consent-copy-text,
.nexalegal-settings-copy,
.nexalegal-category-copy{min-width:0}
.nexalegal-dialog-icon{
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:1px solid rgba(8,124,244,.2);
    border-radius:13px;
    background:linear-gradient(145deg,rgba(8,124,244,.10),rgba(66,184,255,.05));
    color:var(--nla-accent);
}
.nexalegal-dialog-icon svg,
.nexalegal-privacy-button-icon svg{
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.nexalegal-dialog-icon svg{width:23px;height:23px}
.nexalegal-consent-copy h2,
.nexalegal-settings-panel h2{
    margin:0 0 7px;
    color:var(--nla-ink);
    font-size:clamp(1.25rem,2vw,1.62rem);
    line-height:1.18;
    letter-spacing:-.015em;
}
.nexalegal-consent-copy p,
.nexalegal-settings-panel p{
    margin:0;
    color:var(--nla-text);
    font-size:.97rem;
    line-height:1.55;
}
.nexalegal-gpc-note{
    margin-top:10px!important;
    padding:9px 11px;
    border:1px solid rgba(8,124,244,.18);
    border-radius:10px;
    background:rgba(8,124,244,.06);
    color:#174f84!important;
    font-weight:600;
}
.nexalegal-consent-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
}
.nexalegal-consent-actions .button{
    min-height:42px;
    padding:9px 16px;
    border:1px solid #bdcada;
    border-radius:11px;
    background:#fff;
    color:#17314a;
    box-shadow:0 1px 2px rgba(7,24,42,.04);
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
    transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.nexalegal-consent-actions .button:hover{
    border-color:#8fa8c0;
    background:#f8fbfe;
}
.nexalegal-consent-actions .button:active{transform:translateY(1px)}
.nexalegal-consent-actions .button-primary{
    border-color:var(--nla-accent);
    background:linear-gradient(135deg,var(--nla-accent),var(--nla-accent-strong));
    color:#fff;
    box-shadow:0 7px 18px rgba(8,124,244,.19);
}
.nexalegal-consent-actions .button-primary:hover{
    border-color:#066bd7;
    background:linear-gradient(135deg,#0b84ff,#0667d6);
}
.nexalegal-consent-settings{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    background:rgba(5,14,24,.58);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}
.nexalegal-settings-panel{
    width:min(760px,100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    padding:0;
    border:1px solid rgba(8,124,244,.20);
    border-radius:22px;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    color:var(--nla-ink);
    box-shadow:0 30px 90px rgba(1,12,25,.34),0 1px 0 rgba(255,255,255,.9) inset;
    overscroll-behavior:contain;
}
.nexalegal-settings-header{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
    padding:24px 24px 18px;
    border-bottom:1px solid #edf2f7;
}
.nexalegal-settings-close{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    margin:-3px -3px 0 4px;
    border:1px solid #d8e2ec;
    border-radius:11px;
    background:#fff;
    color:#52677b;
    font:400 26px/1 Arial,sans-serif;
    cursor:pointer;
    transition:border-color .15s ease,color .15s ease,background-color .15s ease;
}
.nexalegal-settings-close:hover{
    border-color:#aebfd0;
    background:#f7fafc;
    color:#18314a;
}
.nexalegal-category-list{
    display:grid;
    gap:11px;
    margin:0;
    padding:18px 24px 22px;
}
.nexalegal-category-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    min-height:76px;
    padding:15px 16px;
    border:1px solid var(--nla-line);
    border-radius:15px;
    background:#fff;
    box-shadow:0 3px 14px rgba(12,35,58,.035);
}
.nexalegal-category-row.is-required{
    border-color:rgba(8,124,244,.19);
    background:linear-gradient(135deg,rgba(8,124,244,.055),rgba(66,184,255,.025));
}
.nexalegal-category-row.is-optional{
    cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
.nexalegal-category-row.is-optional:hover{
    border-color:#b8cce0;
    box-shadow:0 5px 18px rgba(12,35,58,.055);
}
.nexalegal-category-copy{
    display:grid;
    gap:5px;
}
.nexalegal-category-copy strong{
    color:#10273d;
    font-size:15px;
    line-height:1.25;
}
.nexalegal-category-copy small{
    color:var(--nla-muted);
    font-size:13px;
    line-height:1.45;
}
.nexalegal-required-lock{
    display:grid;
    place-items:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border:1px solid rgba(8,124,244,.2);
    border-radius:12px;
    background:rgba(8,124,244,.075);
    color:var(--nla-accent);
}
.nexalegal-required-lock svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.nexalegal-switch{
    position:relative;
    display:inline-grid;
    place-items:center;
    flex:0 0 48px;
    width:48px;
    height:28px;
}
.nexalegal-switch input{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    opacity:0;
    cursor:pointer;
}
.nexalegal-switch-track{
    width:46px;
    height:26px;
    border:1px solid #b8c5d2;
    border-radius:999px;
    background:#dbe3ea;
    box-shadow:inset 0 1px 2px rgba(7,24,42,.08);
    transition:background-color .16s ease,border-color .16s ease;
}
.nexalegal-switch-track:after{
    content:"";
    display:block;
    width:20px;
    height:20px;
    margin:2px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(7,24,42,.20);
    transition:transform .16s ease;
}
.nexalegal-switch input:checked + .nexalegal-switch-track{
    border-color:var(--nla-accent);
    background:var(--nla-accent);
}
.nexalegal-switch input:checked + .nexalegal-switch-track:after{transform:translateX(20px)}
.nexalegal-switch input:focus-visible + .nexalegal-switch-track{
    outline:3px solid rgba(8,124,244,.28);
    outline-offset:3px;
}
.nexalegal-settings-actions{
    padding:17px 24px 22px;
    border-top:1px solid #edf2f7;
    background:#fbfdff;
}
.nexalegal-settings-panel[data-nexalegal-has-optional="0"] .nexalegal-category-list{
    padding-top:20px;
    padding-bottom:24px;
}
.nexalegal-settings-panel[data-nexalegal-has-optional="0"] .nexalegal-category-row.is-required{
    min-height:88px;
}
.nexalegal-privacy-button{
    --nla-accent:#087cf4;
    --nla-cyan:#42b8ff;
    position:fixed;
    right:auto;
    left:calc(14px + env(safe-area-inset-left,0px));
    bottom:calc(14px + env(safe-area-inset-bottom,0px));
    z-index:2147482000;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    max-width:min(300px,calc(100vw - 140px));
    min-height:32px;
    padding:4px 10px 4px 5px;
    border:1px solid rgba(8,124,244,.25);
    border-radius:10px;
    background:rgba(5,14,24,.91);
    color:#eff8ff;
    box-shadow:0 5px 15px rgba(0,0,0,.17);
    font-family:inherit;
    font-size:11px;
    font-weight:600;
    line-height:1;
    letter-spacing:0;
    text-align:center;
    white-space:nowrap;
    cursor:pointer;
    opacity:.88;
    transition:opacity .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.nexalegal-privacy-button:hover,
.nexalegal-privacy-button:focus-visible{
    opacity:1;
    border-color:rgba(66,184,255,.56);
    box-shadow:0 7px 18px rgba(0,0,0,.22),0 0 10px rgba(8,124,244,.06);
}
.nexalegal-privacy-button:hover{transform:translateY(-1px)}
.nexalegal-privacy-button-icon{
    display:grid;
    place-items:center;
    flex:0 0 24px;
    width:24px;
    height:24px;
    border:1px solid rgba(66,184,255,.25);
    border-radius:7px;
    background:rgba(8,124,244,.11);
    color:var(--nla-cyan);
}
.nexalegal-privacy-button-icon svg{width:15px;height:15px}
.nexalegal-privacy-button-label{display:block;min-width:0;max-width:238px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nexalegal-consent-root[dir="rtl"],
.nexalegal-privacy-center[dir="rtl"],
.nexalegal-document[dir="rtl"]{
    direction:rtl;
    text-align:right;
}
.nexalegal-consent-root[dir="rtl"] .nexalegal-consent-actions,
.nexalegal-privacy-center[dir="rtl"] .nexalegal-consent-actions{
    flex-direction:row-reverse;
}
.nexalegal-consent-root :focus-visible,
.nexalegal-privacy-button:focus-visible,
.nexalegal-privacy-center :focus-visible{
    outline:3px solid rgba(8,124,244,.45);
    outline-offset:3px;
}
@media(max-width:760px){
    .nexalegal-consent-banner{
        left:10px;
        right:10px;
        bottom:10px;
        padding:17px;
        display:block;
        border-radius:18px;
    }
    .nexalegal-consent-copy{gap:11px}
    .nexalegal-dialog-icon{flex-basis:38px;width:38px;height:38px;border-radius:11px}
    .nexalegal-dialog-icon svg{width:21px;height:21px}
    .nexalegal-consent-copy h2,.nexalegal-settings-panel h2{font-size:1.28rem}
    .nexalegal-consent-copy p,.nexalegal-settings-panel p{font-size:.93rem}
    .nexalegal-consent-actions{
        justify-content:stretch;
        margin-top:16px;
    }
    .nexalegal-consent-actions .button{flex:1 1 145px}
    .nexalegal-consent-settings{padding:10px;align-items:end}
    .nexalegal-settings-panel{
        width:100%;
        max-height:calc(100vh - 20px);
        border-radius:19px;
    }
    .nexalegal-settings-header{
        grid-template-columns:auto minmax(0,1fr) auto;
        gap:11px;
        padding:18px 16px 15px;
    }
    .nexalegal-settings-close{width:36px;height:36px;border-radius:10px}
    .nexalegal-category-list{padding:15px 16px 18px;gap:9px}
    .nexalegal-category-row{min-height:70px;padding:13px 13px;gap:12px;align-items:center}
    .nexalegal-category-copy strong{font-size:14px}
    .nexalegal-category-copy small{font-size:12px}
    .nexalegal-required-lock{flex-basis:35px;width:35px;height:35px;border-radius:10px}
    .nexalegal-settings-actions{padding:14px 16px 17px}
    .nexalegal-privacy-button{
        left:calc(10px + env(safe-area-inset-left,0px));
        bottom:calc(10px + env(safe-area-inset-bottom,0px));
        max-width:min(230px,calc(100vw - 118px));
        min-height:30px;
        padding:3px 8px 3px 4px;
        gap:5px;
        border-radius:9px;
        font-size:10px;
    }
    .nexalegal-privacy-button-icon{flex-basis:22px;width:22px;height:22px;border-radius:6px}
    .nexalegal-privacy-button-icon svg{width:14px;height:14px}
    .nexalegal-privacy-button-label{max-width:184px}
}
@media(prefers-reduced-motion:reduce){
    .nexalegal-consent-root *,
    .nexalegal-privacy-button{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important;
    }
}

.nexalegal-privacy-center{max-width:980px;margin:0 auto;padding:24px 0}.nexalegal-privacy-center-card{border:1px solid rgba(127,127,127,.3);border-radius:14px;padding:20px;margin:18px 0;background:Canvas;color:CanvasText}.nexalegal-dsr-form{display:grid;gap:14px}.nexalegal-dsr-form label{display:grid;gap:6px;font-weight:600}.nexalegal-dsr-form input,.nexalegal-dsr-form select,.nexalegal-dsr-form textarea{width:100%;max-width:680px;padding:10px;border:1px solid rgba(127,127,127,.45);border-radius:8px;background:Canvas;color:CanvasText;font:inherit}.nexalegal-dsr-form .description{font-weight:400}.nexalegal-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.nexalegal-dsr-success,.nexalegal-dsr-warning{padding:12px 14px;border:1px solid rgba(127,127,127,.4);border-radius:10px;margin:12px 0}

/* NexaLegal 1.2.3 privacy center visual refresh */
.nexalegal-privacy-center{
    --npc-accent:#087cf4;
    --npc-ink:#0c2136;
    --npc-text:#31485e;
    --npc-muted:#6a7e92;
    --npc-line:#dce6f0;
    max-width:1040px;
    margin:0 auto;
    padding:38px 20px 56px;
    color:var(--npc-ink);
}
.nexalegal-privacy-center>h1{
    margin:0 0 10px;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
    letter-spacing:-.025em;
    color:var(--npc-ink);
}
.nexalegal-privacy-center>p{
    max-width:760px;
    margin:0 0 28px;
    color:var(--npc-text);
    font-size:1.04rem;
    line-height:1.65;
}
.nexalegal-privacy-center-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--npc-line);
    border-radius:18px;
    padding:24px;
    margin:16px 0;
    background:linear-gradient(180deg,#fff,#fbfdff);
    color:var(--npc-ink);
    box-shadow:0 10px 30px rgba(14,42,70,.055);
}
.nexalegal-privacy-center-card:before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:linear-gradient(180deg,#087cf4,#42b8ff);
    opacity:.72;
}
.nexalegal-privacy-center-card-settings{
    background:linear-gradient(135deg,rgba(8,124,244,.055),rgba(66,184,255,.025) 46%,#fff 100%);
    border-color:rgba(8,124,244,.18);
}
.nexalegal-privacy-center-card h2{
    margin:0 0 8px;
    color:var(--npc-ink);
    font-size:1.22rem;
    line-height:1.25;
}
.nexalegal-privacy-center-card p{
    margin:0 0 14px;
    color:var(--npc-text);
    line-height:1.6;
}
.nexalegal-privacy-center-card .description{
    color:var(--npc-muted);
    font-size:.93rem;
}
.nexalegal-privacy-center .button{
    min-height:42px;
    padding:9px 15px;
    border:1px solid #bdcada;
    border-radius:11px;
    background:#fff;
    color:#17314a;
    box-shadow:0 1px 2px rgba(7,24,42,.04);
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
}
.nexalegal-privacy-center .button:hover{border-color:#91a8be;background:#f8fbfe}
.nexalegal-privacy-center .button-primary{
    border-color:var(--npc-accent);
    background:linear-gradient(135deg,#087cf4,#0667d6);
    color:#fff;
    box-shadow:0 7px 18px rgba(8,124,244,.16);
}
.nexalegal-dsr-form{
    display:grid;
    grid-template-columns:minmax(0,760px);
    gap:15px;
    margin-top:18px;
}
.nexalegal-dsr-form label{
    display:grid;
    gap:7px;
    min-width:0;
    color:#19344e;
    font-weight:650;
}
.nexalegal-dsr-form .description,
.nexalegal-dsr-form button,
.nexalegal-dsr-form .nexalegal-hp{grid-column:1}
.nexalegal-dsr-form input,
.nexalegal-dsr-form select,
.nexalegal-dsr-form textarea{
    width:100%;
    max-width:none;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid #c9d6e2;
    border-radius:10px;
    background:#fff;
    color:#14293d;
    font:inherit;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.nexalegal-dsr-form input:focus,
.nexalegal-dsr-form select:focus,
.nexalegal-dsr-form textarea:focus{
    border-color:#087cf4;
    box-shadow:0 0 0 3px rgba(8,124,244,.11);
    outline:none;
}
.nexalegal-dsr-form textarea{resize:vertical;min-height:130px}
.nexalegal-dsr-form .description{font-weight:400;color:var(--npc-muted)}
.nexalegal-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.nexalegal-dsr-success,.nexalegal-dsr-warning{
    padding:13px 15px;
    border:1px solid #cddae6;
    border-radius:11px;
    margin:12px 0;
    background:#f8fbfe;
}
@media(max-width:700px){
    .nexalegal-privacy-center{padding:28px 14px 42px}
    .nexalegal-privacy-center-card{padding:19px;border-radius:15px}
    .nexalegal-dsr-form{grid-template-columns:1fr}
    .nexalegal-dsr-form label,
    .nexalegal-dsr-form .description,
    .nexalegal-dsr-form button{grid-column:1}
}
