/* PMA Science University — Courses
   Institutional design system applied to the LearnPress environment.

   RULES OBSERVED THROUGHOUT THIS FILE
   · Colour, typography, spacing, borders and interaction states only.
   · No `display`, `position`, `float` or `width` change on any LearnPress
     functional element (curriculum popup, lesson navigation, quiz controls).
   · Nothing is hidden that a student needs.
   · Every selector is anchored on `.pma-lms`, a body class added only by this
     child theme, which exists only on the /courses install. No rule here can
     reach root pmascience.com, /pma or /psychology.
   · No LearnPress template is overridden by this theme. */

/* ------------------------------------------------------------------
   1 · Ground and typography
   ------------------------------------------------------------------ */
body.pma-lms {
  background-color: var(--pma-ivory);
  color: var(--pma-ink);
  font-family: var(--pma-sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body.pma-lms #main,
body.pma-lms .main_color,
body.pma-lms .container_wrap.main_color { background-color: var(--pma-ivory); }

body.pma-lms h1,
body.pma-lms h2,
body.pma-lms h3,
body.pma-lms h4,
body.pma-lms .av-special-heading-tag {
  font-family: var(--pma-serif) !important;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--pma-navy-900);
  text-transform: none;
}

body.pma-lms h1 { font-size: var(--fs-h1); line-height: 1.12; }
body.pma-lms h2 { font-size: var(--fs-h2); line-height: 1.2; }
body.pma-lms h3 { font-size: var(--fs-h3); line-height: 1.3; }

body.pma-lms h5,
body.pma-lms h6,
body.pma-lms .widgettitle {
  font-family: var(--pma-sans) !important;
  font-size: var(--fs-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}

body.pma-lms p,
body.pma-lms li,
body.pma-lms td { font-size: 1rem; }

body.pma-lms a { color: var(--pma-navy-800); }
body.pma-lms a:hover { color: var(--pma-navy-900); }

body.pma-lms blockquote {
  border-left: 2px solid var(--pma-gold-500);
  background: transparent;
  font-family: var(--pma-serif);
  font-style: normal;
}

/* ------------------------------------------------------------------
   2 · Header, utility bar, navigation
   ------------------------------------------------------------------ */
#top.pma-lms #header_meta {
  background-color: var(--pma-navy-900) !important;
  border-bottom: 1px solid rgba(240, 206, 115, 0.22);
  color: rgba(251, 248, 242, 0.82);
}
#top.pma-lms #header_meta a { color: rgba(251, 248, 242, 0.82) !important; }
#top.pma-lms #header_meta a:hover { color: var(--pma-gold-300) !important; }
#top.pma-lms #header_meta .av-social-link-facebook a:hover,
#top.pma-lms #header_meta .av-social-link-instagram a:hover,
#top.pma-lms #header_meta .av-social-link-youtube a:hover,
#top.pma-lms #header_meta .av-social-link-tiktok a:hover { background: transparent !important; }

#top.pma-lms #header .av-main-nav > li > a {
  font-family: var(--pma-sans);
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pma-ink);
}
#top.pma-lms #header .av-main-nav > li.current-menu-item > a,
#top.pma-lms #header .av-main-nav > li.current-menu-ancestor > a,
#top.pma-lms #header .av-main-nav > li > a:hover { color: var(--pma-navy-900); }
#top.pma-lms #header .av-main-nav > li > a > .avia-menu-fx { background-color: var(--pma-gold-500); }

#top.pma-lms #header .av-main-nav ul.sub-menu {
  background-color: var(--pma-navy-900);
  border: 0;
  box-shadow: var(--shadow-overlay);
}
#top.pma-lms #header .av-main-nav ul.sub-menu a {
  background: transparent;
  border: 0;
  color: rgba(251, 248, 242, 0.86);
  font-family: var(--pma-sans);
  font-size: 0.875rem;
  transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
#top.pma-lms #header .av-main-nav ul.sub-menu a:hover {
  color: var(--pma-gold-300);
  background-color: var(--pma-navy-800);
}

/* Burger overlay */
#top.pma-lms #av-burger-menu-ul,
#top.pma-lms .av-burger-overlay-scroll { background-color: var(--pma-navy-900); }
#top.pma-lms #av-burger-menu-ul a {
  font-family: var(--pma-serif);
  font-size: var(--fs-h3);
  color: var(--pma-ivory);
}
#top.pma-lms #av-burger-menu-ul a:hover { color: var(--pma-gold-300); }
#top.pma-lms .av-hamburger-inner,
#top.pma-lms .av-hamburger-inner::before,
#top.pma-lms .av-hamburger-inner::after { background-color: var(--pma-navy-900); }
#top.pma-lms .av-burger-overlay-active .av-hamburger-inner,
#top.pma-lms .av-burger-overlay-active .av-hamburger-inner::before,
#top.pma-lms .av-burger-overlay-active .av-hamburger-inner::after { background-color: var(--pma-ivory); }

