/*--------------------------------------------------------------
  People & Media — Full Site Redesign
  Custom CSS for BuddyBoss Child Theme (Staging)
  Sections: Design Tokens, Global Header, Global Footer,
  Global Typography & Base, Homepage, BuddyBoss Overrides,
  BuddyPress/Community, LearnDash/Courses, WooCommerce,
  Blog/Archive, Login/Registration, Responsive
--------------------------------------------------------------*/

/* ============================================================
   DESIGN TOKENS / CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --pm-primary: #B7A496;
  --pm-primary-light: #d4c8bd;
  --pm-primary-dark: #9a8677;
  --pm-navy: #122B46;
  --pm-navy-light: #1a3d5c;
  --pm-accent-blue: #385DFF;
  --pm-accent-warm: #D4A76A;
  --pm-accent-rose: #B44474;
  --pm-off-white: #F8F6F4;
  --pm-gray-100: #F3F0ED;
  --pm-gray-200: #E8E3DE;
  --pm-gray-500: #7A7470;
  --pm-gray-600: #5A5A5A;
  --pm-gray-800: #2D2D2D;
  --pm-success: #2D9F6F;
  --pm-font-heading: 'Baskervville', Georgia, serif;
  --pm-font-body: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
  --pm-radius-card: 12px;
  --pm-radius-sm: 8px;
  --pm-radius-pill: 50px;
  --pm-max-width: 1240px;
  --pm-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================
   GLOBAL RESETS FOR HOMEPAGE
   ============================================================ */
.page-template-page-homepage #content,
.page-template-page-homepage .site-content,
.page-template-page-homepage .entry-content {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.page-template-page-homepage .site-content {
  padding-top: 0 !important;
}

/* Hide BuddyBoss default footer on homepage */
.page-template-page-homepage .site-footer,
.page-template-page-homepage #colophon,
.page-template-page-homepage footer.footer-wrap,
.page-template-page-homepage .bb-footer {
  display: none !important;
}

/* Hide page title on homepage */
.page-template-page-homepage .entry-header,
.page-template-page-homepage .page-header {
  display: none;
}

/* Remove BuddyBoss content wrappers padding and constraints */
.page-template-page-homepage .bb-grid,
.page-template-page-homepage .bs-bp-container {
  padding: 0;
  max-width: 100%;
}

.page-template-page-homepage #content > .container {
  max-width: 100%;
  padding: 0;
  margin: 0;
  width: 100%;
}

.page-template-page-homepage .bb-grid.site-content-grid {
  display: block;
  max-width: 100%;
}

.page-template-page-homepage #primary {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.page-template-page-homepage .pm-homepage {
  max-width: 100%;
  padding: 0;
  margin: 0;
}

.pm-container {
  max-width: var(--pm-max-width);
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}

/* ============================================================
   1. ANNOUNCEMENT BAR
   ============================================================ */
.pm-announcement-bar {
  background: var(--pm-navy);
  color: #fff;
  text-align: center;
  padding: 10px 48px 10px 16px;
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-weight: 500;
  position: relative;
  z-index: 10001;
  line-height: 1.4;
}

.pm-announcement-bar.pm-dismissed {
  display: none;
}

.pm-announcement-inner {
  display: inline;
}

.pm-announcement-link {
  color: var(--pm-primary-light);
  text-decoration: underline;
  margin-left: 6px;
  transition: color var(--pm-transition);
}

.pm-announcement-link:hover {
  color: #fff;
}

.pm-announcement-dismiss {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 18px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
  transition: color var(--pm-transition);
}

.pm-announcement-dismiss:hover {
  color: #fff;
}

/* ============================================================
   2. HEADER OVERRIDES
   ============================================================ */
.page-template-page-homepage .site-header,
.page-template-page-homepage #header {
  position: sticky;
  top: 0;
  z-index: 10000;
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pm-gray-200) !important;
}

/* ============================================================
   3. HERO SECTION
   ============================================================ */
.pm-hero {
  position: relative;
  min-height: 620px;
  background-color: var(--pm-navy);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.pm-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right,
      rgba(18,43,70,0.88) 0%,
      rgba(18,43,70,0.7) 40%,
      rgba(18,43,70,0.45) 70%,
      rgba(18,43,70,0.35) 100%
    ),
    linear-gradient(to bottom,
      rgba(18,43,70,0.3) 0%,
      transparent 40%,
      transparent 60%,
      rgba(18,43,70,0.5) 100%
    );
  z-index: 1;
}

.pm-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 100px 32px;
}

.pm-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Hero left column */
.pm-hero__badge {
  display: inline-block;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--pm-primary-light);
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  border-radius: var(--pm-radius-pill);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  margin-bottom: 24px;
}

.pm-hero__title {
  font-family: var(--pm-font-heading);
  font-size: 56px;
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.5px;
  margin: 0 0 20px;
}

.pm-hero__title em {
  font-style: italic;
  color: var(--pm-primary-light);
}

.pm-hero__desc {
  font-family: var(--pm-font-body);
  font-size: 18px;
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  max-width: 480px;
  margin: 0 0 32px;
}

.pm-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Buttons */
.pm-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pm-font-body);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--pm-radius-pill);
  padding: 14px 28px;
  transition: all var(--pm-transition);
  cursor: pointer;
  border: none;
  line-height: 1;
  box-sizing: border-box;
}

