/* ── Shared section header ─────────────────────────── */
.pg-section { margin-bottom: 4.5rem; }
.pg-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.25rem;
}
.pg-section-title {
    font-size: clamp(1.5rem, 2.6vw, 1.95rem);
    font-weight: 800;
    color: var(--c-ink);
    letter-spacing: -.025em;
    line-height: 1.15;
    margin: 0;
}
.pg-section-meta {
    font-size: .8rem;
    font-weight: 500;
    color: var(--c-muted);
    letter-spacing: .04em;
}

/* ── Author content tabs ──────────────────────────── */
.author-tabs {
    display: flex;
    gap: .25rem;
    border-bottom: 1px solid var(--c-line-mid);
    margin-bottom: 2.25rem;
    overflow-x: auto;
    scrollbar-width: none;
}
.author-tabs::-webkit-scrollbar { display: none; }
.author-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .95rem 1.25rem;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    color: var(--c-muted);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.005em;
    white-space: nowrap;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease;
    min-height: 48px;
}
.author-tab i {
    font-size: 1.05rem;
    color: var(--c-soft-text);
    transition: color .18s ease;
}
.author-tab:hover {
    color: var(--c-ink);
}
.author-tab:hover i { color: var(--c-accent); }
.author-tab:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
    border-radius: 4px;
}
.author-tab.is-active {
    color: var(--c-ink);
    font-weight: 700;
    border-bottom-color: var(--c-accent);
}
.author-tab.is-active i { color: var(--c-accent); }
.author-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.4rem;
    padding: 0 .5rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    color: var(--c-muted);
    background: var(--c-bg-soft);
    border-radius: 999px;
    transition: color .18s ease, background .18s ease;
}
.author-tab.is-active .author-tab-count {
    color: var(--c-accent);
    background: var(--c-bg-tint);
}
.author-tabpanel { animation: author-tab-fade .25s ease; }
@keyframes author-tab-fade {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 575px) {
    .author-tab { padding: .8rem 1rem; font-size: .95rem; }
    .author-tabs { margin-bottom: 1.75rem; }
}

/* ── Services ──────────────────────────────────────── */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2.5rem 3rem;
}
.service-tile {
    padding: 1.75rem 0 0;
    border-top: 1px solid var(--c-line-mid);
    background: transparent;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    transition: border-top-color .2s;
}
.service-tile:hover { border-top-color: var(--c-accent); }
.service-tile-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--c-ink);
    line-height: 1.35;
    margin: 0;
    letter-spacing: -.01em;
}
.service-tile-desc {
    font-size: .98rem;
    color: var(--c-body);
    line-height: 1.65;
    margin: 0;
    white-space: pre-line;
}
.service-tile-cta { margin-top: .35rem; }
.service-tile-cta a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--c-accent);
    text-decoration: none;
}
.service-tile-cta a:hover { color: var(--c-accent-hi); text-decoration: none; }
.service-tile-cta a:hover i { transform: translateX(3px); }
.service-tile-cta i { font-size: .85rem; transition: transform .15s; }
@media (max-width: 575px) {
    .services-grid { grid-template-columns: 1fr; gap: 2rem; }
}

/* ── Collections ───────────────────────────────────── */
.collections-eyebrow {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin: 0 0 .5rem;
}
.collections-list { display: flex; flex-direction: column; gap: 2rem; }
.collection-panel {
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-left: 3px solid var(--c-accent);
    border-radius: var(--r-lg);
    padding: 1.75rem 1.75rem 1.5rem;
    transition: box-shadow .18s ease, border-left-color .18s ease;
}
.collection-panel:hover {
    box-shadow: 0 10px 28px rgba(20,50,89,.08);
    border-left-color: var(--c-accent-hi);
}
.collection-header {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-bottom: 1.4rem;
}
.collection-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
}
.collection-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--c-ink);
    margin: 0;
    line-height: 1.3;
    letter-spacing: -.015em;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
}
.collection-title i {
    color: var(--c-accent);
    font-size: .9em;
}
.collection-count {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: var(--c-bg-tint);
    color: var(--c-accent);
    white-space: nowrap;
}
.collection-desc {
    font-size: .98rem;
    color: var(--c-body);
    margin: .25rem 0 0;
    line-height: 1.6;
    max-width: 62ch;
}
.collection-articles { margin-top: .25rem; }
.collection-expand-row {
    display: flex;
    justify-content: center;
    margin-top: 1.25rem;
}
.collection-expand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1.4rem;
    background: var(--c-paper);
    border: 1px solid var(--c-line-mid);
    border-radius: 999px;
    color: var(--c-ink);
    font-family: inherit;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: -.005em;
    cursor: pointer;
    transition: border-color .15s, color .15s, background .15s, box-shadow .15s;
    min-height: 40px;
}
.collection-expand:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
    background: var(--c-bg-tint);
    box-shadow: 0 6px 18px rgba(48,113,242,.10);
}
.collection-expand:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
}
.collection-expand-icon { transition: transform .2s ease; font-size: .9rem; }
.collection-expand.is-expanded .collection-expand-icon { transform: rotate(180deg); }
@media (max-width: 575px) {
    .collection-panel { padding: 1.25rem 1.25rem 1rem; }
    .collection-title { font-size: 1.2rem; }
}

