/* Existing theme tokens supply both automatic appearances. No new palette. */
.jcf-privacy{font-family:var(--font-sans);color:var(--text);font-size:1rem;line-height:1.55}
.jcf-privacy [hidden]{display:none!important}
.jcf-privacy h2{margin:0;color:var(--text);font-size:1.2rem;font-weight:650;line-height:1.3;letter-spacing:-.015em}
.jcf-privacy p{margin:.65rem 0 0;font-size:.9375rem;line-height:1.55;color:var(--text-secondary,var(--text))}
/* 0.1.10: aviso inicial = card discreto no canto inferior direito. */
.jcf-privacy__banner{position:fixed;z-index:10000;right:1rem;bottom:1rem;left:auto;top:auto;width:min(22.5rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1rem 1.125rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.875rem;border:1px solid var(--field-border);border-radius:.875rem;background:var(--surface);box-shadow:var(--shadow,var(--decorative-shadow))}
.jcf-privacy__copy{min-width:0;max-width:47rem}
.jcf-privacy__actions{display:flex;flex-wrap:wrap;gap:.625rem;align-items:center}
.jcf-privacy button{font:inherit;font-size:.875rem;font-weight:600;line-height:1.35;min-height:2.75rem;padding:.7rem 1rem;border:1px solid var(--field-border);border-radius:.6rem;background:var(--surface);color:var(--text);cursor:pointer;text-align:center;touch-action:manipulation}
.jcf-privacy button:hover{background:var(--notice-fill,var(--surface));border-color:var(--accent)}
.jcf-privacy :is(button,a,input):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.jcf-privacy a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}
.jcf-privacy__links{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem}
.jcf-privacy__links a{padding-block:.25rem}
/* 0.1.7: Gerenciar fica no parágrafo de links (ordem DOM = ordem visual = ordem de foco). */
.jcf-privacy__banner .jcf-privacy__links{align-items:center}
.jcf-privacy .jcf-privacy__banner .jcf-privacy__links button{min-height:2.75rem;padding:.25rem .125rem;border:0;background:transparent;color:var(--accent);font-weight:400;font-size:inherit;text-decoration:underline;text-underline-offset:.2em}
.jcf-privacy .jcf-privacy__banner .jcf-privacy__links button:hover{background:transparent;text-decoration-thickness:2px}
.jcf-privacy__banner h2{font-size:1rem}
.jcf-privacy .jcf-privacy__banner p{font-size:.8125rem;line-height:1.5;margin-top:.4rem}
.jcf-privacy .jcf-privacy__banner .jcf-privacy__links{gap:0 .9rem;margin-top:.25rem}
.jcf-privacy .jcf-privacy__banner .jcf-privacy__links :is(a,button){display:inline-flex;align-items:center;min-height:2.75rem;font-size:.8125rem}
/* Aceitar e Recusar: mesmo estilo, mesma largura (sem dark pattern). */
.jcf-privacy__banner .jcf-privacy__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}
.jcf-privacy__banner .jcf-privacy__actions button{padding-inline:.5rem}
.jcf-privacy__dialog{position:fixed;inset:0;width:min(36rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;margin:auto;padding:1.5rem;border:1px solid var(--field-border);border-radius:1rem;background:var(--surface);color:var(--text);box-shadow:var(--shadow,var(--decorative-shadow))}
.jcf-privacy__dialog::backdrop{background:var(--bg);opacity:.72}
.jcf-privacy__dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.jcf-privacy .jcf-privacy__close{flex:none;width:2.75rem;padding:.25rem;font-size:1.5rem;font-weight:400}
.jcf-privacy__categories{display:grid;margin-block:1.25rem;gap:.75rem}
.jcf-privacy__category{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--field-fill,var(--surface));cursor:pointer}
.jcf-privacy__category input{appearance:auto;flex:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0;accent-color:var(--accent);cursor:pointer}
.jcf-privacy__category input:disabled{cursor:default;opacity:1}
.jcf-privacy__category strong{display:block;color:var(--text);font-size:1rem;font-weight:650}
.jcf-privacy__category span span{display:block;margin-top:.35rem;font-size:.9rem;color:var(--text-secondary,var(--text))}
.jcf-privacy__category-group{border:1px solid var(--border);border-radius:.75rem;background:var(--field-fill,var(--surface))}
.jcf-privacy__category-group>.jcf-privacy__category{border:0;background:transparent}
.jcf-privacy__personalization{display:flex;align-items:flex-start;gap:.9rem;margin:0 1rem 1rem 2rem;padding-top:.8rem;border-top:1px solid var(--border);cursor:pointer}
.jcf-privacy__personalization input{appearance:auto;flex:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0;accent-color:var(--accent)}
.jcf-privacy__personalization input:disabled{cursor:default}
.jcf-privacy__personalization strong{font-size:.9375rem;font-weight:600}
.jcf-privacy__personalization span span{display:block;margin-top:.35rem;color:var(--text-secondary,var(--text));font-size:.875rem}
.jcf-privacy__dialog .jcf-privacy__actions{margin-top:1.25rem}
/* 0.1.10: link de reabertura no fluxo (fallback quando o rodapé não tem a lista Legal). */
.jcf-privacy__entry{max-width:75rem;margin:0 auto;padding:.5rem 1rem 1rem;font-size:.8125rem}
.jcf-privacy .jcf-privacy__entry a{display:inline-flex;align-items:center;min-height:2.75rem;color:inherit}
.jcf-privacy__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.jcf-privacy__banner{right:.5rem;left:.5rem;bottom:.5rem;width:auto;max-height:calc(100dvh - 1rem);padding:.875rem 1rem;gap:.625rem}.jcf-privacy__dialog{padding:1rem}.jcf-privacy__dialog .jcf-privacy__actions{display:grid;grid-template-columns:1fr}.jcf-privacy__category{padding:.85rem}.jcf-privacy h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.jcf-privacy *{scroll-behavior:auto;transition:none;animation:none}}
@media(prefers-contrast:more){.jcf-privacy :is(button,.jcf-privacy__category,.jcf-privacy__banner,.jcf-privacy__dialog){border-color:var(--text)}}
