/* ========== UTILITIES ========== */
.hide-section {
  display: none !important;
}


/* ========== COMPONENTS ========== */

/* Research box */
.kusc-lp-research-box {
  background: #ffffff;
  border: 1px solid #e7e7e7;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.kusc-lp-research-box__content {
  margin-top: 0;
}

/* ========== PLUGIN / JETFORMBUILDER ========== */

/* Submit wrap */
.jet-form-builder__submit-wrap {
  display: flex !important;
  justify-content: center !important;
  margin-top: 20px;
}

.jet-form-builder__submit-wrap .jet-form-builder__submit,
.jet-form-builder__submit-wrap button,
.jet-form-builder__submit-wrap input[type="submit"] {
  min-width: 220px !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Textarea */
.jet-form-builder textarea,
.jet-form-builder textarea.jet-form-builder__field {
  min-height: 180px !important;
  resize: vertical;
}


/* ========== PLUGIN / LEARNPRESS ========== */

.lp-offline-payment-center {
  text-align: center;
}

.lp-offline-payment-center img {
  display: block;
  margin: 20px auto;
  max-width: 260px;
  width: 100%;
  height: auto;
}

.lp-offline-payment-center p {
  text-align: center;
  margin: 12px 0;
}

.cmsmasters_theme_icon_slide_top,
.cmsmasters_theme_icon_slide_top:before {
  background: #CBC2BA !important;
}

/* tab ที่ถูกเลือก */
.cmsmasters_tabs_list .cmsmasters_tabs_list_item.current_tab a {
  background-color: #72242B !important; /* น้ำเงิน */
}

/* Price Tab */
.cmsmasters_course_price {
  background-color: #A7434D !important;
}

/* Date Tab */
.cmsmasters_slider_post_cont_info {
  background-color: #A7434D !important;
}

/* --------------------- */

.tamu-bg-section {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  background-color: #500000 !important;
  background-blend-mode: luminosity;
}

.tamu-bg-section::before {
  display: none !important;
}

.tamu-bg-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #500000;
  opacity: 0.78;
  pointer-events: none;
}

.tamu-bg-section .cmsmasters_row_outer_parent,
.tamu-bg-section .cmsmasters_row_outer,
.tamu-bg-section .cmsmasters_row_inner,
.tamu-bg-section .cmsmasters_row_margin,
.tamu-bg-section .cmsmasters_column,
.tamu-bg-section .cmsmasters_column_inner {
  position: relative;
  z-index: 2;
}

.tamu-bg-section .cmsmasters_heading,
.tamu-bg-section .cmsmasters_heading a,
.tamu-bg-section p,
.tamu-bg-section a {
  color: #ffffff !important;
}

/* =========================================================
   Schule Header Logo SVG Fix - Full Responsive Safe
   Desktop + Tablet + Mobile
   Hamburger Menu Opens Without Breaking Header
   ========================================================= */


/* =========================================================
   Desktop: 1025px up
   ========================================================= */

@media only screen and (min-width: 1025px) {

  .header_mid,
  .header_mid_outer,
  .header_mid_inner {
    overflow: visible !important;
  }

  .header_mid .logo_wrap {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .header_mid .logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    line-height: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    background-image: none !important;
  }

  .header_mid .logo > img {
    display: block !important;
    width: 150px !important;
    max-width: 150px !important;
    height: auto !important;
    max-height: 48px !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
  }

  /* Larger logo at the very top (before scroll). Once scrolled the theme adds
     .header_mid_scroll and the compact 150x48 above applies. SVG ratio 97:30. */
  .header_mid:not(.header_mid_scroll) .logo > img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
    max-height: 56px !important;
  }

  .header_mid .logo > img.logo_retina {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}


/* =========================================================
   Tablet + Mobile Common: 1024px down
   Keep header fixed height
   Let menu float below header
   ========================================================= */

