/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 06 2026 | 19:30:46 */
/* Enter Your Custom CSS Here */
/* =============================================
   Moved here from Divi theme options.
   (Originally borrowed from the Monsal Trail site.)
   Duplicate paste removed; comments closed; one
   blockquote conflict resolved. — tidied
   ============================================= */
/* suggested by chatgpt to change captions under gpx files photo gallery */
#bwg_container1_0 #bwg_container2_0 .bwg-container-0.bwg-standard-thumbnails .bwg-title2,
#bwg_container1_0 #bwg_container2_0 .bwg-container-0.bwg-standard-thumbnails .bwg-ecommerce2 {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: normal !important;
}
/* Reduce space directly under the H4 inside blockquotes */
.entry-content blockquote h4 + p,
.post-content blockquote h4 + p,
.wp-block-quote h4 + p {
    margin-top: 0 !important;
}
/* reduces space between featured image and post text */
.single-post .et_pb_section_first {
    padding-top: 0px !important;
}
/* underscores links in main body of posts */
.single-post article.post a {
    text-decoration: underline;
}
/* suggested by matthew somerville to fix maps from scrolling */
@media (min-width: 981px) {
    article.project_category-walks .et_pb_column_1_3 {
        position: sticky;
        top: 3em;
    }
}
/* blockquote text style */
blockquote p {
    font-style: italic !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}
/* reduce size of left rule */
blockquote {
    margin: 20px 0 30px;
    border-left: 4px solid !important;
    padding-left: 20px;
    border-color: #8cb784 !important;
}
/* leaf symbol on lists
   DISABLED: this loaded an image from monsaltrail.org.uk.
   Re-enable with a calm.org.uk image when ready.
.leafList {
    list-style-image: url(https://www.monsaltrail.org.uk/wp-content/uploads/2024/03/favicon-16x16-1.png);
    margin-left: 20px;
    margin-top: 20px;
}
*/
#fadeBox480 {
    width: 480px;
    max-width: 480px;
    max-height: 420px;
}
/* =============================================
   HIDE FOOTER — calm.org.uk - created by Claude
   DISABLED: now building a real footer in the Theme
   Builder. Re-enable this whole block to hide the
   footer again while work is in progress.
   ============================================= */
/*
#footer-widgets,
.et_pb_footer_columns_area,
.footer-widget {
    display: none !important;
}
#footer-info,
#et-footer-nav,
.et_footer_nav,
.bottom-bar {
    display: none !important;
}
#main-footer {
    display: none !important;
}
#page-container,
#et-main-area,
.et_pb_section:last-of-type {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body,
html {
    background-color: #ffffff !important;
}
*/
/* ============================================================
   SEEKING CALM — TECHNIQUES LIBRARY STYLESHEET
   calm.org.uk
   Everything is scoped under .calm-technique.
   VERDICT CLASSES on the pill:
     ct-verdict--good    evidence is good  (sage green)
     ct-verdict--mixed   mixed picture     (amber)
     ct-verdict--quest   questionable      (terracotta)
     ct-verdict--open    open question     (slate blue)
   NOTE: verdict pills are no longer used in the .ct-meta strip
   on pathway pages (removed so the page doesn't pre-empt the
   reader's judgement). They remain in use on the all-pathways
   index. The .ct-verdict classes below are kept for that.
   ============================================================ */
