/* ==========================================================================
   Site-wide typography — PT Serif everywhere, Assistant as fallback
   ========================================================================== */

/* Everything uses PT Serif with Assistant fallback */


/* Body default */
body {
    font-family: 'PT Serif', 'Assistant', serif !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.site-title,
.widget-title,
.post-title,
.card-title,
.nhp-title-clamp,
.nhp-hero-title,
.nhp-digest-title,
.nhp-section-title,
.nhp-news-title,
.nhp-opinion-title,
.nhp-analytics-title,
.nhp-podcast-title,
.cah-title,
.cah-item-title,
.single-title-zone h1,
.blog-post h2 {
    font-family: 'PT Serif', 'Assistant', serif !important;
}

/* Paragraphs */
p,
.entry-content p,
.page-content p,
.post .entry-content p,
.nhp-excerpt,
.nhp-lead,
.cah-lead,
.cah-item-excerpt,
.blog-post p,
.excerpt,
.news-source p,
.event-summary p,
.description {
    font-family: 'PT Serif', 'Assistant', serif !important;
}

/* Spans and links */
span,
a,
select,
input,
textarea,
button,
.nhp a,
.nhp span,
.cah-back a,
.cah-year-card,
.cah-label,
.cah-select,
.cah-btn,
.main-navigation li a,
.meta span,
.date,
.category,
.author-info a,
.tags a,
.pagination a,
.pagination span,
.archive-filters label,
.archive-filters select,
.archive-filters button {
    font-family: 'PT Serif', 'Assistant', serif !important;
}

/* Links inside headings */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.entry-title a,
.card-title a,
.cah-item-title a,
.nhp-hero-title a,
.nhp-digest-title a,
.nhp-section-title a,
.nhp-news-title a,
.nhp-opinion-title a,
.nhp-analytics-title a,
.nhp-podcast-title a,
.blog-post h2 a {
    font-family: 'PT Serif', 'Assistant', serif !important;
}

/* Exclude admin bar from font override to preserve icon fonts (Dashicons) */
#wpadminbar,
#wpadminbar *,
#wpadminbar *::before,
#wpadminbar *::after {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* Ensure admin bar icons display correctly */
#wpadminbar .ab-icon,
#wpadminbar .ab-item::before,
#wpadminbar .ab-item::after,
#wpadminbar .ab-icon::before {
    font-family: dashicons !important;
}

/* ==========================================================================
   Buttons — site-wide primary style (cah-btn cah-btn-primary)
   cah-btn-secondary remains in filters only.
   ========================================================================== */

.cah-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 6px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.cah-btn-primary,
a.cah-btn-primary,
button.cah-btn-primary {
    background: #0073aa;
    color: #fff;
}

.cah-btn-primary:hover,
a.cah-btn-primary:hover,
button.cah-btn-primary:hover {
    background: #005a87;
    color: #fff;
}

.cah-btn-secondary,
a.cah-btn-secondary {
    background: #fff;
    color: #555;
    border: 1px solid #ccc;
}

.cah-btn-secondary:hover,
a.cah-btn-secondary:hover {
    background: #f0f0f0;
    color: #1a1a1a;
}

/* ==========================================================================
   Logo
   ========================================================================== */

.logo {
    background-position: center center !important;
}

/* ==========================================================================
   Navigation & typography
   ========================================================================== */

.main-navigation li a {
    color: #383636;
    font-weight: 500;
}

.main-navigation .current-menu-item a,
.main-navigation .current-menu-item>a,
.main-navigation li.current-menu-item a {
    font-weight: 700;
}

/* ==========================================================================
   Single / CPT — entry content same design as post single
   (Ensures .single .entry-content and .singular .entry-content match .post)
   ========================================================================== */

.single .entry-content p,
.singular .entry-content p {
    max-width: 730px;
    margin: 0 auto 25px auto;
    color: #424242;
    font-family: 'PT Serif', 'Georgia';
    font-size: 20px;
    font-weight: 400;
    line-height: 35px;
}

.single .entry-content p a,
.single .entry-content li a,
.single .entry-content dd a,
.singular .entry-content p a,
.singular .entry-content li a,
.singular .entry-content dd a {
    color: #424242;
    box-shadow: inset 0 -5px 0 rgba(124, 141, 191, 0.44);
    transition: 0.2s;
}