@media only screen and (max-width: 1024px) {

  #page,
  #main,
  #header,
  .header_mid,
  .header_mid_outer,
  .header_mid_inner {
    overflow: visible !important;
  }

  #header,
  .header_mid,
  .header_mid_outer {
    position: relative !important;
    z-index: 99990 !important;
  }

  .header_mid_inner {
    position: relative !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    z-index: 99991 !important;
  }

  /* =========================
     Logo
     ========================= */

  .header_mid .logo_wrap {
    display: block !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
    z-index: 100010 !important;
  }

  .header_mid .logo {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    position: relative !important;
    overflow: visible !important;
    background-image: none !important;
  }

  .header_mid .logo > img {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;
  }

  .header_mid .logo > img.logo_retina {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* =========================
     Hamburger
     ========================= */

  .header_mid .resp_mid_nav_wrap {
    display: block !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
    z-index: 100020 !important;
  }

  .header_mid .resp_mid_nav_outer {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header_mid .responsive_nav,
  .header_mid .resp_mid_nav {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 100021 !important;
    cursor: pointer !important;
  }

  /* =========================
     Menu container only
     ไม่แตะ ul / li / a / sub-menu
     ไม่สร้างลูกศร
     ไม่บังคับ expand submenu
     ========================= */

  .header_mid .mid_nav_wrap {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 80px) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 100000 !important;
  }
}


/* =========================================================
   Tablet: 768px - 1024px
   Header fixed 64px
   ========================================================= */

@media only screen and (min-width: 768px) and (max-width: 1024px) {

  .header_mid,
  .header_mid_outer,
  .header_mid_inner {
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
  }

  .header_mid .logo_wrap {
    left: 20px !important;
    top: 32px !important;
    width: 150px !important;
    height: 40px !important;
    transform: translateY(-50%) !important;
  }

  .header_mid .logo {
    width: 150px !important;
    height: 40px !important;
  }

  .header_mid .logo > img {
    width: 150px !important;
    max-width: 150px !important;
    max-height: 40px !important;
  }

  .header_mid .resp_mid_nav_wrap {
    right: 20px !important;
    top: 32px !important;
    width: 24px !important;
    height: 24px !important;
    transform: translateY(-50%) !important;
  }

  .header_mid .resp_mid_nav_outer,
  .header_mid .responsive_nav,
  .header_mid .resp_mid_nav {
    width: 24px !important;
    height: 24px !important;
  }

  .header_mid .mid_nav_wrap {
    top: 64px !important;
    max-height: calc(100vh - 64px) !important;
  }
}


/* =========================================================
   Mobile: 767px down
   Header fixed 46px
   ========================================================= */

@media only screen and (max-width: 767px) {

  .header_mid,
  .header_mid_outer,
  .header_mid_inner {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  .header_mid .logo_wrap {
    left: 14px !important;
    top: 23px !important;
    width: 118px !important;
    height: 30px !important;
    transform: translateY(-50%) !important;
  }

  .header_mid .logo {
    width: 118px !important;
    height: 30px !important;
  }

  .header_mid .logo > img {
    width: 118px !important;
    max-width: 118px !important;
    max-height: 30px !important;
  }

  .header_mid .resp_mid_nav_wrap {
    right: 14px !important;
    top: 23px !important;
    width: 24px !important;
    height: 24px !important;
    transform: translateY(-50%) !important;
  }

  .header_mid .resp_mid_nav_outer,
  .header_mid .responsive_nav,
  .header_mid .resp_mid_nav {
    width: 24px !important;
    height: 24px !important;
  }

  .header_mid .mid_nav_wrap {
    top: 46px !important;
    max-height: calc(100vh - 46px) !important;
  }
}


/* =========================================================
   iPad landscape / small-laptop refit: 1025px - 1366px
   Keep the theme's native horizontal desktop menu (the theme
   locks its mobile/burger menu styling to ≤1024, so forcing the
   burger here is fragile). Instead shrink the logo and tighten
   the nav so the full menu fits without overlapping the logo.
   ========================================================= */

@media only screen and (min-width: 1025px) and (max-width: 1366px) {

  /* slightly smaller logo frees horizontal room for the menu */
  .header_mid .logo > img,
  .header_mid:not(.header_mid_scroll) .logo > img {
    width: 168px !important;
    max-width: 168px !important;
    max-height: 52px !important;
  }

  /* tighten spacing between top-level menu items so all 8 fit on one row */
  #header .header_mid .navigation > div > ul > li > a,
  #header .header_mid .navigation > ul > li > a {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #header .header_mid .navigation .nav_title {
    font-size: 18px !important;
  }
}


/* =========================================================
   SEARCH UI — reusable base (component-scoped on .test-search-ui-*)
   Shared by every Filter Everything search page that uses this markup
   (e.g. research-v-2-1, news-hub). Delivered via the plugin so it never
   depends on the per-page cmsmasters CSS meta. Superset: search field +
   submit (+mobile full-width fix) + sort + category/post_tag dropdowns
   + select2 (panel scoped to .wpc-filter-everything-dropdown so it can't
   bleed into other select2 instances site-wide).
   The bottom-gap reservation auto-applies only when floating filters
   exist (via :has()), so search-only pages get no empty gap.
   ========================================================= */
.test-search-ui-wrap {
  display: block;
  position: relative;
  --test-search-filter-left: -12px;
  --test-search-filter-width: 240px;
  --test-search-filter-gap: 30px;
  --test-search-filter-2-left: 120px;
  --test-search-filter-top-gap: 22px;
  --test-search-filter-height: 50px;
  --test-search-filter-bottom-gap: 10px;
}
.test-search-ui-shell {
  position: relative;
  overflow: visible;
  background: #ffffff;
  border: 1px solid #e6e0d9;
  padding: 12px 16px;
  box-shadow: none;
}
.test-search-ui-row,
.test-search-ui-wrap,
.test-search-ui-shell,
.test-search-ui-input-zone .wpc-filters-widget-content {
  position: relative;
  z-index: 30;
  overflow: visible !important;
}
.test-search-ui-zones {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
}
.test-search-ui-input-zone,
.test-search-ui-input-zone .widget,
.test-search-ui-input-zone .wpc-filters-widget-content,
.test-search-ui-input-zone .wpc-filters-widget-containers-wrapper,
.test-search-ui-input-zone .wpc-filters-scroll-container,
.test-search-ui-input-zone .wpc-filters-widget-wrapper,
.test-search-ui-input-zone .wpc-filters-main-wrap,
.test-search-ui-input-zone .wpc-filters-section,
.test-search-ui-input-zone .wpc-filter-content {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.test-search-ui-input-zone .wpc-instead-of-posts-found {
  display: none !important;
}
.test-search-ui-input-zone .wpc-filters-widget-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}
/* show search + submit + filter 1 + filter 2 */
.test-search-ui-input-zone .wpc-filters-section:not([data-fid$="s"]):not(.wpc-filter-layout-submit-button):not(.wpc-filter-category):not(.wpc-filter-post_tag) {
  display: none !important;
}
.test-search-ui-input-zone .wpc-filters-open-button-container,
.test-search-ui-input-zone .wpc-widget-top-inside,
.test-search-ui-input-zone .wpc-inner-widget-chips-wrapper,
.test-search-ui-input-zone .wpc-filters-widget-controls-container,
.test-search-ui-input-zone .wpc-filters-reset-button,
.test-search-ui-input-zone .wpc-filters-close-button,
.test-search-ui-input-zone .wpc-search-clear-icon-wrapper,
.test-search-ui-input-zone .wpc-spinner {
  display: none !important;
}
.test-search-ui-input-zone .wpc-filter-title,
.test-search-ui-input-zone .wpc-filter-header,
.test-search-ui-input-zone .wpc-search-label,
.test-search-ui-input-zone label[for] {
  display: none !important;
}
.test-search-ui-input-zone .wpc-filter-search-form,
.test-search-ui-input-zone .wpc-search-field-wrapper {
  display: block;
  width: 100%;
}
.test-search-ui-input-zone .wpc-search-field-wrapper {
  position: relative;
}
.test-search-ui-input-zone .wpc-search-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 16px;
  height: 16px;
  display: block;
  font-size: 0;
  line-height: 0;
  color: transparent;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
.test-search-ui-input-zone .wpc-search-icon::before,
.test-search-ui-input-zone .wpc-search-icon::after {
  display: none !important;
  content: none !important;
}
.test-search-ui-input-zone input[type="search"],
.test-search-ui-input-zone input[type="text"] {
  width: 100% !important;
  min-height: 40px !important;
  border: 0 !important;
  background-color: transparent !important;
  color: #111827;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.62;
  padding: 0 0 0 40px !important;
  box-shadow: none !important;
}
.test-search-ui-input-zone input[type="search"]::placeholder,
.test-search-ui-input-zone input[type="text"]::placeholder {
  color: #b3b8c2;
}
.test-search-ui-input-zone input[type="search"]:focus,
.test-search-ui-input-zone input[type="text"]:focus {
  outline: none;
}
/* action zone = submit/apply button */
.test-search-ui-input-zone .wpc-filter-layout-submit-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.test-search-ui-input-zone .wpc-filter-layout-submit-button.wpc-pc-sticky-buttons,
.test-search-ui-input-zone .wpc-sticky-buttons,
.test-search-ui-input-zone .wpc-filter-layout-submit-button .wpc-filter-content,
.test-search-ui-input-zone .wpc-filter-layout-submit-button .wpc-submit-button-container,
.test-search-ui-input-zone .wpc-filter-layout-submit-button .wpc-filter-content::before,
.test-search-ui-input-zone .wpc-filter-layout-submit-button .wpc-filter-content::after {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.test-search-ui-input-zone .wpc-sticky-buttons {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}
.test-search-ui-input-zone .wpc-filters-submit-button,
.test-search-ui-input-zone .wpc-filters-apply-button,
.test-search-ui-input-zone button[type="submit"],
.test-search-ui-input-zone input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  min-height: 40px !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #a61d2d !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}
.test-search-ui-input-zone .wpc-pc-apply-button,
.test-search-ui-input-zone .wpc-hidden-term-count,
.test-search-ui-input-zone .wpc-filters-submit-button .wpc-pc-apply-button,
.test-search-ui-input-zone .wpc-filters-submit-button .wpc-hidden-term-count {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.test-search-ui-input-zone .wpc-filters-submit-button span,
.test-search-ui-input-zone .wpc-filters-apply-button span,
.test-search-ui-input-zone button[type="submit"] span,
.test-search-ui-input-zone input[type="submit"] span {
  display: inline !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
/* filter 1 visually outside the white shell */
.test-search-ui-input-zone .wpc-filter-category,
.test-search-ui-input-zone .wpc-filter-post_tag {
  position: absolute !important;
  left: var(--test-search-filter-left);
  top: calc(100% + var(--test-search-filter-top-gap));
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 5;
}
.test-search-ui-input-zone .wpc-filter-post_tag {
  left: var(--test-search-filter-2-left);
}
.test-search-ui-input-zone .wpc-filter-category .wpc-filter-content,
.test-search-ui-input-zone .wpc-filter-post_tag .wpc-filter-content {
  width: auto !important;
}
.test-search-ui-input-zone .wpc-filter-category,
.test-search-ui-input-zone .wpc-filter-category *,
.test-search-ui-input-zone .wpc-filter-category .wpc-filter-content,
.test-search-ui-input-zone .wpc-filter-category .wpc-filters-widget-select,
.test-search-ui-input-zone .wpc-filter-post_tag,
.test-search-ui-input-zone .wpc-filter-post_tag *,
.test-search-ui-input-zone .wpc-filter-post_tag .wpc-filter-content,
.test-search-ui-input-zone .wpc-filter-post_tag .wpc-filters-widget-select {
  font-family: inherit !important;
  font-style: normal !important;
}
.test-search-ui-input-zone .wpc-filter-category select,
.test-search-ui-input-zone .wpc-filter-post_tag select {
  width: var(--test-search-filter-width) !important;
  max-width: 100% !important;
  min-width: var(--test-search-filter-width) !important;
  min-height: 44px !important;
  border: 0 !important;
  background-color: transparent !important;
  color: #111827 !important;
  font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  padding: 4px 10px 4px 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: menulist !important;
  -moz-appearance: menulist !important;
  appearance: menulist !important;
  background-image: none !important;
}
.test-search-ui-input-zone .wpc-filter-category .wpc-filters-widget-select:focus,
.test-search-ui-input-zone .wpc-filter-category select:focus,
.test-search-ui-input-zone .wpc-filter-post_tag .wpc-filters-widget-select:focus,
.test-search-ui-input-zone .wpc-filter-post_tag select:focus {
  outline: none;
}
/* Select2 version of the same dropdown element */
.test-search-ui-input-zone .wpc-filter-category .select2-container,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-container {
  width: var(--test-search-filter-width) !important;
  min-width: var(--test-search-filter-width) !important;
  max-width: none !important;
  font-family: inherit !important;
  font-style: normal !important;
}
.test-search-ui-input-zone .wpc-filter-category .selection,
.test-search-ui-input-zone .wpc-filter-post_tag .selection {
  display: block !important;
  width: 100% !important;
}
.test-search-ui-input-zone .wpc-filter-category .select2-selection--single,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection--single {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  position: relative !important;
  min-height: 44px !important;
  border: 0 !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  background-size: 18px 18px !important;
  box-shadow: none !important;
}
.test-search-ui-input-zone .wpc-filter-category .select2-selection--single::after,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection--single::after {
  display: none !important;
  content: none !important;
}
.test-search-ui-input-zone .wpc-filter-category .select2-selection__rendered,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection__rendered {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  color: #111827 !important;
  font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  padding: 4px 34px 4px 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
.test-search-ui-input-zone .select2-container--default .select2-selection--single .select2-selection__arrow,
.test-search-ui-input-zone .wpc-filter-category .select2-selection__arrow,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection__arrow {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
.test-search-ui-input-zone .select2-container--default .select2-selection--single .select2-selection__arrow b,
.test-search-ui-input-zone .select2-selection__arrow b,
.test-search-ui-input-zone .wpc-filter-category .select2-selection__arrow b,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection__arrow b {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  border: 0 !important;
  border-color: transparent !important;
}
.test-search-ui-input-zone .wpc-filter-category .select2-selection__rendered *,
.test-search-ui-input-zone .wpc-filter-post_tag .select2-selection__rendered * {
  font: inherit !important;
  color: inherit !important;
  white-space: inherit !important;
}
.test-search-ui-input-zone .select2-container--open,
.test-search-ui-input-zone .wpc-filter-everything-dropdown,
.test-search-ui-view-zone .select2-container--open,
.test-search-ui-view-zone .wpc-filter-everything-dropdown {
  z-index: 9999 !important;
}
/* Schule event-list style dropdown panel */
.wpc-filter-everything-dropdown,
.test-search-ui-input-zone .wpc-filter-everything-dropdown,
.test-search-ui-view-zone .wpc-filter-everything-dropdown {
  overflow: hidden !important;
  margin-top: 8px !important;
  border: 1px solid #d9d9df !important;
  border-radius: 2px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  z-index: 10000 !important;
}
.wpc-filter-everything-dropdown.select2-dropdown--above {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.wpc-filter-everything-dropdown .select2-results,
.wpc-filter-everything-dropdown .select2-results__options {
  margin: 0 !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  background: #ffffff !important;
  list-style: none !important;
}
.wpc-filter-everything-dropdown .select2-search--dropdown {
  display: block !important;
  margin: 0 !important;
  padding: 8px 24px 0 !important;
  border: 0 !important;
  background: #ffffff !important;
}
.wpc-filter-everything-dropdown .select2-search--dropdown .select2-search__field {
  display: block !important;
  width: 100% !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111111 !important;
  font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  outline: none !important;
}
.wpc-filter-everything-dropdown .select2-results__option {
  position: relative !important;
  display: block !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 8px 24px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-family: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  list-style: none !important;
  text-align: left !important;
}
.wpc-filter-everything-dropdown .select2-results__option::before,
.wpc-filter-everything-dropdown .select2-results__option::after,
.wpc-filter-everything-dropdown .select2-results__option *::before,
.wpc-filter-everything-dropdown .select2-results__option *::after {
  display: none !important;
  content: none !important;
}
.wpc-filter-everything-dropdown .select2-results__option[aria-selected="true"],
.wpc-filter-everything-dropdown .select2-results__option--selected,
.wpc-filter-everything-dropdown .select2-results__option--highlighted[aria-selected] {
  background: #ffffff !important;
  color: #111111 !important;
}
@media (min-width: 768px) {
.test-search-ui-input-zone .wpc-filter-category select,
  .test-search-ui-input-zone .wpc-filter-post_tag select {
    font-size: 28px !important;
    line-height: 1.42 !important;
    min-height: 50px !important;
    padding-right: 10px !important;
  }
.test-search-ui-input-zone .wpc-filter-category .select2-selection--single,
  .test-search-ui-input-zone .wpc-filter-post_tag .select2-selection--single {
    min-height: 50px !important;
  }
.test-search-ui-input-zone .wpc-filter-category .select2-selection__rendered,
  .test-search-ui-input-zone .wpc-filter-post_tag .select2-selection__rendered {
    font-size: 28px !important;
    line-height: 1.42 !important;
  }
}
/* view zone = sorting control */
.test-search-ui-view-zone,
.test-search-ui-view-zone .widget,
.test-search-ui-view-zone form {
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}
.test-search-ui-view-zone label {
  display: none !important;
}
.test-search-ui-view-zone {
  position: relative;
}
.test-search-ui-view-zone .wpc-after-sorting-form {
  display: block !important;
  position: absolute !important;
  top: 100%;
  right: 0;
  width: 220px;
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 10000;
}
.test-search-ui-view-zone .wpc-orderby-select,
.test-search-ui-view-zone select {
  min-height: 0 !important;
  width: fit-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  field-sizing: content;
  border: 0 !important;
  background-color: transparent !important;
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.62 !important;
  padding: 8px 18px 8px 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 16px 12px;
}
.test-search-ui-view-zone .wpc-orderby-select:focus,
.test-search-ui-view-zone select:focus {
  outline: none;
}
.test-search-ui-view-zone .select2-container {
  width: fit-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  font-family: inherit !important;
}
.test-search-ui-view-zone .select2-selection--single {
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
.test-search-ui-view-zone .select2-selection__rendered {
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.62 !important;
  padding: 8px 18px 8px 0 !important;
}
.test-search-ui-view-zone .select2-selection__arrow {
  top: 50% !important;
  right: 0 !important;
  width: 14px !important;
  height: 14px !important;
  transform: translateY(-50%);
}
.test-search-ui-view-zone .select2-selection__arrow b {
  display: none !important;
}
.test-search-ui-view-zone .select2-selection__arrow::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}
@media (max-width: 900px) {
.test-search-ui-shell {
    padding: 18px 18px 20px;
  }
.test-search-ui-zones {
    grid-template-columns: 1fr;
    gap: 14px;
  }
.test-search-ui-input-zone .wpc-filters-widget-wrapper {
    grid-template-columns: 1fr;
    gap: 12px;
  }
.test-search-ui-view-zone,
  .test-search-ui-view-zone .widget,
  .test-search-ui-view-zone form {
    width: 100%;
  }
.test-search-ui-input-zone .wpc-filters-submit-button,
  .test-search-ui-input-zone .wpc-filters-apply-button,
  .test-search-ui-input-zone button[type="submit"],
  .test-search-ui-input-zone input[type="submit"],
  .test-search-ui-view-zone .wpc-orderby-select,
  .test-search-ui-view-zone select,
  .test-search-ui-view-zone .select2-container {
    width: 100% !important;
  }
.test-search-ui-input-zone .wpc-filter-category {
    left: var(--test-search-filter-left);
    right: 0;
    top: calc(100% + var(--test-search-filter-top-gap));
  }
.test-search-ui-input-zone .wpc-filter-post_tag {
    left: var(--test-search-filter-2-left);
    right: auto;
    top: calc(100% + var(--test-search-filter-top-gap));
  }
}
/* Fix FE horizontal layout overrides that were pulling the UI back to plugin defaults */
.test-search-ui-input-zone .wpc-horizontal-layout .wpc-filters-widget-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
}
.test-search-ui-input-zone .wpc-horizontal-layout .wpc-filters-section:not(.wpc-filter-layout-submit-button):not(.wpc-filter-category):not(.wpc-filter-post_tag),
.test-search-ui-input-zone .wpc-horizontal-layout.wpc-horizontal-cols-3 .wpc-filters-section:not(.wpc-filter-layout-submit-button):not(.wpc-filter-category):not(.wpc-filter-post_tag) {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}
.test-search-ui-input-zone .wpc-horizontal-layout .wpc-filter-layout-submit-button {
  justify-content: flex-start !important;
  flex-basis: auto !important;
  max-width: none !important;
}
.test-search-ui-input-zone .wpc-horizontal-layout .wpc-sticky-buttons {
  width: auto !important;
}
/* =========================================================
   FIX (mobile ≤900): search button full-width
   Placed LAST + higher specificity (body ... = 0,3,1) to beat the
   base rule `.test-search-ui-input-zone .wpc-horizontal-layout
   .wpc-sticky-buttons { width:auto !important }` (0,3,0) that sits
   after the @media block and was keeping the button from filling.
   ========================================================= */
@media (max-width: 900px) {
body .test-search-ui-input-zone .wpc-horizontal-layout .wpc-sticky-buttons,
  body .test-search-ui-input-zone .wpc-horizontal-layout .wpc-filter-layout-submit-button,
  body .test-search-ui-input-zone .wpc-sticky-buttons,
  body .test-search-ui-input-zone .wpc-filter-layout-submit-button {
    width: 100% !important;
    display: flex !important;
  }
}

/* bottom-gap reservation: only when floating category/post_tag filters exist */
.test-search-ui-shell:has(.wpc-filter-category, .wpc-filter-post_tag) {
  margin-bottom: calc(var(--test-search-filter-top-gap) + var(--test-search-filter-height) + var(--test-search-filter-bottom-gap));
}


/* =========================================================
   LearnPress SINGLE COURSE — KU-branded CTA buttons (Buy Now / Enroll /
   Continue / Finish / Certificate). Scoped to .course-buttons + certificate
   form so quiz/modal buttons and OTHER LP pages (profile/archive) are untouched.
   ========================================================= */
.single-lp_course .course-buttons,
.single-lp_course .course-buttons form,
.single-lp_course form[name="certificate-form-button"],
.single-lp_course .lp-course-certificate-section form {
  width: 100% !important;
}

.single-lp_course .course-buttons .lp-button:not(.lp-button-wishlist-action):not(.btn-yes):not(.btn-no),
.single-lp_course form[name="certificate-form-button"] .lp-button,
.single-lp_course .lp-course-certificate-section .lp-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  padding: 13px 26px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background-color: #A7434D !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.single-lp_course .course-buttons .lp-button:not(.lp-button-wishlist-action):not(.btn-yes):not(.btn-no):hover,
.single-lp_course .course-buttons .lp-button:not(.lp-button-wishlist-action):not(.btn-yes):not(.btn-no):focus,
.single-lp_course form[name="certificate-form-button"] .lp-button:hover,
.single-lp_course form[name="certificate-form-button"] .lp-button:focus,
.single-lp_course .lp-course-certificate-section .lp-button:hover,
.single-lp_course .lp-course-certificate-section .lp-button:focus {
  background-color: #72242b !important;
  color: #ffffff !important;
}

/* Wishlist (single course) — plain, icon + text centred; grey text + maroon
   heart, both turn KU red on hover; size inherits to match Share. */
html body.single-lp_course button.lp-button.lp-button-wishlist-action,
html body.single-lp_course button.lp-button.lp-button-wishlist-action.modern,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:hover,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:focus,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:active {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 6px 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}
html body.single-lp_course button.lp-button.lp-button-wishlist-action {
  color: #333333 !important;
}
html body.single-lp_course button.lp-button.lp-button-wishlist-action i {
  color: #A7434D !important;
}
html body.single-lp_course button.lp-button.lp-button-wishlist-action:hover,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:focus,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:hover i,
html body.single-lp_course button.lp-button.lp-button-wishlist-action:focus i {
  color: #9b0c23 !important;
}

/* Single course: heading banner disabled -> add top spacing so the content
   does not butt against the header. */
.single-lp_course .lp-content-area {
  padding-top: 50px !important;
}
@media only screen and (max-width: 767px) {
  .single-lp_course .lp-content-area {
    padding-top: 30px !important;
  }
}


/* =========================================================
   LearnPress PROFILE + ARCHIVE course-list buttons -> KU maroon.

   ROOT CAUSE (found by inspecting the live compiled theme CSS
   /uploads/cmsmasters_styles/schule.css): the navy is rgb(0,33,71),
   hardcoded with !important by selectors carrying TWO IDs, e.g.
     html #learn-press-profile #profile-content .lp-button:hover{background-color:rgb(0,33,71)!important}
     html .cmsmasters_color_scheme_* #learn-press-profile #profile-content .lp-button{...}
   Two IDs outrank any class-only rule, so every earlier class+!important
   override LOST on specificity (not load order). The fix MUST reuse the
   same #learn-press-profile #profile-content ID chain and beat it on the
   element/class tiebreak, while loading after schule.css (version bump).
   ========================================================= */

/* --- PROFILE dashboard buttons (View List Students, View more, etc.) ---
   match the 2-ID schule chain; add html+body (default case) or the
   color-scheme class (scheme case) to win the tiebreak. */
html body #learn-press-profile #profile-content .lp-button,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .lp-button,
html body #learn-press-profile #profile-content .learn-press-course-wishlist,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .learn-press-course-wishlist {
  color: #A7434D !important;
  background-color: #ffffff !important;
  border-color: #A7434D !important;
}
html body #learn-press-profile #profile-content .lp-button:hover,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .lp-button:hover,
html body #learn-press-profile #profile-content .learn-press-course-wishlist:hover,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .learn-press-course-wishlist:hover {
  color: #ffffff !important;
  background-color: #A7434D !important;
  border-color: #A7434D !important;
}

/* Course-card wishlist heart.
   Markup: .course-thumbnail > .lp-target(heart) THEN <a>.course-img, so the
   heart is in normal flow ABOVE the image -> leftover empty band. Fix: pull the
   heart out of flow and overlay the image's top-left corner, on a subtle white
   chip so it stays legible over any photo. Positioning works on profile + archive
   (no specificity fight); the chip bg must beat the old 2-ID rule, so we keep the
   #profile-content chain for profile and add a .learnpress-page chain for archive. */
html body .learn-press-courses .course-thumbnail {
  position: relative !important;
}
html body .learn-press-courses .course-thumbnail > .lp-target {
  position: absolute !important;
  top: 10px;
  left: 10px;
  margin: 0 !important;
  z-index: 3;
}
/* white chip + maroon heart (override the previous transparent/no-box treatment) */
html body #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only,
html body .learnpress-page .course-thumbnail .lp-button-wishlist-action.icon-only {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 0 !important;
  padding: 0 !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18) !important;
}
html body #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only i,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only i,
html body .learnpress-page .course-thumbnail .lp-button-wishlist-action.icon-only i {
  color: #A7434D !important;
  transition: color .2s ease;
}
/* heart hover -> bright red, same as single-course wishlist */
html body #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only:hover i,
html body [class*="cmsmasters_color_scheme"] #learn-press-profile #profile-content .course-thumbnail .lp-button-wishlist-action.icon-only:hover i,
html body .learnpress-page .course-thumbnail .lp-button-wishlist-action.icon-only:hover i {
  color: #9b0c23 !important;
}

/* --- ARCHIVE (courses listing, body.lp-archive-courses .learnpress-page) ---
   here schule uses html .learnpress-page .lp-button (no IDs), so class+!important wins. */
html body .learnpress-page .lp-button.lp-btn-view-students,
html body [class*="cmsmasters_color_scheme"] .learnpress-page .lp-button.lp-btn-view-students,
html body .learnpress-page .lp-button[data-paged],
html body [class*="cmsmasters_color_scheme"] .learnpress-page .lp-button[data-paged] {
  color: #A7434D !important;
  background-color: #ffffff !important;
  border-color: #A7434D !important;
}
html body .learnpress-page .lp-button.lp-btn-view-students:hover,
html body [class*="cmsmasters_color_scheme"] .learnpress-page .lp-button.lp-btn-view-students:hover,
html body .learnpress-page .lp-button[data-paged]:hover {
  color: #ffffff !important;
  background-color: #A7434D !important;
  border-color: #A7434D !important;
}

/* View Detail / Enroll Now / Buy Now (.course-readmore a is a link) -> PRIMARY: filled maroon */
html body .learn-press-courses .course-readmore a,
html body [class*="cmsmasters_color_scheme"] .learn-press-courses .course-readmore a {
  background-color: #A7434D !important;
  color: #ffffff !important;
  border-color: #A7434D !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  border-radius: 6px !important;
}
html body .learn-press-courses .course-readmore a:hover,
html body [class*="cmsmasters_color_scheme"] .learn-press-courses .course-readmore a:hover {
  background-color: #72242b !important;
  color: #ffffff !important;
  border-color: #72242b !important;
}

/* Polish for the SECONDARY outline buttons (View List Students, View more) —
   match single-course button text size/weight */
html body #learn-press-profile #profile-content .lp-button.lp-btn-view-students,
html body #learn-press-profile #profile-content .lp-button[data-paged],
html body .learnpress-page .lp-button.lp-btn-view-students,
html body .learnpress-page .lp-button[data-paged] {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  border-radius: 6px !important;
}


/* =========================================================
   LearnPress profile data tables (Quizzes / Orders / etc.)
   PROBLEM: header text unreadable + footer "Displaying N items" looks like a
   stray bold row. CAUSE: LP core gives thead bg #f7f7fb, while theme schule.css
   paints thead th / tfoot td with a light heading colour AND the bold DB Ozone
   heading font (rules: `table thead tr th, table tfoot tr td`). So header text
   sinks into the light header and the footer count renders as a bold heading.
   FIX: reuse #profile-content (2 IDs) to win specificity -> maroon header with
   white text, and a plain muted caption for the footer summary.
   ========================================================= */
html body #learn-press-profile #profile-content .lp-list-table thead {
  background-color: #72242b !important;
}
html body #learn-press-profile #profile-content .lp-list-table thead th {
  color: #ffffff !important;
  font-weight: 700 !important;
  border: 0 !important;
}
html body #learn-press-profile #profile-content .lp-list-table thead th:first-child {
  border-top-left-radius: 10px !important;
}
html body #learn-press-profile #profile-content .lp-list-table thead th:last-child {
  border-top-right-radius: 10px !important;
}
/* footer summary ("Displaying 1 to 3 of 3 items.") -> plain muted caption */
html body #learn-press-profile #profile-content .lp-list-table tfoot,
html body #learn-press-profile #profile-content .lp-list-table tfoot tr,
html body #learn-press-profile #profile-content .lp-list-table tfoot th,
html body #learn-press-profile #profile-content .lp-list-table tfoot td {
  background: transparent !important;
  border: 0 !important;
  color: #777777 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: right !important;
  padding: 12px 4px !important;
}