/* ---- Base typography ---- */
.calm-technique {
    max-width: 42rem;
    margin: 0 auto;
    font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
    font-size: 1.075rem;
    line-height: 1.72;
    color: #2b2b28;
}
.calm-technique a {
    color: #5a6b54;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(90, 107, 84, .35);
    transition: border-color .2s, color .2s;
}
.calm-technique a:hover { color: #3f4c3a; border-bottom-color: #3f4c3a; }
/* ---- Category eyebrow ---- */
.calm-technique .ct-eyebrow {
    font-family: -apple-system, "Helvetica Neue", Arial, sans-serif;
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #9a958a;
    margin: 0 0 1.4em;
}
/* ---- Metadata strip ----
   CHANGED: now two equal-width columns (Background / Best for) since the
   verdict pill has been removed from pathway pages. column-gap adds a
   gutter so long values can't collide with the next column.
   FIXED 9 July 2026: was grid-template-columns: 1.3fr 1fr, a leftover
   ratio from the original three-column layout (Origin / Best for /
   verdict pill) that was never rebalanced after the pill was dropped -
   this squeezed "Best for" narrower than "Background". Now 1fr 1fr. */
.calm-technique .ct-meta {
    list-style: none;
    margin: 0 0 1.4em;
    padding: 2em 0 0.6em;
    padding-left: 0 !important;
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 1.6rem;
    border-top: 1px solid #e2ded3;
    border-bottom: 1px solid #e2ded3;
}
.calm-technique .ct-meta li { display: flex; flex-direction: column; gap: 0; }
.calm-technique .ct-meta-k {
    font-family: -apple-system, "Helvetica Neue", Arial, sans-serif;
    font-size: .7rem;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #9a958a;
}
.calm-technique .ct-meta-k::after {
    content: "…";
    margin-left: 0.15em;
}
.calm-technique .ct-meta-v { font-family: "DM Sans", sans-serif; font-size: .88rem; color: #46443f; margin-top: -0.5em; }
/* ============================================================
   COPING-WITH PAGES — single-column ct-meta variant  (.ct-meta-stack)
   Added 3 August 2026. The "Coping with…" content type (e.g.
   "Catastrophising, explained") reuses the same .ct-meta "at a
   glance" strip as the pathway pages, but needs four fields
   stacked one above another rather than the pathway pages' fixed
   2-column grid. Add ct-meta-stack alongside the ct-meta class on
   the <ul> — e.g. <ul class="ct-meta ct-meta-stack"> — to opt in.
   Leaves the shared .ct-meta rules above untouched for pathway
   pages, which keep their 2-column Background/Best for layout.
   Trailing "…" leader added after each label via ::after so it
   never needs typing into the HTML by hand.
   ============================================================ */
.calm-technique .ct-meta.ct-meta-stack {
    grid-template-columns: 1fr;
}
.calm-technique .ct-meta.ct-meta-stack li {
    gap: 0;
}
.calm-technique .ct-meta.ct-meta-stack .ct-meta-v {
    margin-top: -0.5em;
}
.calm-technique .ct-meta.ct-meta-stack .ct-meta-k::after {
    content: "…";
    margin-left: 0.15em;
}
/* ============================================================
   COPING-WITH PAGES — eyebrow label above the H1
   Added 3 August 2026. Sits in its own Text module above the
   Post Title module on the Coping-with Theme Builder template,
   so it's outside .calm-technique (the body content wrapper) and
   needs its own standalone rule rather than reusing .ct-eyebrow,
   which is scoped inside .calm-technique only.
   ============================================================ */
.calm-page-eyebrow {
    font-family: -apple-system, "Helvetica Neue", Arial, sans-serif;
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #9a958a;
    margin: 0 0 .3em;
}
/* ---- Verdict pill ---- */
.calm-technique .ct-verdict {
    display: inline-block;
    font-family: -apple-system, Arial, sans-serif;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .02em;
    padding: .18em .7em;
    border-radius: 2em;
    width: fit-content;
}
.calm-technique .ct-verdict--good { background: #e4ecdd; color: #42592f; }
.calm-technique .ct-verdict--mixed { background: #f3ecd8; color: #7a6326; }
.calm-technique .ct-verdict--quest { background: #f1e2db; color: #8a4a32; }
.calm-technique .ct-verdict--open { background: #e2e6ec; color: #3f5066; }
/* ---- Lede ---- */
.calm-technique .ct-lede,
.calm-technique p.ct-lede,
.entry-content p.ct-lede {
    font-size: 1.04rem !important;
    line-height: 1.45;
    color: #46443f;
    margin-bottom: 0;
}
/* ---- Headings ---- */
.calm-technique h2 {
    font-family: Georgia, serif;
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.3;
    color: #2b2b28;
}
/* ---- H3 / H4 sub-headings — line-height fix for cramped mobile wrap ----
   Added 4 July 2026. Neither had an explicit rule before, so both were
   inheriting Divi's raw default line-height, which reads too tight once
   a heading wraps to two lines on narrow screens. h3 isn't currently
   used in any live pathway body copy (only .calm-sources h3 exists,
   scoped to the separate /sources/ page) — this is a pre-emptive fix
   in case a third heading tier is ever used inside .calm-technique. */
.calm-technique h3 {
    line-height: 1.35;
}
.calm-technique h4 {
    line-height: 1.4;
}
/* ---- Numbered method steps ---- */
.calm-technique .ct-steps {
    margin: 0 0 1.5em;
    padding-left: 0;
    list-style: none;
    counter-reset: step;
}
.calm-technique .ct-steps li {
    position: relative;
    padding-left: 2.4em;
    margin-bottom: 1em;
    counter-increment: step;
}
.calm-technique .ct-steps li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: .05em;
    width: 1.6em;
    height: 1.6em;
    border: 1px solid #c7c0b1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: -apple-system, Arial, sans-serif;
    font-size: .8rem;
    color: #7d776a;
}
/* Suppress Divi's own list numbers so only the circle counter shows */
.calm-technique ol.ct-steps { list-style: none !important; }
/* ============================================================
   RELATED-PATHWAYS PANEL  (.ct-related)
   RETINTED to a subtle dove blue (was cream/taupe) so it reads
   as a distinct element from the cream ordered-list panel above
   and ties to the sidebar nav.
     - very pale dove-blue wash background (#f4f9fc — almost white, keeps grey text legible)
     - lighter dove-blue left accent bar (#b8d8ee)
     - dove-blue chevron circles (#8fc0e2)
   Text stays DM Sans in the existing taupe/brown for legibility.
   To revert: background #f6f4ee, border-left #c7c0b1,
   li::before background #c7c0b1.
   ============================================================ */
.calm-technique .ct-related {
    margin: 1.2em 0 0;
    padding: 1.6em 1.8em 0.6em;
    background: #f4f9fc !important;
    border-radius: 4px;
    border-left: 3px solid #b8d8ee !important;
    border-top: none !important;
}
/* DM Sans across the whole panel */
.calm-technique .ct-related,
.calm-technique .ct-related-title,
.calm-technique .ct-related li,
.calm-technique .ct-related li span,
.calm-technique .ct-related-foot {
    font-family: "DM Sans", sans-serif !important;
}
.calm-technique .ct-related-title {
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9a958a;
    margin: 0 0 .55em;
    padding-bottom: 0 !important;
}
/* List + chevron bullets */
.calm-technique .ct-related ul {
    list-style: none !important;
    margin: 0 0 0.2em;
    padding-left: 0 !important;
}
.calm-technique .ct-related li {
    list-style: none !important;
    position: relative;
    padding-left: 18px;
    margin-bottom: .55em;
    font-size: 0.92rem;
}
.calm-technique .ct-related li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 0.6em;
    height: 0.6em;
    border-radius: 50%;
    background: #b8d8ee;           /* lighter dove blue at rest — matches index blobs */
    transition: background .18s ease;
}
.calm-technique .ct-related li:hover::before {
    background: #8fc0e2;           /* darker dove blue on hover */
}
.calm-technique .ct-related li span { color: #6f6a5f; font-size: .92rem; }
/* Close up the very last item so the panel doesn't trail off */
.calm-technique .ct-related ul:last-of-type li:last-child {
    margin-bottom: 0;
}
.calm-technique .ct-related a { color: #4a4036; }
.calm-technique .ct-related-foot { margin: 0; font-size: 0.92rem; }
.calm-technique .ct-related-foot a { border-bottom: none; }
/* ---- Book footer — deliberately quiet ---- */
.calm-technique .ct-book {
    margin: 2.6em 0 0;
    padding-top: 1.4em;
    border-top: 1px solid #e2ded3;
    font-size: .92rem;
    line-height: 1.6;
    color: #8a857a;
}
.calm-technique .ct-book em { color: #6f6a5f; font-style: italic; }
.calm-technique .ct-book a {
    color: #8a857a;
    border-bottom: 1px solid rgba(138, 133, 122, .4);
}
.calm-technique .ct-book a:hover { color: #5a554b; border-bottom-color: #5a554b; }
/* ---- Techniques landing page ---- */
.calm-technique.ct-index .ct-lede + p .ct-verdict { margin: 0 .15em; }
.calm-technique .ct-cats { margin: 2.4em 0 0; }
.calm-technique .ct-cat {
    padding: 1.3em 0;
    border-top: 1px solid #ece8df;
}
.calm-technique .ct-cat:first-child { border-top: none; }
.calm-technique .ct-cat h2 { margin: 0 0 .25em; font-size: 1.32rem; }
.calm-technique .ct-cat h2 a { color: #2b2b28; border-bottom: none; }
.calm-technique .ct-cat h2 a:hover { color: #5a6b54; }
.calm-technique .ct-cat p { margin: 0; font-size: 1rem; color: #76716a; }
/* ---- Tighten paragraph/lede/step spacing against the theme ---- */
.calm-technique p { margin-bottom: 0.8em; }
.calm-technique .ct-lede { margin-bottom: 0 !important; }
.calm-technique ol.ct-steps li { margin-bottom: .8em !important; }
/* ---- Mobile ---- */
@media (max-width: 520px) {
    .calm-technique { font-size: 1.02rem; }
    .calm-technique .ct-lede { font-size: 1.08rem; }
    .calm-technique .ct-meta { grid-template-columns: 1fr; gap: 1.2em; }
    .calm-technique .ct-cat h2 { font-size: 1.2rem; }
    /* h3/h4 read tighter once wrapped at narrow widths — loosen slightly further than desktop */
    .calm-technique h3 { line-height: 1.3; }
    .calm-technique h4 { line-height: 1.35; }
}
/* menu settings */
/* Container */
.calm-cat-menu ul,
.calm-cat-menu .et_pb_menu__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #ffffff;
  border: none;
  border-radius: 0;
  display: block;
}
/* Each item — tighter, lighter dividers */
.calm-cat-menu li,
.calm-cat-menu .et_pb_menu__menu li {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0;
  border-bottom: 1px solid #e6f0f7;
}
.calm-cat-menu li:last-child {
  border-bottom: none;
}
/* Kill Divi's default menu spacing */
.calm-cat-menu .et_pb_menu__menu li {
  margin: 0 !important;
  padding: 0 !important;
}
/* Links — smaller, sans, no underline, room for the arrow */
.calm-cat-menu a,
.calm-cat-menu .et_pb_menu__menu a {
  display: flex;
  align-items: center;
  padding: 5px 12px;
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px;
  line-height: 1.2;
  color: #4a4036;
  text-decoration: none !important;
  transition: background 0.18s ease, color 0.18s ease;
}
/* Arrow in a coloured circle before each item */
.calm-cat-menu a::before {
  content: "›";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  border-radius: 50%;
  background: #8fc0e2;            /* dove blue circle */
  color: #ffffff;                /* white arrow */
  font-size: 13px;
  line-height: 18px;
  text-align: center;
  font-family: "DM Sans", sans-serif;
}
/* Hover state */
.calm-cat-menu a:hover,
.calm-cat-menu .et_pb_menu__menu a:hover {
  background: #eef6fb;           /* faint dove-blue wash on hover */
  color: #2c2620;
  text-decoration: none !important;
}
.calm-cat-menu a:hover::before {
  background: #b8d8ee;           /* paler dove blue on hover */
}
/* Active / current category highlight */
.calm-cat-menu .current-menu-item > a,
.calm-cat-menu .current-cat > a {
  background: #eef6fb;
  color: #2c2620;
  font-weight: 600;
  box-shadow: inset 3px 0 0 #8fc0e2;   /* dove blue accent bar */
}
/* Optional heading label above the list */
.calm-cat-menu-title,
.calm-cat-menu-title p {
  font-family: -apple-system, "Helvetica Neue", Arial, sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #9a958a !important;
  margin: 0 0 1.4em !important;
}
/* Cap height and scroll if still too tall */
.calm-cat-menu ul {
  max-height: 75vh;
  overflow-y: auto;
}
/* ===== Calm paths sidebar nav-menu — match .calm-cat-menu style ===== */
/* Title */
.et_pb_widget.widget_block .widgettitle,
.et_pb_widget.widget_nav_menu .widgettitle {
  font-family: -apple-system, "Helvetica Neue", Arial, sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #9a958a !important;
  font-weight: 600 !important;
  margin: 0 0 1.4em !important;
}
/* List container */
.et_pb_widget.widget_block ul.menu,
.et_pb_widget.widget_nav_menu ul.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  max-height: 75vh;
  overflow-y: auto;
}
/* Items + dividers */
.et_pb_widget.widget_block ul.menu li.menu-item,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e6f0f7;
}
.et_pb_widget.widget_block ul.menu li.menu-item:last-child,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item:last-child {
  border-bottom: none;
}
/* Links + room for the chevron */
.et_pb_widget.widget_block ul.menu li.menu-item a,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item a {
  display: flex;
  align-items: center;
  padding: 5px 12px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  color: #4a4036;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
/* Dove-blue circle with white chevron */
.et_pb_widget.widget_block ul.menu li.menu-item a::before,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item a::before {
  content: "\203A";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  border-radius: 50%;
  background: #8fc0e2;
  color: #fff;
  font-size: 13px;
  line-height: 18px;
  text-align: center;
  font-family: "DM Sans", sans-serif;
}
/* Hover */
.et_pb_widget.widget_block ul.menu li.menu-item a:hover,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item a:hover {
  background: #eef6fb;
  color: #2c2620;
}
.et_pb_widget.widget_block ul.menu li.menu-item a:hover::before,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item a:hover::before {
  background: #b8d8ee;
}
/* Current category highlight */
.et_pb_widget.widget_block ul.menu li.current-menu-item > a,
.et_pb_widget.widget_nav_menu ul.menu li.current-menu-item > a,
.et_pb_widget.widget_block ul.menu li.current-post-parent > a,
.et_pb_widget.widget_nav_menu ul.menu li.current-post-parent > a {
  background: #eef6fb;
  color: #2c2620;
  font-weight: 600;
  box-shadow: inset 3px 0 0 #8fc0e2;
}
/* ============================================================
   SIDEBAR MENU — "All pathways" parent vs category blobs
   "All pathways" (first item) keeps the solid dove-blue circle
   + white chevron defined above. Every OTHER item gets a
   smaller plain solid dove-blue blob (no chevron).
   These rules come AFTER the chevron rule, so they override it
   by source order for all but the first item.
   ============================================================ */
/* All non-first items: small plain solid blob, no chevron */
.et_pb_widget.widget_block ul.menu li.menu-item:not(:first-child) a::before,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item:not(:first-child) a::before {
  content: "" !important;            /* remove the chevron glyph */
  width: 9px !important;
  height: 9px !important;
  margin-right: 13px !important;     /* keep text aligned with first item */
  margin-left: 4px !important;       /* centre the smaller blob in the gutter */
  background: #b8d8ee !important;    /* lighter dove blue — matches index blobs */
  border-radius: 50% !important;
  flex: 0 0 auto;
}
/* Darker blob on hover */
.et_pb_widget.widget_block ul.menu li.menu-item:not(:first-child) a:hover::before,
.et_pb_widget.widget_nav_menu ul.menu li.menu-item:not(:first-child) a:hover::before {
  background: #8fc0e2 !important;
}
/* ============================================================
   EMPTY WIDGET WRAPPER — hide when conditional PHP hides its child
   Added 3 August 2026. "Find a pathway" sits inside a Group block
   in the Sidebar widget area. On pages where the conditional
   widget-display PHP hides that widget (e.g. Coping-with pages,
   where only "Coping with…" should show), the Group wrapper itself
   is left behind empty, showing as a stray blank shape. :empty
   hides the wrapper whenever it truly has no child content.
   ============================================================ */
.et_pb_widget.widget_block .wp-block-group:empty {
  display: none;
}
/* uni neue font
   REVISED 3 August 2026 (later same day): Book restored for true
   H1-scale headings after all. Regular stays in use everywhere
   under H1 (card titles, H3/H4 sub-headings, the all-pathways
   index) — this split (Book for H1, Regular for everything
   smaller) is the intended, deliberate final state, not a
   leftover from the cost-driven consolidation attempt earlier
   today. See each H1-scale rule below for the reasoning. */
@font-face {
  font-family: UniNeueBook;
  src: url('https://calm.org.uk/wp-content/uploads/fonts/39801C_0_0.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: UniNeueRegular;
  src: url('https://calm.org.uk/wp-content/uploads/fonts/uni-neue-regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* Post heading — match the logo (Uni Neue Book + deeper dove blue) */
.single-post h1.entry-title,
.single-post .et_pb_title_container h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
}
/* body, p, li, a, span,
.et_pb_text, .et_pb_module {
  font-family: UniNeueRegular, sans-serif !important;
} */

/* ============================================================
   JOURNAL POST TEMPLATE — spacing fixes
   Added 26 July 2026. The Journal template (Theme Builder,
   assigned to Posts) renders the heading, date and featured
   image via the Post Title module, then the body via a separate
   Post Content module below. These three rules were originally
   added as per-module Free-Form CSS directly on the Post Title
   module; moved here so they're easier to find and edit than
   digging back into that specific Theme Builder template.
   ============================================================ */
/* Tighten the gap between the heading and the date line
   (was inheriting Divi's default 10px padding-bottom on the h1) */
.single-post h1.entry-title {
  padding-bottom: 2px;
}
/* Add space between the date line and the featured image below it
   (was 0px — heading, date and image were all touching) */
.single-post .et_pb_title_meta_container {
  margin-bottom: 20px;
}
/* Featured images render as inline <img>, which reserves a small
   "descender" gap underneath as if the image were a line of text.
   Forcing block display removes that phantom gap, leaving only
   the standfirst paragraph's own top margin as the visible space
   between the image and the body copy. */
.single-post .et_pb_title_featured_container img {
  display: block;
}
/* Divi's Post Content module wraps its rendered output in its own
   internal section + row, invisible in the builder, which carries
   Divi's default padding (10px on the section, 27px on the row)
   independently of any Design-tab spacing settings on the module
   or its parent row/column. Pathway pages never had this because
   they don't use the Post Content module. Zeroing both removes
   the extra ~37px gap this was adding above the body text. */
.single-post .et_pb_post_content .et_pb_section {
  padding-top: 0 !important;
}
.single-post .et_pb_post_content .et_pb_row {
  padding-top: 0 !important;
}

/* ============================================================
   JOURNAL SIDEBAR — Latest posts widget area
   Added 26 July 2026. The Journal template's Sidebar module
   points at the "Posts sidebar" widget area, containing (in
   order): a Support pill (Custom HTML, reusing the same
   .support-pill markup as the pathway pages' listen-block),
   a "Latest posts" heading (core Heading block), and a Latest
   Posts block widget. These rules style that stack and close
   up Divi's default spacing between stacked widgets, which is
   much larger (51px) than intended between these elements.
   ============================================================ */
/* Recent Posts list — dove-blue blob bullets, matching the
   pathway category menu style in the same sidebar column. */
.wp-block-latest-posts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-block-latest-posts li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 0.55em;
}
.wp-block-latest-posts li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #b8d8ee;
  transition: background 0.18s ease;
}
.wp-block-latest-posts li:hover::before {
  background: #8fc0e2;
}
.wp-block-latest-posts a {
  color: #4a4036;
  text-decoration: none;
  border-bottom: 1px solid rgba(90, 107, 84, .35);
}
.wp-block-latest-posts a:hover {
  border-bottom-color: #3f4c3a;
}

/* "Latest posts" heading — Uni Neue, dove blue, matching the
   site's other sub-headings rather than Divi's default grey. */
.single-post .et_pb_widget_area h2.wp-block-heading {
  font-family: UniNeueRegular, sans-serif;
  font-weight: normal;
  color: #6ba8d4;
}

/* Divi gives every stacked widget a large default bottom margin
   (~51px), which reads as a much bigger gap than intended below
   both the heading and the Support pill above it. Targeting each
   specific widget wrapper via :has() closes each gap individually
   without disturbing normal spacing elsewhere in the sidebar. */
.single-post .et_pb_widget_area .et_pb_widget:has(> h2.wp-block-heading) {
  margin-bottom: 0.4em;
}
.single-post .et_pb_widget_area .et_pb_widget:has(> .support-pill) {
  margin-bottom: 1.6em;
}

/* Divi's default 1px border between the sidebar and main content
   column — invisible while the sidebar was empty, showing as a
   full-height line once it had content. Removed here; leave this
   in even if you've already switched it off via a Divi Design-tab
   setting on the module itself, since the two won't conflict. */
.single-post .et_pb_widget_area {
  border-right: none;
}

/* yoast breadcrumb styling */
.calm-breadcrumb {
  font-family: "DM Sans", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8278;
  margin-bottom: 0.4rem;
}
.calm-breadcrumb a,
.calm-breadcrumb a:hover {
  color: #8a8278;
  text-decoration: none !important;
}
.calm-breadcrumb a:hover { color: #3a352e; }
/* make sidebar menu sticky */
@media (min-width: 981px) {
  #sidebar {
    position: sticky;
    top: 100px;        /* clears your fixed header — adjust to taste */
    align-self: flex-start;
  }
}
/* Listen panel */
.listen-block { margin: 1.5rem 0 2.5rem; }
.listen-pill, .support-pill, .details-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1rem;
  background: transparent;
  border: 1.5px solid #8fc0e2;
  border-radius: 999px;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  transition: all 0.2s ease;
  text-decoration: none;
}
.support-pill { margin-top: 0.6rem; }
.listen-pill:hover, .support-pill:hover, .details-pill:hover { background: #eef6fb; }
.listen-pill:hover .listen-text,
.listen-pill:hover .listen-icon,
.support-pill:hover .listen-text,
.support-pill:hover .listen-icon,
.details-pill:hover .listen-text,
.details-pill:hover .listen-icon { color: #3a322a; }
.listen-pill:hover .listen-time { color: #5a5048; }
.support-pill, .support-pill:hover,
.support-pill .listen-text {
  text-decoration: none !important;
}
.details-pill, .details-pill:hover,
.details-pill .listen-text {
  text-decoration: none !important;
}
.listen-icon { color: #8fc0e2; display: flex; }
.listen-text {
  font-size: 0.95rem;
  font-weight: 400;
  color: #4a4138;
  line-height: 1;
}
.listen-time {
  font-size: 0.85rem;
  color: #9a9085;
  line-height: 1;
}
/* ============================================================
   ORDERED-LIST PANEL — now opt-in only via .calm-list-boxed
   CHANGED 3 July 2026: the boxed cream/circled-counter treatment
   used to apply automatically to every unclassed <ol> in
   .entry-content. That's been removed - bare <ol>s now render
   with no custom styling at all (plain browser defaults: solid
   decimal numbers, no background, no border, browser's own
   indent). The boxed look is ONLY available via the explicit
   .calm-list-boxed class below. Existing live pages using a bare
   <ol> for the boxed look will need class="calm-list-boxed" added
   to keep that appearance - see the class comment below for why.
   ============================================================ */

/* ============================================================
   BOXED LIST PANEL — explicit opt-in  (.calm-list-boxed)
   Added 3 July 2026, and as of the same day the ONLY way to get
   this look - the old blanket .entry-content ol default has been
   removed (see note above). Cream panel, taupe left rule, circled
   counters: dark-brown outline, dark-brown numeral, white fill.
   USE: <ol class="calm-list-boxed">
   Uses its own counter name (ol-circle-b) so nesting can't
   collide with anything else.
   ============================================================ */
.entry-content ol.calm-list-boxed {
  list-style: none !important;
  counter-reset: ol-circle-b;
  padding: 1.4em 1.8em 1.4em 2.2em !important;
  margin: 1.8em 0 !important;
  background: #f6f4ee;
  border-radius: 4px;
  border-left: 3px solid #c7c0b1;
}
.entry-content ol.calm-list-boxed li {
  counter-increment: ol-circle-b;
  position: relative;
  padding-left: 2.6em !important;
  margin-bottom: 0.9em;
}
.entry-content ol.calm-list-boxed li::before {
  content: counter(ol-circle-b);
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 1.7em;
  height: 1.7em;
  border: 1.5px solid #c7c0b1;
  border-radius: 50%;
  background: #ffffff;
  color: #9a8f7d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "DM Sans", sans-serif;
  font-size: 0.82rem;
  line-height: 1;
}

/* ============================================================
   ALL-PATHWAYS INDEX  (/all-pathways/)
   Scoped under .calm-index — entirely separate from the
   .calm-technique panels on /meditation etc, so changes here
   do NOT affect those pages.
   Each category is a left-bordered group (no background); the
   taupe rule aligns with the heading top and the last link.
   Techniques are a chevron-circle list in the darker brown.

   NUMBERING: now driven by a manual data-n attribute on each
   .ct-cat-title, NOT a CSS counter. This survives the index
   being split across separate Divi Text modules (each module
   has its own .calm-index wrapper, which would otherwise reset
   an auto counter back to 1). Set data-n="1", data-n="2", etc.
   on each <h4 class="ct-cat-title"> in the HTML.
   ============================================================ */
.calm-index .ct-cat{
  background: none;
  border-left: none;
  border-radius: 0;
  padding: 0;
  margin: 0 0 1.8em;
}
.calm-index .ct-cat-title{
  display: flex;
  align-items: center;
  gap: 0.55em;
  margin: 0 0 0.4em;
  /* CHANGED 3 August 2026: was UniNeueBook with no weight override,
     which risked inheriting the browser's default bold for h4 and
     faux-bolding a font with no true bold cut. UniNeueRegular at
     an explicit normal weight avoids that, same fix as the pathway
     card titles above. */
  font-family: UniNeueRegular, sans-serif !important;
  font-weight: normal !important;
  color: #6ba8d4 !important;
  font-size: 24px !important;
}
.calm-index .ct-cat-title a{
  font-family: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.calm-index .ct-cat-title a:hover{
  color: #4a87b8 !important;
}
.calm-index .ct-cat-title:before{
  content: attr(data-n);         /* manual number — set data-n="1" etc on the title */
  flex: 0 0 auto;
  width: 1.7em;
  height: 1.7em;
  border: 1.5px solid #c7c0b1;
  border-radius: 50%;
  background: #ffffff;
  color: #9a8f7d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "DM Sans", sans-serif;
  font-size: 0.62em;
  line-height: 1;
}
.calm-index .ct-cat-intro{
  margin: 0 0 0.7em;
  color: #6f6a5f;
  max-width: 40em;
}
.calm-index ul.ct-list{
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0;
}
.calm-index ul.ct-list li{
  list-style: none !important;
  position: relative;
  padding-left: 16px;
  margin: 0 0 0.3em;
}
.calm-index ul.ct-list li:last-child{ margin-bottom: 0; }
.calm-index ul.ct-list li:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: #b8d8ee;           /* lighter dove blue at rest */
  transition: background .18s ease;
}
.calm-index ul.ct-list li:hover:before{
  background: #8fc0e2;           /* darker dove blue on hover */
}
.calm-index ul.ct-list li a{
  color: #5f5848;
  text-decoration: none;
  border-bottom: 1px solid #cfc8b9;
}
.calm-index ul.ct-list li a:hover{
  border-bottom-color: #5f5848;
}

/* centres link pills */
.listen-block { text-align: center; }

/* ============================================================
   ALL-TOPICS INDEX — "still being written" ochre marker
   Added 6 August 2026. Unpublished Coping-with topics on the
   All-topics index (/coping-with/all-topics/) use the same
   .calm-index ul.ct-list li structure as published ones, but
   aren't wrapped in <a> since there's nowhere to link to yet.
   .topic-pending overrides the blob colour to ochre and mutes
   the text so these plainly read as "not live yet" rather than
   looking like broken links.
   ============================================================ */
.calm-index ul.ct-list li.topic-pending:before {
  background: #eec690;
}
.calm-index ul.ct-list li.topic-pending {
  color: #8a857a;   /* same muted tone used elsewhere for de-emphasised text, e.g. .ct-book */
}

/* Standalone ochre marker for the "still being written" note
   above the category list — same dot, not inside a <li> so it
   needs its own small inline-block version rather than the
   absolutely-positioned ::before used in the list itself. */
.topic-pending-marker {
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background: #eec690;
  margin-right: 0.35em;
  vertical-align: middle;
}

/* ============================================================
   LISTEN PANEL — pill sub-group + caption note
   Added 17 July 2026 for the "Deep dive*" pill pattern: a pill
   that needs a small caption underneath it (e.g. "*TO FOLLOW"
   while a deep-dive PDF hasn't been published yet). .pill-group
   wraps the pill + its note so they stack and centre together
   without disturbing the spacing of the other listen-block pills.
   ============================================================ */
.listen-block .pill-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 0.6rem;
}
.listen-block .pill-note {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9a9a9a;
}

/* ============================================================
   RECOMMENDED READING — book cover + text pairing
   Added 17 July 2026. A small cover thumbnail sits beside each
   book's descriptive paragraph, breaking up the text column.
   Cover images must come from Amazon's own SiteStripe tool
   (compliant with Associates terms) — never hotlinked from
   elsewhere or AI-generated, since cover art is copyrighted.
   ============================================================ */
.entry-content .reading-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 1.4em 0;
}
.entry-content .reading-cover {
  width: 80px;
  height: auto;
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  flex-shrink: 0;
}
@media (max-width: 520px) {
  .entry-content .reading-item {
    flex-direction: column;
  }
  .entry-content .reading-cover {
    width: 70px;
  }
}

/* Larger cover variant for the /books/ reference pages, where there's
   room for a proper feature-sized image rather than the 80px thumbnail
   used alongside pathway page text. Add alongside reading-cover:
   class="reading-cover reading-cover-lg" */
.entry-content .reading-cover-lg {
  width: 250px;
}
@media (max-width: 650px) {
  .entry-content .reading-cover-lg {
    width: 160px;
  }
}

/* ============================================================
   CALM BOOKS PAGES  (/books/ and its letter-range pages)
   Matches the look of the /sources/ category pages: blue Uni
   Neue page heading, a pill link back to the index, and each
   book title styled like the /sources/ page's h3 category
   headings. Class-based (not page-ID-scoped like /sources/)
   since page IDs weren't known when this was written.
   ============================================================ */
.calm-books-h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
  font-weight: normal !important;
}

/* ============================================================
   GENERAL PAGE HEADING  (.calm-archive-h1)
   Added 26 July 2026; widened to a general-purpose, site-wide
   H1 class on 27 July 2026. Visually identical to .calm-books-h1
   (Uni Neue Book, dove blue, 36px, normal weight), but kept as
   its own selector rather than sharing one with .calm-books-h1,
   so either can be restyled later without affecting the other.
   Originally introduced for the Journal category archive
   template, but not scoped to it in any way — use this class for
   the page heading on any page site-wide that wants this
   treatment (e.g. standalone reference pages like "How to find
   a therapist"), not just archive-style listings.
   ============================================================ */
.calm-archive-h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
  font-weight: normal !important;
}

/* ============================================================
   H4 SUB-HEADINGS
   Added 27 July 2026, originally matching the /books/ page h3
   treatment (dove blue, 19px). Changed same day to dark grey at
   22px (+15%) instead — dove blue read too similar to the body
   links and the standfirst's left rule; dark grey gives more
   separation while keeping the distinct Uni Neue Regular family.
   Covers "How to do it", "Where it comes from", "Worth knowing"
   on pathway pages, and any h4 on other content pages. Scoped to
   content areas (.entry-content, .calm-technique, .single-
   pathway) rather than a bare h4 selector, so this can't reach
   into sidebar widgets or other theme chrome that also happens
   to use an h4 somewhere. Widen the selector list here if a new
   content template needs it too.
   ============================================================ */
.entry-content h4,
.calm-technique h4,
.single-pathway h4,
.single-coping h4 {
  font-family: UniNeueRegular, sans-serif !important;
  font-weight: normal !important;
  font-size: 22px !important;      /* was 19px, +15% (~21.85px, rounded) */
  color: #3a352e !important;       /* was #6ba8d4 (dove blue) — now dark grey */
}

.calm-books-h3 {
  font-family: UniNeueRegular, sans-serif !important;
  font-weight: normal !important;
  font-size: 19px !important;
  line-height: 1.35;
  color: #6ba8d4 !important;
  margin: 0 0 0.3em !important;
  padding-bottom: 0;
}
.calm-books-h3 a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.calm-books-h3 a:hover {
  color: #4a87b8 !important;
}

/* ============================================================
   PULL-QUOTE  (.calm-quote)
   A modifier that adds only a pale dove-blue left rule and tight
   spacing — it sets NO type styling, so it inherits whatever the
   element already is. On the placebo page it's applied alongside
   ct-lede (<p class="ct-lede calm-quote">), so the quote keeps
   the lede's font, size and darker grey and just gains the rule.
   Apply it to any element to mark a lifted line. Use sparingly —
   one per page, on the single strongest line.
   ============================================================ */
.entry-content .calm-quote {
  margin: 1em 0;
  padding: 0 0 0 0.55em;
  border-left: 1.5px solid #b8d8ee;
}
/* Kill the extra gap above the quote: the preceding paragraph's
   bottom margin stacks on top of the quote's top margin, making
   the space above read larger than below. Zeroing the top margin
   lets the paragraph's own bottom margin set the gap, matching
   the space below. */
.entry-content p + .calm-quote {
  margin-top: 0;
}
/* Space BELOW the quote — forced onto the following paragraph so
   it can't collapse into the quote's own bottom margin, which is
   what kept closing the gap up. !important to beat the theme's
   paragraph spacing. Adjust 1.4em to taste. */
.entry-content .calm-quote + p {
  margin-top: 1.4em !important;
}

/* ============================================================
   STANDFIRST / FEATURE LINE  (.calm-standfirst)
   A set-apart feature paragraph for breaking up long prose —
   the larger lede type PLUS the pale dove-blue left rule, in one
   dedicated class. This replaces the earlier practice of stacking
   <p class="ct-lede calm-quote">, so this device is now
   independent of both the real lede (.ct-lede) and the real
   pull-quote (.calm-quote) and can be restyled without touching
   either. Visually identical to the old ct-lede + calm-quote combo.
   USE: <p class="calm-standfirst">…</p>
   Use sparingly — two or three per page at most; the effect works
   by scarcity. For dividing a page by content, prefer h4 headings
   and the numbered/bulleted panels; this is the grace note on top.
   Old pages still using "ct-lede calm-quote" are fine and can be
   migrated to this class at leisure.
   ============================================================ */
.entry-content .calm-standfirst {
  margin: 1em 0;
  padding: 0 0 0 0.55em;
  border-left: 1.5px solid #b8d8ee;
  font-size: 1.04rem;
  line-height: 1.45;
  color: #46443f;
}
/* Match the quote's spacing behaviour: no extra gap above when a
   paragraph precedes, and a forced gap below so it can't collapse. */
.entry-content p + .calm-standfirst {
  margin-top: 0;
}
.entry-content .calm-standfirst + p {
  margin-top: 1.4em !important;
}
/* Tighten the gap when calm-standfirst follows an h4 directly (the
   "first paragraph under a sub-heading" pattern, adopted 14 July 2026)
   — the rule above only fires after a <p>, so h4 + standfirst was
   falling back to the full 1em top margin on top of the h4's own
   bottom margin, reading as too much space. */
.entry-content h4 + .calm-standfirst {
  margin-top: 0.3em;
}

/* ============================================================
   STANDFIRST — SECONDARY USE (AUTOMATIC)
   Added 5 July 2026.
   Any calm-standfirst that comes after another one on the same
   page shrinks automatically via this sibling selector. Needs no
   class, works retroactively on all existing pathway posts
   without editing any of their HTML.
   ============================================================ */
.entry-content p.calm-standfirst ~ p.calm-standfirst {
  font-size: 0.96rem;
  line-height: 1.5;
}

/* ============================================================
   STANDFIRST — SECONDARY USE (MANUAL)  (.calm-standfirst-sub)
   Split into its own rule 15 July 2026 — was previously combined
   with the automatic sibling rule above (same size/line-height).
   Now independent, so this can be resized without affecting the
   automatic "second standfirst on the page" case.
   USE: <p class="calm-standfirst calm-standfirst-sub">…</p>
   ============================================================ */
.entry-content .calm-standfirst.calm-standfirst-sub {
  font-size: 0.92rem;
  line-height: 1.5;
}

/* ============================================================
   PATHWAY CPT SUPPORT
   The technique posts are now a custom post type (pathway),
   so the body class is .single-pathway, not .single-post.
   Extend the post-scoped rules to cover both.
   ALSO EXTENDED 3 August 2026 to .single-coping: the "Coping
   with…" custom post type reuses the same look (no date, no
   blog sidebar, clean single-topic layout) as pathway pages, so
   every rule in this section is extended to cover both post types.
   ============================================================ */

/* Heading font + colour on pathway pages (mirrors .single-post rule) */
.single-pathway h1.entry-title,
.single-pathway .et_pb_title_container h1,
.single-coping h1.entry-title,
.single-coping .et_pb_title_container h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
}

/* Space between the pathway title and the featured image, and the
   featured-image top spacing (merged into one rule 26 July 2026 —
   previously split into two separate blocks for the same selector).
   Title and image aren't in Divi modules, so this is the spacing
   lever. margin-top pushes the image section down from the title;
   padding-top is pinned to 0 so it can't add further unwanted space
   on top of that margin. Adjust margin-top to taste (1rem subtle,
   2rem roomier). */
.single-pathway h1.entry-title,
.single-coping h1.entry-title {
  margin-bottom: 1rem !important;
}
.single-pathway .et_pb_section_first,
.single-coping .et_pb_section_first {
  margin-top: 1rem !important;
  padding-top: 0 !important;
}

/* Underlined body links (mirrors .single-post rule) */
.single-pathway article a,
.single-coping article a {
  text-decoration: underline;
}

/* Stop the verdict pill wrapping to two lines */
.calm-technique .ct-verdict {
  white-space: nowrap;
}

/* ============================================================
   PATHWAY CATEGORY ARCHIVES — Uni Neue headings
   Scopes the page H1 and card titles (H2) on all pathway-category
   archive pages to Uni Neue, overriding Divi's global Merriweather
   heading rule. .tax-pathway-category covers every category
   archive (contemplation, therapeutic techniques, etc). The double
   selector matches Divi's high-specificity rule
   (.et-db #et-boc .et-l hN) AND a plain fallback, so it wins
   whether or not the heading sits inside the .et-l wrapper.
   H1 takes UniNeueBook and the dove blue, matching the logo and
   single-pathway titles.
   CHANGED 3 August 2026: H2 card titles switched from UniNeueBook
   at font-weight 700 to UniNeueRegular at font-weight normal.
   UniNeueBook has no true bold cut, so 700 was rendering as a
   synthetic/faux bold. UniNeueRegular is the site's genuinely
   heavier second weight (see the H4 sub-headings rule further
   down, which already used it correctly) — using it here at its
   own normal weight gives real bold-ish contrast against body
   text without faking it. (Book was briefly retired site-wide the
   same day in a cost-driven experiment, then restored for H1s only
   — see the @font-face comment above. H2 stays on Regular either
   way, since that swap was about fixing the faux bold, not cost.)
   NOTE: Uni Neue is a self-hosted @font-face font (declared
   above), so it does NOT appear in Divi's Customizer font
   dropdown — that's expected. CSS is the only way to apply it.
   ============================================================ */
.tax-pathway-category.et-db #et-boc .et-l h1,
.tax-pathway-category h1,
.tax-coping-category.et-db #et-boc .et-l h1,
.tax-coping-category h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
}
.tax-pathway-category.et-db #et-boc .et-l h2,
.tax-pathway-category h2,
.tax-coping-category.et-db #et-boc .et-l h2,
.tax-coping-category h2 {
  font-family: UniNeueRegular, sans-serif !important;
  color: #6ba8d4 !important;
  font-weight: normal !important;
}

/* Dove-blue blob before each card title, echoing the index/sidebar
   blobs (#b8d8ee). Inline marker (not absolutely positioned) so it
   sits cleanly at the start of the first line even when a long title
   wraps to two lines. Safe because the cards are the only h2s on
   these category archive pages.
   BLOB SIZE: enlarged ~25% (0.55em -> 0.69em) so it reads more
   strongly against the heading text.
   STYLE: now a ring rather than a solid dot — pale dove-blue
   centre (#eaf4fb) with a 2px border in the heading text colour
   (#6ba8d4) so the marker ties directly to the title. Drop the
   border to 1.5px if it reads too heavy; deepen the centre to
   #dceefa if the pale fill looks empty. */
.tax-pathway-category.et-db #et-boc .et-l h2::before,
.tax-pathway-category h2::before,
.tax-coping-category.et-db #et-boc .et-l h2::before,
.tax-coping-category h2::before {
  content: "";
  display: inline-block;
  width: 0.69em;
  height: 0.69em;
  margin-right: 0.35em;
  border-radius: 50%;
  background: #eaf4fb;              /* pale dove-blue centre */
  border: 1px solid #6ba8d4;       /* matches the heading text */
  vertical-align: middle;
}

/* ============================================================
   Remove the dove-blue blob from the category PAGE heading.
   The page heading (e.g. "Pathways: Therapy tools…") is an h2
   inside a Divi Text module (.et_pb_text_inner), so it was
   catching the card-title ::before blob above. The card titles
   come from the archive loop, NOT a Text module, so excluding
   .et_pb_text_inner h2 strips the blob from the page heading
   only — the cards keep theirs. Double selector mirrors the
   blob rule so this override wins by specificity and source order.
   ============================================================ */
.tax-pathway-category.et-db #et-boc .et-l .et_pb_text_inner h2::before,
.tax-pathway-category .et_pb_text_inner h2::before,
.tax-coping-category.et-db #et-boc .et-l .et_pb_text_inner h2::before,
.tax-coping-category .et_pb_text_inner h2::before {
  content: none !important;
}

/* The category PAGE heading itself (e.g. "Calm category: Contemplation…")
   was inheriting font-weight:700 from the general .tax-pathway-category h2
   rule above, meant for the card titles. Uni Neue Book has no true bold
   cut, so 700 was rendering as a faux/synthetic bold — and no font-size
   was set, so it fell back to Divi's smaller default. Overriding weight
   and size here, scoped to the same .et_pb_text_inner h2 selector used
   above, so the card titles are unaffected. Matches the 36px / normal-
   weight treatment used on the /sources/ page headings.
   UPDATED 3 August 2026: also now sets font-family explicitly to
   UniNeueBook. It used to simply inherit font-family from the general
   .tax-pathway-category h2 rule above — harmless while that rule was
   also Book, but that rule now uses Regular for the card titles, so
   this H1-scale heading needs its own explicit Book declaration to
   stay on the heavier cut rather than silently inheriting Regular. */
.tax-pathway-category.et-db #et-boc .et-l .et_pb_text_inner h2,
.tax-pathway-category .et_pb_text_inner h2,
.tax-coping-category.et-db #et-boc .et-l .et_pb_text_inner h2,
.tax-coping-category .et_pb_text_inner h2 {
  font-family: UniNeueBook, sans-serif !important;
  font-weight: normal !important;
  font-size: 36px !important;
}

/* ============================================================
   JOURNAL CATEGORY ARCHIVES — Uni Neue card titles
   Added 3 August 2026. Same treatment as the PATHWAY CATEGORY
   ARCHIVES block above, applied to the Journal section's three
   category archives (Journal, Book reviews, Wellness watch).
   The page H1 on these archives already uses .calm-archive-h1
   (see that rule above) and needs no change here — this block
   only targets the card titles in the post loop below it, which
   were still inheriting Divi's default Merriweather serif.
   WordPress auto-generates a category-{slug} body class, so each
   archive is targeted individually rather than via a single tax
   class the way .tax-pathway-category covers all pathway
   categories at once. Add a new line here if a further Journal
   sub-category is created later.
   Card markup is h2.entry-title > a (confirmed live), matching
   the pathway cards' structure, so the same selector shape and
   blob treatment apply directly.
   ============================================================ */
.category-journal .entry-title a,
.category-book-reviews .entry-title a,
.category-wellness-watch .entry-title a {
  font-family: UniNeueRegular, sans-serif !important;
  font-weight: normal !important;
  color: #6ba8d4 !important;
}

/* Dove-blue ring blob before each Journal card title, matching the
   pathway card marker exactly. Placed on the h2.entry-title itself
   (not the inner <a>) so it sits before the link text rather than
   inside it. */
.category-journal h2.entry-title::before,
.category-book-reviews h2.entry-title::before,
.category-wellness-watch h2.entry-title::before {
  content: "";
  display: inline-block;
  width: 0.69em;
  height: 0.69em;
  margin-right: 0.35em;
  border-radius: 50%;
  background: #eaf4fb;              /* pale dove-blue centre */
  border: 1px solid #6ba8d4;        /* matches the heading text */
  vertical-align: middle;
}

/* ============================================================
   ALL-PATHWAYS LINK — under the category archive heading
   A single quiet pill linking back to the full index, in place
   of the abandoned 17-category link strip. Uses the same dove-blue
   border (#8fc0e2) and hover wash (#eef6fb) as the listen pills
   and sidebar nav, so it sits consistently with the pill family.
   Goes in a Text module under the heading in the category template.
   ============================================================ */
.calm-all-link {
  margin: 0 0 2em;
}

/* On sources pages the 2em bottom margin above is unwanted — the
   "All reference sources" pill should sit close to the heading below
   it. Scoped so category archive pages ("All pathways" pill) keep
   their original spacing. */
.page-id-2378 .calm-all-link,
.parent-pageid-2378 .calm-all-link {
  margin-bottom: 0;
}
.calm-all-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 1rem;
  font-family: "DM Sans", sans-serif;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #6ba8d4;
  border: 1.5px solid #8fc0e2;
  border-radius: 999px;
  text-decoration: none !important;
  border-bottom: 1.5px solid #8fc0e2 !important;
  transition: background 0.2s ease, color 0.2s ease;
}
.calm-all-link a:hover {
  background: #eef6fb;
  color: #4a87b8;
}
.calm-all-link a span {
  transition: transform 0.2s ease;
}
.calm-all-link a:hover span {
  transform: translateX(2px);
}

/* ============================================================
   SOURCES LINK — standalone line below the ct-related panel
   Sits outside .calm-technique .ct-related entirely (own <p>
   after the panel's closing </div>), right-aligned, styled to
   match the standard .calm-technique a treatment (sage-green
   border-bottom underline, not text-decoration) rather than the
   panel's own #4a4036 link colour.
   ============================================================ */
.calm-sources-link {
  text-align: right;
  margin: 0.6em 0 0;
}

.calm-sources-link a {
  color: #4a4036;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(90, 107, 84, .35);
  transition: border-color .2s, color .2s;
}

.calm-sources-link a:hover {
  color: #3f4c3a;
  border-bottom-color: #3f4c3a;
}

/* ============================================================
   SOURCE NOTE — Journal posts only
   Added 26 July 2026. An italic source citation with the "Read
   the study/report" link run on at the end of the same sentence,
   left-aligned — used instead of .calm-sources-link (which
   right-aligns and isn't italic) for Journal posts where the
   citation and the outbound link are one continuous note rather
   than a standalone line.
   ============================================================ */
.calm-source-note {
  margin-top: 1.4em;
}

/* ============================================================
   SOURCES PAGE  (/sources/)
   Deliberately plain — no .calm-technique panel styling (no
   background, no border). Since 3 July 2026 the boxed ol look is
   opt-in only (.calm-list-boxed), so this no longer needs to
   override anything — plain <ol>/<ul> here just use .calm-list
   as normal. Numbers are bold, hanging to the left of the text —
   no box, no background.
   ============================================================ */
.calm-sources {
  max-width: 100%;
  margin: 0;
  font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
  font-size: 14px;
  line-height: 1.5em;
  font-weight: 500;
  color: #666;
}

.calm-sources h3 {
  font-family: UniNeueRegular, sans-serif !important;
  font-weight: normal !important;
  font-size: 24px !important;
  margin: 0;
  color: #6ba8d4 !important;
}
.calm-sources h3 a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.calm-sources h3 a:hover {
  color: #4a87b8 !important;
}

/* ============================================================
   SOURCES PAGES — H1 heading
   Covers both the /sources/ index page itself (page-id-2378) and
   all 17 category child pages (parent-pageid-2378, added by WP
   automatically to every child of that page).
   CORRECTED 17 July 2026: the previous rule used page-id-1522,
   which was stale — the actual current page ID is 2378 (confirmed
   live). It also targeted h1.entry-title / .et_pb_title_container
   h1, but on these pages the heading is a plain <h1> typed directly
   into a Divi Text module (inside .et_pb_text_inner) with no class
   at all — confirmed live on both /sources/ and /sources/contemplation/.
   Targeting that plain h1 directly instead.
   ============================================================ */
.page-id-2378 .et_pb_text_inner h1,
.parent-pageid-2378 .et_pb_text_inner h1 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 36px !important;
}

/* ============================================================
   PLAIN LIST  (.calm-list)
   A general-purpose utility for anywhere on the site you want a
   plain numbered or bulleted list instead of the boxed panel
   style that .entry-content ol/ul use by default. Apply directly
   to the <ol> or <ul> tag: <ol class="calm-list"> or
   <ul class="calm-list">.
   Uses the browser's OWN native markers (list-style: decimal or
   disc) rather than a manual counter, so alignment and wrapped-
   line indentation are handled correctly without any positioning
   hacks. IMPORTANT: explicitly kills the old circle-counter
   ::before from the global .entry-content ol rule (content: none)
   — that ::before fires independently of list-style and will
   double up with the native marker if not switched off.
   ============================================================ */
.entry-content ol.calm-list,
.entry-content ul.calm-list {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding-left: 1.3em !important;
  margin: 0 0 0.3em !important;
}
.entry-content ol.calm-list { list-style: decimal !important; }
/* Unordered lists no longer use a native marker at all — see the
   custom ::before blob block below, which replaces it. */
.entry-content ul.calm-list {
  list-style: none !important;
  padding-left: 0 !important;
}

.entry-content ol.calm-list li,
.entry-content ul.calm-list li {
  counter-increment: none !important;
  padding-left: 0.3em !important;
  margin-bottom: 0.85em;
  font-size: 14px;
  line-height: 1.7em;
  font-weight: 500;
  color: #666;
}

.entry-content ol.calm-list li::before {
  content: none !important;
}

.entry-content ol.calm-list li::marker {
  font-weight: 700;
  color: #6ba8d4;       /* was #2b2b28 (dark) — now the usual dove blue */
}
/* Closes the gap between the number and the text — the native
   marker box already adds its own small gap, so the shared 0.3em
   padding-left above was stacking on top of that. Overriding to 0
   here leaves just the browser's own marker gap. */
.entry-content ol.calm-list li {
  padding-left: 0 !important;
}

/* ============================================================
   UNORDERED .calm-list BULLET — custom ::before blob
   Rebuilt 27 July 2026, replacing the earlier native ::marker
   approach. A native marker box can't be pulled in close to the
   text or aligned to the x-height — this can, matching the same
   ::before blob pattern already used for .ct-related, .calm-index
   ul.ct-list, and .source-list elsewhere on the site.
   - position: relative on the <li> so the blob can be positioned
     against it directly
   - padding-left set here (overrides the shared 0.3em above) to
     leave room for the blob plus a tight gap to the text
   - top: 0.5em roughly centres the blob on the text's x-height
     within the 1.7em line-height set above — nudge up/down half
     a pixel at a time if it still reads off against live text
   - 12px diameter, double the old default marker size
   ============================================================ */
.entry-content ul.calm-list li {
  position: relative;
  padding-left: 18px !important;
}
.entry-content ul.calm-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #b8d8ee;
}

/* Sources pages only: tighter spacing between entries than the
   general-purpose .calm-list utility uses elsewhere. The blob
   itself (size, position) is now controlled by the base ::before
   rule above — this file no longer sets a bullet size here, since
   the old ::marker approach it targeted was replaced with the
   custom ::before blob on 27 July 2026.
   Scoped to .calm-sources so pathway pages are unaffected. */
.calm-sources ul.calm-list li,
.calm-sources ol.calm-list li {
  margin-bottom: 0.5em !important;
  line-height: 1.5em !important;
}

/* ============================================================
   SOURCES PAGE — CITATION LIST, rebuilt from scratch (15 July)
   Deliberately independent of .calm-list and .calm-sources —
   every value is set explicitly here so there's no cascade or
   specificity to debug. Use class="source-list" on the <ul> in
   each sources module instead of "calm-list" going forward.
   ============================================================ */
.source-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif !important;
}
.source-list li {
  position: relative;
  margin: 0 0 6px 0 !important;
  padding: 0 0 0 15px !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 500 !important;
  color: #666 !important;
}
.source-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b8d8ee;
}

.calm-list a {
  color: #5a6b54;
  text-decoration: none;
  border-bottom: 1px solid rgba(90, 107, 84, .35);
  transition: border-color .2s, color .2s;
}
.calm-list a:hover {
  color: #3f4c3a;
  border-bottom-color: #3f4c3a;
}

/* ============================================================
   CATEGORY-ARCHIVE CARDS — dot before the category label
   Small blue dot before "Contemplation" (the .post-meta tag link)
   on each card, matching the sidebar-menu blob styling. Scoped to
   .tax-pathway-category .post-meta so it can't affect post-meta on
   any other template (e.g. blog post bylines/dates).
   Added 15 July 2026.
   ============================================================ */
.tax-pathway-category .et_pb_post p.post-meta a::before,
.tax-coping-category .et_pb_post p.post-meta a::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 50%;
  background: #b8d8ee;
  vertical-align: middle;
}