/* ── Business Card (premium) ───────────────────────── */
.card-premium-wrap { margin: 0 0 2.25rem; }
.card-premium-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: .55rem;
}
.card-premium-btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem 1.5rem;
    background: #16a34a;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    min-height: 44px;
    box-shadow: 0 2px 10px rgba(22,163,74,.28);
    transition: background .15s, transform .15s, box-shadow .15s;
}
.card-premium-btn:hover {
    background: #15803d;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(22,163,74,.38);
}
.card-premium-btn i { font-size: 1rem; }

/* ── Share row ─────────────────────────────────────── */
.share-row {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 0 4.5rem;
}
.share-label {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin: 0;
}
.share-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.share-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem 1rem;
    border-radius: 100px;
    font-size: .78rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform 140ms ease, filter 140ms ease, box-shadow 140ms ease;
    line-height: 1;
    min-height: 40px;
    white-space: nowrap;
}
.share-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    box-shadow: 0 5px 16px rgba(0,0,0,.2);
    text-decoration: none;
    color: inherit;
}
.share-btn i { font-size: .95rem; flex-shrink: 0; }
.share-btn-linkedin  { background: #0A66C2; color: #fff; }
.share-btn-whatsapp  { background: #25D366; color: #fff; }
.share-btn-facebook  { background: #1877F2; color: #fff; }
.share-btn-x         { background: #000;    color: #fff; }
.share-btn-instagram {
    background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #515bd4 100%);
    color: #fff;
}
@media (max-width: 389px) {
    .share-btn-text { display: none; }
    .share-btn { padding: .5rem .7rem; }
}

/* ── Articles list (editorial) ─────────────────────── */
.filter-section {
    background: var(--c-bg-soft);
    border: 1px solid var(--c-line);
    border-radius: var(--r-md);
    padding: 1.25rem 1.5rem;
    margin-bottom: 2.5rem;
}
.filter-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--c-line);
}
.filter-section-title {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--c-muted);
    display: flex;
    align-items: center;
    gap: .5rem;
}
.filter-label {
    display: block;
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: .5rem;
}
.filter-control {
    border-color: var(--c-line-mid);
    border-radius: var(--r-sm);
    font-size: .88rem;
    color: var(--c-ink);
    background: var(--c-paper);
    transition: border-color 150ms ease, box-shadow 150ms ease;
}
.filter-control:hover { border-color: var(--c-accent-hi); }
.filter-control:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 3px rgba(48,113,242,.12);
    outline: none;
}
.filter-reset {
    font-size: .78rem;
    color: var(--c-muted);
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    transition: color 150ms ease;
}
.filter-reset:hover { color: var(--c-accent); text-decoration: none; }
.filter-divider {
    border: none;
    border-top: 1px solid var(--c-line);
    margin: 1rem 0;
}
.category-checkbox-grid { display: flex; flex-wrap: wrap; gap: .4rem; }
.category-checkbox {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .85rem;
    border: 1px solid var(--c-line-mid);
    border-radius: 999px;
    font-size: .78rem;
    color: var(--c-body);
    background: var(--c-paper);
    cursor: pointer;
    user-select: none;
    transition: border-color .15s, background .15s, color .15s;
    min-height: 36px;
    margin: 0;
}
.category-checkbox input { accent-color: var(--c-accent); margin: 0; }
.category-checkbox:hover { border-color: var(--c-accent); color: var(--c-ink); }
.category-checkbox.is-checked {
    background: var(--c-bg-tint);
    border-color: var(--c-accent);
    color: var(--c-accent);
    font-weight: 600;
}
.filter-apply-btn {
    background: var(--c-ink);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: .55rem 1.5rem;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .01em;
    min-height: 40px;
    transition: background .15s, transform .15s;
}
.filter-apply-btn:hover {
    background: var(--c-accent);
    color: #fff;
    transform: translateY(-1px);
}

