/* ── Blockquote — theological quotes ────────────────────────── */
blockquote {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 400;
    color: #4a4a4a;
    border-left: 3px solid #c0392b;
    padding: 0.75em 0 0.75em 1.25em;
    margin: 1.5em 0;
}
blockquote cite,
blockquote footer {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-style: normal;
    font-size: 0.85em;
    color: #777;
    display: block;
    margin-top: 0.5em;
}

/* ── Logo max-height ─────────────────────────────────────────── */
.site-header-inner .custom-logo,
.site-header-inner img.custom-logo {
    max-height: 80px;
    width: auto;
    height: auto;
}

/* ── Topic strip (Row 2) ─────────────────────────────────────── */
.ttdf-topic-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
}
.ttdf-topic-strip a {
    font-family: 'Lato', system-ui, Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #777777;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    padding: 0 14px;
    white-space: nowrap;
}
.ttdf-topic-strip a:hover {
    color: #c0392b;
}
.ttdf-topic-strip a + a {
    border-left: 1px solid #cccccc;
}

/* ── Navigation row border-bottom (Row 3) ────────────────────── */
.site-bottom-header-wrap {
    border-bottom: 1px solid #e5e5e5 !important;
}

/* ── Mobile header: swap desktop → mobile header at ≤1024px ── */
/* Kadence renders desktop and mobile headers as separate DOM elements:
   #main-header (desktop rows: logo, topic strip, nav)
   #mobile-header (mobile: logo + hamburger)
   Hide the desktop header and show the mobile header on tablet/mobile. */
@media (max-width: 1024px) {
    #main-header { display: none !important; }
    #mobile-header { display: block !important; }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — Phase B Task 6 (2026-05-26)
   Row 1: dark bg #2d2d2d | Row 2: copyright bar #1a1a1a
═══════════════════════════════════════════════════════════════ */

/* ── Row 1 general text colour ── */
#colophon .site-middle-footer-wrap,
#colophon .site-middle-footer-wrap p {
  color:#ffffff;
}

/* ── Column 1: brand logo ── */
.ttdf-footer-logo {
  max-height:70px;
  width:auto;
  display:block;
  margin-bottom:14px;
}

/* ── Column 1: tagline ── */
.ttdf-footer-tagline {
  font-size:14px;
  color:#777777;
  margin:0 0 18px;
  line-height:1.5;
}

/* ── Column 1: social icons row ── */
.ttdf-footer-social {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
}
.ttdf-footer-social-link {
  color:#ffffff !important;
  display:inline-flex;
  align-items:center;
  text-decoration:none !important;
  line-height:1;
  opacity:0.7;
  transition:opacity .15s ease;
}
.ttdf-footer-social-link:hover {
  color:#ffffff !important;
  opacity:1;
}
.ttdf-footer-social-link svg {
  display:block;
  flex-shrink:0;
  width:24px !important;
  height:24px !important;
}

/* ── Columns 2 & 3: column headings ── */
.ttdf-footer-col-heading {
  font-size:12px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  color:#c8a96e !important;
  margin:0 0 14px !important;
  padding:0 !important;
  border:none !important;
  line-height:1.3 !important;
}

/* ── Columns 2 & 3: link lists ── */
.ttdf-footer-link-list {
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.ttdf-footer-link-list li {
  margin:0 !important;
  padding:0 !important;
  line-height:2 !important;
}
.ttdf-footer-link-list a {
  font-size:14px !important;
  color:#bbbbbb !important;
  text-decoration:none !important;
  line-height:2 !important;
  display:block;
}
.ttdf-footer-link-list a:hover {
  color:#ffffff !important;
  text-decoration:none !important;
}

/* ── Column 3: divider between category links and page links ── */
.ttdf-footer-divider {
  border:none;
  border-top:1px solid #555555;
  margin:8px 0 10px;
}

/* ── Row 2: copyright bar text centred ── */
#colophon .site-bottom-footer-wrap .footer-html,
#colophon .site-bottom-footer-wrap .footer-html p {
  text-align:center;
  font-size:12px;
  color:#777777;
  margin:0;
  line-height:1.5;
}

/* ── Prevent Kadence default link colour overriding footer links ── */
#colophon .site-middle-footer-wrap
  a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)) {
  color:#bbbbbb;
  text-decoration:none;
}
#colophon .site-middle-footer-wrap
  a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)):hover {
  color:#ffffff;
}

/* Col 1 (brand): always centred at all viewport sizes */
#colophon .site-middle-footer-inner-wrap .site-footer-section:first-child {
  text-align:center;
}
#colophon .site-middle-footer-inner-wrap .site-footer-section:first-child .ttdf-footer-social {
  justify-content:center;
}
#colophon .site-middle-footer-inner-wrap .site-footer-section:first-child .ttdf-footer-logo {
  margin-left:auto;
  margin-right:auto;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE: columns stack vertically
   Cols 2+3 left-aligned | full width
═══════════════════════════════════════════════════════════ */
@media (max-width:1024px) {

  /* Cols 2 & 3: left-aligned, full width */
  #colophon .site-middle-footer-inner-wrap .site-footer-section:not(:first-child) {
    text-align:left;
    width:100%;
  }

  /* Space between stacked columns */
  #colophon .site-middle-footer-inner-wrap .site-footer-section {
    margin-bottom:32px;
  }
  #colophon .site-middle-footer-inner-wrap .site-footer-section:last-child {
    margin-bottom:0;
  }
}

/* =====================================================
   OUR CONTENT PAGE — Phase B Task 7 (2026-05-26)
   border-radius: 0 throughout (editorial/flat spec)
   Full-width breakout: calc(50% - 50vw) technique
   ===================================================== */

/* Hide default Kadence entry-header on our-content page — replaced by custom hero */
body.page-id-2069 .entry-header,
body.page-id-2069 .entry-title {
    display: none !important;
}
/* Allow negative-margin breakout to work inside Kadence content area */
body.page-id-2069 .entry-content {
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
}
body.page-id-2069 article {
    max-width: none !important;
}

/* Full-width breakout: hero, grid-wrap, support strip */
.ttdf-oc-hero,
.ttdf-oc-grid-wrap,
.ttdf-oc-support {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}

/* ① Hero Banner */
.ttdf-oc-hero {
    background: #2d2d2d;
    padding: 60px 24px;
    text-align: center;
}
.ttdf-oc-hero-title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 42px;
    color: #ffffff;
    font-weight: 700;
    margin: 0 0 16px;
    line-height: 1.2;
}
.ttdf-oc-hero-sub {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 18px;
    color: #c8a96e;
    font-style: italic;
    margin: 0;
    text-align: center;
}

/* ② Intro Paragraph */
.ttdf-oc-intro {
    background: #ffffff;
    padding: 40px 24px 20px;
    text-align: center;
}
.ttdf-oc-intro-text {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.8;
    max-width: 740px;
    margin: 0 auto;
}

/* ③ Grid Wrapper */
.ttdf-oc-grid-wrap {
    background: #f7f5f2;
    padding: 40px 24px 60px;
}

/* 2-column grid, single-column below 768px */
.ttdf-cat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .ttdf-cat-grid {
        grid-template-columns: 1fr;
    }
    .ttdf-oc-hero {
        padding: 48px 20px;
    }
    .ttdf-oc-hero-title {
        font-size: 30px;
    }
    .ttdf-oc-hero-sub {
        font-size: 16px;
    }
}

/* Category Card */
.ttdf-cat-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    border-top: 3px solid #c0392b;
    padding: 28px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ttdf-cat-card:hover {
    border-color: #c0392b;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Card: Category H2 link */
.ttdf-cat-title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 6px;
    line-height: 1.3;
}
.ttdf-cat-title a {
    color: #222222;
    text-decoration: none;
}
.ttdf-cat-title a:hover {
    color: #c0392b;
}

/* Card: Article count */
.ttdf-cat-count {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 13px;
    color: #c0392b;
    margin: 0 0 10px;
}

/* Card: Description */
.ttdf-cat-desc {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: normal;
}

/* Sub-category pills container */
.ttdf-cat-pills {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 16px;
    flex-grow: 1;
    align-content: flex-start;
}

/* Individual pill */
.ttdf-cat-pill {
    display: inline-block;
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 12px;
    background: #f7f5f2;
    color: #555555;
    padding: 4px 10px;
    border-radius: 0;
    text-decoration: none;
    margin: 3px;
    line-height: 1.4;
    transition: background 0.15s ease, color 0.15s ease;
}
.ttdf-cat-pill:hover {
    background: #c0392b;
    color: #ffffff;
}

/* Explore → link — pushed to card bottom via margin-top:auto */
.ttdf-cat-explore {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 13px;
    color: #c0392b;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.03em;
    margin-top: auto;
    padding-top: 12px;
    display: block;
}
.ttdf-cat-explore:hover {
    text-decoration: underline;
    color: #922b21;
}

/* ④ Support Strip */
.ttdf-oc-support {
    background: #2d2d2d;
    padding: 40px 24px;
    text-align: center;
}
.ttdf-oc-support-inner {
    max-width: 640px;
    margin: 0 auto;
}
.ttdf-oc-support-title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 24px;
    color: #ffffff;
    font-weight: 700;
    margin: 0 0 16px;
    line-height: 1.3;
}
.ttdf-oc-support-text {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 15px;
    color: #bbbbbb;
    margin: 0 0 24px;
    line-height: 1.7;
}
.ttdf-oc-support-btn {
    display: inline-block;
    background: #c8a96e;
    color: #2d2d2d;
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 32px;
    border-radius: 0;
    text-decoration: none;
    transition: background 0.15s ease;
}
.ttdf-oc-support-btn:hover {
    background: #b8955a;
    color: #2d2d2d;
}

