/*  Accesibilidad avanzada y experiencia móvil/táctil Celso-AQ */
:root {
  --accessibility-panel-bg:#FFFFFF;
  --accessibility-panel-border:#B7D8EE;
  --accessibility-focus:#E41E2B;
}
html.aq-large-text {
  font-size:112.5%;
}
html.aq-readable-font body {
  letter-spacing:.01em;
  word-spacing:.02em;
}
html.aq-high-contrast {
  --ingsoft-navy:#000814;
  --ingsoft-blue:#003E7E;
  --ingsoft-blue-2:#005BBA;
  --ingsoft-red:#B00020;
  --ingsoft-muted:#14213D;
  --ingsoft-line:#5A7593;
  --ingsoft-line-soft:#7892AD;
  --ingsoft-bg:#FFFFFF;
  --ingsoft-soft:#E6F2FF;
}
html.aq-high-contrast body,
html.aq-high-contrast .section-light,
html.aq-high-contrast .gateway-card,
html.aq-high-contrast .i18n-card,
html.aq-high-contrast .validation-card,
html.aq-high-contrast .lab-module-card,
html.aq-high-contrast .report-feature-card,
html.aq-high-contrast .learning-path-card,
html.aq-high-contrast .assessment-panel,
html.aq-high-contrast .learning-mode-panel,
html.aq-high-contrast .scientific-report-tools,
html.aq-high-contrast .physics-validation-panel {
  background:#FFFFFF !important;
  color:#000814 !important;
}
html.aq-high-contrast p,
html.aq-high-contrast li,
html.aq-high-contrast span,
html.aq-high-contrast label {
  color:#14213D;
}
html.aq-high-contrast .btn-primary,
html.aq-high-contrast .assessment-actions button:first-child,
html.aq-high-contrast .learning-mode-switch button.is-active {
  background:#003E7E !important;
  border-color:#003E7E !important;
  color:#FFFFFF !important;
}
html.aq-reduce-motion *,
html.aq-reduce-motion *::before,
html.aq-reduce-motion *::after {
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline:3px solid var(--accessibility-focus) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 5px rgba(228,30,43,.18) !important;
}
.aq-accessibility-toggle {
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:160;
  min-width:52px;
  min-height:52px;
  border:1px solid var(--ingsoft-line);
  border-radius:999px;
  background:var(--ingsoft-navy);
  color:#FFFFFF;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 18px 48px rgba(3,13,27,.22);
}
.aq-accessibility-panel {
  position:fixed;
  right:1rem;
  bottom:4.8rem;
  z-index:159;
  width:min(360px, calc(100vw - 2rem));
  border:1px solid var(--accessibility-panel-border);
  border-radius:24px;
  background:var(--accessibility-panel-bg);
  color:var(--ingsoft-ink);
  box-shadow:0 24px 80px rgba(3,13,27,.22);
  padding:1rem;
}
.aq-accessibility-panel[hidden] {
  display:none;
}
.aq-accessibility-panel h2 {
  margin:.1rem 0 .4rem;
  color:var(--ingsoft-navy);
  font-size:1.05rem;
}
.aq-accessibility-panel p {
  margin:0 0 .75rem;
  color:var(--ingsoft-muted);
  font-weight:760;
  line-height:1.45;
}
.aq-accessibility-controls {
  display:grid;
  gap:.55rem;
}
.aq-accessibility-controls button {
  min-height:44px;
  border:1px solid var(--ingsoft-line);
  border-radius:16px;
  background:#F8FCFF;
  color:var(--ingsoft-navy);
  font-weight:930;
  cursor:pointer;
  padding:.68rem .8rem;
  text-align:left;
}
.aq-accessibility-controls button[aria-pressed="true"] {
  background:var(--ingsoft-blue);
  border-color:var(--ingsoft-blue);
  color:#FFFFFF;
}
.aq-touch-target,
.btn,
.nav-hierarchical .nav-link,
.nav-hierarchical .nav-parent,
.nav-hierarchical .lang-switch,
.lab-secondary-inner a,
.assessment-actions button,
.learning-mode-switch button,
.scientific-report-tools button,
.lab-tools-panel button,
button,
input[type="radio"],
input[type="checkbox"] {
  touch-action:manipulation;
}
@media (pointer:coarse) {
  .btn,
  .nav-hierarchical .nav-link,
  .nav-hierarchical .nav-parent,
  .nav-hierarchical .lang-switch,
  .lab-secondary-inner a,
  .assessment-actions button,
  .learning-mode-switch button,
  .scientific-report-tools button,
  .lab-tools-panel button,
  button {
    min-height:48px;
  }
  .assessment-question label,
  .learning-mode-grid article,
  .lab-module-card,
  .validation-card {
    padding:.95rem;
  }
  canvas {
    touch-action:none;
  }
}
@media (max-width:760px) {
  .aq-accessibility-toggle {
    right:.75rem;
    bottom:.75rem;
  }
  .aq-accessibility-panel {
    right:.75rem;
    bottom:4.4rem;
    width:calc(100vw - 1.5rem);
    max-height:70vh;
    overflow:auto;
  }
  .hero-actions {
    align-items:stretch;
  }
  .hero-actions .btn {
    width:100%;
    justify-content:center;
  }
  .assessment-question label {
    min-height:44px;
  }
}
