/*
 * Member areas: BuddyPress (Nouveau) and Sensei, in the site's look.
 * Ruled, not boxed. Ink buttons. One accent. Tokens from style.css.
 */

/* ---------- Shared: buttons, inputs, notices ---------- */
#buddypress .button, #buddypress button:not(.bp-tooltip):not(.wp-hide-pw), #buddypress input[type="submit"],
#buddypress a.button, #buddypress .generic-button a,
.sensei .button, .sensei-lms .button, .wp-block-sensei-lms-button-take-course .wp-block-button__link,
.sensei-course-theme .wp-block-button__link, .course .wp-block-button__link, .lesson .wp-block-button__link,
.sensei input[type="submit"] {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: var(--btn-h); padding: 0 1.4rem;
    background: var(--ink); color: var(--paper) !important;
    border: 1.5px solid var(--ink); border-radius: var(--radius);
    font: 600 1rem/1 var(--ui); text-decoration: none; text-shadow: none; box-shadow: none;
    cursor: pointer;
    transition: background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);
}
#buddypress .button:hover, #buddypress button:not(.bp-tooltip):not(.wp-hide-pw):hover, #buddypress input[type="submit"]:hover,
#buddypress a.button:hover, #buddypress .generic-button a:hover,
.wp-block-sensei-lms-button-take-course .wp-block-button__link:hover {
    background: var(--orange-ink); border-color: var(--orange-ink); color: var(--paper) !important;
}
#buddypress .generic-button a.pending, #buddypress .button.bp-secondary-action { background: transparent; color: var(--ink) !important; }

#buddypress input[type="text"], #buddypress input[type="email"], #buddypress input[type="password"], #buddypress input[type="url"],
#buddypress input[type="search"], #buddypress textarea, #buddypress select {
    width: 100%; max-width: 32rem;
    font: 400 1rem/1.4 var(--body); color: var(--ink);
    background: var(--paper); border: 1px solid var(--muted); border-radius: var(--radius);
    padding: 0.65rem 0.75rem; min-height: var(--btn-h); box-shadow: none;
}
#buddypress :is(input, textarea, select):focus { outline: 2px solid var(--pacific); outline-offset: 0; border-color: var(--pacific); }
#buddypress :is(a, button, .button, summary):focus-visible, .sensei-course-theme :is(a, button):focus-visible { outline: 2px solid var(--signal) !important; outline-offset: 2px; box-shadow: none; }
#buddypress textarea { max-width: none; min-height: 6rem; }

#buddypress .bp-feedback {
    display: flex; gap: var(--space-sm); align-items: flex-start;
    background: var(--paper); color: var(--ink-2);
    border: 1px solid var(--rule); border-top: 3px solid var(--pacific);
    box-shadow: none; padding: var(--space-sm) var(--space-md); margin: 0 0 var(--space-lg);
    font-family: var(--ui);
}
#buddypress .bp-feedback .bp-icon { display: none; }
#buddypress .bp-feedback p { margin: 0; max-width: none; }
#buddypress .bp-feedback.error, #buddypress .bp-feedback.warning { border-top-color: var(--signal); }

/* WordPress's caps-lock warning draws a giant arrow without its own CSS; keep it small. */
.caps-warning, #buddypress .caps-warning { display: none; align-items: center; gap: 0.4rem; font: 600 0.8rem var(--ui); color: var(--signal-ink); margin-top: 0.4rem; }
.caps-warning.is-visible, #buddypress .caps-warning[style*="flex"] { display: flex; }
.caps-warning svg, .caps-icon svg { width: 14px !important; height: 14px !important; }

