/*
Theme Name: Vrije Opinie
Theme URI: https://vrijeopinie.nl
Description: Premium custom theme voor opinie blog. Gebouwd voor performance, leesbaarheid en conversie. Institutioneel niveau.
Author: Premium Development
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vrijeopinie

This theme is built from scratch. No parent theme. No bloat. Only what's needed.
*/

/* ==========================================================================
   1. CSS VARIABLES
   ========================================================================== */

:root {
    --institutional-black: #1A1A1A;
    --text-primary: #2B2B2B;
    --text-secondary: #6B7280;
    --text-placeholder: #9CA3AF;
    --border-subtle: #E5E7EB;
    --border-hover: #D1D5DB;
    --border-focus: #9CA3AF;
    --background-white: #FFFFFF;
    --background-cream: #FAFAF8;
    --background-light: #F9FAFB;
    --background-dark: #1F2937;
    --background-darker: #111827;
    --accent-primary: #D97706;
    --accent-hover: #B45309;
    --accent-light: #FEF3C7;
    --font-display: 'Playfair Display', 'Georgia', serif;
    --font-body: 'Crimson Pro', 'Georgia', serif;
    --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.375rem;
    --text-3xl: 1.75rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    --space-4xl: 8rem;
    --section-gap: 6rem;
    --element-gap: 3rem;
    --card-gap: 2rem;
    --paragraph-gap: 1.5rem;
    --content-max: 720px;
    --container-max: 1280px;
    --wide-max: 1440px;
    --container-padding: 3rem;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.10);
    --radius-sm: 2px;
    --radius-md: 3px;
    --radius-lg: 4px;
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;
}

/* ==========================================================================
   2. RESET & BASE
   ========================================================================== */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background-color:var(--background-cream);overflow-x:hidden}
body.menu-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:var(--font-ui);font-size:var(--text-base)}
::selection{background:var(--accent-primary);color:#FFFFFF}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden;word-wrap:normal!important}

/* ==========================================================================
   3. TYPOGRAPHY
   ========================================================================== */

h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--institutional-black);line-height:1.2;font-weight:700}
h1{font-size:var(--text-5xl);letter-spacing:-0.02em;margin-bottom:var(--space-lg)}
h2{font-size:var(--text-4xl);font-weight:600;letter-spacing:-0.01em;margin-bottom:var(--space-md);line-height:1.3}
h3{font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--space-md);line-height:1.4}
h4{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-sm);line-height:1.4}
p{margin-bottom:var(--paragraph-gap)}
p:last-child{margin-bottom:0}

/* ==========================================================================
   4. LAYOUT & CONTAINERS
   ========================================================================== */

.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}
.container--narrow{max-width:var(--content-max)}
.container--wide{max-width:var(--wide-max)}
.site-main{min-height:60vh}

/* ==========================================================================
   5. HEADER & NAVIGATION
   ========================================================================== */

.site-header{background:var(--background-white);border-bottom:1px solid var(--border-subtle);border-top:4px solid var(--accent-primary);position:sticky;top:0;z-index:1000;transition:box-shadow var(--transition-base)}
.site-header.scrolled{box-shadow:var(--shadow-md)}

.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.site-header__brand{display:flex;align-items:baseline;gap:var(--space-sm);flex-shrink:0}
.site-header__logo .custom-logo-link{display:flex;align-items:center}
.site-header__logo img{max-height:48px;width:auto}
.site-header__title-link{text-decoration:none;color:inherit}
.site-header__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--institutional-black);letter-spacing:-0.01em;margin:0}
.site-header__tagline{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-secondary);font-style:italic;margin:0}

/* Navigation */
.site-nav{flex:1;display:flex;justify-content:center}
.site-nav .site-nav__list{display:flex;align-items:center;gap:var(--space-md)}
.site-nav .site-nav__list li{position:relative}
.site-nav .site-nav__list li a{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);padding:var(--space-xs) 0;position:relative;display:block}
.site-nav .site-nav__list li a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-primary);transition:width var(--transition-base)}
.site-nav .site-nav__list li a:hover{color:var(--accent-primary)}
.site-nav .site-nav__list li a:hover::after{width:100%}
.site-nav .site-nav__list li.current-menu-item>a,.site-nav .site-nav__list li.current-category-ancestor>a{color:var(--accent-primary)}
.site-nav .site-nav__list li.current-menu-item>a::after,.site-nav .site-nav__list li.current-category-ancestor>a::after{width:100%}

/* Submenu */
.site-nav .site-nav__list li .sub-menu{position:absolute;top:100%;left:-12px;min-width:200px;padding:var(--space-xs) 0;background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(4px);transition:all var(--transition-fast);z-index:100}
.site-nav .site-nav__list li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.site-nav .site-nav__list li .sub-menu li a{padding:8px 16px;font-size:var(--text-sm);white-space:nowrap}
.site-nav .site-nav__list li .sub-menu li a::after{display:none}
.site-nav .site-nav__list li .sub-menu li a:hover{background:var(--background-light);color:var(--accent-primary)}