.single .entry-content p a:hover,
.single .entry-content p a:focus,
.single .entry-content li a:hover,
.single .entry-content li a:focus,
.single .entry-content dd a:hover,
.single .entry-content dd a:focus,
.singular .entry-content p a:hover,
.singular .entry-content p a:focus,
.singular .entry-content li a:hover,
.singular .entry-content li a:focus,
.singular .entry-content dd a:hover,
.singular .entry-content dd a:focus {
    text-decoration: none;
    box-shadow: inset 0 -5px 0 rgba(124, 141, 191, 0.7);
    transition: 0.2s;
}

.single .entry-content img,
.singular .entry-content img {
    max-width: 100%;
    height: auto;
    margin-top: 35px;
    margin-bottom: 50px;
}

.single .entry-content blockquote,
.singular .entry-content blockquote {
    padding: 20px 15px 20px 0 !important;
    margin-bottom: 30px !important;
    border-left: 8px solid #efefef !important;
}

.single .entry-content blockquote p,
.singular .entry-content blockquote p {
    color: rgba(0, 0, 0, 0.64);
    margin-bottom: 0;
}

.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6,
.singular .entry-content h1,
.singular .entry-content h2,
.singular .entry-content h3,
.singular .entry-content h4,
.singular .entry-content h5,
.singular .entry-content h6 {
    max-width: 730px;
    margin: 0 auto 18px auto;
    padding-top: 20px;
}

.single .entry-content h1,
.singular .entry-content h1 {
    font-size: 2.1rem;
}

.single .entry-content h2,
.singular .entry-content h2 {
    font-size: 1.8rem;
}

.single .entry-content h3,
.singular .entry-content h3 {
    font-size: 1.35rem;
}

.single .entry-content h4,
.singular .entry-content h4 {
    font-size: 1.3rem;
}

.single .entry-content h5,
.singular .entry-content h5 {
    font-size: 1.2rem;
}

.single .entry-content h6,
.singular .entry-content h6 {
    font-size: 1.1rem;
}

.single .entry-content ul,
.single .entry-content ol,
.singular .entry-content ul,
.singular .entry-content ol {
    margin: 25px auto;
    padding: 0;
    max-width: 730px;
    color: #424242;
    font-family: 'PT Serif', 'Georgia';
    font-size: 20px;
    font-weight: 400;
}

.single .entry-content li,
.singular .entry-content li {
    padding: 0 0 15px 0;
    margin-left: 30px;
    line-height: 35px;
}

.single .entry-content li:last-child,
.singular .entry-content li:last-child {
    padding: 0;
}

.single .entry-content ul li ul,
.single .entry-content ul li ol,
.singular .entry-content ul li ul,
.singular .entry-content ul li ol {
    margin: 20px 0;
}

.single .entry-content ul li ul li ul,
.single .entry-content ul li ul li ol,
.singular .entry-content ul li ul li ul,
.singular .entry-content ul li ul li ol {
    margin-top: 15px;
    margin-bottom: 15px;
}

.single .entry-content ol li ol,
.single .entry-content ol li ul,
.singular .entry-content ol li ol,
.singular .entry-content ol li ul {
    margin: 20px 0;
}

.single .entry-content table,
.singular .entry-content table {
    max-width: 730px;
    margin: 10px auto 20px auto;
    font-size: 16px;
}

.single .entry-content table>thead>tr>th,
.single .entry-content table>tbody>tr>th,
.single .entry-content table>tfoot>tr>th,
.single .entry-content table>thead>tr>td,
.single .entry-content table>tbody>tr>td,
.single .entry-content table>tfoot>tr>td,
.singular .entry-content table>thead>tr>th,
.singular .entry-content table>tbody>tr>th,
.singular .entry-content table>tfoot>tr>th,
.singular .entry-content table>thead>tr>td,
.singular .entry-content table>tbody>tr>td,
.singular .entry-content table>tfoot>tr>td {
    padding: 20px;
}

.single .entry-content dl,
.singular .entry-content dl {
    max-width: 730px;
    margin: 0 auto;
    color: #424242;
    font-family: 'PT Serif', 'Georgia';
    font-size: 20px;
    line-height: 35px;
}

.single .entry-content dd,
.singular .entry-content dd {
    margin-bottom: 25px;
}

.single .entry-content pre,
.singular .entry-content pre {
    margin: 0 auto 40px;
    max-width: 730px;
    padding: 30px;
    background: #f1f1f1;
    border-radius: 3px;
}