#pass-strength-result, #buddypress #pass-strength-result {
    border: 1px solid var(--rule) !important; border-radius: 2px;
    background: var(--paper-2) !important; color: var(--ink) !important;
    font: 600 0.8rem var(--ui); padding: 0.4rem 0.6rem; margin: 0.5rem 0; max-width: 32rem;
}
#pass-strength-result.strong { border-top: 3px solid var(--pacific) !important; }
#pass-strength-result.bad, #pass-strength-result.short { border-top: 3px solid var(--signal) !important; }
.pw-weak, #buddypress .pw-weak { font: 0.85rem var(--ui); }
#buddypress .wp-hide-pw {
    flex: none; width: var(--btn-h); min-height: var(--btn-h); padding: 0 !important;
    background: transparent !important; border: 1px solid var(--muted) !important; color: var(--ink) !important;
}
#buddypress .wp-hide-pw:hover { border-color: var(--ink) !important; }
#buddypress .wp-hide-pw .dashicons { width: 20px; height: 20px; font-size: 20px; line-height: 1; }
#buddypress .password-input-wrapper { display: flex; gap: 0.5rem; flex: 1 1 auto; }
#buddypress .password-input-wrapper input { flex: 1 1 auto; min-width: 0; }
#buddypress .wp-pwd { flex-wrap: wrap; }
#buddypress .wp-pwd #pass-strength-result { flex: 1 1 100%; margin: 0; }
#buddypress .user-pass1-wrap .password-input-wrapper, #buddypress .wp-pwd { display: flex; gap: 0.5rem; max-width: 32rem; }
#buddypress p.description, #buddypress .description, #buddypress .indicator-hint { font: 0.85rem/1.45 var(--ui); color: var(--muted); max-width: 32rem; background: none; }

/* ---------- Signup ---------- */
#buddypress #signup-form, #buddypress .standard-form { font-family: var(--ui); }
#buddypress #signup-form .layout-wrap, #buddypress .register-section { display: grid; gap: var(--space-sm); align-content: start; align-items: start; }
#buddypress .register-section > label { margin: var(--space-xs) 0 -0.5rem; }
#buddypress .register-section > label:first-of-type { margin-top: 0; }
#buddypress .register-section h2, #buddypress #signup-form h2 {
    font-family: var(--ui); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
    border-top: 1.5px solid var(--ink); padding-top: var(--space-sm); margin: var(--space-lg) 0 var(--space-xs);
}
#buddypress #signup-form .layout-wrap { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); column-gap: var(--space-2xl); }
#buddypress .editfield, #buddypress #signup-form label { font-weight: 600; font-size: 0.9rem; }
#buddypress .editfield legend, #buddypress .editfield label { display: block; margin-bottom: 0.35rem; }
#buddypress .field-visibility-settings-notoggle, #buddypress .field-visibility-settings-toggle { font: 0.8rem var(--ui); color: var(--muted); margin-top: 0.35rem; }
#buddypress .field-visibility-settings-toggle .visibility-toggle-link { background: none; border: 0; color: var(--pacific); padding: 0; min-height: 0; font: inherit; text-decoration: underline; }
#buddypress .submit { margin-top: var(--space-lg); }
.pt-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Directory + sub navigation ---------- */
#buddypress .bp-navs ul, #buddypress .subnav, #buddypress .component-navigation {
    display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0 0 var(--space-lg); padding: 0;
    border-bottom: 1.5px solid var(--ink); background: none;
}
#buddypress .bp-navs li { margin: 0; }
#buddypress .bp-navs, #buddypress .subnav-filters, #buddypress .bp-navs ul li { background: none; border-top: 0; box-shadow: none; }
#buddypress .main-navs.dir-navs { border: 0; }
#buddypress .bp-navs li a {
    display: inline-flex; align-items: center; gap: 0.4rem;
    min-height: var(--tap); padding: 0 1rem; font: 600 0.95rem var(--ui); color: var(--ink-2); text-decoration: none;
    border: 0; background: none;
}
#buddypress .bp-navs li.selected a, #buddypress .bp-navs li.current a { color: var(--ink); box-shadow: inset 0 -3px 0 var(--ink); }
#buddypress .bp-navs li a:hover { color: var(--pacific); }
#buddypress .bp-navs .count { background: var(--paper-2); color: var(--ink-2); border: 1px solid var(--rule); border-radius: 2px; font: 600 0.75rem var(--ui); padding: 0.05rem 0.4rem; }

#buddypress .subnav-filters { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: center; margin-bottom: var(--space-md); }
#buddypress .dir-search form, #buddypress .bp-search form { display: flex; gap: 0.5rem; border: 0; background: none; box-shadow: none; }
#buddypress .dir-search button, #buddypress .bp-search button { min-height: var(--btn-h); width: var(--btn-h); padding: 0; }
#buddypress .dir-search, #buddypress .bp-search { flex: 1 1 18rem; max-width: 26rem; margin: 0; }
#buddypress .dir-search input[type="search"], #buddypress .bp-search input[type="search"] { max-width: none; flex: 1 1 auto; min-width: 0; }
#buddypress .feed a { display: inline-grid; place-items: center; width: var(--tap); height: var(--tap); color: var(--muted); }
#buddypress .select-wrap { position: relative; border: 0; background: none; }
#buddypress .select-wrap select {
    appearance: none; -webkit-appearance: none; width: auto; min-width: 12rem; padding-right: 2.25rem; font-family: var(--ui);
    background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);
    background-position: calc(100% - 1.1rem) 50%, calc(100% - 0.75rem) 50%; background-size: 0.35rem 0.35rem; background-repeat: no-repeat;
}
#buddypress .select-wrap .select-arrow { display: none; }
#buddypress .component-filters { margin: 0; }
#buddypress .subnav-filters > * { margin: 0; }

