/* =============================================================
   War-Life-Balance — Widgets stylesheet
   Drop-in styles for: consent banner, lead-magnet popup, sticky
   buy bar, trust block, localized pricing, gift-a-copy, pillar
   visualizer, audio companion, quiz, journal, workshop matcher.
   Matches the existing design tokens defined in the page <style>.
   ============================================================= */

/* ===== CONSENT BANNER ===== */
.wlb-consent {
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  max-width: 720px;
  margin: 0 auto;
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.25);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.6), 0 0 1px rgba(200,169,110,0.4);
  z-index: 9000;
  color: var(--text-body, #C4BAA8);
  display: none;
  font-family: 'Outfit', sans-serif;
}
.wlb-consent.is-visible { display: block; }
.wlb-consent-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.4rem 0;
  font-weight: 500;
}
.wlb-consent-text {
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0 0 1rem 0;
}
.wlb-consent-text a { color: var(--gold, #C8A96E); text-decoration: underline; }
.wlb-consent-actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.wlb-btn {
  font-family: 'Outfit', sans-serif;
  border: 1px solid transparent;
  border-radius: 100px;
  padding: 0.7rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s ease;
  background: transparent;
  color: var(--cream, #F2EDE4);
}
.wlb-btn-primary {
  background: var(--gold, #C8A96E);
  color: var(--ink, #08080D);
}
.wlb-btn-primary:hover { background: var(--gold-bright, #E8C876); }
.wlb-btn-ghost { border-color: rgba(200,169,110,0.4); color: var(--text-body, #C4BAA8); }
.wlb-btn-ghost:hover { border-color: var(--gold, #C8A96E); color: var(--cream, #F2EDE4); }
.wlb-btn-link { background: transparent; color: var(--text-muted, #8A7D6A); text-decoration: underline; padding: 0.7rem 0.5rem; }

/* ===== STICKY BUY BAR ===== */
.wlb-buybar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: rgba(8,8,13,0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid rgba(200,169,110,0.22);
  z-index: 8000;
  transform: translateY(100%);
  transition: transform .3s ease;
  padding: 0.85rem 1rem;
  font-family: 'Outfit', sans-serif;
}
.wlb-buybar.is-visible { transform: translateY(0); }
.wlb-buybar-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.wlb-buybar-text {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  color: var(--cream, #F2EDE4);
}
.wlb-buybar-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 500;
}
.wlb-buybar-price {
  color: var(--gold, #C8A96E);
  font-weight: 600;
  font-size: 1.05rem;
}
.wlb-buybar-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.wlb-buybar-close {
  background: transparent;
  border: none;
  color: var(--text-muted, #8A7D6A);
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0 0.3rem;
}
.wlb-buybar-close:hover { color: var(--cream, #F2EDE4); }
@media (max-width: 640px) {
  .wlb-buybar { padding: 0.7rem 0.8rem; }
  .wlb-buybar-text { font-size: 0.9rem; }
  .wlb-buybar-title { font-size: 1rem; }
}

/* ===== LEAD MAGNET POPUP (Chapter 1) ===== */
.wlb-leadmagnet-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  animation: wlbFadeIn .25s ease;
}
.wlb-leadmagnet-overlay.is-visible { display: flex; }
@keyframes wlbFadeIn { from { opacity: 0; } to { opacity: 1; } }
.wlb-leadmagnet {
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.3);
  border-radius: 24px;
  padding: 2.5rem 2rem;
  max-width: 480px;
  width: 100%;
  position: relative;
  text-align: center;
  font-family: 'Outfit', sans-serif;
  color: var(--text-body, #C4BAA8);
  box-shadow: 0 30px 80px rgba(0,0,0,0.7);
}
.wlb-leadmagnet-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  margin-bottom: 0.8rem;
}
.wlb-leadmagnet-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 300;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.5rem 0;
  line-height: 1.15;
}
.wlb-leadmagnet-title em { color: var(--gold, #C8A96E); font-style: italic; }
.wlb-leadmagnet-text {
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 1.4rem 0;
}
.wlb-leadmagnet-form { display: flex; flex-direction: column; gap: 0.6rem; }
.wlb-input {
  width: 100%;
  padding: 0.95rem 1.1rem;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(200,169,110,0.3);
  border-radius: 100px;
  color: var(--cream, #F2EDE4);
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  outline: none;
  transition: border-color .2s ease;
  box-sizing: border-box;
}
.wlb-input:focus { border-color: var(--gold, #C8A96E); }
.wlb-leadmagnet-close {
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  background: transparent;
  border: none;
  color: var(--text-muted, #8A7D6A);
  font-size: 1.7rem;
  cursor: pointer;
  padding: 0.3rem 0.6rem;
  line-height: 1;
}
.wlb-leadmagnet-close:hover { color: var(--cream, #F2EDE4); }
.wlb-leadmagnet-finish { display: none; padding: 1rem 0; }
.wlb-leadmagnet.is-success .wlb-leadmagnet-form { display: none; }
.wlb-leadmagnet.is-success .wlb-leadmagnet-finish { display: block; }
.wlb-leadmagnet-cta {
  display: inline-block;
  margin-top: 0.6rem;
  background: var(--gold, #C8A96E);
  color: var(--ink, #08080D) !important;
  border-radius: 100px;
  padding: 0.85rem 1.6rem;
  font-weight: 600;
  text-decoration: none;
}
.wlb-leadmagnet-cta:hover { background: var(--gold-bright, #E8C876); }
.wlb-leadmagnet-fineprint {
  font-size: 0.78rem;
  color: var(--text-muted, #8A7D6A);
  margin-top: 0.7rem;
}

/* ===== TRUST BLOCK ===== */
.wlb-trust {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.2rem;
  margin: 3rem auto;
  max-width: 1100px;
  padding: 2rem 1.5rem;
  font-family: 'Outfit', sans-serif;
}
.wlb-trust-item {
  text-align: center;
  padding: 1.5rem 1rem;
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.15);
  border-radius: 16px;
  color: var(--text-body, #C4BAA8);
  transition: border-color .2s ease;
}
.wlb-trust-item:hover { border-color: rgba(200,169,110,0.4); }
.wlb-trust-icon {
  font-size: 1.8rem;
  color: var(--gold, #C8A96E);
  margin-bottom: 0.5rem;
  display: block;
}
.wlb-trust-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--cream, #F2EDE4);
  margin: 0.4rem 0;
}
.wlb-trust-desc {
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--text-body, #C4BAA8);
  margin: 0;
}

/* ===== GIFT-A-COPY WIDGET ===== */
.wlb-gift {
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(255,215,0,0.25);
  border-radius: 16px;
  padding: 1.4rem;
  margin: 2rem auto;
  max-width: 720px;
  font-family: 'Outfit', sans-serif;
  color: var(--text-body, #C4BAA8);
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.wlb-gift-flag {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--ua-blue, #0057B7) 50%, var(--ua-yellow, #FFD700) 50%);
  flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.1);
}
.wlb-gift-body { flex: 1; min-width: 220px; }
.wlb-gift-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.3rem 0;
  font-weight: 500;
}
.wlb-gift-desc {
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0 0 0.4rem 0;
}
.wlb-gift-meter {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  color: var(--gold, #C8A96E);
  letter-spacing: 0.1em;
}
.wlb-gift-toggle { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.wlb-gift-qty {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(200,169,110,0.3);
  border-radius: 100px;
  padding: 0.3rem 0.5rem;
}
.wlb-gift-qty button {
  background: transparent;
  border: none;
  color: var(--gold, #C8A96E);
  font-size: 1.2rem;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
}
.wlb-gift-qty button:hover { background: rgba(200,169,110,0.15); }
.wlb-gift-count { color: var(--cream, #F2EDE4); min-width: 20px; text-align: center; font-weight: 600; }

/* ===== PILLAR VISUALIZER ===== */
.wlb-vis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  max-width: 1100px;
  margin: 3rem auto;
  padding: 0 1.5rem;
  font-family: 'Outfit', sans-serif;
}
@media (max-width: 768px) { .wlb-vis { grid-template-columns: 1fr; } }
.wlb-vis-tile {
  position: relative;
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.18);
  border-radius: 20px;
  padding: 2rem 1.6rem;
  cursor: pointer;
  transition: all .3s ease;
  overflow: hidden;
  min-height: 200px;
}
.wlb-vis-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(200,169,110,0.12), transparent 60%);
  opacity: 0;
  transition: opacity .3s ease;
}
.wlb-vis-tile:hover { border-color: rgba(200,169,110,0.5); transform: translateY(-2px); }
.wlb-vis-tile:hover::before { opacity: 1; }
.wlb-vis-tile.is-active { border-color: var(--gold, #C8A96E); }
.wlb-vis-num {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--gold, #C8A96E);
  text-transform: uppercase;
}
.wlb-vis-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  color: var(--cream, #F2EDE4);
  margin: 0.4rem 0;
  font-weight: 500;
}
.wlb-vis-tag {
  font-size: 0.85rem;
  color: var(--text-body, #C4BAA8);
  margin: 0;
  line-height: 1.45;
}
.wlb-vis-detail {
  grid-column: 1 / -1;
  background: linear-gradient(145deg, rgba(8,8,13,0.6), rgba(22,21,30,0.6));
  border: 1px solid rgba(200,169,110,0.18);
  border-radius: 20px;
  padding: 2rem;
  display: none;
}
.wlb-vis-detail.is-visible { display: block; animation: wlbFadeIn .3s ease; }
.wlb-vis-detail h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.8rem 0;
  font-weight: 400;
}
.wlb-vis-detail h3 em { color: var(--gold, #C8A96E); }
.wlb-vis-principles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.8rem; margin: 1.4rem 0; }
.wlb-vis-principle {
  background: rgba(0,0,0,0.3);
  border-left: 2px solid var(--gold, #C8A96E);
  padding: 0.8rem 1rem;
  border-radius: 8px;
}
.wlb-vis-principle strong {
  font-family: 'Cormorant Garamond', serif;
  display: block;
  color: var(--gold, #C8A96E);
  font-size: 1.05rem;
  margin-bottom: 0.2rem;
}
.wlb-vis-principle span { font-size: 0.85rem; color: var(--text-body, #C4BAA8); line-height: 1.4; }
.wlb-vis-story {
  background: rgba(200,169,110,0.05);
  border-radius: 12px;
  padding: 1.2rem;
  margin: 1.2rem 0;
  font-style: italic;
  color: var(--text-body, #C4BAA8);
  border-left: 3px solid var(--gold, #C8A96E);
}
.wlb-vis-story-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  display: block;
  margin-bottom: 0.5rem;
  font-style: normal;
}

/* ===== AUDIO COMPANION ===== */
.wlb-audio {
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 16px;
  padding: 1.4rem;
  max-width: 720px;
  margin: 2rem auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: 'Outfit', sans-serif;
}
.wlb-audio-art {
  width: 72px; height: 72px;
  background: radial-gradient(circle at 30% 30%, var(--gold, #C8A96E), var(--gold-dim, #9A7D4A));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: var(--ink, #08080D);
  font-weight: 600;
}
.wlb-audio-body { flex: 1; min-width: 200px; color: var(--text-body, #C4BAA8); }
.wlb-audio-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
}
.wlb-audio-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  color: var(--cream, #F2EDE4);
  margin: 0.2rem 0 0.5rem 0;
  font-weight: 500;
}
.wlb-audio-controls { display: flex; align-items: center; gap: 0.6rem; }
.wlb-audio-play {
  background: var(--gold, #C8A96E);
  color: var(--ink, #08080D);
  border: none;
  width: 42px; height: 42px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wlb-audio-play:hover { background: var(--gold-bright, #E8C876); }
.wlb-audio-meta {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.75rem;
  color: var(--text-muted, #8A7D6A);
}
.wlb-audio-links { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.wlb-audio-link {
  font-size: 0.78rem;
  color: var(--text-body, #C4BAA8);
  text-decoration: none;
  border: 1px solid rgba(200,169,110,0.3);
  border-radius: 100px;
  padding: 0.4rem 0.8rem;
  transition: border-color .2s ease, color .2s ease;
}
.wlb-audio-link:hover { border-color: var(--gold, #C8A96E); color: var(--gold, #C8A96E); }

/* ===== QUIZ (self-assessment + workshop matcher) ===== */
.wlb-quiz {
  max-width: 720px;
  margin: 3rem auto;
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 24px;
  padding: 2.5rem;
  font-family: 'Outfit', sans-serif;
  color: var(--text-body, #C4BAA8);
  position: relative;
}
@media (max-width: 600px) {
  .wlb-quiz { padding: 1.6rem; margin: 2rem 1rem; }
}
.wlb-quiz-progress {
  height: 4px;
  background: rgba(200,169,110,0.15);
  border-radius: 100px;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.wlb-quiz-progress-fill {
  height: 100%;
  background: var(--gold, #C8A96E);
  transition: width .3s ease;
  width: 0%;
}
.wlb-quiz-step { display: none; }
.wlb-quiz-step.is-active { display: block; animation: wlbFadeIn .3s ease; }
.wlb-quiz-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  margin-bottom: 0.5rem;
}
.wlb-quiz-question {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 1.4rem 0;
  font-weight: 400;
  line-height: 1.25;
}
.wlb-quiz-options { display: flex; flex-direction: column; gap: 0.7rem; }
.wlb-quiz-option {
  display: block;
  text-align: left;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 12px;
  padding: 1rem 1.2rem;
  color: var(--text-body, #C4BAA8);
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all .2s ease;
  width: 100%;
}
.wlb-quiz-option:hover { border-color: var(--gold, #C8A96E); color: var(--cream, #F2EDE4); }
.wlb-quiz-option.is-selected { background: rgba(200,169,110,0.12); border-color: var(--gold, #C8A96E); color: var(--cream, #F2EDE4); }
.wlb-quiz-nav { display: flex; justify-content: space-between; margin-top: 1.5rem; gap: 0.5rem; }

/* Likert option set (for assessment) */
.wlb-likert { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.4rem; margin-top: 0.8rem; }
.wlb-likert button {
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(200,169,110,0.2);
  color: var(--text-body, #C4BAA8);
  border-radius: 12px;
  padding: 1rem 0.4rem;
  cursor: pointer;
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  transition: all .2s ease;
}
.wlb-likert button:hover { border-color: var(--gold, #C8A96E); color: var(--cream, #F2EDE4); }
.wlb-likert button.is-selected { background: var(--gold, #C8A96E); color: var(--ink, #08080D); border-color: var(--gold, #C8A96E); }
@media (max-width: 480px) {
  .wlb-likert { grid-template-columns: repeat(5, 1fr); gap: 0.25rem; }
  .wlb-likert button { font-size: 0.7rem; padding: 0.7rem 0.2rem; }
}

/* Quiz results */
.wlb-quiz-result-archetype {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.4rem;
  color: var(--gold, #C8A96E);
  text-align: center;
  margin: 0.8rem 0 0.3rem 0;
  font-weight: 400;
  line-height: 1.1;
}
.wlb-quiz-result-tag {
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted, #8A7D6A);
  margin-bottom: 1.5rem;
}
.wlb-quiz-result-summary {
  text-align: center;
  font-size: 1rem;
  line-height: 1.55;
  margin-bottom: 1.8rem;
}
.wlb-score-bars { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.wlb-score-bar { }
.wlb-score-bar-label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.3rem;
}
.wlb-score-bar-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  color: var(--cream, #F2EDE4);
  font-weight: 500;
}
.wlb-score-bar-num {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.85rem;
  color: var(--gold, #C8A96E);
  font-weight: 600;
}
.wlb-score-bar-track {
  height: 10px;
  background: rgba(200,169,110,0.12);
  border-radius: 100px;
  overflow: hidden;
}
.wlb-score-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold-dim, #9A7D4A), var(--gold, #C8A96E), var(--gold-bright, #E8C876));
  border-radius: 100px;
  transition: width 1s ease;
  width: 0%;
}
.wlb-quiz-result-strength {
  background: rgba(58,107,74,0.15);
  border-left: 3px solid var(--hope, #5A9B6B);
  padding: 1rem 1.2rem;
  border-radius: 8px;
  margin-bottom: 0.8rem;
  font-size: 0.9rem;
  line-height: 1.5;
}
.wlb-quiz-result-grow {
  background: rgba(212,145,75,0.12);
  border-left: 3px solid var(--ember, #D4914B);
  padding: 1rem 1.2rem;
  border-radius: 8px;
  font-size: 0.9rem;
  line-height: 1.5;
}
.wlb-quiz-result-strength strong, .wlb-quiz-result-grow strong {
  font-family: 'Cormorant Garamond', serif;
  display: block;
  font-size: 1rem;
  margin-bottom: 0.3rem;
  color: var(--cream, #F2EDE4);
}
.wlb-quiz-email {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(200,169,110,0.15);
}
.wlb-quiz-email h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.4rem 0;
  font-weight: 500;
}
.wlb-quiz-email p { margin: 0 0 1rem 0; font-size: 0.95rem; line-height: 1.5; }
.wlb-quiz-email-form { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.wlb-quiz-email-form input { flex: 1; min-width: 200px; }

/* ===== JOURNAL ===== */
.wlb-journal {
  max-width: 720px;
  margin: 2rem auto;
  background: linear-gradient(145deg, var(--ink-mid, #16151E) 0%, var(--ink-light, #1E1D28) 100%);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 24px;
  padding: 2.5rem;
  font-family: 'Outfit', sans-serif;
  color: var(--text-body, #C4BAA8);
}
@media (max-width: 600px) { .wlb-journal { padding: 1.6rem; margin: 1.5rem 1rem; } }
.wlb-journal-date {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  margin-bottom: 0.4rem;
}
.wlb-journal-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 1.5rem 0;
  font-weight: 400;
}
.wlb-journal-prompt {
  margin-bottom: 1.4rem;
}
.wlb-journal-prompt-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  color: var(--cream, #F2EDE4);
  margin-bottom: 0.5rem;
  display: block;
  font-weight: 500;
}
.wlb-journal-prompt-pillar {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  margin-left: 0.6rem;
}
.wlb-journal-textarea {
  width: 100%;
  min-height: 110px;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(200,169,110,0.2);
  border-radius: 12px;
  padding: 0.9rem 1.1rem;
  color: var(--cream, #F2EDE4);
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  outline: none;
  resize: vertical;
  box-sizing: border-box;
  line-height: 1.55;
}
.wlb-journal-textarea:focus { border-color: var(--gold, #C8A96E); }
.wlb-journal-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.wlb-journal-streak {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.78rem;
  color: var(--gold, #C8A96E);
  margin-left: auto;
}
.wlb-journal-history { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(200,169,110,0.15); }
.wlb-journal-history h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  margin: 0 0 0.8rem 0;
  color: var(--cream, #F2EDE4);
}
.wlb-journal-entry {
  border: 1px solid rgba(200,169,110,0.12);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  cursor: pointer;
  transition: border-color .2s ease;
}
.wlb-journal-entry:hover { border-color: rgba(200,169,110,0.3); }
.wlb-journal-entry-date { font-family: 'IBM Plex Mono', monospace; font-size: 0.7rem; color: var(--gold, #C8A96E); margin-bottom: 0.2rem; }
.wlb-journal-entry-snippet { color: var(--text-body, #C4BAA8); line-height: 1.5; }

/* ===== Generic small bits ===== */
.wlb-msg-success {
  background: rgba(58,107,74,0.18);
  color: var(--hope, #5A9B6B);
  padding: 0.8rem 1rem;
  border-radius: 12px;
  margin-top: 0.6rem;
  font-size: 0.9rem;
}
.wlb-msg-error {
  background: rgba(139,58,58,0.2);
  color: #ff8b8b;
  padding: 0.8rem 1rem;
  border-radius: 12px;
  margin-top: 0.6rem;
  font-size: 0.9rem;
}
.wlb-hidden { display: none !important; }
.wlb-only-print { display: none; }

/* Whatsapp pill (community) */
.wlb-whatsapp-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #25D366;
  color: #08080D !important;
  padding: 0.7rem 1.3rem;
  border-radius: 100px;
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.95rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
.wlb-whatsapp-pill:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(37,211,102,0.35); }
.wlb-whatsapp-pill::before {
  content: '';
  width: 18px; height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.91.5 3.78 1.46 5.42L2 22l4.79-1.55a9.92 9.92 0 0 0 5.25 1.46c5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm5.85 14.06c-.25.71-1.45 1.36-2.04 1.46-.55.1-1.21.14-1.94-.12-.45-.16-1.02-.34-1.76-.66-3.1-1.34-5.13-4.46-5.29-4.66-.16-.21-1.27-1.69-1.27-3.22s.81-2.29 1.09-2.6c.29-.31.62-.39.83-.39h.6c.19 0 .45-.07.7.54.25.61.86 2.1.94 2.25.08.16.13.34.03.55-.1.21-.16.34-.31.52-.16.18-.34.4-.48.54-.16.16-.32.33-.14.65.18.31.79 1.31 1.7 2.12 1.17 1.04 2.16 1.36 2.47 1.52.31.16.49.13.67-.08.18-.21.78-.91.99-1.22.21-.31.41-.26.7-.16.29.1 1.85.87 2.17 1.03.31.16.52.23.6.36.08.13.08.74-.16 1.45z' fill='black'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.91.5 3.78 1.46 5.42L2 22l4.79-1.55a9.92 9.92 0 0 0 5.25 1.46c5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2zm5.85 14.06c-.25.71-1.45 1.36-2.04 1.46-.55.1-1.21.14-1.94-.12-.45-.16-1.02-.34-1.76-.66-3.1-1.34-5.13-4.46-5.29-4.66-.16-.21-1.27-1.69-1.27-3.22s.81-2.29 1.09-2.6c.29-.31.62-.39.83-.39h.6c.19 0 .45-.07.7.54.25.61.86 2.1.94 2.25.08.16.13.34.03.55-.1.21-.16.34-.31.52-.16.18-.34.4-.48.54-.16.16-.32.33-.14.65.18.31.79 1.31 1.7 2.12 1.17 1.04 2.16 1.36 2.47 1.52.31.16.49.13.67-.08.18-.21.78-.91.99-1.22.21-.31.41-.26.7-.16.29.1 1.85.87 2.17 1.03.31.16.52.23.6.36.08.13.08.74-.16 1.45z' fill='black'/></svg>") center/contain no-repeat;
}

/* Workshop matcher result card */
.wlb-match-card {
  background: linear-gradient(145deg, rgba(200,169,110,0.08), rgba(200,169,110,0.02));
  border: 1px solid var(--gold, #C8A96E);
  border-radius: 16px;
  padding: 1.5rem;
  margin: 1.5rem 0;
}
.wlb-match-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: var(--cream, #F2EDE4);
  margin: 0 0 0.3rem 0;
  font-weight: 500;
}
.wlb-match-card .wlb-match-eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #C8A96E);
  margin-bottom: 0.4rem;
}
.wlb-match-card p { font-size: 0.95rem; line-height: 1.55; margin: 0.5rem 0 1rem 0; }