/* link styling */
.single-pathway .entry-content p a,
.single-coping .entry-content p a {
  color: rgb(70, 68, 63);
  text-decoration: none;
  border-bottom: 1px solid rgb(184, 216, 238);
}

.single-pathway .entry-content p a:hover,
.single-coping .entry-content p a:hover {
  border-bottom-color: rgb(96, 154, 194);
}

/* book covers */
.reading-item > *:first-child {
  flex: 0 0 114px !important;
}

/* book pills */
.calm-shelf-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.calm-shelf-links .calm-all-link {
  margin: 0;
}

/* affiliate disclosure line */
.calm-disclosure {
  font-size: 13px;
  color: rgba(74, 64, 54, 0.6);
  margin-top: 10px;
}

/* "Recommended on" backlink line */
.calm-books-source {
  font-size: 13px;
  color: rgba(74, 64, 54, 0.6);
  margin-top: 0;
  position: relative;
  padding-left: 18px;
}

.calm-books-source::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8.83px;
  height: 8.83px;
  border-radius: 50%;
  background: rgb(184, 216, 238);
}

/* ============================================================
   ALL-TOPICS / ALL-PATHWAYS INDEX - tighter list-item spacing
   Added 6 August 2026. .ct-list li was inheriting a 26px
   line-height from a parent rule (roughly 1.86x the 14px font
   size) - far more than the list needs for single-line items,
   and the main contributor to the visible gap between entries
   (bigger than the 0.3em margin-bottom already in place).

   UPDATED same day: the first pass (line-height 1.4, margin
   0.2em) read as too cramped, and left the blob marker sitting
   too low - its top: 0.62em offset was tuned for the original,
   taller line-height, so it no longer centred correctly against
   the shorter line box. Eased the spacing back out slightly and
   added a matching top override for the blob so it re-centres
   against the new line-height.
   ============================================================ */