/* Header Actions */
.site-header__actions{display:flex;align-items:center;gap:var(--space-sm)}
.site-header__search-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast)}
.site-header__search-toggle:hover{color:var(--institutional-black)}

/* Hamburger */
.site-header__menu-toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:22px}
.hamburger__line{display:block;height:2px;width:100%;background:var(--institutional-black);border-radius:1px;transition:all var(--transition-base)}

/* Search Overlay */
.search-overlay{display:none;position:absolute;top:100%;left:0;right:0;background:var(--background-white);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);padding:var(--space-lg) 0;z-index:50}
.search-overlay[aria-hidden="false"]{display:block}
.search-overlay__inner{display:flex;align-items:center;gap:var(--space-sm)}
.search-overlay__form{display:flex;align-items:center;gap:var(--space-sm);flex:1}
.search-overlay__input{flex:1;padding:14px 20px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-lg);outline:none;transition:border-color var(--transition-fast)}
.search-overlay__input:focus{border-color:var(--accent-primary)}
.search-overlay__submit{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast)}
.search-overlay__submit:hover{color:var(--accent-primary)}
.search-overlay__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-md)}

/* Header Rule */
.site-header__rule{height:0}

/* Mobile Overlay */
.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:999}

/* ==========================================================================
   6. READING PROGRESS
   ========================================================================== */

.reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;z-index:1001;background:rgba(255,255,255,0.1)}
.reading-progress__bar{height:100%;width:0;background:var(--accent-primary);transition:width 100ms linear}

/* ==========================================================================
   7. MOTTO BANNER (Front Page)
   ========================================================================== */

.motto-banner{padding:var(--space-lg) 0;background:var(--institutional-black);text-align:center}
.motto-banner__text{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;font-weight:400;color:var(--background-white);letter-spacing:0.02em;margin:0}

/* ==========================================================================
   8. HERO SECTION — Full Width Overlay
   ========================================================================== */

.hero-section{padding:0}
.hero-article{position:relative;width:100%;min-height:580px;overflow:hidden}
.hero-article__bg{position:absolute;inset:0;z-index:0}
.hero-article__bg a{display:block;width:100%;height:100%}
.hero-article__bg img{width:100%;height:100%;object-fit:cover}
.hero-article__bg--placeholder{background:linear-gradient(135deg,#1F2937 0%,#374151 30%,#4B5563 60%,#1F2937 100%)}
.hero-article__gradient{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(17,24,39,0.92) 0%,rgba(17,24,39,0.82) 42%,rgba(17,24,39,0.4) 65%,transparent 100%)}
.hero-article__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:580px;padding:var(--space-3xl) 0 var(--space-3xl) var(--container-padding);max-width:55%}
.hero-article__content::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;background:var(--accent-primary)}
.hero-article::after{content:'\201C';position:absolute;top:-30px;left:calc(var(--container-padding) + 10px);font-family:var(--font-display);font-size:18rem;font-weight:700;color:var(--accent-primary);opacity:0.12;z-index:2;line-height:1;pointer-events:none}
.hero-article__category{display:inline-block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--institutional-black);background:var(--accent-primary);padding:6px 16px;width:fit-content}
.hero-article__title{font-family:var(--font-display);font-size:3.25rem;font-weight:700;line-height:1.08;letter-spacing:-0.025em;color:#FFFFFF;margin-bottom:var(--space-md);text-shadow:0 2px 20px rgba(0,0,0,0.2)}
.hero-article__title a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}
.hero-article__title a:hover{color:var(--accent-primary)}
.hero-article__excerpt{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.6;color:rgba(255,255,255,0.7);margin-bottom:var(--space-lg);max-width:520px}
.hero-article__cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-primary);padding:12px 0;border-bottom:2px solid var(--accent-primary);width:fit-content;transition:all var(--transition-fast);margin-bottom:var(--space-lg)}
.hero-article__cta:hover{color:#FFFFFF;padding-bottom:14px}
.hero-article__cta svg{transition:transform var(--transition-fast)}
.hero-article__cta:hover svg{transform:translateX(4px)}
.hero-article__footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:rgba(255,255,255,0.5)}
.hero-article__separator{color:rgba(255,255,255,0.25)}

/* ==========================================================================
   9. SECTION TITLES & DIVIDERS
   ========================================================================== */

.section-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary);margin-bottom:var(--element-gap);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}
.section-articles__title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary);margin-bottom:var(--element-gap);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}
.section-rule{border:none;border-top:1px solid var(--border-subtle);margin:0}

/* ==========================================================================
   10. FEATURED SECTION & GRID
   ========================================================================== */

