/* PMA Science University — Courses · 05-elevation.css
   2.1.0 elevation pass. Additive only: this sheet loads last and refines
   catalogue cards, course and lesson chrome, quiz surfaces, progress, account
   and certificate presentation to the Luxury University Standard.
   Every selector is anchored on `body.pma-lms`, a class added only by this
   child theme on the /courses install. No rule here can reach root
   pmascience.com, /pma or /psychology. */

/* ------------------------------------------------------------------
   1 · Motion and focus, applied consistently
   ------------------------------------------------------------------ */
body.pma-lms {
  --pma-ease: cubic-bezier(.2, .6, .2, 1);
  --pma-lift: 0 1px 2px rgba(11, 27, 51, .06), 0 14px 34px rgba(11, 27, 51, .09);
}

@media (prefers-reduced-motion: reduce) {
  body.pma-lms *,
  body.pma-lms *::before,
  body.pma-lms *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

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-gold-500);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ------------------------------------------------------------------
   2 · Catalogue cards — hairline grid, restrained lift, no gradients
   ------------------------------------------------------------------ */
body.pma-lms .learn-press-courses,
body.pma-lms ul.learn-press-courses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.75rem;
  margin: 0 0 3rem;
  padding: 0;
  list-style: none;
}

body.pma-lms .learn-press-courses .course,
body.pma-lms .lp-course-item {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--pma-white);
  border: var(--hairline);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  transition: box-shadow .22s var(--pma-ease), transform .22s var(--pma-ease), border-color .22s var(--pma-ease);
}

body.pma-lms .learn-press-courses .course:hover,
body.pma-lms .lp-course-item:hover {
  box-shadow: var(--pma-lift);
  transform: translateY(-3px);
  border-color: #cfc6b3;
}

body.pma-lms .course-thumbnail,
body.pma-lms .lp-course-item__thumbnail {
  margin: 0;
  background-color: var(--pma-navy-900);
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

body.pma-lms .course-thumbnail img,
body.pma-lms .lp-course-item__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s var(--pma-ease);
}

body.pma-lms .learn-press-courses .course:hover .course-thumbnail img {
  transform: scale(1.03);
}

body.pma-lms .course-content,
body.pma-lms .lp-course-item__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem 1.5rem 1.6rem;
}

body.pma-lms .course-title,
body.pma-lms .lp-course-item__title {
  margin: 0 0 .5rem;
  font-family: var(--pma-serif);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.25;
  letter-spacing: -.005em;
  color: var(--pma-navy-900);
}

body.pma-lms .course-title a { color: inherit; border: 0; text-decoration: none; }
body.pma-lms .learn-press-courses .course:hover .course-title a { color: var(--pma-gold-500); }

body.pma-lms .course-excerpt,
body.pma-lms .course-description {
  margin: 0 0 1.1rem;
  font-size: .94rem;
  line-height: 1.6;
  color: var(--pma-ink-muted);
}

body.pma-lms .course-meta,
body.pma-lms .lp-course-item__meta {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  padding-top: .85rem;
  border-top: 1px solid var(--pma-stone-100);
  font-family: var(--pma-sans);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}

body.pma-lms .course-price,
body.pma-lms .course-price .price {
  font-family: var(--pma-serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--pma-navy-900);
}

/* ------------------------------------------------------------------
   3 · Buttons and form controls — pill, quiet, deliberate
   ------------------------------------------------------------------ */
body.pma-lms .lp-button,
body.pma-lms button.lp-button,
body.pma-lms .course-enroll-button button,
body.pma-lms .lp-course-buttons button,
body.pma-lms #lp-button-finish-course,
body.pma-lms .lp-quiz-buttons button {
  display: inline-block;
  padding: .95rem 1.9rem;
  border: 1px solid var(--pma-navy-900);
  border-radius: 999px;
  background-color: var(--pma-navy-900);
  color: var(--pma-white);
  font-family: var(--pma-sans);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: none;
  cursor: pointer;
  transition: background-color .2s var(--pma-ease), border-color .2s var(--pma-ease),
              color .2s var(--pma-ease), transform .2s var(--pma-ease);
}

body.pma-lms .lp-button:hover,
body.pma-lms button.lp-button:hover,
body.pma-lms .course-enroll-button button:hover,
body.pma-lms .lp-course-buttons button:hover,
body.pma-lms .lp-quiz-buttons button:hover {
  background-color: var(--pma-gold-500);
  border-color: var(--pma-gold-500);
  color: var(--pma-navy-900);
  transform: translateY(-2px);
}

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 select,
body.pma-lms textarea {
  padding: .8rem .95rem;
  border: var(--hairline);
  border-radius: 0;
  background-color: var(--pma-white);
  color: var(--pma-ink);
  font-family: var(--pma-sans);
  font-size: .95rem;
  box-shadow: none;
  transition: border-color .18s var(--pma-ease);
}