/* ---------- Lists: members, groups, activity ---------- */
#buddypress .item-list, #buddypress ul.item-list { list-style: none; padding: 0; margin: 0; border-top: 1.5px solid var(--ink); }
#buddypress .item-list > li {
    border: 0; border-bottom: 1px solid var(--rule); box-shadow: none; background: none;
    padding: var(--space-md) 0; margin: 0;
}
#buddypress .item-list .list-wrap { display: grid; grid-template-columns: auto 1fr; gap: var(--space-md); align-items: start; background: none; border: 0; }
#buddypress .item-avatar img, #buddypress .avatar { border-radius: 2px; border: 1px solid var(--rule); }
#buddypress .item-title, #buddypress .list-title { font: 600 1.25rem/1.1 var(--display); }
#buddypress .item-title a, #buddypress .list-title a { color: var(--ink); text-decoration: none; }
#buddypress .item-meta, #buddypress .activity-header, #buddypress .activity-header .time-since, #buddypress .last-activity {
    font: 0.85rem/1.45 var(--ui); color: var(--muted);
}
#buddypress .activity-header a { color: var(--ink); font-weight: 600; }
#buddypress .activity-inner { font-family: var(--body); color: var(--ink); background: none; border: 0; padding: var(--space-2xs) 0; }
#buddypress .activity-meta { display: flex; gap: var(--space-2xs); flex-wrap: wrap; margin: var(--space-xs) 0 0; padding: 0; background: none; }
#buddypress .activity-meta .generic-button { margin: 0; }
#buddypress .activity-meta .button, #buddypress .activity-meta a.button {
    min-height: var(--tap); min-width: var(--tap); padding: 0 0.7rem; gap: 0.35rem;
    font-size: 0.85rem; background: transparent; color: var(--ink-2) !important; border: 1px solid var(--rule);
}
#buddypress .activity-meta .button:hover { background: var(--paper-2); color: var(--ink) !important; border-color: var(--ink-2); }
#buddypress .activity-meta .button::before { font-size: 1rem; }
#buddypress .activity-comments { border-left: 1px solid var(--rule); margin-left: var(--space-sm); padding-left: var(--space-md); }

/* What's-new box */
#buddypress #whats-new-form { background: var(--paper); border: 1.5px solid var(--ink); padding: var(--space-md); box-shadow: none; margin-bottom: var(--space-xl); }
#buddypress #whats-new-form #whats-new-avatar { display: none; }
#buddypress #whats-new-form textarea { border: 1px solid var(--muted); background: var(--paper); }
#buddypress #whats-new-form { background: var(--paper-2); }
#buddypress #whats-new-form #whats-new-content, #buddypress #whats-new-form #whats-new-textarea { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
#buddypress .activity-update-form { border: 0; box-shadow: none; background: none; padding: 0; }
#buddypress li::before { content: none; }

/* ---------- Profile / group header ---------- */
#buddypress #item-header, #buddypress .item-header-wrap, #buddypress #cover-image-container { background: none; box-shadow: none; }
#buddypress #item-header-cover-image, #buddypress #header-cover-image { background: var(--ink) !important; min-height: 8rem; }
#buddypress #item-header-content h2, #buddypress .user-nicename { font-family: var(--display); }
#buddypress .user-nicename { color: var(--muted); font-size: 1.1rem; }
#buddypress .profile .bp-widget h3, #buddypress .profile h2.screen-heading, #buddypress .screen-heading {
    font: 600 0.8rem var(--ui); letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted);
    border-top: 1.5px solid var(--ink); padding-top: var(--space-sm); margin: var(--space-lg) 0 var(--space-sm);
}
#buddypress .profile table, #buddypress table.profile-fields { width: 100%; border-collapse: collapse; font-family: var(--ui); }
#buddypress table.profile-fields td { border: 0; border-bottom: 1px solid var(--rule); padding: 0.6rem 0; background: none; }
#buddypress table.profile-fields td.label { width: 12rem; color: var(--muted); font-weight: 600; }

