.accessibility-widget { position:fixed; right:22px; bottom:22px; z-index:9999; font-family:var(--font-body,Inter,sans-serif); }
.accessibility-trigger { display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 16px; border:0; border-radius:999px; background:#2d4a29; color:#fff; box-shadow:0 8px 24px rgba(25,52,31,.24); font:700 13px var(--font-body,Inter,sans-serif); cursor:pointer; transition:transform .2s,background .2s; }
.accessibility-trigger:hover,.accessibility-trigger:focus-visible { background:#4e6e45; transform:translateY(-2px); outline:3px solid rgba(78,110,69,.25); outline-offset:3px; }
.accessibility-trigger i { font-size:20px; }
.accessibility-panel { position:absolute; right:0; bottom:60px; width:min(340px,calc(100vw - 28px)); padding:18px; border:1px solid #d5dfd3; border-radius:18px; background:#fff; color:#1a2e18; box-shadow:0 18px 50px rgba(28,55,32,.2); }
.accessibility-panel[hidden] { display:none; }
.accessibility-panel h2 { margin:0; font:700 20px var(--font-display,Georgia,serif); }
.accessibility-panel p { margin:4px 0 15px; color:#647661; font-size:12px; line-height:1.45; }
.accessibility-options { display:grid; gap:8px; }
.accessibility-option { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:11px 12px; border:1px solid #e0e7df; border-radius:11px; background:#fbfcfa; color:#1a2e18; text-align:left; font:600 13px var(--font-body,Inter,sans-serif); cursor:pointer; }
.accessibility-option:hover,.accessibility-option:focus-visible { border-color:#7ea176; background:#f1f7ef; outline:none; }
.accessibility-option span { display:flex; align-items:center; gap:9px; }
.accessibility-option i { width:20px; color:#4e6e45; font-size:17px; text-align:center; }
.accessibility-option b { min-width:36px; padding:3px 7px; border-radius:999px; background:#e7eee5; color:#587052; font-size:10px; text-align:center; }
.accessibility-option[aria-pressed="true"] { border-color:#4e6e45; background:#e7f0e4; }
.accessibility-option[aria-pressed="true"] b { background:#4e6e45; color:#fff; }
.accessibility-dropdown { display:grid; gap:5px; }
.accessibility-dropdown .accessibility-option { position:relative; }
.access-arrow { width:auto!important; margin-left:auto; color:#587052!important; font-size:12px!important; transition:transform .2s; }
.accessibility-option[aria-expanded="true"] .access-arrow { transform:rotate(180deg); }
.colorblind-options { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px 5px 2px 29px; }
.colorblind-options[hidden] { display:none; }
.colorblind-options button { padding:8px 7px; border:1px solid #e0e7df; border-radius:8px; background:#fff; color:#587052; font:600 11px var(--font-body,Inter,sans-serif); cursor:pointer; }
.colorblind-options button:hover,.colorblind-options button.selected { border-color:#4e6e45; background:#e7f0e4; color:#2d4a29; }
.accessibility-reset { width:100%; margin-top:12px; padding:10px; border:1px solid #d5dfd3; border-radius:10px; background:transparent; color:#587052; font:700 12px var(--font-body,Inter,sans-serif); cursor:pointer; }
.accessibility-reset:hover { background:#f1f7ef; }
html.access-dark { --fundo:#121a15; --fundo-section:#1b2820; --branco:#202c24; --texto-escuro:#f1f6f0; --texto-medio:#c1d0c2; --texto-fraco:#9daf9f; --borda:#3d5143; --verde-escuro:#dcebdd; --verde-principal:#9bc39a; --verde-medio:#acd0a9; --verde-claro:#56745b; --shadow-card:0 2px 18px rgba(0,0,0,.25); }
html.access-dark body { background:#121a15; }
html.access-dark .navbar,html.access-dark .accessibility-panel,html.access-dark .livro-card,html.access-dark .livro-empty,html.access-dark .cart-items,html.access-dark .cart-summary,html.access-dark .checkout-card,html.access-dark .checkout-summary,html.access-dark .payment-success { background:var(--branco); color:var(--texto-escuro); }
html.access-dark .search-box,html.access-dark input,html.access-dark textarea,html.access-dark select { background:#18231c; color:var(--texto-escuro); border-color:#49604d; }
html.access-dark .accessibility-option { background:#18231c; color:var(--texto-escuro); border-color:#405644; }
html.access-dark .accessibility-panel p { color:var(--texto-medio); }
html.access-dark .accessibility-panel h2,html.access-dark .accessibility-panel .accessibility-option { color:#edf5ed; }
html.access-dark .accessibility-option:hover,html.access-dark .colorblind-options button:hover,html.access-dark .colorblind-options button.selected { background:#2d4535; border-color:#83ae88; }
html.access-dark .colorblind-options button { background:#18231c; color:#c7dcc9; border-color:#405644; }
html.access-dark .admin-shell { background:#17221b; color:#edf5ed; }
html.access-dark .admin-main > header,html.access-dark .admin-panel,html.access-dark .summary-panel,html.access-dark .summary-card { background:#202d25; color:#edf5ed; border-color:#49604d; }
html.access-dark .admin-panel h2,html.access-dark .summary-panel h3,html.access-dark .summary-card strong,html.access-dark .admin-main h1 { color:#edf5ed; }
html.access-dark .auth-card { background:#202d25; color:#edf5ed; }
html.access-dark .section-hero,html.access-dark .section-features,html.access-dark .section-gallery,html.access-dark .section-courses,html.access-dark .livros-hero,html.access-dark .shop-heading { background:var(--fundo-section); color:var(--texto-escuro); }
html.access-dark .course-card,html.access-dark .feature-card,html.access-dark .gallery-item,html.access-dark .modal-content,html.access-dark .filter-bar { background:var(--branco); color:var(--texto-escuro); border-color:var(--borda); }
html.access-dark .course-card h3,html.access-dark .feature-card h3,html.access-dark .livro-info h3,html.access-dark .cart-item-info h3,html.access-dark .shop-heading h1,html.access-dark .livros-hero h1 { color:var(--texto-escuro); }
html.access-dark .course-card p,html.access-dark .feature-card p,html.access-dark .livro-info p,html.access-dark .shop-heading p { color:var(--texto-medio); }
html.access-dark .footer,html.access-dark footer { background:#0e1511; color:#d3e3d4; }
html.access-dark .btn-auth-outline,html.access-dark .livro-btn.alt { background:transparent; color:var(--verde-escuro); border-color:var(--verde-claro); }
html.access-dark .payment-option span,html.access-dark .card-fields,html.access-dark .pix-box,html.access-dark .boleto-box { background:#18231c; border-color:#49604d; color:#edf5ed; }

/* Ajustes finais: galeria e item ativo da navegação no modo escuro */
html.access-dark .section-galeria {
  background: #121a15 !important;
  border-top-color: #3d5143;
  color: #edf5ed;
}

html.access-dark .section-galeria .gallery-kicker {
  color: #9bc39a;
}

html.access-dark .section-galeria .gallery-heading h2 {
  color: #edf5ed;
}

html.access-dark .section-galeria .gallery-heading p,
html.access-dark .section-galeria .gallery-empty {
  color: #b4c7b7;
}

html.access-dark .section-galeria .gallery-item {
  background: #202d25;
  border-color: #49604d;
}

html.access-dark .section-galeria .gallery-item figcaption {
  color: #c1d0c2;
}

html.access-dark .navbar .nav-link.active {
  background: #2d4a29 !important;
  color: #e7f3e7 !important;
  border-color: #5f8b63;
  box-shadow: inset 0 0 0 1px rgba(155, 195, 154, .18);
}

html.access-dark .navbar .nav-link.active i {
  color: #e7f3e7 !important;
}

html.access-dark .navbar .nav-link:hover:not(.active) {
  background: #263b2d;
  color: #eff8ef;
}
html.access-colorblind { --verde-escuro:#164e63; --verde-principal:#247a9e; --verde-medio:#328daf; --verde-suave:#70b4ca; --verde-claro:#b9dce7; --fundo:#f1f6f8; --fundo-section:#e7f1f5; --texto-escuro:#153447; --texto-medio:#36586a; --texto-fraco:#688292; --borda:#c8dce5; }
html.access-colorblind-protanopia body { filter:saturate(.72) contrast(1.1) hue-rotate(10deg); }
html.access-colorblind-deuteranopia body { filter:saturate(.72) contrast(1.1) hue-rotate(-8deg); }
html.access-colorblind-tritanopia body { filter:saturate(.78) contrast(1.08) hue-rotate(165deg); }
html.access-colorblind-achromatopsia body { filter:grayscale(1) contrast(1.15); }
html.access-font-large { font-size:112%; }
html.access-font-xlarge { font-size:125%; }
html.access-font-large body,html.access-font-xlarge body { line-height:1.7; }
html.access-font-large .nav-link,html.access-font-xlarge .nav-link,html.access-font-large button,html.access-font-xlarge button { font-size:calc(1em + 1px); }
html.access-cursor-large,html.access-cursor-large body,html.access-cursor-large a,html.access-cursor-large button,html.access-cursor-large input,html.access-cursor-large select,html.access-cursor-large textarea { cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='12' cy='12' r='9' fill='white' stroke='black' stroke-width='3'/%3E%3C/svg%3E") 12 12,auto; }
@media(max-width:600px){.accessibility-widget{right:12px;bottom:12px}.accessibility-trigger{width:48px;height:48px;padding:0;justify-content:center}.accessibility-trigger span{display:none}.accessibility-panel{bottom:58px;right:-2px}}

/* Navegação acessível por teclado */
.skip-to-content { position: fixed; top: -60px; left: 16px; z-index: 10001; padding: 10px 14px; border-radius: 8px; background: #2d4a29; color: #fff; font-weight: 700; text-decoration: none; transition: top .2s ease; }
.skip-to-content:focus { top: 16px; outline: 3px solid #9bc39a; outline-offset: 3px; }
html.access-keyboard :focus-visible { outline: 3px solid #2d7f55; outline-offset: 3px; }
html.access-dark.access-keyboard :focus-visible { outline-color: #c6e8c7; }
