/* CDTC Online — lesson component system ("bgl") v1.0
   Brand: Montserrat · orange #d3551d · brown #594d3e · tan #c1b293 · green #72b840 · blue #0077ae
   Everything scoped under .bgl — inert on any page that doesn't carry the markup (AM untouched).
   Served by mu-plugin bg-lesson-styles.php. */

.bgl { --o:#d3551d; --br:#594d3e; --tan:#c1b293; --cream:#faf7f2; --line:#e8e0d3;
       --green:#72b840; --blue:#0077ae; --ink:#4a4036;
       color: var(--ink); font-family: 'Montserrat', sans-serif;
       font-size: 17px; font-weight: 400; line-height: 1.75; }

.bgl p { margin: 0 0 1.15em; }
.bgl strong { font-weight: 600; }
.bgl > p, .bgl h3 { max-width: 72ch; }

/* ---- section headings — the guide's label device:
        Montserrat Bold, trailing period, thin hairline rule beneath ---- */
.bgl h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.3rem;
          color: var(--br); margin: 2.6em 0 .9em; padding-bottom: .5em;
          border-bottom: 1px solid #e5b79d; }
.bgl h3:first-child { margin-top: 0; }

/* ---- eyebrow labels + chips (Semibold per the weight ladder) ---- */
.bgl-eyebrow { display: block; font-size: .68rem; font-weight: 600; letter-spacing: .14em;
               text-transform: uppercase; color: var(--o); margin-bottom: .55em; }
.bgl-chip { display: inline-block; font-size: .68rem; font-weight: 600; letter-spacing: .12em;
            text-transform: uppercase; color: #fff; background: var(--blue);
            padding: .32em .85em; border-radius: 999px; margin-bottom: .8em; }
.bgl-chip-green { background: var(--green); }

/* ---- recall strip (session opener) ---- */
.bgl-recall { background: var(--cream); border: 1px solid var(--line); border-left: 5px solid var(--tan);
              border-radius: 10px; padding: 1.25rem 1.5rem; margin: 0 0 1.8rem; }
.bgl-recall p { margin: 0; max-width: none; }

/* ---- tile grids (trigger types, toolkit moves) ---- */
.bgl-grid { display: grid; gap: 14px; margin: 1.2rem 0 1.4rem; }
.bgl-grid-2 { grid-template-columns: repeat(2, 1fr); }
.bgl-grid-3 { grid-template-columns: repeat(3, 1fr); }
.bgl-tile { background: #fff; border: 1px solid var(--line); border-radius: 10px;
            padding: 1.05rem 1.2rem; box-shadow: 0 1px 3px rgba(89,77,62,.06); }
.bgl-tile h4 { margin: 0 0 .45em; font-size: .95rem; font-weight: 600; color: var(--br); }
.bgl-tile p { margin: 0; font-size: .93rem; line-height: 1.65; }
.bgl-tile-tool { border-top: 4px solid var(--green); }
.bgl-tile-trigger { border-top: 4px solid var(--o); }

/* ---- scenario vignettes ---- */
.bgl-scenario { background: #f4f8fb; border: 1px solid #dce8f0; border-left: 5px solid var(--blue);
                border-radius: 10px; padding: 1.15rem 1.4rem; margin: 0 0 1.1rem; }
.bgl-scenario p { margin: 0; max-width: none; }
.bgl-scenario em { font-style: normal; }

/* ---- worked walk-through ---- */
.bgl-walkthrough { background: #f6faf2; border: 1px solid #dfeccf; border-left: 5px solid var(--green);
                   border-radius: 10px; padding: 1.3rem 1.5rem; margin: 1.2rem 0 1.6rem; }
.bgl-walkthrough p { max-width: none; }
.bgl-setup { background: #fff; border: 1px dashed var(--tan); border-radius: 8px;
             padding: .85rem 1.1rem; margin: .4rem 0 1rem; font-style: normal; }
