/**
Theme Name: ArgentumPress Child V2
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: argentumpress-child-v2
Template: astra
*/

/* ============================================
   CHROME ADMIN BAR FIX
   ============================================ */

/* Fix voor Chrome cache issues wanneer ingelogd */
body.logged-in .ap-author-hero,
body.logged-in .ap-author-card {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* ============================================
   AUTHOR PAGE HERO STYLING
   ============================================ */

.ap-author-hero {
    max-width: var(--ast-container-width, 1200px);
    margin: 2rem auto 20px;
    padding: 3.5rem 2rem 2.5rem;
    background: linear-gradient(135deg, #f8fafb 0%, #f0f4f7 100%);
    border-radius: 12px;
    border: 1px solid #f0f0f0;
    position: relative;
    overflow: hidden;
}

/* Subtle decorative element */

/* Subtle decorative element */
.ap-author-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(1, 132, 188, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.ap-author-hero-inner {
    max-width: var(--ast-container-width, 1200px);
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 3rem;
    align-items: start;
    position: relative;
    z-index: 1;
}

/* Author Photo */
.ap-author-photo {
    position: relative;
}

.ap-author-photo img {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    border: 5px solid #ffffff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12),
        0 2px 8px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ap-author-photo img:hover {
    transform: scale(1.05);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Author Info */
.ap-author-info {
    padding-top: 0.5rem;
}

.ap-author-name {
    margin: 0 0 0.75rem;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    font-family: inherit;
}

.ap-author-expertise {
    margin: 0 0 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #612b3d;
    display: inline-block;
    padding: 0.35rem 1rem;
    background: linear-gradient(135deg, rgba(97, 43, 61, 0.08) 0%, rgba(97, 43, 61, 0.15) 100%);
    border-radius: 4px;
    border: 1px solid rgba(97, 43, 61, 0.1);
}

.ap-author-credentials {
    margin: 0 0 1.25rem;
    font-size: 1rem;
    color: #666;
    font-weight: 500;
}

.ap-author-bio {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #444;
    max-width: 700px;
}

.ap-author-bio p {
    margin: 0 0 1rem;
}

.ap-author-bio p:last-child {
    margin-bottom: 0;
}

/* Articles Section Header */
.ap-author-articles-header {
    padding: 3rem 20px 2rem;
    text-align: center;
}

.ap-articles-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: #1a1a1a;
}

.ap-articles-subtitle {
    margin: 0;
    font-size: 1rem;
    color: #777;
}

.ap-no-posts {
    padding: 3rem 0;
    text-align: center;
    font-size: 1.1rem;
    color: #666;
}

/* ============================================
   FORCED GRID LAYOUT FOR ARTICLES
   ============================================ */

.ap-author-grid-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 2rem !important;
    margin-bottom: 3rem;
}

/* Article Cards */
.ap-author-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex !important;
    flex-direction: column;
    height: 100%;
}

.ap-author-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Thumbnail */
.ap-card-thumbnail,
.ap-card-thumbnail-link {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f5f5f5;
    display: block;
    /* Ensure link is block level */
    margin: 0;
    /* Safety cleanup */
    padding: 0;
    /* Safety cleanup */
}

.ap-card-thumbnail a,
.ap-card-thumbnail-link {
    display: block;
    width: 100%;
    height: 100%;
}

.ap-card-thumbnail img,
.ap-card-thumbnail-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    margin: 0;
    padding: 0;
    display: block;
    /* Removes bottom spacing on inline-block images */
}

.ap-author-card:hover .ap-card-thumbnail img,
.ap-author-card:hover .ap-card-thumbnail-link img {
    transform: scale(1.08);
}

/* Card Content */
.ap-card-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Category Badge */
.ap-card-category {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ast-global-color-0, #0184bc);
    margin-bottom: 0.75rem;
}

/* Title */
.ap-card-title {
    margin: 0 0 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
}

.ap-card-title a {
    color: #1a1a1a;
    text-decoration: none;
}

/* Universal Load More */
.ap-post-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.ap-load-more-wrapper {
    width: 100%;
    text-align: center;
    padding: 40px 0;
    clear: both;
}

.ap-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    background: #612b3d;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    min-width: 220px;
    transition: background 0.3s ease, opacity 0.3s ease;
}

.ap-button:hover {
    background: #4c2130;
}

.ap-button--secondary {
    background: #612b3d;
}