.pm-btn--primary {
  background: var(--pm-primary);
  color: #fff;
}

.pm-btn--primary:hover {
  background: var(--pm-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(183,164,150,0.35);
  color: #fff;
}

.pm-btn--secondary {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.25);
}

.pm-btn--secondary:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.4);
  color: #fff;
}

/* Hero right column */
.pm-hero__proof {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pm-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.pm-hero__stat-card {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--pm-radius-card);
  padding: 20px;
  text-align: center;
}

.pm-hero__stat-num {
  display: block;
  font-family: var(--pm-font-heading);
  font-size: 32px;
  color: #fff;
  line-height: 1.2;
}

.pm-hero__stat-label {
  display: block;
  font-family: var(--pm-font-body);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: rgba(255,255,255,0.6);
  font-weight: 500;
  margin-top: 4px;
}

.pm-hero__testimonial {
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--pm-radius-card);
  padding: 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.pm-hero__testimonial-avatar {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: #6B8FA3;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 600;
}

.pm-hero__testimonial-content blockquote {
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-style: italic;
  color: rgba(255,255,255,0.75);
  line-height: 1.5;
  margin: 0 0 8px;
  padding: 0;
  border: none;
  background: none;
}

.pm-hero__testimonial-content cite {
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  color: var(--pm-primary-light);
}

/* ============================================================
   4. TRUST BAR
   ============================================================ */
.pm-trust {
  background: var(--pm-off-white);
  border-bottom: 1px solid var(--pm-gray-200);
  padding: 24px 0;
}

.pm-trust__row {
  display: flex;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}

.pm-trust__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--pm-gray-500);
}

.pm-trust__item svg {
  opacity: 0.5;
  flex-shrink: 0;
}

/* ============================================================
   SECTION SHARED STYLES
   ============================================================ */
.pm-section {
  padding: 80px 0;
}

.pm-section--alt {
  background: var(--pm-off-white);
}

.pm-section-header {
  text-align: center;
  margin-bottom: 48px;
}

.pm-section-label {
  display: inline-block;
  font-family: var(--pm-font-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--pm-primary-dark);
  margin-bottom: 12px;
}

.pm-section-title {
  font-family: var(--pm-font-heading);
  font-size: 40px;
  font-weight: 400;
  color: var(--pm-navy);
  letter-spacing: -0.5px;
  line-height: 1.2;
  margin: 0 0 12px;
}

.pm-section-title--left {
  text-align: left;
}

.pm-section-subtitle {
  font-family: var(--pm-font-body);
  font-size: 17px;
  color: var(--pm-gray-500);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ============================================================
   5. EXPLORE SECTION
   ============================================================ */
.pm-explore__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.pm-explore__card {
  background: var(--pm-off-white);
  border-radius: var(--pm-radius-card);
  padding: 32px 24px;
  text-align: center;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all var(--pm-transition);
  display: block;
}

.pm-explore__card:hover {
  background: #fff;
  border-color: var(--pm-gray-200);
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  transform: translateY(-4px);
  text-decoration: none;
}

.pm-explore__icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.pm-explore__icon--blue { background: rgba(56,93,255,0.08); }
.pm-explore__icon--rose { background: rgba(180,68,116,0.08); }
.pm-explore__icon--green { background: rgba(45,159,111,0.08); }
.pm-explore__icon--warm { background: rgba(212,167,106,0.08); }

.pm-explore__card-title {
  font-family: var(--pm-font-heading);
  font-size: 20px;
  font-weight: 400;
  color: var(--pm-navy);
  margin: 0 0 8px;
}

.pm-explore__card-desc {
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: var(--pm-gray-500);
  line-height: 1.5;
  margin: 0 0 12px;
}

.pm-explore__card-count {
  display: inline-block;
  font-family: var(--pm-font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--pm-primary-dark);
  background: rgba(183,164,150,0.15);
  border-radius: var(--pm-radius-pill);
  padding: 4px 10px;
}

/* ============================================================
   6. FEATURED COURSES
   ============================================================ */
.pm-courses__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.pm-course-card {
  background: #fff;
  border-radius: var(--pm-radius-card);
  border: 1px solid var(--pm-gray-200);
  overflow: hidden;
  transition: all var(--pm-transition);
}

.pm-course-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

.pm-course-card__image {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pm-course-card__image--blue {
  background: linear-gradient(135deg, #385DFF 0%, #1a3d5c 100%);
}

.pm-course-card__image--rose {
  background: linear-gradient(135deg, #B44474 0%, #7a2d4e 100%);
}

.pm-course-card__image--green {
  background: linear-gradient(135deg, #2D9F6F 0%, #1a5c3f 100%);
}

.pm-course-card__emoji {
  font-size: 48px;
  opacity: 0.3;
}

.pm-course-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: var(--pm-font-body);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--pm-radius-pill);
  padding: 4px 10px;
  line-height: 1.3;
}

.pm-course-card__badge--price {
  background: var(--pm-primary);
  color: #fff;
}

.pm-course-card__badge--popular {
  background: var(--pm-accent-warm);
  color: #fff;
}

.pm-course-card__badge--free {
  background: var(--pm-success);
  color: #fff;
}

.pm-course-card__body {
  padding: 24px;
}

.pm-course-card__meta {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}

.pm-course-card__meta span {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--pm-font-body);
  font-size: 12px;
  color: var(--pm-gray-500);
}

.pm-course-card__title {
  font-family: var(--pm-font-heading);
  font-size: 20px;
  font-weight: 400;
  color: var(--pm-navy);
  line-height: 1.3;
  margin: 0 0 8px;
}

.pm-course-card__desc {
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: var(--pm-gray-500);
  line-height: 1.6;
  margin: 0 0 20px;
}

.pm-course-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--pm-gray-200);
  padding-top: 16px;
}