.single .entry-content code,
.singular .entry-content code {
    background: #f1f1f1;
    font-size: 16px;
    border-radius: 5px;
}

.single .entry-content address,
.singular .entry-content address {
    margin: 0 auto 40px auto;
    max-width: 730px;
    font-family: 'PT Serif', 'Georgia';
    font-size: 20px;
    font-weight: 400;
    line-height: 35px;
}

/* CPT-specific blocks (news source, digest sections, etc.) keep max-width consistent */
.single .entry-content .news-source,
.single .entry-content .analytics-section,
.single .entry-content .opinion-disclaimer,
.single .entry-content .opinion-references,
.single .entry-content .related-chronicle-events,
.single .entry-content .chronicle-referenced-by,
.single .entry-content .event-summary,
.single .entry-content .event-participants,
.single .entry-content .event-sources,
.single .entry-content .digest-section,
.singular .entry-content .news-source,
.singular .entry-content .analytics-section,
.singular .entry-content .opinion-disclaimer,
.singular .entry-content .opinion-references,
.singular .entry-content .related-chronicle-events,
.singular .entry-content .chronicle-referenced-by,
.singular .entry-content .event-summary,
.singular .entry-content .event-participants,
.singular .entry-content .event-sources,
.singular .entry-content .digest-section {
    max-width: 730px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Cards
   ========================================================================== */

.card-title a {
    color: #383636;
}

.card-meta {
    display: none;
}

/* ==========================================================================
   Post content
   ========================================================================== */

.post .entry-content p {
    color: #383636;
}

/* ==========================================================================
   Author
   ========================================================================== */

.blog-post .author,
.author {
    margin-bottom: 12px;
    display: none;
}

/* ==========================================================================
   SVG Arrows — consistent arrow styling site-wide
   ========================================================================== */

.nhp-link-arrow,
.nhp-pagination-arrow {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.nhp-pagination-arrow {
    width: 16px;
    height: 16px;
}

.pagination .page-numbers .nhp-pagination-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   Social icons
   ========================================================================== */

.social-icons.row {
    justify-content: flex-end;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    gap: 0.5rem;
}

.social-icons .col {
    flex: 0 0 auto;
    spacing: 0.5rem;
}

/* Larger icon size (icon fonts or background icons) */
.social-icons [class*="icon-social"] {
    font-size: 1.35em;
    width: 1.5em;
    height: 1.5em;
    background-size: contain;
}

.footer {
    padding: 20px 0 !important;
}

/* ==========================================================================
   Single Post Header — Separated image and title layout
   ========================================================================== */

.single-header-wrapper {
    width: 100%;
    background: #fff;
}

.single-featured-image {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden;
}

.single-featured-image img.single-featured-img {
    width: 100%;
    max-width: 800px;
    height: 500px;
    display: block;
    margin: 0 auto;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
}

.single-title-section {
    padding: 40px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.single-title-zone {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hide sidebar on single pages */
body.single .sidebar,
body.single aside.sidebar,
body.single #secondary {
    display: none !important;
}

/* Make content full width on single pages */
body.single .content.col-lg-9,
body.single .content.col-lg-8,
body.single .content.col-lg-12 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
}

/* Constrain content width for readability */
body.single .content {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .single-featured-image {
        padding: 0 16px;
    }

    .single-featured-image img.single-featured-img {
        max-width: 100%;
        height: 300px;
        border-radius: 6px;
    }

    .single-title-section {
        padding: 32px 0;
    }

    .single-title-zone {
        padding: 0 16px;
    }

    .single-title-zone h1 {
        font-size: 2rem;
    }

    body.single .content {
        max-width: 100%;
        padding: 0 16px;
    }
}

.single-title-zone .category {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    margin-bottom: 12px;
}

.single-title-zone .category a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.single-title-zone .category a:hover {
    color: #111827;
}

.single-title-zone h1 {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #111827;
    margin: 0 0 20px 0;
    font-family: 'PT Serif', 'Assistant', serif !important;
}

.single-title-zone .date {
    display: block;
    font-size: 15px;
    color: #6b7280;
    margin-top: 12px;
}

/* Hide old overlay thumbnail structure */
.single-thumbnail {
    display: none !important;
}

.single-thumbnail-inside {
    display: none !important;
}

/* ==========================================================================
   Weekly Digest Single Page — Clean design without featured images
   ========================================================================== */

/* Hide featured image section for weekly_digest posts - comprehensive rules */
body.single-weekly_digest .single-thumbnail,
body.post-type-weekly_digest .single-thumbnail,
body[class*="weekly-digest"] .single-thumbnail,
body[class*="weekly_digest"] .single-thumbnail {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-weekly_digest .single-featured-image,
body.post-type-weekly_digest .single-featured-image {
    display: none !important;
}

.weekly-digest-header {
    padding: 60px 20px 40px;
    background: #f8f8f6;
    border-bottom: 2px solid #000;
    margin-bottom: 40px;
}

/* Weekly digest / any single with no featured image: same header design, dark bar */
.single-header-wrapper.single-header-no-image {
    background: transparent;
    padding: 48px 0 40px;
    border-bottom: 2px solid #000;
}

.weekly-digest-regions {
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    margin-bottom: 12px;
}

.weekly-digest-title {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.2;
    color: #111827;
    margin: 0 0 20px 0;
    font-family: 'PT Serif', 'Assistant', serif !important;
}

.weekly-digest-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: 15px;
    color: #6b7280;
}

.weekly-digest-date {
    color: #6b7280;
}

.weekly-digest-separator {
    color: #d1d5db;
}

.weekly-digest-topics a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.2s ease;
}

.weekly-digest-topics a:hover {
    color: #111827;
    text-decoration: underline;
}

.weekly-digest-article {
    margin-top: 0;
}

.digest-section {
    margin-top: 48px;
    padding: 32px;
    background: #f8f8f6;
    border-left: 4px solid #000;
    border-radius: 4px;
}

.digest-section-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 20px 0;
    color: #111827;
    font-family: 'PT Serif', 'Assistant', serif !important;
}