.articles-list {
    display: flex;
    flex-direction: column;
}
.article-card {
    border: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid var(--c-line);
    padding: 2rem 0;
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    position: relative;
    transition: padding .15s;
}
.article-card:first-child { padding-top: 0; }
.article-card:last-child { border-bottom: none; }
.article-card-thumb-wrap {
    width: 180px;
    flex-shrink: 0;
    aspect-ratio: 16/10;
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--c-bg-soft);
    order: 2;
}
.article-card-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.article-card-thumb-placeholder {
    width: 100%;
    height: 100%;
    background: var(--c-bg-tint);
    display: flex;
    align-items: center;
    justify-content: center;
}
.article-card-body {
    padding: 0;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    order: 1;
}
.article-meta {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    font-size: .76rem;
}
.category-pill {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--c-accent);
    border: none;
    white-space: nowrap;
}
.article-meta-sep {
    color: var(--c-soft-text);
    font-size: .7rem;
}
.article-date {
    font-size: .82rem;
    color: var(--c-muted);
    font-weight: 500;
}
.article-title {
    font-size: clamp(1.25rem, 1.8vw, 1.5rem);
    font-weight: 700;
    color: var(--c-ink);
    line-height: 1.3;
    text-decoration: none;
    display: block;
    margin: 0;
    letter-spacing: -.02em;
    transition: color 150ms ease;
}
.article-title:hover { color: var(--c-accent); text-decoration: none; }
.article-summary {
    font-size: 1rem;
    color: var(--c-body);
    line-height: 1.65;
    margin: 0;
    max-width: 62ch;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left;
}
@media (max-width: 767.98px) {
    .article-card { flex-direction: column; gap: 1rem; }
    .article-card-thumb-wrap { width: 100%; aspect-ratio: 16/9; order: 1; }
    .article-card-body { order: 2; }
    .article-title { font-size: 1.2rem; }
}

/* ── Pagination (clean) ────────────────────────────── */
.pagination .page-link {
    border: 1px solid var(--c-line);
    color: var(--c-body);
    border-radius: var(--r-sm) !important;
    font-weight: 500;
    font-size: .88rem;
}
.pagination .page-link:hover {
    background: var(--c-bg-tint);
    color: var(--c-accent);
    border-color: var(--c-line-mid);
}
.pagination .page-item.active .page-link {
    background: var(--c-ink);
    border-color: var(--c-ink);
    color: #fff;
}
.pagination .page-item.disabled .page-link { opacity: .4; }

/* ── Empty state ───────────────────────────────────── */
.empty-state {
    background: transparent;
    border: 1px dashed var(--c-line-mid);
    border-radius: var(--r-md);
    padding: 3rem 1.5rem;
    text-align: center;
    color: var(--c-muted);
    font-size: .95rem;
}