.pm-course-card__price {
  font-family: var(--pm-font-body);
  font-size: 22px;
  font-weight: 700;
  color: var(--pm-navy);
}

.pm-course-card__price small {
  font-size: 14px;
  font-weight: 500;
  color: var(--pm-gray-500);
}

.pm-course-card__price--free {
  color: var(--pm-success);
}

.pm-course-card__enroll {
  display: inline-block;
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--pm-primary-dark);
  background: rgba(183,164,150,0.12);
  border-radius: var(--pm-radius-pill);
  padding: 8px 18px;
  text-decoration: none;
  transition: all var(--pm-transition);
}

.pm-course-card__enroll:hover {
  background: var(--pm-primary);
  color: #fff;
}

/* ============================================================
   7. COMMUNITY SECTION
   ============================================================ */
.pm-community__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Activity feed */
.pm-community__feed {
  background: var(--pm-off-white);
  border-radius: var(--pm-radius-card);
  padding: 24px;
  border: 1px solid var(--pm-gray-200);
}

.pm-community__feed-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--pm-gray-200);
}

.pm-community__feed-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--pm-navy);
}

.pm-community__live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--pm-success);
  display: inline-block;
  animation: pm-pulse 2s ease-in-out infinite;
}

@keyframes pm-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.pm-community__live-label {
  font-family: var(--pm-font-body);
  font-size: 12px;
  color: #9A9490;
}

.pm-community__feed-items {
  display: flex;
  flex-direction: column;
}

.pm-community__feed-item {
  display: flex;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--pm-gray-200);
  align-items: flex-start;
}

.pm-community__feed-item--last {
  border-bottom: none;
}

.pm-community__avatar {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pm-font-body);
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}

.pm-community__avatar--taupe { background: var(--pm-primary); }
.pm-community__avatar--blue { background: #6B8FA3; }
.pm-community__avatar--rose { background: var(--pm-accent-rose); }
.pm-community__avatar--green { background: var(--pm-success); }

.pm-community__feed-text p {
  font-family: var(--pm-font-body);
  font-size: 13px;
  color: var(--pm-gray-600);
  margin: 0 0 4px;
  line-height: 1.4;
}

.pm-community__feed-text strong {
  color: var(--pm-navy);
  font-weight: 600;
}

.pm-community__feed-text time {
  font-family: var(--pm-font-body);
  font-size: 11px;
  color: #9A9490;
}

/* Community info */
.pm-community__desc {
  font-family: var(--pm-font-body);
  font-size: 17px;
  color: var(--pm-gray-500);
  line-height: 1.7;
  margin: 0 0 32px;
}

.pm-community__features {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}

.pm-community__features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--pm-font-body);
  font-size: 15px;
  color: var(--pm-gray-600);
  padding: 8px 0;
}

.pm-community__features li svg {
  flex-shrink: 0;
}

/* ============================================================
   8. CONTENT SHOWCASE
   ============================================================ */
.pm-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.pm-showcase__card {
  background: #fff;
  border-radius: var(--pm-radius-card);
  border: 1px solid var(--pm-gray-200);
  overflow: hidden;
  transition: all var(--pm-transition);
}

.pm-showcase__card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-3px);
}