.featured-section{padding:var(--section-gap) 0;border-bottom:1px solid var(--border-subtle)}
.section-featured{padding:var(--section-gap) 0;border-bottom:1px solid var(--border-subtle)}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}

/* ==========================================================================
   11. ARTICLES SECTION & GRID
   ========================================================================== */

.articles-section{padding:var(--section-gap) 0}
.section-articles{padding:var(--section-gap) 0}
.articles-layout{display:block}
.articles-layout--with-sidebar{display:grid;grid-template-columns:1fr 300px;gap:var(--space-2xl)}
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--card-gap)}
.articles-grid .card-article{grid-template-columns:1fr}
.articles-grid .card-article__image{aspect-ratio:16/10}

/* ==========================================================================
   12. CARDS — Featured
   ========================================================================== */

.card-featured{background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}
.card-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card-featured__image{aspect-ratio:16/10;overflow:hidden}
.card-featured__image a{display:block;width:100%;height:100%}
.card-featured__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.card-featured:hover .card-featured__image img{transform:scale(1.03)}
.card-featured__content{padding:var(--space-lg)}
.card-featured__category{display:inline-block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#FFFFFF;background:var(--accent-primary);padding:3px 10px}
.card-featured__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.3;color:var(--institutional-black);margin-bottom:var(--space-xs);transition:color var(--transition-fast)}
.card-featured:hover .card-featured__title{color:var(--accent-primary)}
.card-featured__title a{color:inherit;text-decoration:none}
.card-featured__excerpt{font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-featured__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}
.card-featured__separator{color:var(--border-subtle)}

/* ==========================================================================
   13. CARDS — Article
   ========================================================================== */

.card-article{display:grid;grid-template-columns:260px 1fr;background:var(--background-white);border:1px solid var(--border-subtle);border-top:3px solid var(--accent-primary);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}
.card-article:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.card-article__image{aspect-ratio:4/3;overflow:hidden}
.card-article__image a{display:block;width:100%;height:100%}
.card-article__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.card-article:hover .card-article__image img{transform:scale(1.03)}
.card-article__content{padding:var(--space-md);display:flex;flex-direction:column;justify-content:center}
.card-article__category{display:inline-block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#FFFFFF;background:var(--accent-primary);padding:3px 10px}
.card-article__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.35;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.card-article__title a{color:inherit;text-decoration:none}
.card-article__title a:hover{color:var(--accent-primary)}
.card-article__excerpt{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-sm)}
.card-article__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary)}
.card-article__separator{color:var(--border-subtle)}

/* ==========================================================================
   14. CATEGORY HIGHLIGHTS (Front Page)
   ========================================================================== */

.category-highlights{padding:var(--section-gap) 0;border-bottom:1px solid var(--border-subtle)}
.category-highlights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl)}
.category-highlight__title{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--accent-primary)}
.category-highlight__title a{display:flex;align-items:center;gap:var(--space-xs);color:inherit;transition:color var(--transition-fast)}
.category-highlight__title a:hover{color:var(--accent-primary)}
.category-highlight__title svg{opacity:0;transform:translateX(-4px);transition:all var(--transition-fast)}
.category-highlight__title a:hover svg{opacity:1;transform:translateX(0)}
.category-highlight__list{display:flex;flex-direction:column}
.category-highlight__item{border-bottom:1px solid var(--border-subtle)}
.category-highlight__item:last-child{border-bottom:none}
.category-highlight__link{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:var(--space-sm) 0;transition:color var(--transition-fast)}
.category-highlight__link:hover{color:var(--accent-primary)}
.category-highlight__link-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;line-height:1.4;color:var(--institutional-black)}
.category-highlight__link:hover .category-highlight__link-title{color:var(--accent-primary)}
.category-highlight__link-date{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}

/* ==========================================================================
   15. SINGLE ARTICLE
   ========================================================================== */

.single-article{padding-bottom:var(--space-2xl);background:var(--background-white);border-top:3px solid var(--accent-primary)}

/* Article Header */
.article-header{padding:var(--space-2xl) 0 var(--space-lg)}
.article-meta-top{margin-bottom:var(--space-md)}
.card-article__categories,.card-featured__categories,.hero-article__categories,.article-meta-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}
.category-badge{display:inline-block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--institutional-black);background:var(--accent-primary);padding:6px 16px}
.article-title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-0.02em;color:var(--institutional-black);margin-bottom:var(--space-md);line-height:1.12}
.article-subtitle{font-family:var(--font-body);font-size:var(--text-xl);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-lg)}
.article-meta-full{display:flex;align-items:center;gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle)}
.article-meta-avatar{flex-shrink:0}
.article-meta-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.article-meta-info{font-family:var(--font-ui)}
.article-meta-author-name{display:block;font-size:var(--text-sm);font-weight:600;color:var(--institutional-black)}
.article-meta-author-name a{color:inherit;transition:color var(--transition-fast)}
.article-meta-author-name a:hover{color:var(--accent-primary)}
.article-meta-date{display:block;font-size:var(--text-sm);color:var(--text-secondary)}

