/*
 * Reentry Partnership Community identity: R3-03 "Welcoming Path".
 * Approved by Gabriel 2026-09-24 (David's feedback #341).
 *
 * Palette: forest #275F54, copper #B8651B, cream #FBFAF7, ink #182126.
 * Type: Nunito Sans for headings and the wordmark, Source Sans 3 for text.
 * Both are self-hosted under the SIL Open Font License (../fonts/OFL-*.txt).
 *
 * BuddyBoss Theme Options colors stay at their defaults. The html:root
 * variables below win by specificity, so change the look here, not there.
 * Copper is an accent: white text on copper is below 4.5:1, so buttons and
 * links use forest, and copper text uses the darker #9C5415.
 */

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  src: url("../fonts/nunito-sans-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/source-sans-3-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html:root {
  --rp-forest: #275F54;
  --rp-forest-dark: #1E4B42;
  --rp-forest-tint: #E3EEEA;
  --rp-copper: #B8651B;
  --rp-copper-text: #9C5415;
  --rp-copper-tint: #F1E3D3;
  --rp-cream: #FBFAF7;
  --rp-sand: #F4EEE4;
  --rp-ink: #182126;
  --rp-text: #36433F;
  --rp-line: #E6DED1;
  --rp-font-heading: "Nunito Sans", "Segoe UI", system-ui, sans-serif;
  --rp-font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;

  /* BuddyBoss theme (courses, lessons, pages). */
  --bb-primary-color: #275F54;
  --bb-primary-color-rgb: 39, 95, 84;
  --bb-headings-color: #182126;
  --bb-headings-color-rgb: 24, 33, 38;
  --bb-body-text-color: #36433F;
  --bb-body-text-color-rgb: 54, 67, 63;
  --bb-body-background-color: #FBFAF7;
  --bb-body-background-color-rgb: 251, 250, 247;
  --bb-content-alternate-background-color: #F4EEE4;
  --bb-content-border-color: #E6DED1;
  --bb-content-border-color-rgb: 230, 222, 209;
  --bb-cover-image-background-color: #275F54;
  --bb-primary-button-background-regular: #275F54;
  --bb-primary-button-background-hover: #1E4B42;
  --bb-primary-button-border-regular: #275F54;
  --bb-primary-button-border-hover: #1E4B42;
  --bb-secondary-button-background-hover: #275F54;
  --bb-secondary-button-border-hover: #275F54;
  --bb-header-background: #FBFAF7;
  --bb-header-links: #182126;
  --bb-header-links-hover: #275F54;
  --bb-sidenav-background: #FBFAF7;
  --bb-sidenav-menu-background-color-regular: #FBFAF7;
  --bb-sidenav-menu-background-color-hover: #F4EEE4;
  --bb-sidenav-menu-background-color-active: #275F54;
  --bb-sidenav-count-text-color-active: #275F54;
  --bb-sidenav-count-background-color-hover: #275F54;
  --bb-footer-background: #F4EEE4;
  --bb-footer-widget-background: #F4EEE4;
  --bb-footer-menu-link-color-hover: #275F54;
  --bb-login-register-link-color-hover: #1E4B42;
  --bb-login-register-button-background-color-regular: #275F54;
  --bb-login-register-button-background-color-hover: #1E4B42;
  --bb-login-register-button-border-color-regular: #275F54;
  --bb-login-register-button-border-color-hover: #1E4B42;
  --bb-label-background-color: #E3EEEA;
  --bb-label-text-color: #275F54;
  --bb-default-notice-color: #275F54;
  --bb-default-notice-color-rgb: 39, 95, 84;
  --bb-input-focus-border-color: #275F54;
  --bb-input-focus-shadow: 0 0 0 2px rgba(39, 95, 84, 0.18);

  /* BuddyBoss ReadyLaunch (members and profiles). */
  --bb-rl-primary-color: #275F54;
  --bb-rl-secondary-color: #E3EEEA;
  --bb-rl-background-brand-primary-color: #275F54;
  --bb-rl-background-brand-primary-hover-color: #1E4B42;
  --bb-rl-background-brand-secondary-color: #E3EEEA;
  --bb-rl-background-brand-secondary-hover-color: #CFE2DB;
  --bb-rl-background-brand-disabled-color: #8FB3AA;
  --bb-rl-background-info-primary-color: #275F54;
  --bb-rl-background-info-primary-hover-color: #1E4B42;
  --bb-rl-background-info-secondary-color: #E3EEEA;
  --bb-rl-background-info-secondary-hover-color: #CFE2DB;
  --bb-rl-border-brand-primary-color: #1E4B42;
  --bb-rl-border-brand-secondary-color: #275F54;
  --bb-rl-border-info-primary-color: #1E4B42;
  --bb-rl-border-info-secondary-color: #275F54;
  --bb-rl-icon-brand-primary-color: #1E4B42;
  --bb-rl-icon-brand-secondary-color: #275F54;
  --bb-rl-icon-brand-disabled-color: #8FB3AA;
  --bb-rl-icon-info-primary-color: #1E4B42;
  --bb-rl-text-brand-primary-color: #275F54;
  --bb-rl-text-brand-secondary-color: #1E4B42;
  --bb-rl-font-family-base: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
}