.pm-showcase__thumb {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pm-showcase__thumb--warm {
  background: linear-gradient(135deg, #D4A76A 0%, #B7A496 100%);
}

.pm-showcase__thumb--navy {
  background: linear-gradient(135deg, #122B46 0%, #1a3d5c 100%);
}

.pm-showcase__thumb--rose {
  background: linear-gradient(135deg, #B44474 0%, #8a3359 100%);
}

.pm-showcase__emoji {
  font-size: 40px;
  opacity: 0.3;
}

.pm-showcase__type-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(18,43,70,0.85);
  color: #fff;
  font-family: var(--pm-font-body);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: var(--pm-radius-pill);
  padding: 4px 10px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.pm-showcase__body {
  padding: 20px;
}

.pm-showcase__title {
  font-family: var(--pm-font-heading);
  font-size: 18px;
  font-weight: 400;
  color: var(--pm-navy);
  margin: 0 0 8px;
  line-height: 1.3;
}

.pm-showcase__desc {
  font-family: var(--pm-font-body);
  font-size: 13.5px;
  color: var(--pm-gray-500);
  line-height: 1.5;
  margin: 0 0 12px;
}

.pm-showcase__link {
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--pm-primary-dark);
  text-decoration: none;
  transition: color var(--pm-transition);
}

.pm-showcase__link:hover {
  color: var(--pm-navy);
}

/* ============================================================
   9. QUOTE SECTION
   ============================================================ */
.pm-quote {
  background: var(--pm-navy);
  padding: 80px 0;
}

.pm-quote__inner {
  text-align: center;
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

.pm-quote__deco {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--pm-font-heading);
  font-size: 200px;
  color: rgba(255,255,255,0.04);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

.pm-quote__text {
  font-family: var(--pm-font-heading);
  font-size: 28px;
  font-style: italic;
  color: #fff;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  position: relative;
  z-index: 1;
}

.pm-quote__cite {
  display: block;
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  color: var(--pm-primary-light);
  margin-top: 24px;
}

/* ============================================================
   10. NEWSLETTER CTA
   ============================================================ */
.pm-newsletter__inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.pm-newsletter__desc {
  font-family: var(--pm-font-body);
  font-size: 16px;
  color: var(--pm-gray-500);
  margin: 0 0 32px;
  line-height: 1.6;
}

.pm-newsletter__form {
  display: flex;
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
}

.pm-newsletter__input {
  flex: 1;
  border-radius: var(--pm-radius-pill);
  padding: 14px 20px;
  border: 1px solid var(--pm-gray-200);
  background: var(--pm-off-white);
  font-family: var(--pm-font-body);
  font-size: 15px;
  color: var(--pm-gray-800);
  outline: none;
  transition: all var(--pm-transition);
  box-sizing: border-box;
}

.pm-newsletter__input::placeholder {
  color: #9A9490;
}

.pm-newsletter__input:focus {
  border-color: var(--pm-primary);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(183,164,150,0.15);
}

.pm-newsletter__submit {
  background: var(--pm-navy);
  color: #fff;
  font-family: var(--pm-font-body);
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border: none;
  border-radius: var(--pm-radius-pill);
  cursor: pointer;
  transition: all var(--pm-transition);
  white-space: nowrap;
}

.pm-newsletter__submit:hover {
  background: var(--pm-navy-light);
}

.pm-newsletter__note {
  font-family: var(--pm-font-body);
  font-size: 12px;
  color: #9A9490;
  margin-top: 12px;
}

/* ============================================================
   11. FOOTER
   ============================================================ */
.pm-footer {
  background: var(--pm-navy);
  padding: 64px 0 32px;
  color: #fff;
}

.pm-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
}

.pm-footer__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.pm-footer__logo-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pm-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pm-font-heading);
  font-size: 20px;
  font-weight: 400;
}

.pm-footer__logo-text {
  font-family: var(--pm-font-heading);
  font-size: 22px;
  color: #fff;
}

.pm-footer__brand-desc {
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  max-width: 280px;
  margin: 0 0 20px;
}

.pm-footer__social {
  display: flex;
  gap: 10px;
}

.pm-footer__social-link {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all var(--pm-transition);
}

.pm-footer__social-link:hover {
  background: var(--pm-primary);
  color: #fff;
}

.pm-footer__heading {
  font-family: var(--pm-font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  margin: 0 0 20px;
}

.pm-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pm-footer__links li {
  margin: 0;
}

.pm-footer__links a {
  display: inline-block;
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  padding: 5px 0;
  transition: color var(--pm-transition);
}

.pm-footer__links a:hover {
  color: var(--pm-primary-light);
}

.pm-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 24px;
  margin-top: 48px;
  font-family: var(--pm-font-body);
  font-size: 13px;
  color: rgba(255,255,255,0.35);
}

.pm-footer__bottom-links {
  display: flex;
  gap: 24px;
}

.pm-footer__bottom-links a {
  color: rgba(255,255,255,0.35);
  text-decoration: none;
  transition: color var(--pm-transition);
}

.pm-footer__bottom-links a:hover {
  color: var(--pm-primary-light);
}

/* ============================================================
   RESPONSIVE: TABLET (max 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  .pm-hero__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pm-hero__title {
    font-size: 42px;
  }

  .pm-hero__content {
    padding: 60px 32px;
  }

  .pm-explore__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pm-courses__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pm-community__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pm-showcase__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pm-footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}

/* ============================================================
   RESPONSIVE: MOBILE (max 768px)
   ============================================================ */
@media (max-width: 768px) {
  .pm-container {
    padding: 0 20px;
  }

  .pm-section {
    padding: 56px 0;
  }

  /* Announcement */
  .pm-announcement-bar {
    font-size: 12px;
    padding: 8px 40px 8px 12px;
  }

  /* Hero */
  .pm-hero {
    min-height: 480px;
  }

  .pm-hero__content {
    padding: 40px 20px;
  }

  .pm-hero__title {
    font-size: 34px;
  }

  .pm-hero__desc {
    font-size: 16px;
  }

  .pm-hero__ctas {
    flex-direction: column;
  }

  .pm-hero__ctas .pm-btn {
    justify-content: center;
    text-align: center;
  }

  .pm-hero__stats {
    grid-template-columns: repeat(3, 1fr);
  }

  .pm-hero__stat-card {
    padding: 14px 10px;
  }

  .pm-hero__stat-num {
    font-size: 24px;
  }

  /* Section titles */
  .pm-section-title {
    font-size: 30px;
  }

  /* Explore */
  .pm-explore__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .pm-explore__card {
    padding: 24px 16px;
  }

  /* Courses */
  .pm-courses__grid {
    grid-template-columns: 1fr;
  }

  /* Showcase */
  .pm-showcase__grid {
    grid-template-columns: 1fr;
  }

  /* Newsletter */
  .pm-newsletter__form {
    flex-direction: column;
  }

  .pm-newsletter__submit {
    width: 100%;
  }

  /* Quote */
  .pm-quote__text {
    font-size: 22px;
  }

  .pm-quote__deco {
    font-size: 120px;
    top: -40px;
  }

  /* Trust bar */
  .pm-trust__row {
    gap: 20px;
    justify-content: flex-start;
  }

  /* Footer */
  .pm-footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .pm-footer__bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}


/* ================================================================
   ================================================================
   GLOBAL STYLES — APPLY TO ALL PAGES
   ================================================================
   ================================================================ */

/* ============================================================
   GLOBAL: CUSTOM HEADER
   ============================================================ */
/* Hide default BuddyBoss header internals */
.site-header .site-header-container.default-header {
  display: none !important;
}

.pm-header {
  display: flex;
  flex-direction: column;
  height: auto;
}

.pm-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  gap: 24px;
}