/* Featured Image */
.article-featured-image{margin-bottom:var(--space-2xl)}
.article-image-wrapper{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:21/9}
.article-image-wrapper img{width:100%;height:100%;object-fit:cover}
.article-image-caption{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-placeholder);text-align:center;margin-top:var(--space-xs)}

/* Article Body */
.article-body-wrapper{padding:0 0 var(--space-2xl)}
.article-body{font-family:var(--font-body);font-size:20px;line-height:1.8;color:var(--text-primary)}
.article-body p{margin-bottom:var(--paragraph-gap)}
.article-body p:first-of-type::first-letter{font-size:80px;float:left;line-height:0.75;padding-right:14px;padding-top:6px;font-family:var(--font-display);font-weight:700;color:var(--accent-primary)}
.article-body h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;margin-top:var(--space-2xl);margin-bottom:var(--space-md);color:var(--accent-primary);padding-bottom:var(--space-xs);border-bottom:3px solid var(--accent-primary);display:inline-block}
.article-body h3{font-size:var(--text-2xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm);color:var(--accent-primary)}
.article-body blockquote{font-family:var(--font-display);font-size:1.5rem;font-style:italic;line-height:1.5;color:var(--institutional-black);border-left:6px solid var(--accent-primary);padding:var(--space-lg) var(--space-xl);margin:var(--space-xl) 0 var(--space-xl) -1rem;background:linear-gradient(135deg,var(--accent-light) 0%,rgba(254,243,199,0.3) 100%);border-radius:0}
.article-body a{color:var(--accent-primary);text-decoration:none;border-bottom:2px solid var(--accent-light);transition:border-color var(--transition-fast)}
.article-body a:hover{border-color:var(--accent-primary)}
.article-body ul,.article-body ol{margin-bottom:var(--paragraph-gap);padding-left:var(--space-lg)}
.article-body ul{list-style:disc}
.article-body ol{list-style:decimal}
.article-body li{margin-bottom:var(--space-xs)}
.article-body hr{border:none;margin:var(--space-2xl) 0;height:3px;background:linear-gradient(90deg,var(--accent-primary) 0%,var(--accent-primary) 30%,transparent 100%);opacity:0.6}
.article-body img{border-radius:var(--radius-md);margin:var(--space-lg) 0}
.article-body strong,.article-body b{color:var(--accent-primary)}

/* Article Footer & Tags */
.article-footer{padding-top:var(--space-xl);margin-top:var(--space-xl);border-top:1px solid var(--border-subtle)}
.article-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}
.article-tag{display:inline-block;padding:6px 14px;background:transparent;border:2px solid var(--border-subtle);border-radius:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.05em;transition:all var(--transition-fast)}
.article-tag:hover{border-color:var(--accent-primary);color:#FFFFFF;background:var(--accent-primary)}

/* ==========================================================================
   16. SOCIAL SHARE
   ========================================================================== */

.social-share{margin-bottom:var(--space-xl)}
.social-share__label{display:block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);margin-bottom:var(--space-sm)}
.social-share__buttons{display:flex;gap:var(--space-xs)}
.social-share__button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}
.social-share__button:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-light)}

/* ==========================================================================
   17. AUTHOR BIO
   ========================================================================== */

.author-bio{display:flex;gap:var(--space-xl);padding:var(--space-2xl);background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:var(--space-2xl) auto;max-width:var(--content-max)}
.author-bio__image--placeholder{width:80px;height:80px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center}
.author-bio__image--placeholder span{font-family:var(--font-display);font-size:2rem;font-weight:700;color:#FFFFFF}
.author-bio__label{display:block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary);margin-bottom:4px}
.author-bio__avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-bio__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.author-bio__name a{color:inherit;transition:color var(--transition-fast)}
.author-bio__name a:hover{color:var(--accent-primary)}
.author-bio__description{font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-sm)}
.author-bio__link{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--accent-primary)}
.author-bio__link:hover{color:var(--accent-hover)}

/* ==========================================================================
   18. RELATED ARTICLES
   ========================================================================== */

.related-articles{padding:var(--section-gap) 0;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}
.related-articles__title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary);margin-bottom:var(--element-gap);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}
.related-articles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}
.related-articles .card-article{grid-template-columns:1fr}
.related-articles .card-article__image{aspect-ratio:16/10}

/* ==========================================================================
   19. NEWSLETTER — Inline (template-part)
   ========================================================================== */