/* Type. The parent theme sets fonts on many elements, so these win explicitly. */
body,
body p,
body li,
body a,
body button,
body input,
body select,
body textarea,
.bb-course-excerpt {
  font-family: var(--rp-font-body) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
.entry-title,
.llms-section-title,
.llms-lesson-title,
#site-logo .site-title a,
.mobile-logo-wrapper .site-title a {
  font-family: var(--rp-font-heading) !important;
}

/* Header: the village mark beside the wordmark (desktop and phone headers). */
#site-logo .site-title a,
.mobile-logo-wrapper .site-title a {
  color: var(--rp-ink) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}

#site-logo .site-title a::before,
.mobile-logo-wrapper .site-title a::before {
  content: "";
  display: inline-block;
  width: 60px;
  height: 24px;
  margin-right: 8px;
  vertical-align: -5px;
  background: url("../img/rp-village-mark.png") left center / contain no-repeat;
}

.mobile-logo-wrapper .site-title a {
  font-size: 17px !important;
  line-height: 1.25;
}

/* Course banner: forest instead of slate, with the welcoming path along the
   bottom. The cover-image overlay is not used; courses show art in the card. */
.bb-llms-banner {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 78% -10%, rgba(255, 255, 255, 0.12), transparent 55%),
    linear-gradient(135deg, #2D6C5F 0%, #275F54 50%, #21534A 100%) !important;
}

.bb-llms-banner::before {
  opacity: 0 !important;
}

.bb-llms-banner::after {
  content: "" !important;
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 90px;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 70 C 260 20, 520 20, 760 52 S 1180 86, 1440 38' fill='none' stroke='%23E9A56A' stroke-width='5' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

.bb-course-banner-inner .entry-title {
  color: var(--rp-cream) !important;
  font-weight: 900 !important;
  letter-spacing: -0.015em;
}

.bb-course-excerpt,
.bb-course-excerpt p {
  color: #E7F1ED !important;
}

/* Course progress and lesson list. */
.llms-progress .llms-progress-bar {
  border-radius: 99px;
  background-color: var(--rp-copper-tint) !important;
  overflow: hidden;
}

.progress-bar-complete {
  background: var(--rp-copper) !important;
}

.llms-course-complete-text {
  color: var(--rp-forest) !important;
  font-weight: 700;
}

.llms-section-title {
  position: relative;
  padding-left: 16px !important;
  color: var(--rp-ink) !important;
  font-weight: 800 !important;
}

.llms-section-title::before {
  content: "";
  position: absolute;
  top: 0.18em;
  bottom: 0.18em;
  left: 0;
  width: 5px;
  border-radius: 4px;
  background: var(--rp-copper);
}

.llms-lesson-preview .llms-lesson-main {
  border: 1px solid var(--rp-line) !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  box-shadow: 0 2px 0 rgba(39, 95, 84, 0.06);
}

.llms-lesson-preview.is-complete .llms-lesson-title,
.llms-lesson-preview.is-complete .llms-lesson-title a {
  color: var(--rp-ink) !important;
  text-decoration: none !important;
}

.llms-lesson-preview.is-complete .llms-lesson-complete {
  background: var(--rp-forest) !important;
}

/* Feedback launcher. */
.rp-feedback-button {
  border-color: var(--rp-forest) !important;
  background: var(--rp-forest) !important;
}

.rp-feedback-button:hover,
.rp-feedback-button:focus-visible {
  border-color: var(--rp-forest-dark) !important;
  background: var(--rp-forest-dark) !important;
}

/* Sign-in page: village mark above the heading, forest button. */
body.login {
  background: var(--rp-cream) !important;
}

.login .wp-login-logo {
  display: block !important;
  width: 150px;
  height: 60px;
  margin: 0 auto 22px;
  background: url("../img/rp-village-mark.png") center / contain no-repeat;
}

.login .wp-login-logo > * {
  display: none;
}

.login #wp-submit {
  border-color: var(--rp-forest) !important;
  background: var(--rp-forest) !important;
  color: #FFFFFF !important;
}

.login #wp-submit:hover,
.login #wp-submit:focus-visible {
  border-color: var(--rp-forest-dark) !important;
  background: var(--rp-forest-dark) !important;
}

/* Quoted examples in lessons, such as the sample first letter, read as a
   letter card instead of a long run of italics. */
.single-lesson .lifterlms_content_wrap blockquote {
  margin: 1.25em 0;
  padding: 16px 20px;
  border-left: 4px solid var(--rp-copper);
  border-radius: 10px;
  background: #FFFFFF;
  box-shadow: 0 1px 0 rgba(39, 95, 84, 0.08);
  color: var(--rp-ink);
  font-style: normal;
}

.single-lesson .lifterlms_content_wrap blockquote p {
  margin: 0 0 0.8em;
  font-style: normal;
}

.single-lesson .lifterlms_content_wrap blockquote p:last-child {
  margin-bottom: 0;
}
