/* =========================================
   CCTP CATEGORY NARRATIVE TYPOGRAPHY
   ========================================= */

/* Default heading sizes */
.cctp-category-copy {
    --cctp-h1: 36px;
    --cctp-h2: 28px;
    --cctp-h3: 20px;
    --cctp-h4: 16px;
}

/* Six selectable heading combinations */

.cctp-headings--36-28 {
    --cctp-h1: 36px;
    --cctp-h2: 28px;
    --cctp-h3: 20px;
    --cctp-h4: 16px;
}

.cctp-headings--36-24 {
    --cctp-h1: 36px;
    --cctp-h2: 24px;
    --cctp-h3: 18px;
    --cctp-h4: 16px;
}

.cctp-headings--32-24 {
    --cctp-h1: 32px;
    --cctp-h2: 24px;
    --cctp-h3: 18px;
    --cctp-h4: 16px;
}

.cctp-headings--32-20 {
    --cctp-h1: 32px;
    --cctp-h2: 20px;
    --cctp-h3: 18px;
    --cctp-h4: 16px;
}

.cctp-headings--28-20 {
    --cctp-h1: 28px;
    --cctp-h2: 20px;
    --cctp-h3: 18px;
    --cctp-h4: 16px;
}

.cctp-headings--28-18 {
    --cctp-h1: 28px;
    --cctp-h2: 18px;
    --cctp-h3: 16px;
    --cctp-h4: 14px;
}

/* Main category titles */

.cctp-category-copy > h1 {
    font-size: var(--cctp-h1);
    text-align: center;
    margin: 30px 0 10px;
    line-height: 1.33;
}

.cctp-category-copy > h2 {
    font-size: var(--cctp-h2);
    text-align: center;
    margin: 0 0 12px;
    line-height: 1.33;
}

/* Lower-level narrative headings */

.cctp-category-copy h3 {
    font-size: var(--cctp-h3);
    line-height: 1.33;
}

.cctp-category-copy h4 {
    font-size: var(--cctp-h4);
    line-height: 1.33;
}

/* Read More headings remain independent */

.cctp-category-copy details h2 {
    font-size: 18px;
    font-weight: 600;
    text-align: left;
    line-height: 1.33;
}


/* =========================================
   CCTP CATEGORY CONTEXTUAL LINKS
   ========================================= */

/* Narrative hyperlinks: bright blue, bold, underlined */

.cctp-category-copy p a,
.cctp-category-copy p a:visited,
.cctp-category-copy p a:hover {
    color: #0000ff !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

/* Keyboard navigation */

.cctp-category-copy p a:focus-visible {
    outline: 2px solid #0000ff;
    outline-offset: 2px;
}

/* =========================================
   CCTP READ MORE TOGGLE
   ========================================= */

.cctp-category-copy details > summary {
    cursor: pointer;
}

/* Bright blue and bold, but NOT underlined */

.cctp-category-copy details > summary .cctp-readmore-label,
.cctp-category-copy details > summary > span:first-child {
    color: #0000ff !important;
    font-weight: 700;
    text-decoration: none !important;
}

/* Click again to hide: small, normal text color */

.cctp-category-copy details > summary .cctp-readmore-hint {
    font-weight: 600;
    font-size: 12px;
    color: inherit;
}