.newsletter-inline{padding:var(--space-2xl);background:var(--background-light);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;margin:var(--space-2xl) auto;max-width:var(--content-max)}
.newsletter-inline__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-sm)}
.newsletter-inline__text{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-lg);line-height:1.6}
.newsletter-inline__form{display:flex;gap:var(--space-sm);max-width:420px;margin:0 auto}
.newsletter-inline__input{flex:1;padding:14px 20px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast)}
.newsletter-inline__input:focus{border-color:var(--accent-primary)}
.newsletter-inline__button{padding:14px 28px;background:var(--accent-primary);color:white;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:600;font-size:var(--text-base);transition:all var(--transition-base);box-shadow:0 2px 8px rgba(217,119,6,0.15);white-space:nowrap}
.newsletter-inline__button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(217,119,6,0.25)}

/* Newsletter — Footer Section */
.newsletter-section{padding:var(--section-gap) 0;border-top:1px solid var(--border-subtle)}
.newsletter-section__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xl)}
.newsletter-section__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.newsletter-section__text{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-secondary);line-height:1.6}
.newsletter-section__form{display:flex;gap:var(--space-sm)}
.newsletter-section__input{padding:14px 20px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);outline:none;min-width:280px;transition:border-color var(--transition-fast)}
.newsletter-section__input:focus{border-color:var(--accent-primary)}
.newsletter-section__button{padding:14px 28px;background:var(--accent-primary);color:white;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:600;font-size:var(--text-base);transition:all var(--transition-base);box-shadow:0 2px 8px rgba(217,119,6,0.15);white-space:nowrap}
.newsletter-section__button:hover{background:var(--accent-hover);transform:translateY(-2px)}

/* ==========================================================================
   20. COMMENTS
   ========================================================================== */

.comments-section{padding:var(--section-gap) 0;border-top:1px solid var(--border-subtle)}
.comments-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--element-gap)}
.comment-list{margin-bottom:var(--space-2xl)}
.comment-body{padding:var(--space-lg);background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-md)}
.comment-meta{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}
.comment-author-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.comment-author-name{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--institutional-black)}
.comment-author-name a{color:inherit}
.comment-date{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-secondary)}
.comment-content{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--text-primary)}
.comment-content p{margin-bottom:var(--space-sm)}
.comment-reply-link{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;color:var(--accent-primary);transition:color var(--transition-fast)}
.comment-reply-link:hover{color:var(--accent-hover)}
.children{margin-left:var(--space-2xl);margin-top:var(--space-md)}
.comment-house-rules{display:flex;gap:var(--space-sm);padding:var(--space-md);background:var(--background-light);border-radius:var(--radius-md);margin-bottom:var(--space-xl);font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}
.comment-house-rules a{color:var(--accent-primary);font-weight:600}
.comment-form label{display:block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;padding:12px 16px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast);margin-bottom:var(--space-md)}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--accent-primary)}
.comment-form .form-submit input[type="submit"],.comment-form .submit-button{display:inline-block;padding:14px 32px;background:var(--accent-primary);color:white;font-family:var(--font-ui);font-weight:600;font-size:var(--text-base);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}
.comment-form .form-submit input[type="submit"]:hover,.comment-form .submit-button:hover{background:var(--accent-hover)}
.comments-closed{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-placeholder);font-style:italic}

/* ==========================================================================
   21. SIDEBAR
   ========================================================================== */

.sidebar{position:sticky;top:100px}
.widget{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.widget-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border-subtle)}
.widget ul li{margin-bottom:var(--space-xs)}
.widget ul li a{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-primary);transition:color var(--transition-fast)}
.widget ul li a:hover{color:var(--accent-primary)}
.ad-zone{margin:var(--space-lg) 0}
.widget-ad{padding:var(--space-md);background:var(--background-light);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.ad-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-placeholder);text-transform:uppercase;letter-spacing:0.05em}

/* ==========================================================================
   22. FOOTER
   ========================================================================== */

