/* SSK visibility and navigation readability — 2026-08-27 */
.hero .hero-content,
.hero .hero-title {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

@media (min-width: 1201px) {
  .nav-menu > li > a { font-size: 1.0625rem !important; }
}

@media (min-width: 993px) and (max-width: 1200px) {
  .nav-menu > li > a { font-size: 0.96875rem !important; }
}

@media (max-width: 992px) {
  .nav-menu > li > a,
  .dropdown > a { font-size: 1.0625rem !important; }
  .dropdown-menu a { font-size: 1rem !important; }
}

/* SSK typography, keyboard and touch usability — 2026-09-07 */
html { font-size: 100% !important; }
body:not(.wp-admin) {
  font-family: var(--font-body, "Lato", Arial, sans-serif);
  line-height: 1.65;
}
body:not(.wp-admin) :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: break-word;
}
body:not(.wp-admin) :is(input,select,textarea,button) { font-family: inherit; }
main :is(input,select,textarea) { font-size: max(1rem,16px); }
main :is(p,li) { line-height: 1.65; }
main :is(h1,h2,h3,h4,[id]) { scroll-margin-top: 7rem; }
body:not(.wp-admin) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #1b4d3e !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
.nav-toggle { min-width: 44px; min-height: 44px; }
.nav-donate-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.program-card .flip-icon {
  width: 44px !important; height: 44px !important;
  min-width: 44px !important; min-height: 44px !important;
  max-width: 44px !important; max-height: 44px !important;
}
#sliderDotsNav { gap: 4px !important; flex-wrap: wrap; }
#sliderDotsNav .slider-dot-nav {
  width: 44px !important; height: 44px !important;
  min-width: 44px !important; min-height: 44px !important;
  max-width: 44px !important; max-height: 44px !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important;
  background: radial-gradient(circle, #1b4d3e 0 5px, transparent 6px) !important;
  transform: none !important;
}
#sliderDotsNav .slider-dot-nav.active {
  background: radial-gradient(circle, #1b4d3e 0 7px, #d4af37 8px 10px, transparent 11px) !important;
}
body.dark-mode #sliderDotsNav .slider-dot-nav {
  background: radial-gradient(circle, #f6e9bf 0 5px, transparent 6px) !important;
}
body.dark-mode #sliderDotsNav .slider-dot-nav.active {
  background: radial-gradient(circle, #fff 0 7px, #d4af37 8px 10px, transparent 11px) !important;
}
.ssk-card-heading { font-size: 1.5rem; margin-bottom: 1rem; }
@media (max-width: 992px) {
  .nav-menu:not(.active), .nav-menu:not(.active) * { visibility: hidden !important; }
  .hero .hero-title, main h1 { font-size: clamp(2rem,6vw,3rem) !important; }
  main .section-title { font-size: clamp(1.75rem,5vw,2.5rem) !important; }
  main .slide-info h3 { font-size: 1.5rem !important; }
  main .slide-info p { font-size: 1rem !important; line-height: 1.65 !important; }
  .nav-donate-btn { font-size: .875rem !important; }
  main :is(.hero-description,.section-subtitle) { font-size: 1rem !important; }
}
@media (max-width: 480px) {
  .hero .hero-subtitle { font-size: 1.25rem !important; }
  .hero .hero-tagline { font-size: 1.125rem !important; }
  .hero .hero-content { padding-inline: 1rem !important; }
  main h2:not(.ssk-card-heading) { font-size: clamp(1.75rem,6vw,2rem) !important; }
  main .ssk-card-heading { font-size: 1.5rem !important; }
}

/* SSK remaining contrast fixes — 2026-09-08 */
.adm-process .adm-step h3 { color: #fff; }
.faq-answer a:not(.btn), .welcome-text p a:not(.btn) {
  color: #1b4d3e !important;
  text-decoration: underline !important;
  text-underline-offset: .16em;
}
body.dark-mode .faq-answer a:not(.btn),
body.dark-mode .welcome-text p a:not(.btn) { color: #f6e9bf !important; }

/* SSK live UI/UX recheck: scoped light-mode text contrast repairs.
 * Append to the CURRENT active theme css/site-overrides.css after backup.
 * Does not replace existing styles or alter the site's dark palette.
 */
body.page-id-18:not(.dark-mode) .job-info > .ssk-style-6da9f5daf577 {
  color: #666666 !important;
}

body.page-id-22:not(.dark-mode) .ssk-style-8ddc2dc45d68,
body.page-id-22:not(.dark-mode) .ssk-style-f81cd921776c,
body.page-id-22:not(.dark-mode) a.ssk-style-34c01101660a {
  color: #1b4d3e !important;
}

body.page-id-22 a.ssk-style-34c01101660a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* SSK approved Admissions number contrast. */
body:not(.dark-mode) .adm-programs-grid .adm-prog-num {
  color: #1b4d3e !important;
  opacity: 1 !important;
}
body.dark-mode .adm-programs-grid .adm-prog-num {
  color: #d4af37 !important;
  opacity: 1 !important;
}