.ap-button--secondary:hover {
    background: #4c2130;
}

.ap-button-content {
    display: inline-block;
}

.ap-result-msg-container {
    margin-bottom: 24px;
    font-size: 0.95rem;
    color: #666;
}

.ap-no-posts-wrapper {
    text-align: center;
    padding: 40px 0;
    color: #555;
}

.ap-result-count,
.ap-result-keyword {
    font-weight: 700;
    color: #333;
}

.ap-result-keyword {
    color: #444;
}

#ap-main-load-more.is-loading {
    opacity: 0.85;
    cursor: progress;
}

.ap-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    animation: ap-spinner-spin 0.8s linear infinite;
    opacity: 0;
    transition: opacity 0.2s ease;
}

#ap-main-load-more.is-loading .ap-spinner {
    opacity: 1;
}

@keyframes ap-spinner-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ap-fade-in {
    animation: fadeIn 0.35s ease both;
}

@media (max-width: 921px) {
    .ap-post-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 544px) {
    .ap-post-grid-container {
        grid-template-columns: 1fr;
    }
}

.ap-card-title a:hover {
    color: var(--ast-global-color-0, #0184bc);
}

/* Excerpt */
.ap-card-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 1rem;
    flex: 1;
}

/* Meta (date) */
.ap-card-meta {
    font-size: 0.85rem;
    color: #999;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #eee;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 992px) {
    .ap-author-grid-container {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
        gap: 1.5rem !important;
    }
}

@media (max-width: 768px) {

    /* Minimal mobile adjustments - keep desktop layout intact */
    .ap-journalistiek-single {
        padding: 1rem;
        overflow: visible !important;
    }

    .ap-post-journalistiek {
        overflow: visible !important;
    }

    .ap-header-journalistiek {
        overflow: visible !important;
    }

    .ap-header-grid,
    .ap-header-2col {
        display: block !important;
        gap: 2rem !important;
    }

    .ap-header-content {
        order: 2;
    }

    .ap-header-media,
    .ap-image-column {
        position: static !important;
        order: 1 !important;
        margin-bottom: 2rem;
        max-height: none !important;
    }

    .ap-img-right {
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
    }

    .ap-post-title {
        text-align: center !important;
        font-size: 1.6rem !important;
    }

    .ap-post-content {
        padding: 0 1rem;
    }
}