.calm-index ul.ct-list li {
  line-height: 1.6;
  margin-bottom: 0.25em;
}
.calm-index ul.ct-list li:before {
  top: 0.5em;
}


/* ============================================================
   SOURCES CATEGORY PAGES — H2 page heading
   Added 6 August 2026. The page heading on sources category
   pages (e.g. "References: Coping with Uncertainty & worry" on
   /sources/uncertainty-worry/) was demoted from H1 to H2, to sit
   correctly below the site's actual page-level H1 semantically.
   That demotion lost all styling, since the existing rule for
   this heading only ever targeted h1 - Divi's global heading
   default (Merriweather serif, black) took over instead.
   This adds the equivalent h2 rule, using the same selector
   pattern (page-id-2378 for the /sources/ index itself,
   parent-pageid-2378 for every category page beneath it, which
   WordPress adds automatically to any child of that page).
   Sized between the H1 (36px) and the "Catastrophising"-style
   H3 subheading (.calm-sources h3, 24px) at 30px, same font and
   colour as both so the hierarchy still reads as one family.
   ============================================================ */
.page-id-2378 .et_pb_text_inner h2,
.parent-pageid-2378 .et_pb_text_inner h2 {
  font-family: UniNeueBook, sans-serif !important;
  color: #6ba8d4 !important;
  font-size: 30px !important;
  font-weight: normal !important;
}