/* Breadcrumb / title bar */
#top.pma-lms .title_container {
  background-color: var(--pma-stone-100);
  border-bottom: 1px solid var(--pma-stone-300);
}
#top.pma-lms .title_container .breadcrumb,
#top.pma-lms .title_container .breadcrumb a,
#top.pma-lms .breadcrumb-title {
  font-family: var(--pma-sans);
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}
#top.pma-lms .title_container .breadcrumb a:hover { color: var(--pma-navy-900); }

/* ------------------------------------------------------------------
   3 · Buttons — one language across Enfold, LearnPress and WooCommerce
   ------------------------------------------------------------------ */
body.pma-lms .avia-button,
body.pma-lms .lp-button,
body.pma-lms button.lp-button,
body.pma-lms .learn-press-form button,
body.pma-lms .lp-course-buttons button,
body.pma-lms #learn-press-course-curriculum .course-item .section-item-link,
body.pma-lms input[type="submit"],
body.pma-lms .woocommerce a.button,
body.pma-lms .woocommerce button.button {
  font-family: var(--pma-sans) !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

body.pma-lms .avia-button,
body.pma-lms .lp-button,
body.pma-lms button.lp-button,
body.pma-lms .lp-course-buttons button,
body.pma-lms input[type="submit"],
body.pma-lms .woocommerce a.button,
body.pma-lms .woocommerce button.button {
  background-color: var(--pma-navy-900) !important;
  border: 1px solid var(--pma-navy-900) !important;
  color: var(--pma-ivory) !important;
}

body.pma-lms .avia-button:hover,
body.pma-lms .lp-button:hover,
body.pma-lms button.lp-button:hover,
body.pma-lms .lp-course-buttons button:hover,
body.pma-lms input[type="submit"]:hover,
body.pma-lms .woocommerce a.button:hover,
body.pma-lms .woocommerce button.button:hover {
  background-color: var(--pma-navy-800) !important;
  border-color: var(--pma-navy-800) !important;
  color: var(--pma-ivory) !important;
}

/* Secondary / outline */
body.pma-lms .avia-button.avia-color-theme-color-subtle,
body.pma-lms .course-wishlist-button,
body.pma-lms .lp-button.secondary {
  background-color: transparent !important;
  border: 1px solid var(--pma-navy-900) !important;
  color: var(--pma-navy-900) !important;
}

/* Legacy retail blue and red retired from the learning experience. */
body.pma-lms .avia-button.avia-color-blue,
body.pma-lms .avia-button.avia-color-red,
body.pma-lms .avia-button.avia-color-green,
body.pma-lms .avia-button.avia-color-orange {
  background-color: var(--pma-navy-900) !important;
  border-color: var(--pma-navy-900) !important;
  color: var(--pma-ivory) !important;
}

/* ------------------------------------------------------------------
   4 · Course cards (catalogue, archives, related, widgets)
   ------------------------------------------------------------------ */
body.pma-lms .learn-press-courses .course-item,
body.pma-lms ul.learn-press-courses > li.course > .course-item {
  background-color: var(--pma-white);
  border: 1px solid var(--pma-stone-300);
  border-radius: 0;
  box-shadow: none;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
body.pma-lms .learn-press-courses .course-item:hover {
  border-color: var(--pma-gold-500);
  transform: translateY(-2px);
}
body.pma-lms .learn-press-courses .course-title,
body.pma-lms .learn-press-courses h3 {
  font-family: var(--pma-serif) !important;
  font-size: 1.1875rem;
  line-height: 1.25;
  color: var(--pma-navy-900);
}
body.pma-lms .learn-press-courses .course-title a { color: var(--pma-navy-900); }
body.pma-lms .learn-press-courses .course-instructor,
body.pma-lms .learn-press-courses .course-categories,
body.pma-lms .learn-press-courses .course-meta,
body.pma-lms .learn-press-courses .course-count-student,
body.pma-lms .learn-press-courses .course-count-lesson {
  font-family: var(--pma-sans);
  font-size: var(--fs-xs);
  letter-spacing: 0.02em;
  color: var(--pma-ink-muted);
}
body.pma-lms .learn-press-courses .course-instructor a,
body.pma-lms .learn-press-courses .course-categories a { color: var(--pma-ink-muted); }
body.pma-lms .learn-press-courses .course-instructor a:hover,
body.pma-lms .learn-press-courses .course-categories a:hover { color: var(--pma-navy-900); }

body.pma-lms .course-price .origin-price,
body.pma-lms .course-item .origin-price {
  color: var(--pma-ink-muted);
  font-size: var(--fs-xs);
}
body.pma-lms .course-price .price,
body.pma-lms .course-item .price,
body.pma-lms .lp-course-price {
  font-family: var(--pma-sans);
  font-weight: 600;
  color: var(--pma-navy-900);
}

/* Catalogue toolbar: search, ordering, layout switch */
body.pma-lms .lp-courses-bar,
body.pma-lms .lp-form-course-filter,
body.pma-lms .search-courses input,
body.pma-lms .lp-courses-bar select,
body.pma-lms .lp-archive-courses select {
  font-family: var(--pma-sans);
  font-size: 0.9375rem;
  border-radius: 0;
  border-color: var(--pma-stone-300);
  color: var(--pma-ink);
}
body.pma-lms .lp-courses-bar__layout .switch-layout.active,
body.pma-lms .lp-courses-bar .switch-layout.active { color: var(--pma-navy-900); }

/* ------------------------------------------------------------------
   5 · Single course — header band, tabs, purchase panel
   ------------------------------------------------------------------ */
body.pma-lms .course-summary,
body.pma-lms #learn-press-course { background-color: var(--pma-ivory); }

body.pma-lms .course-summary .course-header,
body.pma-lms .lp-single-course .course-header,
body.pma-lms .course-detail-info {
  background-color: var(--pma-navy-900) !important;
  background-image: none !important;
  color: var(--pma-ivory);
}
body.pma-lms .course-summary .course-header h1,
body.pma-lms .course-detail-info h1,
body.pma-lms .lp-single-course .course-title {
  color: var(--pma-ivory) !important;
  font-family: var(--pma-serif) !important;
}
body.pma-lms .course-detail-info .course-meta__pull-left,
body.pma-lms .course-detail-info .course-instructor,
body.pma-lms .course-detail-info .course-categories,
body.pma-lms .course-detail-info .course-meta {
  color: rgba(251, 248, 242, 0.8);
  font-family: var(--pma-sans);
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
body.pma-lms .course-detail-info a { color: var(--pma-gold-300); }

body.pma-lms .course-tab-panels .course-nav-tab-overview,
body.pma-lms .learn-press-nav-tabs,
body.pma-lms .course-nav-tabs {
  border-bottom: 1px solid var(--pma-stone-300);
  background: transparent;
}
body.pma-lms .learn-press-nav-tabs .course-nav a,
body.pma-lms .course-nav-tabs a,
body.pma-lms .learn-press-tabs__tab {
  font-family: var(--pma-sans);
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}
body.pma-lms .learn-press-nav-tabs .course-nav.active a,
body.pma-lms .learn-press-tabs__tab.active {
  color: var(--pma-navy-900);
  border-bottom: 2px solid var(--pma-gold-500);
}

/* Curriculum — colour and type only. No layout change. */
body.pma-lms .curriculum-sections .section-header,
body.pma-lms .course-curriculum .section-title {
  background-color: var(--pma-stone-100);
  border-color: var(--pma-stone-300);
  font-family: var(--pma-serif);
  color: var(--pma-navy-900);
}
body.pma-lms .curriculum-sections .course-item a,
body.pma-lms .course-curriculum .course-item a {
  font-family: var(--pma-sans);
  color: var(--pma-ink);
}
body.pma-lms .curriculum-sections .course-item:hover a { color: var(--pma-navy-900); }
body.pma-lms .curriculum-sections .course-item.item-locked .item-name { color: var(--pma-ink-muted); }
body.pma-lms .curriculum-sections .course-item.has-status-completed .item-name { color: var(--pma-success); }

/* Purchase / enrol panel */
body.pma-lms .course-sidebar-preview,
body.pma-lms .lp-single-course .course-sidebar,
body.pma-lms .course-summary-sidebar {
  background-color: var(--pma-white);
  border: 1px solid var(--pma-stone-300);
  border-radius: 0;
}
body.pma-lms .featured-review,
body.pma-lms .course-review { border-top: 1px solid var(--pma-stone-300); }

/* Progress */
body.pma-lms .lp-course-progress .progress-bg,
body.pma-lms .learn-press-progress { background-color: var(--pma-stone-300); }
body.pma-lms .lp-course-progress .progress-active,
body.pma-lms .learn-press-progress__active { background-color: var(--pma-gold-500); }

/* ------------------------------------------------------------------
   6 · Lesson, quiz and profile surfaces — conservative
   ------------------------------------------------------------------ */
body.pma-lms #learn-press-content-item,
body.pma-lms .content-item-wrap { background-color: var(--pma-white); }
body.pma-lms .content-item-summary h1,
body.pma-lms .content-item-summary h2 { font-family: var(--pma-serif) !important; color: var(--pma-navy-900); }
body.pma-lms .content-item-summary,
body.pma-lms .content-item-summary p,
body.pma-lms .content-item-summary li { font-family: var(--pma-sans); color: var(--pma-ink); }
body.pma-lms .course-item-nav a { font-family: var(--pma-sans); color: var(--pma-navy-800); }

body.pma-lms .lp-quiz-buttons button,
body.pma-lms .quiz-buttons button { font-family: var(--pma-sans); }
body.pma-lms .quiz-question .answer-option.answer-correct { border-color: var(--pma-success); }
body.pma-lms .quiz-result .result-grade.passed { color: var(--pma-success); }
body.pma-lms .quiz-result .result-grade.failed { color: var(--pma-error); }

body.pma-lms #learn-press-profile .lp-profile-nav a,
body.pma-lms .lp-profile-nav-tabs a {
  font-family: var(--pma-sans);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}
body.pma-lms #learn-press-profile .lp-profile-nav .active > a { color: var(--pma-navy-900); }
body.pma-lms .learn-press-form-login,
body.pma-lms .learn-press-form-register {
  background-color: var(--pma-white);
  border: 1px solid var(--pma-stone-300);
}

/* ------------------------------------------------------------------
   7 · Forms and focus states
   ------------------------------------------------------------------ */
body.pma-lms input[type="text"],
body.pma-lms input[type="email"],
body.pma-lms input[type="password"],
body.pma-lms input[type="search"],
body.pma-lms input[type="number"],
body.pma-lms textarea,
body.pma-lms select {
  font-family: var(--pma-sans);
  font-size: 1rem;
  color: var(--pma-ink);
  background-color: var(--pma-white);
  border: 1px solid var(--pma-stone-300);
  border-radius: 0;
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
body.pma-lms input:focus,
body.pma-lms textarea:focus,
body.pma-lms select:focus {
  border-color: var(--pma-navy-600);
  box-shadow: 0 0 0 3px rgba(42, 70, 103, 0.14);
  outline: none;
}
body.pma-lms a:focus-visible,
body.pma-lms button:focus-visible,
body.pma-lms input:focus-visible,
body.pma-lms select:focus-visible,
body.pma-lms textarea:focus-visible,
body.pma-lms [tabindex]:focus-visible {
  outline: 2px solid var(--pma-navy-600);
  outline-offset: 2px;
}

/* ------------------------------------------------------------------
   8 · Footer, socket, social row
   ------------------------------------------------------------------ */
body.pma-lms #footer {
  background-color: var(--pma-navy-900) !important;
  color: var(--pma-ivory);
  border-top: 1px solid var(--pma-navy-600);
}
body.pma-lms #footer .widget { background: transparent !important; }
body.pma-lms #footer h3,
body.pma-lms #footer .widgettitle {
  font-family: var(--pma-sans) !important;
  font-size: var(--fs-xs) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pma-gold-300) !important;
}
body.pma-lms #footer p,
body.pma-lms #footer li { font-size: 0.9375rem; }
body.pma-lms #footer a { color: rgba(251, 248, 242, 0.85) !important; transition: color var(--dur) var(--ease); }
body.pma-lms #footer a:hover { color: var(--pma-gold-300) !important; }
body.pma-lms #footer .widget_archive,
body.pma-lms #footer .widget_calendar,
body.pma-lms #footer .widget_meta { display: none !important; }

body.pma-lms #socket {
  background-color: var(--pma-navy-900) !important;
  border-top: 1px solid rgba(240, 206, 115, 0.22);
  color: rgba(251, 248, 242, 0.72);
}
body.pma-lms #socket .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-4) var(--s-6);
}
body.pma-lms #socket .copyright {
  float: none;
  font-family: var(--pma-sans);
  font-size: var(--fs-xs);
  color: rgba(251, 248, 242, 0.72);
}
body.pma-lms #socket a { color: var(--pma-ivory); }
body.pma-lms #socket a:hover { color: var(--pma-gold-300); }
body.pma-lms #socket .copyright a[href*="kriesi.at"] { display: none; }

.pma-social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-5);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pma-social__link {
  font-family: var(--pma-sans);
  font-size: var(--fs-xs);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(251, 248, 242, 0.78) !important;
  padding-block: var(--s-1);
  border-bottom: 1px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.pma-social__link:hover,
.pma-social__link:focus-visible {
  color: var(--pma-gold-300) !important;
  border-bottom-color: var(--pma-gold-500);
}

/* ------------------------------------------------------------------
   9 · Reduced motion
   ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  body.pma-lms *,
  body.pma-lms *::before,
  body.pma-lms *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  body.pma-lms .learn-press-courses .course-item:hover { transform: none; }
}
