/* ADRA public form-field normalization.
 * Preserves theme colors while correcting clipped text, undersized controls,
 * inconsistent line-height, and narrow-screen input behavior.
 */
:root{
  --adra-field-height:48px;
  --adra-field-radius:12px;
  --adra-field-border:#c9dcda;
  --adra-field-text:#17333d;
  --adra-field-placeholder:#718086;
  --adra-field-focus:#07898a;
  --adra-field-focus-ring:rgba(7,137,138,.18);
}

body:not(.wp-admin) form input[type="text"],
body:not(.wp-admin) form input[type="email"],
body:not(.wp-admin) form input[type="tel"],
body:not(.wp-admin) form input[type="url"],
body:not(.wp-admin) form input[type="password"],
body:not(.wp-admin) form input[type="number"],
body:not(.wp-admin) form input[type="date"],
body:not(.wp-admin) form input[type="time"],
body:not(.wp-admin) form input[type="datetime-local"],
body:not(.wp-admin) form input[type="month"],
body:not(.wp-admin) form input[type="week"],
body:not(.wp-admin) form input[type="search"],
body:not(.wp-admin) form select,
body:not(.wp-admin) form textarea{
  box-sizing:border-box!important;
  max-width:100%;
  border-color:var(--adra-field-border);
  border-radius:var(--adra-field-radius);
  color:var(--adra-field-text);
  font-family:inherit;
  font-size:16px!important;
  line-height:1.4!important;
  vertical-align:middle;
}

body:not(.wp-admin) form input[type="text"],
body:not(.wp-admin) form input[type="email"],
body:not(.wp-admin) form input[type="tel"],
body:not(.wp-admin) form input[type="url"],
body:not(.wp-admin) form input[type="password"],
body:not(.wp-admin) form input[type="number"],
body:not(.wp-admin) form input[type="date"],
body:not(.wp-admin) form input[type="time"],
body:not(.wp-admin) form input[type="datetime-local"],
body:not(.wp-admin) form input[type="month"],
body:not(.wp-admin) form input[type="week"],
body:not(.wp-admin) form input[type="search"]{
  min-height:var(--adra-field-height)!important;
  height:auto!important;
  padding:11px 14px!important;
  overflow:visible!important;
}

body:not(.wp-admin) form select{
  min-height:var(--adra-field-height)!important;
  height:auto!important;
  padding:11px 44px 11px 14px!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:ellipsis;
  background-position:right 14px center;
}

body:not(.wp-admin) form textarea{
  min-height:120px!important;
  height:auto;
  padding:12px 14px!important;
  line-height:1.55!important;
  overflow:auto!important;
  resize:vertical;
}

body:not(.wp-admin) form input::placeholder,
body:not(.wp-admin) form textarea::placeholder{
  color:var(--adra-field-placeholder)!important;
  opacity:1;
}

body:not(.wp-admin) form input:focus,
body:not(.wp-admin) form select:focus,
body:not(.wp-admin) form textarea:focus{
  border-color:var(--adra-field-focus)!important;
  outline:3px solid var(--adra-field-focus-ring)!important;
  outline-offset:1px;
  box-shadow:none!important;
}

body:not(.wp-admin) form button,
body:not(.wp-admin) form input[type="submit"],
body:not(.wp-admin) form input[type="button"],
body:not(.wp-admin) form input[type="reset"]{
  box-sizing:border-box!important;
  min-height:44px!important;
  height:auto!important;
  max-width:100%;
  padding:11px 20px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  vertical-align:middle;
}

/* Select2 and WooCommerce enhanced selectors. */
body:not(.wp-admin) .select2-container{max-width:100%}
body:not(.wp-admin) .select2-container .select2-selection--single,
body:not(.wp-admin) .select2-container .select2-selection--multiple{
  box-sizing:border-box!important;
  min-height:var(--adra-field-height)!important;
  height:auto!important;
  border-color:var(--adra-field-border)!important;
  border-radius:var(--adra-field-radius)!important;
}
body:not(.wp-admin) .select2-container .select2-selection--single .select2-selection__rendered{
  min-height:46px;
  padding:11px 40px 11px 14px!important;
  color:var(--adra-field-text)!important;
  font-size:16px!important;
  line-height:1.4!important;
  white-space:nowrap;
}
body:not(.wp-admin) .select2-container .select2-selection--single .select2-selection__arrow{
  height:46px!important;
  right:8px!important;
}
body:not(.wp-admin) .select2-container .select2-selection--multiple{
  padding:4px 8px!important;
}

