
/* ============================================================
   CAF Docs HOME
   Template: caf-docs-template.php.php
   Prefix: .caf-docs-*
   ============================================================ */
   .caf-docs-wrapper {
    --caf-docs-cream: #FCF4E7;
    --caf-docs-navy: #1E1E38;
    --caf-docs-orange: #F1592A;
    --caf-docs-orange-soft: #FFF3ED;
    --caf-docs-ink-soft: #55556B;
    --caf-docs-line: #ECECF2;
    font-family: 'Poppins', -apple-system, 'Segoe UI', sans-serif;
    color: var(--caf-docs-navy);
    -webkit-font-smoothing: antialiased;
    background: #fff;
  }
  
  .caf-docs-wrapper * {
    box-sizing: border-box;
  }
  
  .caf-docs-wrap {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 32px;
  }
  
  .caf-docs-sections {
    padding: 56px 0;
  }
  
  .caf-docs-section {
    margin-bottom: 48px;
  }
  
  .caf-docs-section:last-child {
    margin-bottom: 0;
  }
  
  .caf-docs-wrapper h2 {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--caf-docs-navy);
    letter-spacing: -0.01em;
  }
  
  .caf-docs-sec-sub {
    font-size: 14px;
    color: var(--caf-docs-ink-soft);
    margin: 0 0 26px;
    line-height: 1.5;
  }
  
  .caf-docs-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    align-items: stretch;
  }
  
  .caf-docs-cats--two {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 26px;
  }
  
  .caf-docs-subgrp {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #9B9BAF;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #F0F0F5;
  }
  
  .caf-docs-grp-block {
    margin-bottom: 38px;
  }
  
  .caf-docs-grp-block:last-child {
    margin-bottom: 0;
  }
  
  .caf-docs-grp-block .caf-docs-subgrp {
    margin-top: 22px;
  }
  
  .caf-docs-grp-block .caf-docs-subgrp:first-of-type {
    margin-top: 0;
  }
  
  .caf-docs-stepnum {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--caf-docs-navy);
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
  }
  
  .caf-docs-cat {
    border: 1px solid var(--caf-docs-line);
    border-radius: 14px;
    padding: 26px 24px;
    transition: border-color .15s, transform .15s;
    background: #fff;
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }
  
  .caf-docs-cat:hover {
    border-color: var(--caf-docs-orange);
    transform: translateY(-3px);
  }
  
  .caf-docs-ic {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--caf-docs-orange-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 14px;
  }
  
  .caf-docs-cat h3 {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 6px;
    color: var(--caf-docs-navy);
  }
  
  .caf-docs-wrapper .caf-docs-cat-title-link,
  .caf-docs-wrapper .caf-docs-cat-title-link:visited {
    color: inherit !important;
    font: inherit;
    line-height: inherit;
    text-decoration: none !important;
  }
  
  .caf-docs-wrapper .caf-docs-cat-title-link:hover {
    color: var(--caf-docs-orange) !important;
  }
  
  .caf-docs-cat > p {
    font-size: 13.5px;
    color: var(--caf-docs-ink-soft);
    line-height: 1.65;
    margin: 0 0 14px;
  }
  
  .caf-docs-cat ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
  }
  
  .caf-docs-wrapper .caf-docs-cat ul li a,
  .caf-docs-wrapper .caf-docs-cat ul li a:visited {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--caf-docs-navy) !important;
    text-decoration: none !important;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }
  
  .caf-docs-cat ul li a::before {
    content: "\203A";
    color: var(--caf-docs-orange);
    font-weight: 800;
    font-size: 16px;
    line-height: 1;
  }
  
  .caf-docs-wrapper .caf-docs-cat ul li a:hover {
    color: var(--caf-docs-orange) !important;
  }
  
  .caf-docs-wrapper .caf-docs-cat ul li.caf-docs-cat-more a,
  .caf-docs-wrapper .caf-docs-cat ul li.caf-docs-cat-more a:visited,
  .caf-docs-wrapper .caf-docs-cat ul li.caf-docs-cat-more a:hover,
  .caf-docs-wrapper .caf-docs-cat ul li.caf-docs-cat-more a:focus {
    color: var(--caf-docs-orange) !important;
    font-weight: 600;
  }
  
  /* Post type badges (ACF field: type) — wireframe .pro */
  .caf-docs-wrapper .caf-docs-badge {
    display: inline-block;
    font-size: 10px !important;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 2px 6px;
    margin-left: 5px;
    vertical-align: 1px;
    line-height: 1.2;
    white-space: nowrap;
  }
  
  .caf-docs-wrapper .caf-docs-badge--pro {
    color: #fff;
    background: var(--caf-docs-navy);
  }
  
  .caf-docs-wrapper .caf-docs-badge--free {
    color: #fff;
    background: #2F9E6A;
  }
  
  .caf-docs-wrapper .caf-docs-badge--free-pro {
    color: #fff;
    background: var(--caf-docs-orange);
  }
  
  .caf-docs-wrapper .caf-docs-cat-more a::before {
    display: none;
  }
  
  /* Choose how you build ? tabs */
  .caf-docs-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 32px;
  }
  
  .caf-docs-tab {
    border: 2px solid var(--caf-docs-line);
    border-radius: 14px;
    padding: 18px 20px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all .15s;
    width: 100%;
    color: var(--caf-docs-navy);
  }
  
  .caf-docs-tab:hover {
    border-color: #FFD4BE;
  }
  
  .caf-docs-tab-ic {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    background: #F3F3F7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex: none;
  }
  
  .caf-docs-tab-tx {
    flex: 1;
    min-width: 0;
  }
  
  .caf-docs-tab-tx h3 {
    font-size: 17px;
    font-weight: 800;
    margin: 0 0 2px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    color: var(--caf-docs-navy);
  }
  
  .caf-docs-tab-tx p {
    font-size: 12.5px;
    color: var(--caf-docs-ink-soft);
    font-weight: 500;
    margin: 0;
  }
  
  .caf-docs-tab-badge {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 999px;
    background: #EDEDF3;
    color: #77778C;
  }
  
  .caf-docs-tab.active {
    border-color: var(--caf-docs-orange);
    background: linear-gradient(180deg, #FFF8F4, #fff);
    box-shadow: 0 12px 30px -20px rgba(241, 89, 42, .5);
  }
  
  .caf-docs-tab.active .caf-docs-tab-ic {
    background: var(--caf-docs-orange-soft);
  }
  
  .caf-docs-tab.active .caf-docs-tab-badge {
    background: var(--caf-docs-orange);
    color: #fff;
  }
  
  .caf-docs-panel {
    display: none;
  }
  
  .caf-docs-panel.active {
    display: block;
  }
  
  .caf-docs-grp-hd {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--caf-docs-orange);
    margin: 0 0 4px;
  }
  
  .caf-docs-grp-sub {
    font-size: 13px;
    color: var(--caf-docs-ink-soft);
    margin: 0 0 18px;
    line-height: 1.5;
  }
  
  @media (max-width: 880px) {
    .caf-docs-cats {
      grid-template-columns: 1fr 1fr;
    }
  
    .caf-docs-cats--two {
      grid-template-columns: 1fr 1fr;
    }
  
    .caf-docs-tabs {
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 600px) {
    .caf-docs-cats,
    .caf-docs-cats--two {
      grid-template-columns: 1fr;
    }
  
    .caf-docs-wrap {
      padding: 0 20px;
    }
  }
  /* ===== END caf-docs-template.php.php / .caf-docs-* ===== */
  
  /* ============================================================
     CAF Doc SINGLE — shared shell / layout
     Template: single-caf_doc.php
     Partials: template-parts/docs/*
     Prefix: .caf-doc-*
     ============================================================ */
  /* Type scale bumped slightly vs wireframe so Divi overrides don't feel tiny */
  .caf-doc-single {
    --caf-doc-navy: #1E1E38;
    --caf-doc-orange: #F1592A;
    --caf-doc-orange-soft: #FFF3ED;
    --caf-doc-ink-soft: #55556B;
    --caf-doc-line: #ECECF2;
    --caf-doc-sidebar: 264px;
    --caf-doc-toc: 210px;
    font-family: "Poppins", -apple-system, "Segoe UI", sans-serif;
    color: var(--caf-doc-navy);
    -webkit-font-smoothing: antialiased;
    font-size: 16px !important;
    line-height: 1.75;
    background: #fff;
  }
  
  .caf-doc-single *,
  .caf-doc-single *::before,
  .caf-doc-single *::after {
    box-sizing: border-box;
  }
  
  .caf-doc-shell {
    display: grid;
    grid-template-columns: var(--caf-doc-sidebar) minmax(0, 1fr) var(--caf-doc-toc);
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 26px;
    /* stretch (default): grid row = content height so sticky sidebar/TOC work like sample HTML */
    align-items: stretch;
  }
  
  /* ----- Left sidebar nav -----
     File: template-parts/docs/sidebar-nav.php
     Shortcode: [caf_sidebar_nav]
     Classes: .caf-doc-sidebar, .caf-doc-nav-*
     (viewport-bound scroll; last items stay reachable)
  */
  .caf-doc-sidebar {
    --caf-doc-sticky-top: 100px;
    position: sticky;
    top: var(--caf-doc-sticky-top);
    align-self: start;
    width: 100%;
    height: auto;
    max-height: calc(100vh - var(--caf-doc-sticky-top) - 12px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    border-right: 1px solid var(--caf-doc-line);
    scrollbar-gutter: stable;
  }
  
  .caf-doc-sidebar-inner {
    padding: 26px 10px 120px 0;
  }
  
  .caf-doc-sidebar::-webkit-scrollbar {
    width: 6px;
  }
  
  .caf-doc-sidebar::-webkit-scrollbar-track {
    background: transparent;
  }
  
  .caf-doc-sidebar::-webkit-scrollbar-thumb {
    background: #D8D8E4;
    border-radius: 999px;
  }
  
  .caf-doc-sidebar::-webkit-scrollbar-thumb:hover {
    background: #C0C0D0;
  }
  
  .caf-doc-nav-sec {
    margin-bottom: 6px;
  }
  
  .caf-doc-nav-top {
    width: 100%;
    background: none;
    border: 0;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14.5px !important;
    font-weight: 700;
    color: var(--caf-doc-navy);
    text-align: left;
    line-height: 1.4;
  }
  
  .caf-doc-nav-top:hover {
    background: #FAFAFC;
  }
  
  .caf-doc-chev {
    margin-left: auto;
    width: 13px;
    height: 13px;
    transition: transform .2s;
    flex: none;
  }
  
  .caf-doc-chev svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #B4B4C4;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  
  .caf-doc-nav-sec.open .caf-doc-chev {
    transform: rotate(180deg);
  }
  
  .caf-doc-nav-kids {
    display: none;
    padding: 2px 0 8px 10px;
    border-left: 1px solid #F0F0F5;
    margin-left: 16px;
  }
  
  .caf-doc-nav-sec.open .caf-doc-nav-kids {
    display: block;
  }
  
  .caf-doc-nav-grp {
    margin-bottom: 4px;
  }
  
  .caf-doc-nav-grp-label {
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #B4B4C4;
    padding: 12px 10px 6px;
    line-height: 1.5;
  }
  
  .caf-doc-single .caf-doc-nav-term-link,
  .caf-doc-single .caf-doc-nav-term-link:visited,
  .caf-doc-single .caf-doc-nav-term-link:hover,
  .caf-doc-single .caf-doc-nav-term-link:focus {
    color: inherit !important;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    text-decoration: none !important;
  }
  
  .caf-doc-nav-count {
    font-weight: 700;
    letter-spacing: 0;
    margin-left: 2px;
  }
  
  .caf-doc-nav-posts,
  .caf-doc-single .caf-doc-nav-posts,
  .caf-doc-single .caf-doc-nav-posts li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0;
    padding: 0;
  }
  
  .caf-doc-single .caf-doc-nav-posts li::marker,
  .caf-doc-single .caf-doc-nav-posts li::before {
    content: none !important;
    display: none !important;
  }
  
  .caf-doc-nav-posts--flat {
    padding-top: 4px;
  }
  
  .caf-doc-single .caf-doc-nav-posts a,
  .caf-doc-single .caf-doc-nav-posts a:visited {
    display: block;
    font-size: 14px !important;
    font-weight: 500;
    color: var(--caf-doc-ink-soft) !important;
    padding: 7px 10px;
    border-radius: 7px;
    text-decoration: none !important;
    line-height: 1.45 !important;
  }
  
  .caf-doc-single .caf-doc-nav-posts a:hover {
    background: #FAFAFC;
    color: var(--caf-doc-navy) !important;
  }
  
  .caf-doc-single .caf-doc-nav-posts a.here,
  .caf-doc-single .caf-doc-nav-posts a.here:visited,
  .caf-doc-single .caf-doc-nav-posts a.here:hover {
    background: var(--caf-doc-orange-soft) !important;
    color: var(--caf-doc-orange) !important;
    font-weight: 700;
  }
  
  /* ----- Main column wrapper (single-caf_doc.php <main>) ----- */
  .caf-doc-content {
    padding: 30px 0 90px;
    min-width: 0;
  }
  
  /* ----- Breadcrumb -----
     File: template-parts/docs/breadcrumb.php
     Shortcode: [caf_breadcrumb]
     Classes: .caf-doc-crumb
  */
  .caf-doc-crumb {
    font-size: 13.5px !important;
    color: #9B9BAF;
    font-weight: 500;
    margin-bottom: 16px;
    line-height: 1.5;
  }
  
  .caf-doc-single .caf-doc-crumb a,
  .caf-doc-single .caf-doc-crumb a:visited,
  .caf-docs-archive .caf-doc-crumb a,
  .caf-docs-archive .caf-doc-crumb a:visited {
    color: #9B9BAF !important;
    text-decoration: none !important;
    font-size: inherit !important;
  }
  
  .caf-doc-single .caf-doc-crumb a:hover {
    color: var(--caf-doc-orange) !important;
  }
  
  .caf-docs-archive .caf-doc-crumb a:hover {
    color: var(--caf-arch-orange) !important;
  }
  
  .caf-doc-crumb span {
    margin: 0 7px;
    color: #D2D2DC;
  }
  
  /* ----- Title + meta + body -----
     File: template-parts/docs/content.php
     Shortcode: [caf_content]
     Classes: .caf-doc-title, .caf-doc-page-meta, .caf-doc-updated, .caf-doc-body
  */
  .caf-doc-title,
  .caf-doc-single h1.caf-doc-title {
    font-size: clamp(30px, 3.6vw, 40px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em;
    line-height: 1.2 !important;
    margin: 0 0 12px;
    color: var(--caf-doc-navy);
  }
  
  .caf-doc-page-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
  }
  
  .caf-doc-updated {
    font-size: 13.5px !important;
    color: #9B9BAF;
    font-weight: 500;
  }
  
  .caf-doc-body {
    font-size: 16.5px !important;
    line-height: 1.75 !important;
    color: var(--caf-doc-navy);
  }
  
  .caf-doc-body p {
    margin: 0 0 16px;
    font-size: inherit !important;
    line-height: inherit !important;
  }
  
  .caf-doc-body h2 {
    font-size: 28px !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    margin: 44px 0 14px;
    color: var(--caf-doc-navy);
    line-height: 1.25 !important;
  }
  
  .caf-doc-body h3 {
    font-size: 21px !important;
    font-weight: 700 !important;
    margin: 30px 0 10px;
    color: var(--caf-doc-navy);
    line-height: 1.3 !important;
  }
  
  .caf-doc-body h4 {
    font-size: 17px !important;
    font-weight: 700 !important;
    margin: 22px 0 8px;
    color: var(--caf-doc-navy);
  }
  
  .caf-doc-body ul,
  .caf-doc-body ol {
    margin: 0 0 18px 22px;
    font-size: inherit !important;
  }
  
  .caf-doc-body li {
    margin-bottom: 8px;
    font-size: inherit !important;
    line-height: inherit !important;
  }
  
  .caf-doc-body h2,
  .caf-doc-body h3 {
    /* Keep in sync with script.js scrollThreshold (sticky header + 16px pad) */
    scroll-margin-top: var(--caf-doc-scroll-margin, calc(var(--caf-doc-sticky-top, 100px) + 16px));
  }
  
  .caf-doc-body a {
    color: var(--caf-doc-orange);
  }
  
  /* ----- Prev / Next -----
     File: template-parts/docs/prev-next.php
     Shortcode: [caf_prev_next]
     Classes: .caf-doc-pagenav*
  */
  .caf-doc-pagenav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 30px;
  }
  
  .caf-doc-single .caf-doc-pagenav a,
  .caf-doc-single .caf-doc-pagenav a:visited {
    border: 1px solid var(--caf-doc-line);
    border-radius: 12px;
    padding: 16px 19px;
    display: block;
    text-decoration: none !important;
    background: #fff;
    transition: border-color .15s;
  }
  
  .caf-doc-single .caf-doc-pagenav a:hover {
    border-color: var(--caf-doc-orange);
    text-decoration: none !important;
  }
  
  .caf-doc-pagenav-lbl {
    display: block;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #9B9BAF;
    margin-bottom: 4px;
  }
  
  .caf-doc-pagenav-t {
    display: block;
    font-size: 15.5px !important;
    font-weight: 700;
    color: var(--caf-doc-navy);
    line-height: 1.35;
  }
  
  .caf-doc-pagenav-next {
    text-align: right;
  }
  
  .caf-doc-pagenav-empty {
    display: block;
  }
  
  /* ----- FAQ accordion -----
     File: template-parts/docs/faq.php
     Shortcode: [caf_doc_faq]
     Classes: .caf-doc-faq*, .caf-doc-acc*
     (ACF repeater caf_faq; wireframe .acc)
  */
  .caf-doc-faq {
    margin-top: 44px;
  }
  
  .caf-doc-faq-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    margin: 0 0 18px;
    color: var(--caf-doc-navy);
    line-height: 1.25 !important;
  }
  
  .caf-doc-acc {
    border: 1px solid var(--caf-doc-line);
    border-radius: 11px;
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
  }
  
  .caf-doc-acc summary {
    list-style: none;
    cursor: pointer;
    padding: 15px 18px;
    font-size: 15px !important;
    font-weight: 700;
    color: var(--caf-doc-navy);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    line-height: 1.4;
  }
  
  .caf-doc-acc summary::-webkit-details-marker {
    display: none;
  }
  
  .caf-doc-acc summary::marker {
    content: "";
  }
  
  .caf-doc-acc-q {
    flex: 1;
    min-width: 0;
  }
  
  .caf-doc-acc-pl {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.6px solid #C2C2D0;
    position: relative;
    flex: none;
    transition: transform .2s, border-color .2s;
  }
  
  .caf-doc-acc-pl::before,
  .caf-doc-acc-pl::after {
    content: "";
    position: absolute;
    background: #C2C2D0;
    left: 50%;
    top: 50%;
    transition: background .2s;
  }
  
  .caf-doc-acc-pl::before {
    width: 9px;
    height: 1.6px;
    transform: translate(-50%, -50%);
  }
  
  .caf-doc-acc-pl::after {
    width: 1.6px;
    height: 9px;
    transform: translate(-50%, -50%);
  }
  
  .caf-doc-acc[open] .caf-doc-acc-pl {
    transform: rotate(45deg);
    border-color: var(--caf-doc-orange);
  }
  
  .caf-doc-acc[open] .caf-doc-acc-pl::before,
  .caf-doc-acc[open] .caf-doc-acc-pl::after {
    background: var(--caf-doc-orange);
  }
  
  .caf-doc-acc-body {
    height: 0;
    overflow: hidden;
    transition: height 0.32s ease;
  }
  
  .caf-doc-acc-body-inner {
    padding: 0 18px 18px;
    font-size: 14.5px !important;
    color: var(--caf-doc-ink-soft);
    line-height: 1.65 !important;
  }
  
  /* Open without JS (progressive enhancement): show full body */
  .caf-doc-acc[open]:not(.caf-doc-acc--animated) .caf-doc-acc-body {
    height: auto;
  }
  
  /* ----- Related posts -----
     File: template-parts/docs/related.php
     Shortcode: [caf_related]
     Classes: .caf-doc-related*
     (wireframe 2-col cards; same child term only; hidden if empty)
  */
  .caf-doc-related {
    margin-top: 40px;
    padding-top: 8px;
  }
  
  .caf-doc-related-label {
    margin: 0 0 14px;
    font-size: 11.5px !important;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #9B9BAF;
  }
  
  .caf-doc-related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  
  .caf-doc-single .caf-doc-related-card,
  .caf-doc-single .caf-doc-related-card:visited {
    display: block;
    padding: 18px 20px;
    border: 1px solid var(--caf-doc-line);
    border-radius: 12px;
    background: #fff;
    text-decoration: none !important;
    transition: border-color .15s;
  }
  
  .caf-doc-single .caf-doc-related-card:hover {
    border-color: var(--caf-doc-orange);
    text-decoration: none !important;
  }
  
  .caf-doc-related-card-t {
    display: block;
    font-size: 15.5px !important;
    font-weight: 700;
    color: var(--caf-doc-navy);
    line-height: 1.35;
    margin-bottom: 6px;
  }
  
  .caf-doc-related-card-d {
    display: block;
    font-size: 13.5px !important;
    font-weight: 500;
    color: #9B9BAF;
    line-height: 1.45;
  }
  
  /* ----- Page feedback -----
     File: template-parts/docs/helpful.php
     Shortcode: [caf_doc_helpful]
     Classes: .caf-doc-helpful*
     (wireframe: .feedback)
  */
  .caf-doc-helpful {
    margin-top: 30px;
  }
  
  .caf-doc-helpful-panel {
    border: 1px solid var(--caf-doc-line);
    border-radius: 12px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    background: #fff;
  }
  
  .caf-doc-helpful-q {
    margin: 0;
    font-size: 14.5px !important;
    font-weight: 700;
    color: var(--caf-doc-navy);
    line-height: 1.4;
  }
  
  .caf-doc-helpful-opts {
    display: flex;
    gap: 9px;
    margin-left: auto;
    flex-wrap: wrap;
  }
  
  .caf-doc-helpful-btn {
    background: #fff;
    border: 1.5px solid #DEDEE6;
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px !important;
    font-weight: 600;
    padding: 8px 16px;
    cursor: pointer;
    color: var(--caf-doc-navy);
    line-height: 1.4;
    transition: border-color .15s, color .15s;
  }
  
  .caf-doc-helpful-btn:hover {
    border-color: var(--caf-doc-orange);
    color: var(--caf-doc-orange);
  }
  
  .caf-doc-helpful-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }
  
  .caf-doc-helpful-count {
    font-weight: 600;
    opacity: 0.85;
    margin-left: 2px;
  }
  
  .caf-doc-helpful.is-voted .caf-doc-helpful-panel {
    display: none;
  }
  
  .caf-doc-helpful-thanks {
    margin: 0;
    border: 1px solid var(--caf-doc-line);
    border-radius: 12px;
    padding: 20px 24px !important;
    box-sizing: border-box;
    font-size: 14.5px !important;
    font-weight: 600;
    color: var(--caf-doc-navy);
    background: #fff;
    display: none;
    line-height: 1.5 !important;
  }
  
  .caf-doc-single .caf-doc-helpful-thanks {
    padding-top: 20px !important;
    padding-right: 24px !important;
    padding-bottom: 20px !important;
    padding-left: 24px !important;
  }
  
  .caf-doc-helpful.is-voted .caf-doc-helpful-thanks {
    display: block;
  }
  
  /* ============================================================
     CAF Doc SINGLE — On this page (TOC)
     File: template-parts/docs/toc.php
     Shortcode: [caf_toc]
     Classes: .caf-doc-toc*
     (H2 main / H3 sub filled by script.js; smooth scroll + spy)
     ============================================================ */
  .caf-doc-toc {
    position: sticky;
    top: calc(var(--caf-doc-sticky-top, 100px) + 8px);
    align-self: start;
    padding: 30px 0;
    font-size: 14px;
    /* Match sample HTML .toc ? no own scrollbar; page scroll only */
  }
  
  .caf-doc-toc--empty,
  .caf-doc-toc[hidden] {
    display: none !important;
  }
  
  .caf-doc-toc-title {
    font-size: 11.5px !important;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #9B9BAF;
    margin: 0 0 12px;
  }
  
  .caf-doc-toc-nav {
    display: flex;
    flex-direction: column;
  }
  
  .caf-doc-single .caf-doc-toc-nav a,
  .caf-doc-single .caf-doc-toc-nav a:visited {
    display: block;
    color: var(--caf-doc-ink-soft) !important;
    padding: 6px 0 6px 12px;
    border-left: 3px solid var(--caf-doc-line);
    font-weight: 500;
    font-size: 14px !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
  }
  
  .caf-doc-single .caf-doc-toc-nav a:hover {
    color: var(--caf-doc-navy) !important;
    text-decoration: none !important;
  }
  
  .caf-doc-single .caf-doc-toc-nav a.on,
  .caf-doc-single .caf-doc-toc-nav a.on:visited,
  .caf-doc-single .caf-doc-toc-nav a.on:hover {
    color: var(--caf-doc-orange) !important;
    border-left-width: 3px;
    border-left-color: var(--caf-doc-orange);
    font-weight: 700;
  }
  
  .caf-doc-single .caf-doc-toc-nav a.caf-doc-toc-sub {
    padding-left: 24px;
    font-size: 13.5px !important;
  }
  /* ===== END [caf_toc] / toc.php ===== */
  
  /* ----- Single responsive (shell + sidebar + pagenav + related) ----- */
  @media (max-width: 1200px) {
    .caf-doc-shell {
      grid-template-columns: var(--caf-doc-sidebar) minmax(0, 1fr);
    }
  
    .caf-doc-toc {
      display: none !important;
    }
  }
  
  @media (max-width: 900px) {
    .caf-doc-shell {
      grid-template-columns: 1fr;
      gap: 0;
    }
  
    .caf-doc-sidebar {
      position: relative;
      top: 0 !important;
      height: auto;
      max-height: 320px !important;
      border-right: 0;
      border-bottom: 1px solid var(--caf-doc-line);
      margin-bottom: 10px;
    }
  
    .caf-doc-sidebar-inner {
      padding: 20px 0 40px;
    }
  
    .caf-doc-pagenav {
      grid-template-columns: 1fr;
    }
  
    .caf-doc-related-grid {
      grid-template-columns: 1fr;
    }
  
    .caf-doc-pagenav-next {
      text-align: left;
    }
  
    .caf-doc-pagenav-empty {
      display: none;
    }
  }
  /* ===== END single-caf_doc.php / .caf-doc-* (incl. shortcode parts) ===== */
  
  /* ============================================================
     CAF Docs — PARENT / CHILD TERM ARCHIVE
     Template: taxonomy-doc_section.php
     Prefix: .caf-docs-archive-*
     (Separate from Docs Home .caf-docs-* and Single .caf-doc-*)
     ============================================================ */
  
  .caf-docs-archive {
    --caf-arch-navy: #1E1E38;
    --caf-arch-orange: #F1592A;
    --caf-arch-orange-soft: #FFF3ED;
    --caf-arch-ink-soft: #55556B;
    --caf-arch-line: #ECECF2;
    font-family: "Poppins", -apple-system, "Segoe UI", sans-serif;
    color: var(--caf-arch-navy);
    -webkit-font-smoothing: antialiased;
    background: #fff;
  }
  
  .caf-docs-archive *,
  .caf-docs-archive *::before,
  .caf-docs-archive *::after {
    box-sizing: border-box;
  }
  
  .caf-docs-archive-wrap {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 32px;
  }
  
  .caf-docs-archive-sections {
    padding: 56px 0;
  }
  
  .caf-docs-archive-section {
    margin-bottom: 0;
  }
  
  .caf-docs-archive-title {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--caf-arch-navy);
    letter-spacing: -0.01em;
    line-height: 1.25;
  }
  
  .caf-docs-archive-sub {
    font-size: 14px;
    color: var(--caf-arch-ink-soft);
    margin: 0 0 26px;
    line-height: 1.5;
  }
  
  .caf-docs-archive-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    align-items: stretch;
  }
  
  .caf-docs-archive-cat {
    border: 1px solid var(--caf-arch-line);
    border-radius: 14px;
    padding: 26px 24px;
    transition: border-color .15s, transform .15s;
    background: #fff;
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }
  
  .caf-docs-archive-cat:hover {
    border-color: var(--caf-arch-orange);
    transform: translateY(-3px);
  }
  
  .caf-docs-archive-ic {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--caf-arch-orange-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    margin-bottom: 14px;
  }
  
  .caf-docs-archive-cat h3 {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 6px;
    color: var(--caf-arch-navy);
  }
  
  .caf-docs-archive .caf-docs-archive-cat-title-link,
  .caf-docs-archive .caf-docs-archive-cat-title-link:visited {
    color: inherit !important;
    font: inherit;
    line-height: inherit;
    text-decoration: none !important;
  }
  
  .caf-docs-archive .caf-docs-archive-cat-title-link:hover {
    color: var(--caf-arch-orange) !important;
  }
  
  .caf-docs-archive-cat > p {
    font-size: 13.5px;
    color: var(--caf-arch-ink-soft);
    line-height: 1.65;
    margin: 0 0 14px;
  }
  
  .caf-docs-archive-cat ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
  }
  
  .caf-docs-archive .caf-docs-archive-cat ul li a,
  .caf-docs-archive .caf-docs-archive-cat ul li a:visited {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--caf-arch-navy) !important;
    text-decoration: none !important;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
  }
  
  .caf-docs-archive-cat ul li a::before {
    content: "\203A";
    color: var(--caf-arch-orange);
    font-weight: 800;
    font-size: 16px;
    line-height: 1;
  }
  
  .caf-docs-archive .caf-docs-archive-cat ul li a:hover {
    color: var(--caf-arch-orange) !important;
  }
  
  /* Child term archive: flat post list (no cards) */
  .caf-docs-archive-posts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
  }
  
  .caf-docs-archive--child .caf-docs-archive-posts li a,
  .caf-docs-archive--child .caf-docs-archive-posts li a:visited {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: var(--caf-arch-navy) !important;
    text-decoration: none !important;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
  }
  
  .caf-docs-archive--child .caf-docs-archive-posts li a::before {
    content: "\203A";
    color: var(--caf-arch-orange);
    font-weight: 800;
    font-size: 18px;
    line-height: 1;
  }
  
  .caf-docs-archive--child .caf-docs-archive-posts li a:hover {
    color: var(--caf-arch-orange) !important;
  }
  
  /* ACF type badges — doc_section term archive (taxonomy-doc_section.php) */
  .caf-docs-archive .caf-docs-badge {
    display: inline-block;
    font-size: 10px !important;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 2px 6px;
    margin-left: 5px;
    vertical-align: 1px;
    line-height: 1.2;
    white-space: nowrap;
  }
  
  .caf-docs-archive .caf-docs-badge--pro {
    color: #fff;
    background: var(--caf-arch-navy);
  }
  
  .caf-docs-archive .caf-docs-badge--free {
    color: #fff;
    background: #2F9E6A;
  }
  
  .caf-docs-archive .caf-docs-badge--free-pro {
    color: #fff;
    background: var(--caf-arch-orange);
  }
  
  @media (max-width: 880px) {
    .caf-docs-archive-cats {
      grid-template-columns: 1fr 1fr;
    }
  }
  
  @media (max-width: 600px) {
    .caf-docs-archive-cats {
      grid-template-columns: 1fr;
    }
  
    .caf-docs-archive-wrap {
      padding: 0 20px;
    }
  
    .caf-docs-archive-title {
      font-size: 24px;
    }
  }
  
  /* ============================================================
     doc_section taxonomy — sidebar shell + nav
     Template: taxonomy-doc_section.php
     Partial: template-parts/docs/taxonomy-sidebar-nav.php
     Shortcode: [caf_tax_sidebar_nav]
     Prefix: .caf-tax-*
     ============================================================ */
  
  .caf-tax-doc-archive {
    --caf-tax-navy: #1E1E38;
    --caf-tax-orange: #F1592A;
    --caf-tax-orange-soft: #FFF3ED;
    --caf-tax-ink-soft: #55556B;
    --caf-tax-line: #ECECF2;
    --caf-tax-sidebar: 264px;
    font-family: "Poppins", -apple-system, "Segoe UI", sans-serif;
    color: var(--caf-tax-navy);
    -webkit-font-smoothing: antialiased;
    background: #fff;
  }
  
  .caf-tax-doc-archive *,
  .caf-tax-doc-archive *::before,
  .caf-tax-doc-archive *::after {
    box-sizing: border-box;
  }
  
  .caf-tax-doc-shell {
    display: grid;
    grid-template-columns: var(--caf-tax-sidebar) minmax(0, 1fr);
    gap: 40px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 26px;
    align-items: stretch;
  }
  
  .caf-tax-doc-main {
    min-width: 0;
    padding: 30px 0 90px;
  }
  
  .caf-tax-doc-main .caf-docs-archive {
    background: transparent;
  }
  
  .caf-tax-doc-main .caf-docs-archive-sections {
    padding: 0;
  }
  
  .caf-tax-doc-main .caf-docs-archive-wrap {
    max-width: none;
    padding: 0;
  }
  
  .caf-tax-sidebar {
    --caf-tax-sticky-top: 100px;
    position: sticky;
    top: var(--caf-tax-sticky-top);
    align-self: start;
    width: 100%;
    max-height: calc(100vh - var(--caf-tax-sticky-top) - 12px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    border-right: 1px solid var(--caf-tax-line);
    scrollbar-gutter: stable;
  }
  
  .caf-tax-sidebar-inner {
    padding: 26px 10px 120px 0;
  }
  
  .caf-tax-sidebar::-webkit-scrollbar {
    width: 6px;
  }
  
  .caf-tax-sidebar::-webkit-scrollbar-track {
    background: transparent;
  }
  
  .caf-tax-sidebar::-webkit-scrollbar-thumb {
    background: #D8D8E4;
    border-radius: 999px;
  }
  
  .caf-tax-sidebar::-webkit-scrollbar-thumb:hover {
    background: #C0C0D0;
  }
  
  .caf-tax-nav-sec {
    margin-bottom: 6px;
  }
  
  .caf-tax-nav-top {
    width: 100%;
    background: none;
    border: 0;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14.5px !important;
    font-weight: 700;
    color: var(--caf-tax-navy);
    text-align: left;
    line-height: 1.4;
  }
  
  .caf-tax-nav-top:hover {
    background: #FAFAFC;
  }
  
  .caf-tax-chev {
    margin-left: auto;
    width: 13px;
    height: 13px;
    transition: transform .2s;
    flex: none;
  }
  
  .caf-tax-chev svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #B4B4C4;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  
  .caf-tax-nav-sec.open .caf-tax-chev {
    transform: rotate(180deg);
  }
  
  .caf-tax-nav-kids {
    display: none;
    padding: 2px 0 8px 10px;
    border-left: 1px solid #F0F0F5;
    margin-left: 16px;
  }
  
  .caf-tax-nav-sec.open .caf-tax-nav-kids {
    display: block;
  }
  
  .caf-tax-nav-grp {
    margin-bottom: 4px;
  }
  
  .caf-tax-nav-grp-label {
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 0 2px;
    line-height: 1.5;
  }
  
  .caf-tax-nav-grp-label .caf-tax-nav-term {
    display: inline-block;
    color: var(--caf-tax-navy) !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 7px 10px;
    border-radius: 7px;
    line-height: 1.45 !important;
    transition: background .15s, color .15s;
  }
  
  .caf-tax-nav-grp-label .caf-tax-nav-term:hover {
    background: var(--caf-tax-orange-soft) !important;
    color: var(--caf-tax-orange) !important;
  }
  
  .caf-tax-nav-grp-label .caf-tax-nav-term.here,
  .caf-tax-nav-grp-label .caf-tax-nav-term.here:visited,
  .caf-tax-nav-grp-label .caf-tax-nav-term.here:hover {
    background: var(--caf-tax-orange-soft) !important;
    color: var(--caf-tax-orange) !important;
    font-weight: 800 !important;
  }
  
  .caf-tax-nav-count {
    font-weight: 700;
    letter-spacing: 0;
    margin-left: 2px;
    color: var(--caf-tax-ink-soft);
    font-size: 11px;
  }
  
  .caf-tax-nav-posts,
  .caf-tax-doc-archive .caf-tax-nav-posts li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0;
    padding: 0;
  }
  
  .caf-tax-doc-archive .caf-tax-nav-posts li::marker,
  .caf-tax-doc-archive .caf-tax-nav-posts li::before {
    content: none !important;
    display: none !important;
  }
  
  .caf-tax-nav-posts--flat {
    padding-top: 4px;
  }
  
  .caf-tax-doc-archive .caf-tax-nav-posts a,
  .caf-tax-doc-archive .caf-tax-nav-posts a:visited {
    display: block;
    font-size: 14px !important;
    font-weight: 500;
    color: var(--caf-tax-ink-soft) !important;
    padding: 7px 10px;
    border-radius: 7px;
    text-decoration: none !important;
    line-height: 1.45 !important;
  }
  
  .caf-tax-doc-archive .caf-tax-nav-posts a:hover {
    background: #FAFAFC;
    color: var(--caf-tax-navy) !important;
  }
  
  @media (max-width: 900px) {
    .caf-tax-doc-shell {
      grid-template-columns: 1fr;
      gap: 0;
    }
  
    .caf-tax-sidebar {
      position: relative;
      top: 0 !important;
      max-height: 320px !important;
      border-right: 0;
      border-bottom: 1px solid var(--caf-tax-line);
      margin-bottom: 10px;
    }
  
    .caf-tax-sidebar-inner {
      padding: 20px 0 40px;
    }
  
    .caf-tax-doc-main {
      padding-top: 10px;
    }
  }
  /* ===== END taxonomy sidebar / .caf-tax-* ===== */
  
  /* ===== END taxonomy-doc_section.php / .caf-docs-archive-* ===== */
  
  
  
  