@media (max-width: 640px) {
    .ap-author-grid-container {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
}

@media (max-width: 480px) {
    .ap-author-hero {
        max-width: var(--ast-container-width, 1200px);
        margin: 2rem auto 20px;
        padding: 3.5rem 2rem 2.5rem;
        background: linear-gradient(135deg, #f8fafb 0%, #f0f4f7 100%);
        border-radius: 12px;
        border: 1px solid #f0f0f0;
        position: relative;
        overflow: hidden;
    }

    /* De rest van de styling wordt hergebruikt */
    .ap-author-hero-old-style-hidden {
        padding: 2rem 0 1.5rem;
    }

    .ap-author-hero-inner {
        gap: 1.5rem;
    }

    .ap-author-photo img {
        width: 120px;
        height: 120px;
        border-width: 4px;
    }

    .ap-author-name {
        font-size: 1.75rem;
    }

    .ap-author-expertise {
        font-size: 0.75rem;
    }

    .ap-author-credentials {
        font-size: 0.9rem;
    }

    .ap-author-bio {
        font-size: 1rem;
    }

    .ap-card-content {
        padding: 1.25rem;
    }

    .ap-card-title {
        font-size: 1.1rem;
    }
}

/* ============================================
   PAGINATION STYLING
   ============================================ */

/* ============================================
   SPACING OVERRIDES
   ============================================ */
/* Reduce spacing on archives using our new class */
.ap-archive-container {
    margin-top: 10px !important;
}

/* Also kill standard Astra top padding on these pages */
.archive .site-content,
.category .site-content,
.tag .site-content,
.search .site-content {
    padding-top: 0 !important;
}

/* ============================================
   PAGINATION STYLING
   ============================================ */

/* Standard Centering Approach */
.author .ast-pagination,
.archive .ast-pagination,
.category .ast-pagination,
.tag .ast-pagination,
.search .ast-pagination {
    margin-top: 3rem;
    text-align: center;
}

.author .ast-pagination .page-numbers,
.archive .ast-pagination .page-numbers,
.category .ast-pagination .page-numbers,
.tag .ast-pagination .page-numbers,
.search .ast-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0;
    margin: 0 0.25rem;
    background: #ffffff;
    border: 2px solid #e5e5e5;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1;
}

.author .ast-pagination .page-numbers:hover,
.author .ast-pagination .page-numbers.current,
.archive .ast-pagination .page-numbers:hover,
.archive .ast-pagination .page-numbers.current,
.author .ast-pagination .page-numbers:hover,
.author .ast-pagination .page-numbers.current,
.archive .ast-pagination .page-numbers:hover,
.archive .ast-pagination .page-numbers.current,
.category .ast-pagination .page-numbers:hover,
.category .ast-pagination .page-numbers.current,
.tag .ast-pagination .page-numbers:hover,
.tag .ast-pagination .page-numbers.current,
.search .ast-pagination .page-numbers:hover,
.search .ast-pagination .page-numbers.current {
    background: var(--ast-global-color-0, #0184bc);
    border-color: var(--ast-global-color-0, #0184bc);
    color: #ffffff;
}

/* Specific styling for Next/Prev buttons to give them more breathing room */
.ast-pagination .next.page-numbers,
.ast-pagination .prev.page-numbers {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    width: auto !important;
    /* Allow width to expand beyond the square box */
    min-width: 40px;
    /* Keep minimum height/width consistency */
}

/* ============================================
   SHORTCODE GRID STYLING
   ============================================ */

/* Grid Layout - Mirrors .ap-author-grid-container */
.ap-latest-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    width: 100%;
}

/* Card Styling - Mirrors .ap-author-card */
.ap-latest-post-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ap-latest-post-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Thumbnail - Mirrors .ap-card-thumbnail */
.ap-latest-thumb {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f5f5f5;
    display: block;
}

.ap-latest-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.ap-latest-post-card:hover .ap-latest-thumb img {
    transform: scale(1.08);
}

/* Content Area - Mirrors .ap-card-content */
.ap-latest-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Title - Mirrors .ap-card-title */
.ap-latest-title {
    margin: 0 0 0.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
}

.ap-latest-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.2s ease;
}

.ap-latest-title a:hover {
    color: var(--ast-global-color-0, #0184bc);
}

/* Excerpt - Mirrors .ap-card-excerpt */
.ap-latest-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 1rem;
    flex: 1;
}

/* Meta (Date) - Mirrors .ap-card-meta but moves to top in your HTML snippet structure */
/* Note: In your HTML snippet, meta is ABOVE title. I'll style it to look good there. */
.ap-latest-meta {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #999;
    margin-bottom: 0.5rem;
}

/* Responsive */
@media (max-width: 992px) {
    .ap-latest-posts-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 1.5rem;
    }
}