.site-footer{background:var(--background-dark);color:#D1D5DB;margin-top:var(--section-gap);padding:var(--space-3xl) 0 var(--space-lg)}

.site-footer__widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xl);margin-bottom:var(--space-2xl)}
.site-footer__widget-area .footer-widget-title{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:white;margin-bottom:var(--space-sm)}
.site-footer__widget-area .footer-widget ul li{margin-bottom:var(--space-xs)}
.site-footer__widget-area .footer-widget ul li a{font-family:var(--font-ui);font-size:var(--text-sm);color:#9CA3AF;transition:color var(--transition-fast)}
.site-footer__widget-area .footer-widget ul li a:hover{color:white}

.site-footer__rule{border:none;border-top:1px solid rgba(255,255,255,0.1);margin-bottom:var(--space-lg)}

.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}
.site-footer__copyright{font-family:var(--font-ui);font-size:var(--text-sm);color:#6B7280}
.site-footer__description{font-family:var(--font-body);font-size:var(--text-sm);font-style:italic;color:#6B7280;margin-top:var(--space-xs)}

.site-footer__social{display:flex;gap:var(--space-sm)}
.site-footer__social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:#6B7280;border-radius:var(--radius-md);transition:color var(--transition-fast)}
.site-footer__social-link:hover{color:white}

.site-footer__nav .site-footer__nav-list{display:flex;gap:var(--space-md)}
.site-footer__nav .site-footer__nav-list li a{font-family:var(--font-ui);font-size:var(--text-sm);color:#6B7280;transition:color var(--transition-fast)}
.site-footer__nav .site-footer__nav-list li a:hover{color:white}

/* ==========================================================================
   23. PAGE TEMPLATE
   ========================================================================== */

.page-content{padding:var(--space-2xl) 0 var(--section-gap)}
.page-header{padding:var(--space-2xl) 0;text-align:center}
.page-title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-0.02em;color:var(--institutional-black)}
.page-featured-image{margin-bottom:var(--space-2xl)}
.page-featured-image figure{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:21/9}
.page-featured-image img{width:100%;height:100%;object-fit:cover}
.page-body{padding:var(--space-xl) 0}

/* ==========================================================================
   24. LEGAL PAGES (Huisregels, Disclaimer)
   ========================================================================== */

.legal-page{padding:var(--space-2xl) 0 var(--section-gap)}
.legal-page-header{margin-bottom:var(--space-xl)}
.legal-page-title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;color:var(--institutional-black);margin-bottom:var(--space-sm)}
.legal-page-updated{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-secondary)}
.legal-content h2{font-size:var(--text-2xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}
.legal-content p,.legal-content li{font-family:var(--font-ui);font-size:var(--text-base);line-height:1.7;color:var(--text-primary)}
.legal-content ul{list-style-type:disc;padding-left:var(--space-lg);margin-bottom:var(--space-md)}
.legal-content ul li{margin-bottom:var(--space-xs)}

/* ==========================================================================
   25. ABOUT PAGE
   ========================================================================== */

.about-hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}
.about-hero__label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-primary);margin-bottom:var(--space-sm)}
.about-hero__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-0.02em;color:var(--institutional-black);margin-bottom:var(--space-md)}
.about-hero__subtitle{font-family:var(--font-body);font-size:var(--text-xl);line-height:1.7;color:var(--text-secondary);max-width:640px;margin:0 auto}
.about-hero-image{margin-bottom:var(--space-3xl)}
.about-hero-image figure{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:21/9}
.about-hero-image img{width:100%;height:100%;object-fit:cover}
.about-content{padding:var(--space-2xl) 0;border-bottom:1px solid var(--border-subtle)}
.about-mission{padding:var(--space-2xl) 0}
.about-block{margin-bottom:var(--space-3xl)}
.about-block:last-child{margin-bottom:0}
.about-block h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-md)}
.about-block p{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.8;color:var(--text-primary)}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-top:var(--space-lg)}
.about-value h3{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--institutional-black);margin-bottom:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:2px solid var(--accent-primary);display:inline-block}
.about-value p{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--text-primary)}
.about-quote{margin:var(--space-lg) 0;padding:var(--space-xl) var(--space-2xl);border-left:4px solid var(--accent-primary);background:var(--background-light);border-radius:0 var(--radius-lg) var(--radius-lg) 0}
.about-quote p{font-family:var(--font-display);font-size:var(--text-3xl);font-style:italic;font-weight:600;color:var(--institutional-black);line-height:1.4;margin:0}
.about-team{padding:var(--section-gap) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.about-team__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-xl)}
.about-team__member{text-align:center;padding:var(--space-xl) var(--space-lg);background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.about-team__member:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.about-team__avatar{margin-bottom:var(--space-md)}
.about-team__avatar img{width:96px;height:96px;border-radius:50%;margin:0 auto;object-fit:cover;border:3px solid var(--border-subtle)}
.about-team__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.about-team__name a{color:inherit;transition:color var(--transition-fast)}
.about-team__name a:hover{color:var(--accent-primary)}
.about-team__role{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-primary);margin-bottom:var(--space-sm)}
.about-team__bio{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-sm)}
.about-team__count{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-placeholder)}
.about-cta{padding:var(--section-gap) 0}
.about-cta__inner{text-align:center;padding:var(--space-3xl);background:var(--institutional-black);border-radius:var(--radius-lg);color:var(--background-white)}
.about-cta__inner h2{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--background-white);margin-bottom:var(--space-sm)}
.about-cta__inner p{font-family:var(--font-body);font-size:var(--text-lg);line-height:1.7;color:#9CA3AF;margin-bottom:var(--space-xl);max-width:520px;margin-left:auto;margin-right:auto}

/* ==========================================================================
   26. CONTACT PAGE
   ========================================================================== */

.contact-header{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}
.contact-header__label{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent-primary);margin-bottom:var(--space-sm)}
.contact-header__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:700;letter-spacing:-0.02em;color:var(--institutional-black);margin-bottom:var(--space-md)}
.contact-header__subtitle{font-family:var(--font-body);font-size:var(--text-xl);line-height:1.7;color:var(--text-secondary);max-width:560px;margin:0 auto}
.contact-body{padding:0 0 var(--section-gap)}
.contact-layout{display:grid;grid-template-columns:1fr 360px;gap:var(--space-3xl);align-items:start}
.contact-form-wrapper{background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-2xl)}
.contact-form-wrapper h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.contact-form-intro{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-xl)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}
.form-group{margin-bottom:var(--space-lg)}
.form-group label{display:block;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;color:var(--institutional-black);margin-bottom:var(--space-xs)}
.form-group .required{color:var(--accent-primary)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-primary);background:var(--background-white);outline:none;transition:border-color var(--transition-fast)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-primary)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-placeholder)}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.form-notice{margin-bottom:var(--space-lg)}
.form-notice p{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--text-placeholder);line-height:1.5}
.form-notice a{color:var(--accent-primary);text-decoration:underline}
.form-success{margin-top:var(--space-lg);padding:var(--space-md);background:var(--accent-light);border-radius:var(--radius-md)}
.form-success p{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-primary);margin:0}
.form-success a{color:var(--accent-primary);font-weight:600}
.contact-form-wrapper .wpcf7-form input[type="text"],.contact-form-wrapper .wpcf7-form input[type="email"],.contact-form-wrapper .wpcf7-form textarea{width:100%;padding:12px 16px;border:2px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast)}
.contact-form-wrapper .wpcf7-form input:focus,.contact-form-wrapper .wpcf7-form textarea:focus{border-color:var(--accent-primary)}
.contact-form-wrapper .wpcf7-submit{display:inline-block;padding:14px 32px;background:var(--accent-primary);color:white;font-family:var(--font-ui);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}
.contact-form-wrapper .wpcf7-submit:hover{background:var(--accent-hover)}
.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-lg);position:sticky;top:100px}
.contact-info-card{background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl)}
.contact-info-card--accent{border-color:var(--accent-primary);background:var(--accent-light)}
.contact-info-card h3{font-family:var(--font-ui);font-size:var(--text-base);font-weight:700;color:var(--institutional-black);margin-bottom:var(--space-sm)}
.contact-info-card p{font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary)}
.contact-info-card a{color:var(--accent-primary);font-weight:500}
.contact-info-card a:hover{text-decoration:underline}
.contact-info-small{font-size:var(--text-xs)!important;color:var(--text-placeholder)!important;font-style:italic}
.contact-info-list{display:flex;flex-direction:column;gap:var(--space-md)}
.contact-info-item{display:flex;gap:var(--space-sm);align-items:flex-start}
.contact-info-item svg{flex-shrink:0;margin-top:2px;color:var(--text-secondary)}
.contact-info-item strong{display:block;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary);margin-bottom:2px}
.contact-info-item a{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--accent-primary)}

