/*
 * WCAG 1.4.3 — final overrides (load absolutely last).
 * Fixes topbar .text-muted / icon contrast and footer column h2/h3 on navy panels.
 */

/* WAVE — idle loading overlay must not stay as a visibility:hidden layer */
#spinner:not(.show),
#spinner[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#spinner.show {
  display: flex !important;
  visibility: visible !important;
}

/* Topbar: solid navy — tools ignore gradient stops */
.container-fluid.topbar,
.topbar {
  background-color: #001529 !important;
  background-image: none !important;
}

.container-fluid.topbar a,
.topbar a,
.topbar a.topbar-contact-link,
.topbar a.text-muted,
.topbar .topbar-contact-link {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration-color: #ffffff !important;
  font-family: 'Inter', 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

.topbar a i,
.topbar a .topbar-contact-icon,
.topbar a i.text-primary,
.topbar a .text-primary,
.topbar i.text-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Footer column titles — never primary blue on #061729 (~3.5:1) */
html body .footer .footer-item h2,
html body .footer .footer-item h3,
html body .footer .footer-item-post h2,
html body .footer .footer-item-post h3,
html body .footer h2.text-white,
html body .footer h3.text-white,
.footer h2.text-white,
.footer h3.text-white {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #061729 !important;
  background-image: none !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
}

/* WCAG tools sample ::after gradient (#2563eb) as h2 background → 3.46:1 fail */
html body .footer h2.text-white::after,
html body .footer h3.text-white::after,
.footer h2.text-white::after,
.footer h3.text-white::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* Safe underline — neutral white line (never cyan #38bdf8 — tools read as blue text) */
html body .footer h2.text-white,
html body .footer h3.text-white,
html body .footer h2.footer-col-heading,
html body .footer h3.footer-col-heading {
  border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1.25rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

html body .footer h2.footer-col-heading,
html body .footer h3.footer-col-heading,
.footer h2.footer-col-heading,
.footer h3.footer-col-heading {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #061729 !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
}

/* Disclaimer registration strip — div must not inherit blue (~3.35) */
html body .disclaimer-entity-name,
html body .disclaimer-entity-intro .disclaimer-entity-name {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #071428 !important;
}

/* SEBI / GST / CIN / Member badges — opaque ink on each span (WCAG tools fail transparent spans) */
html body .disclaimer-entity-badge-label,
html body .disclaimer-entity-badge-value,
html body .container-fluid.copyright.disclaimer .disclaimer-entity-badge-label,
html body .container-fluid.copyright.disclaimer .disclaimer-entity-badge-value {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #0b1529 !important;
  background-image: none !important;
}

html body .disclaimer-entity-badge {
  background-color: #0b1529 !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

html body .disclaimer-entity-intro {
  background-color: #071428 !important;
  background-image: none !important;
}

html body .footer .footer-item,
html body .footer .footer-item-post {
  background-color: #061729 !important;
  background-image: none !important;
}

/* Company column — address / phone / email (WCAG extension flags #2563eb icon as <p> fail) */
html body .footer .footer-item p.footer-contact-line,
html body .footer .footer-item p.mb-2,
html body .footer .footer-link-row > [class*="col-"]:nth-child(1) .footer-item p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #061729 !important;
}

/* Useful links + Investor Notices headings — opaque panel (gold on transparent → ~1.84 on white) */
html body .disclaimer-quick-links-label,
html body .container-fluid.copyright.disclaimer .disclaimer-quick-links-label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #071f3a !important;
  background-image: none !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

html body .notice-bar .notice-title,
html body .container-fluid.notice-bar .notice-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #071f3a !important;
  background-image: none !important;
  display: inline-block !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
}

html body .disclaimer-quick-links-label::after {
  color: rgba(255, 255, 255, 0.45) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.45) !important;
}
html body .footer .footer-item p.mb-2 i,
html body .footer .footer-item p .fa-map-marker-alt,
html body .footer .footer-item p .fa-phone-alt,
html body .footer .footer-item p .fa-envelope {
  color: #efb41d !important;
  -webkit-text-fill-color: #efb41d !important;
}

/* Contact page — phone / email in Get in touch card (WCAG 4.5:1 on white) */
html body #contact .contact-info .contact-detail-line {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-family: 'Inter', 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
}

html body #contact .contact-info a.contact-link {
  color: #0c4a6e !important;
  -webkit-text-fill-color: #0c4a6e !important;
  background-color: #ffffff !important;
  font-family: 'Inter', 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body #contact .contact-info a.contact-link:hover,
html body #contact .contact-info a.contact-link:focus-visible {
  color: #082f49 !important;
  -webkit-text-fill-color: #082f49 !important;
}