/* Logo */
.pm-header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}

.pm-header__logo-img {
  height: 36px;
  width: auto;
}

.pm-header__logo-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pm-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pm-font-heading);
  font-size: 18px;
}

.pm-header__logo-text {
  font-family: var(--pm-font-heading);
  font-size: 22px;
  color: var(--pm-navy);
}

/* Desktop nav */
.pm-header__nav {
  flex: 1;
  display: flex;
  justify-content: center;
}

.pm-header__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

.pm-header__menu li {
  position: relative;
}

.pm-header__menu > li > a {
  font-family: var(--pm-font-body);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--pm-gray-600);
  text-decoration: none;
  padding: 8px 14px;
  border-radius: var(--pm-radius-sm);
  transition: all var(--pm-transition);
  display: flex;
  align-items: center;
  gap: 4px;
}

.pm-header__menu > li > a:hover,
.pm-header__menu > li.current-menu-item > a,
.pm-header__menu > li.current-menu-ancestor > a {
  color: var(--pm-navy);
  background: var(--pm-gray-100);
}

/* Dropdown indicator for items with children */
.pm-header__menu > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  opacity: 0.5;
  margin-left: 2px;
}

/* Dropdown menus */
.pm-header__menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-card);
  padding: 8px;
  min-width: 200px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.1);
  z-index: 100;
  list-style: none;
  margin: 4px 0 0;
}

.pm-header__menu li:hover > .sub-menu {
  display: block;
}

.pm-header__menu .sub-menu li a {
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: var(--pm-gray-600);
  text-decoration: none;
  padding: 10px 14px;
  border-radius: var(--pm-radius-sm);
  display: block;
  transition: all var(--pm-transition);
}

.pm-header__menu .sub-menu li a:hover {
  background: var(--pm-gray-100);
  color: var(--pm-navy);
}

/* Header actions */
.pm-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.pm-header__search-btn {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: var(--pm-gray-600);
  border-radius: var(--pm-radius-sm);
  transition: all var(--pm-transition);
  display: flex;
  align-items: center;
}

.pm-header__search-btn:hover {
  color: var(--pm-navy);
  background: var(--pm-gray-100);
}

.pm-header__auth-link {
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--pm-navy);
  text-decoration: none;
  padding: 8px 4px;
  transition: color var(--pm-transition);
}

.pm-header__auth-link:hover {
  color: var(--pm-primary-dark);
}

.pm-header__join-btn {
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--pm-navy);
  text-decoration: none;
  padding: 10px 22px;
  border-radius: var(--pm-radius-pill);
  transition: all var(--pm-transition);
}

.pm-header__join-btn:hover {
  background: var(--pm-navy-light);
  color: #fff;
}

/* Hamburger */
.pm-header__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.pm-header__hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--pm-navy);
  border-radius: 2px;
  transition: all var(--pm-transition);
}

/* Search overlay */
.pm-search-overlay {
  display: none;
  background: #fff;
  border-top: 1px solid var(--pm-gray-200);
  padding: 16px 0;
}

.pm-search-overlay.pm-active {
  display: block;
}

.pm-search-form {
  display: flex;
  gap: 12px;
  align-items: center;
  max-width: 640px;
  margin: 0 auto;
}

.pm-search-input {
  flex: 1;
  font-family: var(--pm-font-body);
  font-size: 16px;
  padding: 12px 20px;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-pill);
  background: var(--pm-off-white);
  outline: none;
  transition: all var(--pm-transition);
}

.pm-search-input:focus {
  border-color: var(--pm-primary);
  background: #fff;
}

.pm-search-submit {
  font-family: var(--pm-font-body);
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  background: var(--pm-navy);
  color: #fff;
  border: none;
  border-radius: var(--pm-radius-pill);
  cursor: pointer;
  transition: background var(--pm-transition);
}

.pm-search-submit:hover {
  background: var(--pm-navy-light);
}

.pm-search-close {
  background: none;
  border: none;
  font-size: 24px;
  color: var(--pm-gray-500);
  cursor: pointer;
  padding: 4px 8px;
}

/* Mobile menu */
.pm-mobile-menu {
  display: none;
  background: #fff;
  border-top: 1px solid var(--pm-gray-200);
  padding: 16px 24px 24px;
  max-height: 80vh;
  overflow-y: auto;
}

.pm-mobile-menu.pm-active {
  display: block;
}

.pm-mobile-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-mobile-menu__list li a {
  font-family: var(--pm-font-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--pm-gray-600);
  text-decoration: none;
  padding: 12px 0;
  display: block;
  border-bottom: 1px solid var(--pm-gray-100);
  transition: color var(--pm-transition);
}