/* ── Comments ──────────────────────────────────────── */
.comments-section {
    padding-top: 3rem;
    margin-top: 4.5rem;
    border-top: 1px solid var(--c-line);
}
.comments-heading {
    font-size: clamp(1.5rem, 2.6vw, 1.95rem);
    font-weight: 800;
    color: var(--c-ink);
    margin-bottom: 2rem;
    letter-spacing: -.025em;
    display: inline-flex;
    align-items: baseline;
    gap: .55rem;
}
.comments-heading-count {
    font-size: .9rem;
    font-weight: 500;
    color: var(--c-muted);
    letter-spacing: 0;
}
.comment-form-card {
    background: var(--c-bg-soft);
    border: 1px solid var(--c-line);
    border-radius: var(--r-lg);
    padding: 1.75rem 1.85rem;
}
.comment-form-title {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: 1.1rem;
}
.comment-form-card .form-label { color: var(--c-ink); font-weight: 500; font-size: .85rem; }
.comment-form-card .text-muted  { color: var(--c-muted) !important; }
.comment-form-card .form-control {
    border-color: var(--c-line-mid);
    border-radius: var(--r-sm);
    font-size: .92rem;
    background: var(--c-paper);
    transition: border-color .15s, box-shadow .15s;
}
.comment-form-card .form-control:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 3px rgba(48,113,242,.12);
}
.reply-indicator {
    display: none;
    font-size: .82rem;
    color: var(--c-accent);
    margin-bottom: .85rem;
    align-items: center;
    gap: .5rem;
    padding: .5rem .85rem;
    background: var(--c-bg-tint);
    border-radius: var(--r-sm);
    border-left: 3px solid var(--c-accent);
}
.reply-indicator.active { display: flex; }
.commenting-as {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .9rem;
    background: var(--c-bg-tint);
    border: 1px solid rgba(48,113,242,.18);
    border-radius: var(--r-sm);
    color: var(--c-ink);
    font-size: .88rem;
}
.commenting-as i { color: var(--c-accent); }
.reply-indicator-cancel {
    cursor: pointer;
    color: var(--c-muted);
    font-size: .78rem;
    text-decoration: underline;
    background: none;
    border: none;
    padding: 0;
    margin-left: auto;
}

.btn-comment-submit {
    background: var(--c-ink);
    color: #fff;
    min-height: 44px;
    padding: .65rem 1.75rem;
    font-weight: 600;
    font-size: .9rem;
    border-radius: 999px;
    border: none;
    transition: background .15s, transform .15s;
}
.btn-comment-submit:hover {
    background: var(--c-accent);
    color: #fff;
    transform: translateY(-1px);
}

.comments-list {
    display: flex;
    flex-direction: column;
    margin-top: 2.5rem;
}
.comment-item {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 1.75rem 0;
    box-shadow: none;
    border-bottom: 1px solid var(--c-line);
    transition: none;
}
.comment-item:hover { box-shadow: none; border-color: var(--c-line); }
.comment-item:first-child { padding-top: 0; }
.comment-item:last-child { border-bottom: none; }

.comment-header {
    display: flex;
    align-items: center;
    gap: .85rem;
    flex-wrap: nowrap;
    margin-bottom: 1rem;
}
.comment-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
    font-weight: 700;
    flex-shrink: 0;
    user-select: none;
}
.comment-avatar--sm { width: 32px; height: 32px; min-width: 32px; font-size: .72rem; }
.comment-author-block { display: flex; flex-direction: column; gap: .1rem; min-width: 0; flex: 1; }
.comment-author { font-size: .92rem; font-weight: 600; color: var(--c-ink); line-height: 1.25; }
.comment-date  { font-size: .74rem; color: var(--c-muted); line-height: 1.3; }
.comment-admin-tools { display: flex; align-items: center; gap: .4rem; margin-left: auto; flex-shrink: 0; }
.comment-email-admin {
    font-size: .7rem;
    color: var(--c-muted);
    font-style: italic;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}
