/* =============================================================================
   mi_style_one.css — Course Offering Filter & Listing Styles
   Load order: after bootstrap.min.css, style.css, and wp_head() output.

   SPECIFICITY RULE — always follow when adding new selectors:
   Before writing any selector, check style.css for rules that target the same
   element via a parent chain (e.g. .sec_title p, .cc_wrap .cc_inner .cc_item p).
   If a matching rule in style.css has equal or higher specificity, increase the
   specificity of the selector here by adding the real DOM parent(s):

     ✗  .some-class         (0,1,0) — loses to .sec_title p (0,1,1)
     ✓  .sec_title p.some-class    (0,2,1) — always wins

   Known high-specificity rules in style.css to watch out for:
     · .sec_title p                    (0,1,1)  → affects any <p> inside .sec_title
     · .cc_wrap .cc_inner .cc_item p   (0,3,1)  → affects any <p> inside .cc_item
     · .cc_wrap .cc_inner .cc_item h3  (0,3,1)  → affects any <h3> inside .cc_item
   ============================================================================= */

.filter_wrap {
  margin-bottom: 30px;
}

.filter_wrap .row {
  margin: 0 -20px;
}

.filter_wrap .row .col-12 {
  padding: 0 20px;
}

.filter_wrap .f_box {
  margin-bottom: 18px;
}

.filter_wrap .f_box .f_heading {
  font: 500 22px/30px Barlow Semi Condensed;
  letter-spacing: 0.11px;
  color: #006E51;
  border-bottom: solid 2px #006E51;
  padding-bottom: 4.5px;
  margin: 0;
}

.filter_wrap .f_box .f_check {
  padding-inline-start: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 37px;
}

.filter_wrap .f_box .f_check li {
  display: block;
  position: relative;
  border-bottom: dotted 1px #C2CAC8;
  padding: 3px 0;
}

.filter_wrap .f_box .f_check li input {
  padding: 0;
  height: initial;
  width: initial;
  margin-bottom: 0;
  display: none;
  cursor: pointer;
}

.filter_wrap .f_box .f_check li label {
  position: relative;
  cursor: pointer;
  font: normal 16px/28px Barlow Semi Condensed;
  letter-spacing: 0.08px;
  color: #3C413F;
  width: 100%;
  padding: 0 20px;
}

.filter_wrap .f_box .f_check li label::before {
  content: "";
  background-color: transparent;
  width: 14px;
  height: 14px;
  border: solid 1px #707070;
  border-radius: 3px;
  margin-right: 6px;
  position: absolute;
  top: 7px;
  left: 0;
}

.filter_wrap .f_box .f_check li label::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #076E51;
  position: absolute;
  top: 10px;
  left: 3px;
  border-radius: 2px;
  opacity: 0;
  transition: all 200ms ease-in-out;
}

.filter_wrap .f_box .f_check li input:checked + label:after {
  opacity: 1;
}

.filter_wrap .f_box .f_check li img {
  width: 17px;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: right;
  object-position: right;
  position: absolute;
  top: 9px;
  right: 0;
}

.filter_wrap .f_box .f_check.f_check2 {
  grid-template-columns: repeat(3, 1fr);
  gap: 0 40px;
}

.filter_wrap .f_box .f_check.f_check2 li label {
  padding-right: 0;
}

.filter_wrap .f_box .f_check.f_check3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 45px;
}

.filter_wrap .f_box .f_check.f_check3 li {
  border: none;
}

.filter_wrap .f_box .f_check.f_check3 li label {
  padding-right: 0;
}

.filter_wrap .range_wrap {
  padding-top: 1px;
  padding-bottom: 20px;
}

.filter_wrap .range_wrap .st_text {
  font: normal 16px/28px Barlow Semi Condensed;
  letter-spacing: 0.08px;
  color: #3C413F;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
}

.filter_wrap .range_wrap .range-inner {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 102px);
  margin-top: 6px;
}