.pm-mobile-menu__list li a:hover {
  color: var(--pm-navy);
}

.pm-mobile-menu__list .sub-menu {
  list-style: none;
  padding: 0 0 0 16px;
  margin: 0;
  display: none;
}

.pm-mobile-menu__list .menu-item-has-children.pm-submenu-open > .sub-menu {
  display: block;
}

.pm-mobile-menu__list .sub-menu li a {
  font-size: 14px;
  color: var(--pm-gray-500);
  padding: 10px 0;
}

/* Dropdown toggle arrow for mobile parent items */
.pm-mobile-menu__list .menu-item-has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pm-mobile-menu__list .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.4;
  transition: transform var(--pm-transition);
  flex-shrink: 0;
  margin-left: 8px;
}

.pm-mobile-menu__list .menu-item-has-children.pm-submenu-open > a::after {
  transform: rotate(180deg);
}

.pm-mobile-menu__auth {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--pm-gray-200);
}

.pm-btn--outline-navy {
  background: transparent;
  color: var(--pm-navy);
  border: 1px solid var(--pm-navy);
  flex: 1;
  justify-content: center;
}

.pm-btn--outline-navy:hover {
  background: var(--pm-navy);
  color: #fff;
}

/* Site header overrides for all pages */
.site-header,
#masthead {
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pm-gray-200) !important;
  box-shadow: none !important;
}

/* Hide BuddyBoss mobile header since we have our own */
.bb-mobile-header,
#bb-mobile-header,
.header-mobile-wrap {
  display: none !important;
}

/* ============================================================
   GLOBAL: TYPOGRAPHY & BASE ELEMENTS
   ============================================================ */
body {
  font-family: var(--pm-font-body) !important;
  font-size: 16px;
  line-height: 1.6;
  color: var(--pm-gray-800);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.bb-title,
.bb-content .entry-title {
  font-family: var(--pm-font-heading) !important;
  font-weight: 400;
  color: var(--pm-navy);
  letter-spacing: -0.5px;
  line-height: 1.2;
}

h1 { font-size: 40px; }
h2 { font-size: 32px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p, li, td, th, label, input, textarea, select {
  font-family: var(--pm-font-body);
}

a {
  color: var(--pm-primary-dark);
  transition: color var(--pm-transition);
}

a:hover {
  color: var(--pm-navy);
}

/* Global link underline for content areas */
.entry-content a:not(.pm-btn):not(.pm-course-card__enroll):not(.pm-explore__card):not(.pm-showcase__link):not([class*="button"]):not([class*="btn"]) {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ============================================================
   GLOBAL: BUTTONS & FORM ELEMENTS
   ============================================================ */
/* Override BuddyBoss buttons */
.buddypress-wrap .button,
.buddypress-wrap a.button,
.bb-content .button,
.bb-content a.button,
button.btn,
a.btn,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
#buddypress .generic-button a,
#buddypress a.button,
.ld-button,
input[type="submit"].learndash-link-previous-incomplete {
  font-family: var(--pm-font-body) !important;
  font-weight: 600 !important;
  border-radius: var(--pm-radius-pill) !important;
  padding: 10px 22px !important;
  transition: all var(--pm-transition) !important;
  border: none !important;
  background: var(--pm-primary) !important;
  color: #fff !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  cursor: pointer;
}

.buddypress-wrap .button:hover,
.buddypress-wrap a.button:hover,
.bb-content .button:hover,
.bb-content a.button:hover,
button.btn:hover,
a.btn:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
#buddypress .generic-button a:hover,
#buddypress a.button:hover,
.ld-button:hover {
  background: var(--pm-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(183,164,150,0.3);
}

/* Primary action buttons (CTA style) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
#buddypress .generic-button a.confirm,
.buddypress-wrap .action-button {
  background: var(--pm-navy) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--pm-navy-light) !important;
}

/* Form inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select,
.buddypress-wrap input[type="text"],
.buddypress-wrap textarea,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper textarea {
  font-family: var(--pm-font-body) !important;
  font-size: 15px !important;
  border: 1px solid var(--pm-gray-200) !important;
  border-radius: var(--pm-radius-sm) !important;
  padding: 10px 14px !important;
  background: var(--pm-off-white) !important;
  color: var(--pm-gray-800) !important;
  transition: all var(--pm-transition) !important;
  outline: none !important;
  box-shadow: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
  border-color: var(--pm-primary) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(183,164,150,0.12) !important;
}

/* ============================================================
   GLOBAL: CARDS — Universal card styling
   ============================================================ */
.bb-card-list .bb-card-wrap,
.bb-course-items-list .bb-course-items-wrap,
.bb-grid .bb-card-wrap {
  background: #fff !important;
  border: 1px solid var(--pm-gray-200) !important;
  border-radius: var(--pm-radius-card) !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: all var(--pm-transition) !important;
}

.bb-card-list .bb-card-wrap:hover,
.bb-grid .bb-card-wrap:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px);
}

/* ============================================================
   GLOBAL: CONTENT AREA — Background & container
   ============================================================ */
.site-content,
#content {
  background: var(--pm-off-white);
}

.container {
  max-width: var(--pm-max-width);
}

/* ============================================================
   BUDDYPRESS / COMMUNITY PAGES
   ============================================================ */
/* Member directory cards */
#members-list .item-entry,
.members-list li,
.bp-list .list-wrap {
  background: #fff;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-card);
  transition: all var(--pm-transition);
}

#members-list .item-entry:hover,
.members-list li:hover,
.bp-list .list-wrap:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* Member avatar */
.buddypress-wrap .item-avatar img,
.buddypress-wrap .user-avatar img,
.bp-avatar img {
  border-radius: 50% !important;
  border: 2px solid var(--pm-gray-200) !important;
}

/* Activity stream */
.buddypress-wrap .activity-list .activity-item {
  border-bottom: 1px solid var(--pm-gray-100);
  padding: 20px 0;
}

.buddypress-wrap .activity-content .activity-header {
  font-family: var(--pm-font-body);
  font-size: 14px;
  color: var(--pm-gray-600);
}

.buddypress-wrap .activity-content .activity-header a {
  font-weight: 600;
  color: var(--pm-navy);
}

/* Group cards */
.buddypress-wrap .groups-list .list-wrap,
#groups-list .list-wrap {
  background: #fff;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-card);
  overflow: hidden;
}