.comment-content { font-size: 1rem; color: var(--c-body); margin: 0 0 .85rem; line-height: 1.7; word-break: break-word; }
.comment-actions { display: flex; align-items: center; gap: .5rem; }
.btn-reply {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .75rem;
    background: transparent;
    border: 1px solid var(--c-line-mid);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 500;
    color: var(--c-body);
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
    min-height: 32px;
    line-height: 1;
}
.btn-reply:hover {
    background: var(--c-bg-tint);
    border-color: var(--c-accent);
    color: var(--c-accent);
    text-decoration: none;
}
.btn-reply:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.btn-reply i { font-size: .8rem; }
.btn-delete-comment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    padding: 0;
    color: var(--c-muted);
    cursor: pointer;
    font-size: .82rem;
    border-radius: 6px;
    transition: background 140ms ease, color 140ms ease;
    flex-shrink: 0;
}
.btn-delete-comment:hover { background: #fde8e8; color: #c0392b; }
.comment-replies { margin-top: 1.1rem; display: flex; flex-direction: column; gap: .85rem; padding-left: 1.5rem; border-left: 1px solid var(--c-line); margin-left: .85rem; }
.comment-reply {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: .25rem 0 .5rem;
    margin-left: 0;
}
@media (max-width: 479px) {
    .comment-replies { padding-left: 1rem; margin-left: .5rem; }
    .comment-form-card { padding: 1.25rem; }
}
.comments-pagination { padding-top: 2rem; }

/* ── Dark mode (html.dark-mode toggled globally) ───── */
html.dark-mode {
    --c-ink-dm:      #f0e0e0;
    --c-body-dm:     #b58a8a;
    --c-muted-dm:    #aa8888;
    --c-accent-dm:   #ff4444;
    --c-accent-hi-dm:#ff6666;
    --c-tint-dm:     rgba(139,0,0,.22);
    --c-line-dm:     rgba(139,0,0,.3);
    --c-line-mid-dm: rgba(139,0,0,.42);
    --c-bg-soft-dm:  rgba(40,0,0,.32);
    --c-paper-dm:    rgba(20,0,0,.5);
}
html.dark-mode .back-link { color: var(--c-muted-dm); }
html.dark-mode .back-link:hover { color: var(--c-accent-hi-dm); }

html.dark-mode .author-profile-name { color: var(--c-ink-dm) !important; }
html.dark-mode .author-profile-bio { color: var(--c-body-dm); }
html.dark-mode .author-profile-initials {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
}
html.dark-mode .topic-pill {
    background: transparent;
    color: var(--c-body-dm);
    border-color: var(--c-line-mid-dm);
}
html.dark-mode .topic-pill:hover {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
    border-color: var(--c-accent-hi-dm);
}
html.dark-mode .author-profile-link { color: var(--c-muted-dm); }
html.dark-mode .author-profile-link:hover {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
}

html.dark-mode .pg-section-title { color: var(--c-ink-dm) !important; }
html.dark-mode .pg-section-meta { color: var(--c-muted-dm); }

html.dark-mode .author-tabs { border-bottom-color: var(--c-line-mid-dm); }
html.dark-mode .author-tab { color: var(--c-muted-dm); }
html.dark-mode .author-tab i { color: var(--c-muted-dm); }
html.dark-mode .author-tab:hover { color: var(--c-ink-dm); }
html.dark-mode .author-tab:hover i { color: var(--c-accent-hi-dm); }
html.dark-mode .author-tab.is-active { color: var(--c-ink-dm); border-bottom-color: var(--c-accent-dm); }
html.dark-mode .author-tab.is-active i { color: var(--c-accent-hi-dm); }
html.dark-mode .author-tab-count { color: var(--c-muted-dm); background: var(--c-line-dm); }
html.dark-mode .author-tab.is-active .author-tab-count { color: var(--c-accent-hi-dm); background: var(--c-tint-dm); }

html.dark-mode .service-tile { border-top-color: var(--c-line-mid-dm); }
html.dark-mode .service-tile:hover { border-top-color: var(--c-accent-dm); }
html.dark-mode .service-tile-title { color: var(--c-ink-dm) !important; }
html.dark-mode .service-tile-desc { color: var(--c-body-dm); }
html.dark-mode .service-tile-cta a { color: var(--c-accent-hi-dm); }
html.dark-mode .service-tile-cta a:hover { color: var(--c-accent-dm); }

html.dark-mode .collections-eyebrow { color: var(--c-muted-dm); }
html.dark-mode .collection-panel {
    background: var(--c-paper-dm);
    border-color: var(--c-line-dm);
    border-left-color: var(--c-accent-dm);
}
html.dark-mode .collection-panel:hover { border-left-color: var(--c-accent-hi-dm); }
html.dark-mode .collection-title { color: var(--c-ink-dm) !important; }
html.dark-mode .collection-title i { color: var(--c-accent-hi-dm); }
html.dark-mode .collection-count {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
}
html.dark-mode .collection-desc { color: var(--c-body-dm); }
html.dark-mode .collection-expand {
    background: var(--c-paper-dm);
    border-color: var(--c-line-mid-dm);
    color: var(--c-ink-dm);
}
html.dark-mode .collection-expand:hover {
    background: var(--c-tint-dm);
    border-color: var(--c-accent-hi-dm);
    color: var(--c-accent-hi-dm);
}

html.dark-mode .card-premium-label { color: var(--c-muted-dm); }
html.dark-mode .card-premium-btn {
    background: #15803d;
    box-shadow: 0 2px 10px rgba(0,0,0,.4);
}
html.dark-mode .card-premium-btn:hover {
    background: #166534;
    box-shadow: 0 6px 20px rgba(0,0,0,.5);
}

html.dark-mode .share-label { color: var(--c-muted-dm); }
html.dark-mode .share-btn:hover {
    filter: brightness(1.2);
    box-shadow: 0 5px 20px rgba(0,0,0,.45);
}

html.dark-mode .filter-section {
    background: var(--c-bg-soft-dm);
    border-color: var(--c-line-dm);
}
html.dark-mode .filter-section-header { border-bottom-color: var(--c-line-dm); }
html.dark-mode .filter-section-title,
html.dark-mode .filter-label { color: var(--c-muted-dm) !important; }
html.dark-mode .filter-control {
    background: var(--c-paper-dm);
    border-color: var(--c-line-mid-dm);
    color: var(--c-ink-dm);
}
html.dark-mode .filter-control:hover { border-color: var(--c-accent-hi-dm); }
html.dark-mode .filter-control:focus {
    border-color: var(--c-accent-dm);
    box-shadow: 0 0 0 3px rgba(255,80,80,.15);
}
html.dark-mode .filter-reset { color: var(--c-muted-dm); }
html.dark-mode .filter-reset:hover { color: var(--c-accent-dm); }
html.dark-mode .filter-divider { border-top-color: var(--c-line-dm); }
html.dark-mode .filter-apply-btn { background: #8b0000; color: #fff; }
html.dark-mode .filter-apply-btn:hover { background: var(--c-accent-dm); }
html.dark-mode .category-checkbox {
    background: var(--c-paper-dm);
    border-color: var(--c-line-mid-dm);
    color: var(--c-body-dm);
}
html.dark-mode .category-checkbox:hover { border-color: var(--c-accent-hi-dm); color: var(--c-ink-dm); }
html.dark-mode .category-checkbox.is-checked {
    background: var(--c-tint-dm);
    border-color: var(--c-accent-hi-dm);
    color: var(--c-accent-hi-dm);
}
html.dark-mode .category-checkbox input { accent-color: var(--c-accent-dm); }

html.dark-mode .article-card { border-bottom-color: var(--c-line-dm); }
html.dark-mode .article-card-thumb-wrap { background: var(--c-bg-soft-dm); }
html.dark-mode .article-card-thumb-placeholder { background: var(--c-tint-dm); }
html.dark-mode .category-pill { color: var(--c-accent-hi-dm); }
html.dark-mode .article-title { color: var(--c-ink-dm); }
html.dark-mode .article-title:hover { color: var(--c-accent-hi-dm); }
html.dark-mode .article-date,
html.dark-mode .article-meta-sep { color: var(--c-muted-dm); }
html.dark-mode .article-summary { color: var(--c-body-dm); }

html.dark-mode .empty-state {
    background: transparent;
    border-color: var(--c-line-mid-dm);
    color: var(--c-muted-dm);
}

html.dark-mode .pagination .page-link {
    background: transparent;
    border-color: var(--c-line-dm);
    color: var(--c-body-dm);
}
html.dark-mode .pagination .page-link:hover {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
    border-color: var(--c-line-mid-dm);
}
html.dark-mode .pagination .page-item.active .page-link {
    background: #8b0000;
    border-color: #8b0000;
    color: #fff;
}

html.dark-mode .comments-section { border-top-color: var(--c-line-dm); }
html.dark-mode .comments-heading { color: var(--c-ink-dm) !important; }
html.dark-mode .comments-heading-count { color: var(--c-muted-dm); }
html.dark-mode .comment-form-card {
    background: var(--c-bg-soft-dm);
    border-color: var(--c-line-dm);
}
html.dark-mode .comment-form-title { color: var(--c-muted-dm); }
html.dark-mode .comment-form-card .form-label { color: var(--c-ink-dm); }
html.dark-mode .comment-form-card .form-control {
    background: var(--c-paper-dm);
    border-color: var(--c-line-mid-dm);
    color: var(--c-ink-dm);
}
html.dark-mode .comment-form-card .form-control:focus {
    border-color: var(--c-accent-dm);
    box-shadow: 0 0 0 3px rgba(255,80,80,.15);
}
html.dark-mode .commenting-as {
    background: var(--c-tint-dm);
    border-color: var(--c-line-mid-dm);
    color: var(--c-ink-dm);
}
html.dark-mode .commenting-as i { color: var(--c-accent-hi-dm); }
html.dark-mode .reply-indicator {
    background: var(--c-tint-dm);
    color: var(--c-accent-hi-dm);
    border-left-color: var(--c-accent-dm);
}
html.dark-mode .btn-comment-submit { background: #8b0000; color: #fff; }
html.dark-mode .btn-comment-submit:hover { background: var(--c-accent-dm); }
html.dark-mode .comment-item { border-bottom-color: var(--c-line-dm); }
html.dark-mode .comment-author { color: var(--c-ink-dm); }
html.dark-mode .comment-date,
html.dark-mode .comment-email-admin { color: var(--c-muted-dm); }
html.dark-mode .comment-content { color: var(--c-body-dm); }
html.dark-mode .btn-reply {
    background: transparent;
    border-color: var(--c-line-mid-dm);
    color: var(--c-body-dm);
}
html.dark-mode .btn-reply:hover {
    background: var(--c-tint-dm);
    border-color: var(--c-accent-hi-dm);
    color: var(--c-accent-hi-dm);
}
html.dark-mode .comment-replies { border-left-color: var(--c-line-dm); }

/* ── Statistics tab panel ──────────────────────────── */
.stats-panel { padding-top: .5rem; }

.stats-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 260px;
    color: var(--c-muted);
    font-size: .88rem;
    font-weight: 500;
}
.stats-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--c-line-mid);
    border-top-color: var(--c-accent);
    border-radius: 50%;
    animation: stats-spin .7s linear infinite;
}
@keyframes stats-spin {
    to { transform: rotate(360deg); }
}

