/**
 * Accessibility Widget Styles - WCAG 2.1 AA/AAA Compliant
 * Modern, clean design - completely isolated from page content
 */

/* ============================================
   CSS CUSTOM PROPERTIES (Variables)
   ============================================ */
:root {
  --font-size-multiplier: 1;
  --line-height-multiplier: 1;
  --letter-spacing-value: 0;
  
  /* Default colors */
  --bg-color: #fdfdfd;
  --text-color: #222;
  --link-color: #2b3673;
  --link-hover: #1a2550;
  --focus-color: #0066cc;
}

/* ============================================
   BASE STYLES
   ============================================ */
html {
  font-size: calc(100% * var(--font-size-multiplier, 1));
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.3s, color 0.3s;
}

/* ============================================
   ACCESSIBILITY WIDGET UI - Isolated Design
   ============================================ */
.accessibility-widget {
  /* Reset to ensure isolation from page styles */
  all: initial !important;
  display: block !important;
  
  /* Core positioning */
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 999999 !important;
  
  /* Typography reset */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #1a1a2e !important;
}

.accessibility-widget * {
  box-sizing: border-box !important;
}

/* Widget floating button - Modern pill style */
.accessibility-widget-button {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #2b3673 0%, #3d4a8c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(43, 54, 115, 0.4), 0 3px 10px rgba(0, 0, 0, 0.15) !important;
  font-size: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  outline: none !important;
  position: relative !important;
}

.accessibility-widget-button:hover {
  transform: scale(1.08) translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(43, 54, 115, 0.5), 0 5px 15px rgba(0, 0, 0, 0.2) !important;
}

.accessibility-widget-button:focus {
  outline: 3px solid #F09C10 !important;
  outline-offset: 4px !important;
}

.accessibility-widget-button:active {
  transform: scale(0.98) !important;
}

