.jvconsent{position:fixed;left:0;right:0;z-index:2147483640;font-family:inherit;}
.jvconsent--bottom{bottom:0;} .jvconsent--top{top:0;} .jvconsent--float{right:1rem;left:auto;bottom:1rem;max-width:540px;}
.jvconsent__content{background:var(--jv-bg,#111827);color:var(--jv-text,#F9FAFB);padding:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.jvconsent__intro{max-width:720px;} .jvconsent__intro p{margin:.25rem 0 0 0}
.jv-btn{background:var(--jv-accent,#10B981);color:#fff;padding:.6rem 1rem;border:none;border-radius:.6rem;cursor:pointer;font-weight:600}
.jv-btn--ghost{background:transparent;color:var(--jv-text,#F9FAFB);border:1px solid rgba(255,255,255,.25)} /* Banner (dark) */
.jvconsent__actions{display:flex;gap:.5rem;flex-wrap:wrap}

.jvconsent__modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:2rem;z-index:2147483641}
.jvconsent__modal__box{background:#fff;color:#111;min-width:320px;max-width:720px;width:min(92vw,720px);border-radius:1rem;padding:1.25rem;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.jvconsent__list{list-style:none;padding:0;margin:0}
.jv-toggle{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}
.jv-toggle input{display:none}
.jv-toggle__slider{position:relative;width:46px;height:26px;background:#ddd;border-radius:999px;flex:none}
.jv-toggle__slider:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s}
.jv-toggle input:checked + .jv-toggle__slider{background:var(--jv-accent,#10B981)}
.jv-toggle input:checked + .jv-toggle__slider:after{left:23px}
.jv-toggle__label{display:flex;flex-direction:column}
.jvconsent__modal__footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
/* Modal-only ghost style (text dark) */
.jvconsent__modal .jv-btn--ghost{border-color:rgba(0,0,0,.15);color:#111}

@media (max-width:768px){ .jvconsent--float{left:1rem;right:1rem;max-width:none} .jvconsent__content{flex-direction:column;align-items:flex-start} }

/* Floating reconsent button (FAB) */
.jvconsent-fab{position:fixed;bottom:calc(var(--jv-off,16px) + var(--jv-fab-extra,0px));left:var(--jv-off,16px);width:56px;height:56px;border-radius:999px;background:var(--jv-accent,#10B981);color:#fff;border:none;box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer;font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;z-index:2147483642;transition:transform .12s ease, box-shadow .12s ease}
.jvconsent-fab--br{left:auto;right:var(--jv-off,16px)}
.jvconsent-fab:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.3)}
/* Tooltip label */
.jvconsent-fab::after{content:attr(data-label); position:absolute; bottom:50%; transform:translateY(50%); right:66px; background:rgba(17,24,39,.96); color:#fff; font-size:13px; padding:6px 10px; border-radius:8px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .12s ease, transform .12s ease; box-shadow:0 8px 24px rgba(0,0,0,.25)}
.jvconsent-fab::before{content:''; position:absolute; bottom:50%; transform:translateY(50%); right:56px; border:6px solid transparent; border-left-color:rgba(17,24,39,.96); opacity:0; transition:opacity .12s ease}
.jvconsent-fab:hover::after{opacity:1; transform:translateY(50%)}
.jvconsent-fab:hover::before{opacity:1}

/* FAB Rail (lateral pill) */
.jvconsent-fab--rail{top:50%;bottom:auto;transform:translateY(-50%);height:48px;width:auto;padding:0 14px;border-radius:9999px 0 0 9999px}
.jvconsent-fab--rail[data-side="left"]{left:var(--jv-off,16px);right:auto;border-radius:0 9999px 9999px 0}
.jvconsent-fab--rail[data-side="right"]{right:var(--jv-off,16px);left:auto}

/* Safety */
[hidden]{display:none!important;}