/* BuddyBoss profile header */
.buddypress-wrap .item-header-cover-image .item-header-content h2,
.buddypress-wrap .bp-profile-header .profile-header-cover h2 {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy);
}

/* Tab navigation */
.buddypress-wrap .bp-navs li a,
.buddypress-wrap .item-body .bp-navs li a,
.buddypress-wrap .main-navs li a {
  font-family: var(--pm-font-body) !important;
  font-weight: 500 !important;
  color: var(--pm-gray-500) !important;
  border-radius: var(--pm-radius-sm) !important;
  transition: all var(--pm-transition) !important;
}

.buddypress-wrap .bp-navs li.current a,
.buddypress-wrap .bp-navs li.selected a,
.buddypress-wrap .bp-navs li a:hover {
  color: var(--pm-navy) !important;
  background: var(--pm-gray-100) !important;
}

/* ============================================================
   LEARNDASH / COURSES
   ============================================================ */
/* Course grid cards */
.learndash-wrapper .ld-course-list-items .ld-item-list-item,
.bb-course-items .bb-card-wrap,
.ld-course-list .ld-item-list-item {
  background: #fff !important;
  border: 1px solid var(--pm-gray-200) !important;
  border-radius: var(--pm-radius-card) !important;
  overflow: hidden;
  transition: all var(--pm-transition);
}

.learndash-wrapper .ld-course-list-items .ld-item-list-item:hover,
.bb-course-items .bb-card-wrap:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px);
}

/* Course titles */
.learndash-wrapper .ld-course-list-items .ld-item-title,
.bb-course-items .bb-card-title a,
.learndash-wrapper .ld-item-title a {
  font-family: var(--pm-font-heading) !important;
  font-weight: 400 !important;
  color: var(--pm-navy) !important;
  font-size: 20px !important;
}

/* Progress bar */
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage,
.bb-progress .bb-progress-bar .bb-progress-bar-percentage {
  background: var(--pm-primary) !important;
  border-radius: var(--pm-radius-pill) !important;
}

.learndash-wrapper .ld-progress .ld-progress-bar,
.bb-progress .bb-progress-bar {
  background: var(--pm-gray-100) !important;
  border-radius: var(--pm-radius-pill) !important;
}

/* Lesson list items */
.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name {
  font-family: var(--pm-font-body) !important;
  color: var(--pm-gray-800) !important;
  transition: color var(--pm-transition);
}

.learndash-wrapper .ld-item-list .ld-item-list-item a.ld-item-name:hover {
  color: var(--pm-navy) !important;
}

/* LearnDash focus mode content */
.learndash-wrapper .ld-focus .ld-focus-content {
  font-family: var(--pm-font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--pm-gray-800);
}

/* Course price box */
.bb-course-items .bb-course-footer .bb-course-footer-left .course-price-wrap .ld_course_grid_price {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
  font-size: 20px !important;
}

/* ============================================================
   WOOCOMMERCE
   ============================================================ */
/* Product cards */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-card);
  overflow: hidden;
  transition: all var(--pm-transition);
  padding: 0 !important;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--pm-font-heading) !important;
  font-size: 18px !important;
  color: var(--pm-navy) !important;
  padding: 12px 16px 4px !important;
}

.woocommerce ul.products li.product .price {
  font-family: var(--pm-font-body) !important;
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
  padding: 0 16px 12px !important;
}

.woocommerce ul.products li.product img {
  border-radius: 0 !important;
}

/* Single product */
.woocommerce div.product .product_title {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
  font-size: 32px !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--pm-font-body) !important;
  color: var(--pm-navy) !important;
  font-size: 24px !important;
}

/* Cart & checkout */
.woocommerce table.shop_table {
  border-color: var(--pm-gray-200) !important;
  border-radius: var(--pm-radius-card) !important;
  overflow: hidden;
}

.woocommerce table.shop_table th {
  font-family: var(--pm-font-body);
  font-weight: 600;
  color: var(--pm-navy);
  background: var(--pm-off-white);
}

.woocommerce table.shop_table td {
  border-color: var(--pm-gray-100) !important;
}

/* Checkout form */
.woocommerce form.checkout .form-row label {
  font-family: var(--pm-font-body);
  font-weight: 500;
  color: var(--pm-gray-600);
}

/* ============================================================
   BLOG / ARCHIVE PAGES
   ============================================================ */
