/* ============================================================
   Criminal CPD Library — Frontend Styles
   These styles control the paper list output from shortcodes.
   Brand variables are set in the child theme style.css.
   ============================================================ */

/* ─── Paper List ──────────────────────────────────────────── */

.cpd-paper-list {
    margin: 0;
    padding: 0;
}

.cpd-subcategory-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--cpd-deep-slate, #25363E);
    margin: 2.25rem 0 0.5rem;
    padding-bottom: 0.375rem;
    border-bottom: 2px solid var(--cpd-soft-grey, #D9DAD9);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.cpd-papers {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cpd-paper-item {
    padding: 0.4rem 0;
    border-bottom: 1px solid #eeeeee;
    line-height: 1.55;
    font-size: 0.9375rem;
}

.cpd-paper-item:last-child {
    border-bottom: none;
}

.cpd-paper-link {
    color: var(--cpd-deep-slate, #25363E);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s ease;
}

.cpd-paper-link:hover,
.cpd-paper-link:focus {
    color: var(--cpd-burgundy, #72383E);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cpd-paper-meta {
    color: #666666;
    font-size: 0.875rem;
    font-weight: 400;
}

.cpd-no-papers {
    color: #888;
    font-style: italic;
    font-size: 0.9375rem;
}

/* ─── Recently Added ──────────────────────────────────────── */

.cpd-recently-added {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cpd-recent-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--cpd-soft-grey, #D9DAD9);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.cpd-recent-item:last-child {
    border-bottom: none;
}

.cpd-recent-item a {
    color: var(--cpd-deep-slate, #25363E);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s ease;
}

.cpd-recent-item a:hover {
    color: var(--cpd-burgundy, #72383E);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ─── Category Navigation ─────────────────────────────────── */

.cpd-category-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cpd-cat-item {
    border-bottom: 1px solid var(--cpd-soft-grey, #D9DAD9);
}

.cpd-cat-item a {
    display: block;
    padding: 0.5rem 0;
    color: var(--cpd-deep-slate, #25363E);
    font-size: 0.9375rem;
    font-weight: 400;
    text-decoration: none;
    transition: color 0.15s ease, padding-left 0.15s ease;
}

.cpd-cat-item a:hover,
.cpd-cat-item.cpd-active a {
    color: var(--cpd-burgundy, #72383E);
    padding-left: 0.5rem;
    font-weight: 600;
}

.cpd-cat-count {
    color: #aaa;
    font-size: 0.8125rem;
    font-weight: 400;
}

/* ─── Social Share ────────────────────────────────────────── */

.cpd-social-share {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--cpd-soft-grey, #D9DAD9);
}

.cpd-share-label {
    font-size: 0.8125rem;
    color: #888;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cpd-share-btn {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cpd-deep-slate, #25363E);
    text-decoration: none;
    padding: 0.3rem 0.875rem;
    border: 1.5px solid var(--cpd-deep-slate, #25363E);
    border-radius: 3px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.cpd-share-btn:hover {
    background-color: var(--cpd-deep-slate, #25363E);
    color: #ffffff;
}

.cpd-share-linkedin {
    border-color: #0A66C2;
    color: #0A66C2;
}

.cpd-share-linkedin:hover {
    background-color: #0A66C2;
    color: #ffffff;
}
