﻿/* Accessibility overrides and helpers */

/* 1) Visible focus indication */
a, button, [role="button"], input, textarea, select, summary,
[tabindex]:not([tabindex='-1']) {
  outline-offset: 2px;
}

a:focus, button:focus, [role="button"]:focus, input:focus,
textarea:focus, select:focus, summary:focus,
[tabindex]:not([tabindex='-1']):focus {

  outline: 3px solid #ffbf47 !important; /* high-contrast amber ring */
}

/* 2) Improve link visibility on dark/blue backgrounds */
.login_area, .more_btn_2,
.newclass_area .container .calendar_table .calendar_table_title,
.header_2 .container .pc_nav a:first-child {
  color: #ffffff !important;
}
.login_area a,
.newclass_area .container .calendar_table .calendar_table_title a,
.header_2 .container .pc_nav a:first-child {
  color: #ffffff !important;
  text-decoration: underline;
}

/* Do NOT force white links in the large footer list; keep contrast on light background */
.big_footer .big_footer_item li:nth-child(n+2) a {
  color: #000000 !important;
}

/* 3) Make carousel prev/next controls always visible */
.carousel-control-prev .control-text,
.carousel-control-next .control-text {
  display: inline-block;
  background: rgba(0,0,0,0.5);
  color: #fff;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 0.875rem;
}

/* Ensure default Bootstrap icon masks remain visible on light backgrounds */
.carousel-control-prev-icon, .carousel-control-next-icon {
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.6));
}

/* Place banner controls at the sides of the banner */
#carousel_2 .carousel-control-prev,
#carousel_2 .carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5%;
  opacity: 0.9;
}
#carousel_2 .carousel-control-prev { left: 10px; }
#carousel_2 .carousel-control-next { right: 10px; }

/* Same placement for the top banner */
#bigBanner .carousel-control-prev,
#bigBanner .carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5%;
  opacity: 0.9;
}
#bigBanner .carousel-control-prev { left: 20px; }
#bigBanner .carousel-control-next { right: 20px; }

/* 4) High-contrast primary buttons */
.btn.btn-primary {
  color: #ffffff !important;
  background-color: #005a8d !important;
  border-color: #004a77 !important;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn.btn-primary.dropdown-toggle {
  color: #ffffff !important;
  background-color: #004a77 !important;
  border-color: #00385b !important;
}
.btn.btn-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 90, 141, 0.35) !important;
}

/* 5) Utility bar text uses dark brand color for contrast */
.header_1,
.header_1 a,
.header_1 span,
.header_1 label {
  color: #102342 !important;
}
.header_1 .font_size {
  border-color: #102342 !important;
}
.header_1 .font_size.active {
  background-color: #f9793e !important;
  border-color: #f9793e !important;
}

/* 6) News list links */
.news_area .container .index_table_1 tr th a,
.news_area .container .index_table_1 tr td a {
  color: #102342 !important;
}
.news_area .container .index_table_1 tr th a:hover,
.news_area .container .index_table_1 tr td a:hover {
  color: #0b2d63 !important;
}

/* 7) Footer utility links retain white text on blue panels */
.logout_area .container .row div a,
.footer .container div a {
  color: #ffffff !important;
}

/* 8) Raise default link contrast */
body a {
  color: #102342;
}
body a:hover,
body a:focus {
  color: #0b2d63;
}

/* 9) New classes list text on gradient */
.newclass_area .container .index_table_2 tr td,
.newclass_area .container .index_table_2 tr td a {
  color: #102342 !important;
}
.newclass_area .container .index_table_2 tr td a:hover,
.newclass_area .container .index_table_2 tr td a:focus {
  color: #0b2d63 !important;
}

/* 10) Skip links and carousel controls */
#gotocenter,
#U,
#C,
.sr-only-focusable {
  color: #102342 !important;
}
#gotocenter:focus,
#U:focus,
#C:focus,
.sr-only-focusable:focus {
  color: #ffffff !important;
  background-color: #102342 !important;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

.carousel-control-prev,
.carousel-control-next {
  color: #102342 !important;
}
.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #0b2d63 !important;
}
.carousel-control-prev .sr-only,
.carousel-control-next .sr-only {
  color: #102342 !important;
}

/* 11) Visited link contrast */
body a:visited {
  color: #102342;
}

/* 12) Pagination contrast */
.center_area .page_tag .pagination li a,
.center_area .page_tag .pagination li span {
  color: #102342 !important;
}
.center_area .page_tag .pagination li a:hover,
.center_area .page_tag .pagination li a:focus {
  color: #0b2d63 !important;
  text-decoration: underline;
}
.center_area .page_tag .pagination li.active span,
.center_area .page_tag .pagination li.active a,
.center_area .page_tag .pagination li span.current {
  color: #ffffff !important;
  background-color: #102342 !important;
  border-color: #102342 !important;
}
.center_area .page_tag .pagination li.disabled span,
.center_area .page_tag .pagination li.disabled a {
  color: #707070 !important;
}

/* 13) Global pagination link contrast */
.pagination .page-link {
  color: #0a2a66 !important;
}
.pagination .page-link:hover,
.pagination .page-link:focus {
  color: #061d47 !important;
  text-decoration: underline;
}
.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover,
.pagination .page-item.active .page-link:focus {
  color: #ffffff !important;
  background-color: #0a2a66 !important;
  border-color: #0a2a66 !important;
}
.pagination .page-item.disabled .page-link {
  color: #707070 !important;
}