/* Assigned-course sorting control, placed beside the quick search. */
body:not(.wp-admin) .adra-course-toolbar{
  flex-wrap:wrap;
}
body:not(.wp-admin) .adra-course-sort{
  box-sizing:border-box;
  flex:0 0 168px;
  margin:0;
}
body:not(.wp-admin) .adra-course-sort select{
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  margin:0;
  padding:11px 36px 11px 14px;
  border:2px solid var(--adra-field-border);
  border-radius:12px;
  background-color:#fff;
  color:#15565c;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
body:not(.wp-admin) .adra-course-sort select:focus{
  border-color:var(--adra-field-focus);
  outline:3px solid var(--adra-field-focus-ring);
  outline-offset:1px;
}
body:not(.wp-admin) .adra-course-toolbar--sortable .adra-course-search-status:empty{
  display:none!important;
  width:0!important;
  flex:0 0 0!important;
}

/* My Cohorts filter and sorting controls. */
body:not(.wp-admin) .adra-cwc-tools{
  display:grid;
  grid-template-columns:minmax(210px,1fr) minmax(210px,1fr);
  gap:14px;
  margin:16px 0 10px;
}
body:not(.wp-admin) .adra-cwc-tool{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin:0;
}
body:not(.wp-admin) .adra-cwc-tool-label{
  flex:0 0 auto;
  color:#15565c;
  font-size:15px;
  font-weight:700;
}
body:not(.wp-admin) .adra-cwc-tool select{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:10px 42px 10px 14px;
  border:2px solid var(--adra-field-border);
  border-radius:12px;
  background-color:#fff;
  color:#15565c;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
}
body:not(.wp-admin) .adra-cwc-tool select:focus{
  border-color:var(--adra-field-focus);
  outline:3px solid var(--adra-field-focus-ring);
  outline-offset:1px;
}

@media(max-width:782px){
  /* The LMS removes its legacy filters on phones, but the desktop flex
   * basis remained behind and produced a large empty white toolbar. */
  body:not(.wp-admin) .mycourses_header{
    height:auto!important;
    min-height:0!important;
    justify-content:flex-start!important;
    gap:12px!important;
  }
  body:not(.wp-admin) .mycourses_header .mycourses_access_tabs,
  body:not(.wp-admin) .mycourses_header .adra-course-toolbar{
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
  }
  body:not(.wp-admin) .mycourses_header .adra-course-toolbar--sortable{
    align-items:stretch!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  body:not(.wp-admin) .mycourses_header .adra-course-search-box{
    flex:0 0 auto!important;
    height:52px!important;
    min-height:52px!important;
    width:100%!important;
  }
  body:not(.wp-admin) .mycourses_header .adra-course-sort{
    flex:0 0 auto!important;
    width:100%!important;
  }
  body:not(.wp-admin) .adra-cwc-tools{
    grid-template-columns:1fr;
    gap:10px;
  }
  body:not(.wp-admin) .adra-cwc-tool{
    align-items:stretch;
    flex-direction:column;
    gap:5px;
  }

  body:not(.wp-admin) form input[type="text"],
  body:not(.wp-admin) form input[type="email"],
  body:not(.wp-admin) form input[type="tel"],
  body:not(.wp-admin) form input[type="url"],
  body:not(.wp-admin) form input[type="password"],
  body:not(.wp-admin) form input[type="number"],
  body:not(.wp-admin) form input[type="date"],
  body:not(.wp-admin) form input[type="time"],
  body:not(.wp-admin) form input[type="datetime-local"],
  body:not(.wp-admin) form input[type="month"],
  body:not(.wp-admin) form input[type="week"],
  body:not(.wp-admin) form input[type="search"],
  body:not(.wp-admin) form select,
  body:not(.wp-admin) form textarea{
    width:100%;
    font-size:16px!important;
  }
  body:not(.wp-admin) form button,
  body:not(.wp-admin) form input[type="submit"],
  body:not(.wp-admin) form input[type="button"]{
    min-width:44px;
  }
}