body.pma-lms input:focus,
body.pma-lms select:focus,
body.pma-lms textarea:focus { border-color: var(--pma-navy-600); }

body.pma-lms label {
  font-family: var(--pma-sans);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
}

/* ------------------------------------------------------------------
   4 · Course, lesson and curriculum chrome
   ------------------------------------------------------------------ */
body.pma-lms .course-summary,
body.pma-lms .lp-single-course {
  background-color: transparent;
}

body.pma-lms .course-summary .entry-title,
body.pma-lms .lp-single-course .entry-title {
  font-family: var(--pma-serif);
  font-weight: 600;
  font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.75rem);
  line-height: 1.14;
  letter-spacing: -.01em;
  color: var(--pma-navy-900);
  max-width: 30ch;
}

body.pma-lms .course-tabs,
body.pma-lms .lp-course-tabs {
  border-bottom: var(--hairline);
  margin: 0 0 2.4rem;
}

body.pma-lms .course-tabs li a,
body.pma-lms .lp-course-tabs li a {
  padding: .9rem 0;
  margin-right: 2.2rem;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  font-family: var(--pma-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
  transition: color .18s var(--pma-ease), border-color .18s var(--pma-ease);
}

body.pma-lms .course-tabs li.active a,
body.pma-lms .course-tabs li a:hover {
  color: var(--pma-navy-900);
  border-bottom-color: var(--pma-gold-500);
}

body.pma-lms .curriculum-sections .section {
  border: var(--hairline);
  border-bottom: 0;
  background-color: var(--pma-white);
}

body.pma-lms .curriculum-sections .section:last-child { border-bottom: var(--hairline); }

body.pma-lms .curriculum-sections .section-header {
  padding: 1.1rem 1.3rem;
  background-color: var(--pma-stone-100);
  border-bottom: var(--hairline);
}

body.pma-lms .curriculum-sections .section-title {
  margin: 0;
  font-family: var(--pma-serif);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--pma-navy-900);
}

body.pma-lms .curriculum-sections .course-item {
  border-bottom: 1px solid var(--pma-stone-100);
  transition: background-color .18s var(--pma-ease);
}

body.pma-lms .curriculum-sections .course-item:last-child { border-bottom: 0; }
body.pma-lms .curriculum-sections .course-item:hover { background-color: var(--pma-stone-100); }

body.pma-lms .curriculum-sections .course-item .section-item-link {
  padding: .95rem 1.3rem;
  border: 0;
  font-size: .96rem;
  color: var(--pma-ink);
}

body.pma-lms .course-item-meta .item-meta {
  font-family: var(--pma-sans);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
  background: none;
  border: 1px solid var(--pma-stone-300);
  border-radius: 999px;
  padding: .2rem .65rem;
}

body.pma-lms .course-item.item-current > .section-item-link {
  box-shadow: inset 3px 0 0 var(--pma-gold-500);
  background-color: var(--pma-stone-100);
}

body.pma-lms .course-item.has-status.status-completed .item-name { color: var(--pma-success); }

/* Lesson reading measure — the single highest-impact readability change */
body.pma-lms .content-item-summary,
body.pma-lms .lp-entry-content {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--pma-ink);
}

body.pma-lms .content-item-summary p,
body.pma-lms .lp-entry-content p { max-width: 68ch; }

body.pma-lms .content-item-summary h2,
body.pma-lms .content-item-summary h3 {
  font-family: var(--pma-serif);
  font-weight: 600;
  color: var(--pma-navy-900);
  margin-top: 2.4rem;
}

/* ------------------------------------------------------------------
   5 · Progress
   ------------------------------------------------------------------ */
body.pma-lms .lp-course-progress,
body.pma-lms .course-progress {
  background-color: var(--pma-white);
  border: var(--hairline);
  padding: 1.3rem 1.4rem;
  margin: 0 0 2rem;
}

body.pma-lms .learn-press-progress,
body.pma-lms .lp-progress-bar {
  height: 6px;
  background-color: var(--pma-stone-300);
  border-radius: 999px;
  overflow: hidden;
}

body.pma-lms .learn-press-progress__active,
body.pma-lms .lp-progress-bar__value {
  height: 6px;
  background-color: var(--pma-navy-900);
  border-radius: 999px;
  transition: width .5s var(--pma-ease);
}

body.pma-lms .lp-course-progress__heading,
body.pma-lms .course-progress .progress-label {
  font-family: var(--pma-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
  margin: 0 0 .6rem;
}

/* ------------------------------------------------------------------
   6 · Quizzes — calm surfaces, no alarm colour except where it belongs
   ------------------------------------------------------------------ */
body.pma-lms .quiz-questions,
body.pma-lms .lp-quiz-question {
  background-color: var(--pma-white);
  border: var(--hairline);
  padding: 1.6rem 1.7rem;
  margin: 0 0 1.5rem;
}

body.pma-lms .question-title {
  font-family: var(--pma-serif);
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--pma-navy-900);
  margin: 0 0 1.1rem;
  max-width: 60ch;
}