.stats-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    text-align: center;
}

.stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
}
@media (max-width: 767.98px) {
    .stats-grid { grid-template-columns: 1fr; }
}

.stats-card {
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--r-lg);
    padding: 1.75rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    box-shadow: 0 2px 12px rgba(20,50,89,.045);
    transition: box-shadow .2s ease, transform .2s ease;
}
.stats-card:hover {
    box-shadow: 0 8px 28px rgba(20,50,89,.09);
    transform: translateY(-2px);
}

.stats-card-header {
    display: flex;
    align-items: center;
    gap: .65rem;
}
.stats-card-icon {
    font-size: 1.1rem;
    color: var(--c-accent);
}
.stats-card-title {
    font-size: .95rem;
    font-weight: 700;
    color: var(--c-ink);
    margin: 0;
    letter-spacing: -.01em;
}

.stats-chart-container {
    min-height: 220px;
    flex: 1;
}

.stats-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .75rem;
    margin-top: .25rem;
}
.stats-legend-item {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    color: var(--c-body);
    font-weight: 500;
}
.stats-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.stats-totals-row {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: .25rem;
}
.stats-total-pill {
    flex: 1;
    min-width: 72px;
    background: var(--c-bg-soft);
    border: 1px solid var(--c-line);
    border-radius: var(--r-md);
    padding: .75rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
    text-align: center;
    transition: background .15s, border-color .15s;
}
.stats-total-pill:hover {
    background: var(--c-bg-tint);
    border-color: var(--c-accent);
}
.stats-total-num {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--c-ink);
    letter-spacing: -.03em;
    line-height: 1;
}
.stats-total-label {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--c-muted);
}

/* dark-mode stats */
html.dark-mode .stats-card {
    background: var(--c-paper-dm);
    border-color: var(--c-line-dm);
    box-shadow: 0 2px 12px rgba(0,0,0,.25);
}
html.dark-mode .stats-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.38); }
html.dark-mode .stats-card-title { color: var(--c-ink-dm) !important; }
html.dark-mode .stats-card-icon { color: var(--c-accent-hi-dm); }
html.dark-mode .stats-legend-item { color: var(--c-body-dm); }
html.dark-mode .stats-total-pill {
    background: var(--c-bg-soft-dm);
    border-color: var(--c-line-dm);
}
html.dark-mode .stats-total-pill:hover {
    background: var(--c-tint-dm);
    border-color: var(--c-accent-hi-dm);
}
html.dark-mode .stats-total-num { color: var(--c-ink-dm) !important; }
html.dark-mode .stats-total-label { color: var(--c-muted-dm); }
html.dark-mode .stats-loading { color: var(--c-muted-dm); }
html.dark-mode .stats-spinner {
    border-color: var(--c-line-dm);
    border-top-color: var(--c-accent-hi-dm);
}