/* ---------- Pagination ---------- */
#buddypress .bp-pagination { font: 0.85rem var(--ui); color: var(--muted); display: flex; justify-content: space-between; padding: var(--space-sm) 0; border: 0; }
#buddypress .bp-pagination a, #buddypress .bp-pagination span.current { padding: 0.3rem 0.6rem; border: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
#buddypress .bp-pagination span.current { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- Sensei: course lists, course and lesson pages ---------- */
.wp-block-sensei-lms-course-list, .sensei-course-list, ul.course-container, .course-container {
    list-style: none; padding: 0; margin: 0; border-top: 1.5px solid var(--ink);
}
.wp-block-sensei-lms-course-list .wp-block-post, .course-container > li, .course-container > article, .sensei-course-list .course {
    border: 0; border-bottom: 1px solid var(--rule); padding: var(--space-md) 0; margin: 0; background: none; box-shadow: none;
}
.wp-block-sensei-lms-course-list .wp-block-post-title, .course-container .course-title, .sensei-course-list .course-title {
    font: 600 1.6rem/1.05 var(--display); margin: 0 0 var(--space-2xs);
}
.wp-block-sensei-lms-course-list .wp-block-post-title a, .course-container .course-title a { color: var(--ink); text-decoration: none; }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt, .course-container .course-excerpt { color: var(--ink-2); }
.wp-block-sensei-lms-course-list img, .course-container img { border-radius: 2px; }
.wp-block-sensei-lms-course-categories a, .sensei-course-categories a {
    display: inline-block; font: 600 0.75rem var(--ui); letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--muted) !important; background: none !important; border: 1px solid var(--rule); padding: 0.15rem 0.45rem; text-decoration: none;
}
.sensei-course-filters, .sensei-course-list-filter, .wp-block-sensei-lms-course-list-filter { margin: 0 0 var(--space-md); font-family: var(--ui); }
.wp-block-sensei-lms-course-list-filter select, .sensei-course-filters select {
    font: 400 0.95rem var(--ui); border: 1px solid var(--muted); border-radius: 2px; background: var(--paper); padding: 0.5rem 2rem 0.5rem 0.75rem; min-height: 2.6rem;
}

/* Progress */
.sensei-progress-bar, .wp-block-sensei-lms-course-progress .sensei-progress-bar__bar, .sensei-course-progress,
.wp-block-sensei-lms-course-progress .wp-block-sensei-lms-progress-bar {
    background: var(--paper-2) !important; border-radius: 0 !important; height: 6px !important; border: 1px solid var(--rule);
}
.sensei-progress-bar__progress, .wp-block-sensei-lms-course-progress .sensei-progress-bar__progress,
.wp-block-sensei-lms-progress-bar > div { background: var(--pacific) !important; border-radius: 0 !important; }
.sensei-progress-bar__label, .wp-block-sensei-lms-course-progress .sensei-progress-bar__heading { font: 600 0.8rem var(--ui); color: var(--muted); }

/* Course outline: a numbered syllabus. Modules are ruled sections with a display title;
   lessons are ledger rows numbered through the whole course (01-15), status box on the right. */