body.pma-lms .answer-options .answer-option {
  border: var(--hairline);
  padding: .85rem 1rem;
  margin: 0 0 .6rem;
  background-color: var(--pma-white);
  transition: border-color .18s var(--pma-ease), background-color .18s var(--pma-ease);
}

body.pma-lms .answer-options .answer-option:hover {
  border-color: var(--pma-navy-600);
  background-color: var(--pma-stone-100);
}

body.pma-lms .answer-options .answer-option.answer-correct {
  border-color: var(--pma-success);
  background-color: #f2f7f4;
}

body.pma-lms .answer-options .answer-option.answer-wrong {
  border-color: var(--pma-error);
  background-color: #faf3f2;
}

body.pma-lms .quiz-result,
body.pma-lms .lp-quiz-result {
  background-color: var(--pma-navy-900);
  color: var(--pma-ivory);
  border-left: 3px solid var(--pma-gold-500);
  padding: 1.7rem 1.8rem;
}

body.pma-lms .quiz-result .result-grade,
body.pma-lms .quiz-result .result-statistic-field .result-achieved {
  font-family: var(--pma-serif);
  font-size: 2rem;
  color: var(--pma-white);
}

body.pma-lms .quiz-result .result-statistic-field {
  border-bottom: 1px solid var(--pma-navy-600);
  padding: .6rem 0;
}

/* ------------------------------------------------------------------
   7 · Account, orders and certificates
   ------------------------------------------------------------------ */
body.pma-lms .lp-profile-content,
body.pma-lms .learn-press-profile {
  background-color: transparent;
}

body.pma-lms .lp-profile-nav-tabs a,
body.pma-lms .learn-press-profile__tabs a {
  border: 0;
  border-left: 2px solid transparent;
  padding: .8rem 1rem;
  font-family: var(--pma-sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--pma-ink-muted);
  transition: color .18s var(--pma-ease), border-color .18s var(--pma-ease),
              background-color .18s var(--pma-ease);
}

body.pma-lms .lp-profile-nav-tabs li.active a,
body.pma-lms .lp-profile-nav-tabs a:hover {
  color: var(--pma-navy-900);
  border-left-color: var(--pma-gold-500);
  background-color: var(--pma-stone-100);
}

body.pma-lms table,
body.pma-lms .lp-list-table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--pma-white);
  font-size: .93rem;
}

body.pma-lms table th {
  background-color: var(--pma-navy-800);
  color: var(--pma-white);
  border: 1px solid var(--pma-navy-800);
  padding: .8rem .9rem;
  text-align: left;
  font-family: var(--pma-sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.pma-lms table td {
  border: var(--hairline);
  padding: .75rem .9rem;
  vertical-align: top;
  line-height: 1.55;
}

body.pma-lms table tr:nth-child(even) td { background-color: #f9f7f2; }

body.pma-lms .lp-certificate,
body.pma-lms .certificate-preview {
  background-color: var(--pma-ivory);
  border: 1px solid var(--pma-stone-300);
  box-shadow: var(--pma-lift);
  padding: clamp(1.6rem, 3vw, 3rem);
}

/* ------------------------------------------------------------------
   8 · Mobile
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
  body.pma-lms .learn-press-courses,
  body.pma-lms ul.learn-press-courses { grid-template-columns: 1fr; gap: 1.25rem; }

  body.pma-lms .course-tabs li a,
  body.pma-lms .lp-course-tabs li a { margin-right: 1.2rem; font-size: .72rem; }

  body.pma-lms .quiz-questions,
  body.pma-lms .lp-quiz-question { padding: 1.2rem 1.1rem; }

  body.pma-lms .lp-button,
  body.pma-lms button.lp-button { width: 100%; text-align: center; }

  /* Account and order tables become stacked rows rather than scrolling grids */
  body.pma-lms .lp-profile-content table,
  body.pma-lms .lp-profile-content table tbody,
  body.pma-lms .lp-profile-content table tr,
  body.pma-lms .lp-profile-content table td { display: block; width: 100%; }
  body.pma-lms .lp-profile-content table thead { display: none; }
  body.pma-lms .lp-profile-content table tr { border: var(--hairline); margin: 0 0 1rem; }
  body.pma-lms .lp-profile-content table td { border: 0; border-bottom: 1px solid var(--pma-stone-100); }
}

/* ------------------------------------------------------------------
   9 · Print — lesson and certificate output
   ------------------------------------------------------------------ */
@media print {
  body.pma-lms #header,
  body.pma-lms #footer,
  body.pma-lms #socket,
  body.pma-lms .course-tabs,
  body.pma-lms .lp-course-tabs,
  body.pma-lms .lp-button { display: none !important; }

  body.pma-lms .content-item-summary { font-size: 11pt; line-height: 1.5; color: #000; }
}