.digest-section-content {
    font-size: 17px;
    line-height: 1.7;
    color: #111827;
}

.digest-section-content p {
    margin-bottom: 16px;
}

.digest-section-content p:last-child {
    margin-bottom: 0;
}

.related-chronicle-events {
    margin-top: 48px;
    padding: 32px;
    background: #f8f8f6;
    border-radius: 4px;
}

.related-events-title {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 24px 0;
    color: #111827;
    font-family: 'PT Serif', 'Assistant', serif !important;
}

.chronicle-events-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.chronicle-event-item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
}

.chronicle-event-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.chronicle-event-link {
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    display: block;
    margin-bottom: 6px;
    transition: color 0.2s ease;
}

.chronicle-event-link:hover {
    color: #1e40af;
    text-decoration: underline;
}

.event-date {
    font-size: 14px;
    color: #6b7280;
    margin-left: 8px;
}

.event-summary {
    font-size: 15px;
    color: #6b7280;
    margin: 8px 0 0 0;
    line-height: 1.6;
}

/* Tags styling for all single pages (including CPTs) */
.single .tags,
.singular .tags {
    max-width: 730px;
    margin-left: auto;
    margin-right: auto;
}

.single .tags a,
.singular .tags a {
    display: inline-block;
    margin: 0 13px 15px 0;
    padding: 7px 17px;
    color: #6d6d6d;
    font-family: 'Heebo', 'Arial';
    font-size: 15px;
    font-weight: 400;
    text-transform: uppercase;
    transition: 0.3s;
    background: #efeeee;
    border-radius: 4px;
    text-decoration: none;
}

.single .tags a:hover,
.single .tags a:focus,
.singular .tags a:hover,
.singular .tags a:focus {
    background-color: #dcdbdb;
    text-decoration: none;
    transition: 0.3s;
}

/* Mobile responsive tags */
@media (max-width: 767px) {

    .single .tags,
    .singular .tags {
        margin: 25px auto 22px auto;
    }

    .single .tags a,
    .singular .tags a {
        margin: 0 8px 11px 0;
        padding: 5px 13px;
        font-size: 14px;
        text-transform: capitalize;
    }
}

/* Google Translate plugin styling */
#glt-translate-trigger {
    margin-bottom: 10px;
    border-radius: 10px;
    padding: 10px 20px;
}

#glt-translate-trigger .notranslate {
    background-color: #0073aa !important;
}

@media screen and (min-width: 991px) {
    header {
        margin-top: 40px !important;
    }
}