.wp-block-sensei-lms-course-outline { counter-reset: pt-lesson; border-top: 1.5px solid var(--ink); margin: 0; }
.entry > .wp-block-sensei-lms-course-outline { max-width: none; }
.wp-block-sensei-lms-course-outline-module { border: 0 !important; border-bottom: 1.5px solid var(--ink) !important; margin: 0 !important; background: none !important; }
.wp-block-sensei-lms-course-outline-module:last-child { border-bottom: 0 !important; }
.wp-block-sensei-lms-course-outline-module__header {
    display: flex !important; align-items: center; justify-content: space-between; gap: var(--space-sm);
    background: none !important; color: var(--ink) !important; padding: var(--space-md) 0 var(--space-2xs) !important; border: 0 !important;
}
.wp-block-sensei-lms-course-outline-module__title { margin: 0 !important; font: 600 clamp(1.4rem, 1.2rem + 0.6vw, 1.7rem)/1.1 var(--display) !important; }
.wp-block-sensei-lms-course-outline-module__title a { display: inline-block; padding: 0.7rem 0; margin: -0.7rem 0; color: var(--ink) !important; text-decoration: none; }
.wp-block-sensei-lms-course-outline-module__title a:hover { color: var(--pacific) !important; text-decoration: underline; text-decoration-thickness: 1px; }
.wp-block-sensei-lms-course-outline__arrow {
    flex: none; display: grid; place-items: center; width: var(--tap); height: var(--tap); margin: 0 -0.6rem 0 0;
    background: none !important; border: 0 !important; color: var(--ink-2) !important; cursor: pointer;
}
.wp-block-sensei-lms-course-outline__arrow svg { width: 1.1rem; height: 1.1rem; fill: currentColor; }
.wp-block-sensei-lms-course-outline-module__description { margin: 0 0 var(--space-sm) !important; padding: 0 !important; max-width: 38rem; color: var(--ink-2); font-size: 1rem; line-height: 1.55; }
.wp-block-sensei-lms-course-outline-module__lessons-title {   /* "Lessons" band: kept for screen readers only */
    position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
a.wp-block-sensei-lms-course-outline-lesson, .wp-block-sensei-lms-course-outline-lesson {
    counter-increment: pt-lesson;
    display: grid !important; grid-template-columns: 2.25rem minmax(0, 1fr) auto; align-items: center; column-gap: var(--space-xs);
    min-height: 3.25rem; margin: 0 !important; padding: var(--space-xs) 0 !important;
    border: 0 !important; border-top: 1px solid var(--rule) !important; background: none !important;
    font: 500 1rem/1.35 var(--ui); color: var(--ink) !important; text-decoration: none;
}
.wp-block-sensei-lms-course-outline-lesson::before {
    content: counter(pt-lesson, decimal-leading-zero);
    font: 600 0.85rem var(--ui); color: var(--muted); font-variant-numeric: tabular-nums;
}
.wp-block-sensei-lms-course-outline-lesson > span { grid-column: 2; grid-row: 1; margin: 0 !important; }
.wp-block-sensei-lms-course-outline-lesson > svg:first-of-type { grid-column: 3; grid-row: 1; width: 1.1rem !important; height: 1.1rem !important; margin: 0 !important; color: var(--muted); fill: currentColor; }
.wp-block-sensei-lms-course-outline-lesson > svg:last-of-type:not(:first-of-type) { display: none; }   /* chevron: the row is the link */
.wp-block-sensei-lms-course-outline-lesson:hover { color: var(--pacific) !important; }
.wp-block-sensei-lms-course-outline-lesson:hover > span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.wp-block-sensei-lms-course-outline-lesson.completed > svg:first-of-type, .wp-block-sensei-lms-course-outline-lesson[class*="completed"] > svg:first-of-type { color: var(--pacific); }
.wp-block-sensei-lms-course-outline-lesson__status { border-radius: var(--radius) !important; }
.wp-block-sensei-lms-course-outline .sensei-collapsible__content { overflow: hidden; }

.sensei-message, .sensei .sensei-message, .sensei-course-theme .sensei-message {
    background: var(--paper) !important; color: var(--ink-2) !important;
    border: 1px solid var(--rule) !important; border-top: 3px solid var(--pacific) !important; border-radius: 0 !important;
    font-family: var(--ui); padding: var(--space-sm) var(--space-md) !important;
}
.sensei-message.alert { border-top-color: var(--signal) !important; }

/* ---------- Empty state for the course list ---------- */
.pt-empty {
    border: 1.5px solid var(--ink); background: var(--paper); padding: var(--space-lg);
    display: grid; gap: var(--space-sm); max-width: 44rem; font-family: var(--ui);
}
.pt-empty h2 { font-size: 1.9rem !important; margin: 0 !important; }
.pt-empty p { color: var(--ink-2); margin: 0; }

/* ---------- Team license note above the course list ---------- */
.pt-license {
    border-top: 1.5px solid var(--ink); border-bottom: 1px solid var(--rule);
    padding: var(--space-md) 0; margin: 0 0 var(--space-lg);
    display: grid; gap: var(--space-xs); max-width: 44rem;
}
.pt-license .eyebrow { margin: 0; }
.pt-license h2 { font-size: 1.6rem !important; margin: 0 !important; }
.pt-license p { margin: 0; color: var(--ink-2); }
.pt-license strong { color: var(--ink); font-family: var(--ui); }

/* ---------- Community landing (logged-out) ---------- */
.pt-feature-list { list-style: none; padding: 0; margin: var(--space-lg) 0; border-top: 1.5px solid var(--ink); max-width: 44rem; }
.pt-feature-list li { padding: var(--space-sm) 0; border-bottom: 1px solid var(--rule); }
.pt-feature-list strong { font-family: var(--ui); }

@media (max-width: 600px) {
    #buddypress .bp-navs li a { padding: 0 0.75rem; }
}

/* The page already has a Courses heading; Sensei's archive header would repeat it. */
.sensei-archive-controls .archive-header { display: none; }

/* Course list rows: ruled, not boxed */
.wp-block-sensei-lms-course-list .wp-block-post > .wp-block-group,
.wp-block-sensei-lms-course-list .wp-block-post .wp-block-group.has-border-color,
.wp-block-sensei-lms-course-list .wp-block-post .wp-block-group[style*="border"] {
    border: 0 !important; padding: 0 !important; background: none !important;
}
.wp-block-sensei-lms-course-list .wp-block-post { padding: var(--space-lg) 0 !important; }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt__excerpt { margin: var(--space-2xs) 0; }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt__more-link, .wp-block-sensei-lms-course-list a.wp-block-read-more { font-family: var(--ui); font-weight: 600; font-size: 0.9rem; }
.wp-block-sensei-lms-course-list hr, .wp-block-sensei-lms-course-list .wp-block-separator { display: none; }

/* Course and lesson meta lines */
.pt-course-meta, .pt-lesson-meta { font-family: var(--ui); font-size: 0.9rem !important; color: var(--muted); border-bottom: 1px solid var(--rule); padding-bottom: var(--space-sm); }
.pt-lesson-meta { margin-bottom: var(--space-lg) !important; }

/* Sensei lesson chrome in the site theme */
.sensei-course-theme-lesson-actions, .sensei-lesson-actions, .lesson-actions, .sensei-buttons-container { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin: var(--space-xl) 0; }
.sensei-course-theme__button, .sensei-lms-lesson-actions .wp-block-button__link, form.lesson_button_form input[type="submit"], .sensei-course-theme__button.is-primary {
    background: var(--ink) !important; color: var(--paper) !important; border: 1.5px solid var(--ink) !important; border-radius: 2px !important; font: 600 0.95rem var(--ui) !important; min-height: 2.75rem; padding: 0 1.2rem !important;
}
.wp-block-sensei-lms-lesson-actions .is-style-outline .wp-block-button__link { background: transparent !important; color: var(--ink) !important; }
.sensei-lesson-navigation, .wp-block-sensei-lms-lesson-navigation, nav.post-navigation { border-top: 1.5px solid var(--ink); padding-top: var(--space-md); margin-top: var(--space-xl); font-family: var(--ui); }
.wp-block-sensei-lms-lesson-navigation a, .sensei-lesson-navigation a { color: var(--ink); font-weight: 600; text-decoration: none; }
.sensei-message.info, .sensei-message.tick { border-top-color: var(--pacific) !important; }
.wp-block-sensei-lms-course-theme-notices, .sensei-course-theme__frame .sensei-lms-notice { border-radius: 0 !important; }
.entry .wp-block-code, .entry pre { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 2px; padding: var(--space-sm) var(--space-md); font-size: 0.85rem; line-height: 1.5; overflow-x: auto; white-space: pre-wrap; }
.entry code { font-size: 0.9em; }

/* ============================================================
   Style pass: courses, lessons and community read as one site
   ============================================================ */

/* ---------- Course page: syllabus beside the pitch ---------- */
.single-course .entry { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.single-course .entry > * { max-width: 40rem; }
.single-course .entry > .wp-block-sensei-lms-button-take-course, .single-course .entry > .sensei-cta { margin-top: var(--space-lg); }
.single-course .entry > .wp-block-sensei-lms-course-outline { margin-top: var(--space-2xl); max-width: none; }
@media (min-width: 1000px) {
    .single-course .entry {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
        column-gap: clamp(3rem, 1rem + 5vw, 6rem);
    }
    .single-course .entry > * { grid-column: 1; }
    .single-course .entry > .wp-block-sensei-lms-course-outline { grid-column: 2; grid-row: 1 / span 30; margin-top: 0; }
}
.single-course .entry .sensei-block-wrapper:has(.sensei-progress-bar__bar) { display: grid; gap: var(--space-2xs); }
.sensei-progress-bar__bar { height: 8px !important; }
.single-course .nocomments, .single-lesson .nocomments { display: none; }
.sensei-cta form { margin: 0; }

/* Take-course buttons read as the site's primary action */
.wp-block-sensei-lms-button-take-course .wp-block-button__link::after { content: "\2192"; margin-left: 0.6em; transition: transform .2s var(--ease-out); }
.wp-block-sensei-lms-button-take-course .wp-block-button__link:hover::after { transform: translateX(3px); }

/* ---------- Course list: numbered ledger rows ---------- */
.wp-block-sensei-lms-course-list .wp-block-post-template { counter-reset: pt-course; list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.wp-block-sensei-lms-course-list { border-top: 0; }
.wp-block-sensei-lms-course-list .wp-block-post { counter-increment: pt-course; padding: var(--space-lg) 0 var(--space-md) !important; }
.wp-block-sensei-lms-course-list .wp-block-post > .wp-block-group { margin: 0 !important; }
.wp-block-sensei-lms-course-list .wp-block-post-title a { display: inline-block; padding: 0.6rem 0; margin: -0.6rem 0; }
.wp-block-sensei-lms-course-list .wp-block-post .wp-block-columns { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: var(--space-2xs) var(--space-lg); align-items: start; margin: 0; }
.wp-block-sensei-lms-course-list .wp-block-post .wp-block-columns::before {
    content: counter(pt-course, decimal-leading-zero); padding-top: 0.45rem; text-align: left; justify-self: start;
    font: 600 0.85rem var(--ui); color: var(--muted); font-variant-numeric: tabular-nums;
}
.wp-block-sensei-lms-course-list .wp-block-column { flex-basis: auto !important; padding: 0 !important; }
.wp-block-sensei-lms-course-list .wp-block-post-title { font: 600 clamp(1.6rem, 1.3rem + 1vw, 2.1rem)/1.05 var(--display) !important; }
.wp-block-sensei-lms-course-list .wp-block-post-title a:hover { color: var(--pacific); }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt { margin-top: var(--space-2xs); max-width: 38rem; }
.wp-block-sensei-lms-course-list .wp-block-post-excerpt__excerpt { margin: 0 !important; color: var(--ink-2); }
.wp-block-sensei-lms-course-overview { margin-top: var(--space-xs); }
.wp-block-sensei-lms-course-overview a { display: inline-flex; align-items: center; min-height: var(--tap); font: 600 0.95rem var(--ui); }
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-button-take-course { justify-content: flex-end; }
.wp-block-sensei-lms-course-list-filter, .sensei-course-list-filter { margin: 0 0 var(--space-sm); }
.wp-block-sensei-lms-course-list-filter select { min-height: var(--tap) !important; font-family: var(--ui); }
@media (max-width: 700px) {
    .wp-block-sensei-lms-course-list .wp-block-post .wp-block-columns { grid-template-columns: 2.25rem minmax(0, 1fr); }
    .wp-block-sensei-lms-course-list .wp-block-post .wp-block-column:last-child { grid-column: 2; }
    .wp-block-sensei-lms-course-list .wp-block-sensei-lms-button-take-course { justify-content: flex-start; }
}

/* ---------- Lesson page: a readable report, then the next step ---------- */
.single-lesson .entry > * { max-width: 40rem; }
.single-lesson .entry > .sensei-message { max-width: 40rem; }
.sensei-message { display: block; line-height: 1.6; }
.sensei-message::before { display: none !important; }
.sensei-message a { color: var(--pacific); font-weight: 600; display: inline-flex; align-items: center; min-height: var(--tap); margin: -0.6rem 0; }
.single-lesson .entry > .pt-room { margin-top: var(--space-2xl); }
.single-lesson .lesson-meta:empty { display: none; }
.single-lesson .entry > footer { margin-top: var(--space-xl); }
.single-lesson form.lesson_button_form input[type="submit"], .single-lesson .quiz-submit {
    min-height: var(--btn-h); padding: 0 1.4rem !important; cursor: pointer;
    background: var(--ink) !important; color: var(--paper) !important; border: 1.5px solid var(--ink) !important;
    border-radius: var(--radius) !important; font: 600 1rem/1 var(--ui) !important;
}
.single-lesson form.lesson_button_form input[type="submit"]:hover { background: var(--orange-ink) !important; border-color: var(--orange-ink) !important; }

/* Previous / next: two ruled cells, the arrow says which way */
.post-entries {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: var(--space-xl); border-top: 1.5px solid var(--ink); border-bottom: 1px solid var(--rule);
    font-family: var(--ui);
}
.post-entries .fl, .post-entries .fr { float: none; }
.post-entries .nav-next { grid-column: 2; border-left: 1px solid var(--rule); text-align: right; }
.post-entries a {
    display: flex; align-items: center; gap: var(--space-xs); min-height: 4rem; height: 100%;
    padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
    font: 600 1rem/1.3 var(--ui); color: var(--ink); text-decoration: none;
}
.post-entries .nav-next a { justify-content: flex-end; padding: var(--space-sm) 0 var(--space-sm) var(--space-md); }
.post-entries .nav-prev a::before { content: "\2190"; flex: none; color: var(--muted); transition: transform .2s var(--ease-out); }
.post-entries .nav-next a::after { content: "\2192"; flex: none; color: var(--muted); transition: transform .2s var(--ease-out); }
.post-entries a:hover { color: var(--pacific); }
.post-entries .nav-prev a:hover::before { transform: translateX(-3px); color: currentColor; }
.post-entries .nav-next a:hover::after { transform: translateX(3px); color: currentColor; }
.post-entries .meta-nav:empty { display: none; }
@media (max-width: 560px) {
    .post-entries { grid-template-columns: 1fr; }
    .post-entries .nav-next { grid-column: 1; border-left: 0; border-top: 1px solid var(--rule); }
    .post-entries a, .post-entries .nav-next a { padding-left: 0; padding-right: 0; }
}

/* "Back to" trail: plain UI text, not an italic box */
.sensei-breadcrumb {
    margin-top: var(--space-md) !important; padding: 0 !important; background: none !important;
    font: 500 0.9rem/1.5 var(--ui) !important; font-style: normal !important; color: var(--ink-2) !important;
}
.sensei-breadcrumb::before { display: none !important; }
.sensei-breadcrumb a { display: inline-flex; align-items: center; min-height: var(--tap); font-style: normal !important; color: var(--pacific); }

/* ---------- Activity stream: ruled entries, small avatars, no grey cards ---------- */
#buddypress .activity-list.bp-list, #buddypress .activity-list { background: none; border: 0; border-top: 1.5px solid var(--ink); padding: 0; box-shadow: none; }
#buddypress .activity-list .activity-item {
    display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: var(--space-md);
    background: none; border: 0; border-bottom: 1px solid var(--rule); box-shadow: none; margin: 0; padding: var(--space-md) 0;
}
#buddypress .activity-list .activity-item::before, #buddypress .activity-list .activity-item::after { content: none; }
#buddypress .activity-list .activity-avatar { float: none; margin: 0; width: 3rem; }
#buddypress .activity-list .activity-avatar img, #buddypress .activity-list .activity-avatar .avatar { width: 3rem; height: 3rem; max-width: none; }
#buddypress .activity-list .activity-content { margin: 0; padding: 0; min-width: 0; }
#buddypress .activity-list .activity-comments { grid-column: 2; margin: var(--space-xs) 0 0; }
#buddypress .activity-list .activity-header { margin: 0; }
#buddypress .activity-list .activity-inner { font-size: 1.0625rem; line-height: 1.6; margin: var(--space-3xs) 0 0; max-width: 40rem; }
#buddypress .activity-list .activity-inner p { max-width: none; }

/* ---------- Members directory: ledger rows with a small avatar ---------- */
#buddypress .members-list .list-wrap, #buddypress .item-list .list-wrap { grid-template-columns: 3.5rem minmax(0, 1fr); text-align: left; }
#buddypress .members-list .item-avatar img, #buddypress .item-list .item-avatar img { width: 3.5rem; height: 3.5rem; max-width: none; margin: 0; }
#buddypress .members-list .item-avatar { text-align: left; width: auto; margin: 0; }
#buddypress .members-list .item { margin: 0; padding: 0; text-align: left; }
#buddypress .members-list .item-block { padding: 0; margin: 0; text-align: left; }
#buddypress .members-list :is(.item, .item-block, .list-title, .item-meta, .last-activity) { text-align: left !important; }
#buddypress .members-list .list-title { font-size: 1.35rem; }
#buddypress .item-list .item-title a:hover { color: var(--pacific); text-decoration: underline; text-decoration-thickness: 1px; }
#buddypress .bp-pagination { justify-content: flex-start; }

/* ---------- Community landing: CTA spacing ---------- */
.pt-feature-list li { display: grid; gap: var(--space-3xs); }
.pt-feature-list strong { font: 600 1.05rem var(--ui); }