@media (max-width: 640px) {
    .ap-latest-posts-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   FORCE DISPLAY FIXES
   ============================================ */

/* Override any Astra settings that might show full content */
.author .entry-content,
.archive .entry-content,
.category .entry-content,
.tag .entry-content,
.search .entry-content {
    display: none !important;
}

.author .ast-archive-description,
.archive .ast-archive-description,
.category .ast-archive-description,
.tag .ast-archive-description,
.search .ast-archive-description {
    display: none !important;
}

/* Make sure our custom cards always display correctly */
.ap-author-card .entry-header,
.ap-author-card .post-thumb-img-content {
    display: none !important;
}

/* 
   CRITICAL: Remove padding from Astra cards and ensure full-width images 
   This fixes "picture frame" borders
*/
.ap-author-card,
.ap-latest-post-card {
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
    /* Managed by grid gap */
}

/* Force image containers to be full width with no margin/padding */
.ap-card-thumbnail,
.ap-card-thumbnail-link,
.ap-latest-thumb {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
    border: none !important;
}

.ap-card-thumbnail img,
.ap-card-thumbnail-link img,
.ap-latest-thumb img {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* ============================================
   CAROUSEL OVERRIDES
   ============================================ */

/* Pagination Dots Color */
.swiper-pagination-bullet-active {
    background: #612b3d !important;
}

/* Fix Arrow Clickability and Positioning */
.ap-carousel-wrapper .swiper-button-prev,
.ap-carousel-wrapper .swiper-button-next {
    z-index: 9999 !important;
    /* Force top layer */
    color: #612b3d !important;
    /* Enforce Maroon */
    background: rgba(255, 255, 255, 0.9) !important;
    /* Halo for visibility */
    width: 44px !important;
    height: 44px !important;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    /* Force clickable */
    opacity: 1 !important;
    /* Prevent theme hiding */
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
}

.ap-carousel-wrapper .swiper-button-prev::after,
.ap-carousel-wrapper .swiper-button-next::after {
    font-size: 20px !important;
    font-weight: bold;
}


.ap-carousel-wrapper .swiper-button-disabled {
    opacity: 0.5 !important;
    cursor: default !important;
}

/* Hover effect for carousel card titles */
.ap-latest-title a:hover {
    color: #612b3d !important;
    transition: color 0.3s ease;
}

/* ============================================
   TEAM SHORTCODE STYLING [ap_team]
   ============================================ */

.ap-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2.5rem;
    margin: 3rem 0;
}

.ap-team-member {
    background: #ffffff;
    border-radius: 12px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ap-team-member:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

/* Photo */
.ap-team-photo {
    width: 140px;
    height: 140px;
    margin: 0 auto 1.5rem;
    position: relative;
}

.ap-team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.ap-team-member:hover .ap-team-photo img {
    transform: scale(1.05);
}

/* Typography */
.ap-team-name {
    margin: 0 0 0.5rem;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.ap-team-name a {
    color: #1a1a1a;
    text-decoration: none !important;
    border-bottom: none !important;
    transition: color 0.2s ease;
}

.ap-team-name a:hover {
    color: #612b3d;
    /* Highlight color */
}

.ap-team-title {
    margin: 0 0 1.5rem;
    color: #612b3d;
    /* Maroon */
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Action Buttons */
.ap-team-links {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    margin-top: auto;
    width: 100%;
    position: relative;
    /* Ensure stacking context */
    z-index: 100;
    /* Bring above any potential overlays */
}

.ap-team-email,
.ap-team-linkedin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem 1.2rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none !important;
    border-radius: 50px;
    transition: all 0.2s ease;
    min-width: 100px;
    cursor: pointer !important;
    /* Force pointer */
    position: relative;
    /* needed for z-index */
    z-index: 101;
    /* Ensure button sits above container */
}

.ap-team-email:active,
.ap-team-linkedin:active {
    transform: scale(0.95);
    /* Visual feedback on click */
}

.ap-team-email {
    background-color: #f5f5f5;
    color: #555;
    border: 1px solid transparent;
}

.ap-team-email:hover {
    background-color: #e0e0e0;
    color: #333;
    transform: translateY(-2px);
}

.ap-team-linkedin {
    background-color: #0077b5;
    /* LinkedIn Blue */
    color: #ffffff;
}

.ap-team-linkedin:hover {
    background-color: #006097;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 119, 181, 0.3);
}

/* Responsive */
@media (max-width: 600px) {
    .ap-team-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* ============================================
   JOURNALISTIEKE SINGLE POST STYLING (PERFECTIE)
   ============================================ */

.ap-journalistiek-single {
    max-width: 100%;
    padding: 10px 2rem 4rem;
    background: #fff;
    min-height: 100vh;
}

.ap-post-journalistiek {
    max-width: 1200px;
    /* lets give some more room */
    margin: 0 auto;
}

/* 1. Categories (Bovenaan de grid) */
.ap-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.ap-category-badge {
    padding: 0.4rem 1rem;
    background: rgba(97, 43, 61, 0.15);
    /* Paars #612b3d */
    color: #612b3d;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid rgba(97, 43, 61, 0.1);
}

/* 2. Header Grid Layout (60/40) */
.ap-header-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4.5rem;
    align-items: start;
    margin-bottom: 5rem;
}

/* Linkse Kolom (Content) */
.ap-header-content {
    display: flex;
    flex-direction: column;
}

.ap-post-title {
    font-size: 2.2rem;
    /* Was 2.8rem */
    line-height: 1.2;
    font-weight: 800;
    margin: 0 0 1.5rem;
    color: #1a1a1a;
    letter-spacing: -0.01em;
}

.ap-post-lead {
    font-size: 1.1rem;
    /* Was 1.2rem */
    line-height: 1.7;
    color: #333;
    font-weight: 500;
    margin-bottom: 2.5rem;
}

.ap-post-lead p {
    margin: 0;
}

/* Meta onderaan de tekst */
.ap-post-meta-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: #666;
    padding-top: 1.5rem;
    border-top: 1px solid #f0f0f0;
}

.ap-post-meta-bottom a {
    color: #1a1a1a;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.ap-post-meta-bottom a:hover {
    color: #612b3d;
}

.ap-meta-sep {
    color: #ddd;
}

/* Rechtse Kolom (Media - Sticky) */
.ap-image-column {
    position: sticky;
    top: 20px;
    /* Stay near the top when scrolling */
    align-self: start;
    max-height: 100vh;
    /* Prevent overflow */
}

.ap-featured-right {
    margin: 0;
}

.ap-image-wrapper {
    margin-bottom: 1.25rem;
}

.ap-img-right {
    width: 100%;
    height: 60vh;
    /* Fixed height for cover look */
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(97, 43, 61, 0.15);
    /* Subtiele paarse schaduw */
    display: block;
}

.ap-caption {
    font-size: 0.85rem;
    color: #888;
    line-height: 1.4;
    font-style: italic;
    padding-left: 0.75rem;
    border-left: 2px solid #612b3d;
}

/* 3. Artikel Content (Elementor) */
.ap-post-content {
    max-width: 850px;
    /* Smalle content kolom voor leesbaarheid */
    margin: 0 auto;
    font-size: 1.15rem;
    line-height: 1.85;
    color: #222;
}

.ap-post-content p {
    margin-bottom: 1.85rem;
}

/* Elementor Override: Zorg dat Elementor secties de container breedte volgen */
.ap-post-content .elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 100%;
}

/* 4. Footer & Tags */
.ap-post-footer {
    max-width: 850px;
    margin: 5rem auto 0;
    padding-top: 3rem;
    border-top: 1px solid #f0f0f0;
}

.ap-tags {
    margin-bottom: 3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ap-tags a {
    font-size: 0.9rem;
    color: #777;
    background: #f9f9f9;
    padding: 0.3rem 0.8rem;
    border-radius: 3px;
    text-decoration: none;
}

/* Responsive Overrides */
@media (max-width: 1024px) {
    .ap-img-right {
        height: 50vh;
    }
}

@media (max-width: 960px) {
    .ap-header-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .ap-image-column {
        position: static;
        order: -1;
        /* Foto bovenaan dwingen */
        margin-bottom: 2rem;
    }

    .ap-img-right {
        height: 40vh;
    }
}

@media (max-width: 768px) {
    /* Minimal mobile adjustments - keep desktop layout intact */
    .ap-journalistiek-single {
        padding: 1rem;
        overflow: visible !important;
    }

    .ap-post-journalistiek {
        overflow: visible !important;
    }

    .ap-header-journalistiek {
        overflow: visible !important;
    }

    .ap-header-grid,
    .ap-header-2col {
        display: block !important;
        gap: 2rem !important;
    }

    .ap-header-content {
        order: 2;
    }

    .ap-header-media,
    .ap-image-column {
        position: static !important;
        order: 1 !important;
        margin-bottom: 2rem;
        max-height: none !important;
    }

    .ap-img-right {
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
    }

    .ap-post-title {
        text-align: center !important;
        font-size: 1.6rem !important;
    }

    .ap-post-content {
        padding: 0 1rem;
    }
}

@media screen and (max-width: 960px) {
    /* De container */
    .ap-header-grid.ap-header-2col {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* De foto bovenaan dwingen */
    .ap-image-column {
        order: -1 !important;
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0 0 2rem 0 !important;
        padding: 0 !important;
    }

    /* De afbeelding zelf */
    .ap-img-right {
        width: 100% !important;
        height: auto !important;
        min-height: 250px !important;
        max-height: 40vh !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* De tekst (Titel, Intro, Meta) */
    .ap-header-content {
        order: 1 !important;
        width: 100% !important;
        padding: 0 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Categorie badges - strak links uitgelijnd */
    .ap-categories {
        margin-bottom: 1rem !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    .ap-category-badge {
        padding: 0.35rem 0.85rem !important;
        font-size: 0.75rem !important;
        margin-right: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        text-align: left !important;
    }

    /* Titel */
    .ap-post-title {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin: 0 0 1rem 0 !important;
        padding: 0 !important;
        text-align: left !important;
        letter-spacing: -0.01em !important;
    }

    /* Inleiding/Lead */
    .ap-post-lead {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        margin: 0 0 1.5rem 0 !important;
        padding: 0 !important;
        text-align: left !important;
        color: #555 !important;
    }

    .ap-post-lead p {
        margin: 0 !important;
    }

    /* Meta onderaan header */
    .ap-post-meta-bottom {
        margin-top: auto !important;
        padding-top: 1rem !important;
        padding-bottom: 0 !important;
        border-top: 1px solid #f0f0f0 !important;
        margin-bottom: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    /* Verwijder standaard padding van .ap-journalistiek-single */
    .ap-journalistiek-single {
        padding: 1rem 0 4rem !important;
    }

    /* Post content padding */
    .ap-post-content {
        padding: 0 20px !important;
        margin: 1.5rem 0 0 0 !important;
    }

    /* Footer ook met consistent padding */
    .ap-post-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
    }

    /* Zorg dat caption ook aligned is */
    .ap-caption {
        padding-left: 20px !important;
        margin-left: 0 !important;
    }
}

/* Single post: zorg dat badge en titel exact links uitlijnen en badge-tekst verticaal centreert */
.single-post .ap-header-content,
.single-post .ap-header-content .ap-post-title {
    padding-left: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
}

/* forceer container alignment */
.single-post .ap-categories {
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important; /* zorgt dat badges en titel op dezelfde verticale as zitten */
    gap: 0.5rem !important;
}

/* maak badge een nette gecentreerde box */
.single-post .ap-category-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    padding: 0 12px !important;
    line-height: 1 !important;
    margin: 0 !important; /* geen onverwachte left-offsets */
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* mobiele consistentie: gelijke zij-padding en behoud centrering */
@media screen and (max-width: 960px) {
    .single-post .ap-header-content {
        padding: 0 20px !important;
    }

    .single-post .ap-categories {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    .single-post .ap-category-badge {
        height: 36px !important;
        padding: 0 10px !important;
        font-size: 0.85rem !important;
    }

    .single-post .ap-post-title {
        text-align: left !important;
    }
}

/* ============================================
   AUTHOR BOX STYLING
   ============================================ */

.ap-author-box {
    background: #fdfdfd;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 2.5rem;
    margin: 4rem 0;
}

.ap-author-box-inner {
    display: flex;
    gap: 2.5rem;
    align-items: start;
}

.ap-author-box-photo {
    flex-shrink: 0;
}

.ap-author-box-photo img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.ap-author-box-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #0184bc;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.ap-author-box-name {
    font-size: 1.5rem;
    margin: 0 0 0.5rem;
    font-weight: 700;
}

.ap-author-box-name a {
    color: #1a1a1a;
    text-decoration: none;
}

.ap-author-box-expertise {
    font-size: 0.95rem;
    color: #666;
    font-weight: 600;
    margin-bottom: 1.25rem;
}

.ap-author-box-bio {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
    margin-bottom: 1.5rem;
}

.ap-author-box-links {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.9rem;
}

.ap-author-box-link {
    color: #0184bc;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: all 0.2s;
}

.ap-author-box-link:hover {
    border-bottom-color: #0184bc;
}

.ap-author-box-sep {
    color: #ddd;
}

@media (max-width: 640px) {
    .ap-author-box-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }

    .ap-author-box {
        padding: 2rem 1.5rem;
    }

    .ap-author-box-links {
        justify-content: center;
    }
}

/* ============================================
   AUTHOR ARCHIVE - LOAD MORE GRID
   ============================================ */

.ap-author-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.ap-author-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f0f0f0;
}

.ap-author-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
}

.ap-card-thumbnail img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.ap-card-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ap-card-category {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #612b3d;
    /* Paars */
    font-weight: 700;
    margin-bottom: 0.75rem;
    letter-spacing: 0.05em;
}

.ap-card-title {
    font-size: 1.25rem;
    line-height: 1.4;
    margin: 0 0 1rem;
    font-weight: 700;
}

.ap-card-title a {
    color: #1a1a1a;
    text-decoration: none;
}

.ap-card-title a:hover {
    color: #612b3d;
}

.ap-card-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #666;
    margin-bottom: 1.5rem;
}

.ap-card-meta {
    margin-top: auto;
    font-size: 0.85rem;
    color: #999;
}

/* Load More Button */
.ap-load-more-container {
    text-align: center;
    margin: 3rem 0 0 0;
    /* Alleen ruimte erboven, 0 eronder */
}

.ap-load-more-button {
    display: inline-block;
    background: #612b3d;
    color: #fff !important;
    border: none;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(97, 43, 61, 0.15);
    text-decoration: none;
}

.ap-load-more-button:hover {
    background: #8a3a52;
    transform: translateY(-2px);
    box-shadow: 0 15px 25px rgba(97, 43, 61, 0.25);
}

.ap-load-more-button:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

/* Responsive Grid */
@media (max-width: 1024px) {
    .ap-author-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px;
    }
}

@media (max-width: 640px) {
    .ap-author-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ap-card-thumbnail img {
        height: 200px;
    }
}

/* Cleaned */

/* Einde author archive styling */

/* De rest van de styling wordt hergebruikt */
.ap-author-hero-old-style-hidden {
    padding: 6rem 0 3rem;
    /* Voldoende ruimte bij het menu */
    margin-bottom: 20px !important;
    /* De gevraagde 20px naar de grid */
    background: linear-gradient(135deg, #f8fafb 0%, #f0f4f7 100%);
    position: relative;
    overflow: hidden;
}

/* 2. Herstel standaard Astra spacing (minder agressief) */
body.author .site-content {
    padding-top: 0 !important;
    /* Beheer ruimte via hero padding-top */
}

/* 3. Load more button spacing fix */
.ap-load-more-container {
    margin-top: 2rem;
    margin-bottom: 20px;
    /* Een kleine buffer voor de footer */
}

/* ============================================================
   JOURNALISTIEKE SINGLE HEADER - MOBILE FIX
   ============================================================ */

@media screen and (max-width: 960px) {
    /* De container */
    .ap-header-grid.ap-header-2col {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* De foto bovenaan dwingen */
    .ap-image-column {
        order: -1 !important;
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        margin: 0 0 2rem 0 !important;
        padding: 0 !important;
    }

    /* De afbeelding zelf */
    .ap-img-right {
        width: 100% !important;
        height: auto !important;
        min-height: 250px !important;
        max-height: 40vh !important;
        object-fit: cover !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* De tekst (Titel, Intro, Meta) */
    .ap-header-content {
        order: 1 !important;
        width: 100% !important;
        padding: 0 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Categorie badges - strak links uitgelijnd */
    .ap-categories {
        margin-bottom: 1rem !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    .ap-category-badge {
        padding: 0.35rem 0.85rem !important;
        font-size: 0.75rem !important;
        margin-right: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        text-align: left !important;
    }

    /* Titel */
    .ap-post-title {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin: 0 0 1rem 0 !important;
        padding: 0 !important;
        text-align: left !important;
        letter-spacing: -0.01em !important;
    }

    /* Inleiding/Lead */
    .ap-post-lead {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        margin: 0 0 1.5rem 0 !important;
        padding: 0 !important;
        text-align: left !important;
        color: #555 !important;
    }

    .ap-post-lead p {
        margin: 0 !important;
    }

    /* Meta onderaan header */
    .ap-post-meta-bottom {
        margin-top: auto !important;
        padding-top: 1rem !important;
        padding-bottom: 0 !important;
        border-top: 1px solid #f0f0f0 !important;
        margin-bottom: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    /* Verwijder standaard padding van .ap-journalistiek-single */
    .ap-journalistiek-single {
        padding: 1rem 0 4rem !important;
    }

    /* Post content padding */
    .ap-post-content {
        padding: 0 20px !important;
        margin: 1.5rem 0 0 0 !important;
    }

    /* Footer ook met consistent padding */
    .ap-post-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
    }

    /* Zorg dat caption ook aligned is */
    .ap-caption {
        padding-left: 20px !important;
        margin-left: 0 !important;
    }
}

/* Zorg dat de categorie container geen eigen padding heeft */
.ap-categories {
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    display: flex;
    justify-content: flex-start; /* Forceert alles naar links */
}

/* De badge zelf uitlijnen */
.ap-category-badge {
    display: inline-block;
    margin-left: 0 !important; /* Verwijder eventuele linkermarge */
    padding-left: 0 !important; /* Optioneel: als de achtergrondkleur niet strak moet lijnen */
    text-align: left;
}

/* De kop en inleiding checken op onzichtbare verschuivingen */
.ap-post-title, 
.ap-post-intro,
.ap-header-content {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Spacing tussen header en broodtekst verkleinen */
.ap-header-journalistiek {
    margin-bottom: 1.5rem !important; /* Minder witruimte onder de kop */
}

.ap-post-content {
    margin-top: 0 !important; /* Schuif broodtekst omhoog */
    padding-top: 0 !important;
}

/* Responsive adjustments for author hero section */
@media only screen and (max-width: 768px) {
  /* Ensure hero is visible and not clipped */
  .ap-author-hero {
    padding: 1.25rem 16px !important;
    margin: 1.25rem auto !important;
    border-radius: 10px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* remove decorative element on small screens */
  .ap-author-hero::before {
    display: none !important;
  }

  /* Stack inner layout and keep consistent side padding */
  .ap-author-hero-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    align-items: start !important;
    padding: 0 0 !important;
  }

  /* Center photo and scale down */
  .ap-author-photo {
    justify-self: center !important;
    margin: 0 auto !important;
  }

  .ap-author-photo img {
    width: 120px !important;
    height: 120px !important;
    border-width: 4px !important;
    object-fit: cover !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
  }

  /* Text block: consistent left alignment on larger small screens, center on narrower */
  .ap-header-content, /* fallback if used */
  .ap-author-info {
    width: 100% !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    margin: 0 !important;
  }

  /* Tighten typography for mobile */
  .ap-author-name {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.35rem !important;
  }

  .ap-author-expertise {
    display: inline-block !important;
    margin: 0.25rem 0 0.5rem 0 !important;
    padding: 0.25rem 0.75rem !important;
    font-size: 0.75rem !important;
  }

  .ap-author-credentials {
    font-size: 0.95rem !important;
    margin-bottom: 0.5rem !important;
  }

  .ap-author-bio {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    max-width: 100% !important;
    margin-top: 0.5rem !important;
  }

  /* Reduce vertical gap between hero and main content */
  .ap-author-hero {
    margin-bottom: 1rem !important;
  }
  .ap-post-content {
    margin-top: 0.5rem !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Ensure category/title alignment when present inside hero area */
  .ap-categories,
  .ap-category-badge {
    padding: 0 !important;
    margin: 0 0 0.5rem 0 !important;
    text-align: left !important;
  }

  /* Narrow screens: center text for very small widths for readability */
  @media (max-width: 420px) {
    .ap-author-info,
    .ap-author-name,
    .ap-author-bio {
      text-align: center !important;
      padding-left: 8px !important;
      padding-right: 8px !important;
    }

    .ap-author-photo img {
      width: 110px !important;
      height: 110px !important;
    }
  }
}

/* ============================================
   MULTI-AUTHOR GRID
   ============================================ */

.post-authors-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0;
    align-items: center;
}

.post-author-item {
    background: #f8f9fa;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 14px;
    border: 1px solid #e9ecef;
}

.post-author-item a {
    color: #612b3d;
    text-decoration: none;
    font-weight: 500;
}

.post-author-item a:hover {
    color: #4a1f2f;
}

/* 1. De Universele Argentum Caption Container */
.elementor-image-carousel-caption, 
.widget-image-caption,
.ap-caption {
    position: relative; /* Nodig voor de positionering van het lijntje */
    padding: 0.5rem 0rem 0rem 1rem !important; /* Extra ruimte links voor het streepje */
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    color: #666 !important;
    font-style: italic !important;
    text-align: left !important;
    font-family: "Argentum Sans", sans-serif !important;
    margin-top: 10px !important;
    border-left: none !important; /* Verwijder de dikke border */
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 2. Het fijne, korte lijntje (zoals op de foto) */
.elementor-image-carousel-caption::before, 
.widget-image-caption::before,
.ap-caption::before {
    content: "";
    position: absolute;
    left: 0rem;           /* Afstand vanaf de linkerkant van het grijze vlak */
    top: 0.5rem;            /* Startpositie vanaf de bovenkant */
    width: 2px;             /* De fijnheid van het lijntje */
    height: 1.2rem;         /* De korte lengte (ongeveer 1 regel tekst hoog) */
    background-color: #612b3d; /* Jouw merkkleur */
}

/* 3. Carrousel specifieke correcties */
.elementor-image-carousel-wrapper .swiper-slide-image {
    height: 550px !important;
    object-fit: cover !important;
    border-radius: 8px 8px 0 0 !important;
}

/* Pijltjes in merkkleur op de foto */
.elementor-image-carousel-wrapper .elementor-swiper-button {
    color: #612b3d !important;
    fill: #612b3d !important;
}