.bgl-steps { list-style: none; margin: 0 0 1rem; padding: 0; }
.bgl-steps li { padding: .55em 0 .55em 1.6em; position: relative; border-bottom: 1px solid #e7f0dc; }
.bgl-steps li:last-child { border-bottom: 0; }
.bgl-steps li::before { content: "»"; position: absolute; left: .1em; color: var(--green); font-weight: 700; }
.bgl-steps-ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.bgl-steps-ol li { padding: .45em 0; border-bottom: 1px solid #e7f0dc; }
.bgl-steps-ol li:last-child { border-bottom: 0; }
.bgl-steps-ol li::marker { color: var(--green); font-weight: 700; }
.bgl-setup-lead p { margin-bottom: .9em; font-weight: 500; }

/* ---- exercise card (workbook) ---- */
.bgl-exercise { background: #fff; border: 1px solid var(--line); border-radius: 12px;
                margin: 2.2rem 0; box-shadow: 0 2px 10px rgba(89,77,62,.08); overflow: hidden; }
.bgl-ex-head { background: var(--o); color: #fff !important; padding: 1.05rem 1.5rem .95rem; }
.bgl-ex-head .bgl-eyebrow { color: #ffddc9 !important; margin-bottom: .25em; }
.bgl-ex-head h3,
.bgl .bgl-ex-head h3,
.learndash-wrapper .bgl-ex-head h3 { color: #fff !important; margin: 0; padding: 0;
                                     font-size: 1.25rem; border-bottom: 0; }
.bgl-ex-head a { color: #fff !important; }
.bgl-ex-head h3::before { display: none; }
.bgl-ex-body { padding: 1.3rem 1.5rem 1.1rem; }
.bgl-ex-body ol { margin: .4rem 0 1.2rem; padding-left: 1.4rem; }
.bgl-ex-body ol li { margin-bottom: .55em; }
.bgl-workbook { display: flex; gap: .7em; align-items: flex-start; background: var(--cream);
                border: 1px solid var(--line); border-radius: 8px; padding: .8rem 1.05rem;
                margin: 0 0 1.15rem; font-size: .95rem; }
.bgl-workbook a { color: var(--o); font-weight: 600; text-decoration: underline; }
.bgl-ex-note { font-size: .85rem; color: #7d715f; border-top: 1px solid var(--line);
               padding-top: .85rem; margin: .4rem 0 0; }

/* ---- reflection inset ---- */
.bgl-reflection { background: var(--cream); border: 1px solid var(--line); border-radius: 12px;
                  padding: 1.4rem 1.6rem 1.2rem; margin: 2rem 0 1rem; }
.bgl-reflection p { font-size: 1.06rem; line-height: 1.8; max-width: none; margin-bottom: .9em; }
.bgl-wb-note { font-size: .88rem; color: #7d715f; margin: 0; }

/* ---- tables: branded TEMPLATE displays (the shape you copy into your workbook) ---- */
.bgl table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.3rem;
             font-size: .93rem; background: #fff; }
.bgl th { background: var(--cream); color: var(--br); font-weight: 600; text-align: left;
          padding: .6em .9em; border: 1px solid var(--line); }
.bgl td { border: 1px solid var(--line); padding: .6em .9em; min-width: 3.5em; height: 2.4em; }
.bgl td:empty { background: repeating-linear-gradient(transparent, transparent 1.6em, var(--line) 1.6em, var(--line) calc(1.6em + 1px)); }

/* ---- plain blockquotes (untransformed sections) get a quiet house inset ---- */
.bgl blockquote { background: var(--cream); border: 1px solid var(--line); border-left: 5px solid var(--tan);
                  border-radius: 10px; padding: 1rem 1.3rem; margin: 0 0 1.15em; font-style: normal; }
.bgl blockquote p { margin: 0; max-width: none; }
.bgl blockquote p + p { margin-top: .8em; }

/* ---- generic niceties inside .bgl — the guide's » is the house list marker ---- */
.bgl ul:not(.bgl-steps) { padding-left: 1.3rem; list-style: none; }
.bgl ul:not(.bgl-steps) li { margin-bottom: .6em; position: relative; padding-left: .35em; }
.bgl ul:not(.bgl-steps) li::before { content: "»"; position: absolute; left: -1.1em;
                                     color: var(--o); font-weight: 600; }

@media (max-width: 700px) {
  .bgl-grid-2, .bgl-grid-3 { grid-template-columns: 1fr; }
  .bgl { font-size: 16px; }
}

/* ============================================================================
   BRAND TYPOGRAPHY NORMALIZATION (site-wide, per the Brand Style Guide spreads)
   The guide's voice is sentence case — Bold headings with a trailing period;
   ALL-CAPS is reserved for small labels (entry meta, eyebrows, buttons, topbar).
   Titles are stored in natural case, so removing the transform reveals them.
   Also retires the legacy off-brand orange #ca511c in favor of brand #d3551d.
   ========================================================================== */

/* Gantry page-title particle (lesson/quiz/page titles rendered via custom-heading) */
.custom-heading .tm-title { text-transform: none !important; font-weight: 700; color: #594d3e; }

/* Site utility classes (staged pages + program particles + AM cards) */
.title    { text-transform: none !important; color: #d3551d; }
.thin     { text-transform: none !important; font-weight: 500; }
.strong   { text-transform: none !important; font-weight: 700; }
h3.strong { text-transform: none !important; font-weight: 700; color: #d3551d !important; }

/* LearnDash headings inside the wrapper follow the same voice */
.learndash-wrapper h1, .learndash-wrapper .ld-item-title { text-transform: none; }

/* Lesson/quiz page titles + "Program Content" accordion heading (custom.scss shouted these) */
.el-title.jl-h3,
.ld-accordion__heading {
  text-transform: none !important;
  font-weight: 700 !important;      /* guide Bold, not 800 */
  letter-spacing: 0 !important;
}

/* Session rows in the Program Content list — Semibold labels, natural case, keep the action orange */
.ld-accordion__item-title {
  text-transform: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ---- fill-in tables reframed as workbook TEMPLATES (pre-workbook cruft, 2026-07-08) ---- */
.bgl-template { border: 1px dashed var(--tan); border-radius: 10px; padding: .9rem 1.1rem .4rem;
                margin: 1rem 0 1.3rem; background: #fffdf9; }
.bgl-template-cap { font-size: .8rem; font-weight: 600; color: #7d715f; margin-bottom: .6rem; }
.bgl-template table { margin-top: 0; }

/* ============================================================================
   NEUTRALIZE the theme's AM-era auto-callout inside .bgl (2026-07-08, Steve's soak)
   custom.scss turns any p whose only element child is a single <strong> into an
   orange-bar callout (.ld-tab-bar__panel p:has(> strong:only-child)). On program
   lessons this fires randomly wherever a paragraph has exactly one bold phrase
   (Steve's "nested styles pop up sporadically"). Scoped off inside .bgl only —
   Anger Management keeps its authored callouts.
   ========================================================================== */
.ld-tab-bar__panel .bgl p:has(> strong:only-child) {
  background: transparent;
  border-left: 0;
  padding: 0;
  margin: 0 0 1.15em;
  border-radius: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.ld-tab-bar__panel .bgl-recall p:has(> strong:only-child),
.ld-tab-bar__panel .bgl-reflection p:has(> strong:only-child),
.ld-tab-bar__panel .bgl-scenario p:has(> strong:only-child) { margin: 0; }


/* ============================================================================
   SALES-PAGE BRAND OVERRIDES on NATIVE Nova particles (Steve 2026-07-09).
   Sales pages are composed of jlfeaturebox / jlheading / jlcalltoaction / custom
   — native Nova, parallel to courtdiagnostic.com. These are brand color/type
   touches on the content INSIDE those particles (the particle chrome stays native).
   ========================================================================== */
.cdtc-lead { max-width: 74ch; }
.cdtc-lead-title { font-family:'Montserrat',sans-serif; font-weight:700; font-size:1.6rem; color:#594d3e; line-height:1.25; margin:0 0 .6rem; }
.cdtc-lead p { font-size:1.1rem; line-height:1.7; color:#4a4036; }
.cdtc-trust { display:flex; gap:1rem; align-items:flex-start; background:#594d3e; color:#f3ede2; border-radius:12px; padding:1.3rem 1.6rem; margin:1.4rem 0 0; }
.cdtc-trust i { color:#c1b293; font-size:1.6rem; margin-top:.15rem; }
.cdtc-trust p { margin:0 !important; color:#f3ede2 !important; font-size:1rem; line-height:1.6; }

/* tier card content (inside the native jlfeaturebox item) */
.cdtc-tier { text-align:center; }
.cdtc-tier-icon { font-size:2rem; color:#d3551d; margin:.2rem 0 .6rem; }
.cdtc-tier-meta { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#0077ae; margin:0 0 .5rem; }
.cdtc-tier-price { font-family:'Montserrat',sans-serif; font-weight:800; font-size:2.3rem; color:#594d3e; line-height:1; margin:.2rem 0 .7rem; }
.cdtc-tier-price span { display:block; font-size:.8rem; font-weight:500; color:#7d715f; margin-top:.3rem; letter-spacing:0; }
.cdtc-tier-who { font-size:.95rem; color:#4a4036; line-height:1.55; margin:0; }

/* value card content */
.cdtc-learn { margin:0; line-height:1.6; }
.cdtc-learn-icon { color:#72b840; margin-right:.35rem; }

.cdtc-note { font-size:.95rem; color:#7d715f; text-align:center; }

/* FAQ via native <details>/<summary> */
.cdtc-faq { display:grid; gap:10px; }
.cdtc-faq-item { border:1px solid #e8e0d3; border-radius:10px; background:#fff; padding:0 1.2rem; }
.cdtc-faq-item summary { font-weight:600; color:#594d3e; padding:1rem 0; cursor:pointer; list-style:none; }
.cdtc-faq-item summary::-webkit-details-marker { display:none; }
.cdtc-faq-item summary::after { content:"+"; float:right; color:#d3551d; font-weight:700; font-size:1.2rem; line-height:1; }
.cdtc-faq-item[open] summary::after { content:"\2013"; }
.cdtc-faq-item p { margin:0 0 1rem; color:#4a4036; line-height:1.65; }

/* tier enroll button: center only — native light-outline style left untouched (Steve 2026-07-09) */
.cdtc-tier-card .jl-button { display:block; width:-moz-fit-content; width:fit-content; margin-left:auto; margin-right:auto; }