/* ===================================================== */

/* ============================================================
   CATEGORY ARCHIVE — Phase B Task 9 (2026-05-26)
   State A: parent categories | State B: sub-categories
   Scoped to body.category (WP native class on all cat archives)
   Full-width breakout: calc(50% - 50vw) same as Our Content page
   ============================================================ */

/* Strip Kadence .wrap constraints from inner-wrap on archive pages
   so full-width sections can break out correctly */
body.category #inner-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

/* ── Shared: dark header band ── */
.ttdf-arc-header {
    background: #2d2d2d;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    box-sizing: border-box;
}
.ttdf-arc-header--parent { padding: 48px 0; }
.ttdf-arc-header--sub    { padding: 40px 0; }
.ttdf-arc-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.ttdf-arc-breadcrumb {
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    color: #777;
    margin: 0 0 12px;
    line-height: 1.4;
}
.ttdf-arc-breadcrumb a { color: #777; text-decoration: none; }
.ttdf-arc-breadcrumb a:hover { color: #c8a96e; text-decoration: underline; }
.ttdf-arc-title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-weight: 700;
    color: #fff;
    margin: 0 0 12px;
    line-height: 1.2;
    border: none;
}
.ttdf-arc-header--parent .ttdf-arc-title { font-size: 36px; }
.ttdf-arc-header--sub    .ttdf-arc-title { font-size: 28px; }
.ttdf-arc-desc {
    font-family: 'Lato', sans-serif;
    color: #bbb;
    line-height: 1.7;
    margin: 0 0 10px;
}
.ttdf-arc-header--parent .ttdf-arc-desc { font-size: 16px; max-width: 680px; }
.ttdf-arc-header--sub    .ttdf-arc-desc { font-size: 15px; max-width: 640px; }
.ttdf-arc-count {
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    color: #c8a96e;
    margin: 0;
}

/* ── State A: hero section ── */
.ttdf-arc-hero {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    box-sizing: border-box;
}
.ttdf-arc-hero__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 24px;
    display: flex;
    gap: 32px;
    align-items: flex-start;
}
.ttdf-arc-hero__left  { flex: 0 0 60%; max-width: 60%; }
.ttdf-arc-hero__right { flex: 0 0 40%; max-width: 40%; display: flex; flex-direction: column; }
.ttdf-arc-hero__img-link { display: block; }
.ttdf-arc-hero__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    margin-bottom: 14px;
    border-radius: 0;
}
.ttdf-arc-hero__title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 28px;
    font-weight: 700;
    color: #222;
    line-height: 1.25;
    margin: 6px 0 10px;
    border: none;
}
.ttdf-arc-hero__title a { color: #222; text-decoration: none; }
.ttdf-arc-hero__title a:hover { color: #c0392b; }
.ttdf-arc-hero__more {
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #c0392b;
    text-decoration: none;
}
.ttdf-arc-hero__more:hover { text-decoration: underline; }
.ttdf-arc-sidebar-post {
    padding: 16px 0;
    border-bottom: 1px solid #e5e5e5;
}
.ttdf-arc-sidebar-post:first-child { padding-top: 0; }
.ttdf-arc-sidebar-post:last-child  { border-bottom: none; padding-bottom: 0; }
.ttdf-arc-sidebar-post__title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 15px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    margin: 4px 0 0;
    border: none;
}
.ttdf-arc-sidebar-post__title a { color: #222; text-decoration: none; }
.ttdf-arc-sidebar-post__title a:hover { color: #c0392b; }

/* ── Shared: category label ── */
.ttdf-arc-cat-label {
    display: block;
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #c0392b;
    margin-bottom: 4px;
    text-decoration: none;
}

/* ── State A: sub-category pill strip ── */
.ttdf-arc-subcat-strip {
    background: #f7f5f2;
    margin-left: calc(50% - 50vw);
    width: 100vw;
    box-sizing: border-box;
    padding: 20px 0;
}
.ttdf-arc-subcat-strip__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.ttdf-arc-subcat-label {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
    white-space: nowrap;
}
.ttdf-arc-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ttdf-arc-pill {
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    color: #c0392b;
    border: 1px solid #c0392b;
    padding: 4px 12px;
    text-decoration: none;
    border-radius: 0;
    line-height: 1.4;
    transition: background 0.15s, color 0.15s;
}
.ttdf-arc-pill:hover { background: #c0392b; color: #fff; }
.ttdf-arc-pill__count { opacity: 0.75; font-size: 12px; }

/* ── Shared: post grid ── */
.ttdf-arc-grid-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px 0;
}
.ttdf-arc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* ── Shared: post card ──
   Link rule: image <a> (aria-hidden, tabindex=-1) + title <a> both point to
   permalink. A third empty .ttdf-arc-card__cover <a> is positioned absolute
   over the card (z-index:0) so clicking anywhere on the card navigates to the
   post. Image link and body sit at z-index:1 above it; title link at z-index:2.
   No nested anchors — all three <a> elements are siblings / descendants at
   different levels. See category.php markup.
   overflow:hidden on .ttdf-arc-card__title is NOT on a positioned element, so
   it does NOT clip the cover link's absolute position.               */
.ttdf-arc-card {
    background: #fff;
    border: 1px solid transparent;
    position: relative;
    transition: border-color 0.15s, box-shadow 0.15s;
    border-radius: 0;
}
.ttdf-arc-card:hover {
    border-color: #c0392b;
    box-shadow: 0 2px 12px rgba(192,57,43,0.08);
}
/* Empty stretched link — covers full card; hidden from AT + keyboard */
.ttdf-arc-card__cover {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
}
/* Image link and card body above cover link */
.ttdf-arc-card__img-link {
    display: block;
    position: relative;
    z-index: 1;
}
.ttdf-arc-card__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    border-radius: 0;
}
.ttdf-arc-card__body {
    padding: 14px;
    position: relative;
    z-index: 1;
}
.ttdf-arc-card__title {
    font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    font-size: 16px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    margin: 4px 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    border: none;
}
/* Title link is the primary AT-visible link (z-index:2 above cover) */
.ttdf-arc-card__title a {
    color: #222;
    text-decoration: none;
    position: relative;
    z-index: 2;
}
.ttdf-arc-card__title a:hover { color: #c0392b; }

/* ── Shared: pagination ── */
.ttdf-arc-pagination {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 24px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
}
.ttdf-arc-pagination .page-numbers {
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #222;
    padding: 6px 12px;
    border: 1px solid #e5e5e5;
    text-decoration: none;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    transition: border-color 0.15s, color 0.15s;
}
.ttdf-arc-pagination .page-numbers:hover { border-color: #c0392b; color: #c0392b; }
.ttdf-arc-pagination .page-numbers.current {
    background: #c0392b;
    color: #fff;
    border-color: #c0392b;
}
.ttdf-arc-pagination .page-numbers.dots {
    border-color: transparent;
    pointer-events: none;
}

/* ── Mobile: stack hero, single-column grid ── */
@media (max-width: 768px) {
    .ttdf-arc-header--parent .ttdf-arc-title { font-size: 26px; }
    .ttdf-arc-header--sub    .ttdf-arc-title { font-size: 22px; }
    .ttdf-arc-hero__inner {
        flex-direction: column;
        padding: 24px 16px;
    }
    .ttdf-arc-hero__left,
    .ttdf-arc-hero__right { flex: 0 0 100%; max-width: 100%; }
    .ttdf-arc-hero__right { margin-top: 24px; }
    .ttdf-arc-grid-wrap { padding: 24px 16px 0; }
    .ttdf-arc-grid { grid-template-columns: 1fr; gap: 20px; }
    .ttdf-arc-header__inner { padding: 0 16px; }
    .ttdf-arc-subcat-strip__inner { padding: 0 16px; }
    .ttdf-arc-pagination { padding: 24px 16px; }
}
/* TTDF HOMEPAGE Phase C appended 2026-05-27 — fixed */
body.page-id-11597 #inner-wrap{overflow:visible!important}
body.page-id-11597 .entry-content{padding-left:0!important;padding-right:0!important}
.ttdf-homepage{--fh:'Libre Baskerville',Georgia,serif;--fb:'Lato',sans-serif}
.ttdf-homepage .ttdf-container{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.ttdf-homepage .ttdf-section{padding:48px 0;border-bottom:1px solid #e5e5e5}
.ttdf-homepage .ttdf-section:last-child{border-bottom:none}
.ttdf-homepage .ttdf-full-dark{background:#2d2d2d}
.ttdf-homepage .ttdf-section-label{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #c0392b;margin-bottom:24px;padding-bottom:8px}
.ttdf-homepage .ttdf-section-label>span{font-family:var(--fb);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#222}
.ttdf-homepage .ttdf-label-gold{border-bottom-color:#c8a96e}
.ttdf-homepage .ttdf-label-gold>span{color:#c8a96e}
.ttdf-homepage .ttdf-s7-label{border-bottom:1px dashed #e5e5e5}
.ttdf-homepage .ttdf-s7-label>span{color:#222}
.ttdf-homepage .ttdf-more-link{font-family:var(--fb);font-size:13px;font-weight:700;color:#c0392b;text-decoration:none}
.ttdf-homepage .ttdf-more-link:hover{text-decoration:underline}
.ttdf-homepage .ttdf-cat-label{display:block;font-family:var(--fb);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#c0392b;margin-bottom:6px}
.ttdf-homepage .ttdf-author-line{display:block;font-family:var(--fb);font-size:12px;text-transform:uppercase;color:#777;margin-top:10px}
.ttdf-homepage .ttdf-read-more{display:inline-block;font-family:var(--fb);font-size:13px;font-weight:700;color:#c0392b;text-decoration:none;margin-top:14px}
.ttdf-homepage .clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ttdf-homepage .clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ttdf-homepage .ttdf-s1{border-top:1px solid #e5e5e5}
.ttdf-homepage .ttdf-s1-inner{display:grid;grid-template-columns:60fr 40fr;gap:32px;align-items:start}
.ttdf-homepage .ttdf-s1-feat-img{margin-bottom:14px}
.ttdf-homepage .ttdf-s1-feat-img a{display:block}
.ttdf-homepage .ttdf-s1-hero-bg{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center 25%;display:block}
.ttdf-homepage .ttdf-s1-title{font-family:var(--fh);font-size:32px;font-weight:700;line-height:1.2;color:#222;margin:8px 0 12px}
.ttdf-homepage .ttdf-s1-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s1-title a:hover{color:#c0392b}
.ttdf-homepage .ttdf-s1-excerpt{font-family:var(--fb);font-size:15px;line-height:1.5;color:#444;margin:0}
.ttdf-homepage .ttdf-s1-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5e5e5}
.ttdf-homepage .ttdf-s1-cell{padding:12px;border:1px solid #e5e5e5;box-sizing:border-box}
.ttdf-homepage .ttdf-s1-cell-title{font-family:var(--fh);font-size:15px;font-weight:700;line-height:1.3;color:#222;margin:6px 0 4px}
.ttdf-homepage .ttdf-s1-cell-excerpt{font-family:var(--fb);font-size:12px;line-height:1.5;color:#666;margin:0}
.ttdf-homepage .ttdf-s1-cell-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s2-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:start}
.ttdf-homepage .ttdf-s2-title{font-family:var(--fh);font-size:18px;font-weight:700;line-height:1.3;color:#222;margin:6px 0 8px}
.ttdf-homepage .ttdf-s2-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s2-excerpt{font-family:var(--fb);font-size:14px;line-height:1.5;color:#555;margin:0}
.ttdf-homepage .ttdf-s2-right-post{padding-bottom:16px}
.ttdf-homepage .ttdf-s2-right-divider{border-top:1px solid #e5e5e5;padding-top:16px;padding-bottom:0}
.ttdf-homepage .ttdf-s2-d-row{display:flex;gap:12px;align-items:flex-start}
.ttdf-homepage .ttdf-s2-d-text{flex:1;min-width:0}

.ttdf-homepage .ttdf-s2-right-title{font-family:var(--fh);font-size:15px;font-weight:700;line-height:1.3;color:#222;margin:0 0 6px}
.ttdf-homepage .ttdf-s2-right-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s2-right-excerpt{font-family:var(--fb);font-size:13px;line-height:1.4;color:#555;margin:0}
.ttdf-homepage .ttdf-s3-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.ttdf-homepage .ttdf-s3-card{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.ttdf-homepage .ttdf-s3-title{font-family:var(--fh);font-size:16px;font-weight:700;line-height:1.3;color:#222;margin:0 0 8px;flex:1}
.ttdf-homepage .ttdf-s3-author{font-family:var(--fb);font-size:12px;text-transform:uppercase;color:#777;display:block}
.ttdf-homepage .ttdf-s4-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.ttdf-homepage .ttdf-s4-feat-title{font-family:var(--fh);font-size:24px;font-weight:700;line-height:1.2;color:#222;margin:8px 0 12px}
.ttdf-homepage .ttdf-s4-feat-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s4-excerpt{font-family:var(--fb);font-size:14px;line-height:1.6;color:#555;margin:0}
.ttdf-homepage .ttdf-s4-list-item{padding:16px 0}
.ttdf-homepage .ttdf-s4-list-item:first-child{padding-top:0}
.ttdf-homepage .ttdf-s4-divider{border-bottom:1px solid #e5e5e5}
.ttdf-homepage .ttdf-s4-list-title{font-family:var(--fh);font-size:16px;font-weight:700;line-height:1.3;color:#222;margin:4px 0 0}
.ttdf-homepage .ttdf-s4-list-title a{color:#222;text-decoration:none}
.ttdf-homepage .ttdf-s4-list-title a:hover{color:#c0392b}
.ttdf-homepage .ttdf-s6-inner{max-width:680px;margin:0 auto;border:1px dashed #c0392b;padding:32px;text-align:center}
.ttdf-homepage .ttdf-s6-heading{font-family:var(--fh);font-size:20px;font-weight:700;color:#222;margin:0 0 8px}
.ttdf-homepage .ttdf-s6-sub{font-family:var(--fb);font-size:15px;line-height:1.5;color:#555;margin:0 0 20px}
.ttdf-homepage .ttdf-s6-form{display:flex;flex-direction:column;gap:12px}
.ttdf-homepage .ttdf-s6-email{width:100%;border:1px solid #e5e5e5;padding:12px;font-family:var(--fb);font-size:15px;border-radius:0;box-sizing:border-box;color:#222;outline:none}
.ttdf-homepage .ttdf-s6-email:focus{border-color:#c0392b}
.ttdf-homepage .ttdf-s6-btn{width:100%;background:#c0392b;color:#fff;font-family:var(--fb);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:14px 28px;border:none;border-radius:0;cursor:pointer}
.ttdf-homepage .ttdf-s6-btn:hover{background:#922b21}
.ttdf-homepage .ttdf-s7-row{display:grid;grid-template-columns:repeat(6,1fr);margin-top:16px}
.ttdf-homepage .ttdf-s7-card{padding:24px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;min-height:140px}
.ttdf-homepage .ttdf-s7-topic{font-family:var(--fb);font-size:16px;font-weight:700;text-transform:uppercase;color:#fff;display:block;margin-bottom:10px}
.ttdf-homepage .ttdf-s7-desc{font-family:var(--fb);font-size:12px;line-height:1.4;color:rgba(255,255,255,.75);display:block;flex:1}
.ttdf-homepage .ttdf-s7-explore{font-family:var(--fb);font-size:12px;color:#fff;display:block;margin-top:14px}
.ttdf-homepage .ttdf-s10{border-bottom:none}
.ttdf-homepage .ttdf-s10-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.ttdf-homepage .ttdf-s10-scripture{font-family:var(--fh);font-style:italic;font-size:16px;line-height:1.6;color:#fff;margin:0 0 6px;padding:0;border:none}
.ttdf-homepage .ttdf-s10-cite{font-family:var(--fb);font-size:13px;color:#c8a96e;display:block;margin-bottom:20px;font-style:normal}
.ttdf-homepage .ttdf-s10-body{font-family:var(--fb);font-size:14px;line-height:1.7;color:#bbb;margin:0 0 24px}
.ttdf-homepage .ttdf-s10-cta-card{border:1px dashed #c8a96e;padding:24px}
.ttdf-homepage .ttdf-s10-cta-heading{font-family:var(--fb);font-size:16px;font-weight:700;color:#fff;margin:0 0 16px}
.ttdf-homepage .ttdf-s10-btn{display:inline-block;background:#c8a96e;color:#2d2d2d;font-family:var(--fb);font-size:14px;font-weight:700;padding:14px 28px;text-decoration:none}
.ttdf-homepage .ttdf-s10-btn:hover{background:#b89960;color:#2d2d2d}
.ttdf-homepage .ttdf-s10-bank-card{background:#fff;padding:20px;margin-bottom:20px}
.ttdf-homepage .ttdf-s10-bank-row{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid #e5e5e5;gap:12px}
.ttdf-homepage .ttdf-s10-bank-row:last-child{border-bottom:none}
.ttdf-homepage .ttdf-s10-bank-label{font-family:var(--fb);font-size:12px;text-transform:uppercase;color:#777;flex-shrink:0}
.ttdf-homepage .ttdf-s10-bank-value{font-family:var(--fb);font-size:14px;font-weight:700;color:#222;text-align:right;word-break:break-all}
.ttdf-homepage .ttdf-s10-scan-label{font-family:var(--fb);font-size:11px;text-transform:uppercase;color:#777;text-align:center;margin:0 0 12px;letter-spacing:.06em}
.ttdf-homepage .ttdf-s10-qr{display:block;max-width:180px;height:auto;margin:0 auto 12px}
.ttdf-homepage .ttdf-s10-qr-placeholder{width:180px;height:180px;border:2px dashed #c8a96e;display:flex;align-items:center;justify-content:center;color:#c8a96e;font-family:var(--fb);font-size:12px;line-height:1.4;text-align:center;margin:0 auto 12px;padding:16px;box-sizing:border-box}
.ttdf-homepage .ttdf-s10-upi-labels{font-family:var(--fb);font-size:11px;color:#777;text-align:center;margin:0}
@media(max-width:768px){
.ttdf-homepage .ttdf-section{padding:32px 0}
.ttdf-homepage .ttdf-s1-inner{grid-template-columns:1fr}
.ttdf-homepage .ttdf-s1-title{font-size:24px}
.ttdf-homepage .ttdf-s2-inner{grid-template-columns:1fr;gap:24px}
.ttdf-homepage .ttdf-s3-row{grid-template-columns:unset;display:flex;overflow-x:scroll;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:12px}
.ttdf-homepage .ttdf-s3-card{flex:0 0 280px}
.ttdf-homepage .ttdf-s4-inner{grid-template-columns:1fr;gap:24px}
.ttdf-homepage .ttdf-s6-inner{padding:24px 16px}
.ttdf-homepage .ttdf-s7-row{grid-template-columns:unset;display:flex;overflow-x:scroll;-webkit-overflow-scrolling:touch}
.ttdf-homepage .ttdf-s7-card{flex:0 0 46%;min-width:160px}
.ttdf-homepage .ttdf-s10-inner{grid-template-columns:1fr;gap:32px}
}

/* TTDF Phase C FIXES — appended 2026-05-27 */

/* FIX 8b — Support Us pull-quote */
.ttdf-support-pullquote {
  border-top: 1px solid #c8a96e;
  border-bottom: 1px solid #c8a96e;
  padding: 16px 0;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  font-size: 15px;
  color: #c8a96e;
  line-height: 1.8;
  margin: 20px 0;
}

/* FIX 4/9 — Image placeholder */
.ttdf-img-placeholder {
  width: 100%;
  background: #f7f5f2;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* FIX 5 — Editors Pick rule */
.ttdf-s3-rule {
  border: none;
  border-top: 2px solid #c0392b;
  margin: 4px 0 16px;
}

/* TTDF R2 Grid Overrides */
/* S2 Hero Extended — 3-col grid: belt+suspenders !important */
.ttdf-homepage .ttdf-s2-inner{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:32px}
/* S4 Food for Thought — 50/50 grid: belt+suspenders !important */
.ttdf-homepage .ttdf-s4-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:40px}
/* S9 Pulse — 4 cols desktop, 2 tablet, 1 mobile */
@media(max-width:768px){
  .ttdf-homepage .ttdf-s2-inner{grid-template-columns:1fr!important}
  .ttdf-homepage .ttdf-s4-inner{grid-template-columns:1fr!important}
}
@media(max-width:480px){
}
/* S1 border-bottom removed — CONTINUE READING provides separation */
.ttdf-homepage .ttdf-s1{border-bottom:none!important}
/* pullquote in post 11624 (duplicate of homepage.css for safety) */
.ttdf-support-pullquote{border-top:1px solid #c8a96e;border-bottom:1px solid #c8a96e;padding:16px 0;font-family:'Libre Baskerville',Georgia,serif;font-style:italic;font-size:15px;color:#c8a96e;line-height:1.8;margin:20px 0}

/* TTDF R3: Hide site-title in header */
/* Hide "Truths to die for" text — logo image replaces it */
.site-branding .site-title-wrap,
.site-branding .site-title,
.site-header-item .site-title-wrap,
.site-header-item .site-title {
  display: none !important;
}
/* Ensure logo image is always visible */
.site-branding .custom-logo {
  display: block !important;
  opacity: 1 !important;
  max-height: 80px;
  width: auto;
}

/* Logo size fix — R5b (2026-05-29): SVG has viewBox only, needs explicit height */
.site-branding img.custom-logo { max-width: none !important; width: auto !important; height: 80px !important; }

/* Pulse section — 66/34 layout (2026-06-02) */
.pulse-section{padding:40px 0 48px}
.pulse-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c0392b;padding-bottom:10px;margin-bottom:24px}
.pulse-header .pulse-title{font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#111111;margin:0;font-family:var(--fb)}
.pulse-header .pulse-more{font-size:13px;color:#c0392b;text-decoration:none;font-weight:500;font-family:var(--fb)}
.pulse-header .pulse-more:hover{text-decoration:underline}
.ttdf-pulse-layout{display:flex;gap:30px;align-items:flex-start}
.ttdf-pulse-left{flex:2;min-width:0;display:flex;flex-direction:column;gap:20px}
.ttdf-pulse-right{flex:1;min-width:0}
.ttdf-pulse-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pulse-card{display:flex;flex-direction:column}
/* Search By Topic — editorial list (R5 2026-05-29) */
.ttdf-homepage .ttdf-topic-list-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.ttdf-homepage .ttdf-topic-col{display:flex;flex-direction:column}
.ttdf-homepage .ttdf-topic-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0}
.ttdf-homepage .ttdf-topic-name a{font-family:'Libre Baskerville',Georgia,serif;font-size:16px;font-weight:700;color:#222222;text-decoration:none}
.ttdf-homepage .ttdf-topic-name a:hover{color:#c0392b}
.ttdf-homepage .ttdf-topic-meta{font-family:Lato,sans-serif;font-size:13px;color:#777777;white-space:nowrap}
.ttdf-homepage .ttdf-topic-meta a{color:#c0392b;text-decoration:none;font-weight:700}
.ttdf-homepage .ttdf-topic-meta a:hover{text-decoration:underline}
.ttdf-homepage .ttdf-topic-divider{border:none;border-top:1px solid #e5e5e5;margin:0}
.ttdf-homepage .ttdf-topic-col .ttdf-topic-divider:last-child{display:none}
@media (max-width:768px){.ttdf-homepage .ttdf-topic-list-wrap{grid-template-columns:1fr}}
/* ═══ UNIFIED CARD IMAGE TREATMENT — R5 2026-05-29 ═══ */
/* Base fallback — all ttdf-img elements */
.ttdf-homepage .ttdf-img{width:100%;height:auto;display:block}
/* S1 hero featured (CSS background) — face-priority */
.ttdf-homepage .ttdf-s1-feat-img a{display:block}
/* S1 grid cells — 4/3 box reduces crop on square sources from 44% to 25% */
.ttdf-homepage .ttdf-s1-cell-img{aspect-ratio:4/3;background:#f7f5f2;overflow:hidden;display:block;margin-bottom:8px}
.ttdf-homepage .ttdf-s1-cell-img img{object-fit:cover;object-position:center 25%;width:100%;height:100%;display:block}
/* Antidepressants post — shift down to foreground people, away from background room */
.ttdf-homepage .ttdf-s1-cell-img img.wp-image-11711{object-position:center 60%}
/* S2 Don't Miss — contain with neutral bg */
.ttdf-homepage .ttdf-s2-img-wrap{aspect-ratio:16/9!important;background:#f7f5f2;overflow:hidden!important;display:flex!important;align-items:center;justify-content:center;margin-bottom:12px}
.ttdf-homepage .ttdf-s2-img-wrap img{object-fit:contain!important;width:100%!important;height:100%!important;display:block!important}
/* S3 Editors' Pick — contain, square */
.ttdf-homepage .ttdf-s3-img-wrap{aspect-ratio:1/1!important;background:#f7f5f2;overflow:hidden!important;display:flex!important;align-items:center;justify-content:center;margin-bottom:10px}
.ttdf-homepage .ttdf-s3-img-wrap img{object-fit:contain!important;width:100%!important;height:100%!important;display:block!important}
/* S4 Food for Thought — contain with neutral bg */
.ttdf-homepage .ttdf-s4-feat-img-wrap{aspect-ratio:16/9;background:#f7f5f2;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ttdf-homepage .ttdf-s4-feat-img-wrap img{object-fit:contain;width:100%;height:100%;display:block}
/* Pulse cards — 16:9 contain with neutral bg */
.pulse-card .ttdf-pulse-img-wrap{aspect-ratio:16/9;background:#f7f5f2;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.pulse-card .ttdf-pulse-img-wrap img{object-fit:contain;width:100%;height:100%;display:block}
/* Newsletter trust line */
.ttdf-homepage .ttdf-newsletter-trust{font-family:Lato,sans-serif;font-size:12px;color:#777777;text-align:center;margin-top:8px;margin-bottom:0}

/* Archive support strip */
.ttdf-archive-support {
    background: #2d2d2d;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 48px calc((100vw - 1200px) / 2 + 40px);
    text-align: center;
    margin-top: 40px;
}
.ttdf-archive-support-inner {
    max-width: 680px;
    margin: 0 auto;
}
.ttdf-archive-support-heading {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 12px;
}
.ttdf-archive-support-sub {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    color: #bbbbbb;
    line-height: 1.7;
    margin: 0 0 24px;
}
.ttdf-archive-support-btn {
    display: inline-block;
    background: #c8a96e;
    color: #2d2d2d;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 14px 32px;
    text-decoration: none;
    border-radius: 0;
}
.ttdf-archive-support-btn:hover {
    background: #b8935a;
    color: #2d2d2d;
}
@media (max-width: 768px) {
    .ttdf-archive-support {
        padding: 40px 24px;
    }
    .ttdf-archive-support-heading {
        font-size: 20px;
    }
}
/* ── RECENT POSTS PAGE ── */
.ttdf-rp-header {
    background: #2d2d2d;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 48px calc((100vw - 1200px) / 2 + 40px);
    text-align: center;
}
.ttdf-rp-title {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 36px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 12px;
}
.ttdf-rp-count {
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    color: #c8a96e;
    margin: 0;
}
.ttdf-rp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 40px 0;
}
.ttdf-rp-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    transition: border-color 0.2s;
}
.ttdf-rp-card:hover {
    border-color: #c0392b;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.ttdf-rp-img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: contain;
    background: #f7f5f2;
    display: block;
}
.ttdf-rp-no-image {
    width: 100%;
    aspect-ratio: 16/9;
    background: #f7f5f2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    color: #777777;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.ttdf-rp-cat {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    color: #c0392b;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 8px 16px 0;
    display: block;
    text-decoration: none;
}
.ttdf-rp-card-title {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 16px;
    font-weight: 700;
    color: #222222;
    padding: 8px 16px 16px;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ttdf-rp-card-title a {
    color: #222222;
    text-decoration: none;
}
.ttdf-rp-card-title a:hover { color: #c0392b; }
.ttdf-rp-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 32px 0;
    flex-wrap: wrap;
}
.ttdf-rp-pagination .page-numbers {
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #222222;
    padding: 8px 14px;
    border: 1px solid #e5e5e5;
    text-decoration: none;
    border-radius: 0;
}
.ttdf-rp-pagination .page-numbers.current {
    background: #c0392b;
    color: #ffffff;
    border-color: #c0392b;
}
.ttdf-rp-pagination .page-numbers:hover:not(.current) {
    border-color: #c0392b;
    color: #c0392b;
}
.ttdf-rp-support {
    background: #2d2d2d;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 48px calc((100vw - 1200px) / 2 + 40px);
    text-align: center;
    margin-top: 40px;
}
.ttdf-rp-support-inner {
    max-width: 680px;
    margin: 0 auto;
}
.ttdf-rp-support-heading {
    font-family: 'Libre Baskerville', Georgia, serif;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 12px;
}
.ttdf-rp-support-sub {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    color: #bbbbbb;
    line-height: 1.7;
    margin: 0 0 24px;
}
.ttdf-rp-support-btn {
    display: inline-block;
    background: #c8a96e;
    color: #2d2d2d;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 14px 32px;
    text-decoration: none;
    border-radius: 0;
}
.ttdf-rp-support-btn:hover { background: #b8935a; }
@media (max-width: 768px) {
    .ttdf-rp-header { padding: 40px 24px; text-align: left; }
    .ttdf-rp-title { font-size: 26px; }
    .ttdf-rp-grid { grid-template-columns: 1fr; }
    .ttdf-rp-support { padding: 40px 24px; }
}
/* SINGLE POST TEMPLATE — Phase D (2026-05-30) */
body.single #inner-wrap{padding:0!important;max-width:100%!important;overflow:visible!important}
body.single .ttdf-single{padding:40px 0 0}

/* Narrow column — shared by header, content, newsletter, nav */
.ttdf-single-header,.ttdf-single-content,.ttdf-single-newsletter,.ttdf-single-nav{max-width:720px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}

/* HEADER */
.ttdf-single-breadcrumb{font-size:13px;color:#777;margin-bottom:16px}
.ttdf-single-breadcrumb a{color:#777;text-decoration:none}
.ttdf-single-breadcrumb a:hover{color:#c0392b}
.ttdf-bc-sep{margin:0 6px;color:#aaa}
.ttdf-single-cat{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c0392b;text-decoration:none;margin-bottom:12px}
.ttdf-single-cat:hover{color:#922b21}
.ttdf-single-title{font-family:'Libre Baskerville',Georgia,'Times New Roman',serif;font-size:clamp(24px,4vw,38px);line-height:1.25;font-weight:700;color:#222;margin:0 0 20px}
.ttdf-single-meta{font-size:13px;color:#777;margin-bottom:32px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ttdf-single-dot{color:#ccc}

/* FEATURED IMAGE */
.ttdf-single-featured{max-width:960px;margin:0 auto 40px;padding:0 24px;box-sizing:border-box}
.ttdf-single-featured img{width:100%;height:auto;display:block;border-radius:3px}

/* ARTICLE BODY */
.ttdf-single-content{font-size:17px;line-height:1.8;color:#2d2d2d;padding-bottom:40px}
.ttdf-single-content p{margin-bottom:1.4em}
.ttdf-single-content h2{font-family:'Libre Baskerville',Georgia,serif;font-size:22px;font-weight:700;margin:2em 0 .8em;color:#222;text-transform:uppercase;letter-spacing:.06em}
.ttdf-single-content h3{font-family:'Libre Baskerville',Georgia,serif;font-size:19px;font-weight:700;margin:1.8em 0 .7em;color:#222}
.ttdf-single-content h4{font-size:16px;font-weight:700;margin:1.6em 0 .6em;color:#333}
.ttdf-single-content a{color:#c0392b;text-decoration:underline;text-decoration-color:rgba(192,57,43,.4)}
.ttdf-single-content a:hover{color:#922b21;text-decoration-color:#922b21}
.ttdf-single-content strong{font-weight:700;color:#222}
.ttdf-single-content ul,.ttdf-single-content ol{margin:0 0 1.4em 1.5em;padding:0}
.ttdf-single-content li{margin-bottom:.5em}
.ttdf-single-content hr{border:none;border-top:1px solid #e5e5e5;margin:2.5em 0}

/* STANDFIRST — first blockquote in content */
.ttdf-single-content>blockquote:first-child{background:#f7f5f2;border-left:4px solid #c0392b;border-right:none;border-top:none;border-bottom:none;padding:20px 24px;border-radius:0 4px 4px 0;font-style:italic;font-size:17px;line-height:1.7;color:#444;margin:0 0 2em}

/* Regular blockquotes inside content */
.ttdf-single-content blockquote{border-left:3px solid #e5e5e5;padding:8px 20px;color:#555;font-style:italic;margin:1.5em 0}

/* NEWSLETTER */
.ttdf-single-newsletter{padding-top:32px;padding-bottom:40px}
.ttdf-single-newsletter-inner{background:#f7f5f2;border:1px dashed #c0392b;padding:28px 32px;border-radius:4px}
.ttdf-single-news-head{font-family:'Libre Baskerville',Georgia,serif;font-size:16px;font-weight:700;color:#222;margin:0 0 4px}
.ttdf-single-news-sub{font-size:14px;color:#555;margin:0 0 16px}
.ttdf-single-news-form{display:flex;gap:8px;flex-wrap:wrap}
.ttdf-single-news-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:inherit}
.ttdf-single-news-btn{padding:10px 20px;background:#c0392b;color:#fff;border:none;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.ttdf-single-news-btn:hover{background:#922b21}
.ttdf-single-news-trust{font-size:12px;color:#999;margin:8px 0 0}

/* SUPPORT BAND */
.ttdf-single-support{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);background:#2d2d2d;padding-top:48px;padding-bottom:48px;text-align:center}
.ttdf-single-support-inner{max-width:600px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.ttdf-single-support-heading{font-family:'Libre Baskerville',Georgia,serif;font-size:22px;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.3}
.ttdf-single-support-sub{font-size:15px;color:#bbbbbb;margin:0 0 24px;line-height:1.6}
.ttdf-single-support-btn{display:inline-block;background:#c8a96e;color:#2d2d2d;font-weight:700;font-size:14px;letter-spacing:.06em;padding:12px 28px;border-radius:3px;text-decoration:none}
.ttdf-single-support-btn:hover{background:#d4b97e;color:#222}

/* RELATED POSTS */
.ttdf-single-related{max-width:1100px;margin:48px auto;padding:0 24px;box-sizing:border-box}
.ttdf-single-related .ttdf-section-label{margin-bottom:24px}
.ttdf-single-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ttdf-single-related-card{display:flex;flex-direction:column}
.ttdf-related-img-link{display:block;overflow:hidden;border-radius:3px;margin-bottom:12px;background:#f7f5f2;aspect-ratio:16/9}
.ttdf-related-img{width:100%;height:100%;object-fit:contain;display:block}
.ttdf-related-no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e5e5e5;font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.1em}
.ttdf-related-cat{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c0392b;text-decoration:none;margin-bottom:6px;display:inline-block;margin-top:4px}
.ttdf-related-cat:hover{color:#922b21}
.ttdf-related-title{font-family:'Libre Baskerville',Georgia,serif;font-size:16px;line-height:1.4;margin:0}
.ttdf-related-title a{color:#222;text-decoration:none}
.ttdf-related-title a:hover{color:#c0392b}

/* PREV / NEXT NAV */
.ttdf-single-nav{display:flex;justify-content:space-between;gap:24px;padding:32px 24px 48px;max-width:720px;border-top:1px solid #e5e5e5}
.ttdf-single-nav-prev,.ttdf-single-nav-next{display:flex;flex-direction:column;gap:4px;max-width:45%;text-decoration:none}
.ttdf-single-nav-next{text-align:right;margin-left:auto}
.ttdf-nav-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#777}
.ttdf-nav-title{font-family:'Libre Baskerville',Georgia,serif;font-size:15px;line-height:1.4;color:#222}
.ttdf-single-nav-prev:hover .ttdf-nav-title,.ttdf-single-nav-next:hover .ttdf-nav-title{color:#c0392b}

/* RESPONSIVE */
@media(max-width:768px){
.ttdf-single-header,.ttdf-single-content,.ttdf-single-newsletter,.ttdf-single-nav{padding-left:16px;padding-right:16px}
.ttdf-single-featured{padding:0 16px}
.ttdf-single-title{font-size:24px}
.ttdf-single-related-grid{grid-template-columns:1fr;gap:20px}
.ttdf-single-related{padding:0 16px}
.ttdf-single-support{padding-top:40px;padding-bottom:40px}
.ttdf-single-news-form{flex-direction:column}
.ttdf-single-news-input,.ttdf-single-news-btn{width:100%;box-sizing:border-box}
.ttdf-single-nav{flex-direction:column;gap:20px}
.ttdf-single-nav-prev,.ttdf-single-nav-next{max-width:100%}
.ttdf-single-nav-next{text-align:left;margin-left:0}
}

/* ── SINGLE POST TEMPLATE ── */

/* Width zones */
.ttdf-single { width: 100%; }
.ttdf-single-header,
.ttdf-single-content,
.ttdf-single-newsletter-inner,
.ttdf-single-nav {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.ttdf-single-featured,
.ttdf-single-related {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* Header zone */
.ttdf-single-header { padding-top: 40px; }
.ttdf-single-breadcrumb {
  font-family: Lato, sans-serif;
  font-size: 12px;
  color: #777777;
  margin-bottom: 16px;
}
.ttdf-single-breadcrumb a { color: #777777; text-decoration: none; }
.ttdf-single-breadcrumb a:hover { color: #c0392b; }
.ttdf-single-cat {
  font-family: Lato, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #c0392b;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 12px;
}
.ttdf-single-title {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.25;
  color: #222222;
  margin: 0 0 16px;
}
.ttdf-single-meta {
  font-family: Lato, sans-serif;
  font-size: 13px;
  color: #777777;
  margin-bottom: 32px;
}
.ttdf-single-dot { margin: 0 8px; }

/* Featured image */
.ttdf-single-featured { margin-bottom: 32px; }
.ttdf-single-featured img { width: 100%; height: auto; display: block; }

/* Article body */
.ttdf-single-content {
  font-family: Lato, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #222222;
}
.ttdf-single-content p { margin: 0 0 24px; }
.ttdf-single-content h2 {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #222222;
  margin: 40px 0 16px;
}
.ttdf-single-content h3 {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: #222222;
  margin: 32px 0 12px;
}
.ttdf-single-content a { color: #c0392b; text-decoration: underline; }

/* Standfirst — first blockquote only */
.ttdf-single-content > blockquote:first-child {
  background: #f7f5f2;
  border-left: 4px solid #c0392b;
  padding: 24px 28px;
  margin: 0 0 32px;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.7;
  color: #444444;
}
.ttdf-single-content > blockquote:first-child p:last-child { margin-bottom: 0; }

/* Regular blockquotes */
.ttdf-single-content blockquote {
  border-left: 4px solid #c0392b;
  padding: 8px 24px;
  margin: 24px 0;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  color: #444444;
}

/* Inline newsletter */
.ttdf-single-newsletter { margin: 48px auto; }
.ttdf-single-newsletter-inner {
  border: 1px dashed #c0392b;
  padding: 32px;
  text-align: center;
}
.ttdf-single-news-head {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px;
}
.ttdf-single-news-sub {
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #555555;
  margin: 0 0 20px;
}
.ttdf-single-news-form {
  display: flex;
  gap: 0;
  max-width: 440px;
  margin: 0 auto;
}
.ttdf-single-news-input {
  flex: 1;
  border: 1px solid #e5e5e5;
  padding: 12px;
  font-family: Lato, sans-serif;
  font-size: 15px;
  border-radius: 0;
}
.ttdf-single-news-btn {
  background: #c0392b;
  color: #ffffff;
  border: none;
  font-family: Lato, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 12px 24px;
  cursor: pointer;
  border-radius: 0;
}
.ttdf-single-news-btn:hover { background: #922b21; }
.ttdf-single-news-trust {
  font-family: Lato, sans-serif;
  font-size: 12px;
  color: #777777;
  margin: 12px 0 0;
}

/* Support band */
.ttdf-single-support {
  background: #2d2d2d;
  margin: 48px 0 0;
  padding: 48px calc((100vw - 1200px) / 2 + 40px);
  text-align: center;
}
.ttdf-single-support-inner { max-width: 680px; margin: 0 auto; }
.ttdf-single-support-heading {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 12px;
}
.ttdf-single-support-sub {
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #bbbbbb;
  line-height: 1.7;
  margin: 0 0 24px;
}
.ttdf-single-support-btn {
  display: inline-block;
  background: #c8a96e;
  color: #2d2d2d;
  font-family: Lato, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 14px 32px;
  text-decoration: none;
  border-radius: 0;
}
.ttdf-single-support-btn:hover { background: #b8935a; }

/* Related posts */
.ttdf-single-related { margin: 48px auto; }
.ttdf-single-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
.ttdf-single-related-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  transition: border-color 0.2s;
}
.ttdf-single-related-card:hover {
  border-color: #c0392b;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.ttdf-related-img,
.ttdf-related-no-image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  background: #f7f5f2;
  display: block;
}
.ttdf-related-no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Lato, sans-serif;
  font-size: 11px;
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ttdf-related-cat {
  font-family: Lato, sans-serif;
  font-size: 11px;
  color: #c0392b;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 8px 16px 0;
  text-decoration: none;
}
.ttdf-related-title {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  padding: 8px 16px 16px;
  margin: 0;
}
.ttdf-related-title a { color: #222222; text-decoration: none; }
.ttdf-related-title a:hover { color: #c0392b; }

/* Prev / Next nav */
.ttdf-single-nav {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin: 48px auto;
  padding-top: 32px;
  border-top: 1px solid #e5e5e5;
}
.ttdf-single-nav-prev,
.ttdf-single-nav-next {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  max-width: 45%;
}
.ttdf-single-nav-next { text-align: right; margin-left: auto; }
.ttdf-nav-label {
  font-family: Lato, sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #c0392b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}
.ttdf-nav-title {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 15px;
  color: #222222;
}
.ttdf-single-nav-prev:hover .ttdf-nav-title,
.ttdf-single-nav-next:hover .ttdf-nav-title { color: #c0392b; }

/* Mobile */
@media (max-width: 768px) {
  .ttdf-single-title { font-size: 28px; }
  .ttdf-single-content { font-size: 16px; }
  .ttdf-single-related-grid { grid-template-columns: 1fr; }
  .ttdf-single-news-form { flex-direction: column; gap: 8px; }
  .ttdf-single-news-btn { width: 100%; }
  .ttdf-single-nav { flex-direction: column; }
  .ttdf-single-nav-next { text-align: left; }
  .ttdf-single-nav-prev, .ttdf-single-nav-next { max-width: 100%; }
  .ttdf-single-support { padding: 40px 24px; }
}

/* TWEAKS 2+3 (2026-05-30) */
.ttdf-single-featured {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 32px;
  padding-left: 20px;
  padding-right: 20px;
}
.ttdf-single-featured img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
  display: block;
  max-height: 420px;
}
.ttdf-single-meta { margin-bottom: 40px; }

/* FEATURED IMAGE FIX (2026-05-30) */
.ttdf-single-featured {
  margin-bottom: 32px;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.ttdf-single-featured img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
  display: block;
  height: auto;
}

/* FEATURED IMAGE — contain fix (2026-05-30) */
.ttdf-single-featured img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  object-position: center;
  background: #f7f5f2;
  display: block;
  height: auto;
}

/* FEATURED IMAGE REVERT (2026-05-30) */
.ttdf-single-featured {
  margin-bottom: 32px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.ttdf-single-featured img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: auto;
  object-fit: fill;
  object-position: initial;
  max-height: none;
  background: transparent;
}

/* ── STATIC PAGES (About, Privacy) ── */

/* Fullwidth inner-wrap override */
body.page-id-2043 #inner-wrap,
body.page-id-1802 #inner-wrap {
  padding: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

/* Page header band */
.ttdf-page-header {
  background: #2d2d2d;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 48px calc((100vw - 1200px) / 2 + 40px);
  text-align: center;
}
.ttdf-page-title {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 38px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 12px;
}
.ttdf-page-subtitle {
  font-family: Lato, sans-serif;
  font-size: 17px;
  font-style: italic;
  color: #c8a96e;
  margin: 0;
}

/* About banner */
.ttdf-about-banner {
  max-width: 1000px;
  margin: 40px auto 0;
  padding: 0 20px;
}
.ttdf-about-banner img,
.ttdf-about-banner-img {
  width: 100%;
  height: auto;
  display: block;
}
.ttdf-about-banner-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: #f7f5f2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Lato, sans-serif;
  font-size: 13px;
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
}

/* Page body — constrained reading width */
.ttdf-page-body {
  max-width: 720px;
  margin: 40px auto;
  padding: 0 20px;
  font-family: Lato, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #222222;
}
.ttdf-page-body p { margin: 0 0 24px; }
.ttdf-lead {
  font-size: 19px;
  line-height: 1.6;
  color: #222222;
}
.ttdf-about-h2 {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #222222;
  margin: 40px 0 16px;
}
.ttdf-page-body a { color: #c0392b; text-decoration: underline; }

/* Statement of Faith */
.ttdf-sof {
  background: #f7f5f2;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 48px calc((100vw - 1200px) / 2 + 40px);
}
.ttdf-sof-inner {
  max-width: 720px;
  margin: 0 auto;
}
.ttdf-sof-title {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  color: #222222;
  margin: 0 0 8px;
  text-align: center;
}
.ttdf-sof-intro {
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #777777;
  text-align: center;
  margin: 0 0 32px;
}
.ttdf-sof-item {
  font-family: Lato, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #333333;
  padding: 16px 0;
  border-bottom: 1px solid #e5e5e5;
}
.ttdf-sof-item:last-child { border-bottom: none; }
.ttdf-sof-item strong { color: #c0392b; }

/* About CTA buttons */
.ttdf-about-cta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.ttdf-about-cta-btn {
  display: inline-block;
  background: #c0392b;
  color: #ffffff !important;
  font-family: Lato, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 14px 28px;
  text-decoration: none !important;
  border-radius: 0;
}
.ttdf-about-cta-btn:hover { background: #922b21; }
.ttdf-about-cta-alt {
  background: #ffffff;
  color: #c0392b !important;
  border: 1px solid #c0392b;
}
.ttdf-about-cta-alt:hover {
  background: #c0392b;
  color: #ffffff !important;
}

/* Privacy updated line */
.ttdf-privacy-updated {
  font-size: 13px;
  color: #777777;
  margin-top: 32px;
}

/* Mobile */
@media (max-width: 768px) {
  .ttdf-page-title { font-size: 28px; }
  .ttdf-page-header { padding: 40px 24px; }
  .ttdf-sof { padding: 40px 24px; }
  .ttdf-about-cta-btn { width: 100%; text-align: center; box-sizing: border-box; }
}

/* ── EMAIL US PAGE ── */
body.page-id-2044 #inner-wrap {
  padding: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.ttdf-email-form { margin-top: 32px; }
.ttdf-email-field { margin-bottom: 24px; }
.ttdf-email-label {
  display: block;
  font-family: Lato, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #222222;
  margin-bottom: 8px;
}
.ttdf-required { color: #c0392b; }
.ttdf-email-input,
.ttdf-email-textarea {
  width: 100%;
  border: 1px solid #e5e5e5;
  padding: 12px 16px;
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #222222;
  background: #ffffff;
  border-radius: 0;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.ttdf-email-input:focus,
.ttdf-email-textarea:focus { outline: none; border-color: #c0392b; }
.ttdf-email-textarea { resize: vertical; min-height: 180px; }
.ttdf-email-btn {
  background: #c0392b;
  color: #ffffff;
  border: none;
  font-family: Lato, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 14px 32px;
  cursor: pointer;
  border-radius: 0;
  display: inline-block;
}
.ttdf-email-btn:hover { background: #922b21; }
.ttdf-email-note {
  font-family: Lato, sans-serif;
  font-size: 12px;
  color: #777777;
  margin-top: 12px;
}
.ttdf-email-success {
  background: #f7f5f2;
  border-left: 4px solid #c0392b;
  padding: 16px 20px;
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #222222;
  margin-bottom: 24px;
}
.ttdf-email-error {
  background: #fff5f5;
  border-left: 4px solid #c0392b;
  padding: 16px 20px;
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #222222;
  margin-bottom: 24px;
}
.ttdf-email-error a { color: #c0392b; }
@media (max-width: 768px) {
  .ttdf-email-btn { width: 100%; text-align: center; box-sizing: border-box; }
}

/* ── SUPPORT US PAGE ── */
body.page-id-10264 #inner-wrap {
  padding: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.ttdf-su-outer {
  background: #2d2d2d;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 56px calc((100vw - 1200px) / 2 + 40px);
}
.ttdf-su-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.ttdf-su-scripture {
  border-left: none;
  padding: 0;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  font-size: 17px;
  color: #ffffff;
  line-height: 1.8;
  margin: 0 0 24px;
}
.ttdf-su-cite {
  display: block;
  font-family: Lato, sans-serif;
  font-style: normal;
  font-size: 13px;
  color: #c8a96e;
  margin-top: 8px;
}
.ttdf-su-body {
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #bbbbbb;
  line-height: 1.7;
  margin: 0 0 24px;
}
.ttdf-su-pullquote {
  border-top: 1px solid #c8a96e;
  border-bottom: 1px solid #c8a96e;
  padding: 16px 0;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  font-size: 15px;
  color: #c8a96e;
  line-height: 1.8;
  margin: 0 0 24px;
}
.ttdf-su-ask-card {
  border: 1px dashed #c8a96e;
  padding: 24px;
}
.ttdf-su-ask-text {
  font-family: Lato, sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
}
.ttdf-su-ask-sub {
  font-family: Lato, sans-serif;
  font-size: 14px;
  color: #bbbbbb;
  margin: 0;
}
.ttdf-su-bank-card {
  background: #ffffff;
  padding: 24px;
  margin-bottom: 24px;
  border-radius: 0;
}
.ttdf-su-bank-heading {
  font-family: Lato, sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #c0392b;
  margin-bottom: 16px;
}
.ttdf-su-bank-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid #e5e5e5;
}
.ttdf-su-bank-row:last-child { border-bottom: none; }
.ttdf-su-bank-label {
  font-family: Lato, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #777777;
  flex-shrink: 0;
  margin-right: 12px;
}
.ttdf-su-bank-value {
  font-family: Lato, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #222222;
  text-align: right;
}
.ttdf-su-qr-wrap { text-align: center; }
.ttdf-su-qr-label {
  font-family: Lato, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #777777;
  margin: 0 0 12px;
}
.ttdf-su-qr-img {
  max-width: 180px;
  height: auto;
  display: block;
  margin: 0 auto 12px;
}
.ttdf-su-qr-placeholder {
  width: 180px;
  height: 180px;
  background: #f7f5f2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Lato, sans-serif;
  font-size: 11px;
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 12px;
  box-sizing: border-box;
  margin: 0 auto 12px;
}
.ttdf-su-upi-id,
.ttdf-su-upi-name {
  font-family: Lato, sans-serif;
  font-size: 13px;
  color: #bbbbbb;
  margin: 4px 0;
}
.ttdf-su-upi-id strong,
.ttdf-su-upi-name strong { color: #ffffff; }
.ttdf-su-payment-apps {
  font-family: Lato, sans-serif;
  font-size: 12px;
  color: #777777;
  margin-top: 12px;
}
.ttdf-su-closing {
  font-family: Lato, sans-serif;
  font-size: 15px;
  color: #555555;
  text-align: center;
}
.ttdf-su-closing a { color: #c0392b; }
@media (max-width: 768px) {
  .ttdf-su-outer { padding: 40px 24px; }
  .ttdf-su-inner { grid-template-columns: 1fr; gap: 32px; }
  .ttdf-su-bank-row { flex-direction: column; gap: 4px; }
  .ttdf-su-bank-value { text-align: left; }
}

/* ── Search form (homepage S8 + Our Content page) ─────────────────── */
.ttdf-search-form {
  max-width: 600px;
  margin: 0 auto 2em;
}
.ttdf-search-inner {
  display: flex;
  border: 1px solid #e5e5e5;
  overflow: hidden;
}
.ttdf-search-input {
  flex: 1;
  padding: 13px 18px;
  font-family: Lato, sans-serif;
  font-size: 15px;
  border: none;
  outline: none;
  color: #222222;
  background: #ffffff;
  min-width: 0;
}
.ttdf-search-input::placeholder { color: #aaaaaa; }
.ttdf-search-btn {
  padding: 13px 24px;
  background: #c0392b;
  color: #ffffff;
  border: none;
  cursor: pointer;
  font-family: Lato, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.2s;
}
.ttdf-search-btn:hover { background: #922b21; }

/* Our Content page — search form sits inside .ttdf-oc-search-wrap */
.ttdf-oc-search-wrap {
  max-width: 760px;
  margin: 0 auto 2em;
  padding: 0 20px;
}
.ttdf-oc-search-wrap .ttdf-search-form { max-width: 100%; margin-bottom: 0; }

@media (max-width: 600px) {
  .ttdf-search-inner { flex-direction: column; }
  .ttdf-search-btn { width: 100%; padding: 12px; text-align: center; }
}

/* ── Pulse component styles (2026-06-02) ── */
.pulse-category{font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:#c0392b;text-decoration:underline;display:inline-block;margin-bottom:6px;font-family:var(--fb)}
.pulse-card-title{font-family:var(--fh);font-size:16px;font-weight:700;line-height:1.4;color:#111111;margin:0}
.pulse-card-title a{color:#111111;text-decoration:none}
.pulse-card-title a:hover{color:#c0392b}
.pulse-quote-block{background-color:#2b2b2b;padding:30px;margin-bottom:24px}
.pulse-quote-block p{color:#ffffff;font-family:var(--fh);font-style:italic;font-size:16px;line-height:1.7;margin:0 0 16px}
.pulse-quote-block .pulse-verse-ref{color:#c9a84c;font-size:13px;font-style:normal;font-weight:500;margin:0;font-family:var(--fb)}
.pulse-more-reading .pulse-more-label{font-size:13px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#333333;margin-bottom:10px;display:block;font-family:var(--fb)}
.pulse-more-reading ul{list-style:none;margin:0;padding:0}
.pulse-more-reading ul li{font-size:15px;color:#222222;padding:6px 0;border-bottom:1px solid #eeeeee}
.pulse-more-reading ul li::before{content:"• ";color:#c0392b}
.pulse-more-reading ul li a{color:#222222;text-decoration:none}
.pulse-more-reading ul li a:hover{color:#c0392b}
/* Pulse responsive */
@media (max-width:768px){.ttdf-pulse-layout{flex-direction:column}.ttdf-pulse-row{grid-template-columns:1fr}.pulse-quote-block{padding:20px;margin-top:0}}

/* Search section — centred label utility */
.ttdf-section-label--center {
  justify-content: center;
  text-align: center;
}
.ttdf-homepage .ttdf-s8 .ttdf-section-label {
  justify-content: center;
  text-align: center;
}
/* ================================================================
   HEADER RESTRUCTURE — Row 1: Split-nav with centred logo
   Row 2: Category bar with bordered boxes
   Applied: 2026-06-02
   ================================================================ */

/* --- Row 1: make left and right sections flex equally around centred logo --- */
.site-top-header-wrap .site-header-section-left {
    flex: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.site-top-header-wrap .site-header-section-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.site-top-header-wrap .site-header-section-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

/* Nav in left zone: ensure it fills the section and items align left */
.site-top-header-wrap .site-header-item-main-navigation {
    display: flex;
    align-items: center;
}
.site-top-header-wrap #site-navigation .menu {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}

/* Border-bottom on the combined nav+logo row */
.site-top-header-wrap {
    border-bottom: 1px solid #e5e5e5 !important;
}

/* Hide the now-empty bottom row */
.site-bottom-header-wrap {
    display: none !important;
}

/* --- Right nav (html_2 block) — match primary nav style --- */
.header-html-2 {
    display: flex;
    align-items: center;
    height: 100%;
}
.header-html-2 .header-html-inner {
    display: flex;
    align-items: center;
    height: 100%;
}
.ttdf-nav-right {
    display: flex;
    align-items: center;
    gap: 0;
}
.ttdf-nav-right a {
    font-family: 'Lato', system-ui, -apple-system, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #222222;
    text-decoration: none;
    padding: 0 0.65rem;
    white-space: nowrap;
    line-height: 1;
    transition: color 0.2s ease;
}
.ttdf-nav-right a:hover {
    color: #c0392b;
}

/* --- Row 2: Category bar — replace dividers with bordered boxes --- */

/* Reset old divider approach */
.ttdf-topic-strip a + a {
    border-left: none !important;
}
/* Box styling for each category item */
.ttdf-topic-strip {
    gap: 0 !important;
    justify-content: center;
}
.ttdf-topic-strip a {
    display: inline-flex !important;
    align-items: center;
    padding: 0.4rem 1rem !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 0.07em !important;
    text-transform: uppercase;
    color: #4a4540 !important;
    background: transparent;
    border-top: 1px solid #ccc5b8 !important;
    border-bottom: 1px solid #ccc5b8 !important;
    border-left: 1px solid #ccc5b8 !important;
    border-right: none !important;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
    line-height: 1.3;
}
.ttdf-topic-strip a:last-child {
    border-right: 1px solid #ccc5b8 !important;
}
.ttdf-topic-strip a:hover {
    background-color: #ede8e0 !important;
    color: #1a1208 !important;
}

/* Mobile: hide topic strip (unchanged) */
@media (max-width: 1024px) {
    .site-main-header-wrap .header-html {
        display: none;
    }
}

/* ── Secondary nav (right side) — right-align within its zone ── */
.site-top-header-wrap .site-header-item-secondary-navigation {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
}
.site-top-header-wrap .secondary-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.site-top-header-wrap .secondary-navigation .secondary-menu-container {
    display: flex;
    align-items: center;
}

/* ── Nav inward pull — corrected selectors for Kadence ── */

/* Override earlier rules: push both nav groups toward the logo */
.site-top-header-wrap .site-header-section-left {
    justify-content: flex-end !important;
    padding-right: 2.5rem;
    max-width: 45%;
}
.site-top-header-wrap .site-header-section-right {
    justify-content: flex-start !important;
    padding-left: 2.5rem;
    max-width: 45%;
}

/* Gap between primary nav items */
.site-top-header-wrap .main-navigation .menu {
    gap: 0;
}
.site-top-header-wrap .main-navigation .menu > li > a {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* Gap between secondary nav items */
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul {
    display: flex;
    align-items: center;
    gap: 0;
}
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li > a {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* ── Issue 1: Prevent nav items wrapping ── */
.site-top-header-wrap .menu-item a {
    white-space: nowrap !important;
}

/* Reduce link padding to reclaim horizontal space */
.site-top-header-wrap .main-navigation .menu > li > a,
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li > a {
    padding-left: 0.6rem !important;
    padding-right: 0.6rem !important;
    font-size: 0.88rem !important;
}

/* Reduce inward padding (override previous 2.5rem) */
.site-top-header-wrap .site-header-section-left {
    padding-right: 1.5rem !important;
}
.site-top-header-wrap .site-header-section-right {
    padding-left: 1.5rem !important;
}

/* ── Issue 2: Force both nav groups horizontal (no stacking) ── */
.site-top-header-wrap .site-header-section-left,
.site-top-header-wrap .site-header-section-right {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

/* Secondary nav specifically: override any column defaults */
.site-top-header-wrap .secondary-navigation,
.site-top-header-wrap .secondary-navigation .secondary-menu-container,
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0;
}

/* Ensure header row container is full width */
.site-top-header-wrap .site-header-row-container-inner,
.site-top-header-wrap .site-container {
    width: 100%;
    max-width: 100%;
}

/* ── Left nav: allow it to shrink to content width so flex-end works ── */
.site-top-header-wrap .site-header-section-left .site-header-item,
.site-top-header-wrap .site-header-item-main-navigation,
.site-top-header-wrap .main-navigation {
    width: auto !important;
    flex: 0 1 auto !important;
}

/* ── Left nav: right-align items within the menu ul itself ── */
.site-top-header-wrap .main-navigation ul.menu,
.site-top-header-wrap #primary-menu {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100%;
}

/* ── Definitive left nav pull: margin-left:auto pushes item right ── */
/* This works regardless of justify-content on the parent */
.site-top-header-wrap .site-header-section-left {
    justify-content: flex-start !important;
}
.site-top-header-wrap .site-header-section-left > .site-header-item {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: auto !important;
    flex-shrink: 0;
}

/* ── Reduce left section padding-right to pull nav closer to logo ── */
.site-top-header-wrap .site-header-section-left {
    padding-right: 0.5rem !important;
}

/* ── Root fix: remove max-width cap so sections grow to fit nav content ── */
.site-top-header-wrap .site-header-section-left,
.site-top-header-wrap .site-header-section-right {
    max-width: none !important;
    flex: 1 1 0 !important;
    min-width: 0;
}

/* Tighter link padding so 4 items fit without overflow */
.site-top-header-wrap .main-navigation .menu > li > a,
.site-top-header-wrap .secondary-navigation .secondary-menu-container > ul > li > a {
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
}

/* ── Left nav: swap visual order so growing zone is on the LEFT ── */
/* The left-center zone (flex-grow:1) pushes the nav item right */
.site-top-header-wrap .site-header-top-section-left-center {
    order: 0 !important;
}
.site-top-header-wrap .site-header-section-left > .site-header-item-main-navigation {
    order: 1 !important;
}

/* ── Right nav: put secondary nav BEFORE the growing zone ── */
/* Growing right-center zone fills rightward, pushing nav toward logo */
.site-top-header-wrap .site-header-top-section-right-center {
    order: 1 !important;
}
.site-top-header-wrap .site-header-section-right > .site-header-item {
    order: 0 !important;
}

/* ================================================
   HEADER ROW 1 — Fix nav items crowding to edges
   Scoped to desktop header to protect mobile layout
   ================================================ */

/* Neutralise the empty growing zones entirely */
.site-top-header-wrap .site-header-top-section-left-center,
.site-top-header-wrap .site-header-top-section-right-center {
    flex-grow: 0 !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Left section: push nav to the RIGHT (toward logo) */
.site-top-header-wrap .site-header-section-left {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex: 1 !important;
    order: 0 !important;
}
.site-top-header-wrap .site-header-section-left .site-header-item-main-navigation {
    flex-grow: 0 !important;
    margin-left: auto !important;
    order: 0 !important;
}

/* Right section: push nav to the LEFT (toward logo) */
.site-top-header-wrap .site-header-section-right {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex: 1 !important;
    order: 0 !important;
}
.site-top-header-wrap .site-header-section-right .site-header-item {
    flex-grow: 0 !important;
    margin-right: auto !important;
    order: 0 !important;
}

/* Centre section: logo stays anchored in true centre */
.site-top-header-wrap .site-header-section-center {
    flex-shrink: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Prevent nav link text from wrapping */
.site-top-header-wrap .site-header-section-left .menu-item a,
.site-top-header-wrap .site-header-section-right .menu-item a {
    white-space: nowrap !important;
}

/* Nudge right nav closer to logo — reduce left padding */
.site-top-header-wrap .site-header-section-right {
    padding-left: 0.25rem !important;
}

/* ================================================
   HEADER ROW 2 — Category bar button styling
   Actual class: .site-main-header-wrap .ttdf-topic-strip
   (plain <a> tags, no .menu-item wrappers)
   ================================================ */

.site-main-header-wrap .ttdf-topic-strip {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.4rem !important;
    padding: 0.6rem 1rem !important;
}

.site-main-header-wrap .ttdf-topic-strip a {
    display: inline-block !important;
    padding: 0.35rem 0.95rem !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    color: #3a3530 !important;
    background-color: #ffffff !important;
    border: 1px solid #c5bdb2 !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.site-main-header-wrap .ttdf-topic-strip a:hover {
    background-color: #ede8e0 !important;
    color: #1a1a1a !important;
}

/* Unbold top nav links */
.site-top-header-wrap .site-header-section-left .menu-item a,
.site-top-header-wrap .site-header-section-right .menu-item a {
    font-weight: 400 !important;
}

/* Vertical breathing room around logo / Row 1 */
.site-top-header-wrap .site-header-row-container-inner {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Increase Row 1 top padding by 5px (10px → 15px) */
.site-top-header-wrap .site-header-row-container-inner {
    padding-top: 15px !important;
}

/* Fix: SVG menu toggle invalid width attribute */
.menu-toggle-icon svg,
.menu-toggle-icon .kadence-svg-iconset svg {
    width: 24px;
    height: 24px;
}

/* Accessibility: screen-reader-only utility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* =====================================================================
   Tough Questions, Honest Answers — FAQ accordion
   Brand tokens: #c0392b red · #c8a96e gold · #2d2d2d dark · #f7f5f2 bg
   Fonts: Libre Baskerville (question) · Lato (answer) · border-radius: 0
   ===================================================================== */

.ttdf-faq-accordion {
    margin: 2.5rem 0;
}

.ttdf-faq-title {
    margin-bottom: 1rem;
}

.ttdf-faq-item {
    border-top: 1px solid #e6ded2;
    border-radius: 0;
}
.ttdf-faq-accordion .ttdf-faq-item:last-of-type {
    border-bottom: 1px solid #e6ded2;
}

.ttdf-faq-item > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.45;
    color: #2d2d2d;
}
.ttdf-faq-item > summary::-webkit-details-marker { display: none; }

.ttdf-faq-item > summary::after {
    content: "";
    flex: 0 0 auto;
    width: 0.55em;
    height: 0.55em;
    margin-top: 0.35em;
    border-right: 2px solid #c0392b;
    border-bottom: 2px solid #c0392b;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}
.ttdf-faq-item[open] > summary::after {
    transform: rotate(-135deg);
}

.ttdf-faq-item > summary:hover { color: #c0392b; }

.ttdf-faq-item > summary:focus-visible {
    outline: 2px solid #c0392b;
    outline-offset: 2px;
}

.ttdf-faq-answer {
    padding: 0 0 1.25rem;
    font-family: "Lato", system-ui, sans-serif;
    color: #2d2d2d;
}
.ttdf-faq-answer > p:last-child { margin-bottom: 0; }
.ttdf-faq-answer a { color: #c0392b; }

@media (max-width: 600px) {
    .ttdf-faq-item > summary { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ttdf-faq-item > summary::after { transition: none; }
}