.filter_wrap .range_wrap .range-inner::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 5px;
  height: 21px;
  background-color: #fff;
  box-shadow: inset 0px 0px 0px 1px #7C8482;
  border-radius: 3px;
}

.filter_wrap .range_wrap .range-inner .range {
  width: 100%;
}

.filter_wrap .range_wrap .range-inner .bubble {
  position: absolute;
  border-radius: 4px;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font: normal 16px/28px Barlow Semi Condensed;
  letter-spacing: 0.08px;
  color: #3C413F;
  text-align: center;
}

.filter_wrap .range_wrap .range-inner .bubble::after {
  content: "days";
  margin-left: 2px;
}

.filter_wrap .range_wrap .range-inner input {
  --c: #32A07D;
  --l: 14px;
  --h: 21px;
  --w: 6px;
  width: 400px;
  height: var(--h);
  --_c: color-mix(in srgb, var(--c), #000 var(--p, 0%));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  cursor: pointer;
  overflow: hidden;
}

.filter_wrap .range_wrap .range-inner input[type=range i]::-webkit-slider-thumb {
  height: var(--h);
  width: var(--w);
  background: #fff;
  border-image: linear-gradient(90deg, var(--_c) 50%, #C2CAC8 0) 0 1/calc(50% - var(--l) / 2) 100vw/0 100vw;
  -webkit-appearance: none;
  appearance: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 3px;
  box-shadow: inset 0px 0px 0px 1px #7C8482;
}

.filter_wrap .range_wrap .range-inner input[type=range]::-moz-range-thumb {
  height: var(--h);
  width: var(--w);
  background: #000;
  border-image: linear-gradient(90deg, var(--_c) 50%, #C2CAC8 0) 0 1/calc(50% - var(--l) / 2) 100vw/0 100vw;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -moz-transition: 0.3s;
  transition: 0.3s;
  border-radius: 3px;
}

.filter_wrap .custom_radio {
  padding-inline-start: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 37px;
}

.filter_wrap .custom_radio li {
  display: block;
  text-align: left;
  font: normal 16px/28px Barlow Semi Condensed;
  letter-spacing: 0.08px;
  color: #3C413F;
}

.filter_wrap .custom_radio li input[type=radio] {
  position: absolute;
  left: -9999px;
}

.filter_wrap .custom_radio li input[type=radio] + label {
  position: relative;
  padding-left: 20px;
  cursor: pointer;
}

.filter_wrap .custom_radio li input[type=radio] + label::before {
  content: "";
  background: #fff;
  border: 1px solid #707070;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 0;
}

.filter_wrap .custom_radio li input[type=radio] + label::after {
  content: "";
  background: #076E51;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 3.3px;
  opacity: 0;
  transform: scale(2);
  transition: transform 0.3s linear, opacity 0.3s linear;
}

.filter_wrap .custom_radio li input[type=radio]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

.filter_wrap .submit_btn {
  text-align: right;
  margin-top: 32px;
}

.filter_wrap .submit_btn button {
  font: 600 16px/20px Barlow Semi Condensed;
  letter-spacing: 0px;
  color: #004B37;
  text-transform: uppercase;
  padding: 8px 14px;
  padding-bottom: 9px;
  background-color: #fff;
  border: solid 2px var(--orange3);
  height: 46px;
  transition: all 150ms ease-in-out;
}

.filter_wrap .submit_btn button i {
  margin-right: 5px;
}

.filter_wrap .submit_btn button.reset_btn i {
  transform: scaleX(-1);
}

.filter_wrap .submit_btn button:hover {
  background-color: var(--orange3);
}


/* =============================================================================
   CC_WRAP — Side padding when viewport < 1362px (content not touching screen)
   ============================================================================= */
@media (max-width: 1362px) {
  .cc_wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* =============================================================================
   Remove padding-bottom from the course listing section (overrides style.css)
   ============================================================================= */
section.cc_wrap.custom-wrap-courses {
  padding-bottom: 0;
}

/* =============================================================================
   Strip Bootstrap .container padding inside course-listing wrappers — all sizes
   Scoped to .custom-wrap-courses and .cc_wrap so other pages are unaffected.
   ============================================================================= */
.custom-wrap-courses .container,
.custom-wrap-courses .container-fluid,
.cc_wrap .container,
.cc_wrap .container-fluid {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

/* .custom-wrap-courses container: max 1362px, 30px sides when viewport < 1362px */
.custom-wrap-courses .container,
.custom-wrap-courses .container-fluid {
  max-width: 1362px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1362px) {
  .custom-wrap-courses .container,
  .custom-wrap-courses .container-fluid {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* =============================================================================
   Strip Bootstrap .container below 992px — avoid Bootstrap layout conflicts
   ============================================================================= */
@media (max-width: 991px) {
  .cc_wrap .container,
  .cc_wrap .container-fluid,
  .custom-wrap-courses .container,
  .custom-wrap-courses .container-fluid {
    max-width: none;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
}

/* =============================================================================
   MOBILE FILTER ACCORDION — switches to accordion below 1024px
   Non-filter layout rules kept at 768px further below.
   ============================================================================= */

@media (max-width: 1023px) {

  /* Mobile filter stretches full width */
  .filter-section--mobile,
  .mf-wrap {
    width: 100%;
    padding: 0;
    margin: 0;
  }

  .mobile_filter .filter_wrap {
    margin-bottom: 0;
  }

  /* Each filter item row — no outer border on mobile */
  .mf-item {
    border-bottom: none;
    padding-top: 9.5px;
  }

  /* Trigger button: title left, chevron right */
  .mf-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 2px solid #32A07D;
    padding: 0 0 12.5px;
    cursor: pointer;
    text-align: left;
    font: normal normal 500 22px/30px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0.11px;
    color: #006E51;
  }

  .mf-trigger .f_heading {
    font: inherit;
    color: inherit;
    border-bottom: none !important;
    margin: 0;
    padding: 0;
    display: block;
    position: relative;
    z-index: 1;
  }

  .mf-chevron {
    font-size: 16px;
    color: #58D4B0;
    flex-shrink: 0;
    margin-right: 12px;
    transition: transform 250ms ease;
    display: inline-block;
  }

  /* Rotate chevron when open */
  .mf-item.mf-item--open .mf-chevron {
    transform: rotate(180deg);
  }

  /* Collapsible body: hidden by default */
  .mf-body {
    display: none;
    overflow: hidden;
  }

  .mf-body[aria-hidden="false"] {
    display: block;
  }

  /* Checkboxes inside mobile body: single column list */
  .mf-body .f_check,
  .mf-body .f_check.f_check2,
  .mf-body .f_check.f_check3 {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding: 4px 0 12px;
    grid-template-columns: unset;
  }

  .mf-body .f_check li {
    border-bottom: dotted 1px #C2CAC8;
    padding: 5px 0;
    display: flex;
    gap: 6px;
  }

  .mf-body .f_check li img {
    width: 25px;
    margin-left: 13px;
    position: static;
    top: auto;
    right: auto;
    object-position: unset;
  }

  /* Reset button row */
  .mf-reset {
    margin-top: 0;
    margin-bottom: 8px;
    text-align: left;
  }

  .mf-reset .reset_btn {
    width: 190px;
    background: #FFFFFF;
    border: 2px solid #E8C650;
    border-radius: 7px;
    font: normal normal 600 16px/20px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0px;
    color: #006E51;
    text-transform: uppercase;
    padding: 11px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  .mf-reset .reset_btn i {
    font-size: 12px;
    transform: rotate(90deg);
  }

  .courses-filter-panel {
    margin-top: 40px;
    margin-bottom: 40px;
    padding-top: 0;
    padding-bottom: 26px;
  }

  .courses-filter-panel__header {
    padding: 20px 0;
  }

  .courses-filter-panel__label {
    font: normal normal 500 26px/34px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0px;
    color: #000000;
  }

  .courses-filter-panel.is-collapsed .courses-filter-panel__icon {
    border-color: transparent;
    background: transparent;
    color: #962D00;
  }

  .filter_wrap .submit_btn {
    margin-top: 20px;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: left;
  }

  /* Count/sort bar — same layout as 768px so 769–1023px matches mobile look */
  .courses-count-sort {
    margin-bottom: 55px;
  }

  .courses-sort-radios {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    gap: 15px;
    align-items: center;
    justify-content: start;
    justify-items: start;
    margin-top: 6px;
    flex-wrap: unset;
  }

  .courses-count-bar {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 0;
    gap: 6px;
  }

  #number_countt {
    position: static !important;
    margin-top: 0 !important;
    display: inline !important;
  }

  .course-offerings-dropdown {
    max-width: none !important;
  }

}

/* =============================================================================
   NON-FILTER mobile layout rules — still at 768px
   ============================================================================= */

@media (max-width: 768px) {

  /* Container already neutralized at 991px; ensure no extra padding */
  .cc_wrap .container,
  .cc_wrap .container-fluid,
  .custom-wrap-courses .container,
  .custom-wrap-courses .container-fluid {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .custom-wrap-courses .sec_title {
    margin-bottom: 0 !important;
  }

  .courses-count-sort {
    margin-bottom: 55px;
  }

  .courses-sort-radios {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    gap: 15px;
    align-items: center;
    justify-content: start;
    justify-items: start;
    margin-top: 6px;
    flex-wrap: unset;
  }

  .courses-count-bar {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 0;
    gap: 6px;
  }

  #number_countt {
    position: static !important;
    margin-top: 0 !important;
    display: inline !important;
  }

  .course-offerings-dropdown {
    max-width: none !important;
    width: 100%;
    border: 2px solid #E8C650;
    border-radius: 8px;
    margin-bottom: 30px;
  }

  .cc_wrap {
    padding-top: 30px;
  }

  .cc_wrap .sec_title h1 {
    font: normal normal bold 36px/44px Rubik, sans-serif;
    letter-spacing: 0px;
    color: #962C08;
    margin-bottom: 15px;
  }

  .sec_title .courses-subtitle {
    font: normal normal 600 26px/34px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0px;
    color: #034B39;
    margin-bottom: 10px;
  }

}
/* =============================================================================
   END MOBILE FILTER
   ============================================================================= */


@supports not (color: color-mix(in srgb, #32A07D, #32A07D)) {
  .filter_wrap .range_wrap .range-inner input {
    --_c: var(--c);
  }
}

.sec_title.sec_title2 {
  margin-bottom: 13px;
}

.sec_title.sec_title2 h3 {
  margin: 0;
}

/* Course listing page: H1 = course name — desktop only (mobile override is in max-width: 768px block) */
@media (min-width: 769px) {
  .cc_wrap .sec_title h1 {
    font: normal normal bold 40px/47px Rubik, sans-serif;
    letter-spacing: 0px;
    color: #962C08;
    text-transform: uppercase;
    margin: 0 0 11px;
  }

  .sec_title .courses-subtitle {
    font: normal normal 600 32px/36px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0px;
    color: #034B39;
    margin: 0 0 12px;
    text-transform: capitalize;
  }
}

/* Course listing category description
   Specificity raised to (0,2,1) to beat .sec_title p (0,1,1) in style.css */
.sec_title p.courses-cat-description {
  font: normal normal normal 22px/32px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #000000;
  margin: 0;
}

@media (max-width: 1200px) {
  .filter_wrap .row {
    margin: 0 -15px;
  }

  .filter_wrap .row .col-12 {
    padding: 0 15px;
  }

  .filter_wrap .f_box .f_check {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {

  .filter_wrap .f_box .f_check,
  .filter_wrap .f_box .f_check.f_check2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {

  .filter_wrap .f_box .f_check,
  .filter_wrap .f_box .f_check.f_check2 {
    grid-template-columns: repeat(1, 1fr);
  }
}


/* =============================================================================
   COURSES FILTER PANEL — Collapsible (green border, Filters + chevron toggle)
   ============================================================================= */

/* ── Base styles: borders apply on all screen sizes ── */
.courses-filter-panel {
  border-top: 5px solid #32A07D;
  border-bottom: 5px solid #32A07D;
}

.courses-filter-panel.is-collapsed {
  padding-bottom: 0;
}

.courses-filter-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

/* Structural base for icon — shared across all sizes */
.courses-filter-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
  background: #FFFFFF;
  border: 3px solid #962D00;
  color: #962D00;
}

/* Icon glyph size — shared across all sizes */
.courses-filter-panel__icon i {
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
}

.courses-filter-panel__body {
  overflow: hidden;
  transition: max-height 300ms ease;
}

.courses-filter-panel.is-collapsed .courses-filter-panel__body {
  max-height: 0 !important;
  overflow: hidden;
}

.courses-filter-panel:not(.is-collapsed) .courses-filter-panel__body {
  max-height: 2000px;
}

/* ── Desktop-only visual styles ≥ 1024px ── */
@media (min-width: 1024px) {
  .courses-filter-panel {
    margin: 54px 0 20px;
    padding: 0;
  }

  .courses-filter-panel__header {
    padding: 15px 0 12px;
  }

  .courses-filter-panel__label {
    font: normal normal 600 32px/34px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0px;
    color: #000000;
  }

  /* Expanded icon (close button): white bg, red border, red icon */
  .courses-filter-panel__icon {
    background: #FFFFFF;
    border: 3px solid #962D00;
    color: #962D00;
  }

  /* Collapsed (chevron down): no background, no border */
  .courses-filter-panel.is-collapsed .courses-filter-panel__icon {
    background: transparent;
    border-color: transparent;
    color: #962D00;
  }
}

/* =============================================================================
   DESKTOP FILTER — CSS grid layout (replaces Bootstrap columns)
   55.5px column gap between the two visual columns
   ============================================================================= */

.filter-section--desktop .filter_wrap .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  column-gap: 55.5px;
  row-gap: 0;
  margin: 0;
}

.filter-section--desktop .filter_wrap .row > [class*="col-"] {
  width: auto;
  max-width: none;
  flex: none;
  padding: 0;
}

/* Program Delivery column: flex column so Reset button sits at bottom */
.filter-section--desktop .filter_wrap .row > [class*="col-"]:nth-child(3) {
  display: flex;
  flex-direction: column;
}

/* Submit / Reset button — centered horizontally, pushed to bottom */
.filter-section--desktop .filter_wrap .submit_btn {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: 110px;
  text-align: center;
}

/* Desktop only: f_check padding-tops; remove padding-top from f_check li */
@media (min-width: 1024px) {
  .filter_wrap .f_box .f_check.f_check2 {
    padding-top: 17px;
  }
  .filter_wrap .f_box .f_check.f_check3 {
    padding-top: 5px;
  }
  ul.f_check.areadem.filters {
    padding-top: 5px;
  }
  .filter_wrap .f_box .f_check li {
    padding-top: 0;
  }
}

/* Reset button restyle */
.filter-section--desktop .filter_wrap .submit_btn .reset_btn {
  width: 190px;
  background: #FFFFFF;
  border: 2px solid #E8C650;
  border-radius: 7px;
  font: normal normal 600 16px/20px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #006E51;
  text-transform: uppercase;
  height: auto;
  padding: 11px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: space-around;
  gap: 6px;
  transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

.filter-section--desktop .filter_wrap .submit_btn .reset_btn i {
  font-size: 14px;
  transform: scaleX(-1);
  margin-right: 0;
}

.filter-section--desktop .filter_wrap .submit_btn .reset_btn:hover {
  background: #962D00;
  border-color: #962D00;
  color: #fff;
}

/* =============================================================================
   COURSE OFFERINGS — Responsive filter visibility
   Desktop filter shown on ≥ 769 px; mobile accordion shown on ≤ 768 px.
   Category grid shown on ≥ 768 px; dropdown shown on < 768 px.
   ============================================================================= */

.filter-section--desktop { display: block; }
.filter-section--mobile  { display: none;  }
.cof-nav--desktop        { display: block; }
.cof-nav--mobile         { display: none;  }

@media (max-width: 1023px) {
  .filter-section--desktop { display: none;  }
  .filter-section--mobile  { display: block; }
  .cof-nav--desktop        { display: none;  }
  .cof-nav--mobile         { display: block; margin-bottom: 20px; }
}

/* =============================================================================
   COURSE OFFERING NAV (DESKTOP) — grid + button styling
   ============================================================================= */

/* 1024px–1380px: fluid grid so buttons don't overlap when container is narrow */
@media (min-width: 1024px) and (max-width: 1380px) {
  .cof-nav--desktop .grid.grid-4-cols {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 15px;
    justify-content: space-between;
  }

  .cof-nav--desktop .grid.grid-4-cols .grid-item a.nt-trade-btn {
    width: 100%;
    min-width: 0;
    max-width: 323px;
    min-height: 43px;
    border: 2px solid #E8C650;
    border-radius: 8px;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    font: normal normal 500 20px/28px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0.1px;
    color: #006E51;
    text-transform: none;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
  }
}

@media (min-width: 1381px) {
  .cof-nav--desktop .grid.grid-4-cols {
    column-gap: 16px;
    row-gap: 15px;
    grid-template-columns: repeat(4, minmax(0, 323px));
    justify-content: space-between;
  }

  .cof-nav--desktop .grid.grid-4-cols .grid-item a.nt-trade-btn {
    width: 323px;
    min-width: 323px;
    min-height: 43px;
    border: 2px solid #E8C650;
    border-radius: 8px;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    font: normal normal 500 20px/28px "Barlow Semi Condensed", sans-serif;
    letter-spacing: 0.1px;
    color: #006E51;
    text-transform: none;
    position: relative;
    overflow: hidden;
  }
}

/* Ensure minimum height across breakpoints */
.btn_secondary.nt-trade-btn {
  min-height: 43px;
  position: relative;
  overflow: hidden;
}

/* Hover: solid red background, no left-to-right loading effect */
.cof-nav--desktop .nt-trade-btn::before {
  display: none !important;
}

.cof-nav--desktop .nt-trade-btn:hover {
  color: #fff !important;
  border-color: #962D00 !important;
  background-color: #962D00 !important;
}

.cof-nav--desktop .nt-trade-btn span {
  position: relative;
  z-index: 1;
}


/* =============================================================================
   COURSE COUNT + SORT
   ============================================================================= */

/* Base resets — apply on all sizes */
.courses-count-bar {
  list-style: none;
  padding: 0;
}

#number_count {
  font: normal normal 600 32px/36px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #034B39;
}

#number_countt {
  font: normal normal 600 32px/36px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #962D00;
}

/* Base resets for sort radios — apply on all sizes */
.courses-sort-radios {
  list-style: none;
  padding: 0;
}

.courses-sort-radios li {
  font: normal normal normal 16px/28px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0.08px;
  color: #3C413F;
}

.courses-sort-radios input[type="radio"] {
  margin-right: 6px;
  accent-color: #006E51;
}

/* Desktop layout — only ≥ 1024px */
@media (min-width: 1024px) {
  .courses-count-sort {
    margin-bottom: 53.5px;
  }

  li.courses-sort-institute-label {
    margin-left: 37px;
  }

  .courses-count-bar {
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .courses-sort-radios {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin: 0;
  }

  .courses-sort-radios li {
    display: inline-flex;
    align-items: center;
  }
}


/* =============================================================================
   COURSE LIST ITEMS
   ============================================================================= */

/* Scoped h6 override — course listing only */
.cc_wrap .cc_inner .cc_item h6 {
  font: normal normal 500 16px/28px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0.08px;
  color: #962D00;
  margin-bottom: 0;
}

/* Course excerpt
   Specificity raised to (0,4,0) to beat .cc_wrap .cc_inner .cc_item p (0,3,1) in style.css */
.cc_wrap .cc_inner .cc_item .nt-trim {
  font: normal normal normal 18px/28px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0.09px;
  color: #3C413F;
  margin-bottom: 20px;
}

/* Actions row: More Details + Register Now */
.cc_item__actions {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
}

/* Remove old btn_small min-width inside action row */
.cc_item__actions .btn_primary.btn_small {
  min-width: auto;
}

/* More Details button */
.cc_item__actions .cc-more-details {
  width: 138px;
  min-width: 138px;
  background: #E8C650;
  border: none;
  border-radius: 8px;
  font: normal normal 600 16px/20px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #004B37;
  text-transform: uppercase;
  text-align: center;
  padding: 13px 10px;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: background 200ms ease, color 200ms ease;
}

.cc_item__actions .cc-more-details span {
  position: relative;
  z-index: 1;
}

.cc_item__actions .cc-more-details::before {
  display: none !important;
}

.cc_item__actions .cc-more-details:hover {
  color: #fff !important;
  border: 2px solid #962D00;
  background-color: #962D00 !important;
}

/* Register Now button */
.cc_item__actions .cc-register-btn {
  width: 156px;
  min-width: 156px;
  background: #FFFFFF;
  border: 3px solid #E8C650;
  border-radius: 8px;
  font: normal normal 600 16px/20px "Barlow Semi Condensed", sans-serif;
  letter-spacing: 0px;
  color: #004B37;
  text-transform: uppercase;
  text-align: center;
  padding: 10px;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: background 200ms ease, color 200ms ease;
}

.cc_item__actions .cc-register-btn span {
  position: relative;
  z-index: 1;
}

.cc_item__actions .cc-register-btn::before {
  display: none !important;
}

.cc_item__actions .cc-register-btn:hover {
  color: #fff !important;
  border-color: #962D00;
  background-color: #962D00 !important;
}

/* Course list gap */
.cc_wrap .cc_inner {
  gap: 40px;
}


/* =============================================================================
   COURSE LIST PAGINATION
   ============================================================================= */

.courses-pagination {
  margin-top: 44px;
  margin-bottom: 24px;
}

.cof-pag {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cof-pag__pages {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
}

/* LI wraps the page button: border and radius on the list item, not the button */
.cof-pag__pages > li:not(.cof-pag__ellipsis) {
  border: 3px solid #962D00;
  border-radius: 8px;
  overflow: hidden;
}

.cof-pag__btn,
.cof-pag__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: none;
  background: #fff;
  color: #3C413F;
  font: normal normal 600 16px/20px Barlow Semi Condensed, sans-serif;
  letter-spacing: 0px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 150ms ease-in-out, color 150ms ease-in-out;
}

/* Hover: same as active (red fill, white text). Non-active items get white text on hover. */
.cof-pag__btn:hover,
.cof-pag__arrow:hover:not([disabled]) {
  background: #962D00 0% 0% no-repeat padding-box;
  color: #fff !important;
}

.cof-pag__btn.is-active {
  background: #962D00 0% 0% no-repeat padding-box;
  color: #fff;
  pointer-events: none;
}

.cof-pag__arrow[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

.cof-pag__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 40px;
  font: normal 18px/1 'Barlow Semi Condensed', sans-serif;
  color: #7C8482;
}

.cof-pag__arrow i {
  font-size: 20px;
  line-height: 1;
  pointer-events: none;
}

@media (max-width: 480px) {
  .cof-pag__pages {
    gap: 27px;
  }
  .cof-pag__btn,
  .cof-pag__arrow {
    min-width: 34px;
    height: 36px;
    font-size: 13px;
    padding: 0 8px;
  }
}