/* Post cards in archive */
.bb-blog-post .entry-title a,
.post-list .entry-title a,
article .entry-title a {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
  transition: color var(--pm-transition);
}

article .entry-title a:hover {
  color: var(--pm-primary-dark) !important;
}

.bb-blog-post .entry-content,
.post-list .entry-content,
article .entry-summary {
  font-family: var(--pm-font-body);
  color: var(--pm-gray-600);
  font-size: 15px;
  line-height: 1.6;
}

/* Single post */
.single .entry-title,
.single-post .entry-title {
  font-family: var(--pm-font-heading) !important;
  font-size: 36px !important;
  color: var(--pm-navy) !important;
  line-height: 1.2 !important;
}

.single .entry-content,
.single-post .entry-content {
  font-family: var(--pm-font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--pm-gray-800);
}

.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}

/* Post meta */
.bb-blog-post .entry-meta,
.post-list .entry-meta,
.entry-meta {
  font-family: var(--pm-font-body);
  font-size: 13px;
  color: var(--pm-gray-500);
}

.entry-meta a {
  color: var(--pm-primary-dark);
}

/* Pagination */
.bb-pagination,
.navigation.pagination,
.nav-links {
  font-family: var(--pm-font-body);
}

.page-numbers {
  border-radius: var(--pm-radius-sm) !important;
  font-family: var(--pm-font-body) !important;
}

.page-numbers.current {
  background: var(--pm-navy) !important;
  color: #fff !important;
  border-color: var(--pm-navy) !important;
}

/* ============================================================
   LOGIN / REGISTRATION
   ============================================================ */
.login .login-form,
.register .register-form,
.buddypress-wrap .register-page,
.bbp-login-form {
  font-family: var(--pm-font-body);
}

.login h1 a,
#loginform label,
.register label {
  font-family: var(--pm-font-body) !important;
}

/* BuddyBoss login/register popup or page */
.bb-modal .modal-container,
.bb-login-form,
.bb-register-form {
  border-radius: var(--pm-radius-card) !important;
}

.bb-modal .modal-container h2,
.bb-login-form h2,
.bb-register-form h2 {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
}

/* ============================================================
   GLOBAL: BREADCRUMBS
   ============================================================ */
.bb-breadcrumb,
.breadcrumb,
.woocommerce-breadcrumb {
  font-family: var(--pm-font-body) !important;
  font-size: 13px !important;
  color: var(--pm-gray-500) !important;
}

.bb-breadcrumb a,
.breadcrumb a,
.woocommerce-breadcrumb a {
  color: var(--pm-primary-dark) !important;
}

/* ============================================================
   GLOBAL: SIDEBAR
   ============================================================ */
.bb-sidebar .widget,
.widget-area .widget {
  background: #fff;
  border: 1px solid var(--pm-gray-200);
  border-radius: var(--pm-radius-card);
  padding: 20px;
  margin-bottom: 20px;
}

.bb-sidebar .widget-title,
.widget-area .widget-title {
  font-family: var(--pm-font-heading) !important;
  font-size: 18px !important;
  color: var(--pm-navy) !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--pm-gray-100) !important;
}

/* ============================================================
   GLOBAL: NOTIFICATIONS & ALERTS
   ============================================================ */
.bp-feedback,
.buddypress-wrap .bp-feedback,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--pm-radius-sm) !important;
  font-family: var(--pm-font-body) !important;
  border-left: 4px solid var(--pm-primary) !important;
}

.woocommerce-message {
  border-left-color: var(--pm-success) !important;
}

.woocommerce-error {
  border-left-color: var(--pm-accent-rose) !important;
}

/* ============================================================
   EVENTS (The Events Calendar)
   ============================================================ */
.tribe-events .tribe-events-header__title,
.tribe-events .tribe-events-c-top-bar__title {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
}

.tribe-events .tribe-events-calendar-list__event-title a {
  font-family: var(--pm-font-heading) !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

.tribe-events .tribe-events-calendar-list__event-title a:hover {
  color: var(--pm-primary-dark) !important;
}

.tribe-common .tribe-common-c-btn-border,
.tribe-events .tribe-events-c-view-selector__button {
  border-radius: var(--pm-radius-pill) !important;
  font-family: var(--pm-font-body) !important;
}

/* ============================================================
   GLOBAL RESPONSIVE ADDITIONS
   ============================================================ */
@media (max-width: 768px) {
  /* Header mobile */
  .pm-header__nav {
    display: none;
  }

  .pm-header__hamburger {
    display: flex;
  }

  .pm-header__auth-link,
  .pm-header__join-btn {
    display: none;
  }

  .pm-header__inner {
    height: 60px;
  }

  /* Typography mobile */
  h1 { font-size: 30px; }
  h2 { font-size: 26px; }
  h3 { font-size: 20px; }

  .single .entry-title,
  .single-post .entry-title {
    font-size: 28px !important;
  }

  .single .entry-content,
  .single-post .entry-content {
    font-size: 16px;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .pm-header__menu {
    gap: 0;
  }

  .pm-header__menu > li > a {
    font-size: 13px;
    padding: 8px 10px;
  }
}

/* ============================================================
   GLOBAL: HIDE BUDDYBOSS DEFAULT FOOTER
   ============================================================ */
.footer-widget-area.bb-footer,
.footer-bottom.bb-footer,
footer.footer-bottom {
  display: none !important;
}