html body #contact .contact-info .contact-detail-sep {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html body .page-breadcrumb .breadcrumb-item.active,
html body .page-breadcrumb .breadcrumb-current-label {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #ffffff !important;
  font-weight: 500 !important;
}

html body .nav-current-page {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  background-color: #ffffff !important;
  font-weight: 600 !important;
}

/* Inner-page banners — opaque navy behind white h1/h2 (tools ignore photo/gradient) */
/* Visible skip link in topbar — WAVE: no hidden-element alert; WCAG 2.4.1 */
html body .topbar a.topbar-skip-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #061729 !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body .navbar a.topbar-skip-visible {
  color: #1e3a5f !important;
  -webkit-text-fill-color: #1e3a5f !important;
  background-color: #ffffff !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* Legacy off-screen skip (removed on contact; kept for older pages until migrated) */
a.skip-to-content {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #0f172a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  z-index: 100000 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

a.skip-to-content:focus,
a.skip-to-content:focus-visible {
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  padding: 10px 14px !important;
  border: 2px solid #fbbf24 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

/* Body skip link — hidden until focus; must not inherit topbar white ink */
body > a.skip-link.visually-hidden-focusable:not(:focus):not(:focus-within),
body > a.visually-hidden-focusable.skip-link:not(:focus):not(:focus-within) {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  min-height: 0 !important;
  min-width: 0 !important;
  z-index: 100050 !important;
}

body > a.skip-link:focus,
body > a.skip-link:focus-visible,
body > a.visually-hidden-focusable.skip-link:focus,
body > a.visually-hidden-focusable.skip-link:focus-visible {
  position: fixed !important;
  left: 14px !important;
  top: 10px !important;
  width: auto !important;
  height: auto !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  background: #0f172a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #fbbf24 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Topbar skip link — hidden until keyboard focus (not on hero banner) */
.topbar-skip-link.visually-hidden-focusable:not(:focus):not(:focus-within) {
  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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  min-height: 0 !important;
  min-width: 0 !important;
}

.topbar-skip-link:focus,
.topbar-skip-link:focus-visible {
  position: fixed !important;
  left: 14px !important;
  top: 10px !important;
  z-index: 100050 !important;
  width: auto !important;
  height: auto !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  white-space: normal !important;
  background: #0f172a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #fbbf24 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

html body .contact-banner-title-shell {
  display: inline-block !important;
  background-color: #071f3a !important;
  background-image: none !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
  border: 1px solid #1e3a5f !important;
}

html body .contact-banner-title-shell .contact-page-banner-title,
html body .contact-page-banner-title,
html body .section-banner-contact h1,
html body .section-banner-contact h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #071f3a !important;
  background-image: none !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  margin: 0 !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.2 !important;
  display: inline-block !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
}

/* Breadcrumb — WAVE samples rgba teal wash as failing (~3.6:1); use solid strip */
html body .page-breadcrumb {
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

html body .page-breadcrumb .breadcrumb-item a {
  color: #1e3a5f !important;
  -webkit-text-fill-color: #1e3a5f !important;
  background-color: #ffffff !important;
}

html body .page-breadcrumb .breadcrumb-item.active {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-color: #ffffff !important;
  font-weight: 500 !important;
}

html body .page-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #475569 !important;
}

html body #download .section-banner h2,
html body .section-banner-about h1,
html body .section-banner-about h2,
html body .section-banner-service h1,
html body .section-banner-service h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #071f3a !important;
  background-image: none !important;
}

/* Service cards — consistent left-aligned typography + AA contrast */
html body #service .service-content,
html body #service .service-content-inner {
  text-align: left !important;
  background-color: #ffffff !important;
}

html body #service .service-card-title,
html body #service .service-card-title span {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-family: 'Inter', 'Poppins', system-ui, sans-serif !important;
}

html body #service .service-card-title i {
  color: #1e40af !important;
  -webkit-text-fill-color: #1e40af !important;
}

html body #service .service-content-inner p,
html body #service .service-content-inner .service-card-desc {
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
  background-color: #ffffff !important;
  font-family: 'Inter', 'Poppins', system-ui, sans-serif !important;
  font-size: 0.96875rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

html body #service .service-content .btn.btn-light.rounded-pill {
  background-color: #eef3f9 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border-color: rgba(15, 42, 68, 0.2) !important;
}

html body #service .service-item:hover .service-content,
html body #service .service-item:hover .service-content-inner {
  background-color: #ffffff !important;
}

html body #service .service-item:hover .service-content-inner p,
html body #service .service-item:hover .service-content-inner .service-card-desc,
html body #service .service-item:hover .service-card-title span {
  color: #1e293b !important;
  -webkit-text-fill-color: #1e293b !important;
}