/* ==========================================================================
   27. SEARCH & ARCHIVE PAGES
   ========================================================================== */

.search-header,.archive-header{padding:var(--space-2xl) 0;border-bottom:1px solid var(--border-subtle)}
.search-title,.archive-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--institutional-black)}
.archive-description{font-family:var(--font-ui);font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-sm)}

/* ==========================================================================
   28. PAGINATION
   ========================================================================== */

.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) 0}
.pagination .page-numbers{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-sm);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:var(--background-white);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}
.pagination .page-numbers:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
.pagination .page-numbers.current{background:var(--accent-primary);color:white;border-color:var(--accent-primary)}
.pagination .page-numbers.dots{border:none;background:none}

/* ==========================================================================
   29. BUTTONS
   ========================================================================== */

.btn-primary{display:inline-block;padding:14px 32px;background:var(--accent-primary);color:white;font-family:var(--font-ui);font-size:var(--text-base);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:0 2px 8px rgba(217,119,6,0.15);text-decoration:none;text-align:center}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(217,119,6,0.25);color:white}

/* ==========================================================================
   30. 404 PAGE
   ========================================================================== */

.error-404{text-align:center;padding:var(--space-4xl) 0}
.error-404 h1{font-size:var(--text-6xl)}
.error-404 p{font-family:var(--font-ui);font-size:var(--text-lg);color:var(--text-secondary)}

/* ==========================================================================
   31. RESPONSIVE
   ========================================================================== */

