/* Caminhada do Rosário — Camada de acessibilidade */
.cr-skip-link{position:fixed;left:14px;top:10px;z-index:1000000;transform:translateY(-160%);background:#111;color:#fff!important;padding:12px 16px;border-radius:10px;font:800 14px/1.2 Arial,sans-serif;text-decoration:none!important;box-shadow:0 6px 22px rgba(0,0,0,.3)}
.cr-skip-link:focus{transform:translateY(0);outline:3px solid #ffd34e;outline-offset:2px}

.cr-a11y{position:fixed;left:18px;bottom:18px;z-index:999990;font-family:Inter,Arial,sans-serif;color:#282438}
.cr-a11y *{box-sizing:border-box}
.cr-a11y-trigger{min-height:48px;border:0;border-radius:999px;padding:8px 16px 8px 9px;display:flex;align-items:center;gap:9px;background:#3f3563;color:#fff;font-weight:900;font-size:13px;box-shadow:0 12px 32px rgba(31,24,51,.28);cursor:pointer}
.cr-a11y-trigger-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#3f3563;font-size:18px}
.cr-a11y-trigger:hover{background:#30274f}
.cr-a11y-panel{position:absolute;left:0;bottom:60px;width:min(380px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 105px));overflow:auto;background:#fff;border:1px solid #ded7e9;border-radius:20px;box-shadow:0 24px 80px rgba(28,21,45,.28);padding:16px}
.cr-a11y-panel[hidden]{display:none!important}
.cr-a11y-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #eee9f4;padding-bottom:13px;margin-bottom:13px}
.cr-a11y-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.cr-a11y-head strong{font:800 19px/1.2 Georgia,serif;color:#3f3563}.cr-a11y-head small{font-size:11px;line-height:1.4;color:#6c6676}
.cr-a11y-close{width:38px;height:38px;border:1px solid #e3ddec;background:#f8f6fb;border-radius:10px;color:#4d4560;font-size:26px;line-height:1;cursor:pointer}
.cr-a11y-label{display:block;font-size:11px;font-weight:900;letter-spacing:.05em;color:#5d557f;margin-bottom:8px}.cr-a11y-group{padding:2px 0 13px}
.cr-a11y-font-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.cr-a11y-font-controls button{min-height:44px;border:1px solid #d9d1e5;background:#faf9fc;border-radius:11px;color:#3f3563;font-size:17px;font-weight:900;cursor:pointer}.cr-a11y-font-controls button:hover{background:#eee9f7}.cr-a11y-font-status{display:block;margin-top:7px;font-size:10px;color:#716b79}
.cr-a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #eee9f4;padding-top:13px}.cr-a11y-grid button{min-height:54px;border:1px solid #ddd6e7;background:#fff;border-radius:12px;padding:8px 9px;text-align:left;color:#40384f;font-weight:750;font-size:11px;display:flex;align-items:center;gap:8px;cursor:pointer}.cr-a11y-grid button>span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#f2eef8;color:#5d557f;font-weight:900;flex:0 0 auto}.cr-a11y-grid button[aria-pressed="true"]{background:#423761;color:#fff;border-color:#423761}.cr-a11y-grid button[aria-pressed="true"]>span{background:#fff;color:#423761}
.cr-a11y-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.cr-a11y-actions>button{min-height:66px;border:1px solid #ddd6e7;background:linear-gradient(145deg,#f7f4fb,#fff);border-radius:13px;padding:9px;display:flex;align-items:center;gap:8px;text-align:left;color:#40384f;cursor:pointer}.cr-a11y-actions>button>span:first-child{font-size:23px}.cr-a11y-actions>button>span:last-child{display:flex;flex-direction:column;gap:1px}.cr-a11y-actions b{font-size:11px}.cr-a11y-actions small{font-size:9px;color:#77707e;line-height:1.25}.cr-a11y-actions>button:hover{border-color:#a99cbe;background:#f4f0fa}.cr-a11y-actions>button.is-speaking{background:#423761;color:#fff}.cr-a11y-actions>button.is-speaking small{color:#e6e0ef}
.cr-a11y-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid #eee9f4}.cr-a11y-bottom>button{border:0;background:transparent;color:#5d557f;font-weight:900;font-size:10px;text-decoration:underline;cursor:pointer}.cr-a11y-bottom small{font-size:9px;color:#827b89}.cr-a11y-bottom kbd{font:700 9px Arial,sans-serif;background:#f0edf5;border:1px solid #d8d1e1;border-bottom-width:2px;border-radius:5px;padding:2px 4px;color:#443c55}
.cr-a11y-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Foco de teclado mais visível em todas as páginas do sistema */
#cr-main-content :focus-visible,.cr-a11y :focus-visible{outline:3px solid #f1b928!important;outline-offset:3px!important}

/* Preferências aplicadas pelo painel */
html.cr-a11y-readable #cr-main-content,html.cr-a11y-readable #cr-main-content *{font-family:Arial,Helvetica,sans-serif!important}
html.cr-a11y-spacing #cr-main-content p,html.cr-a11y-spacing #cr-main-content li,html.cr-a11y-spacing #cr-main-content label,html.cr-a11y-spacing #cr-main-content input,html.cr-a11y-spacing #cr-main-content select,html.cr-a11y-spacing #cr-main-content textarea{line-height:1.9!important;letter-spacing:.025em!important;word-spacing:.08em!important}
html.cr-a11y-links #cr-main-content a{color:#103f9e!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;background:#fff4a8!important;box-shadow:0 0 0 2px #fff4a8!important}
html.cr-a11y-grayscale #cr-main-content{filter:grayscale(1)!important}
html.cr-a11y-motion #cr-main-content *,html.cr-a11y-motion #cr-main-content *::before,html.cr-a11y-motion #cr-main-content *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Alto contraste: preserva imagens, mas torna texto, formulários e superfícies essenciais muito contrastantes. */
html.cr-a11y-contrast body,html.cr-a11y-contrast #cr-main-content,html.cr-a11y-contrast #cr-main-content .cr-site{background:#000!important;color:#fff!important}
html.cr-a11y-contrast #cr-main-content :where(section,header,footer,nav,article,aside,div,form){border-color:#fff!important}
html.cr-a11y-contrast #cr-main-content :where(p,span,small,strong,b,h1,h2,h3,h4,h5,h6,label,li,td,th){color:#fff!important;text-shadow:none!important}
html.cr-a11y-contrast #cr-main-content :where(.cr-card,.cr-form-card,.cr-registration-form,.cr-login-card,.crm-card,.crm-panel,.cr-nav,.cr-footer,.cr-page-hero,.cr-section,.cr-form-section){background:#000!important;background-image:none!important;box-shadow:none!important}
html.cr-a11y-contrast #cr-main-content a{color:#ffe600!important;text-decoration:underline!important}
html.cr-a11y-contrast #cr-main-content :where(input,select,textarea){background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.cr-a11y-contrast #cr-main-content :where(button,.cr-btn){background:#ffe600!important;color:#000!important;border:2px solid #fff!important;box-shadow:none!important}
html.cr-a11y-contrast #cr-main-content ::placeholder{color:#d4d4d4!important;opacity:1}
html.cr-a11y-contrast #cr-main-content img{filter:none!important}

@media(max-width:620px){.cr-a11y{left:12px;bottom:12px}.cr-a11y-trigger{min-height:46px;padding-right:13px}.cr-a11y-trigger>span:last-child{font-size:11px}.cr-a11y-panel{left:0;bottom:56px;width:calc(100vw - 24px);max-height:72vh;border-radius:17px;padding:14px}.cr-a11y-grid{grid-template-columns:1fr 1fr}.cr-a11y-actions{grid-template-columns:1fr}.cr-a11y-head strong{font-size:17px}}
@media(max-width:360px){.cr-a11y-grid{grid-template-columns:1fr}.cr-a11y-bottom{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){#cr-main-content *,#cr-main-content *::before,#cr-main-content *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
