/* CaritoAlly — painel de acessibilidade da Info4RT Design Criativo (esboço de 24/10/2026, no dba.info4rt.com).
   Faz por conta própria o que o Ally do Elementor cobra: ajustes de leitura para o visitante, guardados no navegador.
   Cor e posição saem das variáveis abaixo; o resto não depende do site. */
:root{--caritoally-cor:#B82853;--caritoally-cor-esc:#931F42;--caritoally-fundo:#141413;--caritoally-texto:#fff;--caritoally-lado:16px;--caritoally-base:16px}

/* botão flutuante e painel: blindados contra o próprio modo de contraste, filtros e fontes */
.caritoally-botao{position:fixed;left:var(--caritoally-lado);bottom:var(--caritoally-base);z-index:2147483000;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:2px solid #fff;background:var(--caritoally-cor);color:var(--caritoally-sobre,#fff);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35);transition:transform .2s,background .2s;padding:0}
.caritoally-botao:hover,.caritoally-botao:focus-visible{transform:scale(1.07);background:var(--caritoally-cor-esc)}
.caritoally-botao:focus-visible{outline:3px solid #fff;outline-offset:3px}
.caritoally-botao svg{width:30px;height:30px}
.caritoally-painel{position:fixed;left:var(--caritoally-lado);bottom:calc(var(--caritoally-base) + 68px);z-index:2147483001;width:min(400px,calc(100vw - 32px));max-height:min(78vh,720px);overflow:auto;background:var(--caritoally-fundo);color:var(--caritoally-texto);border:1px solid rgba(255,255,255,.16);border-top:4px solid var(--caritoally-cor);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.5);font:400 16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;padding:18px}
.caritoally-painel[hidden]{display:none}
.caritoally-painel *{box-sizing:border-box;font-family:inherit;letter-spacing:0;text-transform:none}
.caritoally-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.caritoally-cab h2{margin:0;font-size:20px;font-weight:700;color:#fff}
.caritoally-fecha{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:22px;cursor:pointer;padding:0}
.caritoally-fecha:hover,.caritoally-fecha:focus-visible{background:var(--caritoally-cor);border-color:var(--caritoally-cor);color:var(--caritoally-sobre,#fff)}
.caritoally-texto{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin-bottom:12px;border-radius:8px;background:rgba(255,255,255,.06)}
.caritoally-texto span{font-weight:600}
.caritoally-texto div{display:flex;align-items:center;gap:8px}
.caritoally-texto button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-weight:700;font-size:16px;cursor:pointer;padding:0}
.caritoally-texto button:hover,.caritoally-texto button:focus-visible{background:var(--caritoally-cor);border-color:var(--caritoally-cor);color:var(--caritoally-sobre,#fff)}
.caritoally-texto output{min-width:52px;text-align:center;font-weight:700}
.caritoally-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.caritoally-op{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:84px;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;text-align:left;font-size:15px;font-weight:600;cursor:pointer}
.caritoally-op svg{width:24px;height:24px;flex:none}
.caritoally-op:hover,.caritoally-op:focus-visible{border-color:var(--caritoally-cor)}
.caritoally-op[aria-pressed=true]{background:var(--caritoally-cor);border-color:var(--caritoally-cor);color:var(--caritoally-sobre,#fff)}
.caritoally-op:focus-visible,.caritoally-texto button:focus-visible,.caritoally-fecha:focus-visible,.caritoally-pe button:focus-visible,.caritoally-pe a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.caritoally-pe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.caritoally-pe button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-weight:600;cursor:pointer}
.caritoally-pe a{color:#fff;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.caritoally-nota{margin:10px 0 0;font-size:14px;color:rgba(255,255,255,.72)}
.caritoally-pular{position:fixed;left:16px;top:-80px;z-index:2147483002;padding:12px 18px;border-radius:6px;background:var(--caritoally-cor);color:var(--caritoally-sobre,#fff);font:700 16px/1 system-ui,Arial,sans-serif;text-decoration:none;transition:top .2s}
.caritoally-pular:focus{top:16px;outline:3px solid #fff}

/* ---- os ajustes (classes no <html>) ---- */
html.caritoally-legivel body *:not(.caritoally-painel):not(.caritoally-painel *):not(svg):not(svg *){font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif !important;font-style:normal !important;text-transform:none !important;font-weight:400 !important;letter-spacing:.01em !important}
html.caritoally-legivel body :is(h1,h2,h3,h4,h5,h6,b,strong):not(.caritoally-painel *){font-weight:700 !important}
html.caritoally-linhas body *:not(.caritoally-painel *){line-height:1.9 !important}
html.caritoally-letras body *:not(.caritoally-painel *){letter-spacing:.12em !important;word-spacing:.16em !important}
html.caritoally-esquerda body *:not(.caritoally-painel *){text-align:left !important}
html.caritoally-links body a:not(.caritoally-painel *){text-decoration:underline !important;text-decoration-thickness:3px !important;text-underline-offset:4px !important;outline:2px dashed #FFD500 !important;outline-offset:2px}
html.caritoally-titulos body :is(h1,h2,h3,h4,h5,h6):not(.caritoally-painel *){outline:3px solid #FFD500 !important;outline-offset:4px;background-color:rgba(0,0,0,.55) !important}
html.caritoally-foco *:focus,html.caritoally-foco *:focus-visible{outline:4px solid #FFD500 !important;outline-offset:3px !important;box-shadow:0 0 0 8px #000 !important}
html.caritoally-imagens body :is(img,picture,video,svg[role=img]):not(.caritoally-painel *){opacity:0 !important}
html.caritoally-imagens body *:not(.caritoally-painel *){background-image:none !important}
html.caritoally-imagens body *::before,html.caritoally-imagens body *::after{background-image:none !important}
html.caritoally-pausa *,html.caritoally-pausa *::before,html.caritoally-pausa *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.caritoally-cursor,html.caritoally-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3l30 18-13 3 8 16-6 3-8-16-11 9z' fill='%23000' stroke='%23fff' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3,auto !important}
html.caritoally-contraste body *:not(img):not(svg):not(svg *):not(video):not(.caritoally-painel):not(.caritoally-painel *):not(.caritoally-botao):not(.caritoally-botao *){background-color:#000 !important;color:#fff !important;border-color:#fff !important;text-shadow:none !important;box-shadow:none !important}
html.caritoally-contraste body a:not(.caritoally-painel *),html.caritoally-contraste body a *:not(.caritoally-painel *){color:#FFD500 !important}
html.caritoally-contraste body *::before,html.caritoally-contraste body *::after{opacity:.25}
html.caritoally-contraste body{background:#000 !important}
html.caritoally-cinza body>*:not(.caritoally-painel):not(.caritoally-botao):not(.caritoally-guia):not(.caritoally-mascara){filter:grayscale(1)}
html.caritoally-saturacao body>*:not(.caritoally-painel):not(.caritoally-botao):not(.caritoally-guia):not(.caritoally-mascara){filter:saturate(.35)}
html.caritoally-cinza.caritoally-saturacao body>*:not(.caritoally-painel):not(.caritoally-botao){filter:grayscale(1)}
/* guia e máscara de leitura */
.caritoally-guia{position:fixed;left:0;right:0;height:12px;margin-top:-6px;z-index:2147482999;pointer-events:none;background:#FFD500;border-top:2px solid #000;border-bottom:2px solid #000;opacity:.85}
.caritoally-mascara{position:fixed;left:0;right:0;z-index:2147482998;pointer-events:none;background:rgba(0,0,0,.72)}
@media (max-width:600px){.caritoally-op{min-height:72px;font-size:14px}.caritoally-botao{width:52px;height:52px}}
@media print{.caritoally-botao,.caritoally-painel,.caritoally-guia,.caritoally-mascara,.caritoally-pular{display:none !important}}
/* lado direito, quando o canto esquerdo já tem dono (WhatsApp, cookies) */
.caritoally-na-direita .caritoally-botao,.caritoally-na-direita .caritoally-painel{left:auto;right:var(--caritoally-lado)}
/* página da declaração (criada pelo instalar.py da skill caritoally): herda fonte e cor do site */
.caritoally-decl{max-width:760px;margin:0 auto;padding:clamp(48px,8vw,120px) 20px;font-family:var(--caritoally-decl-texto,inherit);color:var(--caritoally-decl-cor,inherit);background:var(--caritoally-decl-fundo,transparent);box-shadow:0 0 0 100vmax var(--caritoally-decl-fundo,transparent);clip-path:inset(0 -100vmax)}
.caritoally-decl :is(h1,h2,p,li,a){color:inherit}
.caritoally-decl a{text-decoration:underline;text-underline-offset:3px}
.caritoally-decl :is(h1,h2){font-family:var(--caritoally-decl-titulo,inherit)}
.caritoally-decl h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:0 0 .6em}
.caritoally-decl h2{font-size:clamp(1.25rem,2vw,1.6rem);margin:1.8em 0 .5em;padding-left:14px;border-left:4px solid var(--caritoally-cor)}
.caritoally-decl p,.caritoally-decl li{font-size:1.0625rem;line-height:1.65;text-wrap:pretty}
.caritoally-decl .caritoally-decl-abre{margin-top:2em;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:var(--caritoally-cor);color:var(--caritoally-sobre,#fff);font:700 1rem/1 inherit;cursor:pointer}
