/* NIT Andhra Pradesh - Accessibility Widget */
:root {
  --nitap-a11y-blue: #2457e7;
  --nitap-a11y-text: #172033;
  --nitap-a11y-muted: #687895;
  --nitap-a11y-panel: #ffffff;
  --nitap-a11y-focus: #ff9f1c;
}
#nitap-a11y-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999990;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 15px;
  background: var(--nitap-a11y-blue);
  color: #fff;
  box-shadow: 0 2px 12px rgb(0 0 0 / 30%);
  cursor: pointer;
}
#nitap-a11y-launcher svg { width: 30px; height: 30px; }
#nitap-a11y-panel,
#nitap-a11y-panel * { box-sizing: border-box; }
#nitap-a11y-panel {
  position: fixed;
  right: 20px;
  bottom: 86px;
  z-index: 999991;
  width: 320px;
  max-width: calc(100vw - 28px);
  max-height: min(78vh, 690px);
  overflow: auto;
  padding: 20px;
  border: 1px solid #e3e8f0;
  border-radius: 18px;
  background: var(--nitap-a11y-panel);
  color: var(--nitap-a11y-text);
  box-shadow: 0 8px 35px rgb(0 0 0 / 25%);
  font: 14px/1.45 Arial, Helvetica, sans-serif;
}
#nitap-a11y-panel[hidden] { display: none !important; }
.nitap-a11y-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.nitap-a11y-title { margin: 0; font-size: 18px; font-weight: 700; }
.nitap-a11y-close {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #64748b;
  font-size: 23px;
  cursor: pointer;
}
.nitap-a11y-section { margin: 17px 0 0; }
.nitap-a11y-section h3 {
  margin: 0 0 9px;
  color: var(--nitap-a11y-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nitap-a11y-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nitap-a11y-action {
  min-height: 39px;
  padding: 9px 7px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: #edf2ff;
  color: #2457e7;
  font: 600 11px/1.3 Arial, Helvetica, sans-serif;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.nitap-a11y-action[data-active="true"] { border-color: currentColor; box-shadow: inset 0 0 0 1px currentColor; }
.nitap-a11y-action.green { background: #eafbf3; color: #008b61; }
.nitap-a11y-action.orange { background: #fff4e8; color: #b95300; }
.nitap-a11y-action:focus-visible,
.nitap-a11y-close:focus-visible,
#nitap-a11y-launcher:focus-visible,
#nitap-a11y-reset:focus-visible {
  outline: 3px solid var(--nitap-a11y-focus);
  outline-offset: 3px;
}
#nitap-a11y-reset {
  width: 100%;
  min-height: 43px;
  margin-top: 19px;
  padding: 10px;
  border: 1px solid #aeb7c4;
  border-radius: 11px;
  background: #f1f5f9;
  color: #334155;
  font: 600 12px Arial, Helvetica, sans-serif;
  cursor: pointer;
}
.nitap-a11y-status {
  margin: 12px 0 0;
  color: #475569;
  font-size: 11px;
}
.nitap-a11y-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Preferences are scoped to the website document. */
html.nitap-a11y-high-contrast body {
  background: #000 !important;
  color: #fff !important;
}
html.nitap-a11y-high-contrast body *:not(img):not(video):not(svg):not(path) {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}
html.nitap-a11y-invert { filter: invert(1) hue-rotate(180deg); }
html.nitap-a11y-invert img,
html.nitap-a11y-invert video,
html.nitap-a11y-invert iframe { filter: invert(1) hue-rotate(180deg); }
html.nitap-a11y-highlight-links a {
  outline: 2px solid #e11d48 !important;
  outline-offset: 2px !important;
  background: #fff4b8 !important;
  color: #111 !important;
  text-decoration: underline !important;
}
html.nitap-a11y-big-cursor,
html.nitap-a11y-big-cursor * { cursor: crosshair !important; }
html.nitap-a11y-hide-images img,
html.nitap-a11y-hide-images picture,
html.nitap-a11y-hide-images video,
html.nitap-a11y-hide-images svg:not(#nitap-a11y-panel svg):not(#nitap-a11y-launcher svg) {
  visibility: hidden !important;
}
html.nitap-a11y-dyslexia-font body,
html.nitap-a11y-dyslexia-font body * {
  font-family: Verdana, Arial, sans-serif !important;
}
html.nitap-a11y-saturation-low { filter: saturate(.5); }
html.nitap-a11y-saturation-high { filter: saturate(1.5); }
html.nitap-a11y-line-height body { line-height: 1.8 !important; }
html.nitap-a11y-line-height body * { line-height: inherit; }
html.nitap-a11y-letter-spacing body,
html.nitap-a11y-letter-spacing body * { letter-spacing: .06em !important; }
@media (max-width: 480px) {
  #nitap-a11y-launcher { right: 14px; bottom: 14px; width: 48px; height: 48px; }
  #nitap-a11y-panel { right: 10px; bottom: 72px; max-width: calc(100vw - 20px); padding: 17px; }
}
@media (prefers-reduced-motion: no-preference) {
  #nitap-a11y-panel { animation: nitap-a11y-appear .12s ease-out; }
  @keyframes nitap-a11y-appear {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

#nitap-a11y-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999990;
  /* other styles */
}

/* Modern animated accessibility launcher */
#nitap-a11y-launcher {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 58px;
    height: 58px;
    border: 2px solid #ffffff;
    border-radius: 18px;
    background: linear-gradient(135deg, #0758c9, #06347c);
    color: #ffffff;
    box-shadow: 0 5px 20px rgba(0, 65, 160, 0.35);
    cursor: pointer;
    overflow: visible;
    animation: nitap-a11y-float 3s ease-in-out infinite;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Animated glowing ring */
#nitap-a11y-launcher::before {
    content: "";
    position: absolute;
    inset: -6px;
    border: 2px solid rgba(0, 105, 255, 0.65);
    border-radius: 23px;
    animation: nitap-a11y-ring 2.4s ease-out infinite;
    pointer-events: none;
}

/* Smooth hover effect */
#nitap-a11y-launcher:hover {
    transform: scale(1.12) rotate(-3deg);
    box-shadow: 0 8px 28px rgba(0, 65, 160, 0.5);
}

/* Keep the accessibility symbol clear */
#nitap-a11y-launcher svg {
    width: 30px;
    height: 30px;
    display: block;
    margin: auto;
}

@keyframes nitap-a11y-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes nitap-a11y-ring {
    0% {
        transform: scale(0.92);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.2);
        opacity: 0;
    }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    #nitap-a11y-launcher,
    #nitap-a11y-launcher::before {
        animation: none;
    }

    #nitap-a11y-launcher {
        transition: none;
    }
}