@media(max-width:1024px){
:root{--container-padding:2rem;--section-gap:4rem}
.hero-article__content{max-width:65%}
.hero-article__title{font-size:2.5rem}
.hero-article{min-height:460px}
.hero-article__content{min-height:460px}
.featured-grid{grid-template-columns:repeat(2,1fr)}
.articles-grid{grid-template-columns:repeat(2,1fr)}
.articles-layout--with-sidebar{grid-template-columns:1fr}
.sidebar{position:static;margin-top:var(--space-2xl)}
.related-articles__grid{grid-template-columns:repeat(2,1fr)}
.category-highlights__grid{grid-template-columns:repeat(2,1fr)}
.contact-layout{grid-template-columns:1fr;gap:var(--space-2xl)}
.contact-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}
.about-values{grid-template-columns:1fr 1fr}
.site-footer__widgets{grid-template-columns:repeat(2,1fr)}
.newsletter-section__inner{flex-direction:column;text-align:center}
}

@media(max-width:768px){
:root{--container-padding:1.5rem;--section-gap:3rem}

/* Header mobile */
.site-header__menu-toggle{display:flex}
.site-nav{position:fixed;top:0;right:-100%;width:85%;max-width:360px;height:100vh;background:var(--background-white);z-index:1050;flex-direction:column;justify-content:flex-start;padding:var(--space-2xl) var(--space-lg);transition:right var(--transition-slow);box-shadow:var(--shadow-lg);overflow-y:auto}
.site-nav.active{right:0}
.site-nav .site-nav__list{flex-direction:column;align-items:flex-start;gap:0;width:100%}
.site-nav .site-nav__list li{width:100%}
.site-nav .site-nav__list li a{padding:var(--space-sm) 0;font-size:var(--text-lg);border-bottom:1px solid var(--border-subtle)}
.site-nav .site-nav__list li a::after{display:none}
.site-nav .site-nav__list li .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding-left:var(--space-md)}
.mobile-overlay.active{display:block}

/* Hero mobile */
.hero-article__gradient{background:linear-gradient(0deg,rgba(17,24,39,0.75) 0%,rgba(17,24,39,0.5) 40%,rgba(17,24,39,0.2) 70%,transparent 100%)}
.hero-article__content{max-width:100%;min-height:480px;padding:0 var(--space-md);justify-content:flex-end;padding-bottom:var(--space-xl)}
.hero-article__content::before{display:none}
.hero-article{min-height:480px}
.hero-article__title{font-size:2rem;text-shadow:0 2px 16px rgba(0,0,0,0.4)}
.hero-article__excerpt{font-size:var(--text-base);color:rgba(255,255,255,0.85);text-shadow:0 1px 8px rgba(0,0,0,0.3)}
.hero-article::after{font-size:8rem;top:-15px;left:12px}
.hero-article__footer{color:rgba(255,255,255,0.7);text-shadow:0 1px 6px rgba(0,0,0,0.3)}
.motto-banner__text{font-size:var(--text-lg)}

/* Cards mobile */
.card-article{grid-template-columns:1fr}
.featured-grid{grid-template-columns:1fr}
.articles-grid{grid-template-columns:1fr}

/* Grids mobile */
.related-articles__grid{grid-template-columns:1fr;gap:var(--space-sm)}
.category-highlights__grid{grid-template-columns:1fr}
.about-hero__title,.contact-header__title{font-size:var(--text-4xl)}
.about-values{grid-template-columns:1fr}
.about-quote{padding:var(--space-lg)}
.about-quote p{font-size:var(--text-2xl)}
.about-cta__inner{padding:var(--space-2xl) var(--space-lg)}
.about-cta__inner h2{font-size:var(--text-3xl)}
.contact-sidebar{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
.contact-form-wrapper{padding:var(--space-lg)}
.site-footer__widgets{grid-template-columns:1fr}
.site-footer__bottom{flex-direction:column;text-align:center;padding:0 var(--space-sm)}
.site-footer__copyright{font-size:var(--text-xs)}
.site-footer__nav .site-footer__nav-list{flex-wrap:wrap;justify-content:center;gap:var(--space-xs)}
.newsletter-inline__form{flex-direction:column}
.newsletter-section__form{flex-direction:column}
.article-title{font-size:var(--text-4xl)}
.article-body{font-size:18px}
.article-body p:first-of-type::first-letter{font-size:56px}
.author-bio{flex-direction:column;align-items:center;text-align:center}
.pagination .page-numbers{min-width:40px;height:40px;font-size:var(--text-xs)}
}

@media(max-width:375px){
:root{--container-padding:1rem}
.hero-article__title,.article-title{font-size:1.875rem}
}

@media print{
.site-header,.site-footer,.social-share,.newsletter-section,.newsletter-inline,.related-articles,.comments-section,.sidebar,.breadcrumbs-container,.reading-progress,.ad-zone,.motto-banner{display:none!important}
body{background:white;color:black;font-size:12pt}
.article-body{max-width:100%}
a{text-decoration:underline}
a[href]::after{content:" (" attr(href) ")";font-size:0.8em}
}