.accessibility-widget-button[aria-expanded="true"] {
  background: linear-gradient(135deg, #1e2654 0%, #2b3673 100%) !important;
}

/* Widget panel - Glass morphism style */
.accessibility-widget-panel {
  position: absolute !important;
  bottom: 75px !important;
  right: 0 !important;
  width: 360px !important;
  max-width: calc(100vw - 40px) !important;
  max-height: calc(100vh - 140px) !important;
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-radius: 20px !important;
  box-shadow: 
    0 25px 50px -12px rgba(0, 0, 0, 0.25),
    0 10px 20px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.05) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: none !important;
  flex-direction: column !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.accessibility-widget-panel.open {
  display: flex !important;
  animation: slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Panel header */
.accessibility-widget-panel h2 {
  margin: 0 !important;
  padding: 20px 24px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  background: linear-gradient(135deg, #2b3673 0%, #3d4a8c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
}

/* Panel scrollable content - SINGLE scrollbar */
.accessibility-widget-content {
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 8px 20px 0 20px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #c5c5c5 transparent !important;
}

.accessibility-widget-content::-webkit-scrollbar {
  width: 6px !important;
}

.accessibility-widget-content::-webkit-scrollbar-track {
  background: transparent !important;
}

.accessibility-widget-content::-webkit-scrollbar-thumb {
  background: #c5c5c5 !important;
  border-radius: 3px !important;
}

.accessibility-widget-content::-webkit-scrollbar-thumb:hover {
  background: #a0a0a0 !important;
}

/* Sections - Clean cards */
.accessibility-widget-section {
  margin-bottom: 16px !important;
  padding: 16px !important;
  background: #f8f9fc !important;
  border-radius: 12px !important;
  border: 1px solid #e8ecf3 !important;
}

.accessibility-widget-section:last-of-type {
  margin-bottom: 8px !important;
}

.accessibility-widget-section h3 {
  margin: 0 0 14px 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #2b3673 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #e8ecf3 !important;
}

/* Controls */
.accessibility-widget-control {
  margin-bottom: 14px !important;
  padding: 0 !important;
}

.accessibility-widget-control:last-child {
  margin-bottom: 0 !important;
}

.accessibility-widget-control label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #2d3748 !important;
  line-height: 1.4 !important;
}

/* Modern toggle switch */
.accessibility-widget-toggle {
  position: relative !important;
  width: 48px !important;
  height: 26px !important;
  background: #cbd5e0 !important;
  border: none !important;
  border-radius: 13px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  outline: none !important;
}

.accessibility-widget-toggle::after {
  content: '' !important;
  position: absolute !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  top: 2px !important;
  left: 2px !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
}

.accessibility-widget-toggle.active {
  background: linear-gradient(135deg, #F09C10 0%, #e88a00 100%) !important;
}

.accessibility-widget-toggle.active::after {
  transform: translateX(22px) !important;
}

.accessibility-widget-toggle:focus {
  outline: 3px solid #F09C10 !important;
  outline-offset: 2px !important;
}

.accessibility-widget-toggle:hover {
  background: #a0aec0 !important;
}

.accessibility-widget-toggle.active:hover {
  background: linear-gradient(135deg, #ffb347 0%, #F09C10 100%) !important;
}

/* Modern slider */
.accessibility-widget-slider {
  margin-top: 10px !important;
  padding: 0 4px !important;
}

.accessibility-widget-slider input[type="range"] {
  width: 100% !important;
  height: 6px !important;
  border-radius: 3px !important;
  background: linear-gradient(90deg, #e2e8f0 0%, #e2e8f0 100%) !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.accessibility-widget-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #2b3673 0%, #3d4a8c 100%) !important;
  cursor: pointer !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(43, 54, 115, 0.4) !important;
  transition: transform 0.2s ease !important;
}

.accessibility-widget-slider input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.15) !important;
}

.accessibility-widget-slider input[type="range"]::-moz-range-thumb {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #2b3673 0%, #3d4a8c 100%) !important;
  cursor: pointer !important;
  border: 3px solid #fff !important;
  box-shadow: 0 2px 8px rgba(43, 54, 115, 0.4) !important;
}

.accessibility-widget-slider input[type="range"]:focus {
  outline: none !important;
}

.accessibility-widget-slider-value {
  font-size: 13px !important;
  color: #2b3673 !important;
  font-weight: 600 !important;
  min-width: 45px !important;
  text-align: right !important;
}

/* Button group (contrast modes) - Pills style */
.accessibility-widget-button-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.accessibility-widget-button-small {
  padding: 10px 14px !important;
  border: 2px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #4a5568 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  text-transform: none !important;
}

.accessibility-widget-button-small:hover {
  background: #f7fafc !important;
  border-color: #2b3673 !important;
  color: #2b3673 !important;
}

.accessibility-widget-button-small.active {
  background: linear-gradient(135deg, #2b3673 0%, #3d4a8c 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px rgba(43, 54, 115, 0.4) !important;
}

.accessibility-widget-button-small:focus {
  outline: 3px solid #F09C10 !important;
  outline-offset: 2px !important;
}

/* Reset button - Danger style */
.accessibility-widget-reset {
  margin: 12px 20px 20px !important;
  padding: 14px 20px !important;
  background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(229, 62, 62, 0.3) !important;
  text-transform: none !important;
}

.accessibility-widget-reset:hover {
  background: linear-gradient(135deg, #f56565 0%, #c53030 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(229, 62, 62, 0.4) !important;
}

.accessibility-widget-reset:active {
  transform: translateY(0) !important;
}

.accessibility-widget-reset:focus {
  outline: 3px solid #F09C10 !important;
  outline-offset: 2px !important;
}

/* ============================================
   CONTRAST MODE PALETTES
   Each mode defines its palette via CSS custom
   properties; shared rules reference these.
   ============================================ */

body.accessibility-dark-mode {
  --a11y-bg: #1a1a1a;
  --a11y-surface: #2a2a2a;
  --a11y-raised: #333;
  --a11y-text: #f0f0f0;
  --a11y-heading: #fff;
  --a11y-muted: #aaa;
  --a11y-dim: #ccc;
  --a11y-border: #444;
  --a11y-bw: 1px;
  --a11y-link: #6db3f2;
  --a11y-link-h: #a8d4ff;
  --a11y-accent: #fbbf24;
  --a11y-accent-on: #1a1a1a;
  --a11y-btn: #0066cc;
  --a11y-btn-on: #fff;
  --a11y-icon-bg: #444;
  --a11y-icon: #6db3f2;
  --a11y-tag-bg: #3a3a3a;
  --a11y-tag: #93c5fd;
  --a11y-tag-bdr: #555;
  --a11y-good: #86efac;
  --a11y-good-bg: #14532d;
  --a11y-bad: #fca5a5;
  --a11y-bad-bg: #450a0a;
  --bg-color: #1a1a1a;
  --text-color: #f0f0f0;
  --link-color: #6db3f2;
  --link-hover: #a8d4ff;
}

body.accessibility-high-contrast {
  --a11y-bg: #000;
  --a11y-surface: #000;
  --a11y-raised: #000;
  --a11y-text: #fff;
  --a11y-heading: #fff;
  --a11y-muted: #ccc;
  --a11y-dim: #fff;
  --a11y-border: #fff;
  --a11y-bw: 2px;
  --a11y-link: #ff0;
  --a11y-link-h: #ff0;
  --a11y-accent: #ff0;
  --a11y-accent-on: #000;
  --a11y-btn: #ff0;
  --a11y-btn-on: #000;
  --a11y-icon-bg: #ff0;
  --a11y-icon: #000;
  --a11y-tag-bg: #000;
  --a11y-tag: #ff0;
  --a11y-tag-bdr: #ff0;
  --a11y-good: #ff0;
  --a11y-good-bg: #000;
  --a11y-bad: #ff0;
  --a11y-bad-bg: #000;
  --bg-color: #000;
  --text-color: #fff;
  --link-color: #ff0;
  --link-hover: #ff0;
}

body.accessibility-light-high-contrast {
  --a11y-bg: #fff;
  --a11y-surface: #fff;
  --a11y-raised: #fff;
  --a11y-text: #000;
  --a11y-heading: #000;
  --a11y-muted: #333;
  --a11y-dim: #000;
  --a11y-border: #000;
  --a11y-bw: 2px;
  --a11y-link: #00f;
  --a11y-link-h: #00008b;
  --a11y-accent: #00f;
  --a11y-accent-on: #fff;
  --a11y-btn: #00f;
  --a11y-btn-on: #fff;
  --a11y-icon-bg: #00f;
  --a11y-icon: #fff;
  --a11y-tag-bg: #fff;
  --a11y-tag: #00f;
  --a11y-tag-bdr: #00f;
  --a11y-good: #006400;
  --a11y-good-bg: #fff;
  --a11y-bad: #8b0000;
  --a11y-bad-bg: #fff;
  --bg-color: #fff;
  --text-color: #000;
  --link-color: #00f;
  --link-hover: #00008b;
}

/* ============================================
   CONTRAST MODES — SHARED RULES
   body.a11y-themed is added by JS alongside
   the specific mode class. All rules below
   reference the palette variables above.
   ============================================ */

/* --- HTML background (prevents white flash) --- */
html.accessibility-dark-mode { background-color: #1a1a1a !important; }
html.accessibility-high-contrast { background-color: #000 !important; }
html.accessibility-light-high-contrast { background-color: #fff !important; }

/* --- Page-level background & text --- */
body.a11y-themed {
  background-color: var(--a11y-bg) !important;
  color: var(--a11y-text) !important;
}

/* --- Catch-all border color --- */
body.a11y-themed *:not(.accessibility-widget):not(.accessibility-widget *) {
  border-color: var(--a11y-border) !important;
}

/* --- Links --- */
body.a11y-themed a:not(.accessibility-widget *) {
  color: var(--a11y-link) !important;
}

body.a11y-themed a:not(.accessibility-widget *):hover {
  color: var(--a11y-link-h) !important;
}

/* --- Headings --- */
body.a11y-themed h1:not(.accessibility-widget h1),
body.a11y-themed h2:not(.accessibility-widget h2),
body.a11y-themed h3:not(.accessibility-widget h3),
body.a11y-themed h4:not(.accessibility-widget h4),
body.a11y-themed h5:not(.accessibility-widget h5),
body.a11y-themed h6:not(.accessibility-widget h6),
body.a11y-themed .post-section-title,
body.a11y-themed .post-tool-name,
body.a11y-themed .post-related-title,
body.a11y-themed .post-flesz-content,
body.a11y-themed .tools-showcase-header h3,
body.a11y-themed .tool-card-name,
body.a11y-themed .cta-consultation-text h4,
body.a11y-themed .section-title,
body.a11y-themed .input-card h5,
body.a11y-themed .results-card h5,
body.a11y-themed .guide-section h4,
body.a11y-themed .control-group label,
body.a11y-themed .tools-intro h1,
body.a11y-themed .category-info h2,
body.a11y-themed .tool-content h3,
body.a11y-themed .tools-cta h2,
body.a11y-themed .encyclopedia-header h1,
body.a11y-themed .event-name,
body.a11y-themed .modal-event-name,
body.a11y-themed .reference-card h3,
body.a11y-themed .modal-section h3,
body.a11y-themed .consulting-title,
body.a11y-themed .consulting-section h2,
body.a11y-themed .consulting-card h3,
body.a11y-themed .ai-pg h1,
body.a11y-themed .ai-sec-title,
body.a11y-themed .ai-card-name,
body.a11y-themed .cr h1,
body.a11y-themed .cr-q-title,
body.a11y-themed .cr-res-title,
body.a11y-themed .cr-res-name,
body.a11y-themed .pc h1,
body.a11y-themed .pc-step-title,
body.a11y-themed .pc-q-info strong,
body.a11y-themed .pc-tpl-card-name,
body.a11y-themed .roi h1,
body.a11y-themed .roi-sec-title,
body.a11y-themed .roi-chart-title,
body.a11y-themed .roi-kpi-value,
body.a11y-themed .aid-hero h1,
body.a11y-themed .aid-sec h2,
body.a11y-themed .aid-cost-title,
body.a11y-themed .aid-kv-card h3,
body.a11y-themed .aid-sb-card h3,
body.a11y-themed .aid-alt-name,
body.a11y-themed .aid-tool-name,
body.a11y-themed .svc-card h3,
body.a11y-themed .process-step h3,
body.a11y-themed .testi-card p strong,
body.a11y-themed .stat-card .stat-num,
body.a11y-themed .consulting-product-name {
  color: var(--a11y-heading) !important;
}

/* --- Primary surfaces (cards, panels, sections) --- */
body.a11y-themed .navbar,
body.a11y-themed .card,
body.a11y-themed .card-body,
body.a11y-themed .card-header,
body.a11y-themed .list-group-item,
body.a11y-themed .table,
body.a11y-themed .alert,
body.a11y-themed .hero-unified,
body.a11y-themed .news-feed,
body.a11y-themed .news-item,
body.a11y-themed .search-result-item,
body.a11y-themed .sidebar-photo-standalone,
body.a11y-themed .profile-card-sidebar,
body.a11y-themed .post-item,
body.a11y-themed article.card,
body.a11y-themed .card.post-item,
body.a11y-themed .promo-box,
body.a11y-themed .porady-section,
body.a11y-themed .bio-card,
body.a11y-themed .contact-form-card,
body.a11y-themed .search-tips-card,
body.a11y-themed .search-popular-card,
body.a11y-themed .post-tool-card,
body.a11y-themed .post-related-item,
body.a11y-themed .post-flesz-item,
body.a11y-themed .post-related-articles,
body.a11y-themed .tools-showcase,
body.a11y-themed .tool-card,
body.a11y-themed .promo-banner,
body.a11y-themed .top-search-bar,
body.a11y-themed .dropdown-menu-tools,
body.a11y-themed .input-card,
body.a11y-themed .results-card,
body.a11y-themed .variant-card,
body.a11y-themed .multivar-card,
body.a11y-themed .guide-section,
body.a11y-themed .quick-guide,
body.a11y-themed .info-box-education,
body.a11y-themed .section-explanation,
body.a11y-themed .calculator-section,
body.a11y-themed .scenarios-config,
body.a11y-themed .discount-table-section,
body.a11y-themed .conversion-table-section,
body.a11y-themed .tool-item,
body.a11y-themed .event-card,
body.a11y-themed .reference-card,
body.a11y-themed .modal-content,
body.a11y-themed .stat-card,
body.a11y-themed .svc-card,
body.a11y-themed .testi-card,
body.a11y-themed .trust-bar,
body.a11y-themed .consulting-intro,
body.a11y-themed .consulting-section,
body.a11y-themed .consulting-person,
body.a11y-themed .consulting-card,
body.a11y-themed .consulting-metric,
body.a11y-themed .ai-card,
body.a11y-themed .ai-toolbar,
body.a11y-themed .cr-card,
body.a11y-themed .cr-res-item,
body.a11y-themed .cr-res-box,
body.a11y-themed .pc-card,
body.a11y-themed .pc-quality,
body.a11y-themed .pc-tpl-card,
body.a11y-themed .roi-card,
body.a11y-themed .roi-task-hours,
body.a11y-themed .aid-hero,
body.a11y-themed .aid-sec,
body.a11y-themed .aid-kv-card,
body.a11y-themed .aid-sb-card,
body.a11y-themed .aid-alt a,
body.a11y-themed .aid-tools,
body.a11y-themed .aid-decision .col,
body.a11y-themed .aid-cost-item {
  background-color: var(--a11y-surface) !important;
  background: var(--a11y-surface) !important;
  color: var(--a11y-text) !important;
  border-color: var(--a11y-border) !important;
}

/* --- Footer --- */
body.a11y-themed .site-footer {
  background: var(--a11y-bg) !important;
  color: var(--a11y-text) !important;
}
body.a11y-themed .site-footer .footer-heading {
  color: var(--a11y-accent) !important;
  border-bottom-color: var(--a11y-border) !important;
}
body.a11y-themed .site-footer ul li a {
  color: var(--a11y-dim) !important;
}
body.a11y-themed .site-footer ul li a:hover {
  color: var(--a11y-link-h) !important;
}
body.a11y-themed .site-footer .footer-social a {
  background: var(--a11y-surface) !important;
  color: var(--a11y-dim) !important;
}
body.a11y-themed .site-footer .footer-social a:hover {
  background: var(--a11y-accent) !important;
  color: var(--a11y-accent-on) !important;
}
body.a11y-themed .site-footer .footer-bottom {
  border-top-color: var(--a11y-border) !important;
}
body.a11y-themed .site-footer .copyright-text,
body.a11y-themed .site-footer .made-with {
  color: var(--a11y-muted) !important;
}

/* --- Page section backgrounds --- */
body.a11y-themed .en-section,
body.a11y-themed .en-section-gray,
body.a11y-themed .consulting-offer-page,
body.a11y-themed .tools-landing-page,
body.a11y-themed .tools-intro,
body.a11y-themed .tools-category,
body.a11y-themed .tools-cta,
body.a11y-themed .ai-pg,
body.a11y-themed .cr,
body.a11y-themed .pc,
body.a11y-themed .roi,
body.a11y-themed .ga4-encyclopedia,
body.a11y-themed .category-description {
  background: var(--a11y-bg) !important;
}

/* --- Secondary surfaces (inputs, controls, sub-panels) --- */
body.a11y-themed input:not(.accessibility-widget input),
body.a11y-themed textarea:not(.accessibility-widget textarea),
body.a11y-themed select:not(.accessibility-widget select),
body.a11y-themed .form-control,
body.a11y-themed .form-select,
body.a11y-themed .search-box input,
body.a11y-themed .filter-tab,
body.a11y-themed .ai-pill,
body.a11y-themed .ai-search,
body.a11y-themed .ai-sort-select,
body.a11y-themed .cr-opt,
body.a11y-themed .pc-opt,
body.a11y-themed .pc-cat,
body.a11y-themed .pc-tech,
body.a11y-themed .pc-fewshot-add,
body.a11y-themed .pc-constraint-rm,
body.a11y-themed .pc-mode,
body.a11y-themed .roi-task,
body.a11y-themed .roi-plan,
body.a11y-themed .roi-input,
body.a11y-themed .pc-textarea,
body.a11y-themed .pc-input,
body.a11y-themed .btn-preset,
body.a11y-themed .info-box-content,
body.a11y-themed .key-insight,
body.a11y-themed .key-terms {
  background: var(--a11y-raised) !important;
  border-color: var(--a11y-border) !important;
  color: var(--a11y-text) !important;
}

/* --- Muted / secondary text --- */
body.a11y-themed .text-muted,
body.a11y-themed .post-section-subtitle,
body.a11y-themed .post-tool-desc,
body.a11y-themed .post-related-date,
body.a11y-themed .tools-showcase-header p,
body.a11y-themed .tool-card-desc,
body.a11y-themed .cta-consultation-text p,
body.a11y-themed .section-subtitle,
body.a11y-themed .section-label,
body.a11y-themed .stat-card .stat-desc,
body.a11y-themed .svc-card p,
body.a11y-themed .testi-card p,
body.a11y-themed .process-step p,
body.a11y-themed .trust-bar-label,
body.a11y-themed .tools-intro .lead,
body.a11y-themed .category-info p,
body.a11y-themed .tool-content p,
body.a11y-themed .tools-cta p,
body.a11y-themed .encyclopedia-subtitle,
body.a11y-themed .encyclopedia-meta,
body.a11y-themed .event-description,
body.a11y-themed .modal-description,
body.a11y-themed .category-description p,
body.a11y-themed .results-info,
body.a11y-themed .reference-card li,
body.a11y-themed .consulting-kicker,
body.a11y-themed .consulting-lead,
body.a11y-themed .consulting-section p,
body.a11y-themed .consulting-card p,
body.a11y-themed .consulting-list li,
body.a11y-themed .consulting-about p,
body.a11y-themed .consulting-metric span,
body.a11y-themed .ai-pg .lead,
body.a11y-themed .ai-sec-sub,
body.a11y-themed .ai-card-chip,
body.a11y-themed .ai-card-desc,
body.a11y-themed .ai-card-price,
body.a11y-themed .ai-card-arrow,
body.a11y-themed .ai-card-group-tag,
body.a11y-themed .ai-model-count,
body.a11y-themed .ai-no-results,
body.a11y-themed .ai-disc,
body.a11y-themed .cr .lead,
body.a11y-themed .cr-q-hint,
body.a11y-themed .cr-prog-label,
body.a11y-themed .cr-res-intro,
body.a11y-themed .cr-res-tagline,
body.a11y-themed .cr-res-box-label,
body.a11y-themed .cr-disclaimer,
body.a11y-themed .pc .lead,
body.a11y-themed .pc-step-hint,
body.a11y-themed .pc-prog-label,
body.a11y-themed .pc-char-count,
body.a11y-themed .pc-fewshot-label,
body.a11y-themed .pc-tech-desc,
body.a11y-themed .pc-q-tips,
body.a11y-themed .pc-tpl-card-desc,
body.a11y-themed .roi .lead,
body.a11y-themed .roi-sec-hint,
body.a11y-themed .roi-field label small,
body.a11y-themed .roi-plan-meta,
body.a11y-themed .roi-kpi-label,
body.a11y-themed .roi-bar-label,
body.a11y-themed .roi-th-row-pct,
body.a11y-themed .aid-hero .tagline,
body.a11y-themed .aid-badge,
body.a11y-themed .aid-verified,
body.a11y-themed .aid-cost-ass li,
body.a11y-themed .aid-kv-card dt,
body.a11y-themed .aid-kv-note,
body.a11y-themed .aid-alt-reason,
body.a11y-themed .aid-sb-card dt,
body.a11y-themed .aid-tool-desc,
body.a11y-themed .aid-tools-title,
body.a11y-themed .aid-src-note,
body.a11y-themed .aid-src a svg,
body.a11y-themed .data-news-item,
body.a11y-themed .data-news-content,
body.a11y-themed .data-news-date,
body.a11y-themed .simulator-tabs .nav-link {
  color: var(--a11y-muted) !important;
}

/* --- Tertiary text (body copy, descriptions) --- */
body.a11y-themed .post-excerpt,
body.a11y-themed .post-item p,
body.a11y-themed .post-item .card-text,
body.a11y-themed .post-item .text-muted,
body.a11y-themed .news-body,
body.a11y-themed .news-body p,
body.a11y-themed article.card p,
body.a11y-themed article.card .card-text,
body.a11y-themed .cr-opt label,
body.a11y-themed .pc-opt-label,
body.a11y-themed .pc-cat-label,
body.a11y-themed .pc-tech-name,
body.a11y-themed .roi-task-label,
body.a11y-themed .roi-plan-name,
body.a11y-themed .roi-field label,
body.a11y-themed .roi-th-row-label,
body.a11y-themed .cr-res-box-val,
body.a11y-themed .aid-hero .summary,
body.a11y-themed .aid-sec ul li,
body.a11y-themed .aid-cost-est,
body.a11y-themed .aid-kv-card ul li,
body.a11y-themed .aid-kv-card dd,
body.a11y-themed .aid-sb-card dd,
body.a11y-themed .parameters-table td {
  color: var(--a11y-dim) !important;
}

/* --- Tags, badges, meta --- */
body.a11y-themed .post-tag,
body.a11y-themed .result-type,
body.a11y-themed .news-date,
body.a11y-themed .post-meta,
body.a11y-themed .post-category,
body.a11y-themed .badge,
body.a11y-themed .cr-res-tag,
body.a11y-themed .pc-tpl-card-tag,
body.a11y-themed .aid-badge {
  background: var(--a11y-tag-bg) !important;
  color: var(--a11y-tag) !important;
  border-color: var(--a11y-tag-bdr) !important;
}

/* --- Link-like accent elements --- */
body.a11y-themed .post-item a,
body.a11y-themed .post-title,
body.a11y-themed .post-title a,
body.a11y-themed .post-item h2 a,
body.a11y-themed .card-title a,
body.a11y-themed article.card h2 a,
body.a11y-themed .podpis,
body.a11y-themed .cr-back a,
body.a11y-themed .cr-res-link,
body.a11y-themed .roi-nav a,
body.a11y-themed .aid-nav a,
body.a11y-themed .aid-src a,
body.a11y-themed .promo-banner-link,
body.a11y-themed .tools-view-all,
body.a11y-themed .post-related-category,
body.a11y-themed .post-flesz-arrow,
body.a11y-themed .post-related-arrow,
body.a11y-themed .svc-card .svc-arrow,
body.a11y-themed .consulting-product-name {
  color: var(--a11y-link) !important;
}

/* --- Icon containers --- */
body.a11y-themed .tool-card-icon,
body.a11y-themed .tools-showcase-icon,
body.a11y-themed .cta-consultation-icon,
body.a11y-themed .promo-banner-arrow,
body.a11y-themed .tool-item .tool-icon,
body.a11y-themed .category-icon,
body.a11y-themed .svc-card .svc-ic,
body.a11y-themed .post-section-icon,
body.a11y-themed .post-tool-icon,
body.a11y-themed .pc-cat.selected .pc-cat-icon {
  background: var(--a11y-icon-bg) !important;
  border-color: var(--a11y-border) !important;
}

body.a11y-themed .tool-card-icon i,
body.a11y-themed .tools-showcase-icon i,
body.a11y-themed .cta-consultation-icon i,
body.a11y-themed .promo-banner-arrow i,
body.a11y-themed .tool-item .tool-icon i,
body.a11y-themed .category-icon i,
body.a11y-themed .svc-card .svc-ic i,
body.a11y-themed .post-section-icon i,
body.a11y-themed .post-tool-icon i,
body.a11y-themed .pc-cat-icon i,
body.a11y-themed .pc-cat-icon svg {
  color: var(--a11y-icon) !important;
}

/* --- Primary buttons / CTAs --- */
body.a11y-themed .btn-primary,
body.a11y-themed .consulting-btn-primary,
body.a11y-themed .cta-consultation-btn,
body.a11y-themed .event-view-btn,
body.a11y-themed .cr-dot.active,
body.a11y-themed .pc-dot.active,
body.a11y-themed .cr-dot.done,
body.a11y-themed .pc-dot.done,
body.a11y-themed .cr-res-badge,
body.a11y-themed .ai-pill.active,
body.a11y-themed .pc-mode.active,
body.a11y-themed .filter-tab.active {
  background: var(--a11y-btn) !important;
  color: var(--a11y-btn-on) !important;
  border-color: var(--a11y-btn) !important;
}

/* --- Gradient CTA buttons (keep gradient in dark, flat in HC) --- */
body.a11y-themed .cr-btn-next,
body.a11y-themed .pc-btn-next,
body.a11y-themed .roi-calc-btn,
body.a11y-themed .btn-hero-primary,
body.a11y-themed .btn-cta-final {
  background: var(--a11y-btn) !important;
  color: var(--a11y-btn-on) !important;
  border-color: var(--a11y-border) !important;
}

/* --- Secondary / outline buttons --- */
body.a11y-themed .btn-cta-secondary,
body.a11y-themed .consulting-btn-secondary,
body.a11y-themed .btn-hero-secondary {
  background-color: transparent !important;
  border-color: var(--a11y-accent) !important;
  color: var(--a11y-accent) !important;
}

body.a11y-themed .btn-cta-secondary:hover,
body.a11y-themed .consulting-btn-secondary:hover,
body.a11y-themed .btn-hero-secondary:hover {
  background-color: var(--a11y-accent) !important;
  color: var(--a11y-accent-on) !important;
}

/* --- Prev / back buttons --- */
body.a11y-themed .cr-btn-prev,
body.a11y-themed .pc-btn-prev {
  background: var(--a11y-raised) !important;
  color: var(--a11y-dim) !important;
  border-color: var(--a11y-border) !important;
}

/* --- Active tabs / navigation --- */
body.a11y-themed .simulator-tabs .nav-link.active,
body.a11y-themed .simulator-tabs .nav-link:hover {
  color: var(--a11y-link) !important;
  border-color: var(--a11y-link) !important;
}

/* --- Tables --- */
body.a11y-themed .params-table th,
body.a11y-themed .mde-table th,
body.a11y-themed .duration-table th,
body.a11y-themed .comparison-table th,
body.a11y-themed .discount-table th,
body.a11y-themed .conversion-table th,
body.a11y-themed .parameters-table th,
body.a11y-themed .roi-breakdown th {
  background: var(--a11y-raised) !important;
  color: var(--a11y-text) !important;
}

body.a11y-themed .params-table td,
body.a11y-themed .mde-table td,
body.a11y-themed .duration-table td,
body.a11y-themed .comparison-table td,
body.a11y-themed .discount-table td,
body.a11y-themed .conversion-table td,
body.a11y-themed .roi-breakdown td {
  background: var(--a11y-surface) !important;
  color: var(--a11y-dim) !important;
  border-color: var(--a11y-border) !important;
}

body.a11y-themed .roi-breakdown .total td {
  color: var(--a11y-text) !important;
}

body.a11y-themed .result-value,
body.a11y-themed .sample-value,
body.a11y-themed .duration-value,
body.a11y-themed .price-value,
body.a11y-themed .margin-result .result-value,
body.a11y-themed .consulting-metric strong {
  color: var(--a11y-link) !important;
}

/* --- Dropdown navigation --- */
body.a11y-themed .dropdown-menu-tools .dropdown-item {
  color: var(--a11y-text) !important;
}

body.a11y-themed .dropdown-menu-tools .dropdown-item:hover {
  background: var(--a11y-raised) !important;
  color: var(--a11y-link) !important;
}

body.a11y-themed .dropdown-menu-tools .dropdown-header {
  color: var(--a11y-muted) !important;
}

body.a11y-themed .dropdown-menu-tools .dropdown-divider {
  border-color: var(--a11y-border) !important;
}

/* --- Top bar --- */
body.a11y-themed .top-bar-contact a,
body.a11y-themed .top-bar-contact i,
body.a11y-themed .top-bar-social a,
body.a11y-themed .top-search-trigger {
  color: var(--a11y-muted) !important;
}

body.a11y-themed .top-bar-contact a:hover,
body.a11y-themed .top-bar-social a:hover,
body.a11y-themed .top-search-trigger:hover {
  color: var(--a11y-link) !important;
}

/* --- Progress bars (AI wizards) --- */
body.a11y-themed .cr-prog-bar,
body.a11y-themed .pc-prog-bar {
  background: var(--a11y-border) !important;
}

body.a11y-themed .cr-dot,
body.a11y-themed .pc-dot {
  background: var(--a11y-border) !important;
  color: var(--a11y-muted) !important;
}

/* --- Selected / active states (AI wizards) --- */
body.a11y-themed .cr-opt.selected,
body.a11y-themed .pc-opt.selected,
body.a11y-themed .pc-cat.selected,
body.a11y-themed .roi-task.selected {
  border-color: var(--a11y-accent) !important;
}

body.a11y-themed .pc-tech.selected,
body.a11y-themed .roi-plan.selected {
  border-color: var(--a11y-btn) !important;
}

/* --- Good / bad decision columns --- */
body.a11y-themed .aid-decision .col.good h3 {
  color: var(--a11y-good) !important;
}

body.a11y-themed .aid-decision .col.bad h3 {
  color: var(--a11y-bad) !important;
}

/* --- KPI / ROI special values --- */
body.a11y-themed .roi-kpi {
  border-color: var(--a11y-border) !important;
}

body.a11y-themed .roi-breakdown .positive {
  color: #16a34a !important;
}

body.a11y-themed .roi-breakdown .negative {
  color: #dc2626 !important;
}

/* --- Accent badges --- */
body.a11y-themed .promo-banner-badge,
body.a11y-themed .ga4-promo-badge,
body.a11y-themed .event-category-badge,
body.a11y-themed .modal-category,
body.a11y-themed .post-flesz-date,
body.a11y-themed .consulting-kicker i,
body.a11y-themed .step-num {
  background: var(--a11y-accent) !important;
  color: var(--a11y-accent-on) !important;
}

/* --- Featured tool cards / GA4 promo --- */
body.a11y-themed .tool-card-featured,
body.a11y-themed .post-tool-card-featured,
body.a11y-themed .ga4-encyclopedia-promo {
  background: var(--a11y-btn) !important;
  border-color: var(--a11y-link) !important;
}

body.a11y-themed .tool-card-featured .tool-card-name,
body.a11y-themed .post-tool-card-featured .post-tool-name,
body.a11y-themed .ga4-promo-content h3 {
  color: var(--a11y-btn-on) !important;
}

body.a11y-themed .ga4-promo-cta {
  background: var(--a11y-accent) !important;
  color: var(--a11y-accent-on) !important;
}

/* --- Tool features pills --- */
body.a11y-themed .tool-features li {
  background: var(--a11y-raised) !important;
  color: var(--a11y-link) !important;
}

/* --- Hero tech tags (EN landing) --- */
body.a11y-themed .hero-tech-tag,
body.a11y-themed .tc-pill {
  background: var(--a11y-surface) !important;
  border-color: var(--a11y-accent) !important;
  color: var(--a11y-accent) !important;
}

body.a11y-themed .tc-pill i {
  color: var(--a11y-accent) !important;
}

/* --- Promo box links --- */
body.a11y-themed .promo-box a,
body.a11y-themed .cta-box-dark a {
  color: var(--a11y-accent) !important;
}

body.a11y-themed .promo-box .badge {
  background-color: var(--a11y-accent) !important;
  color: var(--a11y-accent-on) !important;
}

/* --- Social proof / sidebar bio --- */
body.a11y-themed .bio-card-content,
body.a11y-themed .sidebar-bio,
body.a11y-themed .sidebar-skills,
body.a11y-themed .sidebar-clients,
body.a11y-themed .social-proof-box {
  background: var(--a11y-surface) !important;
  color: var(--a11y-text) !important;
  border-color: var(--a11y-border) !important;
}

body.a11y-themed .social-proof-number,
body.a11y-themed .social-proof-label {
  color: var(--a11y-text) !important;
}

/* --- Category header --- */
body.a11y-themed .category-header {
  border-color: var(--a11y-border) !important;
}

/* --- Modal header --- */
body.a11y-themed .modal-header {
  border-color: var(--a11y-border) !important;
}

body.a11y-themed .quick-reference {
  border-color: var(--a11y-border) !important;
}

/* --- Code block --- */
body.a11y-themed .code-block {
  border-color: var(--a11y-border) !important;
}

/* --- Process connector --- */
body.a11y-themed .process-connector {
  background: var(--a11y-border) !important;
}

/* --- PC cat icon default state --- */
body.a11y-themed .pc-cat-icon {
  background: var(--a11y-raised) !important;
  color: var(--a11y-muted) !important;
}

/* --- AI tool badge opacity --- */
body.a11y-themed .ai-tool-badge {
  background: rgba(148,163,184,.3) !important;
}

/* --- AI tool cards (keep dark backgrounds, just add border) --- */
body.a11y-themed .ai-tool {
  border-color: var(--a11y-border) !important;
}

/* --- Consulting about list marker --- */
body.a11y-themed .consulting-list li::before {
  background: var(--a11y-border) !important;
}

body.a11y-themed .consulting-about .consulting-list li::before {
  background: var(--a11y-accent) !important;
}

/* ============================================
   DARK MODE — Specific Overrides
   (gradients, special treatments)
   ============================================ */

body.accessibility-dark-mode .en-hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #111 50%, #1a1a1a 100%) !important;
}

body.accessibility-dark-mode .cta-box-dark {
  background: linear-gradient(135deg, #1a2a3f 0%, #2a3a4f 100%) !important;
  color: #f0f0f0 !important;
  border-color: #444 !important;
}

body.accessibility-dark-mode .sidebar-cta-banner {
  background: linear-gradient(135deg, #1a2a3f 0%, #2a3a4f 100%) !important;
}

body.accessibility-dark-mode .post-tools-showcase {
  background: linear-gradient(135deg, #1a1a2e 0%, #252540 100%) !important;
  border-color: #3a3a5a !important;
}

body.accessibility-dark-mode .post-latest-flesz {
  background: linear-gradient(135deg, #2a2518 0%, #3a3520 100%) !important;
  border-color: #5a4a20 !important;
}

body.accessibility-dark-mode .post-flesz-item {
  background: #2a2a2a !important;
  border-color: #4a4020 !important;
}

body.accessibility-dark-mode .post-flesz-item:hover {
  border-color: #f59e0b !important;
}

body.accessibility-dark-mode .post-flesz-date {
  background: #3a3020 !important;
  color: #fbbf24 !important;
}

body.accessibility-dark-mode .post-related-item:hover {
  border-color: #10b981 !important;
}

body.accessibility-dark-mode .post-related-arrow {
  color: #10b981 !important;
}

body.accessibility-dark-mode .tool-card:hover {
  border-color: #6db3f2 !important;
}

body.accessibility-dark-mode .tool-item:hover {
  border-color: #6db3f2 !important;
}

body.accessibility-dark-mode .cta-consultation {
  background: linear-gradient(135deg, #3a3520 0%, #2a2510 100%) !important;
  border-color: #5a4a20 !important;
}

body.accessibility-dark-mode .final-cta {
  background: linear-gradient(135deg, #1a2a3f 0%, #111 100%) !important;
}

body.accessibility-dark-mode .en-section-dark {
  background: #1a1a1a !important;
}

body.accessibility-dark-mode .ft-card {
  background: #2a2a2a !important;
  border-color: #444 !important;
}

body.accessibility-dark-mode .section-label {
  color: #F09C10 !important;
}

body.accessibility-dark-mode .svc-card:hover {
  border-color: #6db3f2 !important;
}

body.accessibility-dark-mode .contact-band {
  background: linear-gradient(160deg, #1a2a3f 0%, #2a3a4f 50%, #1e2654 100%) !important;
}

body.accessibility-dark-mode .contact-band h2 {
  color: #fff !important;
}

body.accessibility-dark-mode .contact-band p,
body.accessibility-dark-mode .contact-band .consulting-list li {
  color: rgba(255,255,255,.85) !important;
}

body.accessibility-dark-mode .contact-actions .consulting-btn-primary {
  background: #fbbf24 !important;
  color: #1a1a1a !important;
}

body.accessibility-dark-mode .consulting-btn-primary {
  background: #0066cc !important;
}

body.accessibility-dark-mode .consulting-btn-primary:hover {
  background: #0077ee !important;
}

body.accessibility-dark-mode .btn-danger {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
}

body.accessibility-dark-mode .btn-preset:hover {
  background: #6db3f2 !important;
  color: #000 !important;
}

body.accessibility-dark-mode .aid-decision .col.good {
  background: linear-gradient(135deg, #14532d 0%, #1a3a2a 100%) !important;
  border-color: #166534 !important;
}

body.accessibility-dark-mode .aid-decision .col.bad {
  background: linear-gradient(135deg, #450a0a 0%, #3a1a1a 100%) !important;
  border-color: #991b1b !important;
}

body.accessibility-dark-mode .aid-cost-item {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%) !important;
}

body.accessibility-dark-mode .aid-sb-dark {
  background: linear-gradient(180deg, #0f172a, #1e293b) !important;
}

body.accessibility-dark-mode .cr-opt.selected,
body.accessibility-dark-mode .pc-opt.selected,
body.accessibility-dark-mode .pc-cat.selected,
body.accessibility-dark-mode .roi-task.selected {
  background: #3a3520 !important;
}

body.accessibility-dark-mode .pc-tech.selected,
body.accessibility-dark-mode .roi-plan.selected {
  background: #1e2654 !important;
}

body.accessibility-dark-mode .cr-res-tag,
body.accessibility-dark-mode .pc-tpl-card-tag {
  background: #1e2654 !important;
  color: #93c5fd !important;
}

/* ============================================
   HIGH CONTRAST — Specific Overrides
   ============================================ */

body.accessibility-high-contrast a:not(.accessibility-widget *) {
  text-decoration: underline !important;
}

body.accessibility-high-contrast .en-hero,
body.accessibility-high-contrast .en-section-dark,
body.accessibility-high-contrast .final-cta,
body.accessibility-high-contrast .contact-band,
body.accessibility-high-contrast .cta-box-dark,
body.accessibility-high-contrast .sidebar-cta-banner,
body.accessibility-high-contrast .post-tools-showcase,
body.accessibility-high-contrast .post-latest-flesz,
body.accessibility-high-contrast .roi-summary,
body.accessibility-high-contrast .pc-preview,
body.accessibility-high-contrast .aid-sb-dark,
body.accessibility-high-contrast .cta-consultation {
  background: #000 !important;
  border: 2px solid #fff !important;
  color: #fff !important;
}

body.accessibility-high-contrast .roi-summary h3,
body.accessibility-high-contrast .roi-summary strong,
body.accessibility-high-contrast .roi-summary p,
body.accessibility-high-contrast .pc-preview-text,
body.accessibility-high-contrast .aid-sb-dark h3,
body.accessibility-high-contrast .aid-sb-dark dd {
  color: #fff !important;
}

body.accessibility-high-contrast .roi-summary .highlight {
  color: #ff0 !important;
}

body.accessibility-high-contrast .aid-sb-dark dt {
  color: #ccc !important;
}

body.accessibility-high-contrast .ft-card {
  background: #000 !important;
  border: 2px solid #ff0 !important;
}

body.accessibility-high-contrast .en-hero h1,
body.accessibility-high-contrast .en-hero .hero-lead,
body.accessibility-high-contrast .en-hero .hero-lead strong,
body.accessibility-high-contrast .en-hero-eyebrow {
  color: #fff !important;
}

body.accessibility-high-contrast .trust-logos img {
  filter: none !important;
  opacity: 1 !important;
}

body.accessibility-high-contrast .final-cta h2 {
  color: #fff !important;
}

body.accessibility-high-contrast .final-cta p {
  color: #ccc !important;
}

body.accessibility-high-contrast .cta-note {
  color: #ff0 !important;
}

body.accessibility-high-contrast .parameters-table th,
body.accessibility-high-contrast .parameters-table td {
  border: 1px solid #fff !important;
}

body.accessibility-high-contrast .contact-band h2 {
  color: #fff !important;
}

body.accessibility-high-contrast .contact-band p,
body.accessibility-high-contrast .contact-band .consulting-list li {
  color: #fff !important;
}

body.accessibility-high-contrast .contact-band .consulting-list li::before {
  background: #ff0 !important;
}

/* ============================================
   LIGHT HIGH CONTRAST — Specific Overrides
   ============================================ */

body.accessibility-light-high-contrast a:not(.accessibility-widget *) {
  text-decoration: underline !important;
  font-weight: bold !important;
}

body.accessibility-light-high-contrast h1:not(.accessibility-widget *),
body.accessibility-light-high-contrast h2:not(.accessibility-widget *),
body.accessibility-light-high-contrast h3:not(.accessibility-widget *),
body.accessibility-light-high-contrast h4:not(.accessibility-widget *),
body.accessibility-light-high-contrast h5:not(.accessibility-widget *),
body.accessibility-light-high-contrast h6:not(.accessibility-widget *) {
  border-bottom: 2px solid #000 !important;
}

body.accessibility-light-high-contrast .en-hero,
body.accessibility-light-high-contrast .en-section-dark,
body.accessibility-light-high-contrast .final-cta,
body.accessibility-light-high-contrast .cta-box-dark,
body.accessibility-light-high-contrast .sidebar-cta-banner,
body.accessibility-light-high-contrast .post-tools-showcase,
body.accessibility-light-high-contrast .post-latest-flesz,
body.accessibility-light-high-contrast .cta-consultation {
  background: #fff !important;
  border: 2px solid #000 !important;
  color: #000 !important;
}

body.accessibility-light-high-contrast .en-hero h1 {
  color: #000 !important;
}

body.accessibility-light-high-contrast .en-hero h1 .accent {
  color: #00008b !important;
}

body.accessibility-light-high-contrast .en-hero .hero-lead,
body.accessibility-light-high-contrast .en-hero .hero-lead strong,
body.accessibility-light-high-contrast .en-hero-eyebrow {
  color: #000 !important;
}

body.accessibility-light-high-contrast .trust-logos img {
  filter: none !important;
  opacity: 1 !important;
}

body.accessibility-light-high-contrast .en-section-dark .section-title {
  color: #000 !important;
}

body.accessibility-light-high-contrast .en-section-dark .section-subtitle {
  color: #333 !important;
}

body.accessibility-light-high-contrast .ft-card {
  background: #00f !important;
  border: 2px solid #000 !important;
}

body.accessibility-light-high-contrast .ft-card h3,
body.accessibility-light-high-contrast .ft-card p {
  color: #fff !important;
}

body.accessibility-light-high-contrast .final-cta h2 {
  color: #000 !important;
}

body.accessibility-light-high-contrast .final-cta p {
  color: #333 !important;
}

body.accessibility-light-high-contrast .cta-note {
  color: #000 !important;
}

body.accessibility-light-high-contrast .parameters-table th,
body.accessibility-light-high-contrast .parameters-table td {
  border: 1px solid #000 !important;
}

body.accessibility-light-high-contrast .roi-summary {
  background: #00f !important;
  border: 2px solid #000 !important;
}

body.accessibility-light-high-contrast .roi-summary h3,
body.accessibility-light-high-contrast .roi-summary strong,
body.accessibility-light-high-contrast .roi-summary p {
  color: #fff !important;
}

body.accessibility-light-high-contrast .pc-preview {
  background: #000 !important;
  border: 2px solid #000 !important;
}

body.accessibility-light-high-contrast .pc-preview-text {
  color: #fff !important;
}

body.accessibility-light-high-contrast .aid-sb-dark {
  background: #00f !important;
  border: 2px solid #000 !important;
}

body.accessibility-light-high-contrast .aid-sb-dark h3,
body.accessibility-light-high-contrast .aid-sb-dark dd {
  color: #fff !important;
}

body.accessibility-light-high-contrast .aid-sb-dark dt {
  color: #ddd !important;
}

body.accessibility-light-high-contrast .contact-band {
  background: #fff !important;
  border: 2px solid #000 !important;
  color: #000 !important;
}

body.accessibility-light-high-contrast .contact-band h2 {
  color: #000 !important;
}

body.accessibility-light-high-contrast .contact-band p {
  color: #333 !important;
}

body.accessibility-light-high-contrast .contact-band .consulting-list li {
  color: #000 !important;
}

body.accessibility-light-high-contrast .contact-band .consulting-list li::before {
  background: #000 !important;
}

body.accessibility-light-high-contrast .top-bar-contact a,
body.accessibility-light-high-contrast .top-bar-social a,
body.accessibility-light-high-contrast .top-search-trigger {
  font-weight: bold !important;
}

body.accessibility-light-high-contrast .dropdown-menu-tools .dropdown-header {
  font-weight: bold !important;
}

/* ============================================
   INVERTED MODE
   ============================================ */

body.accessibility-inverted {
  filter: invert(1) hue-rotate(180deg);
}

body.accessibility-inverted img:not(.accessibility-widget img),
body.accessibility-inverted video:not(.accessibility-widget video),
body.accessibility-inverted svg:not(.accessibility-widget svg),
body.accessibility-inverted [style*="background-image"]:not(.accessibility-widget *) {
  filter: invert(1) hue-rotate(180deg);
}

html > .accessibility-widget,
.accessibility-widget.widget-in-html {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 999999 !important;
}


/* ============================================
   TYPOGRAPHY FEATURES
   (Exclude widget elements from these changes)
   ============================================ */

/* Letter spacing */
body.accessibility-letter-spacing {
  letter-spacing: 0.12em;
}

body.accessibility-letter-spacing *:not(.accessibility-widget):not(.accessibility-widget *) {
  letter-spacing: inherit;
}

/* Line height - applied via CSS variable (always active like font size) */
/* 100% = line-height 1.5 (normal readable text) */
/* 150% = line-height 2.25, 200% = line-height 3.0 */
body:not(.accessibility-widget) {
  line-height: calc(1.5 * var(--line-height-multiplier, 1));
}

body p:not(.accessibility-widget *),
body li:not(.accessibility-widget *),
body span:not(.accessibility-widget *),
body div:not(.accessibility-widget *),
body td:not(.accessibility-widget *),
body th:not(.accessibility-widget *),
body article:not(.accessibility-widget *),
body section:not(.accessibility-widget *) {
  line-height: inherit;
}

/* Dyslexic font */
body.accessibility-dyslexic-font *:not(.accessibility-widget):not(.accessibility-widget *) {
  font-family: 'OpenDyslexic', 'Comic Sans MS', cursive, sans-serif !important;
}

/* ============================================
   NAVIGATION FEATURES
   ============================================ */

/* Highlight links */
body.accessibility-highlight-links a:not(.accessibility-widget *) {
  background-color: #ff0 !important;
  color: #000 !important;
  padding: 2px 4px !important;
  text-decoration: underline !important;
}

/* Large focus indicators - keep widget focus styling separate */
body.accessibility-large-focus *:not(.accessibility-widget *):focus {
  outline: 4px solid #0066cc !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 6px rgba(0, 102, 204, 0.3) !important;
}

/* Large cursor */
body.accessibility-large-cursor *:not(.accessibility-widget):not(.accessibility-widget *) {
  cursor: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><circle cx="16" cy="16" r="14" fill="%23000" stroke="%23fff" stroke-width="2"/></svg>') 16 16, auto !important;
}

/* ============================================
   LAYOUT FEATURES
   ============================================ */

/* Increased spacing */
body.accessibility-increased-spacing p:not(.accessibility-widget *),
body.accessibility-increased-spacing li:not(.accessibility-widget *),
body.accessibility-increased-spacing h1:not(.accessibility-widget *),
body.accessibility-increased-spacing h2:not(.accessibility-widget *),
body.accessibility-increased-spacing h3:not(.accessibility-widget *),
body.accessibility-increased-spacing h4:not(.accessibility-widget *),
body.accessibility-increased-spacing h5:not(.accessibility-widget *),
body.accessibility-increased-spacing h6:not(.accessibility-widget *) {
  margin-top: 1.5em !important;
  margin-bottom: 1.5em !important;
}

body.accessibility-increased-spacing .card:not(.accessibility-widget *),
body.accessibility-increased-spacing article:not(.accessibility-widget *),
body.accessibility-increased-spacing section:not(.accessibility-widget *) {
  padding: 2em !important;
  margin-bottom: 2em !important;
}

/* Show headings with underline */
body.accessibility-show-headings h1:not(.accessibility-widget *),
body.accessibility-show-headings h2:not(.accessibility-widget *),
body.accessibility-show-headings h3:not(.accessibility-widget *),
body.accessibility-show-headings h4:not(.accessibility-widget *),
body.accessibility-show-headings h5:not(.accessibility-widget *),
body.accessibility-show-headings h6:not(.accessibility-widget *) {
  border-bottom: 3px solid currentColor !important;
  padding-bottom: 0.3em !important;
}

/* Number headings */
body.accessibility-number-headings {
  counter-reset: h1;
}

body.accessibility-number-headings h1:not(.accessibility-widget *) {
  counter-reset: h2;
  counter-increment: h1;
}

body.accessibility-number-headings h1:not(.accessibility-widget *)::before {
  content: counter(h1) ". ";
}

body.accessibility-number-headings h2:not(.accessibility-widget *) {
  counter-reset: h3;
  counter-increment: h2;
}

body.accessibility-number-headings h2:not(.accessibility-widget *)::before {
  content: counter(h1) "." counter(h2) " ";
}

body.accessibility-number-headings h3:not(.accessibility-widget *) {
  counter-reset: h4;
  counter-increment: h3;
}

body.accessibility-number-headings h3:not(.accessibility-widget *)::before {
  content: counter(h1) "." counter(h2) "." counter(h3) " ";
}

/* Hide decorative elements */
body.accessibility-hide-decorative img[alt=""],
body.accessibility-hide-decorative [role="presentation"],
body.accessibility-hide-decorative [aria-hidden="true"]:not(.accessibility-widget *),
body.accessibility-hide-decorative .decorative {
  visibility: hidden !important;
}

/* Site-specific decorative elements */
/* Featured/banner images */
body.accessibility-hide-decorative .featured-image-container,
body.accessibility-hide-decorative .masthead_orange,
body.accessibility-hide-decorative .hero-unified,
body.accessibility-hide-decorative .banner,
body.accessibility-hide-decorative [class*="banner"],
body.accessibility-hide-decorative [class*="hero"]:not(.about-hero):not(.oferta-hero):not(.contact-hero):not(.en-hero):not(.product-hero) {
  display: none !important;
}

/* Logo */
body.accessibility-hide-decorative .navbar-brand img,
body.accessibility-hide-decorative .logotype {
  visibility: hidden !important;
}

/* Font Awesome icons (decorative) */
body.accessibility-hide-decorative .fa,
body.accessibility-hide-decorative .fas,
body.accessibility-hide-decorative .far,
body.accessibility-hide-decorative .fab,
body.accessibility-hide-decorative [class*="fa-"]:not(.accessibility-widget *) {
  visibility: hidden !important;
}

/* Decorative dividers and borders */
body.accessibility-hide-decorative hr,
body.accessibility-hide-decorative .blue-divider,
body.accessibility-hide-decorative .divider,
body.accessibility-hide-decorative [class*="divider"] {
  visibility: hidden !important;
}

/* Decorative background images */
body.accessibility-hide-decorative [style*="background-image"]:not(.accessibility-widget *) {
  background-image: none !important;
}

/* ============================================
   READER MODE
   ============================================ */

/* Hide sidebars and distractions */
body.accessibility-reader-mode aside,
body.accessibility-reader-mode .sidebar,
body.accessibility-reader-mode .advertisement,
body.accessibility-reader-mode .ad,
body.accessibility-reader-mode [role="complementary"],
/* Site-specific: hide the right sidebar column */
body.accessibility-reader-mode .col-md-2:not(.accessibility-widget *),
body.accessibility-reader-mode .col-lg-2:not(.accessibility-widget *),
body.accessibility-reader-mode .col-lg-3:not(.accessibility-widget *),
body.accessibility-reader-mode .col-md-3:not(.accessibility-widget *),
body.accessibility-reader-mode .col-lg-4:not(.accessibility-widget *),
body.accessibility-reader-mode .col-md-4:not(.accessibility-widget *),
body.accessibility-reader-mode .sidebar-photo-standalone,
body.accessibility-reader-mode .sidebar-cta-banner,
body.accessibility-reader-mode .search-sidebar {
  display: none !important;
}

/* Hide navigation and footer in reader mode for cleaner reading */
body.accessibility-reader-mode .navbar,
body.accessibility-reader-mode nav:not(.accessibility-widget *),
body.accessibility-reader-mode footer,
body.accessibility-reader-mode .site-footer,
body.accessibility-reader-mode .masthead_orange,
body.accessibility-reader-mode .hero-unified,
body.accessibility-reader-mode .blue-divider,
body.accessibility-reader-mode .site-header-bar {
  display: none !important;
}

/* Expand main content to full width and center */
body.accessibility-reader-mode main,
body.accessibility-reader-mode article,
body.accessibility-reader-mode .content,
body.accessibility-reader-mode .post-detail,
body.accessibility-reader-mode .col-md-10,
body.accessibility-reader-mode .col-md-8,
body.accessibility-reader-mode .col-lg-8 {
  max-width: 800px !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  margin: 0 auto !important;
  padding: 2em !important;
}

/* Make container fluid in reader mode */
body.accessibility-reader-mode .container {
  max-width: 900px !important;
}

body.accessibility-reader-mode .row {
  justify-content: center !important;
}

/* Keep widget visible in reader mode */
body.accessibility-reader-mode .accessibility-widget {
  display: block !important;
  visibility: visible !important;
}

/* AI detail page: hide sidebar in reader mode */
body.accessibility-reader-mode .aid-sidebar {
  display: none !important;
}

body.accessibility-reader-mode .aid-main {
  max-width: 800px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

/* Consulting offer pages: single-column grid in reader mode */
body.accessibility-reader-mode .consulting-grid {
  grid-template-columns: 1fr !important;
}

body.accessibility-reader-mode .consulting-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.accessibility-reader-mode .consulting-about {
  grid-template-columns: 1fr !important;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */
@media (max-width: 480px) {
  .accessibility-widget {
    bottom: 15px;
    right: 15px;
  }
  
  .accessibility-widget-button {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }
  
  .accessibility-widget-panel {
    width: calc(100vw - 30px);
    max-height: calc(100vh - 100px);
    bottom: 65px;
    right: -5px;
  }
  
  .accessibility-widget-button-group {
    flex-direction: column;
  }
  
  .accessibility-widget-button-small {
    width: 100%;
    text-align: center;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
  .accessibility-widget {
    display: none !important;
  }
}
